@topvisor/ui 1.5.0-updates.0 → 1.5.0-updates.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.chunks/api-CawzY1Cw.amd.js +2 -0
- package/.chunks/api-CawzY1Cw.amd.js.map +1 -0
- package/.chunks/api-CawzY1Cw.esm.js +208 -0
- package/.chunks/api-CawzY1Cw.esm.js.map +1 -0
- package/.chunks/app-CCX-gNqz.amd.js +2 -0
- package/.chunks/app-CCX-gNqz.amd.js.map +1 -0
- package/.chunks/app-CCX-gNqz.esm.js +396 -0
- package/.chunks/app-CCX-gNqz.esm.js.map +1 -0
- package/.chunks/datepicker-BTkZOq7d.amd.js +2 -0
- package/.chunks/datepicker-BTkZOq7d.amd.js.map +1 -0
- package/.chunks/datepicker-BTkZOq7d.esm.js +38 -0
- package/.chunks/datepicker-BTkZOq7d.esm.js.map +1 -0
- package/.chunks/dialog-DeM4SApg.amd.js +2 -0
- package/.chunks/dialog-DeM4SApg.amd.js.map +1 -0
- package/.chunks/dialog-DeM4SApg.esm.js +117 -0
- package/.chunks/dialog-DeM4SApg.esm.js.map +1 -0
- package/.chunks/dialog_regionSelectorRegions-CYrmaDt3.amd.js +2 -0
- package/.chunks/dialog_regionSelectorRegions-CYrmaDt3.amd.js.map +1 -0
- package/.chunks/dialog_regionSelectorRegions-CYrmaDt3.esm.js +169 -0
- package/.chunks/dialog_regionSelectorRegions-CYrmaDt3.esm.js.map +1 -0
- package/.chunks/dialogs-CMrERMI7.amd.js +2 -0
- package/.chunks/dialogs-CMrERMI7.amd.js.map +1 -0
- package/.chunks/dialogs-CMrERMI7.esm.js +237 -0
- package/.chunks/dialogs-CMrERMI7.esm.js.map +1 -0
- package/.chunks/field-CjkpGeA7.amd.js +2 -0
- package/.chunks/field-CjkpGeA7.amd.js.map +1 -0
- package/.chunks/field-CjkpGeA7.esm.js +16 -0
- package/.chunks/field-CjkpGeA7.esm.js.map +1 -0
- package/.chunks/forms-CbUt-6Ff.amd.js +2 -0
- package/.chunks/forms-CbUt-6Ff.amd.js.map +1 -0
- package/.chunks/forms-CbUt-6Ff.esm.js +1991 -0
- package/.chunks/forms-CbUt-6Ff.esm.js.map +1 -0
- package/.chunks/formsExt-CrTmBhja.amd.js +2 -0
- package/.chunks/formsExt-CrTmBhja.amd.js.map +1 -0
- package/.chunks/formsExt-CrTmBhja.esm.js +807 -0
- package/.chunks/formsExt-CrTmBhja.esm.js.map +1 -0
- package/.chunks/lazy-CGswTOPj.amd.js +2 -0
- package/.chunks/lazy-CGswTOPj.amd.js.map +1 -0
- package/.chunks/lazy-CGswTOPj.esm.js +68 -0
- package/.chunks/lazy-CGswTOPj.esm.js.map +1 -0
- package/.chunks/mocker-CwZe-g4N.amd.js +2 -0
- package/.chunks/mocker-CwZe-g4N.amd.js.map +1 -0
- package/.chunks/mocker-CwZe-g4N.esm.js +45 -0
- package/.chunks/mocker-CwZe-g4N.esm.js.map +1 -0
- package/.chunks/notice-CslVdVNm.amd.js +4 -0
- package/.chunks/notice-CslVdVNm.amd.js.map +1 -0
- package/.chunks/notice-CslVdVNm.esm.js +191 -0
- package/.chunks/notice-CslVdVNm.esm.js.map +1 -0
- package/.chunks/popup-DrByVU-k.amd.js +2 -0
- package/.chunks/popup-DrByVU-k.amd.js.map +1 -0
- package/.chunks/popup-DrByVU-k.esm.js +444 -0
- package/.chunks/popup-DrByVU-k.esm.js.map +1 -0
- package/.chunks/popup-dNrN-eKi.amd.js +2 -0
- package/.chunks/popup-dNrN-eKi.amd.js.map +1 -0
- package/.chunks/popup-dNrN-eKi.esm.js +323 -0
- package/.chunks/popup-dNrN-eKi.esm.js.map +1 -0
- package/.chunks/punycode.es6-B-5kB2YI.amd.js +2 -0
- package/.chunks/{punycode.es6-CgGegfA_.es.js.map → punycode.es6-B-5kB2YI.amd.js.map} +1 -1
- package/.chunks/punycode.es6-B-5kB2YI.esm.js +105 -0
- package/.chunks/punycode.es6-B-5kB2YI.esm.js.map +1 -0
- package/.chunks/store-DuQpSSLL.amd.js +2 -0
- package/.chunks/{store-CX_6ZXhO.es.js.map → store-DuQpSSLL.amd.js.map} +1 -1
- package/.chunks/store-DuQpSSLL.esm.js +27 -0
- package/.chunks/store-DuQpSSLL.esm.js.map +1 -0
- package/.chunks/utils-BwiXsV0S.amd.js +2 -0
- package/.chunks/utils-BwiXsV0S.amd.js.map +1 -0
- package/.chunks/utils-BwiXsV0S.esm.js +43 -0
- package/.chunks/utils-BwiXsV0S.esm.js.map +1 -0
- package/.chunks/utils-Dd0MZgyw.amd.js +2 -0
- package/.chunks/utils-Dd0MZgyw.amd.js.map +1 -0
- package/.chunks/utils-Dd0MZgyw.esm.js +287 -0
- package/.chunks/utils-Dd0MZgyw.esm.js.map +1 -0
- package/.chunks/worker-Db8YrEHo.amd.js +2 -0
- package/.chunks/worker-Db8YrEHo.amd.js.map +1 -0
- package/.chunks/worker-Db8YrEHo.esm.js +100 -0
- package/.chunks/worker-Db8YrEHo.esm.js.map +1 -0
- package/api/additional.amd.js +2 -2
- package/api/additional.amd.js.map +1 -1
- package/api/additional.js +70 -66
- package/api/additional.js.map +1 -1
- package/api/index.amd.js +2 -2
- package/api/index.amd.js.map +1 -1
- package/api/index.js +3 -285
- package/assets/charts.css +1 -1
- package/assets/core.css +1 -1
- package/assets/dialog_regionSelectorRegions.css +1 -1
- package/assets/extra.css +1 -1
- package/assets/forms.css +1 -1
- package/assets/formsExt.css +1 -0
- package/assets/layout.css +1 -1
- package/assets/notice.css +1 -1
- package/assets/popup.css +1 -0
- package/assets/project.css +1 -1
- package/assets/tabs.css +1 -1
- package/assets/tabsView.css +1 -1
- package/assets/themes/dark-th.css +1 -1
- package/assets/themes/dark.css +1 -1
- package/assets/themes/light.css +1 -1
- package/autoload-css-manifest.amd.json +79 -0
- package/autoload-css-manifest.json +90 -0
- package/charts/charts.amd.js +2 -2
- package/charts/charts.amd.js.map +1 -1
- package/charts/charts.js +146 -174
- package/charts/charts.js.map +1 -1
- package/core/app.amd.js +2 -2
- package/core/app.amd.js.map +1 -1
- package/core/app.js +5 -213
- package/dialog/dialog.amd.js +2 -2
- package/dialog/dialog.amd.js.map +1 -1
- package/dialog/dialog.js +4 -60
- package/extra/extra.amd.js +2 -2
- package/extra/extra.amd.js.map +1 -1
- package/extra/extra.js +73 -69
- package/extra/extra.js.map +1 -1
- package/forms/forms.amd.js +2 -2
- package/forms/forms.amd.js.map +1 -1
- package/forms/forms.js +2 -19
- package/forms/helpers.amd.js +2 -2
- package/forms/helpers.amd.js.map +1 -1
- package/forms/helpers.js +0 -2
- package/formsExt/formsExt.amd.js +2 -2
- package/formsExt/formsExt.amd.js.map +1 -1
- package/formsExt/formsExt.js +2 -373
- package/icomoon/demo-files/demo.amd.js +2 -0
- package/icomoon/demo-files/demo.amd.js.map +1 -0
- package/icomoon/demo.amd.js +2 -0
- package/icomoon/demo.amd.js.map +1 -0
- package/layout/layout.amd.js +2 -2
- package/layout/layout.amd.js.map +1 -1
- package/layout/layout.js +41 -57
- package/layout/layout.js.map +1 -1
- package/package.json +1 -1
- package/popup/popup.amd.js +2 -2
- package/popup/popup.amd.js.map +1 -1
- package/popup/popup.js +2 -282
- package/popup/worker.amd.js +2 -2
- package/popup/worker.amd.js.map +1 -1
- package/popup/worker.js +2 -144
- package/project/project.amd.js +2 -2
- package/project/project.amd.js.map +1 -1
- package/project/project.js +1666 -1643
- package/project/project.js.map +1 -1
- package/src/src/components/project/groupSelector/folders/types.d.ts +1 -1
- package/src/src/components/project/groupSelector/folders/utils.d.ts +35 -400
- package/src/src/components/project/groupSelector/groupSelector.vue.d.ts +1 -1
- package/src/src/components/project/groupSelector/groups/types.d.ts +1 -1
- package/src/src/components/project/groupSelector/groups/utils.d.ts +44 -757
- package/src/src/components/project/projectSelector/utils.d.ts +40 -39
- package/tabs/tabs.amd.js +2 -2
- package/tabs/tabs.amd.js.map +1 -1
- package/tabs/tabs.js +63 -77
- package/tabs/tabs.js.map +1 -1
- package/tabsView/tabsView.amd.js +2 -2
- package/tabsView/tabsView.amd.js.map +1 -1
- package/tabsView/tabsView.js +245 -288
- package/tabsView/tabsView.js.map +1 -1
- package/utils/check.amd.js +2 -2
- package/utils/check.amd.js.map +1 -1
- package/utils/check.js +15 -19
- package/utils/check.js.map +1 -1
- package/utils/clipboard.amd.js +6 -6
- package/utils/clipboard.amd.js.map +1 -1
- package/utils/clipboard.js +26 -31
- package/utils/clipboard.js.map +1 -1
- package/utils/date.amd.js +2 -2
- package/utils/date.amd.js.map +1 -1
- package/utils/date.js +2 -12
- package/utils/device.amd.js +2 -2
- package/utils/device.amd.js.map +1 -1
- package/utils/device.js +2 -15
- package/utils/dom.amd.js +2 -2
- package/utils/dom.amd.js.map +1 -1
- package/utils/dom.js +53 -67
- package/utils/dom.js.map +1 -1
- package/utils/image.amd.js +3 -3
- package/utils/image.amd.js.map +1 -1
- package/utils/image.js +12 -22
- package/utils/image.js.map +1 -1
- package/utils/keyboard.amd.js +2 -2
- package/utils/keyboard.amd.js.map +1 -1
- package/utils/keyboard.js +10 -11
- package/utils/keyboard.js.map +1 -1
- package/utils/lodash.amd.js +2 -2
- package/utils/lodash.amd.js.map +1 -1
- package/utils/lodash.js +2 -9
- package/utils/number.amd.js +2 -2
- package/utils/number.amd.js.map +1 -1
- package/utils/number.js +12 -12
- package/utils/number.js.map +1 -1
- package/utils/price.amd.js +2 -2
- package/utils/price.amd.js.map +1 -1
- package/utils/price.js +14 -9
- package/utils/price.js.map +1 -1
- package/utils/route.amd.js +2 -2
- package/utils/route.amd.js.map +1 -1
- package/utils/route.js +33 -37
- package/utils/route.js.map +1 -1
- package/utils/scroll.amd.js +2 -2
- package/utils/scroll.amd.js.map +1 -1
- package/utils/scroll.js +39 -43
- package/utils/scroll.js.map +1 -1
- package/utils/searchers.amd.js +2 -2
- package/utils/searchers.amd.js.map +1 -1
- package/utils/searchers.js +128 -133
- package/utils/searchers.js.map +1 -1
- package/utils/store.amd.js +2 -2
- package/utils/store.amd.js.map +1 -1
- package/utils/store.js +2 -7
- package/utils/string.amd.js +2 -2
- package/utils/string.amd.js.map +1 -1
- package/utils/string.js +120 -147
- package/utils/string.js.map +1 -1
- package/utils/system.amd.js +2 -2
- package/utils/system.amd.js.map +1 -1
- package/utils/system.js +25 -28
- package/utils/system.js.map +1 -1
- package/utils/url.amd.js +3 -3
- package/utils/url.amd.js.map +1 -1
- package/utils/url.js +36 -47
- package/utils/url.js.map +1 -1
- package/.chunks/core-Dgj_YGWh.es.js +0 -268
- package/.chunks/core-Dgj_YGWh.es.js.map +0 -1
- package/.chunks/core-DzDFXOdI.amd.js +0 -2
- package/.chunks/core-DzDFXOdI.amd.js.map +0 -1
- package/.chunks/datepicker-oa8ZwRhq.amd.js +0 -2
- package/.chunks/datepicker-oa8ZwRhq.amd.js.map +0 -1
- package/.chunks/datepicker-qToxk2nN.es.js +0 -41
- package/.chunks/datepicker-qToxk2nN.es.js.map +0 -1
- package/.chunks/dialog_regionSelectorRegions-CZ0tMVSq.amd.js +0 -2
- package/.chunks/dialog_regionSelectorRegions-CZ0tMVSq.amd.js.map +0 -1
- package/.chunks/dialog_regionSelectorRegions-qDW2Ejsv.es.js +0 -180
- package/.chunks/dialog_regionSelectorRegions-qDW2Ejsv.es.js.map +0 -1
- package/.chunks/dialogs.vue_vue_type_script_setup_true_lang-BBix_8WK.amd.js +0 -2
- package/.chunks/dialogs.vue_vue_type_script_setup_true_lang-BBix_8WK.amd.js.map +0 -1
- package/.chunks/dialogs.vue_vue_type_script_setup_true_lang-CJ97l1ST.es.js +0 -323
- package/.chunks/dialogs.vue_vue_type_script_setup_true_lang-CJ97l1ST.es.js.map +0 -1
- package/.chunks/field-Cvv0SRcJ.amd.js +0 -2
- package/.chunks/field-Cvv0SRcJ.amd.js.map +0 -1
- package/.chunks/field-CyyFzM-Y.es.js +0 -16
- package/.chunks/field-CyyFzM-Y.es.js.map +0 -1
- package/.chunks/forms-DDNzqU6o.amd.js +0 -3
- package/.chunks/forms-DDNzqU6o.amd.js.map +0 -1
- package/.chunks/forms-DtC-EKJL.es.js +0 -2053
- package/.chunks/forms-DtC-EKJL.es.js.map +0 -1
- package/.chunks/index-DLUtoTUg.amd.js +0 -2
- package/.chunks/index-DLUtoTUg.amd.js.map +0 -1
- package/.chunks/index-DkQWJkMc.es.js +0 -54
- package/.chunks/index-DkQWJkMc.es.js.map +0 -1
- package/.chunks/lazy-DDNqYkXn.amd.js +0 -2
- package/.chunks/lazy-DDNqYkXn.amd.js.map +0 -1
- package/.chunks/lazy-HKSyLh72.es.js +0 -75
- package/.chunks/lazy-HKSyLh72.es.js.map +0 -1
- package/.chunks/notice-BvQl911b.es.js +0 -191
- package/.chunks/notice-BvQl911b.es.js.map +0 -1
- package/.chunks/notice-CJ3WOTCM.amd.js +0 -4
- package/.chunks/notice-CJ3WOTCM.amd.js.map +0 -1
- package/.chunks/page.vue_vue_type_script_setup_true_lang-Dd5-B4Ss.es.js +0 -139
- package/.chunks/page.vue_vue_type_script_setup_true_lang-Dd5-B4Ss.es.js.map +0 -1
- package/.chunks/page.vue_vue_type_script_setup_true_lang-fl6-Ql4d.amd.js +0 -2
- package/.chunks/page.vue_vue_type_script_setup_true_lang-fl6-Ql4d.amd.js.map +0 -1
- package/.chunks/policy.vue_vue_type_style_index_0_lang-Bv3LwNDC.es.js +0 -519
- package/.chunks/policy.vue_vue_type_style_index_0_lang-Bv3LwNDC.es.js.map +0 -1
- package/.chunks/policy.vue_vue_type_style_index_0_lang-Da7rztT5.amd.js +0 -2
- package/.chunks/policy.vue_vue_type_style_index_0_lang-Da7rztT5.amd.js.map +0 -1
- package/.chunks/popup-OuDglAOF.es.js +0 -470
- package/.chunks/popup-OuDglAOF.es.js.map +0 -1
- package/.chunks/popup-yXIpyok3.amd.js +0 -2
- package/.chunks/popup-yXIpyok3.amd.js.map +0 -1
- package/.chunks/popupHint.vue_vue_type_style_index_0_lang-Bu_HvFoW.amd.js +0 -2
- package/.chunks/popupHint.vue_vue_type_style_index_0_lang-Bu_HvFoW.amd.js.map +0 -1
- package/.chunks/popupHint.vue_vue_type_style_index_0_lang-DAQIAxvu.es.js +0 -209
- package/.chunks/popupHint.vue_vue_type_style_index_0_lang-DAQIAxvu.es.js.map +0 -1
- package/.chunks/punycode.es6-CNOnFR2-.amd.js +0 -2
- package/.chunks/punycode.es6-CNOnFR2-.amd.js.map +0 -1
- package/.chunks/punycode.es6-CgGegfA_.es.js +0 -134
- package/.chunks/store-CX_6ZXhO.es.js +0 -29
- package/.chunks/store-YRW59xEF.amd.js +0 -2
- package/.chunks/store-YRW59xEF.amd.js.map +0 -1
- package/.chunks/utils-BNzP9anP.es.js +0 -78
- package/.chunks/utils-BNzP9anP.es.js.map +0 -1
- package/.chunks/utils-CWn_G7OO.amd.js +0 -2
- package/.chunks/utils-CWn_G7OO.amd.js.map +0 -1
- package/.chunks/utils-DIviuVEw.amd.js +0 -2
- package/.chunks/utils-DIviuVEw.amd.js.map +0 -1
- package/.chunks/utils-Dma85ehT.es.js +0 -288
- package/.chunks/utils-Dma85ehT.es.js.map +0 -1
- package/.chunks/widgetInput.vue_vue_type_script_setup_true_lang-CX_BOcVY.es.js +0 -39
- package/.chunks/widgetInput.vue_vue_type_script_setup_true_lang-CX_BOcVY.es.js.map +0 -1
- package/.chunks/widgetInput.vue_vue_type_script_setup_true_lang-CkOmb3VD.amd.js +0 -2
- package/.chunks/widgetInput.vue_vue_type_script_setup_true_lang-CkOmb3VD.amd.js.map +0 -1
- package/api/index.js.map +0 -1
- package/assets/policy.css +0 -1
- package/assets/popupHint.css +0 -1
- package/core/app.js.map +0 -1
- package/dialog/dialog.js.map +0 -1
- package/forms/forms.js.map +0 -1
- package/forms/helpers.js.map +0 -1
- package/formsExt/formsExt.js.map +0 -1
- package/popup/popup.js.map +0 -1
- package/popup/worker.js.map +0 -1
- package/src/src/components/project/groupSelector/utils.d.ts +0 -37
- package/utils/date.js.map +0 -1
- package/utils/device.js.map +0 -1
- package/utils/lodash.js.map +0 -1
- package/utils/store.js.map +0 -1
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
{
|
|
2
|
+
"byChunkName": {
|
|
3
|
+
"charts/charts": [
|
|
4
|
+
"../assets/charts.css"
|
|
5
|
+
],
|
|
6
|
+
"extra/extra": [
|
|
7
|
+
"../assets/extra.css"
|
|
8
|
+
],
|
|
9
|
+
"for-delete/core": [
|
|
10
|
+
"../assets/core.css"
|
|
11
|
+
],
|
|
12
|
+
"for-delete/dark-th": [
|
|
13
|
+
"../assets/themes/dark-th.css"
|
|
14
|
+
],
|
|
15
|
+
"for-delete/dark": [
|
|
16
|
+
"../assets/themes/dark.css"
|
|
17
|
+
],
|
|
18
|
+
"for-delete/light": [
|
|
19
|
+
"../assets/themes/light.css"
|
|
20
|
+
],
|
|
21
|
+
"layout/layout": [
|
|
22
|
+
"../assets/layout.css"
|
|
23
|
+
],
|
|
24
|
+
"project/project": [
|
|
25
|
+
"../assets/project.css"
|
|
26
|
+
],
|
|
27
|
+
"tabs/tabs": [
|
|
28
|
+
"../assets/tabs.css"
|
|
29
|
+
],
|
|
30
|
+
"tabsView/tabsView": [
|
|
31
|
+
"../assets/tabsView.css"
|
|
32
|
+
],
|
|
33
|
+
"dialog_regionSelectorRegions": [
|
|
34
|
+
"../assets/dialog_regionSelectorRegions.css"
|
|
35
|
+
],
|
|
36
|
+
"formsExt": [
|
|
37
|
+
"../assets/formsExt.css"
|
|
38
|
+
],
|
|
39
|
+
"notice": [
|
|
40
|
+
"../assets/notice.css"
|
|
41
|
+
],
|
|
42
|
+
"popup": [
|
|
43
|
+
"../assets/popup.css"
|
|
44
|
+
]
|
|
45
|
+
},
|
|
46
|
+
"byChunkFileName": {
|
|
47
|
+
"charts/charts.js": [
|
|
48
|
+
"../assets/charts.css"
|
|
49
|
+
],
|
|
50
|
+
"extra/extra.js": [
|
|
51
|
+
"../assets/extra.css"
|
|
52
|
+
],
|
|
53
|
+
"for-delete/core.js": [
|
|
54
|
+
"../assets/core.css"
|
|
55
|
+
],
|
|
56
|
+
"for-delete/dark-th.js": [
|
|
57
|
+
"../assets/themes/dark-th.css"
|
|
58
|
+
],
|
|
59
|
+
"for-delete/dark.js": [
|
|
60
|
+
"../assets/themes/dark.css"
|
|
61
|
+
],
|
|
62
|
+
"for-delete/light.js": [
|
|
63
|
+
"../assets/themes/light.css"
|
|
64
|
+
],
|
|
65
|
+
"layout/layout.js": [
|
|
66
|
+
"../assets/layout.css"
|
|
67
|
+
],
|
|
68
|
+
"project/project.js": [
|
|
69
|
+
"../assets/project.css"
|
|
70
|
+
],
|
|
71
|
+
"tabs/tabs.js": [
|
|
72
|
+
"../assets/tabs.css"
|
|
73
|
+
],
|
|
74
|
+
"tabsView/tabsView.js": [
|
|
75
|
+
"../assets/tabsView.css"
|
|
76
|
+
],
|
|
77
|
+
".chunks/dialog_regionSelectorRegions-CYrmaDt3.esm.js": [
|
|
78
|
+
"../assets/dialog_regionSelectorRegions.css"
|
|
79
|
+
],
|
|
80
|
+
".chunks/formsExt-CrTmBhja.esm.js": [
|
|
81
|
+
"../assets/formsExt.css"
|
|
82
|
+
],
|
|
83
|
+
".chunks/notice-CslVdVNm.esm.js": [
|
|
84
|
+
"../assets/notice.css"
|
|
85
|
+
],
|
|
86
|
+
".chunks/popup-DrByVU-k.esm.js": [
|
|
87
|
+
"../assets/popup.css"
|
|
88
|
+
]
|
|
89
|
+
}
|
|
90
|
+
}
|
package/charts/charts.amd.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
define([
|
|
2
|
-
//# sourceMappingURL=charts.amd.js.map
|
|
1
|
+
define([`require`,`exports`,`../.chunks/forms-CbUt-6Ff.amd.js`,`../utils/number.amd.js`,`vue`,`../require/css.amd!../assets/charts.css`],function(e,t,n,r,i){"use strict";Object.defineProperty(t,`__esModule`,{value:!0}),t.TopMiniCharts=t.TopMiniChart=void 0;var a=[`data-top-icon`],o={class:`top-miniChart_chart`},s=[`onMouseenter`],c={class:`top-miniChart_data`},l={class:`top-miniChart_dataValue`},u=[`innerHTML`],d=(0,i.defineComponent)({__name:`miniChart`,props:(0,i.mergeModels)({title:{},gIcon:{},color:{default:`blue`},dates:{},values:{},activeDates:{},keysForDyn:{},dynamic:{},isInvert:{type:Boolean},numberCols:{default:90},additionalHTML:{},modelValue:{},valueSuffix:{},hideChartInMobile:{type:Boolean}},{modelValue:{},modelModifiers:{}}),emits:[`update:modelValue`],setup(e){let t=e,d=(0,i.useModel)(e,`modelValue`),f=e=>{let n=m.value;t.isInvert&&(--e,--n);let r=n>0?Math.round(e/n*90):0;return t.isInvert?100-r:r+10},p=e=>t.activeDates.includes(e),m=(0,i.computed)(()=>Math.max(...t.values)),h=(0,i.computed)(()=>t.dates.slice().reverse()),g=(0,i.computed)(()=>t.dates.length?t.numberCols-t.dates.length:0),_=()=>{d.value=null},v=(e,r,i)=>{e.target instanceof HTMLElement&&(d.value={elCol:e.target,date:(0,n._)(r),value:i===null?`--`:i+(t.valueSuffix??``)})},y=(0,i.computed)(()=>{let e=t.dynamic;if(e===void 0){let n=t.values[t.keysForDyn.start];e=t.values[t.keysForDyn.end]-n}return(e<0?-1:1)*(0,r.percentOfNumber)(Math.abs(e))}),b=(0,i.computed)(()=>{let e=`stay`;return t.isInvert?(y.value>0&&(e=`down`),y.value<0&&(e=`up`)):(y.value>0&&(e=`up`),y.value<0&&(e=`down`)),e});return(t,n)=>((0,i.openBlock)(),(0,i.createElementBlock)(`div`,{class:(0,i.normalizeClass)({"top-miniChart":!0,"top-miniChart_hideChartInMobile":e.hideChartInMobile,[`top-color_${e.color}`]:!0})},[(0,i.createElementVNode)(`div`,{class:`top-miniChart_title top-ellipsis`,"data-top-icon":e.gIcon},(0,i.toDisplayString)(e.title),9,a),(0,i.createElementVNode)(`div`,o,[(0,i.createElementVNode)(`div`,{class:`top-miniChart_chartGrid`,onMouseleave:n[1]||=e=>_()},[((0,i.openBlock)(!0),(0,i.createElementBlock)(i.Fragment,null,(0,i.renderList)(h.value,(t,n)=>((0,i.openBlock)(),(0,i.createElementBlock)(`div`,{class:(0,i.normalizeClass)({"top-miniChart_chartGridCol":!0,"top-active":p(t)}),onMouseenter:r=>v(r,t,e.values[e.values.length-n-1])},[(0,i.createElementVNode)(`div`,{style:(0,i.normalizeStyle)(`height:`+f(e.values[e.values.length-n-1])+`%`)},null,4)],42,s))),256)),((0,i.openBlock)(!0),(0,i.createElementBlock)(i.Fragment,null,(0,i.renderList)(g.value,()=>((0,i.openBlock)(),(0,i.createElementBlock)(`div`,{class:`top-miniChart_chartGridCol top-miniChart_chartGridCol-none`,onMouseenter:n[0]||=e=>_()},[...n[2]||=[(0,i.createElementVNode)(`div`,null,null,-1)]],32))),256))],32)]),(0,i.createElementVNode)(`div`,c,[(0,i.createElementVNode)(`span`,{class:(0,i.normalizeClass)({"top-miniChart_dataDynamic":!0,[`top-miniChart_dataDynamic-direction_${b.value}`]:!0})},(0,i.toDisplayString)(Math.abs(y.value)||``),3),(0,i.createElementVNode)(`span`,l,(0,i.toDisplayString)((0,i.unref)(r.percentOfNumber)(e.values[e.values.length-1])||0),1)]),e.additionalHTML?((0,i.openBlock)(),(0,i.createElementBlock)(`div`,{key:0,innerHTML:e.additionalHTML},null,8,u)):(0,i.createCommentVNode)(``,!0)],2))}}),f={key:0,class:`top-miniCharts_pages`},p=[`onClick`],m=(0,i.defineComponent)({__name:`miniCharts`,props:(0,i.mergeModels)({modelValue:{},countCharts:{},hideChartInMobile:{type:Boolean}},{modelValue:{},modelModifiers:{}}),emits:[`update:modelValue`],setup(e){let t=e,n=(0,i.useModel)(e,`modelValue`),r=(0,i.ref)(null),a,o=(0,i.ref)(1),s=(0,i.ref)(1),c=()=>{o.value=Math.round(r.value.scrollHeight/r.value.clientHeight)};(0,i.watch)(o,()=>{o.value<s.value&&(s.value=1)}),(0,i.watch)(()=>t.countCharts,()=>c(),{flush:`post`});let l=(0,i.computed)(()=>{if(!n.value)return{};let e=n.value.elCol.getBoundingClientRect(),t={top:e.bottom+window.scrollY+`px`};return document.documentElement.clientWidth/2>e.right?t.left=e.right+window.scrollX+10+`px`:(t.left=e.left+window.scrollX-10+`px`,t.transform=`translate(-100%, 0)`),t});return(0,i.onMounted)(()=>{a=new ResizeObserver(()=>c()),a.observe(r.value),(0,i.watch)(s,()=>{let e=(r.value.children[0].clientHeight+parseInt(window.getComputedStyle(r.value).getPropertyValue(`row-gap`)))*(s.value-1);r.value.scrollTo({top:e,behavior:`smooth`})})}),(0,i.onUnmounted)(()=>{a.disconnect()}),(t,a)=>((0,i.openBlock)(),(0,i.createElementBlock)(`div`,{class:(0,i.normalizeClass)([`top-miniCharts`,{"top-miniCharts":!0,scrollable:o.value>1,"top-miniCharts_hideChartInMobile":e.hideChartInMobile}]),ref_key:`elRef`,ref:r},[(0,i.renderSlot)(t.$slots,`default`),o.value>1?((0,i.openBlock)(),(0,i.createElementBlock)(`div`,f,[((0,i.openBlock)(!0),(0,i.createElementBlock)(i.Fragment,null,(0,i.renderList)(o.value,e=>((0,i.openBlock)(),(0,i.createElementBlock)(`span`,{class:(0,i.normalizeClass)({"top-active":e===s.value}),onClick:t=>s.value=e},null,10,p))),256))])):(0,i.createCommentVNode)(``,!0),((0,i.openBlock)(),(0,i.createBlock)(i.Teleport,{to:`body`},[n.value?((0,i.openBlock)(),(0,i.createElementBlock)(`div`,{key:0,class:`top-miniCharts_tooltip`,style:(0,i.normalizeStyle)(l.value)},[(0,i.createElementVNode)(`span`,null,(0,i.toDisplayString)(n.value.date),1),(0,i.createElementVNode)(`span`,null,(0,i.toDisplayString)(n.value.value),1)],4)):(0,i.createCommentVNode)(``,!0)]))],2))}});t.TopMiniChart=d,t.TopMiniCharts=m});
|
|
2
|
+
//# sourceMappingURL=charts.amd.js.map
|
package/charts/charts.amd.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"charts.amd.js","sources":["../../src/components/charts/miniChart/miniChart.vue","../../src/components/charts/miniCharts/miniCharts.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport type { Props } from './types';\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 { computed, onMounted, onUnmounted, ref, watch } from 'vue';\nimport type { Props, Style } 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"],"names":["genColHeight","value","maximumValue","maxValue","props","isActiveDate","date","vue","reversedDates","numOfEmptyCols","model","e","forms","localDynamic","dynamic","prevPeriodValue","dynamicDirection","direction","_hoisted_2$1","_cache","$event","resetModel","_hoisted_5","utils_number","__props","_hoisted_6","elRef","pagesResizeObserver","countPages","activePage","tooltipStyle","box","style","scrollTop","_hoisted_1","n","_hoisted_2"],"mappings":"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"}
|
|
1
|
+
{"version":3,"sources":["charts/charts.js","../../src/components/charts/miniChart/miniChart.vue","../../src/components/charts/miniCharts/miniCharts.vue"],"names":["exports","C","w","T","E","D","O","k","vue_1","a","r","l","u","t","n","g","v","S","forms_CbUt_6Ff_esm_js_1","A","number_js_1","j","e","M","b"],"mappings":"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","sourcesContent":["define([\"require\", \"exports\", \"../.chunks/forms-CbUt-6Ff.esm.js\", \"../utils/number.js\", \"vue\"], function (require, exports, forms_CbUt_6Ff_esm_js_1, number_js_1, vue_1) {\n \"use strict\";\n Object.defineProperty(exports, \"__esModule\", { value: true });\n exports.TopMiniCharts = exports.TopMiniChart = void 0;\n //#region src/components/charts/miniChart/miniChart.vue?vue&type=script&setup=true&lang.ts\n var C = [\"data-top-icon\"], w = { class: \"top-miniChart_chart\" }, T = [\"onMouseenter\"], E = { class: \"top-miniChart_data\" }, D = { class: \"top-miniChart_dataValue\" }, O = [\"innerHTML\"], k = /* @__PURE__ */ (0, vue_1.defineComponent)({\n __name: \"miniChart\",\n props: /* @__PURE__ */ (0, vue_1.mergeModels)({\n title: {},\n gIcon: {},\n color: { default: \"blue\" },\n dates: {},\n values: {},\n activeDates: {},\n keysForDyn: {},\n dynamic: {},\n isInvert: { type: Boolean },\n numberCols: { default: 90 },\n additionalHTML: {},\n modelValue: {},\n valueSuffix: {},\n hideChartInMobile: { type: Boolean }\n }, {\n modelValue: {},\n modelModifiers: {}\n }),\n emits: [\"update:modelValue\"],\n setup(r) {\n let a = r, l = (0, vue_1.useModel)(r, \"modelValue\"), u = (e) => {\n let t = m.value;\n a.isInvert && (--e, --t);\n let n = t > 0 ? Math.round(e / t * 90) : 0;\n return a.isInvert ? 100 - n : n + 10;\n }, p = (e) => a.activeDates.includes(e), m = (0, vue_1.computed)(() => Math.max(...a.values)), g = (0, vue_1.computed)(() => a.dates.slice().reverse()), v = (0, vue_1.computed)(() => a.dates.length ? a.numberCols - a.dates.length : 0), S = () => {\n l.value = null;\n }, k = (t, n, r) => {\n t.target instanceof HTMLElement && (l.value = {\n elCol: t.target,\n date: (0, forms_CbUt_6Ff_esm_js_1._)(n),\n value: r === null ? \"--\" : r + (a.valueSuffix ?? \"\")\n });\n }, A = (0, vue_1.computed)(() => {\n let e = a.dynamic;\n if (e === void 0) {\n let t = a.values[a.keysForDyn.start];\n e = a.values[a.keysForDyn.end] - t;\n }\n return (e < 0 ? -1 : 1) * (0, number_js_1.percentOfNumber)(Math.abs(e));\n }), j = (0, vue_1.computed)(() => {\n let e = \"stay\";\n return a.isInvert ? (A.value > 0 && (e = \"down\"), A.value < 0 && (e = \"up\")) : (A.value > 0 && (e = \"up\"), A.value < 0 && (e = \"down\")), e;\n });\n return (e, i) => ((0, vue_1.openBlock)(), (0, vue_1.createElementBlock)(\"div\", { class: (0, vue_1.normalizeClass)({\n \"top-miniChart\": !0,\n \"top-miniChart_hideChartInMobile\": r.hideChartInMobile,\n [`top-color_${r.color}`]: !0\n }) }, [\n (0, vue_1.createElementVNode)(\"div\", {\n class: \"top-miniChart_title top-ellipsis\",\n \"data-top-icon\": r.gIcon\n }, (0, vue_1.toDisplayString)(r.title), 9, C),\n (0, vue_1.createElementVNode)(\"div\", w, [(0, vue_1.createElementVNode)(\"div\", {\n class: \"top-miniChart_chartGrid\",\n onMouseleave: i[1] ||= (e) => S()\n }, [((0, vue_1.openBlock)(!0), (0, vue_1.createElementBlock)(vue_1.Fragment, null, (0, vue_1.renderList)(g.value, (e, t) => ((0, vue_1.openBlock)(), (0, vue_1.createElementBlock)(\"div\", {\n class: (0, vue_1.normalizeClass)({\n \"top-miniChart_chartGridCol\": !0,\n \"top-active\": p(e)\n }),\n onMouseenter: (n) => k(n, e, r.values[r.values.length - t - 1])\n }, [(0, vue_1.createElementVNode)(\"div\", { style: (0, vue_1.normalizeStyle)(\"height:\" + u(r.values[r.values.length - t - 1]) + \"%\") }, null, 4)], 42, T))), 256)), ((0, vue_1.openBlock)(!0), (0, vue_1.createElementBlock)(vue_1.Fragment, null, (0, vue_1.renderList)(v.value, () => ((0, vue_1.openBlock)(), (0, vue_1.createElementBlock)(\"div\", {\n class: \"top-miniChart_chartGridCol top-miniChart_chartGridCol-none\",\n onMouseenter: i[0] ||= (e) => S()\n }, [...i[2] ||= [(0, vue_1.createElementVNode)(\"div\", null, null, -1)]], 32))), 256))], 32)]),\n (0, vue_1.createElementVNode)(\"div\", E, [(0, vue_1.createElementVNode)(\"span\", { class: (0, vue_1.normalizeClass)({\n \"top-miniChart_dataDynamic\": !0,\n [`top-miniChart_dataDynamic-direction_${j.value}`]: !0\n }) }, (0, vue_1.toDisplayString)(Math.abs(A.value) || \"\"), 3), (0, vue_1.createElementVNode)(\"span\", D, (0, vue_1.toDisplayString)((0, vue_1.unref)(number_js_1.percentOfNumber)(r.values[r.values.length - 1]) || 0), 1)]),\n r.additionalHTML ? ((0, vue_1.openBlock)(), (0, vue_1.createElementBlock)(\"div\", {\n key: 0,\n innerHTML: r.additionalHTML\n }, null, 8, O)) : (0, vue_1.createCommentVNode)(\"\", !0)\n ], 2));\n }\n }), A = {\n key: 0,\n class: \"top-miniCharts_pages\"\n }, j = [\"onClick\"], M = /* @__PURE__ */ (0, vue_1.defineComponent)({\n __name: \"miniCharts\",\n props: /* @__PURE__ */ (0, vue_1.mergeModels)({\n modelValue: {},\n countCharts: {},\n hideChartInMobile: { type: Boolean }\n }, {\n modelValue: {},\n modelModifiers: {}\n }),\n emits: [\"update:modelValue\"],\n setup(e) {\n let t = e, l = (0, vue_1.useModel)(e, \"modelValue\"), u = (0, vue_1.ref)(null), b, C = (0, vue_1.ref)(1), w = (0, vue_1.ref)(1), T = () => {\n C.value = Math.round(u.value.scrollHeight / u.value.clientHeight);\n };\n (0, vue_1.watch)(C, () => {\n C.value < w.value && (w.value = 1);\n }), (0, vue_1.watch)(() => t.countCharts, () => T(), { flush: \"post\" });\n let E = (0, vue_1.computed)(() => {\n if (!l.value)\n return {};\n let e = l.value.elCol.getBoundingClientRect(), t = { top: e.bottom + window.scrollY + \"px\" };\n return document.documentElement.clientWidth / 2 > e.right ? t.left = e.right + window.scrollX + 10 + \"px\" : (t.left = e.left + window.scrollX - 10 + \"px\", t.transform = \"translate(-100%, 0)\"), t;\n });\n return (0, vue_1.onMounted)(() => {\n b = new ResizeObserver(() => T()), b.observe(u.value), (0, vue_1.watch)(w, () => {\n let e = (u.value.children[0].clientHeight + parseInt(window.getComputedStyle(u.value).getPropertyValue(\"row-gap\"))) * (w.value - 1);\n u.value.scrollTo({\n top: e,\n behavior: \"smooth\"\n });\n });\n }), (0, vue_1.onUnmounted)(() => {\n b.disconnect();\n }), (t, i) => ((0, vue_1.openBlock)(), (0, vue_1.createElementBlock)(\"div\", {\n class: (0, vue_1.normalizeClass)([\"top-miniCharts\", {\n \"top-miniCharts\": !0,\n scrollable: C.value > 1,\n \"top-miniCharts_hideChartInMobile\": e.hideChartInMobile\n }]),\n ref_key: \"elRef\",\n ref: u\n }, [\n (0, vue_1.renderSlot)(t.$slots, \"default\"),\n C.value > 1 ? ((0, vue_1.openBlock)(), (0, vue_1.createElementBlock)(\"div\", A, [((0, vue_1.openBlock)(!0), (0, vue_1.createElementBlock)(vue_1.Fragment, null, (0, vue_1.renderList)(C.value, (e) => ((0, vue_1.openBlock)(), (0, vue_1.createElementBlock)(\"span\", {\n class: (0, vue_1.normalizeClass)({ \"top-active\": e === w.value }),\n onClick: (t) => w.value = e\n }, null, 10, j))), 256))])) : (0, vue_1.createCommentVNode)(\"\", !0),\n ((0, vue_1.openBlock)(), (0, vue_1.createBlock)(vue_1.Teleport, { to: \"body\" }, [l.value ? ((0, vue_1.openBlock)(), (0, vue_1.createElementBlock)(\"div\", {\n key: 0,\n class: \"top-miniCharts_tooltip\",\n style: (0, vue_1.normalizeStyle)(E.value)\n }, [(0, vue_1.createElementVNode)(\"span\", null, (0, vue_1.toDisplayString)(l.value.date), 1), (0, vue_1.createElementVNode)(\"span\", null, (0, vue_1.toDisplayString)(l.value.value), 1)], 4)) : (0, vue_1.createCommentVNode)(\"\", !0)]))\n ], 2));\n }\n });\n exports.TopMiniChart = k;\n exports.TopMiniCharts = M;\n});\n//# sourceMappingURL=charts.js.map\n","<script setup lang=\"ts\">\nimport type { Props } from './types';\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 { computed, onMounted, onUnmounted, ref, watch } from 'vue';\nimport type { Props, Style } 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"]}
|
package/charts/charts.js
CHANGED
|
@@ -1,180 +1,152 @@
|
|
|
1
1
|
|
|
2
|
+
/* start import css */
|
|
2
3
|
import { Core as _autoloadCSSCore } from '../core/app.js';
|
|
3
4
|
const fileNames = ['../assets/charts.css'].map(fileName => import.meta.resolve(fileName));
|
|
4
5
|
_autoloadCSSCore.insertCSSLinkToPage(fileNames, true);
|
|
6
|
+
/* end import css */
|
|
5
7
|
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
8
|
-
import {
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
}
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
},
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
p.disconnect();
|
|
147
|
-
}), (c, a) => (i(), s("div", {
|
|
148
|
-
class: f(["top-miniCharts", {
|
|
149
|
-
"top-miniCharts": !0,
|
|
150
|
-
scrollable: m.value > 1,
|
|
151
|
-
"top-miniCharts_hideChartInMobile": t.hideChartInMobile
|
|
152
|
-
}]),
|
|
153
|
-
ref_key: "elRef",
|
|
154
|
-
ref: u
|
|
155
|
-
}, [
|
|
156
|
-
P(c.$slots, "default"),
|
|
157
|
-
m.value > 1 ? (i(), s("div", j, [
|
|
158
|
-
(i(!0), s(H, null, I(m.value, (h) => (i(), s("span", {
|
|
159
|
-
class: f({ "top-active": h === v.value }),
|
|
160
|
-
onClick: (e) => v.value = h
|
|
161
|
-
}, null, 10, q))), 256))
|
|
162
|
-
])) : k("", !0),
|
|
163
|
-
(i(), R(z, { to: "body" }, [
|
|
164
|
-
d.value ? (i(), s("div", {
|
|
165
|
-
key: 0,
|
|
166
|
-
class: "top-miniCharts_tooltip",
|
|
167
|
-
style: _(M.value)
|
|
168
|
-
}, [
|
|
169
|
-
r("span", null, g(d.value.date), 1),
|
|
170
|
-
r("span", null, g(d.value.value), 1)
|
|
171
|
-
], 4)) : k("", !0)
|
|
172
|
-
]))
|
|
173
|
-
], 2));
|
|
174
|
-
}
|
|
8
|
+
import { _ as e } from "../.chunks/forms-CbUt-6Ff.esm.js";
|
|
9
|
+
import { percentOfNumber as t } from "../utils/number.js";
|
|
10
|
+
import { Fragment as n, Teleport as r, computed as i, createBlock as a, createCommentVNode as o, createElementBlock as s, createElementVNode as c, defineComponent as l, mergeModels as u, normalizeClass as d, normalizeStyle as f, onMounted as p, onUnmounted as m, openBlock as h, ref as g, renderList as _, renderSlot as v, toDisplayString as y, unref as b, useModel as x, watch as S } from "vue";
|
|
11
|
+
//#region src/components/charts/miniChart/miniChart.vue?vue&type=script&setup=true&lang.ts
|
|
12
|
+
var C = ["data-top-icon"], w = { class: "top-miniChart_chart" }, T = ["onMouseenter"], E = { class: "top-miniChart_data" }, D = { class: "top-miniChart_dataValue" }, O = ["innerHTML"], k = /* @__PURE__ */ l({
|
|
13
|
+
__name: "miniChart",
|
|
14
|
+
props: /* @__PURE__ */ u({
|
|
15
|
+
title: {},
|
|
16
|
+
gIcon: {},
|
|
17
|
+
color: { default: "blue" },
|
|
18
|
+
dates: {},
|
|
19
|
+
values: {},
|
|
20
|
+
activeDates: {},
|
|
21
|
+
keysForDyn: {},
|
|
22
|
+
dynamic: {},
|
|
23
|
+
isInvert: { type: Boolean },
|
|
24
|
+
numberCols: { default: 90 },
|
|
25
|
+
additionalHTML: {},
|
|
26
|
+
modelValue: {},
|
|
27
|
+
valueSuffix: {},
|
|
28
|
+
hideChartInMobile: { type: Boolean }
|
|
29
|
+
}, {
|
|
30
|
+
modelValue: {},
|
|
31
|
+
modelModifiers: {}
|
|
32
|
+
}),
|
|
33
|
+
emits: ["update:modelValue"],
|
|
34
|
+
setup(r) {
|
|
35
|
+
let a = r, l = x(r, "modelValue"), u = (e) => {
|
|
36
|
+
let t = m.value;
|
|
37
|
+
a.isInvert && (--e, --t);
|
|
38
|
+
let n = t > 0 ? Math.round(e / t * 90) : 0;
|
|
39
|
+
return a.isInvert ? 100 - n : n + 10;
|
|
40
|
+
}, p = (e) => a.activeDates.includes(e), m = i(() => Math.max(...a.values)), g = i(() => a.dates.slice().reverse()), v = i(() => a.dates.length ? a.numberCols - a.dates.length : 0), S = () => {
|
|
41
|
+
l.value = null;
|
|
42
|
+
}, k = (t, n, r) => {
|
|
43
|
+
t.target instanceof HTMLElement && (l.value = {
|
|
44
|
+
elCol: t.target,
|
|
45
|
+
date: e(n),
|
|
46
|
+
value: r === null ? "--" : r + (a.valueSuffix ?? "")
|
|
47
|
+
});
|
|
48
|
+
}, A = i(() => {
|
|
49
|
+
let e = a.dynamic;
|
|
50
|
+
if (e === void 0) {
|
|
51
|
+
let t = a.values[a.keysForDyn.start];
|
|
52
|
+
e = a.values[a.keysForDyn.end] - t;
|
|
53
|
+
}
|
|
54
|
+
return (e < 0 ? -1 : 1) * t(Math.abs(e));
|
|
55
|
+
}), j = i(() => {
|
|
56
|
+
let e = "stay";
|
|
57
|
+
return a.isInvert ? (A.value > 0 && (e = "down"), A.value < 0 && (e = "up")) : (A.value > 0 && (e = "up"), A.value < 0 && (e = "down")), e;
|
|
58
|
+
});
|
|
59
|
+
return (e, i) => (h(), s("div", { class: d({
|
|
60
|
+
"top-miniChart": !0,
|
|
61
|
+
"top-miniChart_hideChartInMobile": r.hideChartInMobile,
|
|
62
|
+
[`top-color_${r.color}`]: !0
|
|
63
|
+
}) }, [
|
|
64
|
+
c("div", {
|
|
65
|
+
class: "top-miniChart_title top-ellipsis",
|
|
66
|
+
"data-top-icon": r.gIcon
|
|
67
|
+
}, y(r.title), 9, C),
|
|
68
|
+
c("div", w, [c("div", {
|
|
69
|
+
class: "top-miniChart_chartGrid",
|
|
70
|
+
onMouseleave: i[1] ||= (e) => S()
|
|
71
|
+
}, [(h(!0), s(n, null, _(g.value, (e, t) => (h(), s("div", {
|
|
72
|
+
class: d({
|
|
73
|
+
"top-miniChart_chartGridCol": !0,
|
|
74
|
+
"top-active": p(e)
|
|
75
|
+
}),
|
|
76
|
+
onMouseenter: (n) => k(n, e, r.values[r.values.length - t - 1])
|
|
77
|
+
}, [c("div", { style: f("height:" + u(r.values[r.values.length - t - 1]) + "%") }, null, 4)], 42, T))), 256)), (h(!0), s(n, null, _(v.value, () => (h(), s("div", {
|
|
78
|
+
class: "top-miniChart_chartGridCol top-miniChart_chartGridCol-none",
|
|
79
|
+
onMouseenter: i[0] ||= (e) => S()
|
|
80
|
+
}, [...i[2] ||= [c("div", null, null, -1)]], 32))), 256))], 32)]),
|
|
81
|
+
c("div", E, [c("span", { class: d({
|
|
82
|
+
"top-miniChart_dataDynamic": !0,
|
|
83
|
+
[`top-miniChart_dataDynamic-direction_${j.value}`]: !0
|
|
84
|
+
}) }, y(Math.abs(A.value) || ""), 3), c("span", D, y(b(t)(r.values[r.values.length - 1]) || 0), 1)]),
|
|
85
|
+
r.additionalHTML ? (h(), s("div", {
|
|
86
|
+
key: 0,
|
|
87
|
+
innerHTML: r.additionalHTML
|
|
88
|
+
}, null, 8, O)) : o("", !0)
|
|
89
|
+
], 2));
|
|
90
|
+
}
|
|
91
|
+
}), A = {
|
|
92
|
+
key: 0,
|
|
93
|
+
class: "top-miniCharts_pages"
|
|
94
|
+
}, j = ["onClick"], M = /* @__PURE__ */ l({
|
|
95
|
+
__name: "miniCharts",
|
|
96
|
+
props: /* @__PURE__ */ u({
|
|
97
|
+
modelValue: {},
|
|
98
|
+
countCharts: {},
|
|
99
|
+
hideChartInMobile: { type: Boolean }
|
|
100
|
+
}, {
|
|
101
|
+
modelValue: {},
|
|
102
|
+
modelModifiers: {}
|
|
103
|
+
}),
|
|
104
|
+
emits: ["update:modelValue"],
|
|
105
|
+
setup(e) {
|
|
106
|
+
let t = e, l = x(e, "modelValue"), u = g(null), b, C = g(1), w = g(1), T = () => {
|
|
107
|
+
C.value = Math.round(u.value.scrollHeight / u.value.clientHeight);
|
|
108
|
+
};
|
|
109
|
+
S(C, () => {
|
|
110
|
+
C.value < w.value && (w.value = 1);
|
|
111
|
+
}), S(() => t.countCharts, () => T(), { flush: "post" });
|
|
112
|
+
let E = i(() => {
|
|
113
|
+
if (!l.value) return {};
|
|
114
|
+
let e = l.value.elCol.getBoundingClientRect(), t = { top: e.bottom + window.scrollY + "px" };
|
|
115
|
+
return document.documentElement.clientWidth / 2 > e.right ? t.left = e.right + window.scrollX + 10 + "px" : (t.left = e.left + window.scrollX - 10 + "px", t.transform = "translate(-100%, 0)"), t;
|
|
116
|
+
});
|
|
117
|
+
return p(() => {
|
|
118
|
+
b = new ResizeObserver(() => T()), b.observe(u.value), S(w, () => {
|
|
119
|
+
let e = (u.value.children[0].clientHeight + parseInt(window.getComputedStyle(u.value).getPropertyValue("row-gap"))) * (w.value - 1);
|
|
120
|
+
u.value.scrollTo({
|
|
121
|
+
top: e,
|
|
122
|
+
behavior: "smooth"
|
|
123
|
+
});
|
|
124
|
+
});
|
|
125
|
+
}), m(() => {
|
|
126
|
+
b.disconnect();
|
|
127
|
+
}), (t, i) => (h(), s("div", {
|
|
128
|
+
class: d(["top-miniCharts", {
|
|
129
|
+
"top-miniCharts": !0,
|
|
130
|
+
scrollable: C.value > 1,
|
|
131
|
+
"top-miniCharts_hideChartInMobile": e.hideChartInMobile
|
|
132
|
+
}]),
|
|
133
|
+
ref_key: "elRef",
|
|
134
|
+
ref: u
|
|
135
|
+
}, [
|
|
136
|
+
v(t.$slots, "default"),
|
|
137
|
+
C.value > 1 ? (h(), s("div", A, [(h(!0), s(n, null, _(C.value, (e) => (h(), s("span", {
|
|
138
|
+
class: d({ "top-active": e === w.value }),
|
|
139
|
+
onClick: (t) => w.value = e
|
|
140
|
+
}, null, 10, j))), 256))])) : o("", !0),
|
|
141
|
+
(h(), a(r, { to: "body" }, [l.value ? (h(), s("div", {
|
|
142
|
+
key: 0,
|
|
143
|
+
class: "top-miniCharts_tooltip",
|
|
144
|
+
style: f(E.value)
|
|
145
|
+
}, [c("span", null, y(l.value.date), 1), c("span", null, y(l.value.value), 1)], 4)) : o("", !0)]))
|
|
146
|
+
], 2));
|
|
147
|
+
}
|
|
175
148
|
});
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
//# sourceMappingURL=charts.js.map
|
|
149
|
+
//#endregion
|
|
150
|
+
export { k as TopMiniChart, M as TopMiniCharts };
|
|
151
|
+
|
|
152
|
+
//# sourceMappingURL=charts.js.map
|