@topvisor/ui 1.0.18 → 1.0.20-focus-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 (232) hide show
  1. package/.chunks/{datepicker-EJRX31J1.es.js → datepicker-BbASdlXo.es.js} +2 -2
  2. package/.chunks/datepicker-BbASdlXo.es.js.map +1 -0
  3. package/.chunks/{datepicker-DKvr3NYw.amd.js → datepicker-CSpzAz1a.amd.js} +2 -2
  4. package/.chunks/datepicker-CSpzAz1a.amd.js.map +1 -0
  5. package/.chunks/forms-BciWy0wX.es.js +1992 -0
  6. package/.chunks/forms-BciWy0wX.es.js.map +1 -0
  7. package/.chunks/forms-Dh0QU6P9.amd.js +3 -0
  8. package/.chunks/forms-Dh0QU6P9.amd.js.map +1 -0
  9. package/.chunks/{listItem.vue_vue_type_script_setup_true_lang-3UaZvDrd.es.js → listItem.vue_vue_type_script_setup_true_lang-CZqS-tRD.es.js} +5 -5
  10. package/.chunks/listItem.vue_vue_type_script_setup_true_lang-CZqS-tRD.es.js.map +1 -0
  11. package/.chunks/{listItem.vue_vue_type_script_setup_true_lang-CnEbgJbu.amd.js → listItem.vue_vue_type_script_setup_true_lang-Del8bjSk.amd.js} +2 -2
  12. package/.chunks/listItem.vue_vue_type_script_setup_true_lang-Del8bjSk.amd.js.map +1 -0
  13. package/.chunks/{menu.vue_vue_type_style_index_0_lang-DcFQyQgs.amd.js → menu.vue_vue_type_style_index_0_lang-B8-UPDGJ.amd.js} +2 -2
  14. package/.chunks/menu.vue_vue_type_style_index_0_lang-B8-UPDGJ.amd.js.map +1 -0
  15. package/.chunks/{menu.vue_vue_type_style_index_0_lang-C4q81rOQ.es.js → menu.vue_vue_type_style_index_0_lang-yNOWbXpd.es.js} +6 -6
  16. package/.chunks/menu.vue_vue_type_style_index_0_lang-yNOWbXpd.es.js.map +1 -0
  17. package/.chunks/{notice-CYeec0mu.amd.js → notice-DEcP2RCJ.amd.js} +2 -2
  18. package/.chunks/notice-DEcP2RCJ.amd.js.map +1 -0
  19. package/.chunks/{notice-CtXmQ8xM.es.js → notice-DQSQs6yC.es.js} +3 -3
  20. package/.chunks/notice-DQSQs6yC.es.js.map +1 -0
  21. package/.chunks/{popup-38TbXxcV.amd.js → popup-BdJJx21M.amd.js} +2 -2
  22. package/.chunks/popup-BdJJx21M.amd.js.map +1 -0
  23. package/.chunks/{popup-BzCXSDdA.es.js → popup-D-6PIelY.es.js} +7 -7
  24. package/.chunks/popup-D-6PIelY.es.js.map +1 -0
  25. package/.chunks/punycode.es6-C2yitnNb.amd.js.map +1 -1
  26. package/.chunks/punycode.es6-CNI-zL6U.es.js.map +1 -1
  27. package/.chunks/store-CX_6ZXhO.es.js.map +1 -1
  28. package/.chunks/store-esTid5oI.amd.js.map +1 -1
  29. package/.chunks/{utils-DXI6F7F9.es.js → utils-9b7woobj.es.js} +3 -3
  30. package/.chunks/utils-9b7woobj.es.js.map +1 -0
  31. package/.chunks/utils-BvHwHAyQ.es.js +225 -0
  32. package/.chunks/utils-BvHwHAyQ.es.js.map +1 -0
  33. package/.chunks/{utils-CI9JyH64.amd.js → utils-CPty_L5T.amd.js} +2 -2
  34. package/.chunks/utils-CPty_L5T.amd.js.map +1 -0
  35. package/.chunks/utils-DAfofcEq.amd.js +2 -0
  36. package/.chunks/utils-DAfofcEq.amd.js.map +1 -0
  37. package/README.md +82 -82
  38. package/assets/charts.css +1 -1
  39. package/assets/core.css +1 -1
  40. package/assets/forms.css +1 -1
  41. package/assets/formsExt.css +1 -1
  42. package/assets/layout.css +1 -1
  43. package/assets/notice.css +1 -1
  44. package/charts/charts.amd.js +1 -1
  45. package/charts/charts.amd.js.map +1 -1
  46. package/charts/charts.js +8 -8
  47. package/charts/charts.js.map +1 -1
  48. package/components/charts/miniChart/miniChart.vue.d.ts +5 -5
  49. package/components/charts/miniCharts/miniCharts.vue.d.ts +9 -6
  50. package/components/core/notice/item/item.vue.d.ts +1 -1
  51. package/components/dialog/dialog/dialog.vue.d.ts +3 -2
  52. package/components/dialog/dialog/dialogs/dialogs.vue.d.ts +1 -1
  53. package/components/dialog/dialog/page/page.vue.d.ts +2 -1
  54. package/components/dialog/dialog/page/types.d.ts +7 -0
  55. package/components/forms/avatar/avatar.vue.d.ts +1 -1
  56. package/components/forms/button/button.vue.d.ts +2 -1
  57. package/components/forms/checkbox/checkbox.d.ts +5 -3
  58. package/components/forms/checkbox/checkbox.vue.d.ts +7 -6
  59. package/components/forms/controlLabel/controlLabel.vue.d.ts +3 -2
  60. package/components/forms/hint/hint.vue.d.ts +1 -1
  61. package/components/forms/input/input.vue.d.ts +2 -1
  62. package/components/forms/inputDate/inputDate.vue.d.ts +3 -1
  63. package/components/forms/inputRange/inputRange.vue.d.ts +3 -2
  64. package/components/forms/loadbar/loadbar.vue.d.ts +1 -1
  65. package/components/forms/radio/radio.d.ts +1 -1
  66. package/components/forms/radio/radio.vue.d.ts +5 -4
  67. package/components/forms/select/select.vue.d.ts +5 -5
  68. package/components/forms/switcher/switcher.vue.d.ts +3 -2
  69. package/components/formsExt/editArea/editArea.vue.d.ts +1 -1
  70. package/components/formsExt/editInput/editInput.vue.d.ts +1 -1
  71. package/components/formsExt/formsExt.d.ts +2 -0
  72. package/components/formsExt/info/info.vue.d.ts +20 -0
  73. package/components/formsExt/info/types.d.ts +21 -0
  74. package/components/formsExt/menu/menu.vue.d.ts +7 -5
  75. package/components/formsExt/radioGroup/radioGroup.vue.d.ts +7 -5
  76. package/components/formsExt/selector2/itemMulti.vue.d.ts +1 -1
  77. package/components/formsExt/selector2/selector2.vue.d.ts +98 -8
  78. package/components/layout/islandRows/islandRows.vue.d.ts +3 -2
  79. package/components/layout/islandRows/islandRowsRow/islandRowsRow.vue.d.ts +3 -2
  80. package/components/layout/islandRows/islandRowsSubTitle/islandRowsSubTitle.vue.d.ts +3 -2
  81. package/components/layout/rows/rows.vue.d.ts +3 -2
  82. package/components/popup/alert/alert.vue.d.ts +2 -1
  83. package/components/popup/confirm/confirm.vue.d.ts +2 -1
  84. package/components/popup/lib/popup.d.ts +2 -3
  85. package/components/popup/lib/worker.d.ts +7 -7
  86. package/components/popup/popup/listItem.vue.d.ts +2 -1
  87. package/components/popup/popup/opener.vue.d.ts +2 -1
  88. package/components/popup/popup/popup.vue.d.ts +2 -1
  89. package/components/popup/popup/widgetInput.vue.d.ts +4 -4
  90. package/components/popup/prompt/prompt.vue.d.ts +2 -1
  91. package/components/project/selectorCompetitors/selectorCompetitors.vue.d.ts +5 -5
  92. package/components/project/selectorRegion/selectorRegion.vue.d.ts +7 -7
  93. package/components/project/selectorRegion/utils/consts.d.ts +0 -2
  94. package/components/project/tagSelector/popupListItem/tagPopupListItem.vue.d.ts +5 -3
  95. package/components/project/tagSelector/popupOpener/popupOpener.vue.d.ts +6 -5
  96. package/components/project/tagSelector/tagIcon/tagIcon.vue.d.ts +1 -1
  97. package/components/project/tagSelector/tagSelector.vue.d.ts +6 -6
  98. package/components/tabs/tabs/content.vue.d.ts +3 -2
  99. package/components/tabs/tabs/tab.vue.d.ts +2 -1
  100. package/components/tabs/tabs/tabs.vue.d.ts +3 -2
  101. package/components/tabsView/tabsView/menu.vue.d.ts +9 -6
  102. package/components/tabsView/tabsView/menuDelimeter.vue.d.ts +1 -1
  103. package/components/tabsView/tabsView/menuItem.vue.d.ts +2 -1
  104. package/components/tabsView/tabsView/menuTitle.vue.d.ts +2 -1
  105. package/components/tabsView/tabsView/store.d.ts +5 -5
  106. package/components/tabsView/tabsView/tabsView.vue.d.ts +9 -6
  107. package/core/app.amd.js +1 -1
  108. package/core/app.amd.js.map +1 -1
  109. package/core/app.d.ts +2 -2
  110. package/core/app.js +149 -128
  111. package/core/app.js.map +1 -1
  112. package/core/core/core.d.ts +2 -0
  113. package/core/core/preloaders.d.ts +19 -0
  114. package/core/directives/focus.d.ts +3 -1
  115. package/core/directives/scrollIntoView.d.ts +3 -0
  116. package/core/directives/scrollShadow.d.ts +2 -2
  117. package/core/plugins/i18n.d.ts +13 -13
  118. package/core/utils/scroll.d.ts +18 -0
  119. package/core/utils/searchers.d.ts +0 -2
  120. package/dialog/dialog.amd.js +1 -1
  121. package/dialog/dialog.amd.js.map +1 -1
  122. package/dialog/dialog.js +60 -55
  123. package/dialog/dialog.js.map +1 -1
  124. package/forms/forms.amd.js +1 -1
  125. package/forms/forms.js +1 -1
  126. package/forms/helpers.amd.js.map +1 -1
  127. package/forms/helpers.js.map +1 -1
  128. package/formsExt/formsExt.amd.js +1 -1
  129. package/formsExt/formsExt.amd.js.map +1 -1
  130. package/formsExt/formsExt.js +344 -301
  131. package/formsExt/formsExt.js.map +1 -1
  132. package/icomoon/Read Me.txt +7 -7
  133. package/icomoon/Topvisor icons.json +6259 -6144
  134. package/icomoon/demo-files/demo.css +158 -158
  135. package/icomoon/demo-files/demo.js +30 -30
  136. package/icomoon/demo.html +3558 -3488
  137. package/icomoon/fonts/Topvisor-2.eot +0 -0
  138. package/icomoon/fonts/Topvisor-2.svg +276 -271
  139. package/icomoon/fonts/Topvisor-2.ttf +0 -0
  140. package/icomoon/fonts/Topvisor-2.woff +0 -0
  141. package/icomoon/selection.json +1 -1
  142. package/icomoon/style.css +780 -765
  143. package/jquery-ui.min.css +5 -5
  144. package/layout/layout.amd.js +1 -1
  145. package/layout/layout.amd.js.map +1 -1
  146. package/layout/layout.js +27 -26
  147. package/layout/layout.js.map +1 -1
  148. package/package.json +33 -33
  149. package/popup/popup.amd.js +1 -1
  150. package/popup/popup.amd.js.map +1 -1
  151. package/popup/popup.js +8 -8
  152. package/popup/popup.js.map +1 -1
  153. package/popup/worker.amd.js +1 -1
  154. package/popup/worker.amd.js.map +1 -1
  155. package/popup/worker.js +3 -3
  156. package/popup/worker.js.map +1 -1
  157. package/project/project.amd.js +1 -1
  158. package/project/project.amd.js.map +1 -1
  159. package/project/project.js +22 -24
  160. package/project/project.js.map +1 -1
  161. package/require/css.amd.js +12 -12
  162. package/tabs/tabs.amd.js.map +1 -1
  163. package/tabs/tabs.js +5 -5
  164. package/tabs/tabs.js.map +1 -1
  165. package/tabsView/tabsView.amd.js +1 -1
  166. package/tabsView/tabsView.amd.js.map +1 -1
  167. package/tabsView/tabsView.js +5 -5
  168. package/tabsView/tabsView.js.map +1 -1
  169. package/utils/check.amd.js.map +1 -1
  170. package/utils/check.js.map +1 -1
  171. package/utils/clipboard.amd.js +1 -1
  172. package/utils/clipboard.amd.js.map +1 -1
  173. package/utils/clipboard.js +1 -1
  174. package/utils/clipboard.js.map +1 -1
  175. package/utils/date.amd.js +1 -1
  176. package/utils/date.js +1 -1
  177. package/utils/device.amd.js +1 -1
  178. package/utils/device.js +1 -1
  179. package/utils/dom.amd.js.map +1 -1
  180. package/utils/dom.js.map +1 -1
  181. package/utils/image.amd.js.map +1 -1
  182. package/utils/image.js.map +1 -1
  183. package/utils/keyboard.amd.js.map +1 -1
  184. package/utils/keyboard.js.map +1 -1
  185. package/utils/lodash.amd.js +1 -1
  186. package/utils/lodash.js +5 -5
  187. package/utils/number.amd.js.map +1 -1
  188. package/utils/number.js.map +1 -1
  189. package/utils/price.amd.js +1 -1
  190. package/utils/price.amd.js.map +1 -1
  191. package/utils/price.js +3 -3
  192. package/utils/price.js.map +1 -1
  193. package/utils/route.amd.js.map +1 -1
  194. package/utils/route.js.map +1 -1
  195. package/utils/scroll.amd.js +1 -1
  196. package/utils/scroll.amd.js.map +1 -1
  197. package/utils/scroll.js +39 -7
  198. package/utils/scroll.js.map +1 -1
  199. package/utils/searchers.amd.js +1 -1
  200. package/utils/searchers.amd.js.map +1 -1
  201. package/utils/searchers.js +2 -2
  202. package/utils/searchers.js.map +1 -1
  203. package/utils/string.amd.js +1 -1
  204. package/utils/string.amd.js.map +1 -1
  205. package/utils/string.js +1 -1
  206. package/utils/string.js.map +1 -1
  207. package/utils/system.amd.js.map +1 -1
  208. package/utils/system.js.map +1 -1
  209. package/utils/url.amd.js.map +1 -1
  210. package/utils/url.js.map +1 -1
  211. package/web-types.json +130 -102
  212. package/.chunks/datepicker-DKvr3NYw.amd.js.map +0 -1
  213. package/.chunks/datepicker-EJRX31J1.es.js.map +0 -1
  214. package/.chunks/forms-CmlWMEyk.amd.js +0 -3
  215. package/.chunks/forms-CmlWMEyk.amd.js.map +0 -1
  216. package/.chunks/forms-DDIlFXbF.es.js +0 -1944
  217. package/.chunks/forms-DDIlFXbF.es.js.map +0 -1
  218. package/.chunks/listItem.vue_vue_type_script_setup_true_lang-3UaZvDrd.es.js.map +0 -1
  219. package/.chunks/listItem.vue_vue_type_script_setup_true_lang-CnEbgJbu.amd.js.map +0 -1
  220. package/.chunks/menu.vue_vue_type_style_index_0_lang-C4q81rOQ.es.js.map +0 -1
  221. package/.chunks/menu.vue_vue_type_style_index_0_lang-DcFQyQgs.amd.js.map +0 -1
  222. package/.chunks/notice-CYeec0mu.amd.js.map +0 -1
  223. package/.chunks/notice-CtXmQ8xM.es.js.map +0 -1
  224. package/.chunks/popup-38TbXxcV.amd.js.map +0 -1
  225. package/.chunks/popup-BzCXSDdA.es.js.map +0 -1
  226. package/.chunks/utils-CFCfvsI8.es.js +0 -223
  227. package/.chunks/utils-CFCfvsI8.es.js.map +0 -1
  228. package/.chunks/utils-CI9JyH64.amd.js.map +0 -1
  229. package/.chunks/utils-DXI6F7F9.es.js.map +0 -1
  230. package/.chunks/utils-lvXB5hbW.amd.js +0 -2
  231. package/.chunks/utils-lvXB5hbW.amd.js.map +0 -1
  232. package/components/formsExt/info/info.d.ts +0 -20
@@ -1 +1 @@
1
- {"version":3,"file":"charts.amd.js","sources":["../../src/components/charts/miniChart/miniChart.vue","../../src/components/charts/miniCharts/miniCharts.vue","../../src/components/charts/charts.ts"],"sourcesContent":["<script setup lang=\"ts\">\nimport type { Props } from './miniChart';\nimport { computed } from 'vue';\nimport { dateFormat } from '@/core/utils/date';\nimport { percentOfNumber } from '@/core/utils/number';\nimport { defaultNumberCols, minHeight } from './utils/consts';\n\nconst props = withDefaults(defineProps<Props>(), {\n\tcolor: 'blue',\n\tnumberCols: defaultNumberCols,\n});\nconst model = defineModel<Props['modelValue']>();\n\n/**\n * Расчет высоты колонки (в процентах)\n */\nconst genColHeight = (value: number): number => {\n\tlet maximumValue = maxValue.value;\n\n\t// для графиков средней и медианной делаем максимум 1\n\tif (props.isInvert) {\n\t\tvalue -= 1;\n\t\tmaximumValue -= 1;\n\t}\n\n\tlet height = maximumValue > 0 ? Math.round((value / maximumValue) * (100 - minHeight)) : 0;\n\tif (props.isInvert) return 100 - height;\n\n\treturn height + minHeight;\n};\n\nconst isActiveDate = (date: string) => props.activeDates.includes(date);\n\nconst maxValue = computed(() => Math.max(...props.values));\n\n/**\n * Из-за стиля .top-miniChart_chartGrid - direction: rtl\n */\nconst reversedDates = computed(() => props.dates.slice().reverse());\n\n/**\n * Кол-во пустых колонок\n */\nconst numOfEmptyCols = computed(() => {\n\tif (!props.dates.length) return 0;\n\n\treturn props.numberCols - props.dates.length;\n});\n\nconst resetModel = () => {\n\tmodel.value = null;\n};\n\nconst setModel = (e: Event, date: string, value: number | null) => {\n\tif (!(e.target instanceof HTMLElement)) return;\n\n\tmodel.value = {\n\t\telCol: e.target,\n\t\tdate: dateFormat(date),\n\t\tvalue: value === null ? '--' : value + (props.valueSuffix ?? ''),\n\t};\n};\n\n/**\n * Возвращает численный показатель динамики графика\n */\nconst localDynamic = computed(() => {\n\tlet dynamic = props.dynamic;\n\n\tif (typeof dynamic === 'undefined') {\n\t\tconst prevPeriodValue = props.values[props.keysForDyn.start];\n\t\tconst currentValue = props.values[props.keysForDyn.end];\n\t\tdynamic = currentValue - prevPeriodValue;\n\t}\n\n\tconst sign = dynamic < 0 ? -1 : 1;\n\n\treturn sign * (percentOfNumber(Math.abs(dynamic)) as number);\n});\n\nconst dynamicDirection = computed(() => {\n\tlet direction: 'up' | 'stay' | 'down' = 'stay';\n\n\tif (!props.isInvert) {\n\t\tif (localDynamic.value > 0) direction = 'up';\n\t\tif (localDynamic.value < 0) direction = 'down';\n\t} else {\n\t\tif (localDynamic.value > 0) direction = 'down';\n\t\tif (localDynamic.value < 0) direction = 'up';\n\t}\n\n\treturn direction;\n});\n\n</script>\n\n<template>\n\t<div\n\t\t:class=\"{\n\t\t\t['top-miniChart']: true,\n\t\t\t['top-miniChart_hideChartInMobile']: hideChartInMobile,\n\t\t\t[`top-color_${color}`]: true\n\t\t}\"\n\t>\n\t\t<div\n\t\t\tclass=\"top-miniChart_title top-ellipsis\"\n\t\t\t:data-top-icon=\"gIcon\"\n\t\t>\n\t\t\t{{ title }}\n\t\t</div>\n\n\t\t<div class=\"top-miniChart_chart\">\n\t\t\t<div\n\t\t\t\tclass=\"top-miniChart_chartGrid\"\n\t\t\t\t@mouseleave=\"resetModel()\"\n\t\t\t>\n\t\t\t\t<div\n\t\t\t\t\tv-for=\"(date, i) in reversedDates\"\n\t\t\t\t\t:class=\"{\n\t\t\t\t\t\t['top-miniChart_chartGridCol']: true,\n\t\t\t\t\t\t['top-active']: isActiveDate(date)\n\t\t\t\t\t}\"\n\t\t\t\t\t@mouseenter=\"setModel($event, date, values[values.length - i - 1])\"\n\t\t\t\t>\n\t\t\t\t\t<div :style=\"'height:' + genColHeight(values[values.length - i - 1]) + '%'\"/>\n\t\t\t\t</div>\n\t\t\t\t<div\n\t\t\t\t\tv-for=\"() in numOfEmptyCols\"\n\t\t\t\t\tclass=\"top-miniChart_chartGridCol top-miniChart_chartGridCol-none\"\n\t\t\t\t\t@mouseenter=\"resetModel()\"\n\t\t\t\t>\n\t\t\t\t\t<div></div>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\n\t\t<div class=\"top-miniChart_data\">\n\t\t\t<span :class=\"{\n\t\t\t\t['top-miniChart_dataDynamic']: true,\n\t\t\t\t[`top-miniChart_dataDynamic-direction_${dynamicDirection}`]: true,\n\t\t\t}\">\n\t\t\t\t{{ Math.abs(localDynamic) || '' }}\n\t\t\t</span>\n\t\t\t<span class=\"top-miniChart_dataValue\">\n\t\t\t\t{{ percentOfNumber(values[values.length - 1]) || 0 }}\n\t\t\t</span>\n\t\t</div>\n\n\t\t<div\n\t\t\tv-if=\"additionalHTML\"\n\t\t\tv-html=\"additionalHTML\"\n\t\t/>\n\t</div>\n\n</template>\n<style>\n@import \"./styles/miniChart.css\";\n</style>\n","<script setup lang=\"ts\">\nimport { ref, computed, watch, onMounted, onUnmounted } from 'vue';\nimport type { Style, Props } from './miniCharts';\n\nconst props = defineProps<Props>();\nconst model = defineModel<Props['modelValue']>();\n\nconst elRef = ref<HTMLElement | null>(null);\n\nlet pagesResizeObserver: ResizeObserver;\n\n/**\n * Количество страниц\n */\nconst countPages = ref(1);\n\n/**\n * Активная страница\n */\nconst activePage = ref(1);\n\n/**\n * Установка количества страниц в блоке\n */\nconst setCountPages = () => {\n\tcountPages.value = Math.round(elRef.value!.scrollHeight / elRef.value!.clientHeight);\n};\n\nwatch(countPages, () => {\n\tif (countPages.value < activePage.value) {\n\t\tactivePage.value = 1;\n\t}\n});\n\nwatch(\n\t() => props.countCharts,\n\t() => setCountPages(),\n\t{ flush: 'post' }\n);\n\n/**\n * Расчет положения для подсказки\n */\nconst tooltipStyle = computed(() => {\n\tif (!model.value) return {};\n\n\tconst box = model.value.elCol.getBoundingClientRect();\n\n\tconst style: Style = {\n\t\ttop: box.bottom + window.scrollY + 'px',\n\t};\n\n\tif (document.documentElement.clientWidth / 2 > box.right) {\n\t\tstyle.left = box.right + window.scrollX + 10 + 'px';\n\t} else {\n\t\tstyle.left = box.left + window.scrollX - 10 + 'px';\n\t\tstyle.transform = 'translate(-100%, 0)';\n\t}\n\n\treturn style;\n});\n\nonMounted(() => {\n\t/**\n\t * Функционал переключения экранов графиков\n\t */\n\tpagesResizeObserver = new ResizeObserver(() => setCountPages());\n\tpagesResizeObserver.observe(elRef.value!);\n\n\twatch(activePage, () => {\n\t\tconst elMiniChart = elRef.value!.children[0];\n\t\tconst pageHeight = elMiniChart.clientHeight + parseInt(window.getComputedStyle(elRef.value!).getPropertyValue('row-gap'));\n\t\tconst scrollTop = pageHeight * (activePage.value - 1);\n\n\t\telRef.value!.scrollTo({ top: scrollTop, behavior: 'smooth' });\n\t});\n});\n\nonUnmounted(() => {\n\tpagesResizeObserver.disconnect();\n});\n</script>\n\n<template>\n\t<div\n\t\tclass=\"top-miniCharts\"\n\t\t:class=\"{\n\t\t\t['top-miniCharts']: true,\n\t\t\t['scrollable']: countPages > 1,\n\t\t\t['top-miniCharts_hideChartInMobile']: hideChartInMobile,\n\t\t}\"\n\t\tref=\"elRef\"\n\t>\n\n\t\t<slot></slot>\n\n\t\t<div\n\t\t\tv-if=\"countPages > 1\"\n\t\t\tclass=\"top-miniCharts_pages\"\n\t\t>\n\t\t\t<span\n\t\t\t\tv-for=\"n in countPages\"\n\t\t\t\t:class=\"{['top-active']: n === activePage}\"\n\t\t\t\t@click=\"activePage = n\"\n\t\t\t></span>\n\t\t</div>\n\n\t\t<Teleport to=\"body\">\n\t\t\t<div\n\t\t\t\tv-if=\"model\"\n\t\t\t\tclass=\"top-miniCharts_tooltip\"\n\t\t\t\t:style=\"tooltipStyle\"\n\t\t\t>\n\t\t\t\t<span>{{ model.date }}</span>\n\t\t\t\t<span>{{ model.value }}</span>\n\t\t\t</div>\n\t\t</Teleport>\n\t</div>\n\n</template>\n\n<style>\n@import \"./styles/miniCharts.css\";\n</style>\n\n\n\n\n","import type { ComponentCustomProps } from 'vue';\n\nimport MiniChart from './miniChart/miniChart.vue';\nimport MiniCharts from './miniCharts/miniCharts.vue';\n\nexport const TopMiniChart = MiniChart as typeof MiniChart & ComponentCustomProps;\n\nexport const TopMiniCharts = MiniCharts as typeof MiniCharts & ComponentCustomProps;\n"],"names":["props","__props","genColHeight","value","maximumValue","maxValue","height","minHeight","isActiveDate","date","vue","reversedDates","numOfEmptyCols","model","e","forms","localDynamic","dynamic","prevPeriodValue","utils_number","dynamicDirection","direction","elRef","countPages","activePage","tooltipStyle","box","style","scrollTop","pagesResizeObserver","TopMiniChart","_sfc_main$1","TopMiniCharts","_sfc_main"],"mappings":"wtBAOA,MAAAA,EAAAC,+BASAC,EAAAC,GAAA,CACC,IAAAC,EAAAC,EAAA,MAGAL,EAAA,kFAQAM,EAAAC,CAAgB,EAGjBC,EAAAC,GAAAT,EAAA,YAAA,SAAAS,CAAA,EAEAJ,EAAAK,EAAA,SAAA,IAAA,KAAA,IAAA,GAAAV,EAAA,MAAA,CAAA,EAKAW,EAAAD,EAAA,SAAA,IAAAV,EAAA,MAAA,MAAA,EAAA,QAAA,CAAA,EAKAY,EAAAF,EAAA,SAAA,gDAGuC,SAItCG,EAAA,MAAA,IAAc,yDAMA,MAAAC,EAAA,OACJ,KAAAC,EAAA,WAAAN,CAAA,EACY,MAAAN,IAAA,KAAA,KAAAA,GAAAH,EAAA,aAAA,GACwC,EAC9D,EAMDgB,EAAAN,EAAA,SAAA,IAAA,CACC,IAAAO,EAAAjB,EAAA,QAEA,GAAA,OAAAiB,EAAA,IAAA,CACC,MAAAC,EAAAlB,EAAA,OAAAA,EAAA,WAAA,KAAA,EAEAiB,EADAjB,EAAA,OAAAA,EAAA,WAAA,GAAA,EACAkB,EAKD,iBAAAC,EAAA,gBAAA,KAAA,IAAAF,CAAA,CAAA,CAAgD,CAAA,EAGjDG,EAAAV,EAAA,SAAA,IAAA,CACC,IAAAW,EAAA,OAEA,OAAArB,EAAA,kGAQO,CAAA,0yDCvFR,MAAAA,EAAAC,+BAGAqB,EAAAZ,EAAA,IAAA,IAAA,QAOA,MAAAa,EAAAb,EAAA,IAAA,CAAA,EAKAc,EAAAd,EAAA,IAAA,CAAA,sEAMoF,EAGpFA,EAAA,MAAAa,EAAA,IAAA,mBAEEC,EAAA,MAAA,EACD,CAAA,EAGDd,EAAA,gCAEqB,CAAA,MAAA,MAAA,CACJ,EAMjB,MAAAe,EAAAf,EAAA,SAAA,IAAA,uGAMqC,EAGpC,OAAA,SAAA,gBAAA,YAAA,EAAAgB,EAAA,MACCC,EAAA,KAAAD,EAAA,MAAA,OAAA,QAAA,GAAA,MAEAC,EAAA,KAAAD,EAAA,KAAA,OAAA,QAAA,GAAA,KACAC,EAAA,UAAA,wBAGM,CAAA,2EAUPjB,EAAA,MAAAc,EAAA,IAAA,+HAKCF,EAAA,MAAA,SAAA,CAAA,IAAAM,EAAA,SAAA,QAAA,CAAA,CAA4D,CAAA,CAC5D,CAAA,qBAIDC,EAAA,WAAA,CAA+B,CAAA,04BC1EzBC,EAAAC,EAEAC,EAAAC"}
1
+ {"version":3,"file":"charts.amd.js","sources":["../../src/components/charts/miniChart/miniChart.vue","../../src/components/charts/miniCharts/miniCharts.vue","../../src/components/charts/charts.ts"],"sourcesContent":["<script setup lang=\"ts\">\r\nimport type { Props } from './miniChart';\r\nimport { computed } from 'vue';\r\nimport { dateFormat } from '@/core/utils/date';\r\nimport { percentOfNumber } from '@/core/utils/number';\r\nimport { defaultNumberCols, minHeight } from './utils/consts';\r\n\r\nconst props = withDefaults(defineProps<Props>(), {\r\n\tcolor: 'blue',\r\n\tnumberCols: defaultNumberCols,\r\n});\r\nconst model = defineModel<Props['modelValue']>();\r\n\r\n/**\r\n * Расчет высоты колонки (в процентах)\r\n */\r\nconst genColHeight = (value: number): number => {\r\n\tlet maximumValue = maxValue.value;\r\n\r\n\t// для графиков средней и медианной делаем максимум 1\r\n\tif (props.isInvert) {\r\n\t\tvalue -= 1;\r\n\t\tmaximumValue -= 1;\r\n\t}\r\n\r\n\tlet height = maximumValue > 0 ? Math.round((value / maximumValue) * (100 - minHeight)) : 0;\r\n\tif (props.isInvert) return 100 - height;\r\n\r\n\treturn height + minHeight;\r\n};\r\n\r\nconst isActiveDate = (date: string) => props.activeDates.includes(date);\r\n\r\nconst maxValue = computed(() => Math.max(...props.values));\r\n\r\n/**\r\n * Из-за стиля .top-miniChart_chartGrid - direction: rtl\r\n */\r\nconst reversedDates = computed(() => props.dates.slice().reverse());\r\n\r\n/**\r\n * Кол-во пустых колонок\r\n */\r\nconst numOfEmptyCols = computed(() => {\r\n\tif (!props.dates.length) return 0;\r\n\r\n\treturn props.numberCols - props.dates.length;\r\n});\r\n\r\nconst resetModel = () => {\r\n\tmodel.value = null;\r\n};\r\n\r\nconst setModel = (e: Event, date: string, value: number | null) => {\r\n\tif (!(e.target instanceof HTMLElement)) return;\r\n\r\n\tmodel.value = {\r\n\t\telCol: e.target,\r\n\t\tdate: dateFormat(date),\r\n\t\tvalue: value === null ? '--' : value + (props.valueSuffix ?? ''),\r\n\t};\r\n};\r\n\r\n/**\r\n * Возвращает численный показатель динамики графика\r\n */\r\nconst localDynamic = computed(() => {\r\n\tlet dynamic = props.dynamic;\r\n\r\n\tif (typeof dynamic === 'undefined') {\r\n\t\tconst prevPeriodValue = props.values[props.keysForDyn.start];\r\n\t\tconst currentValue = props.values[props.keysForDyn.end];\r\n\t\tdynamic = currentValue - prevPeriodValue;\r\n\t}\r\n\r\n\tconst sign = dynamic < 0 ? -1 : 1;\r\n\r\n\treturn sign * (percentOfNumber(Math.abs(dynamic)) as number);\r\n});\r\n\r\nconst dynamicDirection = computed(() => {\r\n\tlet direction: 'up' | 'stay' | 'down' = 'stay';\r\n\r\n\tif (!props.isInvert) {\r\n\t\tif (localDynamic.value > 0) direction = 'up';\r\n\t\tif (localDynamic.value < 0) direction = 'down';\r\n\t} else {\r\n\t\tif (localDynamic.value > 0) direction = 'down';\r\n\t\tif (localDynamic.value < 0) direction = 'up';\r\n\t}\r\n\r\n\treturn direction;\r\n});\r\n\r\n</script>\r\n\r\n<template>\r\n\t<div\r\n\t\t:class=\"{\r\n\t\t\t['top-miniChart']: true,\r\n\t\t\t['top-miniChart_hideChartInMobile']: hideChartInMobile,\r\n\t\t\t[`top-color_${color}`]: true\r\n\t\t}\"\r\n\t>\r\n\t\t<div\r\n\t\t\tclass=\"top-miniChart_title top-ellipsis\"\r\n\t\t\t:data-top-icon=\"gIcon\"\r\n\t\t>\r\n\t\t\t{{ title }}\r\n\t\t</div>\r\n\r\n\t\t<div class=\"top-miniChart_chart\">\r\n\t\t\t<div\r\n\t\t\t\tclass=\"top-miniChart_chartGrid\"\r\n\t\t\t\t@mouseleave=\"resetModel()\"\r\n\t\t\t>\r\n\t\t\t\t<div\r\n\t\t\t\t\tv-for=\"(date, i) in reversedDates\"\r\n\t\t\t\t\t:class=\"{\r\n\t\t\t\t\t\t['top-miniChart_chartGridCol']: true,\r\n\t\t\t\t\t\t['top-active']: isActiveDate(date)\r\n\t\t\t\t\t}\"\r\n\t\t\t\t\t@mouseenter=\"setModel($event, date, values[values.length - i - 1])\"\r\n\t\t\t\t>\r\n\t\t\t\t\t<div :style=\"'height:' + genColHeight(values[values.length - i - 1]) + '%'\"/>\r\n\t\t\t\t</div>\r\n\t\t\t\t<div\r\n\t\t\t\t\tv-for=\"() in numOfEmptyCols\"\r\n\t\t\t\t\tclass=\"top-miniChart_chartGridCol top-miniChart_chartGridCol-none\"\r\n\t\t\t\t\t@mouseenter=\"resetModel()\"\r\n\t\t\t\t>\r\n\t\t\t\t\t<div></div>\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\r\n\t\t<div class=\"top-miniChart_data\">\r\n\t\t\t<span :class=\"{\r\n\t\t\t\t['top-miniChart_dataDynamic']: true,\r\n\t\t\t\t[`top-miniChart_dataDynamic-direction_${dynamicDirection}`]: true,\r\n\t\t\t}\">\r\n\t\t\t\t{{ Math.abs(localDynamic) || '' }}\r\n\t\t\t</span>\r\n\t\t\t<span class=\"top-miniChart_dataValue\">\r\n\t\t\t\t{{ percentOfNumber(values[values.length - 1]) || 0 }}\r\n\t\t\t</span>\r\n\t\t</div>\r\n\r\n\t\t<div\r\n\t\t\tv-if=\"additionalHTML\"\r\n\t\t\tv-html=\"additionalHTML\"\r\n\t\t/>\r\n\t</div>\r\n\r\n</template>\r\n<style>\r\n@import \"./styles/miniChart.css\";\r\n</style>\r\n","<script setup lang=\"ts\">\r\nimport { ref, computed, watch, onMounted, onUnmounted } from 'vue';\r\nimport type { Style, Props } from './miniCharts';\r\n\r\nconst props = defineProps<Props>();\r\nconst model = defineModel<Props['modelValue']>();\r\n\r\nconst elRef = ref<HTMLElement | null>(null);\r\n\r\nlet pagesResizeObserver: ResizeObserver;\r\n\r\n/**\r\n * Количество страниц\r\n */\r\nconst countPages = ref(1);\r\n\r\n/**\r\n * Активная страница\r\n */\r\nconst activePage = ref(1);\r\n\r\n/**\r\n * Установка количества страниц в блоке\r\n */\r\nconst setCountPages = () => {\r\n\tcountPages.value = Math.round(elRef.value!.scrollHeight / elRef.value!.clientHeight);\r\n};\r\n\r\nwatch(countPages, () => {\r\n\tif (countPages.value < activePage.value) {\r\n\t\tactivePage.value = 1;\r\n\t}\r\n});\r\n\r\nwatch(\r\n\t() => props.countCharts,\r\n\t() => setCountPages(),\r\n\t{ flush: 'post' }\r\n);\r\n\r\n/**\r\n * Расчет положения для подсказки\r\n */\r\nconst tooltipStyle = computed(() => {\r\n\tif (!model.value) return {};\r\n\r\n\tconst box = model.value.elCol.getBoundingClientRect();\r\n\r\n\tconst style: Style = {\r\n\t\ttop: box.bottom + window.scrollY + 'px',\r\n\t};\r\n\r\n\tif (document.documentElement.clientWidth / 2 > box.right) {\r\n\t\tstyle.left = box.right + window.scrollX + 10 + 'px';\r\n\t} else {\r\n\t\tstyle.left = box.left + window.scrollX - 10 + 'px';\r\n\t\tstyle.transform = 'translate(-100%, 0)';\r\n\t}\r\n\r\n\treturn style;\r\n});\r\n\r\nonMounted(() => {\r\n\t/**\r\n\t * Функционал переключения экранов графиков\r\n\t */\r\n\tpagesResizeObserver = new ResizeObserver(() => setCountPages());\r\n\tpagesResizeObserver.observe(elRef.value!);\r\n\r\n\twatch(activePage, () => {\r\n\t\tconst elMiniChart = elRef.value!.children[0];\r\n\t\tconst pageHeight = elMiniChart.clientHeight + parseInt(window.getComputedStyle(elRef.value!).getPropertyValue('row-gap'));\r\n\t\tconst scrollTop = pageHeight * (activePage.value - 1);\r\n\r\n\t\telRef.value!.scrollTo({ top: scrollTop, behavior: 'smooth' });\r\n\t});\r\n});\r\n\r\nonUnmounted(() => {\r\n\tpagesResizeObserver.disconnect();\r\n});\r\n</script>\r\n\r\n<template>\r\n\t<div\r\n\t\tclass=\"top-miniCharts\"\r\n\t\t:class=\"{\r\n\t\t\t['top-miniCharts']: true,\r\n\t\t\t['scrollable']: countPages > 1,\r\n\t\t\t['top-miniCharts_hideChartInMobile']: hideChartInMobile,\r\n\t\t}\"\r\n\t\tref=\"elRef\"\r\n\t>\r\n\r\n\t\t<slot></slot>\r\n\r\n\t\t<div\r\n\t\t\tv-if=\"countPages > 1\"\r\n\t\t\tclass=\"top-miniCharts_pages\"\r\n\t\t>\r\n\t\t\t<span\r\n\t\t\t\tv-for=\"n in countPages\"\r\n\t\t\t\t:class=\"{['top-active']: n === activePage}\"\r\n\t\t\t\t@click=\"activePage = n\"\r\n\t\t\t></span>\r\n\t\t</div>\r\n\r\n\t\t<Teleport to=\"body\">\r\n\t\t\t<div\r\n\t\t\t\tv-if=\"model\"\r\n\t\t\t\tclass=\"top-miniCharts_tooltip\"\r\n\t\t\t\t:style=\"tooltipStyle\"\r\n\t\t\t>\r\n\t\t\t\t<span>{{ model.date }}</span>\r\n\t\t\t\t<span>{{ model.value }}</span>\r\n\t\t\t</div>\r\n\t\t</Teleport>\r\n\t</div>\r\n\r\n</template>\r\n\r\n<style>\r\n@import \"./styles/miniCharts.css\";\r\n</style>\r\n\r\n\r\n\r\n\r\n","import type { ComponentCustomProps } from 'vue';\r\n\r\nimport MiniChart from './miniChart/miniChart.vue';\r\nimport MiniCharts from './miniCharts/miniCharts.vue';\r\n\r\nexport const TopMiniChart = MiniChart as typeof MiniChart & ComponentCustomProps;\r\n\r\nexport const TopMiniCharts = MiniCharts as typeof MiniCharts & ComponentCustomProps;\r\n"],"names":["genColHeight","value","maximumValue","maxValue","props","isActiveDate","date","vue","reversedDates","numOfEmptyCols","model","e","forms","localDynamic","dynamic","prevPeriodValue","dynamicDirection","direction","elRef","pagesResizeObserver","countPages","activePage","tooltipStyle","box","style","scrollTop","TopMiniChart","_sfc_main$1","TopMiniCharts","_sfc_main"],"mappings":"+vBAgBAA,EAAAC,GAAA,CACC,IAAAC,EAAAC,EAAA,MAGAC,EAAA,uFAWDC,EAAAC,GAAAF,EAAA,YAAA,SAAAE,CAAA,EAEAH,EAAAI,EAAA,SAAA,IAAA,KAAA,IAAA,GAAAH,EAAA,MAAA,CAAA,EAKAI,EAAAD,EAAA,SAAA,IAAAH,EAAA,MAAA,MAAA,EAAA,QAAA,CAAA,EAKAK,EAAAF,EAAA,SAAA,gDAGuC,SAItCG,EAAA,MAAA,6DAMc,MAAAC,EAAA,OACJ,KAAAC,EAAA,WAAAN,CAAA,EACY,MAAAL,IAAA,KAAA,KAAAA,GAAAG,EAAA,aAAA,OAQvBS,EAAAN,EAAA,SAAA,IAAA,CACC,IAAAO,EAAAV,EAAA,QAEA,GAAA,OAAAU,EAAA,IAAA,CACC,MAAAC,EAAAX,EAAA,OAAAA,EAAA,WAAA,KAAA,EAEAU,EADAV,EAAA,OAAAA,EAAA,WAAA,GAAA,EACAW,CAAyB,gDAKsB,CAAA,EAGjDC,EAAAT,EAAA,SAAA,IAAA,cAGC,OAAAH,EAAA,iGAQAa,CAAO,CAAA,i1DCpFRC,EAAAX,EAAA,IAAA,IAAA,EAEA,IAAAY,EAKA,MAAAC,EAAAb,EAAA,IAAA,CAAA,EAKAc,EAAAd,EAAA,IAAA,CAAA,SAMCa,EAAA,MAAA,KAAA,MAAAF,EAAA,MAAA,aAAAA,EAAA,MAAA,YAAA,GAGDX,EAAA,MAAAa,EAAA,IAAA,mBAEEC,EAAA,MAAA,EACD,CAAA,EAGDd,EAAA,gDASA,MAAAe,EAAAf,EAAA,SAAA,IAAA,CACC,GAAA,CAAAG,EAAA,MAAA,MAAA,CAAA,qFAQA,OAAA,SAAA,gBAAA,YAAA,EAAAa,EAAA,MACCC,EAAA,KAAAD,EAAA,MAAA,OAAA,QAAA,GAAA,MAEAC,EAAA,KAAAD,EAAA,KAAA,OAAA,QAAA,GAAA,KACAC,EAAA,UAAA,uBAGDA,CAAO,CAAA,wDAQPL,EAAA,QAAAD,EAAA,KAAA,EAEAX,EAAA,MAAAc,EAAA,IAAA,+HAKCH,EAAA,MAAA,SAAA,CAAA,IAAAO,EAAA,SAAA,QAAA,CAAA,CAA4D,CAAA,CAC5D,CAAA,mCAI8B,CAAA,04BC1EzBC,EAAAC,EAEAC,EAAAC"}
package/charts/charts.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import { Core as P } from "../core/app.js";
2
- import { defineComponent as T, mergeModels as S, useModel as $, computed as h, openBlock as a, createElementBlock as i, normalizeClass as f, createElementVNode as r, toDisplayString as g, Fragment as k, renderList as w, normalizeStyle as L, unref as F, createCommentVNode as H, ref as b, watch as V, onMounted as N, onUnmounted as R, renderSlot as z, createBlock as G, Teleport as O } from "vue";
3
- import { d as X } from "../.chunks/forms-DDIlFXbF.es.js";
2
+ import { defineComponent as T, mergeModels as S, useModel as $, computed as h, createElementBlock as i, openBlock as a, normalizeClass as f, createElementVNode as r, createCommentVNode as k, toDisplayString as g, Fragment as w, renderList as H, normalizeStyle as L, unref as F, ref as b, watch as V, onMounted as N, onUnmounted as R, renderSlot as z, createBlock as G, Teleport as O } from "vue";
3
+ import { d as X } from "../.chunks/forms-BciWy0wX.es.js";
4
4
  import { percentOfNumber as I } from "../utils/number.js";
5
5
  const E = ["../assets/charts.css"].map((v) => import.meta.resolve(v));
6
6
  P.insertCSSLinkToPage(E, !0);
@@ -67,7 +67,7 @@ const A = 90, D = 10, U = ["data-top-icon"], W = { class: "top-miniChart_chart"
67
67
  class: "top-miniChart_chartGrid",
68
68
  onMouseleave: o[1] || (o[1] = (n) => M())
69
69
  }, [
70
- (a(!0), i(k, null, w(m.value, (n, _) => (a(), i("div", {
70
+ (a(!0), i(w, null, H(m.value, (n, _) => (a(), i("div", {
71
71
  class: f({
72
72
  "top-miniChart_chartGridCol": !0,
73
73
  "top-active": C(n)
@@ -78,7 +78,7 @@ const A = 90, D = 10, U = ["data-top-icon"], W = { class: "top-miniChart_chart"
78
78
  style: L("height:" + u(e.values[e.values.length - _ - 1]) + "%")
79
79
  }, null, 4)
80
80
  ], 42, Y))), 256)),
81
- (a(!0), i(k, null, w(y.value, () => (a(), i("div", {
81
+ (a(!0), i(w, null, H(y.value, () => (a(), i("div", {
82
82
  class: "top-miniChart_chartGridCol top-miniChart_chartGridCol-none",
83
83
  onMouseenter: o[0] || (o[0] = (n) => M())
84
84
  }, o[2] || (o[2] = [
@@ -98,7 +98,7 @@ const A = 90, D = 10, U = ["data-top-icon"], W = { class: "top-miniChart_chart"
98
98
  e.additionalHTML ? (a(), i("div", {
99
99
  key: 0,
100
100
  innerHTML: e.additionalHTML
101
- }, null, 8, J)) : H("", !0)
101
+ }, null, 8, J)) : k("", !0)
102
102
  ], 2));
103
103
  }
104
104
  }), Q = {
@@ -153,11 +153,11 @@ const A = 90, D = 10, U = ["data-top-icon"], W = { class: "top-miniChart_chart"
153
153
  }, [
154
154
  z(s.$slots, "default"),
155
155
  c.value > 1 ? (a(), i("div", Q, [
156
- (a(!0), i(k, null, w(c.value, (p) => (a(), i("span", {
156
+ (a(!0), i(w, null, H(c.value, (p) => (a(), i("span", {
157
157
  class: f({ "top-active": p === m.value }),
158
158
  onClick: (e) => m.value = p
159
159
  }, null, 10, Z))), 256))
160
- ])) : H("", !0),
160
+ ])) : k("", !0),
161
161
  (a(), G(O, { to: "body" }, [
162
162
  d.value ? (a(), i("div", {
163
163
  key: 0,
@@ -166,7 +166,7 @@ const A = 90, D = 10, U = ["data-top-icon"], W = { class: "top-miniChart_chart"
166
166
  }, [
167
167
  r("span", null, g(d.value.date), 1),
168
168
  r("span", null, g(d.value.value), 1)
169
- ], 4)) : H("", !0)
169
+ ], 4)) : k("", !0)
170
170
  ]))
171
171
  ], 2));
172
172
  }
@@ -1 +1 @@
1
- {"version":3,"file":"charts.js","sources":["../../src/components/charts/miniChart/utils/consts.ts","../../src/components/charts/miniChart/miniChart.vue","../../src/components/charts/miniCharts/miniCharts.vue","../../src/components/charts/charts.ts"],"sourcesContent":["/**\n * Кол-во столбцов по умолчанию\n */\nexport const defaultNumberCols = 90;\n\n/**\n * Минимальная высота колонки (в процентах)\n */\nexport const minHeight = 10; // %","<script setup lang=\"ts\">\nimport type { Props } from './miniChart';\nimport { computed } from 'vue';\nimport { dateFormat } from '@/core/utils/date';\nimport { percentOfNumber } from '@/core/utils/number';\nimport { defaultNumberCols, minHeight } from './utils/consts';\n\nconst props = withDefaults(defineProps<Props>(), {\n\tcolor: 'blue',\n\tnumberCols: defaultNumberCols,\n});\nconst model = defineModel<Props['modelValue']>();\n\n/**\n * Расчет высоты колонки (в процентах)\n */\nconst genColHeight = (value: number): number => {\n\tlet maximumValue = maxValue.value;\n\n\t// для графиков средней и медианной делаем максимум 1\n\tif (props.isInvert) {\n\t\tvalue -= 1;\n\t\tmaximumValue -= 1;\n\t}\n\n\tlet height = maximumValue > 0 ? Math.round((value / maximumValue) * (100 - minHeight)) : 0;\n\tif (props.isInvert) return 100 - height;\n\n\treturn height + minHeight;\n};\n\nconst isActiveDate = (date: string) => props.activeDates.includes(date);\n\nconst maxValue = computed(() => Math.max(...props.values));\n\n/**\n * Из-за стиля .top-miniChart_chartGrid - direction: rtl\n */\nconst reversedDates = computed(() => props.dates.slice().reverse());\n\n/**\n * Кол-во пустых колонок\n */\nconst numOfEmptyCols = computed(() => {\n\tif (!props.dates.length) return 0;\n\n\treturn props.numberCols - props.dates.length;\n});\n\nconst resetModel = () => {\n\tmodel.value = null;\n};\n\nconst setModel = (e: Event, date: string, value: number | null) => {\n\tif (!(e.target instanceof HTMLElement)) return;\n\n\tmodel.value = {\n\t\telCol: e.target,\n\t\tdate: dateFormat(date),\n\t\tvalue: value === null ? '--' : value + (props.valueSuffix ?? ''),\n\t};\n};\n\n/**\n * Возвращает численный показатель динамики графика\n */\nconst localDynamic = computed(() => {\n\tlet dynamic = props.dynamic;\n\n\tif (typeof dynamic === 'undefined') {\n\t\tconst prevPeriodValue = props.values[props.keysForDyn.start];\n\t\tconst currentValue = props.values[props.keysForDyn.end];\n\t\tdynamic = currentValue - prevPeriodValue;\n\t}\n\n\tconst sign = dynamic < 0 ? -1 : 1;\n\n\treturn sign * (percentOfNumber(Math.abs(dynamic)) as number);\n});\n\nconst dynamicDirection = computed(() => {\n\tlet direction: 'up' | 'stay' | 'down' = 'stay';\n\n\tif (!props.isInvert) {\n\t\tif (localDynamic.value > 0) direction = 'up';\n\t\tif (localDynamic.value < 0) direction = 'down';\n\t} else {\n\t\tif (localDynamic.value > 0) direction = 'down';\n\t\tif (localDynamic.value < 0) direction = 'up';\n\t}\n\n\treturn direction;\n});\n\n</script>\n\n<template>\n\t<div\n\t\t:class=\"{\n\t\t\t['top-miniChart']: true,\n\t\t\t['top-miniChart_hideChartInMobile']: hideChartInMobile,\n\t\t\t[`top-color_${color}`]: true\n\t\t}\"\n\t>\n\t\t<div\n\t\t\tclass=\"top-miniChart_title top-ellipsis\"\n\t\t\t:data-top-icon=\"gIcon\"\n\t\t>\n\t\t\t{{ title }}\n\t\t</div>\n\n\t\t<div class=\"top-miniChart_chart\">\n\t\t\t<div\n\t\t\t\tclass=\"top-miniChart_chartGrid\"\n\t\t\t\t@mouseleave=\"resetModel()\"\n\t\t\t>\n\t\t\t\t<div\n\t\t\t\t\tv-for=\"(date, i) in reversedDates\"\n\t\t\t\t\t:class=\"{\n\t\t\t\t\t\t['top-miniChart_chartGridCol']: true,\n\t\t\t\t\t\t['top-active']: isActiveDate(date)\n\t\t\t\t\t}\"\n\t\t\t\t\t@mouseenter=\"setModel($event, date, values[values.length - i - 1])\"\n\t\t\t\t>\n\t\t\t\t\t<div :style=\"'height:' + genColHeight(values[values.length - i - 1]) + '%'\"/>\n\t\t\t\t</div>\n\t\t\t\t<div\n\t\t\t\t\tv-for=\"() in numOfEmptyCols\"\n\t\t\t\t\tclass=\"top-miniChart_chartGridCol top-miniChart_chartGridCol-none\"\n\t\t\t\t\t@mouseenter=\"resetModel()\"\n\t\t\t\t>\n\t\t\t\t\t<div></div>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\n\t\t<div class=\"top-miniChart_data\">\n\t\t\t<span :class=\"{\n\t\t\t\t['top-miniChart_dataDynamic']: true,\n\t\t\t\t[`top-miniChart_dataDynamic-direction_${dynamicDirection}`]: true,\n\t\t\t}\">\n\t\t\t\t{{ Math.abs(localDynamic) || '' }}\n\t\t\t</span>\n\t\t\t<span class=\"top-miniChart_dataValue\">\n\t\t\t\t{{ percentOfNumber(values[values.length - 1]) || 0 }}\n\t\t\t</span>\n\t\t</div>\n\n\t\t<div\n\t\t\tv-if=\"additionalHTML\"\n\t\t\tv-html=\"additionalHTML\"\n\t\t/>\n\t</div>\n\n</template>\n<style>\n@import \"./styles/miniChart.css\";\n</style>\n","<script setup lang=\"ts\">\nimport { ref, computed, watch, onMounted, onUnmounted } from 'vue';\nimport type { Style, Props } from './miniCharts';\n\nconst props = defineProps<Props>();\nconst model = defineModel<Props['modelValue']>();\n\nconst elRef = ref<HTMLElement | null>(null);\n\nlet pagesResizeObserver: ResizeObserver;\n\n/**\n * Количество страниц\n */\nconst countPages = ref(1);\n\n/**\n * Активная страница\n */\nconst activePage = ref(1);\n\n/**\n * Установка количества страниц в блоке\n */\nconst setCountPages = () => {\n\tcountPages.value = Math.round(elRef.value!.scrollHeight / elRef.value!.clientHeight);\n};\n\nwatch(countPages, () => {\n\tif (countPages.value < activePage.value) {\n\t\tactivePage.value = 1;\n\t}\n});\n\nwatch(\n\t() => props.countCharts,\n\t() => setCountPages(),\n\t{ flush: 'post' }\n);\n\n/**\n * Расчет положения для подсказки\n */\nconst tooltipStyle = computed(() => {\n\tif (!model.value) return {};\n\n\tconst box = model.value.elCol.getBoundingClientRect();\n\n\tconst style: Style = {\n\t\ttop: box.bottom + window.scrollY + 'px',\n\t};\n\n\tif (document.documentElement.clientWidth / 2 > box.right) {\n\t\tstyle.left = box.right + window.scrollX + 10 + 'px';\n\t} else {\n\t\tstyle.left = box.left + window.scrollX - 10 + 'px';\n\t\tstyle.transform = 'translate(-100%, 0)';\n\t}\n\n\treturn style;\n});\n\nonMounted(() => {\n\t/**\n\t * Функционал переключения экранов графиков\n\t */\n\tpagesResizeObserver = new ResizeObserver(() => setCountPages());\n\tpagesResizeObserver.observe(elRef.value!);\n\n\twatch(activePage, () => {\n\t\tconst elMiniChart = elRef.value!.children[0];\n\t\tconst pageHeight = elMiniChart.clientHeight + parseInt(window.getComputedStyle(elRef.value!).getPropertyValue('row-gap'));\n\t\tconst scrollTop = pageHeight * (activePage.value - 1);\n\n\t\telRef.value!.scrollTo({ top: scrollTop, behavior: 'smooth' });\n\t});\n});\n\nonUnmounted(() => {\n\tpagesResizeObserver.disconnect();\n});\n</script>\n\n<template>\n\t<div\n\t\tclass=\"top-miniCharts\"\n\t\t:class=\"{\n\t\t\t['top-miniCharts']: true,\n\t\t\t['scrollable']: countPages > 1,\n\t\t\t['top-miniCharts_hideChartInMobile']: hideChartInMobile,\n\t\t}\"\n\t\tref=\"elRef\"\n\t>\n\n\t\t<slot></slot>\n\n\t\t<div\n\t\t\tv-if=\"countPages > 1\"\n\t\t\tclass=\"top-miniCharts_pages\"\n\t\t>\n\t\t\t<span\n\t\t\t\tv-for=\"n in countPages\"\n\t\t\t\t:class=\"{['top-active']: n === activePage}\"\n\t\t\t\t@click=\"activePage = n\"\n\t\t\t></span>\n\t\t</div>\n\n\t\t<Teleport to=\"body\">\n\t\t\t<div\n\t\t\t\tv-if=\"model\"\n\t\t\t\tclass=\"top-miniCharts_tooltip\"\n\t\t\t\t:style=\"tooltipStyle\"\n\t\t\t>\n\t\t\t\t<span>{{ model.date }}</span>\n\t\t\t\t<span>{{ model.value }}</span>\n\t\t\t</div>\n\t\t</Teleport>\n\t</div>\n\n</template>\n\n<style>\n@import \"./styles/miniCharts.css\";\n</style>\n\n\n\n\n","import type { ComponentCustomProps } from 'vue';\n\nimport MiniChart from './miniChart/miniChart.vue';\nimport MiniCharts from './miniCharts/miniCharts.vue';\n\nexport const TopMiniChart = MiniChart as typeof MiniChart & ComponentCustomProps;\n\nexport const TopMiniCharts = MiniCharts as typeof MiniCharts & ComponentCustomProps;\n"],"names":["defaultNumberCols","minHeight","props","__props","model","useModel","genColHeight","value","maximumValue","maxValue","height","isActiveDate","date","computed","reversedDates","numOfEmptyCols","resetModel","setModel","dateFormat","localDynamic","dynamic","prevPeriodValue","percentOfNumber","dynamicDirection","direction","elRef","ref","pagesResizeObserver","countPages","activePage","setCountPages","watch","tooltipStyle","box","style","onMounted","scrollTop","onUnmounted","TopMiniChart","_sfc_main$1","TopMiniCharts","_sfc_main"],"mappings":"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"}
1
+ {"version":3,"file":"charts.js","sources":["../../src/components/charts/miniChart/utils/consts.ts","../../src/components/charts/miniChart/miniChart.vue","../../src/components/charts/miniCharts/miniCharts.vue","../../src/components/charts/charts.ts"],"sourcesContent":["/**\r\n * Кол-во столбцов по умолчанию\r\n */\r\nexport const defaultNumberCols = 90;\r\n\r\n/**\r\n * Минимальная высота колонки (в процентах)\r\n */\r\nexport const minHeight = 10; // %","<script setup lang=\"ts\">\r\nimport type { Props } from './miniChart';\r\nimport { computed } from 'vue';\r\nimport { dateFormat } from '@/core/utils/date';\r\nimport { percentOfNumber } from '@/core/utils/number';\r\nimport { defaultNumberCols, minHeight } from './utils/consts';\r\n\r\nconst props = withDefaults(defineProps<Props>(), {\r\n\tcolor: 'blue',\r\n\tnumberCols: defaultNumberCols,\r\n});\r\nconst model = defineModel<Props['modelValue']>();\r\n\r\n/**\r\n * Расчет высоты колонки (в процентах)\r\n */\r\nconst genColHeight = (value: number): number => {\r\n\tlet maximumValue = maxValue.value;\r\n\r\n\t// для графиков средней и медианной делаем максимум 1\r\n\tif (props.isInvert) {\r\n\t\tvalue -= 1;\r\n\t\tmaximumValue -= 1;\r\n\t}\r\n\r\n\tlet height = maximumValue > 0 ? Math.round((value / maximumValue) * (100 - minHeight)) : 0;\r\n\tif (props.isInvert) return 100 - height;\r\n\r\n\treturn height + minHeight;\r\n};\r\n\r\nconst isActiveDate = (date: string) => props.activeDates.includes(date);\r\n\r\nconst maxValue = computed(() => Math.max(...props.values));\r\n\r\n/**\r\n * Из-за стиля .top-miniChart_chartGrid - direction: rtl\r\n */\r\nconst reversedDates = computed(() => props.dates.slice().reverse());\r\n\r\n/**\r\n * Кол-во пустых колонок\r\n */\r\nconst numOfEmptyCols = computed(() => {\r\n\tif (!props.dates.length) return 0;\r\n\r\n\treturn props.numberCols - props.dates.length;\r\n});\r\n\r\nconst resetModel = () => {\r\n\tmodel.value = null;\r\n};\r\n\r\nconst setModel = (e: Event, date: string, value: number | null) => {\r\n\tif (!(e.target instanceof HTMLElement)) return;\r\n\r\n\tmodel.value = {\r\n\t\telCol: e.target,\r\n\t\tdate: dateFormat(date),\r\n\t\tvalue: value === null ? '--' : value + (props.valueSuffix ?? ''),\r\n\t};\r\n};\r\n\r\n/**\r\n * Возвращает численный показатель динамики графика\r\n */\r\nconst localDynamic = computed(() => {\r\n\tlet dynamic = props.dynamic;\r\n\r\n\tif (typeof dynamic === 'undefined') {\r\n\t\tconst prevPeriodValue = props.values[props.keysForDyn.start];\r\n\t\tconst currentValue = props.values[props.keysForDyn.end];\r\n\t\tdynamic = currentValue - prevPeriodValue;\r\n\t}\r\n\r\n\tconst sign = dynamic < 0 ? -1 : 1;\r\n\r\n\treturn sign * (percentOfNumber(Math.abs(dynamic)) as number);\r\n});\r\n\r\nconst dynamicDirection = computed(() => {\r\n\tlet direction: 'up' | 'stay' | 'down' = 'stay';\r\n\r\n\tif (!props.isInvert) {\r\n\t\tif (localDynamic.value > 0) direction = 'up';\r\n\t\tif (localDynamic.value < 0) direction = 'down';\r\n\t} else {\r\n\t\tif (localDynamic.value > 0) direction = 'down';\r\n\t\tif (localDynamic.value < 0) direction = 'up';\r\n\t}\r\n\r\n\treturn direction;\r\n});\r\n\r\n</script>\r\n\r\n<template>\r\n\t<div\r\n\t\t:class=\"{\r\n\t\t\t['top-miniChart']: true,\r\n\t\t\t['top-miniChart_hideChartInMobile']: hideChartInMobile,\r\n\t\t\t[`top-color_${color}`]: true\r\n\t\t}\"\r\n\t>\r\n\t\t<div\r\n\t\t\tclass=\"top-miniChart_title top-ellipsis\"\r\n\t\t\t:data-top-icon=\"gIcon\"\r\n\t\t>\r\n\t\t\t{{ title }}\r\n\t\t</div>\r\n\r\n\t\t<div class=\"top-miniChart_chart\">\r\n\t\t\t<div\r\n\t\t\t\tclass=\"top-miniChart_chartGrid\"\r\n\t\t\t\t@mouseleave=\"resetModel()\"\r\n\t\t\t>\r\n\t\t\t\t<div\r\n\t\t\t\t\tv-for=\"(date, i) in reversedDates\"\r\n\t\t\t\t\t:class=\"{\r\n\t\t\t\t\t\t['top-miniChart_chartGridCol']: true,\r\n\t\t\t\t\t\t['top-active']: isActiveDate(date)\r\n\t\t\t\t\t}\"\r\n\t\t\t\t\t@mouseenter=\"setModel($event, date, values[values.length - i - 1])\"\r\n\t\t\t\t>\r\n\t\t\t\t\t<div :style=\"'height:' + genColHeight(values[values.length - i - 1]) + '%'\"/>\r\n\t\t\t\t</div>\r\n\t\t\t\t<div\r\n\t\t\t\t\tv-for=\"() in numOfEmptyCols\"\r\n\t\t\t\t\tclass=\"top-miniChart_chartGridCol top-miniChart_chartGridCol-none\"\r\n\t\t\t\t\t@mouseenter=\"resetModel()\"\r\n\t\t\t\t>\r\n\t\t\t\t\t<div></div>\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\r\n\t\t<div class=\"top-miniChart_data\">\r\n\t\t\t<span :class=\"{\r\n\t\t\t\t['top-miniChart_dataDynamic']: true,\r\n\t\t\t\t[`top-miniChart_dataDynamic-direction_${dynamicDirection}`]: true,\r\n\t\t\t}\">\r\n\t\t\t\t{{ Math.abs(localDynamic) || '' }}\r\n\t\t\t</span>\r\n\t\t\t<span class=\"top-miniChart_dataValue\">\r\n\t\t\t\t{{ percentOfNumber(values[values.length - 1]) || 0 }}\r\n\t\t\t</span>\r\n\t\t</div>\r\n\r\n\t\t<div\r\n\t\t\tv-if=\"additionalHTML\"\r\n\t\t\tv-html=\"additionalHTML\"\r\n\t\t/>\r\n\t</div>\r\n\r\n</template>\r\n<style>\r\n@import \"./styles/miniChart.css\";\r\n</style>\r\n","<script setup lang=\"ts\">\r\nimport { ref, computed, watch, onMounted, onUnmounted } from 'vue';\r\nimport type { Style, Props } from './miniCharts';\r\n\r\nconst props = defineProps<Props>();\r\nconst model = defineModel<Props['modelValue']>();\r\n\r\nconst elRef = ref<HTMLElement | null>(null);\r\n\r\nlet pagesResizeObserver: ResizeObserver;\r\n\r\n/**\r\n * Количество страниц\r\n */\r\nconst countPages = ref(1);\r\n\r\n/**\r\n * Активная страница\r\n */\r\nconst activePage = ref(1);\r\n\r\n/**\r\n * Установка количества страниц в блоке\r\n */\r\nconst setCountPages = () => {\r\n\tcountPages.value = Math.round(elRef.value!.scrollHeight / elRef.value!.clientHeight);\r\n};\r\n\r\nwatch(countPages, () => {\r\n\tif (countPages.value < activePage.value) {\r\n\t\tactivePage.value = 1;\r\n\t}\r\n});\r\n\r\nwatch(\r\n\t() => props.countCharts,\r\n\t() => setCountPages(),\r\n\t{ flush: 'post' }\r\n);\r\n\r\n/**\r\n * Расчет положения для подсказки\r\n */\r\nconst tooltipStyle = computed(() => {\r\n\tif (!model.value) return {};\r\n\r\n\tconst box = model.value.elCol.getBoundingClientRect();\r\n\r\n\tconst style: Style = {\r\n\t\ttop: box.bottom + window.scrollY + 'px',\r\n\t};\r\n\r\n\tif (document.documentElement.clientWidth / 2 > box.right) {\r\n\t\tstyle.left = box.right + window.scrollX + 10 + 'px';\r\n\t} else {\r\n\t\tstyle.left = box.left + window.scrollX - 10 + 'px';\r\n\t\tstyle.transform = 'translate(-100%, 0)';\r\n\t}\r\n\r\n\treturn style;\r\n});\r\n\r\nonMounted(() => {\r\n\t/**\r\n\t * Функционал переключения экранов графиков\r\n\t */\r\n\tpagesResizeObserver = new ResizeObserver(() => setCountPages());\r\n\tpagesResizeObserver.observe(elRef.value!);\r\n\r\n\twatch(activePage, () => {\r\n\t\tconst elMiniChart = elRef.value!.children[0];\r\n\t\tconst pageHeight = elMiniChart.clientHeight + parseInt(window.getComputedStyle(elRef.value!).getPropertyValue('row-gap'));\r\n\t\tconst scrollTop = pageHeight * (activePage.value - 1);\r\n\r\n\t\telRef.value!.scrollTo({ top: scrollTop, behavior: 'smooth' });\r\n\t});\r\n});\r\n\r\nonUnmounted(() => {\r\n\tpagesResizeObserver.disconnect();\r\n});\r\n</script>\r\n\r\n<template>\r\n\t<div\r\n\t\tclass=\"top-miniCharts\"\r\n\t\t:class=\"{\r\n\t\t\t['top-miniCharts']: true,\r\n\t\t\t['scrollable']: countPages > 1,\r\n\t\t\t['top-miniCharts_hideChartInMobile']: hideChartInMobile,\r\n\t\t}\"\r\n\t\tref=\"elRef\"\r\n\t>\r\n\r\n\t\t<slot></slot>\r\n\r\n\t\t<div\r\n\t\t\tv-if=\"countPages > 1\"\r\n\t\t\tclass=\"top-miniCharts_pages\"\r\n\t\t>\r\n\t\t\t<span\r\n\t\t\t\tv-for=\"n in countPages\"\r\n\t\t\t\t:class=\"{['top-active']: n === activePage}\"\r\n\t\t\t\t@click=\"activePage = n\"\r\n\t\t\t></span>\r\n\t\t</div>\r\n\r\n\t\t<Teleport to=\"body\">\r\n\t\t\t<div\r\n\t\t\t\tv-if=\"model\"\r\n\t\t\t\tclass=\"top-miniCharts_tooltip\"\r\n\t\t\t\t:style=\"tooltipStyle\"\r\n\t\t\t>\r\n\t\t\t\t<span>{{ model.date }}</span>\r\n\t\t\t\t<span>{{ model.value }}</span>\r\n\t\t\t</div>\r\n\t\t</Teleport>\r\n\t</div>\r\n\r\n</template>\r\n\r\n<style>\r\n@import \"./styles/miniCharts.css\";\r\n</style>\r\n\r\n\r\n\r\n\r\n","import type { ComponentCustomProps } from 'vue';\r\n\r\nimport MiniChart from './miniChart/miniChart.vue';\r\nimport MiniCharts from './miniCharts/miniCharts.vue';\r\n\r\nexport const TopMiniChart = MiniChart as typeof MiniChart & ComponentCustomProps;\r\n\r\nexport const TopMiniCharts = MiniCharts as typeof MiniCharts & ComponentCustomProps;\r\n"],"names":["defaultNumberCols","minHeight","props","__props","model","useModel","genColHeight","value","maximumValue","maxValue","height","isActiveDate","date","computed","reversedDates","numOfEmptyCols","resetModel","setModel","dateFormat","localDynamic","dynamic","prevPeriodValue","percentOfNumber","dynamicDirection","direction","elRef","ref","pagesResizeObserver","countPages","activePage","setCountPages","watch","tooltipStyle","box","style","onMounted","scrollTop","onUnmounted","TopMiniChart","_sfc_main$1","TopMiniCharts","_sfc_main"],"mappings":"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"}
@@ -1,15 +1,15 @@
1
1
  import { Props, Item, Color } from './miniChart';
2
2
  import { DefineComponent, ComponentOptionsMixin, PublicProps, ComponentProvideOptions } from 'vue';
3
- declare let __VLS_typeProps: Props;
3
+ type __VLS_Props = Props;
4
4
  type __VLS_PublicProps = {
5
5
  modelValue?: Props['modelValue'];
6
- } & typeof __VLS_typeProps;
6
+ } & __VLS_Props;
7
7
  declare const _default: DefineComponent<__VLS_PublicProps, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {
8
- "update:modelValue": (modelValue: Item | null | undefined) => any;
8
+ "update:modelValue": (value: Item | null | undefined) => any;
9
9
  }, string, PublicProps, Readonly<__VLS_PublicProps> & Readonly<{
10
- "onUpdate:modelValue"?: ((modelValue: Item | null | undefined) => any) | undefined;
10
+ "onUpdate:modelValue"?: ((value: Item | null | undefined) => any) | undefined;
11
11
  }>, {
12
12
  color: Color;
13
13
  numberCols: number;
14
- }, {}, {}, {}, string, ComponentProvideOptions, false, {}, any>;
14
+ }, {}, {}, {}, string, ComponentProvideOptions, false, {}, HTMLDivElement>;
15
15
  export default _default;
@@ -1,25 +1,28 @@
1
1
  import { Props } from './miniCharts';
2
2
  import { DefineComponent, ComponentOptionsMixin, PublicProps, ComponentProvideOptions } from 'vue';
3
3
  import { Item } from '../miniChart/miniChart';
4
- declare let __VLS_typeProps: Props;
4
+ type __VLS_Props = Props;
5
5
  type __VLS_PublicProps = {
6
6
  modelValue?: Props['modelValue'];
7
- } & typeof __VLS_typeProps;
7
+ } & __VLS_Props;
8
8
  declare function __VLS_template(): {
9
+ attrs: Partial<{}>;
9
10
  slots: {
10
11
  default?(_: {}): any;
11
12
  };
12
13
  refs: {
13
14
  elRef: HTMLDivElement;
14
15
  };
15
- attrs: Partial<{}>;
16
+ rootEl: HTMLDivElement;
16
17
  };
17
18
  type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
18
19
  declare const __VLS_component: DefineComponent<__VLS_PublicProps, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {
19
- "update:modelValue": (modelValue: Item | null | undefined) => any;
20
+ "update:modelValue": (value: Item | null | undefined) => any;
20
21
  }, string, PublicProps, Readonly<__VLS_PublicProps> & Readonly<{
21
- "onUpdate:modelValue"?: ((modelValue: Item | null | undefined) => any) | undefined;
22
- }>, {}, {}, {}, {}, string, ComponentProvideOptions, false, {}, any>;
22
+ "onUpdate:modelValue"?: ((value: Item | null | undefined) => any) | undefined;
23
+ }>, {}, {}, {}, {}, string, ComponentProvideOptions, false, {
24
+ elRef: HTMLDivElement;
25
+ }, HTMLDivElement>;
23
26
  declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
24
27
  export default _default;
25
28
  type __VLS_WithTemplateSlots<T, S> = T & {
@@ -6,5 +6,5 @@ declare const _default: DefineComponent<Props, {}, {}, {}, {}, ComponentOptionsM
6
6
  onClose?: (() => any) | undefined;
7
7
  }>, {
8
8
  selectToClose: boolean;
9
- }, {}, {}, {}, string, ComponentProvideOptions, false, {}, any>;
9
+ }, {}, {}, {}, string, ComponentProvideOptions, false, {}, HTMLDivElement>;
10
10
  export default _default;
@@ -1,9 +1,10 @@
1
1
  import { Props, Slots } from './types';
2
2
  import { DefineComponent, ComponentOptionsMixin, PublicProps, ComponentProvideOptions } from 'vue';
3
3
  declare function __VLS_template(): {
4
+ attrs: Partial<{}>;
4
5
  slots: Readonly<Slots> & Slots;
5
6
  refs: {};
6
- attrs: Partial<{}>;
7
+ rootEl: HTMLDivElement;
7
8
  };
8
9
  type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
9
10
  declare const __VLS_component: DefineComponent<Props, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {
@@ -17,7 +18,7 @@ declare const __VLS_component: DefineComponent<Props, {}, {}, {}, {}, ComponentO
17
18
  height: string;
18
19
  modal: boolean;
19
20
  historyType: "push" | "replace";
20
- }, {}, {}, {}, string, ComponentProvideOptions, false, {}, any>;
21
+ }, {}, {}, {}, string, ComponentProvideOptions, false, {}, HTMLDivElement>;
21
22
  declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
22
23
  export default _default;
23
24
  type __VLS_WithTemplateSlots<T, S> = T & {
@@ -6,5 +6,5 @@ export declare const getDialogWorker: (id: string) => TopDialogHandle<TopDialogC
6
6
  * Добавить компонент диалогового окна для использования
7
7
  */
8
8
  export declare const addDialogWorker: <T extends TopDialogComponent>(TopDialogComponent: T) => TopDialogHandle<T>;
9
- declare const _default: DefineComponent<{}, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, ComponentProvideOptions, true, {}, any>;
9
+ declare const _default: DefineComponent<{}, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, ComponentProvideOptions, true, {}, HTMLDivElement>;
10
10
  export default _default;
@@ -1,9 +1,10 @@
1
1
  import { Props, Slots } from './types';
2
2
  import { DefineComponent, ComponentOptionsMixin, PublicProps, ComponentProvideOptions } from 'vue';
3
3
  declare function __VLS_template(): {
4
+ attrs: Partial<{}>;
4
5
  slots: Readonly<Slots> & Slots;
5
6
  refs: {};
6
- attrs: Partial<{}>;
7
+ rootEl: any;
7
8
  };
8
9
  type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
9
10
  declare const __VLS_component: DefineComponent<Props, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<Props> & Readonly<{}>, {
@@ -28,6 +28,12 @@ export interface PropsCommon {
28
28
  * Для кнопки Назад / Закрыть в мобильной версии
29
29
  */
30
30
  prevName?: string;
31
+ /**
32
+ * Стиль отображения футера, при котороым элементы растягиваются на всю ширину
33
+ *
34
+ * Разрешены переносы
35
+ */
36
+ footerFullWith?: boolean;
31
37
  }
32
38
  /**
33
39
  * Общие props для компонентов реализуюущих TopDialogPage
@@ -44,6 +50,7 @@ export declare const propsPageCommon: {
44
50
  required: boolean;
45
51
  };
46
52
  prevName: StringConstructor;
53
+ footerFullWith: BooleanConstructor;
47
54
  };
48
55
  export interface Slots {
49
56
  /**
@@ -6,5 +6,5 @@ declare const _default: DefineComponent<Props, {}, {}, {}, {}, ComponentOptionsM
6
6
  LastSeen: string;
7
7
  };
8
8
  size: Size;
9
- }, {}, {}, {}, string, ComponentProvideOptions, false, {}, any>;
9
+ }, {}, {}, {}, string, ComponentProvideOptions, false, {}, HTMLDivElement>;
10
10
  export default _default;
@@ -2,12 +2,13 @@ import { Props, Color, Style } from './types';
2
2
  import { DefineComponent, ComponentOptionsMixin, PublicProps, ComponentProvideOptions } from 'vue';
3
3
  import { Size } from '../helpers';
4
4
  declare function __VLS_template(): {
5
+ attrs: Partial<{}>;
5
6
  slots: {
6
7
  default?(_: {}): any;
7
8
  html?(_: {}): any;
8
9
  };
9
10
  refs: {};
10
- attrs: Partial<{}>;
11
+ rootEl: any;
11
12
  };
12
13
  type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
13
14
  declare const __VLS_component: DefineComponent<Props, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<Props> & Readonly<{}>, {
@@ -1,10 +1,12 @@
1
- type ModelValue = boolean | string[] | Set<string> | undefined;
1
+ type ModelValue = boolean | number[] | string[] | Set<number> | Set<string> | undefined;
2
2
  export interface Props {
3
3
  /**
4
- * Может быть одного из трех типов:
4
+ * Может быть одного из типов:
5
5
  * - boolean
6
+ * - number[]
6
7
  * - string[]
7
- * - Set
8
+ * - Set<number>
9
+ * - Set<string>
8
10
  *
9
11
  * [подробнее](https://vuejs.org/guide/essentials/forms.html#checkbox)
10
12
  */
@@ -1,22 +1,23 @@
1
1
  import { Props } from './checkbox';
2
2
  import { DefineComponent, ComponentOptionsMixin, PublicProps, ComponentProvideOptions } from 'vue';
3
- declare let __VLS_typeProps: Props;
3
+ type __VLS_Props = Props;
4
4
  type __VLS_PublicProps = {
5
5
  modelValue?: Props['modelValue'];
6
- } & typeof __VLS_typeProps;
6
+ } & __VLS_Props;
7
7
  declare function __VLS_template(): {
8
+ attrs: Partial<{}>;
8
9
  slots: {
9
10
  default?(_: {}): any;
10
11
  };
11
12
  refs: {};
12
- attrs: Partial<{}>;
13
+ rootEl: HTMLLabelElement;
13
14
  };
14
15
  type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
15
16
  declare const __VLS_component: DefineComponent<__VLS_PublicProps, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {
16
- "update:modelValue": (modelValue: boolean | string[] | Set<string> | undefined) => any;
17
+ "update:modelValue": (value: boolean | string[] | number[] | Set<string> | Set<number> | undefined) => any;
17
18
  }, string, PublicProps, Readonly<__VLS_PublicProps> & Readonly<{
18
- "onUpdate:modelValue"?: ((modelValue: boolean | string[] | Set<string> | undefined) => any) | undefined;
19
- }>, {}, {}, {}, {}, string, ComponentProvideOptions, false, {}, any>;
19
+ "onUpdate:modelValue"?: ((value: boolean | string[] | number[] | Set<string> | Set<number> | undefined) => any) | undefined;
20
+ }>, {}, {}, {}, {}, string, ComponentProvideOptions, false, {}, HTMLLabelElement>;
20
21
  declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
21
22
  export default _default;
22
23
  type __VLS_WithTemplateSlots<T, S> = T & {
@@ -1,14 +1,15 @@
1
1
  import { Props } from './controlLabel';
2
2
  import { DefineComponent, ComponentOptionsMixin, PublicProps, ComponentProvideOptions } from 'vue';
3
3
  declare function __VLS_template(): {
4
+ attrs: Partial<{}>;
4
5
  slots: {
5
6
  default?(_: {}): any;
6
7
  };
7
8
  refs: {};
8
- attrs: Partial<{}>;
9
+ rootEl: HTMLDivElement;
9
10
  };
10
11
  type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
11
- declare const __VLS_component: DefineComponent<Props, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<Props> & Readonly<{}>, {}, {}, {}, {}, string, ComponentProvideOptions, false, {}, any>;
12
+ declare const __VLS_component: DefineComponent<Props, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<Props> & Readonly<{}>, {}, {}, {}, {}, string, ComponentProvideOptions, false, {}, HTMLDivElement>;
12
13
  declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
13
14
  export default _default;
14
15
  type __VLS_WithTemplateSlots<T, S> = T & {
@@ -1,4 +1,4 @@
1
1
  import { Props } from './hint';
2
2
  import { DefineComponent, ComponentOptionsMixin, PublicProps, ComponentProvideOptions } from 'vue';
3
- declare const _default: DefineComponent<Props, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<Props> & Readonly<{}>, {}, {}, {}, {}, string, ComponentProvideOptions, false, {}, any>;
3
+ declare const _default: DefineComponent<Props, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<Props> & Readonly<{}>, {}, {}, {}, {}, string, ComponentProvideOptions, false, {}, HTMLSpanElement>;
4
4
  export default _default;
@@ -2,11 +2,12 @@ import { Props, CaptionType } from './input';
2
2
  import { DefineComponent, ComponentOptionsMixin, PublicProps, ComponentProvideOptions } from 'vue';
3
3
  import { Size } from '../helpers';
4
4
  declare function __VLS_template(): {
5
+ attrs: Partial<{}>;
5
6
  slots: {
6
7
  default?(_: {}): any;
7
8
  };
8
9
  refs: {};
9
- attrs: Partial<{}>;
10
+ rootEl: any;
10
11
  };
11
12
  type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
12
13
  declare const __VLS_component: DefineComponent<Props, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {} & {
@@ -6,5 +6,7 @@ declare const _default: DefineComponent<Props, {}, {}, {}, {}, ComponentOptionsM
6
6
  "onUpdate:modelValue"?: ((value: string) => any) | undefined;
7
7
  }>, {
8
8
  icon2: string;
9
- }, {}, {}, {}, string, ComponentProvideOptions, false, {}, any>;
9
+ }, {}, {}, {}, string, ComponentProvideOptions, false, {
10
+ el: HTMLInputElement;
11
+ }, any>;
10
12
  export default _default;
@@ -1,14 +1,15 @@
1
1
  import { DefineComponent, ComponentOptionsMixin, PublicProps, ComponentProvideOptions } from 'vue';
2
2
  declare function __VLS_template(): {
3
+ attrs: Partial<{}>;
3
4
  slots: {
4
5
  from?(_: {}): any;
5
6
  to?(_: {}): any;
6
7
  };
7
8
  refs: {};
8
- attrs: Partial<{}>;
9
+ rootEl: HTMLDivElement;
9
10
  };
10
11
  type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
11
- declare const __VLS_component: DefineComponent<{}, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, ComponentProvideOptions, true, {}, any>;
12
+ declare const __VLS_component: DefineComponent<{}, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, ComponentProvideOptions, true, {}, HTMLDivElement>;
12
13
  declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
13
14
  export default _default;
14
15
  type __VLS_WithTemplateSlots<T, S> = T & {
@@ -1,3 +1,3 @@
1
1
  import { DefineComponent, ComponentOptionsMixin, PublicProps, ComponentProvideOptions } from 'vue';
2
- declare const _default: DefineComponent<{}, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, ComponentProvideOptions, true, {}, any>;
2
+ declare const _default: DefineComponent<{}, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, ComponentProvideOptions, true, {}, HTMLDivElement>;
3
3
  export default _default;
@@ -2,7 +2,7 @@ export interface Props {
2
2
  /**
3
3
  * [подробнее](https://vuejs.org/guide/essentials/forms.html#radio)
4
4
  */
5
- modelValue: string | object;
5
+ modelValue: number | string | object;
6
6
  value: Props['modelValue'];
7
7
  name?: string;
8
8
  description?: string;
@@ -1,18 +1,19 @@
1
1
  import { Props } from './radio';
2
2
  import { DefineComponent, ComponentOptionsMixin, PublicProps, ComponentProvideOptions } from 'vue';
3
3
  declare function __VLS_template(): {
4
+ attrs: Partial<{}>;
4
5
  slots: {
5
6
  default?(_: {}): any;
6
7
  };
7
8
  refs: {};
8
- attrs: Partial<{}>;
9
+ rootEl: HTMLLabelElement;
9
10
  };
10
11
  type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
11
12
  declare const __VLS_component: DefineComponent<Props, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {} & {
12
- "update:modelValue": (value: string | object) => any;
13
+ "update:modelValue": (value: string | number | object) => any;
13
14
  }, string, PublicProps, Readonly<Props> & Readonly<{
14
- "onUpdate:modelValue"?: ((value: string | object) => any) | undefined;
15
- }>, {}, {}, {}, {}, string, ComponentProvideOptions, false, {}, any>;
15
+ "onUpdate:modelValue"?: ((value: string | number | object) => any) | undefined;
16
+ }>, {}, {}, {}, {}, string, ComponentProvideOptions, false, {}, HTMLLabelElement>;
16
17
  declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
17
18
  export default _default;
18
19
  type __VLS_WithTemplateSlots<T, S> = T & {
@@ -1,17 +1,17 @@
1
1
  import { Props } from './select';
2
2
  import { DefineComponent, ComponentOptionsMixin, PublicProps, ComponentProvideOptions } from 'vue';
3
3
  import { Size } from '../helpers';
4
- declare let __VLS_typeProps: Props;
4
+ type __VLS_Props = Props;
5
5
  type __VLS_PublicProps = {
6
6
  modelValue: Props['modelValue'];
7
- } & typeof __VLS_typeProps;
7
+ } & __VLS_Props;
8
8
  declare const _default: DefineComponent<__VLS_PublicProps, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {
9
- "update:modelValue": (modelValue: string | number) => any;
9
+ "update:modelValue": (value: string | number) => any;
10
10
  } & {
11
11
  "update:modelValue": (value: string | number) => any;
12
12
  }, string, PublicProps, Readonly<__VLS_PublicProps> & Readonly<{
13
- "onUpdate:modelValue"?: ((modelValue: string | number) => any) | undefined;
13
+ "onUpdate:modelValue"?: ((value: string | number) => any) | undefined;
14
14
  }>, {
15
15
  size: Size;
16
- }, {}, {}, {}, string, ComponentProvideOptions, false, {}, any>;
16
+ }, {}, {}, {}, string, ComponentProvideOptions, false, {}, HTMLLabelElement>;
17
17
  export default _default;
@@ -1,18 +1,19 @@
1
1
  import { Props } from './switcher';
2
2
  import { DefineComponent, ComponentOptionsMixin, PublicProps, ComponentProvideOptions } from 'vue';
3
3
  declare function __VLS_template(): {
4
+ attrs: Partial<{}>;
4
5
  slots: {
5
6
  default?(_: {}): any;
6
7
  };
7
8
  refs: {};
8
- attrs: Partial<{}>;
9
+ rootEl: HTMLLabelElement;
9
10
  };
10
11
  type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
11
12
  declare const __VLS_component: DefineComponent<Props, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {} & {
12
13
  "update:modelValue": (value: boolean | string[] | Set<string>) => any;
13
14
  }, string, PublicProps, Readonly<Props> & Readonly<{
14
15
  "onUpdate:modelValue"?: ((value: boolean | string[] | Set<string>) => any) | undefined;
15
- }>, {}, {}, {}, {}, string, ComponentProvideOptions, false, {}, any>;
16
+ }>, {}, {}, {}, {}, string, ComponentProvideOptions, false, {}, HTMLLabelElement>;
16
17
  declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
17
18
  export default _default;
18
19
  type __VLS_WithTemplateSlots<T, S> = T & {
@@ -14,5 +14,5 @@ declare const _default: DefineComponent<Props, {}, {}, {}, {}, ComponentOptionsM
14
14
  submitText: string;
15
15
  cancelText: string;
16
16
  defaultValue: string;
17
- }, {}, {}, {}, string, ComponentProvideOptions, false, {}, any>;
17
+ }, {}, {}, {}, string, ComponentProvideOptions, false, {}, HTMLDivElement>;
18
18
  export default _default;
@@ -4,5 +4,5 @@ declare const _default: DefineComponent<Props, {}, {}, {}, {}, ComponentOptionsM
4
4
  "update:modelValue": (value: string) => any;
5
5
  }, string, PublicProps, Readonly<Props> & Readonly<{
6
6
  "onUpdate:modelValue"?: ((value: string) => any) | undefined;
7
- }>, {}, {}, {}, {}, string, ComponentProvideOptions, false, {}, any>;
7
+ }>, {}, {}, {}, {}, string, ComponentProvideOptions, false, {}, HTMLDivElement>;
8
8
  export default _default;
@@ -4,8 +4,10 @@ import { default as EditInput } from './editInput/editInput.vue';
4
4
  import { default as RadioGroup } from './radioGroup/radioGroup.vue';
5
5
  import { default as Selector2 } from './selector2/selector2.vue';
6
6
  import { default as Menu } from './menu/menu.vue';
7
+ import { default as Info } from './info/info.vue';
7
8
  export declare const TopEditArea: typeof EditArea & ComponentCustomProps;
8
9
  export declare const TopEditInput: typeof EditInput & ComponentCustomProps;
9
10
  export declare const TopRadioGroup: typeof RadioGroup & ComponentCustomProps;
10
11
  export declare const TopSelector2: typeof Selector2 & ComponentCustomProps;
11
12
  export declare const TopMenu: typeof Menu & ComponentCustomProps;
13
+ export declare const TopInfo: typeof Info & ComponentCustomProps;
@@ -0,0 +1,20 @@
1
+ import { Props, Slots } from './types';
2
+ import { DefineComponent, ComponentOptionsMixin, PublicProps, ComponentProvideOptions } from 'vue';
3
+ declare function __VLS_template(): {
4
+ attrs: Partial<{}>;
5
+ slots: Readonly<Slots> & Slots;
6
+ refs: {};
7
+ rootEl: HTMLDivElement;
8
+ };
9
+ type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
10
+ declare const __VLS_component: DefineComponent<Props, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<Props> & Readonly<{}>, {
11
+ size: "default" | "s" | "m" | "l";
12
+ styling: "default" | "info" | "warning" | "negative";
13
+ }, {}, {}, {}, string, ComponentProvideOptions, false, {}, HTMLDivElement>;
14
+ declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
15
+ export default _default;
16
+ type __VLS_WithTemplateSlots<T, S> = T & {
17
+ new (): {
18
+ $slots: S;
19
+ };
20
+ };