@topvisor/ui 1.5.4-groupSelector.1 → 1.5.4-preloader.1

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 (337) hide show
  1. package/.chunks/{api-DuS0Qura.amd.js → api-D-JuUXVn.amd.js} +2 -2
  2. package/.chunks/api-D-JuUXVn.amd.js.map +1 -0
  3. package/.chunks/{api-DuS0Qura.esm.js → api-D-JuUXVn.esm.js} +9 -9
  4. package/.chunks/{api-DuS0Qura.esm.js.map → api-D-JuUXVn.esm.js.map} +1 -1
  5. package/.chunks/app-DeBknp1Q.amd.js +2 -0
  6. package/.chunks/app-DeBknp1Q.amd.js.map +1 -0
  7. package/.chunks/{app-BXCICBAa.esm.js → app-DeBknp1Q.esm.js} +12 -13
  8. package/.chunks/app-DeBknp1Q.esm.js.map +1 -0
  9. package/.chunks/{datepicker-BnBQNlTc.amd.js → datepicker-B2Km72Vg.amd.js} +2 -2
  10. package/.chunks/datepicker-B2Km72Vg.amd.js.map +1 -0
  11. package/.chunks/{datepicker-BnBQNlTc.esm.js → datepicker-B2Km72Vg.esm.js} +2 -2
  12. package/.chunks/{datepicker-BnBQNlTc.esm.js.map → datepicker-B2Km72Vg.esm.js.map} +1 -1
  13. package/.chunks/dialog-DPTJ7VN5.amd.js +2 -0
  14. package/.chunks/dialog-DPTJ7VN5.amd.js.map +1 -0
  15. package/.chunks/{dialog-BPUICFiG.esm.js → dialog-DPTJ7VN5.esm.js} +3 -4
  16. package/.chunks/{dialog-BPUICFiG.esm.js.map → dialog-DPTJ7VN5.esm.js.map} +1 -1
  17. package/.chunks/dialog_regionSelectorRegions-ClRx55RP.amd.js +2 -0
  18. package/.chunks/dialog_regionSelectorRegions-ClRx55RP.amd.js.map +1 -0
  19. package/.chunks/{dialog_regionSelectorRegions-BKvg82IO.esm.js → dialog_regionSelectorRegions-ClRx55RP.esm.js} +14 -15
  20. package/.chunks/{dialog_regionSelectorRegions-BKvg82IO.esm.js.map → dialog_regionSelectorRegions-ClRx55RP.esm.js.map} +1 -1
  21. package/.chunks/{field-CjkpGeA7.amd.js → field-DEusYVqS.amd.js} +2 -2
  22. package/.chunks/field-DEusYVqS.amd.js.map +1 -0
  23. package/.chunks/{field-CjkpGeA7.esm.js → field-DEusYVqS.esm.js} +1 -1
  24. package/.chunks/{field-CjkpGeA7.esm.js.map → field-DEusYVqS.esm.js.map} +1 -1
  25. package/.chunks/forms-DKVIpGnH.amd.js +2 -0
  26. package/.chunks/forms-DKVIpGnH.amd.js.map +1 -0
  27. package/.chunks/{forms-CdCS6WAQ.esm.js → forms-DKVIpGnH.esm.js} +17 -14
  28. package/.chunks/forms-DKVIpGnH.esm.js.map +1 -0
  29. package/.chunks/formsExt-Dy7EHtJS.amd.js +2 -0
  30. package/.chunks/formsExt-Dy7EHtJS.amd.js.map +1 -0
  31. package/.chunks/{formsExt-Ck5q-jXI.esm.js → formsExt-Dy7EHtJS.esm.js} +192 -164
  32. package/.chunks/formsExt-Dy7EHtJS.esm.js.map +1 -0
  33. package/.chunks/lazy-DQU-hLos.amd.js +2 -0
  34. package/.chunks/lazy-DQU-hLos.amd.js.map +1 -0
  35. package/.chunks/lazy-DQU-hLos.esm.js +68 -0
  36. package/.chunks/{lazy-CGswTOPj.esm.js.map → lazy-DQU-hLos.esm.js.map} +1 -1
  37. package/.chunks/{mocker-CwZe-g4N.amd.js → mocker-DOnGwq3y.amd.js} +2 -2
  38. package/.chunks/mocker-DOnGwq3y.amd.js.map +1 -0
  39. package/.chunks/{mocker-CwZe-g4N.esm.js → mocker-DOnGwq3y.esm.js} +1 -1
  40. package/.chunks/{mocker-CwZe-g4N.esm.js.map → mocker-DOnGwq3y.esm.js.map} +1 -1
  41. package/.chunks/{notice-DA4p-RwX.amd.js → notice-C3_mXHCe.amd.js} +2 -2
  42. package/.chunks/notice-C3_mXHCe.amd.js.map +1 -0
  43. package/.chunks/{notice-DA4p-RwX.esm.js → notice-C3_mXHCe.esm.js} +2 -2
  44. package/.chunks/{notice-DA4p-RwX.esm.js.map → notice-C3_mXHCe.esm.js.map} +1 -1
  45. package/.chunks/{popup-CN7-bnQJ.amd.js → popup-B8Us9xZO.amd.js} +2 -2
  46. package/.chunks/popup-B8Us9xZO.amd.js.map +1 -0
  47. package/.chunks/{popup-CN7-bnQJ.esm.js → popup-B8Us9xZO.esm.js} +3 -3
  48. package/.chunks/{popup-CN7-bnQJ.esm.js.map → popup-B8Us9xZO.esm.js.map} +1 -1
  49. package/.chunks/{popup-DHCqvZzI.amd.js → popup-CtiL5V44.amd.js} +2 -2
  50. package/.chunks/popup-CtiL5V44.amd.js.map +1 -0
  51. package/.chunks/{popup-DHCqvZzI.esm.js → popup-CtiL5V44.esm.js} +4 -4
  52. package/.chunks/{popup-DHCqvZzI.esm.js.map → popup-CtiL5V44.esm.js.map} +1 -1
  53. package/.chunks/punycode.es6-BZRFIj88.amd.js +2 -0
  54. package/.chunks/punycode.es6-BZRFIj88.amd.js.map +1 -0
  55. package/.chunks/{punycode.es6-B-5kB2YI.esm.js → punycode.es6-BZRFIj88.esm.js} +5 -5
  56. package/.chunks/{punycode.es6-B-5kB2YI.esm.js.map → punycode.es6-BZRFIj88.esm.js.map} +1 -1
  57. package/.chunks/{store-DuQpSSLL.amd.js → store-DjQAOnrn.amd.js} +2 -2
  58. package/.chunks/store-DjQAOnrn.amd.js.map +1 -0
  59. package/.chunks/{store-DuQpSSLL.esm.js → store-DjQAOnrn.esm.js} +1 -1
  60. package/.chunks/{store-DuQpSSLL.esm.js.map → store-DjQAOnrn.esm.js.map} +1 -1
  61. package/.chunks/utils-C1xkXfK0.amd.js +2 -0
  62. package/.chunks/utils-C1xkXfK0.amd.js.map +1 -0
  63. package/.chunks/{dialogs-CbMNuvfF.esm.js → utils-C1xkXfK0.esm.js} +70 -37
  64. package/.chunks/utils-C1xkXfK0.esm.js.map +1 -0
  65. package/.chunks/utils-Cj8CJ22r.amd.js +2 -0
  66. package/.chunks/utils-Cj8CJ22r.amd.js.map +1 -0
  67. package/.chunks/{utils-lidKtVjF.esm.js → utils-Cj8CJ22r.esm.js} +16 -16
  68. package/.chunks/{utils-lidKtVjF.esm.js.map → utils-Cj8CJ22r.esm.js.map} +1 -1
  69. package/.chunks/{worker-spLieexQ.amd.js → worker-DYTgdzGP.amd.js} +2 -2
  70. package/.chunks/worker-DYTgdzGP.amd.js.map +1 -0
  71. package/.chunks/{worker-spLieexQ.esm.js → worker-DYTgdzGP.esm.js} +3 -3
  72. package/.chunks/{worker-spLieexQ.esm.js.map → worker-DYTgdzGP.esm.js.map} +1 -1
  73. package/api/additional.amd.js +1 -1
  74. package/api/additional.amd.js.map +1 -1
  75. package/api/additional.d.ts +1 -1
  76. package/api/additional.js +1 -1
  77. package/api/additional.js.map +1 -1
  78. package/api/index.amd.js +1 -1
  79. package/api/index.amd.js.map +1 -1
  80. package/api/index.d.ts +1 -1
  81. package/api/index.js +2 -2
  82. package/assets/themes/dark-th.css +1 -1
  83. package/assets/themes/dark.css +1 -1
  84. package/assets/themes/light.css +1 -1
  85. package/autoload-css-manifest.amd.json +4 -4
  86. package/autoload-css-manifest.json +4 -4
  87. package/charts/charts.amd.js +1 -1
  88. package/charts/charts.amd.js.map +1 -1
  89. package/charts/charts.d.ts +1 -1
  90. package/charts/charts.js +3 -3
  91. package/charts/charts.js.map +1 -1
  92. package/core/app.amd.js +1 -1
  93. package/core/app.amd.js.map +1 -1
  94. package/core/app.d.ts +1 -1
  95. package/core/app.js +4 -5
  96. package/dialog/dialog.amd.js +1 -1
  97. package/dialog/dialog.amd.js.map +1 -1
  98. package/dialog/dialog.d.ts +1 -1
  99. package/dialog/dialog.js +3 -4
  100. package/extra/extra.amd.js +1 -1
  101. package/extra/extra.amd.js.map +1 -1
  102. package/extra/extra.d.ts +1 -1
  103. package/extra/extra.js.map +1 -1
  104. package/forms/forms.amd.js +1 -1
  105. package/forms/forms.amd.js.map +1 -1
  106. package/forms/forms.d.ts +1 -1
  107. package/forms/forms.js +1 -1
  108. package/formsExt/formsExt.amd.js +1 -1
  109. package/formsExt/formsExt.amd.js.map +1 -1
  110. package/formsExt/formsExt.d.ts +1 -1
  111. package/formsExt/formsExt.js +1 -1
  112. package/icomoon/demo-files/demo.amd.js.map +1 -1
  113. package/icomoon/demo.amd.js.map +1 -1
  114. package/layout/layout.amd.js +1 -1
  115. package/layout/layout.amd.js.map +1 -1
  116. package/layout/layout.d.ts +1 -1
  117. package/layout/layout.js +3 -3
  118. package/layout/layout.js.map +1 -1
  119. package/package.json +1 -1
  120. package/popup/popup.amd.js +1 -1
  121. package/popup/popup.amd.js.map +1 -1
  122. package/popup/popup.d.ts +1 -1
  123. package/popup/popup.js +1 -1
  124. package/popup/worker.amd.js +1 -1
  125. package/popup/worker.amd.js.map +1 -1
  126. package/popup/worker.d.ts +1 -1
  127. package/popup/worker.js +1 -1
  128. package/project/project.amd.js +1 -1
  129. package/project/project.amd.js.map +1 -1
  130. package/project/project.d.ts +1 -1
  131. package/project/project.js +368 -373
  132. package/project/project.js.map +1 -1
  133. package/src/components/dialog/dialog/composables/utils.d.ts +1 -1
  134. package/src/components/formsExt/selector2/cache.d.ts +22 -4
  135. package/src/components/formsExt/selector2/composables/useMenu.d.ts +1 -1
  136. package/src/components/formsExt/selector2/types.d.ts +9 -0
  137. package/src/components/project/groupSelector/folders/utils.d.ts +1 -0
  138. package/src/components/project/groupSelector/groups/types.d.ts +5 -2
  139. package/src/components/project/groupSelector/stories/mocks/groups.d.ts +4 -0
  140. package/src/components/project/groupSelector/stories/mocks/index.d.ts +2 -1
  141. package/src/components/project/groupSelector/types.d.ts +6 -0
  142. package/src/components/project/projectSelector/cache.d.ts +5 -3
  143. package/src/components/project/projectSelector/stories/mocks/index.d.ts +5 -0
  144. package/src/components/project/projectSelector/stories/mocks/projects.d.ts +3 -0
  145. package/src/components/project/projectSelector/utils.d.ts +1 -1
  146. package/src/components/project/regionSelector/utils/utils.d.ts +2 -5
  147. package/src/core/core/core.d.ts +7 -4
  148. package/src/core/core/options.d.ts +6 -0
  149. package/src/core/core/state.d.ts +3 -0
  150. package/src/core/plugins/core.d.ts +4 -5
  151. package/src/core/utils/composables/useEnteties.d.ts +94 -0
  152. package/tabs/tabs.amd.js +1 -1
  153. package/tabs/tabs.amd.js.map +1 -1
  154. package/tabs/tabs.d.ts +1 -1
  155. package/tabs/tabs.js +1 -1
  156. package/tabs/tabs.js.map +1 -1
  157. package/tabsView/tabsView.amd.js +1 -1
  158. package/tabsView/tabsView.amd.js.map +1 -1
  159. package/tabsView/tabsView.d.ts +1 -1
  160. package/tabsView/tabsView.js +6 -6
  161. package/tabsView/tabsView.js.map +1 -1
  162. package/utils/check.amd.js +1 -1
  163. package/utils/check.amd.js.map +1 -1
  164. package/utils/check.d.ts +1 -1
  165. package/utils/check.js.map +1 -1
  166. package/utils/clipboard.amd.js +1 -1
  167. package/utils/clipboard.amd.js.map +1 -1
  168. package/utils/clipboard.d.ts +1 -1
  169. package/utils/clipboard.js +1 -1
  170. package/utils/clipboard.js.map +1 -1
  171. package/utils/date.amd.js +1 -1
  172. package/utils/date.amd.js.map +1 -1
  173. package/utils/date.d.ts +1 -1
  174. package/utils/date.js +1 -1
  175. package/utils/device.amd.js +1 -1
  176. package/utils/device.amd.js.map +1 -1
  177. package/utils/device.d.ts +1 -1
  178. package/utils/device.js +1 -1
  179. package/utils/dom.amd.js +1 -1
  180. package/utils/dom.amd.js.map +1 -1
  181. package/utils/dom.d.ts +3 -3
  182. package/utils/dom.js.map +1 -1
  183. package/utils/image.amd.js +1 -1
  184. package/utils/image.amd.js.map +1 -1
  185. package/utils/image.d.ts +1 -1
  186. package/utils/image.js +1 -1
  187. package/utils/image.js.map +1 -1
  188. package/utils/keyboard.amd.js +1 -1
  189. package/utils/keyboard.amd.js.map +1 -1
  190. package/utils/keyboard.d.ts +1 -1
  191. package/utils/keyboard.js.map +1 -1
  192. package/utils/lodash.amd.js +1 -1
  193. package/utils/lodash.amd.js.map +1 -1
  194. package/utils/lodash.d.ts +1 -1
  195. package/utils/lodash.js +1 -1
  196. package/utils/number.amd.js +1 -1
  197. package/utils/number.amd.js.map +1 -1
  198. package/utils/number.d.ts +1 -1
  199. package/utils/number.js.map +1 -1
  200. package/utils/price.amd.js +1 -1
  201. package/utils/price.amd.js.map +1 -1
  202. package/utils/price.d.ts +1 -1
  203. package/utils/price.js +1 -1
  204. package/utils/price.js.map +1 -1
  205. package/utils/route.amd.js +1 -1
  206. package/utils/route.amd.js.map +1 -1
  207. package/utils/route.d.ts +1 -1
  208. package/utils/route.js.map +1 -1
  209. package/utils/scroll.amd.js +1 -1
  210. package/utils/scroll.amd.js.map +1 -1
  211. package/utils/scroll.d.ts +1 -1
  212. package/utils/scroll.js.map +1 -1
  213. package/utils/searchers.amd.js +1 -1
  214. package/utils/searchers.amd.js.map +1 -1
  215. package/utils/searchers.d.ts +1 -1
  216. package/utils/searchers.js +1 -1
  217. package/utils/searchers.js.map +1 -1
  218. package/utils/store.amd.js +1 -1
  219. package/utils/store.amd.js.map +1 -1
  220. package/utils/store.d.ts +1 -1
  221. package/utils/store.js +1 -1
  222. package/utils/string.amd.js +1 -1
  223. package/utils/string.amd.js.map +1 -1
  224. package/utils/string.d.ts +1 -1
  225. package/utils/string.js +1 -1
  226. package/utils/string.js.map +1 -1
  227. package/utils/system.amd.js +1 -1
  228. package/utils/system.amd.js.map +1 -1
  229. package/utils/system.d.ts +1 -1
  230. package/utils/system.js.map +1 -1
  231. package/utils/url.amd.js +1 -1
  232. package/utils/url.amd.js.map +1 -1
  233. package/utils/url.d.ts +1 -1
  234. package/utils/url.js +1 -1
  235. package/utils/url.js.map +1 -1
  236. package/.chunks/api-DuS0Qura.amd.js.map +0 -1
  237. package/.chunks/app-BXCICBAa.amd.js +0 -2
  238. package/.chunks/app-BXCICBAa.amd.js.map +0 -1
  239. package/.chunks/app-BXCICBAa.esm.js.map +0 -1
  240. package/.chunks/datepicker-BnBQNlTc.amd.js.map +0 -1
  241. package/.chunks/dialog-BPUICFiG.amd.js +0 -2
  242. package/.chunks/dialog-BPUICFiG.amd.js.map +0 -1
  243. package/.chunks/dialog_regionSelectorRegions-BKvg82IO.amd.js +0 -2
  244. package/.chunks/dialog_regionSelectorRegions-BKvg82IO.amd.js.map +0 -1
  245. package/.chunks/dialogs-CbMNuvfF.amd.js +0 -2
  246. package/.chunks/dialogs-CbMNuvfF.amd.js.map +0 -1
  247. package/.chunks/dialogs-CbMNuvfF.esm.js.map +0 -1
  248. package/.chunks/field-CjkpGeA7.amd.js.map +0 -1
  249. package/.chunks/forms-CdCS6WAQ.amd.js +0 -2
  250. package/.chunks/forms-CdCS6WAQ.amd.js.map +0 -1
  251. package/.chunks/forms-CdCS6WAQ.esm.js.map +0 -1
  252. package/.chunks/formsExt-Ck5q-jXI.amd.js +0 -2
  253. package/.chunks/formsExt-Ck5q-jXI.amd.js.map +0 -1
  254. package/.chunks/formsExt-Ck5q-jXI.esm.js.map +0 -1
  255. package/.chunks/lazy-CGswTOPj.amd.js +0 -2
  256. package/.chunks/lazy-CGswTOPj.amd.js.map +0 -1
  257. package/.chunks/lazy-CGswTOPj.esm.js +0 -68
  258. package/.chunks/mocker-CwZe-g4N.amd.js.map +0 -1
  259. package/.chunks/notice-DA4p-RwX.amd.js.map +0 -1
  260. package/.chunks/popup-CN7-bnQJ.amd.js.map +0 -1
  261. package/.chunks/popup-DHCqvZzI.amd.js.map +0 -1
  262. package/.chunks/punycode.es6-B-5kB2YI.amd.js +0 -2
  263. package/.chunks/punycode.es6-B-5kB2YI.amd.js.map +0 -1
  264. package/.chunks/store-DuQpSSLL.amd.js.map +0 -1
  265. package/.chunks/utils-DrvuXyXl.amd.js +0 -2
  266. package/.chunks/utils-DrvuXyXl.amd.js.map +0 -1
  267. package/.chunks/utils-DrvuXyXl.esm.js +0 -43
  268. package/.chunks/utils-DrvuXyXl.esm.js.map +0 -1
  269. package/.chunks/utils-lidKtVjF.amd.js +0 -2
  270. package/.chunks/utils-lidKtVjF.amd.js.map +0 -1
  271. package/.chunks/worker-spLieexQ.amd.js.map +0 -1
  272. package/src/components/charts/miniChart/miniChart.vue.d.ts +0 -15
  273. package/src/components/charts/miniCharts/miniCharts.vue.d.ts +0 -32
  274. package/src/components/core/notice/item/item.vue.d.ts +0 -10
  275. package/src/components/core/notice/notice.vue.d.ts +0 -5
  276. package/src/components/dialog/dialog/dialog.vue.d.ts +0 -28
  277. package/src/components/dialog/dialog/dialogs/dialogs.vue.d.ts +0 -13
  278. package/src/components/dialog/dialog/page/page.vue.d.ts +0 -19
  279. package/src/components/dialog/dialog/pageComponent/pageComponent.vue.d.ts +0 -6
  280. package/src/components/extra/rive/rive.vue.d.ts +0 -11
  281. package/src/components/forms/avatar/avatar.vue.d.ts +0 -10
  282. package/src/components/forms/button/button.vue.d.ts +0 -21
  283. package/src/components/forms/caption/caption.vue.d.ts +0 -17
  284. package/src/components/forms/checkbox/checkbox.vue.d.ts +0 -27
  285. package/src/components/forms/controlLabel/controlLabel.vue.d.ts +0 -19
  286. package/src/components/forms/hint/hint.vue.d.ts +0 -4
  287. package/src/components/forms/input/input.vue.d.ts +0 -25
  288. package/src/components/forms/inputDate/inputDate.vue.d.ts +0 -12
  289. package/src/components/forms/inputRange/inputRange.vue.d.ts +0 -19
  290. package/src/components/forms/loadbar/loadbar.vue.d.ts +0 -3
  291. package/src/components/forms/preloader/preloader.vue.d.ts +0 -4
  292. package/src/components/forms/radio/radio.vue.d.ts +0 -23
  293. package/src/components/forms/select/select.vue.d.ts +0 -30
  294. package/src/components/forms/switcher/switcher.vue.d.ts +0 -23
  295. package/src/components/forms/textarea/textarea.vue.d.ts +0 -12
  296. package/src/components/formsExt/checkboxGroup/checkboxGroup.vue.d.ts +0 -27
  297. package/src/components/formsExt/editArea/editArea.vue.d.ts +0 -31
  298. package/src/components/formsExt/editInput/editInput.vue.d.ts +0 -23
  299. package/src/components/formsExt/info/info.vue.d.ts +0 -20
  300. package/src/components/formsExt/libs/optionGroup/optionGroup.vue.d.ts +0 -16
  301. package/src/components/formsExt/menu/menu.vue.d.ts +0 -16
  302. package/src/components/formsExt/policy/policy.vue.d.ts +0 -8
  303. package/src/components/formsExt/radioGroup/radioGroup.vue.d.ts +0 -27
  304. package/src/components/formsExt/selector2/itemMulti.vue.d.ts +0 -8
  305. package/src/components/formsExt/selector2/selector2.vue.d.ts +0 -62
  306. package/src/components/layout/islandRows/islandRows.vue.d.ts +0 -17
  307. package/src/components/layout/islandRows/islandRowsRow/islandRowsRow.vue.d.ts +0 -18
  308. package/src/components/layout/islandRows/islandRowsSubTitle/islandRowsSubTitle.vue.d.ts +0 -18
  309. package/src/components/layout/rows/rows.vue.d.ts +0 -21
  310. package/src/components/popup/popup/listItem.vue.d.ts +0 -25
  311. package/src/components/popup/popup/opener/opener.vue.d.ts +0 -17
  312. package/src/components/popup/popup/popup.vue.d.ts +0 -38
  313. package/src/components/popup/popup/widgetInput/widgetInput.vue.d.ts +0 -17
  314. package/src/components/popup/popupAlert/popupAlert.vue.d.ts +0 -25
  315. package/src/components/popup/popupConfirm/popupConfirm.vue.d.ts +0 -26
  316. package/src/components/popup/popupHint/popupHint.vue.d.ts +0 -17
  317. package/src/components/popup/popupPrompt/popupPrompt.vue.d.ts +0 -26
  318. package/src/components/project/competitorSelector/competitorSelector.vue.d.ts +0 -14
  319. package/src/components/project/groupSelector/folders/folders.vue.d.ts +0 -18
  320. package/src/components/project/groupSelector/groupSelector.vue.d.ts +0 -205
  321. package/src/components/project/groupSelector/groups/groups.vue.d.ts +0 -146
  322. package/src/components/project/projectSelector/projectSelector.vue.d.ts +0 -132
  323. package/src/components/project/projectSelector/submenu/submenu.vue.d.ts +0 -4
  324. package/src/components/project/regionSelector/dialog_regionSelectorRegions/dialog_regionSelectorRegions.vue.d.ts +0 -6
  325. package/src/components/project/regionSelector/regionSelector.vue.d.ts +0 -23
  326. package/src/components/project/tagSelector/popupListItem/tagPopupListItem.vue.d.ts +0 -20
  327. package/src/components/project/tagSelector/popupOpener/popupOpener.vue.d.ts +0 -27
  328. package/src/components/project/tagSelector/tagIcon/tagIcon.vue.d.ts +0 -4
  329. package/src/components/project/tagSelector/tagSelector.vue.d.ts +0 -38
  330. package/src/components/tabs/tabs/content.vue.d.ts +0 -19
  331. package/src/components/tabs/tabs/tab.vue.d.ts +0 -19
  332. package/src/components/tabs/tabs/tabs.vue.d.ts +0 -21
  333. package/src/components/tabsView/tabsView/menu.vue.d.ts +0 -28
  334. package/src/components/tabsView/tabsView/menuDelimeter.vue.d.ts +0 -3
  335. package/src/components/tabsView/tabsView/menuItem.vue.d.ts +0 -23
  336. package/src/components/tabsView/tabsView/menuTitle.vue.d.ts +0 -20
  337. package/src/components/tabsView/tabsView/tabsView.vue.d.ts +0 -34
@@ -4,7 +4,7 @@ import { AsyncTopDialogComponentLoader, TopDialogComponent } from './types';
4
4
  /**
5
5
  * Получить объект управленя текущим диалоговым окном
6
6
  */
7
- export declare const useTopDialogSelf: () => TopDialogHandle<TopDialogComponent>;
7
+ export declare const useTopDialogSelf: () => any;
8
8
  /**
9
9
  * Получить объект управленя диалоговым окном
10
10
  *
@@ -1,12 +1,30 @@
1
- import { Props } from './types';
1
+ import { Ref } from 'vue';
2
+ import { Item, Props } from './types';
3
+ /**
4
+ * Кеш результата
5
+ */
6
+ type Cache = Api.ResponseSuccess<Item[], 'get'>;
2
7
  /**
3
8
  * Список кешей для конкретного API метода
4
9
  */
5
- export declare const cacheByMethod: Map<Api.PathAbstract, Map<string, any>>;
10
+ export declare const cacheByMethod: Map<Api.PathAbstract, Map<string, Cache>>;
11
+ /**
12
+ * Получить счетчик изменений кеша
13
+ */
14
+ export declare const getCacheVersion: (apiPath: Api.PathAbstract) => Ref<number, number>;
6
15
  /**
7
16
  * Сброс кеша конкретного API метода
8
17
  */
9
18
  export declare const clearCache: (apiPath: Api.PathAbstract) => void;
10
19
  export declare const genCacheKey: (api: NonNullable<Props["api"]>) => string;
11
- export declare const getCache: (cacheKey: string, apiPath: Api.PathAbstract) => any;
12
- export declare const setCache: (cacheKey: string, apiPath: Api.PathAbstract, data: any) => void;
20
+ export declare const getCache: (cacheKey: string, apiPath: Api.PathAbstract) => Cache | undefined;
21
+ export declare const setCache: (cacheKey: string, apiPath: Api.PathAbstract, data: Cache) => void;
22
+ /**
23
+ * Обновить элемент во всех кешах API метода
24
+ */
25
+ export declare const updateCacheItemById: (apiPath: Api.PathAbstract, itemId: Item["id"], patch: Partial<Item>) => void;
26
+ /**
27
+ * Удалить элемент из всех кешей API метода
28
+ */
29
+ export declare const deleteCacheItemById: (apiPath: Api.PathAbstract, itemId: Item["id"]) => void;
30
+ export {};
@@ -5,7 +5,7 @@ import { ITEM_ID_NEW } from '../utils';
5
5
  /**
6
6
  * Функционал поиска
7
7
  */
8
- export declare const useMenu: (model: Ref<Props["modelValue"]>, emits: ReturnType<typeof defineEmits>, items: Ref<Props["items"]>, multiselect: Props["multiselect"], useAllItem: Ref<Props["useAllItem"]>, appendSearchToResult: Ref<Props["appendSearchToResult"]>, appendSearchAllowDuplicate: Ref<Props["appendSearchAllowDuplicate"]>, appendSearchToResultCond: Ref<Props["appendSearchToResultCond"]>, appendWithoutSelect: Ref<Props["appendWithoutSelect"]>, searchFields: Ref<Props["searchFields"]>, searchType: Ref<Props["searchType"]>, minLength: number, api: API) => {
8
+ export declare const useMenu: (model: Ref<Props["modelValue"]>, emits: ReturnType<typeof defineEmits>, items: Ref<Props["items"]>, prepareItemsBeforeRender: Props["prepareItemsBeforeRender"], multiselect: Props["multiselect"], useAllItem: Ref<Props["useAllItem"]>, appendSearchToResult: Ref<Props["appendSearchToResult"]>, appendSearchAllowDuplicate: Ref<Props["appendSearchAllowDuplicate"]>, appendSearchToResultCond: Ref<Props["appendSearchToResultCond"]>, appendWithoutSelect: Ref<Props["appendWithoutSelect"]>, searchFields: Ref<Props["searchFields"]>, searchType: Ref<Props["searchType"]>, minLength: number, api: API) => {
9
9
  searchText: Ref<string, string>;
10
10
  resetSearch: () => void;
11
11
  genIsShort: () => boolean;
@@ -61,6 +61,15 @@ export interface Props {
61
61
  * Только для `searchType` = `popup`
62
62
  */
63
63
  hasCloserBtn?: boolean;
64
+ /**
65
+ * Нормализовать элементы перед отображением
66
+ *
67
+ * @note Для случаев, когда надо подменить какие-то данные в items перед выводом
68
+ * @note Константа, после установки менять нельзя
69
+ *
70
+ * @subcategory Api
71
+ */
72
+ prepareItemsBeforeRender?: (items: Item[]) => Item[];
64
73
  /**
65
74
  * Если указан, будет выполнена загрузка результатов через API
66
75
  *
@@ -11,6 +11,7 @@ export declare const folderDefault: Folder;
11
11
  * Необходимо предустанавливать для минимизации `rerender`
12
12
  */
13
13
  export declare const genRootFolder: (folders: FolderTree | undefined, useSelectAll: boolean) => Folder;
14
+ export declare function genRootFolderName(useSelectAll: boolean): string;
14
15
  /**
15
16
  * Сгенерировать плоский список папок
16
17
  *
@@ -41,8 +41,11 @@ export interface Props {
41
41
  }
42
42
  export interface Emits {
43
43
  addGroup: [group: Group];
44
- editGroup: [group: Group];
45
- delGroup: [group: Group];
44
+ editGroup: [group: {
45
+ id: number;
46
+ name: string;
47
+ }];
48
+ delGroup: [id: number];
46
49
  }
47
50
  /**
48
51
  * Информация о группе
@@ -1,2 +1,6 @@
1
1
  import { Group } from '../../groups/types';
2
2
  export declare const groups: Group[];
3
+ /**
4
+ * Восстановить исходный список групп для Storybook
5
+ */
6
+ export declare const resetGroups: () => void;
@@ -1,7 +1,8 @@
1
1
  import { client } from '../../../../../storybook/api/client';
2
+ import { resetGroups } from './groups';
2
3
  import { Client } from '../../../../../api/api/client/client';
3
4
  import { paths } from 'topvisor-openapi/src/ts/Topvisor';
4
5
  export * from './folders';
5
6
  export * from './groups';
6
7
  declare const clientMocked: Client<paths, true>;
7
- export { client, clientMocked, };
8
+ export { client, clientMocked, resetGroups, };
@@ -112,6 +112,12 @@ export interface Props {
112
112
  * Показывать поле для выбора группы
113
113
  */
114
114
  showGroups?: boolean;
115
+ /**
116
+ * Показывать пути папок к группам в списке групп
117
+ *
118
+ * Включается автоматически, если включен режим вывода папок `showFolders`
119
+ */
120
+ showGroupsPaths?: boolean;
115
121
  /**
116
122
  * Выводить иконку в полях выбора папки и группы
117
123
  */
@@ -5,6 +5,8 @@ import { ShallowRef, Ref } from 'vue';
5
5
  *
6
6
  * Используется только при `dataSource` = `static`
7
7
  * Данные синхронизируются между всеми экземплярами ProjectSelector
8
+ *
9
+ * @todo Добавить поддержку моков
8
10
  */
9
11
  export declare const projectsCache: ShallowRef<Item[] | undefined, Item[] | undefined>;
10
12
  export declare const resetStateSignal: Ref<number, number>;
@@ -24,6 +26,6 @@ export declare const projectsRequest: Ref<{
24
26
  finally: (onfinally?: (() => void) | null | undefined) => Promise<Api.ResponseError<any> | Api.ResponseSuccess<any, "get">>;
25
27
  readonly [Symbol.toStringTag]: string;
26
28
  } | null>;
27
- export declare const setCache: (userId: number, projectsTotal: number) => void;
28
- export declare const getCache: (userId: number) => number | undefined;
29
- export declare const clearCache: (userId: number, resetState?: boolean) => void;
29
+ export declare const setCacheTotal: (projectsTotal: number) => void;
30
+ export declare const getCacheTotal: () => number | undefined;
31
+ export declare const clearCache: (resetState?: boolean) => void;
@@ -0,0 +1,5 @@
1
+ import { Client } from '../../../../../api/api/client/client';
2
+ import { paths } from 'topvisor-openapi/src/ts/Topvisor';
3
+ export * from './projects';
4
+ export declare const apiClientMocked: Client<paths, true>;
5
+ export declare const apiClientMockedLarge: Client<paths, true>;
@@ -0,0 +1,3 @@
1
+ export type ProjectMock = NonNullable<Api.TV.ResponseSuccess<'/get/projects_2/projects/', ['id', 'user_id', 'name', 'url', 'on', 'right']>['result']>[number];
2
+ export declare const projects: ProjectMock[];
3
+ export declare const projectsLarge: ProjectMock[];
@@ -36,7 +36,7 @@ export declare const apiSetSearchParamsFilter: (api: NonNullable<Props["api"]>,
36
36
  *
37
37
  * @see prepareProjects
38
38
  */
39
- export declare const genApiGetProjects: (client: Api.Client<Api.TV.Paths, true>, userId: number, params?: Record<string, number>) => Api.ClientRequest<Api.ClientRequestContext< paths, "/get/projects_2/projects/", true>, ("name" | "id" | "on" | "right" | "url" | "user_id")[], Api.Params<Api.ClientRequestContext< paths, "/get/projects_2/projects/", true>, undefined, {
39
+ export declare const genApiGetProjects: (client: Api.Client<Api.TV.Paths, true>) => Api.ClientRequest<Api.ClientRequestContext< paths, "/get/projects_2/projects/", true>, ("name" | "id" | "on" | "right" | "user_id" | "url")[], Api.Params<Api.ClientRequestContext< paths, "/get/projects_2/projects/", true>, undefined, {
40
40
  "COUNT(*)"?: any;
41
41
  "IS_YOUTUBE()"?: any;
42
42
  "IS_APP_STORE()"?: any;
@@ -1,7 +1,6 @@
1
1
  import { ForMode, Region, Searcher, SearcherByKey } from '../types';
2
2
  import { AsyncTopDialogHandle } from '../../../dialog/dialog/composables/asyncDialogHandle';
3
- import { DefineComponent, ComponentOptionsMixin, PublicProps, ComponentProvideOptions } from 'vue';
4
- import { Props } from '../dialog_regionSelectorRegions/types';
3
+ import { TopDialogComponent } from '../../../dialog/dialog/composables/types';
5
4
  /**
6
5
  * Генерация Map ПС с Map регионов из массива searchers
7
6
  * - ключ для ПС - searcherKey
@@ -29,6 +28,4 @@ export declare const findRegion: (forMode: ForMode, searchRegion: Partial<Region
29
28
  *
30
29
  * @see import('../dialog_regionSelectorRegions/types').Props
31
30
  */
32
- export declare const dialogRegionSelector: AsyncTopDialogHandle<DefineComponent<Partial< Props>, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<Partial< Props>> & Readonly<{}>, {}, {}, {}, {}, string, ComponentProvideOptions, false, {
33
- elRegions: HTMLDivElement;
34
- }, HTMLDivElement>>;
31
+ export declare const dialogRegionSelector: AsyncTopDialogHandle<TopDialogComponent>;
@@ -2,7 +2,7 @@ import { default as preloaders } from './preloaders';
2
2
  import { Options as TopNoticeOptions } from '../../components/core/notice/utils';
3
3
  import { Style as TopNoticeStyle } from '../../components/core/notice/item/types';
4
4
  /**
5
- * Статический класс с текущим состоянимем UI
5
+ * Статический класс с текущим состоянием UI
6
6
  *
7
7
  * @docs https://ui.topvisor.com/?path=/docs/core-core--docs
8
8
  */
@@ -11,6 +11,9 @@ 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
+ user: {
15
+ id: number;
16
+ };
14
17
  timezoneOffset: number;
15
18
  showGlobalRegionForKeywordsStats: boolean;
16
19
  forceSearchersKeysForKeywordsStats: number[];
@@ -64,14 +67,14 @@ export default class Core {
64
67
  /**
65
68
  * Вывести на экране сообщение в стилизации под push уведомление
66
69
  *
67
- * Для удобства работы со словарем, принимает один парамтер `text` и первую строку из него использует как `title`.
70
+ * Для удобства работы со словарем, принимает один параметр `text` и первую строку из него использует как `title`.
68
71
  * Данное поведение можно изменить, передав в параметрах `options.title`
69
72
  *
70
- * Для вывода используется компонент TopNotice, требует его подклчючения
73
+ * Для вывода используется компонент TopNotice, требует его подключения
71
74
  *
72
75
  * @docs https://ui.topvisor.com/?path=/docs/components-core-notice--docs
73
76
  */
74
- static notice: (text: string, style: TopNoticeStyle, options?: TopNoticeOptions) => Promise<void>;
77
+ static notice: (text: string, style: TopNoticeStyle, options?: TopNoticeOptions) => Promise<any>;
75
78
  /**
76
79
  * Вставить css стили на страницу по ссылке с автоматическим добавлением правил media
77
80
  *
@@ -38,6 +38,12 @@ declare const _default: {
38
38
  * Валюта, которая будет использоваться по умолчанию, как правило, зависит от текущего пользователя
39
39
  */
40
40
  currency: "RUB" | "USD" | "EUR";
41
+ /**
42
+ * Текущий пользователь
43
+ */
44
+ user: {
45
+ id: number;
46
+ };
41
47
  /**
42
48
  * Смещение timezone относительно UTC в минутах
43
49
  * Для Москвы: -180
@@ -8,6 +8,9 @@ declare const state: {
8
8
  documentClassModificators: Map<string | number, string>;
9
9
  dateFormat: string;
10
10
  currency: "USD" | "RUB" | "EUR";
11
+ user: {
12
+ id: number;
13
+ };
11
14
  timezoneOffset: number;
12
15
  showGlobalRegionForKeywordsStats: boolean;
13
16
  forceSearchersKeysForKeywordsStats: number[];
@@ -4,17 +4,16 @@ import { default as coreDefaultOptions } from '../core/options';
4
4
  import { Options as TopPopupOptions } from '../../components/popup/lib/worker';
5
5
  import { default as TopDialogs } from '../../components/dialog/dialog/dialogs/dialogs.vue';
6
6
  import { TopDialogOptions } from '../../components/dialog/lib/types';
7
- import { DefineComponent, ComponentOptionsMixin, PublicProps, ComponentProvideOptions, App } from 'vue';
8
- import { Props } from '../../components/core/notice/types';
7
+ import { App } from 'vue';
9
8
  import * as Forms from '../../components/forms/forms';
10
- declare const TopNotice: DefineComponent<Props, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly< Props> & Readonly<{}>, {}, {}, {}, {}, string, ComponentProvideOptions, false, {}, any>;
9
+ declare const TopNotice: any;
11
10
  declare global {
12
11
  const vd: typeof console.log;
13
12
  }
14
13
  declare module '@vue/runtime-core' {
15
14
  interface ComponentCustomProperties {
16
15
  /**
17
- * Статический класс с текущим состоянимем UI
16
+ * Статический класс с текущим состоянием UI
18
17
  */
19
18
  $core: typeof Core;
20
19
  $vd: typeof console.log;
@@ -42,7 +41,7 @@ declare module '@vue/runtime-core' {
42
41
  TopDialogs: typeof TopDialogs;
43
42
  }
44
43
  }
45
- type CoreOptions = PartialBy<typeof coreDefaultOptions, 'timezoneOffset' | 'documentClassModificators' | 'showGlobalRegionForKeywordsStats' | 'forceSearchersKeysForKeywordsStats'>;
44
+ type CoreOptions = PartialBy<typeof coreDefaultOptions, 'timezoneOffset' | 'documentClassModificators' | 'user' | 'showGlobalRegionForKeywordsStats' | 'forceSearchersKeysForKeywordsStats'>;
46
45
  type Options = CoreOptions & {
47
46
  topPopupOptions?: TopPopupOptions;
48
47
  topDialogOptions?: TopDialogOptions;
@@ -0,0 +1,94 @@
1
+ import { ComputedRef } from 'vue';
2
+ /**
3
+ * Тип сущности, например `user`, `keyword`, `project`.
4
+ */
5
+ type EntityType = string;
6
+ /**
7
+ * Глобально уникальный id сущности.
8
+ *
9
+ * Может быть составным, например: '1:2:3'.
10
+ */
11
+ type EntityId = string | number;
12
+ /**
13
+ * Имя поля сущности, например `label`, `title`, `status`.
14
+ */
15
+ type EntityFieldName = string;
16
+ /**
17
+ * Частичный объект с обновлёнными полями сущности.
18
+ */
19
+ type EntityPatch = Record<EntityFieldName, unknown>;
20
+ type EntitiesStore = {
21
+ /**
22
+ * Подписывает компонент на поле сущности.
23
+ *
24
+ * Если сущность или поле ещё не зарегистрированы, они будут созданы с defaultValue.
25
+ *
26
+ * Повторные подписки на одну пару `id + fieldName` получают один и тот же внутренний Ref,
27
+ * поэтому обновляются синхронно через refresh().
28
+ *
29
+ * Возвращает computed свойство со значением поля.
30
+ *
31
+ * @param defaultValue Значение, которое используется до первого refresh().
32
+ *
33
+ * @returns readonly-реактивную ссылку на значение поля сущности.
34
+ */
35
+ use: <T>(type: EntityType, id: EntityId, fieldName: EntityFieldName, defaultValue: T) => ComputedRef<T>;
36
+ /**
37
+ * Обновляет уже подписанные поля сущности.
38
+ *
39
+ * Метод не создаёт новые поля из patch.
40
+ * Если на поле ещё никто не подписался через use(), оно игнорируется.
41
+ *
42
+ * Это намеренное поведение: store хранит только UI-проекции, а не полный объект доменной модели.
43
+ */
44
+ refresh: (type: EntityType, id: EntityId, patch: EntityPatch) => void;
45
+ /**
46
+ * Удаляет сущность из реестра.
47
+ *
48
+ * После удаления следующие вызовы use() для этого id создадут новую запись с переданным defaultValue.
49
+ *
50
+ * Уже созданные подписки продолжат держать старые Ref до размонтирования компонента.
51
+ */
52
+ remove: (type: EntityType, id: EntityId) => void;
53
+ };
54
+ /**
55
+ * Глобальный реестр реактивных UI-проекций сущностей.
56
+ *
57
+ * Store синхронизирует UI-компоненты, которые отображают отдельные поля сущностей по их глобально уникальному `id`.
58
+ *
59
+ * Store не является источником доменных данных и не хранит полные объекты.
60
+ * Он хранит только те поля сущностей, на которые уже есть реальные подписки через `use()`.
61
+ *
62
+ * `id` рассматривается как стабильный primary key:
63
+ *
64
+ * - сущность может быть добавлена;
65
+ * - сущность может быть удалена;
66
+ * - сущность может быть обновлена через `refresh()`;
67
+ * - сам `id` существующей сущности не изменяется.
68
+ *
69
+ * Подписка создаётся на конкретное поле конкретной сущности:
70
+ *
71
+ * - `id` — стабильный primary key сущности;
72
+ * - `fieldName` — имя поля сущности, например `title`, `label`, `status`.
73
+ *
74
+ * Обновление через `refresh()` затрагивает только уже подписанные поля.
75
+ * Неподписанные поля не создаются и не хранятся.
76
+ *
77
+ * Это позволяет разным компонентам независимо читать одни и те же поля одной сущности и получать точечные обновления после изменения этой сущности
78
+ * в другом месте приложения.
79
+ *
80
+ * @example
81
+ * ```ts
82
+ * const entities = useEntities();
83
+ *
84
+ * const title = entities.use(entity.id, 'title', '');
85
+ * const status = entities.use(entity.id, 'status', 'unknown');
86
+ *
87
+ * entities.refresh(updated.id, {
88
+ * title: updated.title,
89
+ * status: updated.status,
90
+ * });
91
+ * ```
92
+ */
93
+ export declare const useEntities: () => EntitiesStore;
94
+ export {};
package/tabs/tabs.amd.js CHANGED
@@ -1,2 +1,2 @@
1
- define([`require`,`exports`,`vue`,`../require/css.amd!../assets/tabs.css`],function(e,t,n){"use strict";if(r===void 0)var r=window.Vue;Object.defineProperty(t,`__esModule`,{value:!0}),t.TopTabsTab=t.TopTabsContent=t.TopTabs=void 0;var i={class:(0,n.normalizeClass)({"top-tabs":!0})},a={key:0,class:`top-tabs_header`},o={class:`top-tabs_contents`},s=(0,n.defineComponent)({__name:`tabs`,props:{id:{}},setup(e){return(e,t)=>((0,n.openBlock)(),(0,n.createElementBlock)(`div`,i,[(0,n.renderSlot)(e.$slots,`buttons`),e.$slots.header?((0,n.openBlock)(),(0,n.createElementBlock)(`div`,a,[(0,n.renderSlot)(e.$slots,`header`)])):(0,n.createCommentVNode)(``,!0),(0,n.createElementVNode)(`div`,o,[(0,n.renderSlot)(e.$slots,`contents`)])]))}}),c=[`id`,`name`,`value`,`checked`,`disabled`],l=[`for`],u=(0,n.defineComponent)({__name:`tab`,props:{tabsId:{},name:{},title:{},active:{type:Boolean},disabled:{type:Boolean}},setup(e){return(t,r)=>((0,n.openBlock)(),(0,n.createElementBlock)(n.Fragment,null,[(0,n.createElementVNode)(`input`,{type:`radio`,class:`top-tabs_tabInput top-unvisible`,id:e.tabsId+e.name,name:e.tabsId,value:e.name,checked:e.active,disabled:e.disabled},null,8,c),(0,n.createElementVNode)(`label`,{class:(0,n.normalizeClass)({"top-tabs_tabLabel":!0,"top-forms-focusable":!0,"top-disabled":e.disabled}),for:e.tabsId+e.name},[(0,n.renderSlot)(t.$slots,`default`)],10,l)],64))}}),d=[`data-tabs-name`],f=(0,n.defineComponent)({__name:`content`,props:{name:{}},setup(e){return(t,r)=>((0,n.openBlock)(),(0,n.createElementBlock)(`div`,{class:(0,n.normalizeClass)({"top-tabs_content":!0}),"data-tabs-name":e.name},[(0,n.renderSlot)(t.$slots,`default`)],8,d))}});t.TopTabs=s,t.TopTabsTab=u,t.TopTabsContent=f});
1
+ define([`require`,`exports`,`vue`,`../require/css.amd!../assets/tabs.css`],function(e,t,n){"use strict";if(r===void 0)var r=window.Vue;Object.defineProperty(t,"__esModule",{value:!0}),t.TopTabsTab=t.TopTabsContent=t.TopTabs=void 0;var i={class:(0,n.normalizeClass)({"top-tabs":!0})},a={key:0,class:`top-tabs_header`},o={class:`top-tabs_contents`},s=(0,n.defineComponent)({__name:`tabs`,props:{id:{}},setup(e){return(e,t)=>((0,n.openBlock)(),(0,n.createElementBlock)(`div`,i,[(0,n.renderSlot)(e.$slots,`buttons`),e.$slots.header?((0,n.openBlock)(),(0,n.createElementBlock)(`div`,a,[(0,n.renderSlot)(e.$slots,`header`)])):(0,n.createCommentVNode)(``,!0),(0,n.createElementVNode)(`div`,o,[(0,n.renderSlot)(e.$slots,`contents`)])]))}}),c=[`id`,`name`,`value`,`checked`,`disabled`],l=[`for`],u=(0,n.defineComponent)({__name:`tab`,props:{tabsId:{},name:{},title:{},active:{type:Boolean},disabled:{type:Boolean}},setup(e){return(t,r)=>((0,n.openBlock)(),(0,n.createElementBlock)(n.Fragment,null,[(0,n.createElementVNode)(`input`,{type:`radio`,class:`top-tabs_tabInput top-unvisible`,id:e.tabsId+e.name,name:e.tabsId,value:e.name,checked:e.active,disabled:e.disabled},null,8,c),(0,n.createElementVNode)(`label`,{class:(0,n.normalizeClass)({"top-tabs_tabLabel":!0,"top-forms-focusable":!0,"top-disabled":e.disabled}),for:e.tabsId+e.name},[(0,n.renderSlot)(t.$slots,`default`)],10,l)],64))}}),d=[`data-tabs-name`],f=(0,n.defineComponent)({__name:`content`,props:{name:{}},setup(e){return(t,r)=>((0,n.openBlock)(),(0,n.createElementBlock)(`div`,{class:(0,n.normalizeClass)({"top-tabs_content":!0}),"data-tabs-name":e.name},[(0,n.renderSlot)(t.$slots,`default`)],8,d))}});t.TopTabs=s,t.TopTabsTab=u,t.TopTabsContent=f});
2
2
  //# sourceMappingURL=tabs.amd.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["tabs/tabs.js","../../src/components/tabs/tabs/tabs.vue","../../src/components/tabs/tabs/tab.vue","../../src/components/tabs/tabs/content.vue"],"names":["vue","exports","c","vue_1","l","u","d","$slots","f","p","m","t","i","h","g"],"mappings":"AAAA,OAAO,CAAC,UAAW,UAAW,MAAK,wCAAA,CAAA,SAAa,EAAS,EAAS,EAAO,CACrE,aAAA,GAAAA,IAAA,OAAA,IAAAA,EAAA,OAAA,IACA,OAAO,eAAeC,EAAS,aAAc,CAAE,MAAO,GAAM,CAAC,CAC7D,EAAQ,WAAa,EAAQ,eAAiB,EAAQ,QAAU,IAAK,GAErE,IAAIC,EAAI,CAAE,OAAwB,EAAGC,EAAM,gBAAgB,CAAE,WAAY,CAAC,EAAG,CAAC,CAAE,CAAEC,EAAI,CAClF,IAAK,EACL,MAAO,kBACV,CAAEC,EAAI,CAAE,MAAO,oBAAqB,CAAEC,GAAqB,EAAGH,EAAM,iBAAiB,CAClF,OAAQ,OCIc,MAAA,CAAA,GAAA,EAAA,CAAA,CAEjBI,MAAO,EAAA,CAKlB,OAE8B,EAAA,MAAA,EAAAJ,EAAA,YAAA,EAAA,EAAAA,EAAA,oBAAA,MAAAD,EAAA,EDTf,EAAGC,EAAM,YAAY,EAAE,OAAQ,UAAU,CAC1C,EAAE,OAAO,SAAW,EAAGA,EAAM,YAAY,EAAG,EAAGA,EAAM,oBAAoB,MAAOC,EAAG,EAAE,EAAGD,EAAM,YAAY,EAAE,OAAQ,SAAS,CAAC,CAAC,GAAK,EAAGA,EAAM,oBAAoB,GAAI,CAAC,EAAE,EACvK,EAAGA,EAAM,oBAAoB,MAAOE,EAAG,EAAE,EAAGF,EAAM,YAAY,EAAE,OAAQ,WAAW,CAAC,CAAA,CACxF,CAAC,GAET,CAAC,CAAEK,EAAI,CACJ,KACA,OACA,QACA,UACA,WACH,CAAEC,EAAI,CAAC,MAAM,CAAEC,GAAqB,EAAGP,EAAM,iBAAiB,CAC3D,OAAQ,MACR,MAAO,CACH,OAAQ,EAAE,CACV,KAAM,EAAE,CACR,MAAO,EAAE,CACT,OAAQ,CAAE,KAAM,QAAS,CACzB,SAAU,CAAE,KAAM,QExB7B,CACM,CACL,MAAM,EAAA,CACD,OAAS,EAAA,MAAA,EAAAA,EAAA,YAAA,EAAA,EAAAA,EAAA,oBAAAA,EAAA,SAAA,KAAA,EAAA,EAAAA,EAAA,oBAAA,QAAA,CACP,KAAA,QACC,MAAA,kCACE,GAAAQ,EAAA,OAAAA,EAAA,KACC,KAAAA,EAAA,OAYJ,MAAAA,EAAA,KARD,QAAAA,EAAA,OFuBY,SAAUA,EAAE,SACf,CAAE,KAAM,EAAGH,EAAE,EAAG,EAAGL,EAAM,oBAAoB,QAAS,CExBsB,OAAA,EAAAA,EAAA,gBAAA,CF0BrE,oBAAqB,CAAC,EErB7B,sBAAA,CAAA,EAEF,eAAAQ,EAAA,SFsBM,CAAC,CACF,IAAKA,EAAE,OAASA,EAAE,KACrB,CAAE,EAAE,EAAGR,EAAM,YAAYS,EAAE,OAAQ,UAAU,CAAC,CAAE,GAAIH,EAAE,CAAC,CAAE,GAAG,GAExE,CAAC,CAAEI,EAAI,CAAC,iBAAiB,CAAEC,GAAqB,EAAGX,EAAM,iBAAiB,CACvE,OAAQ,UG5Cb,MAAO,CAAA,KAAA,EAAA,CAAA,CAGP,MAAA,EAAA,CAEY,OAAA,EAAA,MAAA,EAAAA,EAAA,YAAA,EAAA,EAAAA,EAAA,oBAAA,MAAA,CH2CC,OAAQ,EAAGA,EAAM,gBAAgB,CAAE,mBAAoB,CAAC,EAAG,CAAC,CAC5D,iBAAkB,EAAE,KACvB,CAAE,EAAE,EAAGA,EAAM,YAAY,EAAE,OAAQ,UAAU,CAAC,CAAE,EAAGU,EAAE,GAE7D,CAAC,CACF,EAAQ,QAAUP,EAClB,EAAQ,WAAaI,EACrB,EAAQ,eAAiBI,GAC3B","sourcesContent":["define([\"require\", \"exports\", \"vue\"], function (require, exports, vue_1) {\n \"use strict\";\n Object.defineProperty(exports, \"__esModule\", { value: true });\n exports.TopTabsTab = exports.TopTabsContent = exports.TopTabs = void 0;\n //#region src/components/tabs/tabs/tabs.vue?vue&type=script&setup=true&lang.ts\n var c = { class: /* @__PURE__ */ (0, vue_1.normalizeClass)({ \"top-tabs\": !0 }) }, l = {\n key: 0,\n class: \"top-tabs_header\"\n }, u = { class: \"top-tabs_contents\" }, d = /* @__PURE__ */ (0, vue_1.defineComponent)({\n __name: \"tabs\",\n props: { id: {} },\n setup(e) {\n return (e, i) => ((0, vue_1.openBlock)(), (0, vue_1.createElementBlock)(\"div\", c, [\n (0, vue_1.renderSlot)(e.$slots, \"buttons\"),\n e.$slots.header ? ((0, vue_1.openBlock)(), (0, vue_1.createElementBlock)(\"div\", l, [(0, vue_1.renderSlot)(e.$slots, \"header\")])) : (0, vue_1.createCommentVNode)(\"\", !0),\n (0, vue_1.createElementVNode)(\"div\", u, [(0, vue_1.renderSlot)(e.$slots, \"contents\")])\n ]));\n }\n }), f = [\n \"id\",\n \"name\",\n \"value\",\n \"checked\",\n \"disabled\"\n ], p = [\"for\"], m = /* @__PURE__ */ (0, vue_1.defineComponent)({\n __name: \"tab\",\n props: {\n tabsId: {},\n name: {},\n title: {},\n active: { type: Boolean },\n disabled: { type: Boolean }\n },\n setup(t) {\n return (i, c) => ((0, vue_1.openBlock)(), (0, vue_1.createElementBlock)(vue_1.Fragment, null, [(0, vue_1.createElementVNode)(\"input\", {\n type: \"radio\",\n class: \"top-tabs_tabInput top-unvisible\",\n id: t.tabsId + t.name,\n name: t.tabsId,\n value: t.name,\n checked: t.active,\n disabled: t.disabled\n }, null, 8, f), (0, vue_1.createElementVNode)(\"label\", {\n class: (0, vue_1.normalizeClass)({\n \"top-tabs_tabLabel\": !0,\n \"top-forms-focusable\": !0,\n \"top-disabled\": t.disabled\n }),\n for: t.tabsId + t.name\n }, [(0, vue_1.renderSlot)(i.$slots, \"default\")], 10, p)], 64));\n }\n }), h = [\"data-tabs-name\"], g = /* @__PURE__ */ (0, vue_1.defineComponent)({\n __name: \"content\",\n props: { name: {} },\n setup(e) {\n return (t, r) => ((0, vue_1.openBlock)(), (0, vue_1.createElementBlock)(\"div\", {\n class: (0, vue_1.normalizeClass)({ \"top-tabs_content\": !0 }),\n \"data-tabs-name\": e.name\n }, [(0, vue_1.renderSlot)(t.$slots, \"default\")], 8, h));\n }\n });\n exports.TopTabs = d;\n exports.TopTabsTab = m;\n exports.TopTabsContent = g;\n});\n//# sourceMappingURL=tabs.js.map\n","<script setup lang=\"ts\">\nimport type { Props } from './types';\n\ndefineProps<Props>();\n</script>\n\n<template>\n\t<div\n\t\t:class=\"{\n\t\t\t'top-tabs': true,\n\t\t}\"\n\t>\n\t\t<!-- @slot Кнопки вкладок, ожидает передачу компонентов TabTitle -->\n\t\t<slot name=\"buttons\"></slot>\n\n\t\t<div v-if=\"$slots.header\" class=\"top-tabs_header\">\n\t\t\t<!-- @slot Слот с проивзольным содержимым, которое будет добавлено справа от вкладок -->\n\t\t\t<slot name=\"header\"></slot>\n\t\t</div>\n\n\t\t<div class=\"top-tabs_contents\">\n\t\t\t<!-- @slot Контент вкладок, ожидает передачу компонентов TabContent -->\n\t\t\t<slot name=\"contents\"></slot>\n\t\t</div>\n\t</div>\n</template>\n\n<style>\n.top-tabs {\n\tbackground: var(--color-layout-front-1);\n\tborder-radius: 8px;\n\tborder: 1px solid var(--color-line-2-opacity);\n\tpadding: 0;\n\tdisplay: flex;\n\tflex-wrap: wrap;\n\talign-items: stretch;\n}\n\n.top-tabs_header {\n\tpadding: 6px;\n\tmargin-left: auto;\n\tdisplay: flex;\n\talign-items: center;\n\tgap: 8px;\n\tflex-wrap: wrap;\n}\n\n/* Содержимое вкладок */\n.top-tabs_contents {\n\tborder-top: 1px solid var(--color-line-2-opacity);\n\twidth: 100%;\n\tmargin-top: -1px;\n}\n\n/* Состояние открытости вкладок */\n.top-tabs_tabInput:checked:nth-child(1) ~ .top-tabs_contents > .top-tabs_content:nth-child(1),\n.top-tabs_tabInput:checked:nth-child(3) ~ .top-tabs_contents > .top-tabs_content:nth-child(2),\n.top-tabs_tabInput:checked:nth-child(5) ~ .top-tabs_contents > .top-tabs_content:nth-child(3),\n.top-tabs_tabInput:checked:nth-child(7) ~ .top-tabs_contents > .top-tabs_content:nth-child(4),\n.top-tabs_tabInput:checked:nth-child(9) ~ .top-tabs_contents > .top-tabs_content:nth-child(5),\n.top-tabs_tabInput:checked:nth-child(11) ~ .top-tabs_contents > .top-tabs_content:nth-child(6) {\n\tdisplay: block;\n}\n</style>\n","<script setup lang=\"ts\">\nimport type { PropsTab } from './types';\n\ndefineProps<PropsTab>();\n</script>\n\n<template>\n\t<input\n\t\ttype=\"radio\"\n\t\tclass=\"top-tabs_tabInput top-unvisible\"\n\t\t:id=\"tabsId + name\"\n\t\t:name=\"tabsId\"\n\t\t:value=\"name\"\n\t\t:checked=\"active\"\n\t\t:disabled=\"disabled\"\n\t/>\n\n\t<label\n\t\t:class=\"{\n\t\t\t'top-tabs_tabLabel': true,\n\t\t\t'top-forms-focusable': true,\n\t\t\t'top-disabled': disabled,\n\t\t}\"\n\t\t:for=\"tabsId + name\"\n\t>\n\t\t<slot></slot>\n\t</label>\n</template>\n\n<style>\n.top-tabs_tabLabel {\n\tcolor: var(--color-text-1);\n\tcursor: pointer;\n\tborder-bottom: 2px solid transparent;\n\tpadding: 14px 20px;\n\tposition: relative;\n\tdisplay: flex;\n\talign-items: center;\n}\n\n.top-tabs_tabLabel:hover {\n\tborder-color: var(--color-line-2);\n}\n\n.top-tabs_tabInput:checked + .top-tabs_tabLabel {\n\tborder-color: var(--color-line-primary-1);\n\tcolor: var(--color-text-primary);\n}\n</style>\n","<script setup lang=\"ts\">\nimport type { PropsContent } from './types';\n\ndefineProps<PropsContent>();\n</script>\n\n<template>\n\t<div\n\t\t:class=\"{\n\t\t\t'top-tabs_content': true,\n\t\t}\"\n\t\t:data-tabs-name=\"name\"\n\t>\n\t\t<slot></slot>\n\t</div>\n</template>\n\n<style>\n.top-tabs_content {\n\tpadding: 14px;\n\toverflow: auto;\n\tdisplay: none;\n}\n</style>\n"]}
1
+ {"version":3,"sources":["tabs/tabs.js","../../src/components/tabs/tabs/tabs.vue","../../src/components/tabs/tabs/tab.vue","../../src/components/tabs/tabs/content.vue"],"names":["vue","exports","c","vue_1","l","u","d","$slots","f","p","m","t","i","h","g"],"mappings":"AAAA,OAAO,CAAC,UAAW,UAAW,MAAK,uCAAA,EAAA,SAAa,EAAS,EAAS,EAAO,CACrE,aAAA,GAAAA,IAAA,OAAA,IAAAA,EAAA,OAAA,IACA,OAAO,eAAeC,EAAS,aAAc,CAAE,MAAO,EAAK,CAAC,EAC5D,EAAQ,WAAa,EAAQ,eAAiB,EAAQ,QAAU,IAAK,GAErE,IAAIC,EAAI,CAAE,OAAsB,EAAGC,EAAM,eAAc,CAAE,CAAE,WAAY,CAAC,CAAE,CAAC,CAAE,EAAGC,EAAI,CAChF,IAAK,EACL,MAAO,iBACX,EAAGC,EAAI,CAAE,MAAO,mBAAoB,EAAGC,GAAqB,EAAGH,EAAM,gBAAe,CAAE,CAClF,OAAQ,OCIc,MAAA,CAAA,GAAA,CAAA,CAAA,EAEjBI,MAAO,EAAA,CAKlB,OAE8B,EAAA,MAAA,EAAAJ,EAAA,UAAA,CAAA,GAAA,EAAAA,EAAA,mBAAA,CAAA,MAAAD,EAAA,EDTf,EAAGC,EAAM,WAAU,CAAE,EAAE,OAAQ,SAAS,EACzC,EAAE,OAAO,SAAW,EAAGA,EAAM,UAAS,CAAE,GAAI,EAAGA,EAAM,mBAAkB,CAAE,MAAOC,EAAG,EAAE,EAAGD,EAAM,WAAU,CAAE,EAAE,OAAQ,QAAQ,CAAC,CAAC,IAAM,EAAGA,EAAM,mBAAkB,CAAE,GAAI,CAAC,CAAC,GACtK,EAAGA,EAAM,mBAAkB,CAAE,MAAOE,EAAG,EAAE,EAAGF,EAAM,WAAU,CAAE,EAAE,OAAQ,UAAU,CAAC,CAAC,CACzF,CAAC,EACL,CACJ,CAAC,EAAGK,EAAI,CACJ,KACA,OACA,QACA,UACA,UACJ,EAAGC,EAAI,CAAC,KAAK,EAAGC,GAAqB,EAAGP,EAAM,gBAAe,CAAE,CAC3D,OAAQ,MACR,MAAO,CACH,OAAQ,CAAC,EACT,KAAM,CAAC,EACP,MAAO,CAAC,EACR,OAAQ,CAAE,KAAM,OAAQ,EACxB,SAAU,CAAE,KAAM,OExB7B,CACC,EACA,MAAM,EAAA,CACD,OAAS,EAAA,MAAA,EAAAA,EAAA,UAAA,CAAA,GAAA,EAAAA,EAAA,mBAAA,CAAAA,EAAA,SAAA,KAAA,EAAA,EAAAA,EAAA,mBAAA,CAAA,QAAA,CACP,KAAA,QACC,MAAA,kCACE,GAAAQ,EAAA,OAAAA,EAAA,KACC,KAAAA,EAAA,OAYJ,MAAAA,EAAA,KARD,QAAAA,EAAA,OFuBY,SAAUA,EAAE,QAChB,EAAG,KAAM,EAAGH,CAAC,GAAI,EAAGL,EAAM,mBAAkB,CAAE,QAAS,CExBsB,OAAA,EAAAA,EAAA,eAAA,CAAA,CF0BrE,oBAAqB,CAAC,EErB7B,sBAAA,CAAA,EAEF,eAAAQ,EAAA,QFsBK,CAAC,EACD,IAAKA,EAAE,OAASA,EAAE,IACtB,EAAG,EAAE,EAAGR,EAAM,WAAU,CAAES,EAAE,OAAQ,SAAS,CAAC,EAAG,GAAIH,CAAC,CAAC,EAAG,EAAE,EACpE,CACJ,CAAC,EAAGI,EAAI,CAAC,gBAAgB,EAAGC,GAAqB,EAAGX,EAAM,gBAAe,CAAE,CACvE,OAAQ,UG5Cb,MAAO,CAAA,KAAA,CAAA,CAAA,EAGP,MAAA,EAAA,CAEY,OAAA,EAAA,MAAA,EAAAA,EAAA,UAAA,CAAA,GAAA,EAAAA,EAAA,mBAAA,CAAA,MAAA,CH2CC,OAAQ,EAAGA,EAAM,eAAc,CAAE,CAAE,mBAAoB,CAAC,CAAE,CAAC,EAC3D,iBAAkB,EAAE,IACxB,EAAG,EAAE,EAAGA,EAAM,WAAU,CAAE,EAAE,OAAQ,SAAS,CAAC,EAAG,EAAGU,CAAC,EACzD,CACJ,CAAC,EACD,EAAQ,QAAUP,EAClB,EAAQ,WAAaI,EACrB,EAAQ,eAAiBI,CAC7B,CAAC","sourcesContent":["define([\"require\", \"exports\", \"vue\"], function (require, exports, vue_1) {\n \"use strict\";\n Object.defineProperty(exports, \"__esModule\", { value: true });\n exports.TopTabsTab = exports.TopTabsContent = exports.TopTabs = void 0;\n //#region src/components/tabs/tabs/tabs.vue?vue&type=script&setup=true&lang.ts\n var c = { class: /*@__PURE__*/ (0, vue_1.normalizeClass)({ \"top-tabs\": !0 }) }, l = {\n key: 0,\n class: \"top-tabs_header\"\n }, u = { class: \"top-tabs_contents\" }, d = /* @__PURE__ */ (0, vue_1.defineComponent)({\n __name: \"tabs\",\n props: { id: {} },\n setup(e) {\n return (e, i) => ((0, vue_1.openBlock)(), (0, vue_1.createElementBlock)(\"div\", c, [\n (0, vue_1.renderSlot)(e.$slots, \"buttons\"),\n e.$slots.header ? ((0, vue_1.openBlock)(), (0, vue_1.createElementBlock)(\"div\", l, [(0, vue_1.renderSlot)(e.$slots, \"header\")])) : (0, vue_1.createCommentVNode)(\"\", !0),\n (0, vue_1.createElementVNode)(\"div\", u, [(0, vue_1.renderSlot)(e.$slots, \"contents\")])\n ]));\n }\n }), f = [\n \"id\",\n \"name\",\n \"value\",\n \"checked\",\n \"disabled\"\n ], p = [\"for\"], m = /* @__PURE__ */ (0, vue_1.defineComponent)({\n __name: \"tab\",\n props: {\n tabsId: {},\n name: {},\n title: {},\n active: { type: Boolean },\n disabled: { type: Boolean }\n },\n setup(t) {\n return (i, c) => ((0, vue_1.openBlock)(), (0, vue_1.createElementBlock)(vue_1.Fragment, null, [(0, vue_1.createElementVNode)(\"input\", {\n type: \"radio\",\n class: \"top-tabs_tabInput top-unvisible\",\n id: t.tabsId + t.name,\n name: t.tabsId,\n value: t.name,\n checked: t.active,\n disabled: t.disabled\n }, null, 8, f), (0, vue_1.createElementVNode)(\"label\", {\n class: (0, vue_1.normalizeClass)({\n \"top-tabs_tabLabel\": !0,\n \"top-forms-focusable\": !0,\n \"top-disabled\": t.disabled\n }),\n for: t.tabsId + t.name\n }, [(0, vue_1.renderSlot)(i.$slots, \"default\")], 10, p)], 64));\n }\n }), h = [\"data-tabs-name\"], g = /* @__PURE__ */ (0, vue_1.defineComponent)({\n __name: \"content\",\n props: { name: {} },\n setup(e) {\n return (t, r) => ((0, vue_1.openBlock)(), (0, vue_1.createElementBlock)(\"div\", {\n class: (0, vue_1.normalizeClass)({ \"top-tabs_content\": !0 }),\n \"data-tabs-name\": e.name\n }, [(0, vue_1.renderSlot)(t.$slots, \"default\")], 8, h));\n }\n });\n exports.TopTabs = d;\n exports.TopTabsTab = m;\n exports.TopTabsContent = g;\n});\n//# sourceMappingURL=tabs.js.map\n","<script setup lang=\"ts\">\nimport type { Props } from './types';\n\ndefineProps<Props>();\n</script>\n\n<template>\n\t<div\n\t\t:class=\"{\n\t\t\t'top-tabs': true,\n\t\t}\"\n\t>\n\t\t<!-- @slot Кнопки вкладок, ожидает передачу компонентов TabTitle -->\n\t\t<slot name=\"buttons\"></slot>\n\n\t\t<div v-if=\"$slots.header\" class=\"top-tabs_header\">\n\t\t\t<!-- @slot Слот с проивзольным содержимым, которое будет добавлено справа от вкладок -->\n\t\t\t<slot name=\"header\"></slot>\n\t\t</div>\n\n\t\t<div class=\"top-tabs_contents\">\n\t\t\t<!-- @slot Контент вкладок, ожидает передачу компонентов TabContent -->\n\t\t\t<slot name=\"contents\"></slot>\n\t\t</div>\n\t</div>\n</template>\n\n<style>\n.top-tabs {\n\tbackground: var(--color-layout-front-1);\n\tborder-radius: 8px;\n\tborder: 1px solid var(--color-line-2-opacity);\n\tpadding: 0;\n\tdisplay: flex;\n\tflex-wrap: wrap;\n\talign-items: stretch;\n}\n\n.top-tabs_header {\n\tpadding: 6px;\n\tmargin-left: auto;\n\tdisplay: flex;\n\talign-items: center;\n\tgap: 8px;\n\tflex-wrap: wrap;\n}\n\n/* Содержимое вкладок */\n.top-tabs_contents {\n\tborder-top: 1px solid var(--color-line-2-opacity);\n\twidth: 100%;\n\tmargin-top: -1px;\n}\n\n/* Состояние открытости вкладок */\n.top-tabs_tabInput:checked:nth-child(1) ~ .top-tabs_contents > .top-tabs_content:nth-child(1),\n.top-tabs_tabInput:checked:nth-child(3) ~ .top-tabs_contents > .top-tabs_content:nth-child(2),\n.top-tabs_tabInput:checked:nth-child(5) ~ .top-tabs_contents > .top-tabs_content:nth-child(3),\n.top-tabs_tabInput:checked:nth-child(7) ~ .top-tabs_contents > .top-tabs_content:nth-child(4),\n.top-tabs_tabInput:checked:nth-child(9) ~ .top-tabs_contents > .top-tabs_content:nth-child(5),\n.top-tabs_tabInput:checked:nth-child(11) ~ .top-tabs_contents > .top-tabs_content:nth-child(6) {\n\tdisplay: block;\n}\n</style>\n","<script setup lang=\"ts\">\nimport type { PropsTab } from './types';\n\ndefineProps<PropsTab>();\n</script>\n\n<template>\n\t<input\n\t\ttype=\"radio\"\n\t\tclass=\"top-tabs_tabInput top-unvisible\"\n\t\t:id=\"tabsId + name\"\n\t\t:name=\"tabsId\"\n\t\t:value=\"name\"\n\t\t:checked=\"active\"\n\t\t:disabled=\"disabled\"\n\t/>\n\n\t<label\n\t\t:class=\"{\n\t\t\t'top-tabs_tabLabel': true,\n\t\t\t'top-forms-focusable': true,\n\t\t\t'top-disabled': disabled,\n\t\t}\"\n\t\t:for=\"tabsId + name\"\n\t>\n\t\t<slot></slot>\n\t</label>\n</template>\n\n<style>\n.top-tabs_tabLabel {\n\tcolor: var(--color-text-1);\n\tcursor: pointer;\n\tborder-bottom: 2px solid transparent;\n\tpadding: 14px 20px;\n\tposition: relative;\n\tdisplay: flex;\n\talign-items: center;\n}\n\n.top-tabs_tabLabel:hover {\n\tborder-color: var(--color-line-2);\n}\n\n.top-tabs_tabInput:checked + .top-tabs_tabLabel {\n\tborder-color: var(--color-line-primary-1);\n\tcolor: var(--color-text-primary);\n}\n</style>\n","<script setup lang=\"ts\">\nimport type { PropsContent } from './types';\n\ndefineProps<PropsContent>();\n</script>\n\n<template>\n\t<div\n\t\t:class=\"{\n\t\t\t'top-tabs_content': true,\n\t\t}\"\n\t\t:data-tabs-name=\"name\"\n\t>\n\t\t<slot></slot>\n\t</div>\n</template>\n\n<style>\n.top-tabs_content {\n\tpadding: 14px;\n\toverflow: auto;\n\tdisplay: none;\n}\n</style>\n"]}
package/tabs/tabs.d.ts CHANGED
@@ -1,2 +1,2 @@
1
- export * from '../src/components/tabs/tabs'
1
+ export * from '../src/components/tabs/tabs.js'
2
2
  export {}
package/tabs/tabs.js CHANGED
@@ -7,7 +7,7 @@
7
7
 
8
8
  import { Fragment as e, createCommentVNode as t, createElementBlock as n, createElementVNode as r, defineComponent as i, normalizeClass as a, openBlock as o, renderSlot as s } from "vue";
9
9
  //#region src/components/tabs/tabs/tabs.vue?vue&type=script&setup=true&lang.ts
10
- var c = { class: /* @__PURE__ */ a({ "top-tabs": !0 }) }, l = {
10
+ var c = { class: /*@__PURE__*/ a({ "top-tabs": !0 }) }, l = {
11
11
  key: 0,
12
12
  class: "top-tabs_header"
13
13
  }, u = { class: "top-tabs_contents" }, d = /* @__PURE__ */ i({
package/tabs/tabs.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"tabs.js","names":["$slots"],"sources":["../../src/components/tabs/tabs/tabs.vue","../../src/components/tabs/tabs/tabs.vue","../../src/components/tabs/tabs/tab.vue","../../src/components/tabs/tabs/tab.vue","../../src/components/tabs/tabs/content.vue","../../src/components/tabs/tabs/content.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport type { Props } from './types';\n\ndefineProps<Props>();\n</script>\n\n<template>\n\t<div\n\t\t:class=\"{\n\t\t\t'top-tabs': true,\n\t\t}\"\n\t>\n\t\t<!-- @slot Кнопки вкладок, ожидает передачу компонентов TabTitle -->\n\t\t<slot name=\"buttons\"></slot>\n\n\t\t<div v-if=\"$slots.header\" class=\"top-tabs_header\">\n\t\t\t<!-- @slot Слот с проивзольным содержимым, которое будет добавлено справа от вкладок -->\n\t\t\t<slot name=\"header\"></slot>\n\t\t</div>\n\n\t\t<div class=\"top-tabs_contents\">\n\t\t\t<!-- @slot Контент вкладок, ожидает передачу компонентов TabContent -->\n\t\t\t<slot name=\"contents\"></slot>\n\t\t</div>\n\t</div>\n</template>\n\n<style>\n.top-tabs {\n\tbackground: var(--color-layout-front-1);\n\tborder-radius: 8px;\n\tborder: 1px solid var(--color-line-2-opacity);\n\tpadding: 0;\n\tdisplay: flex;\n\tflex-wrap: wrap;\n\talign-items: stretch;\n}\n\n.top-tabs_header {\n\tpadding: 6px;\n\tmargin-left: auto;\n\tdisplay: flex;\n\talign-items: center;\n\tgap: 8px;\n\tflex-wrap: wrap;\n}\n\n/* Содержимое вкладок */\n.top-tabs_contents {\n\tborder-top: 1px solid var(--color-line-2-opacity);\n\twidth: 100%;\n\tmargin-top: -1px;\n}\n\n/* Состояние открытости вкладок */\n.top-tabs_tabInput:checked:nth-child(1) ~ .top-tabs_contents > .top-tabs_content:nth-child(1),\n.top-tabs_tabInput:checked:nth-child(3) ~ .top-tabs_contents > .top-tabs_content:nth-child(2),\n.top-tabs_tabInput:checked:nth-child(5) ~ .top-tabs_contents > .top-tabs_content:nth-child(3),\n.top-tabs_tabInput:checked:nth-child(7) ~ .top-tabs_contents > .top-tabs_content:nth-child(4),\n.top-tabs_tabInput:checked:nth-child(9) ~ .top-tabs_contents > .top-tabs_content:nth-child(5),\n.top-tabs_tabInput:checked:nth-child(11) ~ .top-tabs_contents > .top-tabs_content:nth-child(6) {\n\tdisplay: block;\n}\n</style>\n","<script setup lang=\"ts\">\nimport type { Props } from './types';\n\ndefineProps<Props>();\n</script>\n\n<template>\n\t<div\n\t\t:class=\"{\n\t\t\t'top-tabs': true,\n\t\t}\"\n\t>\n\t\t<!-- @slot Кнопки вкладок, ожидает передачу компонентов TabTitle -->\n\t\t<slot name=\"buttons\"></slot>\n\n\t\t<div v-if=\"$slots.header\" class=\"top-tabs_header\">\n\t\t\t<!-- @slot Слот с проивзольным содержимым, которое будет добавлено справа от вкладок -->\n\t\t\t<slot name=\"header\"></slot>\n\t\t</div>\n\n\t\t<div class=\"top-tabs_contents\">\n\t\t\t<!-- @slot Контент вкладок, ожидает передачу компонентов TabContent -->\n\t\t\t<slot name=\"contents\"></slot>\n\t\t</div>\n\t</div>\n</template>\n\n<style>\n.top-tabs {\n\tbackground: var(--color-layout-front-1);\n\tborder-radius: 8px;\n\tborder: 1px solid var(--color-line-2-opacity);\n\tpadding: 0;\n\tdisplay: flex;\n\tflex-wrap: wrap;\n\talign-items: stretch;\n}\n\n.top-tabs_header {\n\tpadding: 6px;\n\tmargin-left: auto;\n\tdisplay: flex;\n\talign-items: center;\n\tgap: 8px;\n\tflex-wrap: wrap;\n}\n\n/* Содержимое вкладок */\n.top-tabs_contents {\n\tborder-top: 1px solid var(--color-line-2-opacity);\n\twidth: 100%;\n\tmargin-top: -1px;\n}\n\n/* Состояние открытости вкладок */\n.top-tabs_tabInput:checked:nth-child(1) ~ .top-tabs_contents > .top-tabs_content:nth-child(1),\n.top-tabs_tabInput:checked:nth-child(3) ~ .top-tabs_contents > .top-tabs_content:nth-child(2),\n.top-tabs_tabInput:checked:nth-child(5) ~ .top-tabs_contents > .top-tabs_content:nth-child(3),\n.top-tabs_tabInput:checked:nth-child(7) ~ .top-tabs_contents > .top-tabs_content:nth-child(4),\n.top-tabs_tabInput:checked:nth-child(9) ~ .top-tabs_contents > .top-tabs_content:nth-child(5),\n.top-tabs_tabInput:checked:nth-child(11) ~ .top-tabs_contents > .top-tabs_content:nth-child(6) {\n\tdisplay: block;\n}\n</style>\n","<script setup lang=\"ts\">\nimport type { PropsTab } from './types';\n\ndefineProps<PropsTab>();\n</script>\n\n<template>\n\t<input\n\t\ttype=\"radio\"\n\t\tclass=\"top-tabs_tabInput top-unvisible\"\n\t\t:id=\"tabsId + name\"\n\t\t:name=\"tabsId\"\n\t\t:value=\"name\"\n\t\t:checked=\"active\"\n\t\t:disabled=\"disabled\"\n\t/>\n\n\t<label\n\t\t:class=\"{\n\t\t\t'top-tabs_tabLabel': true,\n\t\t\t'top-forms-focusable': true,\n\t\t\t'top-disabled': disabled,\n\t\t}\"\n\t\t:for=\"tabsId + name\"\n\t>\n\t\t<slot></slot>\n\t</label>\n</template>\n\n<style>\n.top-tabs_tabLabel {\n\tcolor: var(--color-text-1);\n\tcursor: pointer;\n\tborder-bottom: 2px solid transparent;\n\tpadding: 14px 20px;\n\tposition: relative;\n\tdisplay: flex;\n\talign-items: center;\n}\n\n.top-tabs_tabLabel:hover {\n\tborder-color: var(--color-line-2);\n}\n\n.top-tabs_tabInput:checked + .top-tabs_tabLabel {\n\tborder-color: var(--color-line-primary-1);\n\tcolor: var(--color-text-primary);\n}\n</style>\n","<script setup lang=\"ts\">\nimport type { PropsTab } from './types';\n\ndefineProps<PropsTab>();\n</script>\n\n<template>\n\t<input\n\t\ttype=\"radio\"\n\t\tclass=\"top-tabs_tabInput top-unvisible\"\n\t\t:id=\"tabsId + name\"\n\t\t:name=\"tabsId\"\n\t\t:value=\"name\"\n\t\t:checked=\"active\"\n\t\t:disabled=\"disabled\"\n\t/>\n\n\t<label\n\t\t:class=\"{\n\t\t\t'top-tabs_tabLabel': true,\n\t\t\t'top-forms-focusable': true,\n\t\t\t'top-disabled': disabled,\n\t\t}\"\n\t\t:for=\"tabsId + name\"\n\t>\n\t\t<slot></slot>\n\t</label>\n</template>\n\n<style>\n.top-tabs_tabLabel {\n\tcolor: var(--color-text-1);\n\tcursor: pointer;\n\tborder-bottom: 2px solid transparent;\n\tpadding: 14px 20px;\n\tposition: relative;\n\tdisplay: flex;\n\talign-items: center;\n}\n\n.top-tabs_tabLabel:hover {\n\tborder-color: var(--color-line-2);\n}\n\n.top-tabs_tabInput:checked + .top-tabs_tabLabel {\n\tborder-color: var(--color-line-primary-1);\n\tcolor: var(--color-text-primary);\n}\n</style>\n","<script setup lang=\"ts\">\nimport type { PropsContent } from './types';\n\ndefineProps<PropsContent>();\n</script>\n\n<template>\n\t<div\n\t\t:class=\"{\n\t\t\t'top-tabs_content': true,\n\t\t}\"\n\t\t:data-tabs-name=\"name\"\n\t>\n\t\t<slot></slot>\n\t</div>\n</template>\n\n<style>\n.top-tabs_content {\n\tpadding: 14px;\n\toverflow: auto;\n\tdisplay: none;\n}\n</style>\n","<script setup lang=\"ts\">\nimport type { PropsContent } from './types';\n\ndefineProps<PropsContent>();\n</script>\n\n<template>\n\t<div\n\t\t:class=\"{\n\t\t\t'top-tabs_content': true,\n\t\t}\"\n\t\t:data-tabs-name=\"name\"\n\t>\n\t\t<slot></slot>\n\t</div>\n</template>\n\n<style>\n.top-tabs_content {\n\tpadding: 14px;\n\toverflow: auto;\n\tdisplay: none;\n}\n</style>\n"],"mappings":";;;;;;;;;yBAOC,EAiBM,OAjBN,GAiBM;GAXL,EAA4B,EAAA,QAAA,UAAA;GAEjBA,EAAAA,OAAO,UAAA,GAAA,EAAlB,EAGM,OAHN,GAGM,CADL,EAA2B,EAAA,QAAA,SAAA,CAAA,CAAA,IAAA,EAAA,IAAA,GAAA;GAG5B,EAGM,OAHN,GAGM,CADL,EAA6B,EAAA,QAAA,WAAA,CAAA,CAAA;;;;;;;;;;;;;;;;;;;qCEf/B,EAQE,SAAA;GAPD,MAAK;GACL,OAAM;GACL,IAAI,EAAA,SAAS,EAAA;GACb,MAAM,EAAA;GACN,OAAO,EAAA;GACP,SAAS,EAAA;GACT,UAAU,EAAA;kBAGZ,EASQ,SAAA;GARN,OAAK,EAAA;;;oBAAqF,EAAA;;GAK1F,KAAK,EAAA,SAAS,EAAA;MAEf,EAAa,EAAA,QAAA,UAAA,CAAA,EAAA,IAAA,EAAA,CAAA,EAAA,GAAA;;;;;;yBElBd,EAOM,OAAA;GANJ,OAAK,EAAE,EAAA,oBAAA,IAEP,CAAA;GACA,kBAAgB,EAAA;MAEjB,EAAa,EAAA,QAAA,UAAA,CAAA,EAAA,GAAA,EAAA"}
1
+ {"version":3,"file":"tabs.js","names":["$slots"],"sources":["../../src/components/tabs/tabs/tabs.vue","../../src/components/tabs/tabs/tabs.vue","../../src/components/tabs/tabs/tab.vue","../../src/components/tabs/tabs/tab.vue","../../src/components/tabs/tabs/content.vue","../../src/components/tabs/tabs/content.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport type { Props } from './types';\n\ndefineProps<Props>();\n</script>\n\n<template>\n\t<div\n\t\t:class=\"{\n\t\t\t'top-tabs': true,\n\t\t}\"\n\t>\n\t\t<!-- @slot Кнопки вкладок, ожидает передачу компонентов TabTitle -->\n\t\t<slot name=\"buttons\"></slot>\n\n\t\t<div v-if=\"$slots.header\" class=\"top-tabs_header\">\n\t\t\t<!-- @slot Слот с проивзольным содержимым, которое будет добавлено справа от вкладок -->\n\t\t\t<slot name=\"header\"></slot>\n\t\t</div>\n\n\t\t<div class=\"top-tabs_contents\">\n\t\t\t<!-- @slot Контент вкладок, ожидает передачу компонентов TabContent -->\n\t\t\t<slot name=\"contents\"></slot>\n\t\t</div>\n\t</div>\n</template>\n\n<style>\n.top-tabs {\n\tbackground: var(--color-layout-front-1);\n\tborder-radius: 8px;\n\tborder: 1px solid var(--color-line-2-opacity);\n\tpadding: 0;\n\tdisplay: flex;\n\tflex-wrap: wrap;\n\talign-items: stretch;\n}\n\n.top-tabs_header {\n\tpadding: 6px;\n\tmargin-left: auto;\n\tdisplay: flex;\n\talign-items: center;\n\tgap: 8px;\n\tflex-wrap: wrap;\n}\n\n/* Содержимое вкладок */\n.top-tabs_contents {\n\tborder-top: 1px solid var(--color-line-2-opacity);\n\twidth: 100%;\n\tmargin-top: -1px;\n}\n\n/* Состояние открытости вкладок */\n.top-tabs_tabInput:checked:nth-child(1) ~ .top-tabs_contents > .top-tabs_content:nth-child(1),\n.top-tabs_tabInput:checked:nth-child(3) ~ .top-tabs_contents > .top-tabs_content:nth-child(2),\n.top-tabs_tabInput:checked:nth-child(5) ~ .top-tabs_contents > .top-tabs_content:nth-child(3),\n.top-tabs_tabInput:checked:nth-child(7) ~ .top-tabs_contents > .top-tabs_content:nth-child(4),\n.top-tabs_tabInput:checked:nth-child(9) ~ .top-tabs_contents > .top-tabs_content:nth-child(5),\n.top-tabs_tabInput:checked:nth-child(11) ~ .top-tabs_contents > .top-tabs_content:nth-child(6) {\n\tdisplay: block;\n}\n</style>\n","<script setup lang=\"ts\">\nimport type { Props } from './types';\n\ndefineProps<Props>();\n</script>\n\n<template>\n\t<div\n\t\t:class=\"{\n\t\t\t'top-tabs': true,\n\t\t}\"\n\t>\n\t\t<!-- @slot Кнопки вкладок, ожидает передачу компонентов TabTitle -->\n\t\t<slot name=\"buttons\"></slot>\n\n\t\t<div v-if=\"$slots.header\" class=\"top-tabs_header\">\n\t\t\t<!-- @slot Слот с проивзольным содержимым, которое будет добавлено справа от вкладок -->\n\t\t\t<slot name=\"header\"></slot>\n\t\t</div>\n\n\t\t<div class=\"top-tabs_contents\">\n\t\t\t<!-- @slot Контент вкладок, ожидает передачу компонентов TabContent -->\n\t\t\t<slot name=\"contents\"></slot>\n\t\t</div>\n\t</div>\n</template>\n\n<style>\n.top-tabs {\n\tbackground: var(--color-layout-front-1);\n\tborder-radius: 8px;\n\tborder: 1px solid var(--color-line-2-opacity);\n\tpadding: 0;\n\tdisplay: flex;\n\tflex-wrap: wrap;\n\talign-items: stretch;\n}\n\n.top-tabs_header {\n\tpadding: 6px;\n\tmargin-left: auto;\n\tdisplay: flex;\n\talign-items: center;\n\tgap: 8px;\n\tflex-wrap: wrap;\n}\n\n/* Содержимое вкладок */\n.top-tabs_contents {\n\tborder-top: 1px solid var(--color-line-2-opacity);\n\twidth: 100%;\n\tmargin-top: -1px;\n}\n\n/* Состояние открытости вкладок */\n.top-tabs_tabInput:checked:nth-child(1) ~ .top-tabs_contents > .top-tabs_content:nth-child(1),\n.top-tabs_tabInput:checked:nth-child(3) ~ .top-tabs_contents > .top-tabs_content:nth-child(2),\n.top-tabs_tabInput:checked:nth-child(5) ~ .top-tabs_contents > .top-tabs_content:nth-child(3),\n.top-tabs_tabInput:checked:nth-child(7) ~ .top-tabs_contents > .top-tabs_content:nth-child(4),\n.top-tabs_tabInput:checked:nth-child(9) ~ .top-tabs_contents > .top-tabs_content:nth-child(5),\n.top-tabs_tabInput:checked:nth-child(11) ~ .top-tabs_contents > .top-tabs_content:nth-child(6) {\n\tdisplay: block;\n}\n</style>\n","<script setup lang=\"ts\">\nimport type { PropsTab } from './types';\n\ndefineProps<PropsTab>();\n</script>\n\n<template>\n\t<input\n\t\ttype=\"radio\"\n\t\tclass=\"top-tabs_tabInput top-unvisible\"\n\t\t:id=\"tabsId + name\"\n\t\t:name=\"tabsId\"\n\t\t:value=\"name\"\n\t\t:checked=\"active\"\n\t\t:disabled=\"disabled\"\n\t/>\n\n\t<label\n\t\t:class=\"{\n\t\t\t'top-tabs_tabLabel': true,\n\t\t\t'top-forms-focusable': true,\n\t\t\t'top-disabled': disabled,\n\t\t}\"\n\t\t:for=\"tabsId + name\"\n\t>\n\t\t<slot></slot>\n\t</label>\n</template>\n\n<style>\n.top-tabs_tabLabel {\n\tcolor: var(--color-text-1);\n\tcursor: pointer;\n\tborder-bottom: 2px solid transparent;\n\tpadding: 14px 20px;\n\tposition: relative;\n\tdisplay: flex;\n\talign-items: center;\n}\n\n.top-tabs_tabLabel:hover {\n\tborder-color: var(--color-line-2);\n}\n\n.top-tabs_tabInput:checked + .top-tabs_tabLabel {\n\tborder-color: var(--color-line-primary-1);\n\tcolor: var(--color-text-primary);\n}\n</style>\n","<script setup lang=\"ts\">\nimport type { PropsTab } from './types';\n\ndefineProps<PropsTab>();\n</script>\n\n<template>\n\t<input\n\t\ttype=\"radio\"\n\t\tclass=\"top-tabs_tabInput top-unvisible\"\n\t\t:id=\"tabsId + name\"\n\t\t:name=\"tabsId\"\n\t\t:value=\"name\"\n\t\t:checked=\"active\"\n\t\t:disabled=\"disabled\"\n\t/>\n\n\t<label\n\t\t:class=\"{\n\t\t\t'top-tabs_tabLabel': true,\n\t\t\t'top-forms-focusable': true,\n\t\t\t'top-disabled': disabled,\n\t\t}\"\n\t\t:for=\"tabsId + name\"\n\t>\n\t\t<slot></slot>\n\t</label>\n</template>\n\n<style>\n.top-tabs_tabLabel {\n\tcolor: var(--color-text-1);\n\tcursor: pointer;\n\tborder-bottom: 2px solid transparent;\n\tpadding: 14px 20px;\n\tposition: relative;\n\tdisplay: flex;\n\talign-items: center;\n}\n\n.top-tabs_tabLabel:hover {\n\tborder-color: var(--color-line-2);\n}\n\n.top-tabs_tabInput:checked + .top-tabs_tabLabel {\n\tborder-color: var(--color-line-primary-1);\n\tcolor: var(--color-text-primary);\n}\n</style>\n","<script setup lang=\"ts\">\nimport type { PropsContent } from './types';\n\ndefineProps<PropsContent>();\n</script>\n\n<template>\n\t<div\n\t\t:class=\"{\n\t\t\t'top-tabs_content': true,\n\t\t}\"\n\t\t:data-tabs-name=\"name\"\n\t>\n\t\t<slot></slot>\n\t</div>\n</template>\n\n<style>\n.top-tabs_content {\n\tpadding: 14px;\n\toverflow: auto;\n\tdisplay: none;\n}\n</style>\n","<script setup lang=\"ts\">\nimport type { PropsContent } from './types';\n\ndefineProps<PropsContent>();\n</script>\n\n<template>\n\t<div\n\t\t:class=\"{\n\t\t\t'top-tabs_content': true,\n\t\t}\"\n\t\t:data-tabs-name=\"name\"\n\t>\n\t\t<slot></slot>\n\t</div>\n</template>\n\n<style>\n.top-tabs_content {\n\tpadding: 14px;\n\toverflow: auto;\n\tdisplay: none;\n}\n</style>\n"],"mappings":";;;;;;;;;yBAOC,EAiBM,OAjBN,GAiBM;GAXL,EAA4B,EAAA,QAAA,SAAA;GAEjBA,EAAAA,OAAO,UAAA,EAAA,GAAlB,EAGM,OAHN,GAGM,CADL,EAA2B,EAAA,QAAA,QAAA,CAAA,CAAA,KAAA,EAAA,IAAA,EAAA;GAG5B,EAGM,OAHN,GAGM,CADL,EAA6B,EAAA,QAAA,UAAA,CAAA,CAAA;;;;;;;;;;;;;;;;;;;qCEf/B,EAQE,SAAA;GAPD,MAAK;GACL,OAAM;GACL,IAAI,EAAA,SAAS,EAAA;GACb,MAAM,EAAA;GACN,OAAO,EAAA;GACP,SAAS,EAAA;GACT,UAAU,EAAA;kBAGZ,EASQ,SAAA;GARN,OAAK,EAAA;;;oBAAqF,EAAA;;GAK1F,KAAK,EAAA,SAAS,EAAA;MAEf,EAAa,EAAA,QAAA,SAAA,CAAA,GAAA,IAAA,CAAA,CAAA,GAAA,EAAA;;;;;;yBElBd,EAOM,OAAA;GANJ,OAAK,EAAE,EAAA,oBAAA,GAAA,CAEP;GACA,kBAAgB,EAAA;MAEjB,EAAa,EAAA,QAAA,SAAA,CAAA,GAAA,GAAA,CAAA"}
@@ -1,2 +1,2 @@
1
- define([`require`,`exports`,`../.chunks/forms-CdCS6WAQ.amd`,`../utils/system.amd`,`../utils/route.amd`,`../.chunks/store-DuQpSSLL.amd`,`../.chunks/popup-DHCqvZzI.amd`,`vue`,`../require/css.amd!../assets/tabsView.css`],function(e,t,n,r,i,a,o,s){"use strict";if(c===void 0)var c=window.Vue;Object.defineProperty(t,`__esModule`,{value:!0}),t.TopTabsViewMenuTitle=t.TopTabsViewMenuItem=t.TopTabsView=void 0;var l=(e,t)=>`top:${String(e)}:${t}`,u={loadLocalStorge:(e,t)=>{if(!t.$id)return;let n=l(e,t.$id);try{let r=JSON.parse(localStorage.getItem(n));typeof r==typeof t[e]&&(t[e]=r)}catch{console.warn(Error(`В localStorage[${n}] не корректный json`))}},addSaverLocalStorge:(e,t)=>{if(!t.$id)return;let n=l(e,t.$id);(0,s.watch)(()=>t[e],()=>{localStorage.setItem(n,JSON.stringify(t[e]))},{immediate:!0})}},d=new Set;addEventListener(`popstate`,e=>{d.forEach(t=>t(e))});var f=Symbol(),p=(e,t)=>{let r=(0,a.t)(f,()=>({showMenuInPopup:(0,s.computed)(()=>e.showMenuInPopup??n.O.state.isMobile),pageMod:(0,s.computed)(()=>e.pageMod),isShort:(0,s.ref)(!1),activeItemName:t,component:(0,s.ref)(void 0),scrollable:(0,s.ref)(!0)}),e.idState);if(e.isShortable){let e=`isShort`;u.loadLocalStorge(e,r),u.addSaverLocalStorge(e,r)}return r.$id&&d.add(e=>{t.value=(0,i.getHash)(r.$id)}),r},m=()=>(0,a.r)(f),h={key:1,class:`top-ellipsis`},g=(0,s.defineComponent)({__name:`menuItem`,props:{name:{},href:{},icon:{},disabled:{type:Boolean},component:{default:void 0},scrollable:{type:Boolean,default:!0}},setup(e){let t=e,n=m(),r=(0,s.computed)(()=>t.name&&n.$id?(0,i.genHash)(n.$id,t.name):t.href),a=(0,s.computed)(()=>n.showMenuInPopup?o.o:r?`a`:`button`),c=e=>{!t.href&&r.value&&e.preventDefault(),t.name&&(n.activeItemName=t.name)};return(t,i)=>((0,s.openBlock)(),(0,s.createBlock)((0,s.resolveDynamicComponent)(a.value),{target:`_self`,class:(0,s.normalizeClass)({"top-tabsView_menuItem":!(0,s.unref)(n).showMenuInPopup,"top-active":e.name&&(0,s.unref)(n).activeItemName===e.name,"top-disabled":e.disabled,"top-spa-disabled":!0}),href:r.value,"data-top-icon":e.icon||void 0,disabled:e.disabled||void 0,onClick:c},{default:(0,s.withCtx)(()=>[(0,s.unref)(n).showMenuInPopup?(0,s.renderSlot)(t.$slots,`default`,{key:0}):t.$slots.default&&!(0,s.unref)(n).isShort?((0,s.openBlock)(),(0,s.createElementBlock)(`span`,h,[(0,s.renderSlot)(t.$slots,`default`)])):(0,s.createCommentVNode)(``,!0)]),_:3},8,[`class`,`href`,`data-top-icon`,`disabled`]))}}),_=e=>e?.name===`AsyncComponentWrapper`&&!e?.__asyncResolved,v=async(e,t)=>{e?.name===`AsyncComponentWrapper`&&(e?.__asyncResolved||(e.__asyncLoader(),await(0,r.sleepWhile)(()=>t()&&_(e),200)))},y={class:`top-tabsView_menuOpener`},b=[`data-top-icon`],x={class:`top-ellipsis`},S={class:`top-tabsView_menuList`},C={key:0,class:`top-tabsView_menuFooter`},w=(0,s.defineComponent)({__name:`menu`,props:(0,s.mergeModels)({isShortable:{type:Boolean},isLoading:{type:Boolean}},{isLoading:{},isLoadingModifiers:{}}),emits:[`update:isLoading`],setup(e){let t=(0,s.useModel)(e,`isLoading`),n=m(),r=(0,s.useSlots)(),a=new Map,c=()=>{if(!r.default)return;let e=r.default({}).find(e=>e.key===`_menu`);e&&l(e.children)},l=e=>{e.forEach(e=>{if(e.type.__name&&e.type.__name!==g.__name)return;if(!e.type.__name&&typeof e.children==`object`){l(e.children);return}if(!e.props?.name||e.props?.disabled)return;let t={title:(e.children.default?.()[0].children).trim(),icon:e.props.icon,component:e.props.component?(0,s.markRaw)(e.props.component):g.props.component.default,scrollable:e.props.scrollable??g.props.scrollable.default};a.set(e.props.name,t)})},u=(0,s.ref)(null),d=0;return(0,s.watch)(()=>n.activeItemName,async()=>{let e=++d;if(a.size===0&&c(),a.size===0){n.activeItemName=``;return}if(u.value=a.get(n.activeItemName)??null,!u.value&&n.$id){let e=(0,i.getHash)(n.$id);if(u.value=a.get(e)??null,u.value){n.activeItemName=e;return}}if(!u.value){n.activeItemName=a.keys().next().value;return}if(u.value.component===n.component){t.value=!1;return}n.$id&&(0,i.setHash)(n.$id,n.activeItemName,!1),t.value=!0,await v(u.value.component,()=>e===d),e===d&&(n.scrollable=u.value.scrollable,n.component=u.value.component,u.value&&!n.component&&console.warn(`Компонент вкладки ${n.activeItemName} не найден. Добавьте props.component для пункта меню ${n.activeItemName}.`))},{immediate:!0}),(t,r)=>((0,s.openBlock)(),(0,s.createElementBlock)(`div`,{class:(0,s.normalizeClass)({"top-tabsView_menu":!0,"top-tabsView_menu-inPopup_0":!(0,s.unref)(n).showMenuInPopup,"top-tabsView_menu-inPopup_1":(0,s.unref)(n).showMenuInPopup,"top-tabsView_menu-short":(0,s.unref)(n).isShort&&!(0,s.unref)(n).showMenuInPopup})},[(0,s.unref)(n).showMenuInPopup?((0,s.openBlock)(),(0,s.createBlock)((0,s.unref)(o.s),{key:0},{opener:(0,s.withCtx)(()=>[(0,s.createElementVNode)(`div`,y,[u.value?((0,s.openBlock)(),(0,s.createElementBlock)(`div`,{key:0,class:`top-tabsView_menuOpenerActiveItem`,"data-top-icon":u.value.icon},[(0,s.createElementVNode)(`span`,x,(0,s.toDisplayString)(u.value.title),1)],8,b)):(0,s.createCommentVNode)(``,!0),r[1]||=(0,s.createElementVNode)(`div`,{class:`top-tabsView_menuOpenerIcon`,"data-top-icon":``},null,-1)])]),contentList:(0,s.withCtx)(()=>[(0,s.renderSlot)(t.$slots,`default`)]),_:3})):((0,s.openBlock)(),(0,s.createElementBlock)(s.Fragment,{key:1},[(0,s.createElementVNode)(`div`,S,[(0,s.renderSlot)(t.$slots,`default`)]),e.isShortable?((0,s.openBlock)(),(0,s.createElementBlock)(`div`,C,[e.isShortable?((0,s.openBlock)(),(0,s.createBlock)(g,{key:0,icon:(0,s.unref)(n).isShort?``:``,onClick:r[0]||=e=>(0,s.unref)(n).isShort=!(0,s.unref)(n).isShort},{default:(0,s.withCtx)(()=>[(0,s.createTextVNode)((0,s.toDisplayString)((0,s.unref)(n).isShort?``:`Свернуть`),1)]),_:1},8,[`icon`])):(0,s.createCommentVNode)(``,!0)])):(0,s.createCommentVNode)(``,!0)],64))],2))}}),T=(0,s.defineComponent)({__name:`tabsView`,props:(0,s.mergeModels)({modelValue:{},pageMod:{type:Boolean},showMenuInPopup:{type:Boolean,default:void 0},isShortable:{type:Boolean,default:!1},idState:{}},{modelValue:{},modelModifiers:{}}),emits:[`update:modelValue`],setup(e){let t=e,r=p(t,(0,s.useModel)(e,`modelValue`)),a=Math.random();t.pageMod&&n.O.state.documentClassModificators.set(a,`top-hasTabsViewPageMod`),(0,s.onUnmounted)(()=>{t.pageMod&&n.O.state.documentClassModificators.delete(a),r.$id&&(0,i.delHash)(r.$id,r.activeItemName,!0)});let o=(0,s.ref)(),c=(0,s.ref)(!1);return(0,s.watch)([o,()=>r.component],()=>{c.value=_(r.component)},{immediate:!0}),(i,a)=>((0,s.openBlock)(),(0,s.createElementBlock)(`div`,{class:(0,s.normalizeClass)({"top-tabsView":!0,"top-tabsView-pageMod":t.pageMod,"top-tabsView-inPopup":(0,s.unref)(r).showMenuInPopup})},[(0,s.createVNode)(w,{isShortable:e.isShortable,isLoading:c.value,"onUpdate:isLoading":a[0]||=e=>c.value=e},{default:(0,s.withCtx)(()=>[(0,s.renderSlot)(i.$slots,`menu`)]),_:3},8,[`isShortable`,`isLoading`]),(0,s.createElementVNode)(`div`,{class:(0,s.normalizeClass)({"top-tabsView_contents":!0,"top-tabsView_contents-isLoading":c.value,"top-tabsView_contents-noScrollable":!(0,s.unref)(r).scrollable})},[c.value?((0,s.openBlock)(),(0,s.createBlock)(n.l,{key:0})):(0,s.createCommentVNode)(``,!0),((0,s.openBlock)(),(0,s.createBlock)(s.KeepAlive,null,[((0,s.openBlock)(),(0,s.createBlock)((0,s.resolveDynamicComponent)((0,s.unref)(r).component),{ref_key:`componentRef`,ref:o},null,512))],1024))],2)],2))}}),E={},D={class:`top-tabsView_menuDelimeter`};t.TopTabsViewMenuItem=g,t.TopTabsView=T;function O(e,t){return(0,s.openBlock)(),(0,s.createElementBlock)(`div`,D)}var k=(0,n.u)(E,[[`render`,O]]);t.TopTabsViewMenuTitle=(0,s.defineComponent)({__name:`menuTitle`,props:{isSubtitle:{type:Boolean}},setup(e){let t=m();return(n,r)=>(0,s.unref)(t).showMenuInPopup?((0,s.openBlock)(),(0,s.createBlock)((0,s.unref)(o.o),{key:0,type:`title`},{default:(0,s.withCtx)(()=>[(0,s.renderSlot)(n.$slots,`default`)]),_:3})):(0,s.unref)(t).isShort?((0,s.openBlock)(),(0,s.createBlock)(k,{key:1})):((0,s.openBlock)(),(0,s.createElementBlock)(`div`,{key:2,class:(0,s.normalizeClass)({"top-tabsView_menuTitle":!0,"top-tabsView_menuTitle-subtitle":e.isSubtitle})},[(0,s.renderSlot)(n.$slots,`default`)],2))}})});
1
+ define([`require`,`exports`,`../.chunks/forms-DKVIpGnH.amd`,`../utils/system.amd`,`../utils/route.amd`,`../.chunks/store-DjQAOnrn.amd`,`../.chunks/popup-CtiL5V44.amd`,`vue`,`../require/css.amd!../assets/tabsView.css`],function(e,t,n,r,i,a,o,s){"use strict";if(c===void 0)var c=window.Vue;Object.defineProperty(t,"__esModule",{value:!0}),t.TopTabsViewMenuTitle=t.TopTabsViewMenuItem=t.TopTabsView=void 0;var l=(e,t)=>`top:${String(e)}:${t}`,u={loadLocalStorge:(e,t)=>{if(!t.$id)return;let n=l(e,t.$id);try{let r=JSON.parse(localStorage.getItem(n));typeof r==typeof t[e]&&(t[e]=r)}catch{console.warn(Error(`В localStorage[${n}] не корректный json`))}},addSaverLocalStorge:(e,t)=>{if(!t.$id)return;let n=l(e,t.$id);(0,s.watch)(()=>t[e],()=>{localStorage.setItem(n,JSON.stringify(t[e]))},{immediate:!0})}},d=new Set;addEventListener(`popstate`,e=>{d.forEach(t=>t(e))});var f=Symbol(),p=(e,t)=>{let r=(0,a.t)(f,()=>({showMenuInPopup:(0,s.computed)(()=>e.showMenuInPopup??n.O.state.isMobile),pageMod:(0,s.computed)(()=>e.pageMod),isShort:(0,s.ref)(!1),activeItemName:t,component:(0,s.ref)(void 0),scrollable:(0,s.ref)(!0)}),e.idState);if(e.isShortable){let e=`isShort`;u.loadLocalStorge(e,r),u.addSaverLocalStorge(e,r)}return r.$id&&d.add(e=>{t.value=(0,i.getHash)(r.$id)}),r},m=()=>(0,a.r)(f),h={key:1,class:`top-ellipsis`},g=(0,s.defineComponent)({__name:`menuItem`,props:{name:{},href:{},icon:{},disabled:{type:Boolean},component:{default:void 0},scrollable:{type:Boolean,default:!0}},setup(e){let t=e,n=m(),r=(0,s.computed)(()=>t.name&&n.$id?(0,i.genHash)(n.$id,t.name):t.href),a=(0,s.computed)(()=>n.showMenuInPopup?o.o:r?`a`:`button`),c=e=>{!t.href&&r.value&&e.preventDefault(),t.name&&(n.activeItemName=t.name)};return(t,i)=>((0,s.openBlock)(),(0,s.createBlock)((0,s.resolveDynamicComponent)(a.value),{target:`_self`,class:(0,s.normalizeClass)({"top-tabsView_menuItem":!(0,s.unref)(n).showMenuInPopup,"top-active":e.name&&(0,s.unref)(n).activeItemName===e.name,"top-disabled":e.disabled,"top-spa-disabled":!0}),href:r.value,"data-top-icon":e.icon||void 0,disabled:e.disabled||void 0,onClick:c},{default:(0,s.withCtx)(()=>[(0,s.unref)(n).showMenuInPopup?(0,s.renderSlot)(t.$slots,`default`,{key:0}):t.$slots.default&&!(0,s.unref)(n).isShort?((0,s.openBlock)(),(0,s.createElementBlock)(`span`,h,[(0,s.renderSlot)(t.$slots,`default`)])):(0,s.createCommentVNode)(``,!0)]),_:3},8,[`class`,`href`,`data-top-icon`,`disabled`]))}}),_=e=>e?.name===`AsyncComponentWrapper`&&!e?.__asyncResolved,v=async(e,t)=>{e?.name===`AsyncComponentWrapper`&&(e?.__asyncResolved||(e.__asyncLoader(),await(0,r.sleepWhile)(()=>t()&&_(e),200)))},y={class:`top-tabsView_menuOpener`},b=[`data-top-icon`],x={class:`top-ellipsis`},S={class:`top-tabsView_menuList`},C={key:0,class:`top-tabsView_menuFooter`},w=(0,s.defineComponent)({__name:`menu`,props:(0,s.mergeModels)({isShortable:{type:Boolean},isLoading:{type:Boolean}},{isLoading:{},isLoadingModifiers:{}}),emits:[`update:isLoading`],setup(e){let t=(0,s.useModel)(e,`isLoading`),n=m(),r=(0,s.useSlots)(),a=new Map,c=()=>{if(!r.default)return;let e=r.default({}).find(e=>e.key===`_menu`);e&&l(e.children)},l=e=>{e.forEach(e=>{if(e.type.__name&&e.type.__name!==g.__name)return;if(!e.type.__name&&typeof e.children==`object`){l(e.children);return}if(!e.props?.name||e.props?.disabled)return;let t={title:(e.children.default?.()[0].children).trim(),icon:e.props.icon,component:e.props.component?(0,s.markRaw)(e.props.component):g.props.component.default,scrollable:e.props.scrollable??g.props.scrollable.default};a.set(e.props.name,t)})},u=(0,s.ref)(null),d=0;return(0,s.watch)(()=>n.activeItemName,async()=>{let e=++d;if(a.size===0&&c(),a.size===0){n.activeItemName=``;return}if(u.value=a.get(n.activeItemName)??null,!u.value&&n.$id){let e=(0,i.getHash)(n.$id);if(u.value=a.get(e)??null,u.value){n.activeItemName=e;return}}if(!u.value){n.activeItemName=a.keys().next().value;return}if(u.value.component===n.component){t.value=!1;return}n.$id&&(0,i.setHash)(n.$id,n.activeItemName,!1),t.value=!0,await v(u.value.component,()=>e===d),e===d&&(n.scrollable=u.value.scrollable,n.component=u.value.component,u.value&&!n.component&&console.warn(`Компонент вкладки ${n.activeItemName} не найден. Добавьте props.component для пункта меню ${n.activeItemName}.`))},{immediate:!0}),(t,r)=>((0,s.openBlock)(),(0,s.createElementBlock)(`div`,{class:(0,s.normalizeClass)({"top-tabsView_menu":!0,"top-tabsView_menu-inPopup_0":!(0,s.unref)(n).showMenuInPopup,"top-tabsView_menu-inPopup_1":(0,s.unref)(n).showMenuInPopup,"top-tabsView_menu-short":(0,s.unref)(n).isShort&&!(0,s.unref)(n).showMenuInPopup})},[(0,s.unref)(n).showMenuInPopup?((0,s.openBlock)(),(0,s.createBlock)((0,s.unref)(o.s),{key:0},{opener:(0,s.withCtx)(()=>[(0,s.createElementVNode)(`div`,y,[u.value?((0,s.openBlock)(),(0,s.createElementBlock)(`div`,{key:0,class:`top-tabsView_menuOpenerActiveItem`,"data-top-icon":u.value.icon},[(0,s.createElementVNode)(`span`,x,(0,s.toDisplayString)(u.value.title),1)],8,b)):(0,s.createCommentVNode)(``,!0),r[1]||=(0,s.createElementVNode)(`div`,{class:`top-tabsView_menuOpenerIcon`,"data-top-icon":``},null,-1)])]),contentList:(0,s.withCtx)(()=>[(0,s.renderSlot)(t.$slots,`default`)]),_:3})):((0,s.openBlock)(),(0,s.createElementBlock)(s.Fragment,{key:1},[(0,s.createElementVNode)(`div`,S,[(0,s.renderSlot)(t.$slots,`default`)]),e.isShortable?((0,s.openBlock)(),(0,s.createElementBlock)(`div`,C,[e.isShortable?((0,s.openBlock)(),(0,s.createBlock)(g,{key:0,icon:(0,s.unref)(n).isShort?``:``,onClick:r[0]||=e=>(0,s.unref)(n).isShort=!(0,s.unref)(n).isShort},{default:(0,s.withCtx)(()=>[(0,s.createTextVNode)((0,s.toDisplayString)((0,s.unref)(n).isShort?``:`Свернуть`),1)]),_:1},8,[`icon`])):(0,s.createCommentVNode)(``,!0)])):(0,s.createCommentVNode)(``,!0)],64))],2))}}),T=(0,s.defineComponent)({__name:`tabsView`,props:(0,s.mergeModels)({modelValue:{},pageMod:{type:Boolean},showMenuInPopup:{type:Boolean,default:void 0},isShortable:{type:Boolean,default:!1},idState:{}},{modelValue:{},modelModifiers:{}}),emits:[`update:modelValue`],setup(e){let t=e,r=p(t,(0,s.useModel)(e,`modelValue`)),a=Math.random();t.pageMod&&n.O.state.documentClassModificators.set(a,`top-hasTabsViewPageMod`),(0,s.onUnmounted)(()=>{t.pageMod&&n.O.state.documentClassModificators.delete(a),r.$id&&(0,i.delHash)(r.$id,r.activeItemName,!0)});let o=(0,s.ref)(),c=(0,s.ref)(!1);return(0,s.watch)([o,()=>r.component],()=>{c.value=_(r.component)},{immediate:!0}),(i,a)=>((0,s.openBlock)(),(0,s.createElementBlock)(`div`,{class:(0,s.normalizeClass)({"top-tabsView":!0,"top-tabsView-pageMod":t.pageMod,"top-tabsView-inPopup":(0,s.unref)(r).showMenuInPopup})},[(0,s.createVNode)(w,{isShortable:e.isShortable,isLoading:c.value,"onUpdate:isLoading":a[0]||=e=>c.value=e},{default:(0,s.withCtx)(()=>[(0,s.renderSlot)(i.$slots,`menu`)]),_:3},8,[`isShortable`,`isLoading`]),(0,s.createElementVNode)(`div`,{class:(0,s.normalizeClass)({"top-tabsView_contents":!0,"top-tabsView_contents-isLoading":c.value,"top-tabsView_contents-noScrollable":!(0,s.unref)(r).scrollable})},[c.value?((0,s.openBlock)(),(0,s.createBlock)(n.l,{key:0})):(0,s.createCommentVNode)(``,!0),((0,s.openBlock)(),(0,s.createBlock)(s.KeepAlive,null,[((0,s.openBlock)(),(0,s.createBlock)((0,s.resolveDynamicComponent)((0,s.unref)(r).component),{ref_key:`componentRef`,ref:o},null,512))],1024))],2)],2))}}),E={},D={class:`top-tabsView_menuDelimeter`};t.TopTabsViewMenuItem=g,t.TopTabsView=T;function O(e,t){return(0,s.openBlock)(),(0,s.createElementBlock)(`div`,D)}var k=(0,n.u)(E,[[`render`,O]]);t.TopTabsViewMenuTitle=(0,s.defineComponent)({__name:`menuTitle`,props:{isSubtitle:{type:Boolean}},setup(e){let t=m();return(n,r)=>(0,s.unref)(t).showMenuInPopup?((0,s.openBlock)(),(0,s.createBlock)((0,s.unref)(o.o),{key:0,type:`title`},{default:(0,s.withCtx)(()=>[(0,s.renderSlot)(n.$slots,`default`)]),_:3})):(0,s.unref)(t).isShort?((0,s.openBlock)(),(0,s.createBlock)(k,{key:1})):((0,s.openBlock)(),(0,s.createElementBlock)(`div`,{key:2,class:(0,s.normalizeClass)({"top-tabsView_menuTitle":!0,"top-tabsView_menuTitle-subtitle":e.isSubtitle})},[(0,s.renderSlot)(n.$slots,`default`)],2))}})});
2
2
  //# sourceMappingURL=tabsView.amd.js.map