@topvisor/ui 1.5.0-updates.0 → 1.5.0-updates.10
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-DuQpSSLL.amd.js.map +1 -0
- 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-BNzP9anP.es.js.map → utils-BwiXsV0S.amd.js.map} +1 -1
- 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.d.ts +1 -0
- 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.d.ts +1 -0
- 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.d.ts +1 -0
- 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.d.ts +1 -0
- package/core/app.js +5 -213
- package/dialog/dialog.amd.js +2 -2
- package/dialog/dialog.amd.js.map +1 -1
- package/dialog/dialog.d.ts +1 -0
- package/dialog/dialog.js +4 -60
- package/extra/extra.amd.js +2 -2
- package/extra/extra.amd.js.map +1 -1
- package/extra/extra.d.ts +1 -0
- 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.d.ts +1 -0
- 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.d.ts +1 -0
- package/formsExt/formsExt.js +2 -373
- package/icomoon/Topvisor icons.json +259 -231
- 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/icomoon/demo.html +15 -1
- package/icomoon/fonts/Topvisor-2.eot +0 -0
- package/icomoon/fonts/Topvisor-2.svg +1 -0
- package/icomoon/fonts/Topvisor-2.ttf +0 -0
- package/icomoon/fonts/Topvisor-2.woff +0 -0
- package/icomoon/selection.json +1 -1
- package/icomoon/style.css +8 -5
- package/layout/layout.amd.js +2 -2
- package/layout/layout.amd.js.map +1 -1
- package/layout/layout.d.ts +1 -0
- 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.d.ts +1 -0
- package/popup/popup.js +2 -282
- package/popup/worker.amd.js +2 -2
- package/popup/worker.amd.js.map +1 -1
- package/popup/worker.d.ts +1 -0
- package/popup/worker.js +2 -144
- package/project/project.amd.js +2 -2
- package/project/project.amd.js.map +1 -1
- package/project/project.d.ts +1 -0
- package/project/project.js +1678 -1643
- package/project/project.js.map +1 -1
- package/src/{src/components → components}/charts/miniCharts/miniCharts.d.ts +1 -1
- package/src/{src/components → components}/core/notice/item/types.d.ts +1 -1
- package/src/{src/components → components}/core/notice/utils.d.ts +1 -1
- package/src/{src/components → components}/dialog/dialog/composables/dialogHandle.d.ts +1 -1
- package/src/{src/components → components}/dialog/dialog/dialogs/dialogs.vue.d.ts +2 -2
- package/src/{src/components → components}/dialog/dialog/stories/dialog_example/pages/utils.d.ts +1 -1
- package/src/components/dialog/dialog.d.ts +6 -0
- package/src/{src/components → components}/dialog/lib/worker.d.ts +1 -1
- package/src/{src/components → components}/forms/button/types.d.ts +1 -1
- package/src/{src/components → components}/forms/input/types.d.ts +1 -1
- package/src/components/forms/inputDate/types.d.ts +1 -0
- package/src/{src/components → components}/forms/select/types.d.ts +1 -1
- package/src/{src/components → components}/formsExt/editArea/types.d.ts +1 -1
- package/src/{src/components → components}/formsExt/editInput/types.d.ts +2 -2
- package/src/{src/components → components}/formsExt/libs/optionGroup/types.d.ts +1 -1
- package/src/{src/components → components}/formsExt/menu/types.d.ts +1 -1
- package/src/{src/components → components}/formsExt/policy/policy.vue.d.ts +1 -1
- package/src/{src/components → components}/formsExt/selector2/types.d.ts +3 -3
- package/src/{src/components → components}/popup/lib/popup.d.ts +2 -2
- package/src/{src/components → components}/popup/lib/worker.d.ts +2 -2
- package/src/{src/components → components}/popup/popup/popup.vue.d.ts +1 -1
- package/src/{src/components → components}/popup/popup/widgetInput/widgetInput.vue.d.ts +1 -1
- package/src/{src/components → components}/popup/popupConfirm/popupConfirm.vue.d.ts +1 -1
- package/src/{src/components → components}/project/competitorSelector/composables.d.ts +1 -1
- package/src/{src/components → components}/project/competitorSelector/types.d.ts +1 -1
- package/src/{src/components → components}/project/groupSelector/folders/types.d.ts +2 -2
- package/src/components/project/groupSelector/folders/utils.d.ts +57 -0
- package/src/{src/components → components}/project/groupSelector/groups/groups.vue.d.ts +1 -1
- package/src/{src/components → components}/project/groupSelector/groups/types.d.ts +2 -2
- package/src/components/project/groupSelector/groups/utils.d.ts +78 -0
- package/src/{src/components → components}/project/groupSelector/stories/mocks/index.d.ts +1 -1
- package/src/{src/components → components}/project/projectSelector/cache.d.ts +1 -1
- package/src/{src/components → components}/project/projectSelector/projectSelector.vue.d.ts +1 -1
- package/src/{src/components → components}/project/projectSelector/types.d.ts +2 -2
- package/src/{src/components → components}/project/projectSelector/utils.d.ts +41 -40
- package/src/{src/components → components}/project/regionSelector/composables/selectRegion.d.ts +1 -1
- package/src/{src/components → components}/project/regionSelector/composables/selectSearcher.d.ts +1 -1
- package/src/{src/components → components}/project/regionSelector/dialog_regionSelectorRegions/types.d.ts +1 -1
- package/src/{src/components → components}/project/tagSelector/popupOpener/types.d.ts +1 -1
- package/src/{src/components → components}/project/tagSelector/types.d.ts +1 -1
- package/src/{src/components → components}/project/tagSelector/utils/el.d.ts +1 -1
- package/src/{src/components → components}/tabsView/tabsView/store.d.ts +1 -1
- package/src/{src/core → core}/app.d.ts +2 -2
- package/src/{src/core → core}/core/core.d.ts +3 -3
- package/src/{src/core → core}/plugins/core.d.ts +6 -6
- package/src/{src/core → core}/utils/price.d.ts +2 -2
- package/src/core/utils/store.d.ts +6 -0
- package/tabs/tabs.amd.js +2 -2
- package/tabs/tabs.amd.js.map +1 -1
- package/tabs/tabs.d.ts +1 -0
- 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.d.ts +1 -0
- 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.d.ts +1 -0
- 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.d.ts +1 -0
- 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.d.ts +1 -0
- package/utils/date.js +2 -12
- package/utils/device.amd.js +2 -2
- package/utils/device.amd.js.map +1 -1
- package/utils/device.d.ts +1 -0
- package/utils/device.js +2 -15
- package/utils/dom.amd.js +2 -2
- package/utils/dom.amd.js.map +1 -1
- package/utils/dom.d.ts +5 -0
- 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.d.ts +1 -0
- 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.d.ts +1 -0
- 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.d.ts +1 -0
- package/utils/lodash.js +2 -9
- package/utils/number.amd.js +2 -2
- package/utils/number.amd.js.map +1 -1
- package/utils/number.d.ts +1 -0
- 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.d.ts +1 -0
- 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.d.ts +1 -0
- 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.d.ts +1 -0
- 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.d.ts +1 -0
- 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.d.ts +1 -0
- package/utils/store.js +2 -7
- package/utils/string.amd.js +2 -2
- package/utils/string.amd.js.map +1 -1
- package/utils/string.d.ts +1 -0
- 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.d.ts +1 -0
- 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.d.ts +1 -0
- 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-CX_6ZXhO.es.js.map +0 -1
- 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-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/dialog/dialog.d.ts +0 -6
- package/src/src/components/forms/inputDate/types.d.ts +0 -1
- package/src/src/components/project/groupSelector/folders/utils.d.ts +0 -422
- package/src/src/components/project/groupSelector/groups/utils.d.ts +0 -791
- package/src/src/components/project/groupSelector/utils.d.ts +0 -37
- package/src/src/core/utils/store.d.ts +0 -6
- 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
- package/src/{src/api → api}/api/additional.d.ts +0 -0
- package/src/{src/api → api}/api/client/client.d.ts +0 -0
- package/src/{src/api → api}/api/client/request-options.d.ts +0 -0
- package/src/{src/api → api}/api/client/request.d.ts +0 -0
- package/src/{src/api → api}/api/index.d.ts +0 -0
- package/src/{src/api → api}/api/mocker/index.d.ts +0 -0
- package/src/{src/api → api}/api/tests/types.test-d.d.ts +0 -0
- package/src/{src/api → api}/api/types/api.d.ts +0 -0
- package/src/{src/api → api}/api/types/client/client.d.ts +0 -0
- package/src/{src/api → api}/api/types/client/middleware.d.ts +0 -0
- package/src/{src/api → api}/api/types/client/options.d.ts +0 -0
- package/src/{src/api → api}/api/types/client/request-context.d.ts +0 -0
- package/src/{src/api → api}/api/types/client/request-options.d.ts +0 -0
- package/src/{src/api → api}/api/types/client/request.d.ts +0 -0
- package/src/{src/api → api}/api/types/ext.d.ts +0 -0
- package/src/{src/api → api}/api/types/field.d.ts +0 -0
- package/src/{src/api → api}/api/types/index.d.ts +0 -0
- package/src/{src/api → api}/api/types/mocker.d.ts +0 -0
- package/src/{src/api → api}/api/types/schema.d.ts +0 -0
- package/src/{src/api → api}/api/types/tv.d.ts +0 -0
- package/src/{src/api → api}/api/types/utils.d.ts +0 -0
- package/src/{src/api → api}/api/utils/common.d.ts +0 -0
- package/src/{src/api → api}/api/utils/field.d.ts +0 -0
- package/src/{src/api → api}/api/utils/filters.d.ts +0 -0
- package/src/{src/api → api}/api/utils/lazy.d.ts +0 -0
- package/src/{src/components → components}/charts/charts.d.ts +0 -0
- package/src/{src/components → components}/charts/miniChart/miniChart.vue.d.ts +0 -0
- package/src/{src/components → components}/charts/miniChart/types.d.ts +0 -0
- package/src/{src/components → components}/charts/miniChart/utils/consts.d.ts +0 -0
- package/src/{src/components → components}/charts/miniCharts/miniCharts.vue.d.ts +0 -0
- package/src/{src/components → components}/core/notice/item/item.vue.d.ts +0 -0
- package/src/{src/components → components}/core/notice/notice.vue.d.ts +0 -0
- package/src/{src/components → components}/core/notice/types.d.ts +0 -0
- package/src/{src/components → components}/dialog/dialog/composables/asyncDialogHandle.d.ts +0 -0
- package/src/{src/components → components}/dialog/dialog/composables/types.d.ts +0 -0
- package/src/{src/components → components}/dialog/dialog/composables/utils.d.ts +0 -0
- package/src/{src/components → components}/dialog/dialog/dialog.vue.d.ts +0 -0
- package/src/{src/components → components}/dialog/dialog/page/page.vue.d.ts +0 -0
- package/src/{src/components → components}/dialog/dialog/page/types.d.ts +0 -0
- package/src/{src/components → components}/dialog/dialog/pageComponent/pageComponent.vue.d.ts +0 -0
- package/src/{src/components → components}/dialog/dialog/pageComponent/types.d.ts +0 -0
- package/src/{src/components → components}/dialog/dialog/types.d.ts +0 -0
- package/src/{src/components → components}/dialog/lib/types.d.ts +0 -0
- package/src/{src/components → components}/dialog/lib/utils.d.ts +0 -0
- package/src/{src/components → components}/dialog/lib/utils.globalEvents.d.ts +0 -0
- package/src/{src/components → components}/extra/extra.d.ts +0 -0
- package/src/{src/components → components}/extra/rive/rive.vue.d.ts +0 -0
- package/src/{src/components → components}/extra/rive/types.d.ts +0 -0
- package/src/{src/components → components}/forms/avatar/avatar.vue.d.ts +0 -0
- package/src/{src/components → components}/forms/avatar/types.d.ts +0 -0
- package/src/{src/components → components}/forms/button/button.vue.d.ts +0 -0
- package/src/{src/components → components}/forms/caption/caption.vue.d.ts +0 -0
- package/src/{src/components → components}/forms/caption/types.d.ts +0 -0
- package/src/{src/components → components}/forms/checkbox/checkbox.vue.d.ts +0 -0
- package/src/{src/components → components}/forms/checkbox/types.d.ts +0 -0
- package/src/{src/components → components}/forms/controlLabel/controlLabel.vue.d.ts +0 -0
- package/src/{src/components → components}/forms/controlLabel/types.d.ts +0 -0
- package/src/{src/components → components}/forms/forms.d.ts +0 -0
- package/src/{src/components → components}/forms/helpers.d.ts +0 -0
- package/src/{src/components → components}/forms/hint/hint.vue.d.ts +0 -0
- package/src/{src/components → components}/forms/hint/types.d.ts +0 -0
- package/src/{src/components → components}/forms/input/input.vue.d.ts +0 -0
- package/src/{src/components → components}/forms/inputDate/datepicker.d.ts +0 -0
- package/src/{src/components → components}/forms/inputDate/inputDate.vue.d.ts +0 -0
- package/src/{src/components → components}/forms/inputRange/inputRange.vue.d.ts +0 -0
- package/src/{src/components → components}/forms/inputRange/types.d.ts +0 -0
- package/src/{src/components → components}/forms/loadbar/loadbar.vue.d.ts +0 -0
- package/src/{src/components → components}/forms/preloader/preloader.vue.d.ts +0 -0
- package/src/{src/components → components}/forms/preloader/types.d.ts +0 -0
- package/src/{src/components → components}/forms/radio/radio.vue.d.ts +0 -0
- package/src/{src/components → components}/forms/radio/types.d.ts +0 -0
- package/src/{src/components → components}/forms/select/select.vue.d.ts +0 -0
- package/src/{src/components → components}/forms/switcher/switcher.vue.d.ts +0 -0
- package/src/{src/components → components}/forms/switcher/types.d.ts +0 -0
- package/src/{src/components → components}/forms/textarea/textarea.vue.d.ts +0 -0
- package/src/{src/components → components}/forms/textarea/types.d.ts +0 -0
- package/src/{src/components → components}/formsExt/checkboxGroup/checkboxGroup.vue.d.ts +0 -0
- package/src/{src/components → components}/formsExt/checkboxGroup/types.d.ts +0 -0
- package/src/{src/components → components}/formsExt/editArea/editArea.vue.d.ts +0 -0
- package/src/{src/components → components}/formsExt/editInput/editInput.vue.d.ts +0 -0
- package/src/{src/components → components}/formsExt/formsExt.d.ts +0 -0
- package/src/{src/components → components}/formsExt/info/info.vue.d.ts +0 -0
- package/src/{src/components → components}/formsExt/info/types.d.ts +0 -0
- package/src/{src/components → components}/formsExt/libs/optionGroup/optionGroup.vue.d.ts +0 -0
- package/src/{src/components → components}/formsExt/menu/menu.vue.d.ts +0 -0
- package/src/{src/components → components}/formsExt/policy/types.d.ts +0 -0
- package/src/{src/components → components}/formsExt/radioGroup/radioGroup.vue.d.ts +0 -0
- package/src/{src/components → components}/formsExt/radioGroup/types.d.ts +0 -0
- package/src/{src/components → components}/formsExt/selector2/cache.d.ts +0 -0
- package/src/{src/components → components}/formsExt/selector2/composables/useAPI.d.ts +0 -0
- package/src/{src/components → components}/formsExt/selector2/composables/useMenu.d.ts +0 -0
- package/src/{src/components → components}/formsExt/selector2/itemMulti.vue.d.ts +0 -0
- package/src/{src/components → components}/formsExt/selector2/selector2.vue.d.ts +0 -0
- package/src/{src/components → components}/formsExt/selector2/utils.d.ts +0 -0
- package/src/{src/components → components}/layout/islandRows/islandRows.vue.d.ts +0 -0
- package/src/{src/components → components}/layout/islandRows/islandRowsRow/islandRowsRow.vue.d.ts +0 -0
- package/src/{src/components → components}/layout/islandRows/islandRowsRow/types.d.ts +0 -0
- package/src/{src/components → components}/layout/islandRows/islandRowsSubTitle/islandRowsSubTitle.vue.d.ts +0 -0
- package/src/{src/components → components}/layout/islandRows/types.d.ts +0 -0
- package/src/{src/components → components}/layout/layout.d.ts +0 -0
- package/src/{src/components → components}/layout/rows/rows.vue.d.ts +0 -0
- package/src/{src/components → components}/layout/rows/types.d.ts +0 -0
- package/src/{src/components → components}/popup/lib/popup.globalEvents.d.ts +0 -0
- package/src/{src/components → components}/popup/lib/worker.globalEvents.d.ts +0 -0
- package/src/{src/components → components}/popup/popup/listItem.vue.d.ts +0 -0
- package/src/{src/components → components}/popup/popup/opener/opener.vue.d.ts +0 -0
- package/src/{src/components → components}/popup/popup/opener/types.d.ts +0 -0
- package/src/{src/components → components}/popup/popup/types.d.ts +0 -0
- package/src/{src/components → components}/popup/popup.d.ts +0 -0
- package/src/{src/components → components}/popup/popupAlert/popupAlert.vue.d.ts +0 -0
- package/src/{src/components → components}/popup/popupAlert/types.d.ts +0 -0
- package/src/{src/components → components}/popup/popupConfirm/types.d.ts +0 -0
- package/src/{src/components → components}/popup/popupHint/popupHint.vue.d.ts +0 -0
- package/src/{src/components → components}/popup/popupHint/types.d.ts +0 -0
- package/src/{src/components → components}/popup/popupPrompt/popupPrompt.vue.d.ts +0 -0
- package/src/{src/components → components}/popup/popupPrompt/types.d.ts +0 -0
- package/src/{src/components → components}/popup/worker.d.ts +0 -0
- package/src/{src/components → components}/project/competitorSelector/competitorSelector.vue.d.ts +0 -0
- package/src/{src/components → components}/project/groupSelector/folders/folders.vue.d.ts +0 -0
- package/src/{src/components → components}/project/groupSelector/groupSelector.vue.d.ts +1 -1
- /package/src/{src/components → components}/project/groupSelector/stories/mocks/folders.d.ts +0 -0
- /package/src/{src/components → components}/project/groupSelector/stories/mocks/groups.d.ts +0 -0
- /package/src/{src/components → components}/project/groupSelector/types.d.ts +0 -0
- /package/src/{src/components → components}/project/project.d.ts +0 -0
- /package/src/{src/components → components}/project/projectSelector/submenu/submenu.vue.d.ts +0 -0
- /package/src/{src/components → components}/project/projectSelector/submenu/types.d.ts +0 -0
- /package/src/{src/components → components}/project/regionSelector/composables/compare.d.ts +0 -0
- /package/src/{src/components → components}/project/regionSelector/composables/selectorRegion.d.ts +0 -0
- /package/src/{src/components → components}/project/regionSelector/dialog_regionSelectorRegions/dialog_regionSelectorRegions.vue.d.ts +0 -0
- /package/src/{src/components → components}/project/regionSelector/regionSelector.vue.d.ts +0 -0
- /package/src/{src/components → components}/project/regionSelector/types.d.ts +0 -0
- /package/src/{src/components → components}/project/regionSelector/utils/consts.d.ts +0 -0
- /package/src/{src/components → components}/project/regionSelector/utils/utils.d.ts +0 -0
- /package/src/{src/components → components}/project/tagSelector/popupListItem/tagPopupListItem.vue.d.ts +0 -0
- /package/src/{src/components → components}/project/tagSelector/popupListItem/types.d.ts +0 -0
- /package/src/{src/components → components}/project/tagSelector/popupOpener/popupOpener.vue.d.ts +0 -0
- /package/src/{src/components → components}/project/tagSelector/tagIcon/tagIcon.vue.d.ts +0 -0
- /package/src/{src/components → components}/project/tagSelector/tagIcon/types.d.ts +0 -0
- /package/src/{src/components → components}/project/tagSelector/tagSelector.vue.d.ts +0 -0
- /package/src/{src/components → components}/project/tagSelector/tagsDefaults.d.ts +0 -0
- /package/src/{src/components → components}/project/tagSelector/utils/utils.d.ts +0 -0
- /package/src/{src/components → components}/tabs/tabs/content.vue.d.ts +0 -0
- /package/src/{src/components → components}/tabs/tabs/tab.vue.d.ts +0 -0
- /package/src/{src/components → components}/tabs/tabs/tabs.vue.d.ts +0 -0
- /package/src/{src/components → components}/tabs/tabs/types.d.ts +0 -0
- /package/src/{src/components → components}/tabs/tabs.d.ts +0 -0
- /package/src/{src/components → components}/tabsView/tabsView/menu.vue.d.ts +0 -0
- /package/src/{src/components → components}/tabsView/tabsView/menuDelimeter.vue.d.ts +0 -0
- /package/src/{src/components → components}/tabsView/tabsView/menuItem.vue.d.ts +0 -0
- /package/src/{src/components → components}/tabsView/tabsView/menuTitle.vue.d.ts +0 -0
- /package/src/{src/components → components}/tabsView/tabsView/tabsView.vue.d.ts +0 -0
- /package/src/{src/components → components}/tabsView/tabsView/types.d.ts +0 -0
- /package/src/{src/components → components}/tabsView/tabsView/utils.d.ts +0 -0
- /package/src/{src/components → components}/tabsView/tabsView.d.ts +0 -0
- /package/src/{src/core → core}/core/events/resize.d.ts +0 -0
- /package/src/{src/core → core}/core/events.d.ts +0 -0
- /package/src/{src/core → core}/core/options.d.ts +0 -0
- /package/src/{src/core → core}/core/preloaders.d.ts +0 -0
- /package/src/{src/core → core}/core/state.d.ts +0 -0
- /package/src/{src/core → core}/directives/data.d.ts +0 -0
- /package/src/{src/core → core}/directives/focus.d.ts +0 -0
- /package/src/{src/core → core}/directives/preloader.d.ts +0 -0
- /package/src/{src/core → core}/directives/scrollIntoView.d.ts +0 -0
- /package/src/{src/core → core}/directives/scrollShadow.d.ts +0 -0
- /package/src/{src/core → core}/directives/shortcut.d.ts +0 -0
- /package/src/{src/core → core}/directives/sticky.d.ts +0 -0
- /package/src/{src/core → core}/directives/swimUp.d.ts +0 -0
- /package/src/{src/core → core}/directives/tooltip.d.ts +0 -0
- /package/src/{src/core → core}/plugins/i18n.d.ts +0 -0
- /package/src/{src/core → core}/plugins/piniaTPA.d.ts +0 -0
- /package/src/{src/core → core}/utils/check.d.ts +0 -0
- /package/src/{src/core → core}/utils/clipboard.d.ts +0 -0
- /package/src/{src/core → core}/utils/composables/useWatch.d.ts +0 -0
- /package/src/{src/core → core}/utils/date.d.ts +0 -0
- /package/src/{src/core → core}/utils/device.d.ts +0 -0
- /package/src/{src/core → core}/utils/dom.d.ts +0 -0
- /package/src/{src/core → core}/utils/image.d.ts +0 -0
- /package/src/{src/core → core}/utils/keyboard.d.ts +0 -0
- /package/src/{src/core → core}/utils/lodash.d.ts +0 -0
- /package/src/{src/core → core}/utils/number.d.ts +0 -0
- /package/src/{src/core → core}/utils/route.d.ts +0 -0
- /package/src/{src/core → core}/utils/scroll.d.ts +0 -0
- /package/src/{src/core → core}/utils/searchers.d.ts +0 -0
- /package/src/{src/core → core}/utils/store/localStorage.d.ts +0 -0
- /package/src/{src/core → core}/utils/store/plugin.d.ts +0 -0
- /package/src/{src/core → core}/utils/store/store.d.ts +0 -0
- /package/src/{src/core → core}/utils/string.d.ts +0 -0
- /package/src/{src/core → core}/utils/system.d.ts +0 -0
- /package/src/{src/core → core}/utils/tests/date/dateFormat.test.d.ts +0 -0
- /package/src/{src/core → core}/utils/url.d.ts +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[".chunks/app-CCX-gNqz.esm.js","../../src/components/popup/lib/worker.globalEvents.ts","../../src/core/directives/data.ts","../../src/core/directives/focus.ts","../../src/core/directives/scrollIntoView.ts","../../src/core/directives/scrollShadow.ts","../../src/core/directives/shortcut.ts","../../src/core/directives/sticky.ts","../../src/core/directives/swimUp.ts","../../src/core/directives/tooltip.ts","../../src/core/plugins/core.ts","../../src/core/plugins/piniaTPA.ts"],"names":["k2","k","desc","m","o","v","\"default\"","ownKeys","ar","mod","result","i","vue","exports","d","forms_CbUt_6Ff_esm_js_1","worker_Db8YrEHo_esm_js_1","_e","ve","require","resolve_1","reject_1","n","t","r","e","f","p","ye","resolve_2","reject_2","h","resolve_3","reject_3","be","g","_","y","b","xe","S","x","resolve_4","reject_4","resolve_5","reject_5","dom_js_1","Se","C","Ce","resolve_6","reject_6","resolve_7","reject_7","w","T","E","D","we","Te","O","A","Ee","De","resolve_8","reject_8","j","Oe","M","ke","Ae","N","P","je","Me","Ne","F","I","Pe","Fe","vue_1","resolve_9","reject_9","dialogs_CMrERMI7_esm_js_1","L","Le","R","z","B","V","H","U","W","G","K","q","J","Y","X","Z","Re","We","He","Ke","qe","Ue","Ge","ze","clipboard_js_1","#setOptions","string_js_1","Q","Be","Ve","#store","route_js_1","#genDataUnFormat","#Page"],"mappings":"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","sourcesContent":["var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || (function () {\n var ownKeys = function(o) {\n ownKeys = Object.getOwnPropertyNames || function (o) {\n var ar = [];\n for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;\n return ar;\n };\n return ownKeys(o);\n };\n return function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== \"default\") __createBinding(result, mod, k[i]);\n __setModuleDefault(result, mod);\n return result;\n };\n})();\ndefine([\"require\", \"exports\", \"./forms-CbUt-6Ff.esm.js\", \"../utils/dom.js\", \"./worker-Db8YrEHo.esm.js\", \"./dialogs-CMrERMI7.esm.js\", \"../utils/route.js\", \"../utils/clipboard.js\", \"../utils/string.js\", \"vue\", \"./utils-BwiXsV0S.esm.js\"], function (require, exports, forms_CbUt_6Ff_esm_js_1, dom_js_1, worker_Db8YrEHo_esm_js_1, dialogs_CMrERMI7_esm_js_1, route_js_1, clipboard_js_1, string_js_1, vue_1) {\n \"use strict\";\n Object.defineProperty(exports, \"__esModule\", { value: true });\n exports.t = exports.n = void 0;\n //#region src/components/popup/lib/worker.globalEvents.ts\n var d = class {\n static init() {\n this.isInited || (this.isInited = !0, document.addEventListener(\"mouseover\", (e) => {\n !(e.target instanceof HTMLElement) || !e.target.dataset?.topPopupOpenByHover || e.target.click();\n }), document.addEventListener(\"scroll\", () => {\n forms_CbUt_6Ff_esm_js_1.O.state.isMobile || forms_CbUt_6Ff_esm_js_1.O.state.isMobileUA || worker_Db8YrEHo_esm_js_1.t.getAll().forEach((e) => worker_Db8YrEHo_esm_js_1.t.close(e));\n }), forms_CbUt_6Ff_esm_js_1.k.addOnReize((e) => {\n forms_CbUt_6Ff_esm_js_1.O.state.isMobile && e.topEvent.widthDiff && worker_Db8YrEHo_esm_js_1.t.getAll().forEach((e) => worker_Db8YrEHo_esm_js_1.t.close(e));\n }), document.addEventListener(\"click\", this.onclick, { capture: !0 }));\n }\n static async onclick(e) {\n if (!(e.target instanceof HTMLElement) || e.target.dataset.topPopupDisabled)\n return;\n let t;\n switch (!0) {\n case !!e.target.dataset?.topPopup:\n t = e.target;\n break;\n case !!e.target.parentElement?.dataset.topPopup:\n t = e.target.parentElement;\n break;\n case !!e.target.parentElement?.parentElement?.dataset.topPopup:\n t = e.target.parentElement?.parentElement;\n break;\n }\n if (t && !t.dataset.topPopupDisabled) {\n if (t.dataset.topPopupOpened) {\n let e = worker_Db8YrEHo_esm_js_1.t.getPopupFromOpener(t);\n e?.openerIsInput || e?.close();\n return;\n }\n e.preventDefault(), await worker_Db8YrEHo_esm_js_1.t.openByOpener(t);\n }\n }\n };\n (0, forms_CbUt_6Ff_esm_js_1.K)(d, \"isInited\", !1);\n //#endregion\n //#region src/core/directives/data.ts\n var _e, ve = { mounted: async (e, t) => {\n _e ||= (await new Promise((resolve_1, reject_1) => { require([\"../utils/dom.js\"], resolve_1, reject_1); }).then(__importStar)).storage;\n let n = t.arg, r = t.value;\n _e(e, n, r);\n } }, f, p = [], m, ye = async () => {\n let { isVisible: e } = await new Promise((resolve_2, reject_2) => { require([\"../utils/dom.js\"], resolve_2, reject_2); }).then(__importStar);\n p = p.filter(e), p.length && (p[0].focus(), p = []);\n }, h = async (e) => {\n f ||= await new Promise((resolve_3, reject_3) => { require([\"../utils/lodash.js\"], resolve_3, reject_3); }).then(__importStar), m ||= f.debounce(ye, 30), p.push(e), m();\n }, be = {\n mounted: function (e, t) {\n e.__TOP_V_FOCUS_VALUE = t.value ?? !0, (t.value ?? !0) && h(e);\n },\n updated: function (e, t) {\n t.modifiers.onupdate && e.__TOP_V_FOCUS_VALUE !== (t.value ?? !0) && (e.__TOP_V_FOCUS_VALUE = t.value ?? !0, (t.value ?? !0) && h(e));\n }\n }, g, _, v = (e) => typeof e == \"boolean\" ? e : (e = e ? { ...e } : {}, e.behavior ??= \"smooth\", e.block ??= \"nearest\", e.inline ??= \"nearest\", e), y, b, xe = async () => {\n if (!y)\n return;\n let e = await S(y);\n e.isVisible && y.scrollIntoView(e.scrollIntoViewOptions);\n }, x = async (e) => {\n _ ||= await new Promise((resolve_4, reject_4) => { require([\"../utils/lodash.js\"], resolve_4, reject_4); }).then(__importStar), b ||= _.debounce(xe, 30), y = e, b();\n }, S = async (e, t) => {\n g ||= await new Promise((resolve_5, reject_5) => { require([\"../utils/dom.js\"], resolve_5, reject_5); }).then(__importStar);\n let n = g.storage(e, \"v-top-scrollIntoView\");\n return n || (n = {\n isVisible: (0, dom_js_1.isVisible)(e),\n scrollIntoViewOptions: v(t)\n }, g.storage(e, \"v-top-scrollIntoView\", n)), n;\n }, Se = {\n async mounted(e, t) {\n await S(e, t.value), t.modifiers.immediate && x(e);\n },\n async updated(e, t) {\n let n = await S(e, t.value);\n n.scrollIntoViewOptions = v(t.value);\n let r = (0, dom_js_1.isVisible)(e);\n r && n.isVisible !== r && x(e), n.isVisible = r;\n }\n }, C, Ce = {\n async mounted(e) {\n C ||= await new Promise((resolve_6, reject_6) => { require([\"../utils/scroll.js\"], resolve_6, reject_6); }).then(__importStar), C.connectScrollShadow(e);\n },\n async unmounted(e) {\n C ||= await new Promise((resolve_7, reject_7) => { require([\"../utils/scroll.js\"], resolve_7, reject_7); }).then(__importStar), C.unconnectScrollShadow(e);\n }\n }, w = /* @__PURE__ */ new Map(), T, E = /* @__PURE__ */ new Map(), D = !1, we = {\n ctrl: (0, forms_CbUt_6Ff_esm_js_1.H)() ? \"⌘\" : \"Ctrl\",\n alt: (0, forms_CbUt_6Ff_esm_js_1.H)() ? \"⌥\" : \"Alt\",\n shift: (0, forms_CbUt_6Ff_esm_js_1.H)() ? \"⇧\" : \"Shift\"\n }, Te = (e) => {\n let t = e;\n return e.includes(\"Key\") && (t = e.replace(\"Key\", \"\")), e.includes(\"Digit\") && (t = e.replace(\"Digit\", \"\")), e === \"Escape\" && (t = \"Esc\"), t;\n }, O = (t, n) => {\n let r = Te(t);\n if (!n)\n return r;\n let { ctrl: i, alt: a, shift: o } = we, s = [];\n return n.ctrl && s.push(i), n.alt && s.push(a), n.shift && s.push(o), s.push(r), s.join((0, forms_CbUt_6Ff_esm_js_1.H)() ? \"\" : \"+\");\n }, k = (e, t, n) => {\n let r = O(t, n);\n if (e.__TOP_V_SHORTCUT_VALUE) {\n console.warn(`Element already has shortcut \"${e.__TOP_V_SHORTCUT_VALUE}\"`);\n return;\n }\n if (E.has(r)) {\n console.warn(`Shortcut \"${r}\" is taken`);\n return;\n }\n E.set(r, e), e.title = e.title ? `${e.title} (${r})` : r, e.__TOP_V_SHORTCUT_VALUE = r;\n }, A = (e) => {\n let t = e.__TOP_V_SHORTCUT_VALUE;\n t && (E.delete(t), delete e.__TOP_V_SHORTCUT_VALUE, e.title === t && e.removeAttribute(\"title\"), e.title.includes(` (${t})`) && (e.title = e.title.replace(` (${t})`, \"\")));\n }, Ee = () => {\n for (let [e] of w)\n !(0, dom_js_1.isVisible)(e) && e.__TOP_V_SHORTCUT_VALUE && A(e);\n for (let [e, t] of w)\n (0, dom_js_1.isVisible)(e) && !e.__TOP_V_SHORTCUT_VALUE && k(e, t.value, t.modifiers);\n w.clear();\n }, De = async (e, t, n) => {\n if (!T) {\n let { debounce: e } = await new Promise((resolve_8, reject_8) => { require([\"../utils/lodash.js\"], resolve_8, reject_8); }).then(__importStar);\n T = e(Ee, 30);\n }\n w.set(e, {\n value: t,\n modifiers: n\n }), T();\n }, j = () => {\n D || (D = !0, document.addEventListener(\"keydown\", (t) => {\n if (!(t.target instanceof HTMLElement) || [\"INPUT\", \"TEXTAREA\"].includes(t.target.tagName) || t.target.isContentEditable)\n return;\n let n = {\n ctrl: (0, forms_CbUt_6Ff_esm_js_1.H)() ? t.metaKey : t.ctrlKey,\n alt: t.altKey,\n shift: t.shiftKey\n }, r = O(t.code, n), i = E.get(r);\n i && (i.disabled || !(0, dom_js_1.isVisible)(i) || (t.preventDefault(), i.click()));\n }));\n }, Oe = {\n mounted: function (e, t) {\n let { value: n, modifiers: r } = t;\n !n || !(0, dom_js_1.isVisible)(e) || (j(), k(e, n, r));\n },\n updated: function (e, t) {\n if (!!e.__TOP_V_SHORTCUT_VALUE === (0, dom_js_1.isVisible)(e))\n return;\n let { value: n, modifiers: r } = t;\n n && (j(), De(e, n, r));\n },\n unmounted: function (e) {\n A(e);\n }\n }, M, ke = {\n mounted(e, t, n) {\n let r = t.value || \"top-sticky\";\n M = new IntersectionObserver((n) => {\n let i = n[0].intersectionRatio < 1;\n i && t.modifiers.bottom && n[0].intersectionRect.y === 0 && (i = !1), e.classList.toggle(r, i);\n }, { threshold: [1] }), M.observe(e);\n },\n unmounted(e, t, n) {\n M?.disconnect();\n }\n }, Ae = !1, N, P = /* @__PURE__ */ new Map(), je = (e, t) => {\n let { distance: n, percent: r } = e.directiveSwipUpOptions, i = e.getBoundingClientRect().top, a = t * r / 100 / n, o = (t - i) / a;\n o <= n ? e.style.transform = `translateY(${n - o}px)` : e.style.transform = \"translateY(0px)\";\n }, Me = (e) => {\n let t = window.innerHeight;\n window.addEventListener(\"scroll\", () => {\n P.forEach((e) => je(e, t));\n }, { passive: !0 }), N = new IntersectionObserver((e) => {\n t = window.innerHeight, e.forEach((e) => {\n let t = e.target;\n if (e.intersectionRatio < .1 ? P.delete(t) : P.set(t, t), e.intersectionRatio === 0) {\n let { distance: e } = t.directiveSwipUpOptions;\n t.style.transform = `translateY(${e}px)`;\n }\n });\n }, { threshold: .1 });\n }, Ne = {\n mounted(e, t, r) {\n forms_CbUt_6Ff_esm_js_1.O.state.isMobileUA || (e.directiveSwipUpOptions = {\n distance: t.value?.distance ?? 100,\n percent: t.value?.percent ?? 30\n }, Ae ||= (Me(e), !0), N.observe(e));\n },\n unmounted(e, t, n) {\n P.delete(e), N?.unobserve(e);\n }\n }, F = (e) => {\n if (!forms_CbUt_6Ff_esm_js_1.O.$?.ui?.tooltip) {\n console.info(\"Для работы v-top-tooltip требуется глобальная загрузка jQuery UI Tooltip\");\n return;\n }\n return forms_CbUt_6Ff_esm_js_1.O.$(e);\n }, I = (e, t) => {\n let n = { ...e.value ?? {} };\n return n.content ??= t.getAttribute(\"ui-tooltip-title\") ?? t.getAttribute(\"title\") ?? \"\", n.content = String(n.content).replace(/([^<>])\\r?\\n([^<>])/g, \"$1<br>$2\"), n.position ??= {\n my: \"bottom-18px\",\n at: \"top center\",\n collision: \"flipfit\"\n }, n;\n }, Pe = {\n mounted(e, t) {\n F(e)?.tooltip(I(t, e));\n },\n updated(e, t) {\n let n = I(t, e), r = F(e)?.tooltip(\"instance\");\n if (!r) {\n F(e)?.tooltip(n);\n return;\n }\n r.options = {\n ...r.options,\n ...n\n };\n },\n unmounted(e) {\n F(e)?.tooltip(\"destroy\");\n }\n }, Fe = (0, vue_1.defineAsyncComponent)(() => new Promise((resolve_9, reject_9) => { require([\"./notice-CslVdVNm.esm.js\"], resolve_9, reject_9); }).then(__importStar));\n window.vd = console.log;\n var Ie = { install: (e, t) => {\n e.config.globalProperties.$core = forms_CbUt_6Ff_esm_js_1.O, e.config.globalProperties.$vd = console.log;\n for (let e in t)\n forms_CbUt_6Ff_esm_js_1.O.state[e] = t[e];\n t.widthForMobile && (forms_CbUt_6Ff_esm_js_1.O.widthForMobile = t.widthForMobile), t.themeName && (forms_CbUt_6Ff_esm_js_1.O.themeName = t.themeName), forms_CbUt_6Ff_esm_js_1.O._setState(), t.topPopupOptions && (worker_Db8YrEHo_esm_js_1.t.options = t.topPopupOptions), d.init(), dialogs_CMrERMI7_esm_js_1.i.init(t.topDialogOptions), e.directive(\"top-data\", ve), e.directive(\"top-focus\", be), e.directive(\"top-scroll-into-view\", Se), e.directive(\"top-scroll-shadow\", Ce), e.directive(\"top-shortcut\", Oe), e.directive(\"top-sticky\", ke), e.directive(\"top-swim-up\", Ne), e.directive(\"top-tooltip\", Pe), e.component(\"TopAvatar\", forms_CbUt_6Ff_esm_js_1.g), e.component(\"TopButton\", forms_CbUt_6Ff_esm_js_1.h), e.component(\"TopCheckbox\", forms_CbUt_6Ff_esm_js_1.f), e.component(\"TopControlLabel\", forms_CbUt_6Ff_esm_js_1.p), e.component(\"TopHint\", forms_CbUt_6Ff_esm_js_1.d), e.component(\"TopInput\", forms_CbUt_6Ff_esm_js_1.c), e.component(\"TopInputDate\", forms_CbUt_6Ff_esm_js_1.s), e.component(\"TopInputRange\", forms_CbUt_6Ff_esm_js_1.o), e.component(\"TopLoadbar\", forms_CbUt_6Ff_esm_js_1.l), e.component(\"TopRadio\", forms_CbUt_6Ff_esm_js_1.a), e.component(\"TopSelect\", forms_CbUt_6Ff_esm_js_1.n), e.component(\"TopSwitcher\", forms_CbUt_6Ff_esm_js_1.i), e.component(\"TopTextarea\", forms_CbUt_6Ff_esm_js_1.r), e.component(\"TopNotice\", Fe), e.component(\"TopDialogs\", dialogs_CMrERMI7_esm_js_1.t);\n } };\n exports.n = Ie;\n //#endregion\n //#region \\0@oxc-project+runtime@0.124.0/helpers/checkPrivateRedeclaration.js\n function L(e, t) {\n if (t.has(e))\n throw TypeError(\"Cannot initialize the same private elements twice on an object\");\n }\n //#endregion\n //#region \\0@oxc-project+runtime@0.124.0/helpers/classPrivateMethodInitSpec.js\n function Le(e, t) {\n L(e, t), t.add(e);\n }\n //#endregion\n //#region \\0@oxc-project+runtime@0.124.0/helpers/classPrivateFieldInitSpec.js\n function R(e, t, n) {\n L(e, t), t.set(e, n);\n }\n //#endregion\n //#region \\0@oxc-project+runtime@0.124.0/helpers/assertClassBrand.js\n function z(e, t, n) {\n if (typeof e == \"function\" ? e === t : e.has(t))\n return arguments.length < 3 ? t : n;\n throw TypeError(\"Private element is not present on this object\");\n }\n //#endregion\n //#region \\0@oxc-project+runtime@0.124.0/helpers/classPrivateFieldSet2.js\n function B(e, t, n) {\n return e.set(z(e, t), n), n;\n }\n //#endregion\n //#region \\0@oxc-project+runtime@0.124.0/helpers/classPrivateFieldGet2.js\n function V(e, t) {\n return e.get(z(e, t));\n }\n //#endregion\n //#region src/core/plugins/piniaTPA.ts\n var H = /* @__PURE__ */ new WeakMap(), U = /* @__PURE__ */ new WeakMap(), W = /* @__PURE__ */ new WeakMap(), G = /* @__PURE__ */ new WeakMap(), K = /* @__PURE__ */ new WeakMap(), q = /* @__PURE__ */ new WeakMap(), J = /* @__PURE__ */ new WeakMap(), Y = /* @__PURE__ */ new WeakMap(), X = /* @__PURE__ */ new WeakMap(), Z = /* @__PURE__ */ new WeakSet(), Re = class {\n constructor(e) {\n Le(this, Z), R(this, H, void 0), R(this, U, void 0), R(this, W, void 0), R(this, G, void 0), R(this, K, void 0), R(this, q, []), R(this, J, []), R(this, Y, []), R(this, X, []), B(U, this, e.store), B(H, this, V(U, this).$id), B(W, this, e.options.Page), B(G, this, e.options.user), B(K, this, e.options.Api), B(q, this, e.options.tpaNamesUrlHash || []), B(J, this, e.options.tpaNamesStorage || []), B(Y, this, e.options.tpaNamesStorageLocal || []), B(X, this, e.options.tpaNamesGuestLink || []), e.store.genGuestLink = (e, t) => this.genGuestLink(e, t), V(G, this).guest_data?.data || (z(Z, this, We).call(this), z(Z, this, We).call(this, !0), z(Z, this, He).call(this)), z(Z, this, Ke).call(this), z(Z, this, qe).call(this);\n let t = (0, forms_CbUt_6Ff_esm_js_1.P)(() => {\n z(Z, this, Ue).call(this), z(Z, this, Ge).call(this), z(Z, this, Ge).call(this, !0);\n });\n e.store.$subscribe(t);\n }\n async genGuestLink(e, t) {\n let n = z(Z, this, ze).call(this);\n t = Object.assign(t, Object.fromEntries(n));\n let r = await V(K, this).gen(e).setParams(t).call();\n if (r?.errors)\n return;\n let i = r.result;\n await (0, clipboard_js_1.guestLinkToClipboard)(i);\n }\n };\n function ze() {\n let e = /* @__PURE__ */ new Map();\n return V(X, this).forEach((t) => {\n let n = (0, string_js_1.camelToSnakeCase)(t);\n e.set(n, V(U, this)[t]);\n }), e;\n }\n function Q(e) {\n e.forEach((e, t) => {\n let n = V(U, this)[t];\n e != null && n !== void 0 && e?.constructor && e.constructor === n.constructor && (t.indexOf(\"date\") === 0 && !Array.isArray(e) && typeof e == \"string\" && !/\\d\\d\\d\\d-\\d\\d-\\d\\d/.test(e) || (V(U, this)[t] = e));\n });\n }\n function Be(e) {\n let t = /* @__PURE__ */ new Map();\n return e.forEach((e, n) => {\n e !== null && (e = JSON.stringify(e), t.set(n, e));\n }), t;\n }\n function Ve(e) {\n let t = /* @__PURE__ */ new Map();\n return e.forEach((e, n) => {\n if (!(e == null || e === \"false\")) {\n try {\n if (typeof e == \"string\" && !/^\\d\\d\\d\\d-\\d\\d-\\d\\d$/.test(e) && (e = JSON.parse(e)), e == null || e === \"false\")\n return;\n }\n catch { }\n t.set(n, e);\n }\n }), t;\n }\n function He() {\n let e;\n try {\n e = JSON.parse((0, route_js_1.getHash)(V(H, this)));\n }\n catch { }\n if (!e)\n return;\n let t = /* @__PURE__ */ new Map();\n V(q, this).forEach((n) => {\n let r = e[n];\n r && t.set(n, r);\n }), z(Z, this, Q).call(this, t);\n }\n function Ue() {\n let e = /* @__PURE__ */ new Map();\n V(q, this).forEach((t) => {\n let n = V(U, this)[t];\n e.set(t, n);\n });\n let t = Object.fromEntries(e), n = JSON.stringify(t);\n (0, route_js_1.setHash)(V(H, this), n);\n }\n function We(e = !1) {\n let t = /* @__PURE__ */ new Map(), n = V(J, this), r = \"state:\" + V(H, this);\n e && (n = V(Y, this), r = \"state:\" + V(H, this) + \":\" + location.pathname), n.forEach((e) => {\n let n = localStorage.getItem(r + \":\" + e);\n t.set(e, n);\n });\n let i = z(Z, this, Ve).call(this, t);\n z(Z, this, Q).call(this, i);\n }\n function Ge(e = !1) {\n let t = /* @__PURE__ */ new Map(), n = V(J, this), r = \"state:\" + V(H, this);\n e && (n = V(Y, this), r = \"state:\" + V(H, this) + \":\" + location.pathname), n.forEach((e) => {\n let n = V(U, this)[e];\n t.set(e, n);\n });\n let i = z(Z, this, Be).call(this, t);\n n.forEach((e) => {\n let t = i.get(e);\n localStorage.setItem(r + \":\" + e, t);\n });\n }\n function Ke() {\n let e = V(G, this)?.guest_data?.data;\n if (!e)\n return;\n V(G, this).id === -1 && (V(G, this).positionsReverseDates = e.positionsReverseDates);\n let t = /* @__PURE__ */ new Map();\n V(X, this).forEach((n) => {\n let r = e[n];\n t.set(n, r);\n });\n let n = z(Z, this, Ve).call(this, t);\n z(Z, this, Q).call(this, n);\n let r = $(\".mod_guest_title\");\n if (V(U, this).competitorsIds?.length === 1 && V(W, this).page.data.competitors) {\n let t = V(W, this).page.data.competitors.filter((t) => t.id === e.competitorsIds[0]);\n t.length && ($(\"a\", r).attr(\"href\", \"http://\" + t[0].url), $(\"a\", r).text(t[0].name));\n }\n }\n function qe() {\n V(U, this).regionsIndexes && (0, vue_1.watch)(V(U, this).regionsIndexes, (e) => {\n if (!e.length)\n return;\n e.forEach((t, n) => e[n] = t);\n let t = TplProjectSelectorRegion.genSearchersMap(), n = [];\n t.forEach((e) => {\n e.regions.forEach((e) => {\n e.index !== -1 && n.push(e.index);\n });\n }), V(U, this).regionsIndexes = e.filter((e) => n.includes(e));\n }, { immediate: !0 }), V(U, this).competitorsIds && (0, vue_1.watch)(V(U, this).competitorsIds, (e) => {\n if (!e.length)\n return;\n e.forEach((t, n) => e[n] = t);\n let t = [V(W, this).page.data.project.id];\n V(W, this).page.data.project.competitors.forEach((e) => {\n e.on >= 0 && t.push(e.id);\n }), V(U, this).competitorsIds = e.filter((e) => t.includes(e));\n }, { immediate: !0 });\n }\n var Je = (e) => {\n let t = e;\n !t.options.tpaNamesUrlHash?.length && !t.options.tpaNamesStorage?.length && !t.options.tpaNamesStorageLocal?.length && !t.options.tpaNamesGuestLink?.length || new Re(t);\n };\n exports.t = Je;\n});\n//# sourceMappingURL=app-CCX-gNqz.esm.js.map\n","import Core from '@/core/core/core';\nimport Events from '@/core/core/events';\nimport Worker from '@/components/popup/lib/worker';\n\n/**\n * Глобальные события, для реализации Popup\n */\nclass WorkerEvents {\n\n\tprivate static isInited = false;\n\n\t/**\n\t * Добавить глобальные обработчики\n\t *\n\t * Добавляются на страницу один раз и навсегда\n\t */\n\tstatic init(): void {\n\t\tif (this.isInited) return;\n\n\t\tthis.isInited = true;\n\n\t\t// автоматическое открытие при наведении мыши, событие глобальное, так как инициализация popup отложена\n\t\tdocument.addEventListener('mouseover', (e) => {\n\t\t\tif (!(e.target instanceof HTMLElement) || !e.target.dataset?.topPopupOpenByHover) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\te.target.click();\n\t\t});\n\n\t\t// при скролле страницы закрыть Popup\n\t\tdocument.addEventListener('scroll', () => {\n\t\t\tif (Core.state.isMobile || Core.state.isMobileUA) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tWorker.getAll().forEach(elPopup => Worker.close(elPopup));\n\t\t});\n\n\t\tEvents.addOnReize(e => {\n\t\t\t// закрыть popup при повороте экрана телефона\n\t\t\t// если была отображена ПК версия, она будет закрыта\n\t\t\tif (Core.state.isMobile && e.topEvent.widthDiff) {\n\t\t\t\tWorker.getAll().forEach(elPopup => Worker.close(elPopup));\n\t\t\t}\n\t\t});\n\n\t\tdocument.addEventListener('click', this.onclick, { capture: true });\n\t}\n\n\t/**\n\t * Глобальный обработчик кликов\n\t *\n\t * Обрабатывает клики на открытие Popup\n\t */\n\tprivate static async onclick(e: Event): Promise<void> {\n\t\tif (!(e.target instanceof HTMLElement)) return;\n\n\t\tif (e.target.dataset.topPopupDisabled) {\n\t\t\treturn;\n\t\t}\n\n\t\tlet elOpener: HTMLElement | undefined;\n\n\t\tswitch (true) {\n\t\t\tcase !!e.target.dataset?.topPopup:\n\t\t\t\telOpener = e.target;\n\n\t\t\t\tbreak;\n\n\t\t\tcase !!e.target.parentElement?.dataset.topPopup:\n\t\t\t\telOpener = e.target.parentElement;\n\n\t\t\t\tbreak;\n\n\t\t\tcase !!e.target.parentElement?.parentElement?.dataset.topPopup:\n\t\t\t\telOpener = e.target.parentElement?.parentElement;\n\n\t\t\t\tbreak;\n\t\t}\n\n\t\tif (!elOpener) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (elOpener.dataset.topPopupDisabled) {\n\t\t\treturn;\n\t\t}\n\n\t\t// меню уже открыто\n\t\tif (elOpener.dataset.topPopupOpened) {\n\t\t\tconst popup = Worker.getPopupFromOpener(elOpener);\n\t\t\tif (!popup?.openerIsInput) {\n\t\t\t\tpopup?.close();\n\t\t\t}\n\n\t\t\treturn;\n\t\t}\n\n\t\te.preventDefault();\n\n\t\tawait Worker.openByOpener(elOpener);\n\t}\n}\n\nexport default WorkerEvents;\n","import type { DirectiveBinding, ObjectDirective } from 'vue';\n\nlet storage: any;\n\n/**\n * Сохранить данные в элементе\n *\n * Для доступа к данным можно воспользоваться ui/utils/dom storage()\n */\nconst data = {\n\tmounted: async (el: HTMLElement, binding: DirectiveBinding) => {\n\t\tif (!storage) {\n\t\t\tconst UtilsDom = await import('@/core/utils/dom');\n\n\t\t\tstorage = UtilsDom.storage;\n\t\t}\n\n\t\tconst name = binding.arg;\n\t\tconst value = binding.value;\n\n\t\tstorage(el, name, value);\n\t},\n};\n\nexport default data;\n","import type { DirectiveBinding } from 'vue';\n\ntype Binding = DirectiveBinding<boolean, 'onupdate'>;\n\nlet UtilsLodash: typeof import('@/core/utils/lodash');\n\n/**\n * Список элементов, на которых бала запрошена фокусировка, для дедупликации фокусировок\n */\nlet elsActive: HTMLElement[] = [];\n\n/**\n * Функция скролла с дедупликацией\n */\nlet focusOnElActiveDebounce: Function;\n\n/**\n * Выполнить фокусировку на активном элементе\n *\n * Если фокусирока запрошена на несколько элементов, будет выбран первый элемент\n */\nconst focusOnElActive = async () => {\n\tconst { isVisible } = await import('@/core/utils/dom');\n\telsActive = elsActive.filter(isVisible)\n\n\tif (!elsActive.length) return;\n\n\tconst el = elsActive[0];\n\n\tel.focus();\n\n\t// // UX: Если выбрано несколько чекбоксов или радио после выбора фокусировка будет снята, чтобы не делать выбор за пользователя\n\t// if (elsActive.length && el.nodeName === 'INPUT') {\n\t// \tconst type = (el as HTMLInputElement).type;\n\t// \tif (type === 'checkbox' || type === 'radio') el.blur();\n\t// }\n\n\telsActive = [];\n};\n\n/**\n * Выполнить дедуплицированную фокусировку на элементе\n */\nconst focusOnElDebounce = async (el: HTMLElement) => {\n\tif (!UtilsLodash) UtilsLodash = await import('@/core/utils/lodash');\n\tif (!focusOnElActiveDebounce) focusOnElActiveDebounce = UtilsLodash.debounce(focusOnElActive, 30);\n\n\telsActive.push(el);\n\n\tfocusOnElActiveDebounce();\n};\n\n/**\n * Фокусировка на элементе сразу после его отображения\n */\nconst focus = {\n\tmounted: function (el: HTMLElement, binding: Binding) {\n\t\tel['__TOP_V_FOCUS_VALUE'] = binding.value ?? true;\n\n\t\tif (binding.value ?? true) focusOnElDebounce(el);\n\t},\n\n\tupdated: function (el: HTMLElement, binding: Binding) {\n\t\tif (!binding.modifiers.onupdate) return;\n\n\t\tif (el['__TOP_V_FOCUS_VALUE'] === (binding.value ?? true)) return;\n\t\tel['__TOP_V_FOCUS_VALUE'] = binding.value ?? true;\n\n\t\tif (binding.value ?? true) focusOnElDebounce(el);\n\t},\n};\n\nexport default focus;\n","import type { DirectiveBinding, ObjectDirective } from 'vue';\nimport { isVisible } from '@/core/utils/dom';\n\ntype Binding = DirectiveBinding<ScrollIntoViewOptions | boolean | undefined, 'immediate'>;\n\ntype Storage = {\n\t/**\n\t * Сохраненное состояние видимости\n\t */\n\tisVisible: boolean,\n\n\t/**\n\t * Текущие настройки скролла\n\t */\n\tscrollIntoViewOptions: ScrollIntoViewOptions | boolean\n};\n\nlet UtilsDom: typeof import('@/core/utils/dom');\nlet UtilsLodash: typeof import('@/core/utils/lodash');\n\n/**\n * Сгенерировать настройки для скролла\n *\n * @see https://developer.mozilla.org/ru/docs/Web/API/Element/scrollIntoView\n */\nconst genScrollIntoViewOptions = (scrollIntoViewOptions?: ScrollIntoViewOptions | boolean) => {\n\tif (typeof scrollIntoViewOptions === 'boolean') return scrollIntoViewOptions;\n\n\tif (!scrollIntoViewOptions) {\n\t\tscrollIntoViewOptions = {};\n\t} else {\n\t\tscrollIntoViewOptions = { ...scrollIntoViewOptions };\n\t}\n\n\tscrollIntoViewOptions.behavior ??= 'smooth';\n\tscrollIntoViewOptions.block ??= 'nearest';\n\tscrollIntoViewOptions.inline ??= 'nearest';\n\n\treturn scrollIntoViewOptions;\n};\n\n/**\n * Активный элемент, для дедупликации скроллов\n *\n * Только один элемент на странице может считаться активным\n */\nlet elActive: HTMLElement | undefined;\n\n/**\n * Функция скролла с дедупликацией\n */\nlet scrollToElActiveDebounce: Function;\n\n/**\n * Выполнить скролл к текущему активному элементу\n */\nconst scrollToElActive = async () => {\n\tif (!elActive) return;\n\n\tconst storage = await useStorage(elActive);\n\tif (!storage.isVisible) return;\n\n\telActive.scrollIntoView(storage.scrollIntoViewOptions);\n};\n\n/**\n * Выполнить дедуплицированный скролл к элементу\n *\n * Будет выполнен скролл к самому последнему элементу, вызвавшему срабатывание директивы\n */\nconst scrollToElDebounce = async (el: HTMLElement) => {\n\tif (!UtilsLodash) UtilsLodash = await import('@/core/utils/lodash');\n\tif (!scrollToElActiveDebounce) scrollToElActiveDebounce = UtilsLodash.debounce(scrollToElActive, 30);\n\n\telActive = el;\n\n\tscrollToElActiveDebounce();\n};\n\n/**\n * Данные, связанные с элементом и директивой\n */\nconst useStorage = async (el: HTMLElement, scrollIntoViewOptions?: ScrollIntoViewOptions | boolean) => {\n\tif (!UtilsDom) UtilsDom = await import('@/core/utils/dom');\n\n\tlet storage: Storage | undefined = UtilsDom.storage(el, 'v-top-scrollIntoView');\n\n\t// инициализация\n\tif (!storage) {\n\t\tstorage = {\n\t\t\tisVisible: isVisible(el),\n\t\t\tscrollIntoViewOptions: genScrollIntoViewOptions(scrollIntoViewOptions),\n\t\t};\n\n\t\tUtilsDom.storage(el, 'v-top-scrollIntoView', storage);\n\t}\n\n\treturn storage;\n};\n\nconst scrollIntoView: ObjectDirective = {\n\tasync mounted(el: HTMLElement, binding: Binding) {\n\t\tawait useStorage(el, binding.value);\n\n\t\tif (binding.modifiers.immediate) {\n\t\t\tscrollToElDebounce(el);\n\t\t}\n\t},\n\n\tasync updated(el: HTMLElement, binding: Binding) {\n\t\tconst storage = await useStorage(el, binding.value);\n\t\tstorage.scrollIntoViewOptions = genScrollIntoViewOptions(binding.value);\n\n\t\tconst isVisibleNew = isVisible(el);\n\t\tif (isVisibleNew && storage.isVisible !== isVisibleNew) {\n\t\t\tscrollToElDebounce(el);\n\t\t}\n\n\t\tstorage.isVisible = isVisibleNew;\n\t},\n};\n\nexport default scrollIntoView;\n","let UtilsScroll: typeof import('@/core/utils/scroll');\n\n/**\n * Добавить отображение тени при появлении скролла у элемента\n *\n * Будут добавлены события для усатновки модификаторов тени в зависимости от скролла элемента\n *\n * Модификаторы:\n * - top-scrollShadow\n * - top-scrollShadow-started\n * - top-scrollShadow-finished\n */\nconst connectScrollShadow = {\n\tasync mounted(el) {\n\t\tif (!UtilsScroll) UtilsScroll = await import('@/core/utils/scroll');\n\n\t\tUtilsScroll.connectScrollShadow(el);\n\t},\n\n\tasync unmounted(el) {\n\t\tif (!UtilsScroll) UtilsScroll = await import('@/core/utils/scroll');\n\n\t\tUtilsScroll.unconnectScrollShadow(el);\n\t},\n};\n\nexport default connectScrollShadow;\n","import { isVisible } from '@/core/utils/dom';\nimport { isMacOS } from '@/core/utils/device';\nimport type { DirectiveBinding } from 'vue';\nimport type debounce from 'lodash-es/debounce.js';\n\nexport type ShortcutValue = string;\n\n/**\n * Допустимые модификаторы\n */\ntype AllowedModifiers = 'ctrl' | 'shift' | 'alt';\ntype Binding = DirectiveBinding<ShortcutValue, AllowedModifiers>;\n\n/**\n * Очередь элементов, ожидающих синхронизации горячих клавиш.\n * Накапливает изменения для их пакетной обработки\n */\nconst elsShortcutQueue = new Map<HTMLElement, {\n\tvalue: ShortcutValue;\n\tmodifiers: Binding['modifiers'];\n}>;\n\n/**\n * Отложенная версия функции syncShortcuts.\n * Обеспечивает пакетную обработку изменений горячих клавиш\n */\nlet syncShortcutsDebounce: ReturnType<typeof debounce> | undefined;\n\n/**\n * Список горячих клавиш и html элементов, на которые они назначены\n */\nconst elementByShortcut = new Map<string, HTMLElement>();\n\n/**\n * Добавлен ли обработчик события\n */\nlet isListenerAttached = false;\n\n/**\n * Отображение названий клавиш-модификаторов в зависимости от ОС\n *\n * В наших горячих клавишах Ctrl всегда соответствует Cmd в MacOS\n */\nconst modifierKeys = {\n\tctrl: isMacOS() ? '⌘' : 'Ctrl',\n\talt: isMacOS() ? '⌥' : 'Alt',\n\tshift: isMacOS() ? '⇧' : 'Shift',\n};\n\n/**\n * Получить название клавиши из event.code\n */\nconst getKeyLabel = (code: string) => {\n\tlet keyLabel = code;\n\n\tif (code.includes('Key')) keyLabel = code.replace('Key', '');\n\tif (code.includes('Digit')) keyLabel = code.replace('Digit', '');\n\tif (code === 'Escape') keyLabel = 'Esc';\n\n\treturn keyLabel;\n};\n\n/**\n * Сгенерировать строковое представление сочетания клавиш с модификаторами\n *\n * Приводим к виду \"Ctrl+Shift+A\" или \"⌘⇧A\" для MacOS\n */\nconst genShortcutString = (code: string, modifiers: Binding['modifiers']) => {\n\tconst keyLabel = getKeyLabel(code);\n\tif (!modifiers) return keyLabel;\n\n\tconst { ctrl, alt, shift } = modifierKeys;\n\tconst parts: string[] = [];\n\n\tif (modifiers.ctrl) parts.push(ctrl);\n\tif (modifiers.alt) parts.push(alt);\n\tif (modifiers.shift) parts.push(shift);\n\n\t// Основная клавиша\n\tparts.push(keyLabel);\n\n\treturn parts.join(isMacOS() ? '' : '+');\n};\n\nconst registerShortcut = (el: HTMLElement, value: ShortcutValue, modifiers: Binding['modifiers']) => {\n\tconst shortcut = genShortcutString(value, modifiers);\n\n\tif (el['__TOP_V_SHORTCUT_VALUE']) {\n\t\tconsole.warn(`Element already has shortcut \"${el['__TOP_V_SHORTCUT_VALUE']}\"`);\n\n\t\treturn;\n\t}\n\n\tif (elementByShortcut.has(shortcut)) {\n\t\tconsole.warn(`Shortcut \"${shortcut}\" is taken`);\n\n\t\treturn;\n\t}\n\n\telementByShortcut.set(shortcut, el);\n\tel.title = el.title ? `${el.title} (${shortcut})` : shortcut;\n\tel['__TOP_V_SHORTCUT_VALUE'] = shortcut;\n};\n\nconst unregisterShortcut = (el: HTMLElement) => {\n\tconst shortcut: string | undefined = el['__TOP_V_SHORTCUT_VALUE'];\n\tif (!shortcut) return;\n\n\telementByShortcut.delete(shortcut);\n\tdelete el['__TOP_V_SHORTCUT_VALUE'];\n\n\tif (el.title === shortcut) el.removeAttribute('title');\n\tif (el.title.includes(` (${shortcut})`)) {\n\t\tel.title = el.title.replace(` (${shortcut})`, '');\n\t}\n};\n\n/**\n * Обновить регистрацию горячих клавиш для элементов в очереди\n *\n * Отменяет регистрацию для невидимых элементов и регистрирует для видимых.\n * Очищает очередь после обработки\n */\nconst syncShortcuts = () => {\n\tfor (const [el] of elsShortcutQueue) {\n\t\tif (!isVisible(el) && el['__TOP_V_SHORTCUT_VALUE']) {\n\t\t\tunregisterShortcut(el);\n\t\t}\n\t}\n\n\tfor (const [el, data] of elsShortcutQueue) {\n\t\tif (isVisible(el) && !el['__TOP_V_SHORTCUT_VALUE']) {\n\t\t\tregisterShortcut(el, data.value, data.modifiers);\n\t\t}\n\t}\n\n\telsShortcutQueue.clear();\n};\n\n/**\n * Выполняет отложенную регистрацию горячих клавиш на элементе с дедупликацией\n */\nconst registerShortcutDebounce = async (el: HTMLElement, value: ShortcutValue, modifiers: Binding['modifiers']) => {\n\tif (!syncShortcutsDebounce) {\n\t\tconst { debounce } = await import('@/core/utils/lodash');\n\t\tsyncShortcutsDebounce = debounce(syncShortcuts, 30);\n\t}\n\n\telsShortcutQueue.set(el, { value, modifiers });\n\n\tsyncShortcutsDebounce();\n};\n\nconst attachGlobalListener = () => {\n\tif (isListenerAttached) return;\n\tisListenerAttached = true;\n\n\tdocument.addEventListener('keydown', e => {\n\t\tif (!(e.target instanceof HTMLElement)) return;\n\t\tif (['INPUT', 'TEXTAREA'].includes(e.target.tagName) || e.target.isContentEditable) return;\n\n\t\tconst modifiers = {\n\t\t\tctrl: isMacOS() ? e.metaKey : e.ctrlKey,\n\t\t\talt: e.altKey,\n\t\t\tshift: e.shiftKey,\n\t\t};\n\n\t\tconst shortcut = genShortcutString(e.code, modifiers);\n\t\tconst element = elementByShortcut.get(shortcut);\n\n\t\tif (!element) return;\n\t\tif ((element as any).disabled || !isVisible(element)) return;\n\n\t\te.preventDefault();\n\t\telement.click();\n\t});\n};\n\nconst shortcut = {\n\tmounted: function (el: HTMLElement, binding: Binding) {\n\t\tconst { value, modifiers } = binding;\n\t\tif (!value || !isVisible(el)) return;\n\n\t\tattachGlobalListener();\n\t\tregisterShortcut(el, value, modifiers);\n\t},\n\n\tupdated: function (el: HTMLElement, binding: Binding) {\n\t\tif (!!el['__TOP_V_SHORTCUT_VALUE'] === isVisible(el)) return;\n\n\t\tconst { value, modifiers } = binding;\n\t\tif (!value) return;\n\n\t\tattachGlobalListener();\n\t\tvoid registerShortcutDebounce(el, value, modifiers);\n\t},\n\n\tunmounted: function (el: HTMLElement) {\n\t\tunregisterShortcut(el);\n\t},\n};\n\nexport default shortcut;\n","import type { DirectiveBinding, ObjectDirective, VNode } from 'vue';\n\nlet appStickyObserver: IntersectionObserver;\n\n/**\n * Добавление sticky\n * К элементу добляется класс переданный как значение диррективы либо **'top-sticky'** по умолчанию\n */\nconst sticky = {\n\tmounted(el: HTMLElement, binding: DirectiveBinding, _vnode: VNode) {\n\t\tconst className = binding.value || 'top-sticky';\n\n\t\tappStickyObserver = new IntersectionObserver(entries => {\n\t\t\tlet condition = entries[0].intersectionRatio < 1;\n\t\t\tif (condition) {\n\t\t\t\tif (binding.modifiers.bottom && entries[0].intersectionRect.y === 0) condition = false;\n\t\t\t}\n\n\t\t\tel.classList.toggle(className, condition);\n\t\t}, {\n\t\t\tthreshold: [1],\n\t\t});\n\n\t\tappStickyObserver.observe(el);\n\t},\n\n\tunmounted(_el: HTMLElement, _binding: DirectiveBinding, _vnode: VNode) {\n\t\tappStickyObserver?.disconnect();\n\t},\n};\n\nexport default sticky;\n","import type { DirectiveBinding, ObjectDirective, VNode } from 'vue';\nimport Core from '@/core/core/core';\n\ninterface HTMLElementWithSwimUpOptions extends HTMLElement {\n\tdirectiveSwipUpOptions: {\n\t\tdistance: number,\n\t\tpercent: number,\n\t};\n}\n\nlet appSwimUpInited = false;\nlet appSwimUpObserver: IntersectionObserver;\nconst appSwimUpEls = new Map();\n\n/**\n * Отодвинуть блок в зависимости от скролла старинцы\n * @param el\n * @param windowHeight\n */\nconst swimUpElTransform = (el: HTMLElementWithSwimUpOptions, windowHeight: number): void => {\n\tconst { distance, percent } = el.directiveSwipUpOptions;\n\n\tconst elTop = el.getBoundingClientRect().top;\n\n\t// во столько раз triggerHeight должен быть меньше, чтобы закончить подплытие к нужной высоте экрана\n\tconst triggerHeightReducer = windowHeight * percent / 100 / distance;\n\tconst triggerHeight = (windowHeight - elTop) / triggerHeightReducer;\n\n\tif (triggerHeight <= distance) {\n\t\tel.style.transform = `translateY(${distance - triggerHeight}px)`;\n\t} else {\n\t\tel.style.transform = 'translateY(0px)';\n\t}\n};\n\nconst swimUpInit = (_el: HTMLElementWithSwimUpOptions): void => {\n\tlet windowHeight = window.innerHeight;\n\n\twindow.addEventListener('scroll', () => {\n\t\tappSwimUpEls.forEach((el) => swimUpElTransform(el, windowHeight));\n\t}, { passive: true });\n\n\t// проверка того, что элемент в зоне видимости\n\tappSwimUpObserver = new IntersectionObserver(entries => {\n\t\twindowHeight = window.innerHeight;\n\n\t\tentries.forEach((entry) => {\n\t\t\tconst el = entry.target as HTMLElementWithSwimUpOptions;\n\n\t\t\tif (entry.intersectionRatio < 0.1) {\n\t\t\t\t// элемент за областью видимости\n\t\t\t\tappSwimUpEls.delete(el);\n\t\t\t} else {\n\t\t\t\t// элемент на экране\n\t\t\t\tappSwimUpEls.set(el, el);\n\t\t\t}\n\n\t\t\tif (entry.intersectionRatio === 0) {\n\t\t\t\tconst { distance } = el.directiveSwipUpOptions;\n\t\t\t\tel.style.transform = `translateY(${distance}px)`;\n\t\t\t}\n\t\t});\n\t}, {\n\t\tthreshold: 0.1,\n\t});\n};\n\n/**\n * Добавление анимации подплытия вверх для блока\n */\nconst swimUp = {\n\tmounted(el: HTMLElementWithSwimUpOptions, binding: DirectiveBinding, _vnode: VNode): void {\n\t\tif (Core.state.isMobileUA) return;\n\n\t\tel.directiveSwipUpOptions = {\n\t\t\tdistance: binding.value?.distance ?? 100, // количество px на которые блок изначально смещен вниз,\n\t\t\tpercent: binding.value?.percent ?? 30, // процент высоты экрана поднявшись на который блок закончит подплытие\n\t\t};\n\n\t\tif (!appSwimUpInited) {\n\t\t\tswimUpInit(el);\n\n\t\t\tappSwimUpInited = true;\n\t\t}\n\n\t\tappSwimUpObserver.observe(el);\n\t},\n\n\tunmounted(el: HTMLElementWithSwimUpOptions, _binding: DirectiveBinding, _vnode: VNode) {\n\t\tappSwimUpEls.delete(el);\n\t\tappSwimUpObserver?.unobserve(el);\n\t},\n};\n\nexport default swimUp;\n","import type { DirectiveBinding, ObjectDirective } from 'vue';\nimport Core from '@/core/core/core';\n\nconst $ = (el: HTMLElement) => {\n\tif (!Core.$?.ui?.tooltip) {\n\t\tconsole.info('Для работы v-top-tooltip требуется глобальная загрузка jQuery UI Tooltip');\n\n\t\treturn;\n\t}\n\n\treturn Core.$(el);\n};\n\nconst tvTooltipGenOptions = (binding: DirectiveBinding, el: HTMLElement): JQueryUI.TooltipOptions => {\n\tconst options = {\n\t\t...(binding.value ?? {}),\n\t} as JQueryUI.TooltipOptions;\n\n\toptions.content ??= el.getAttribute('ui-tooltip-title') ?? el.getAttribute('title') ?? '';\n\toptions.content = String(options.content).replace(/([^<>])\\r?\\n([^<>])/g, '$1<br>$2');\n\n\toptions.position ??= {\n\t\tmy: 'bottom-18px',\n\t\tat: 'top center',\n\t\tcollision: 'flipfit',\n\t};\n\n\treturn options;\n};\n\n/**\n * Добавление всплывающей подсказки к элементу.\n */\nconst tooltip: ObjectDirective<HTMLElement> = {\n\tmounted(el, binding) {\n\t\t$(el)?.tooltip(tvTooltipGenOptions(binding, el));\n\t},\n\n\tupdated(el, binding) {\n\t\t/**\n\t\t * В результате обновления может быть открыто несколько тултипов поэтому изменить опции, без перерисовки тултипа\n\t\t */\n\t\tconst options = tvTooltipGenOptions(binding, el);\n\t\tconst instance = $(el)?.tooltip('instance') as { options: JQueryUI.TooltipOptions } | undefined;\n\n\t\tif (!instance) {\n\t\t\t$(el)?.tooltip(options);\n\t\t\treturn;\n\t\t}\n\n\t\tinstance.options = {\n\t\t\t...instance.options,\n\t\t\t...options,\n\t\t};\n\t},\n\n\tunmounted(el) {\n\t\t$(el)?.tooltip('destroy');\n\t},\n};\n\nexport default tooltip;\n","import { defineAsyncComponent, type Plugin } from 'vue';\nimport type { PartialBy } from '@/components/types';\n\nimport Core from '@/core/core/core';\nimport coreDefaultOptions from '@/core/core/options';\n\nimport * as Forms from '../../components/forms/forms';\n\nconst TopNotice = defineAsyncComponent(() => import('@/components/core/notice/notice.vue'));\n\nimport type { Options as TopPopupOptions } from '@/components/popup/lib/worker';\nimport TopPopupWorker from '@/components/popup/lib/worker';\nimport TopPopupWorkerGlobalEvents from '@/components/popup/lib/worker.globalEvents';\n\nimport TopDialogs from '@/components/dialog/dialog/dialogs/dialogs.vue';\nimport { TopDialogWorker } from '@/components/dialog/lib/worker';\nimport type { TopDialogOptions } from '@/components/dialog/lib/types';\n\nimport directiveData from '@/core/directives/data';\nimport directiveFocus from '@/core/directives/focus';\nimport directiveScrollIntoView from '@/core/directives/scrollIntoView';\nimport directiveScrollShadow from '@/core/directives/scrollShadow';\nimport directiveShortcut from '@/core/directives/shortcut';\nimport directiveSticky from '@/core/directives/sticky';\nimport directiveSwimUp from '@/core/directives/swimUp';\nimport directiveTooltip from '@/core/directives/tooltip';\n\ndeclare global {\n\tconst vd: typeof console.log;\n}\n\nwindow['vd'] = console.log;\n\ndeclare module '@vue/runtime-core' {\n\tinterface ComponentCustomProperties {\n\t\t/**\n\t\t * Статический класс с текущим состоянимем UI\n\t\t */\n\t\t$core: typeof Core;\n\n\t\t$vd: typeof console.log;\n\t}\n\n\t/**\n\t * Обязательные компоненты UI\n\t *\n\t * Они подключаются через плагин и доступны без явного указания импорта\n\t */\n\texport interface GlobalComponents {\n\t\tTopAvatar: typeof Forms.TopAvatar;\n\t\tTopButton: typeof Forms.TopButton;\n\t\tTopCheckbox: typeof Forms.TopCheckbox;\n\t\tTopControlLabel: typeof Forms.TopControlLabel;\n\t\tTopHint: typeof Forms.TopHint;\n\t\tTopInput: typeof Forms.TopInput;\n\t\tTopInputDate: typeof Forms.TopInputDate;\n\t\tTopInputRange: typeof Forms.TopInputRange;\n\t\tTopRadio: typeof Forms.TopRadio;\n\t\tTopSwitcher: typeof Forms.TopSwitcher;\n\t\tTopTextarea: typeof Forms.TopTextarea;\n\t\tTopSelect: typeof Forms.TopSelect;\n\t\tTopLoadbar: typeof Forms.TopLoadbar;\n\n\t\tTopNotice: typeof TopNotice;\n\t\tTopDialogs: typeof TopDialogs;\n\t}\n}\n\ntype CoreOptions = PartialBy<typeof coreDefaultOptions, 'timezoneOffset' | 'documentClassModificators'>;\n\ntype Options = CoreOptions & {\n\ttopPopupOptions?: TopPopupOptions\n\ttopDialogOptions?: TopDialogOptions\n};\n\n/**\n * Плагин для интеграции UI во Vue приложение\n *\n * - В глобальную область видимости шаблонов будет добавлен объект $core\n * - Будут зарегистрирвоаны директивы UI: https://ui.topvisor.com/?path=/docs/core-directives-focus--docs\n * - Будут подключены базовые компоненты UI/Forms: https://ui.topvisor.com/?path=/docs/components-forms-readme--docs\n */\nexport default {\n\n\tinstall: (app, options: Options) => {\n\t\tapp.config.globalProperties.$core = Core;\n\t\tapp.config.globalProperties.$vd = console.log;\n\n\t\t// начальные настройки UI\n\t\tfor (const name in options) {\n\t\t\tCore.state[name] = options[name];\n\t\t}\n\n\t\tif (options.widthForMobile) Core.widthForMobile = options.widthForMobile;\n\t\tif (options.themeName) Core.themeName = options.themeName;\n\n\t\tCore._setState();\n\n\t\tif (options.topPopupOptions) TopPopupWorker.options = options.topPopupOptions;\n\t\tTopPopupWorkerGlobalEvents.init();\n\n\t\tTopDialogWorker.init(options.topDialogOptions);\n\n\t\t// определение директив\n\t\tapp.directive('top-data', directiveData);\n\t\tapp.directive('top-focus', directiveFocus);\n\t\tapp.directive('top-scroll-into-view', directiveScrollIntoView);\n\t\tapp.directive('top-scroll-shadow', directiveScrollShadow);\n\t\tapp.directive('top-shortcut', directiveShortcut);\n\t\tapp.directive('top-sticky', directiveSticky);\n\t\tapp.directive('top-swim-up', directiveSwimUp);\n\t\tapp.directive('top-tooltip', directiveTooltip);\n\n\t\t// определение базовых компонентов\n\t\tapp.component('TopAvatar', Forms.TopAvatar);\n\t\tapp.component('TopButton', Forms.TopButton);\n\t\tapp.component('TopCheckbox', Forms.TopCheckbox);\n\t\tapp.component('TopControlLabel', Forms.TopControlLabel);\n\t\tapp.component('TopHint', Forms.TopHint);\n\t\tapp.component('TopInput', Forms.TopInput);\n\t\tapp.component('TopInputDate', Forms.TopInputDate);\n\t\tapp.component('TopInputRange', Forms.TopInputRange);\n\t\tapp.component('TopLoadbar', Forms.TopLoadbar);\n\t\tapp.component('TopRadio', Forms.TopRadio);\n\t\tapp.component('TopSelect', Forms.TopSelect);\n\t\tapp.component('TopSwitcher', Forms.TopSwitcher);\n\t\tapp.component('TopTextarea', Forms.TopTextarea);\n\n\t\tapp.component('TopNotice', TopNotice);\n\t\tapp.component('TopDialogs', TopDialogs);\n\t},\n\n} satisfies Plugin<Options>;\n","import type { PiniaPluginContext, Store } from 'pinia';\nimport { watch } from 'vue';\nimport { debounce } from '@/core/utils/lodash';\nimport { guestLinkToClipboard } from '@/core/utils/clipboard';\nimport { camelToSnakeCase } from '@/core/utils/string.js';\nimport { getHash, setHash } from '@/core/utils/route';\n\nclass PiniaTPA {\n\n\treadonly #storeId: string;\n\treadonly #store: Store<string, any>;\n\n\t/**\n\t * @deprecated\n\t */\n\treadonly #Page: any;\n\n\treadonly #user: any;\n\treadonly #Api: Api.Client<Api.TV.Paths, true>;\n\n\treadonly #namesUrlHash: string[] = [];\n\treadonly #namesStorage: string[] = [];\n\treadonly #namesStorageLocal: string[] = [];\n\treadonly #namesGuestLink: string[] = [];\n\n\tconstructor(context: Context) {\n\t\tthis.#store = context.store;\n\t\tthis.#storeId = this.#store.$id;\n\n\t\tthis.#Page = context.options.Page;\n\n\t\tthis.#user = context.options.user;\n\t\tthis.#Api = context.options.Api;\n\n\t\tthis.#namesUrlHash = context.options.tpaNamesUrlHash || [];\n\t\tthis.#namesStorage = context.options.tpaNamesStorage || [];\n\t\tthis.#namesStorageLocal = context.options.tpaNamesStorageLocal || [];\n\t\tthis.#namesGuestLink = context.options.tpaNamesGuestLink || [];\n\n\t\tcontext.store.genGuestLink = <Path extends Api.TV.Path>(path: Path, params: Api.TV.Params<Path>) => this.genGuestLink(path, params);\n\n\t\tif (!this.#user.guest_data?.data) {\n\t\t\tthis.#loadFromStorage();\n\t\t\tthis.#loadFromStorage(true);\n\n\t\t\t// настройки URL hash имеют приоритет\n\t\t\tthis.#loadFromHash();\n\t\t}\n\n\t\t// настройки гостевой ссылки имеют приоритет\n\t\tthis.#loadFromGuestLink();\n\n\t\tthis.#prepareParams();\n\n\t\tconst save = debounce(() => {\n\t\t\tthis.#saveInHash();\n\t\t\tthis.#saveInStorage();\n\t\t\tthis.#saveInStorage(true);\n\t\t});\n\n\t\tcontext.store.$subscribe(save);\n\t}\n\n\t/**\n\t * Сгенерировать гостевую ссылку\n\t *\n\t * Метод, путь к которому указан в path, должен возвращать сгенерированную ссылку\n\t */\n\tasync genGuestLink<Path extends Api.TV.Path>(path: Path, params: Api.TV.Params<Path>) {\n\t\tconst dataGuestLink = this.#genOptionsForGuestLink();\n\t\tparams = Object.assign(params, Object.fromEntries(dataGuestLink));\n\n\t\tconst res = await this.#Api.gen(path).setParams(params).call();\n\t\tif (res?.errors) return;\n\n\t\tconst link = res.result as string;\n\n\t\tawait guestLinkToClipboard(link);\n\t}\n\n\t/**\n\t * Сгенерировать опции для гостевой ссылки\n\t */\n\t#genOptionsForGuestLink() {\n\t\tconst data = new Map();\n\n\t\tthis.#namesGuestLink.forEach(name => {\n\t\t\t// формат параметров API: snake_case\n\t\t\tconst nameSnakeCase = camelToSnakeCase(name);\n\t\t\tdata.set(nameSnakeCase, this.#store[name]);\n\t\t});\n\n\t\treturn data;\n\t}\n\n\t/**\n\t * Установить опции из объекта без фиксации состояния\n\t */\n\t#setOptions(data: Map<string, any>) {\n\t\tdata.forEach((value, name) => {\n\t\t\tconst currentValue = this.#store[name];\n\n\t\t\tif (value === null || value === undefined) return;\n\t\t\tif (currentValue === undefined) return;\n\t\t\tif (!value?.constructor) return;\n\t\t\tif (value.constructor !== currentValue.constructor) return;\n\n\t\t\t// дополнительная проверка на формат даты\n\t\t\tif (name.indexOf('date') === 0) {\n\t\t\t\tif (Array.isArray(value)) {\n\t\t\t\t\t// value.forEach((valueI) => {\n\t\t\t\t\t// \tif (!/\\d\\d\\d\\d-\\d\\d-\\d\\d/.test(valueI)) return;\n\t\t\t\t\t// });\n\t\t\t\t} else {\n\t\t\t\t\tif (typeof (value) === 'string') {\n\t\t\t\t\t\tif (!/\\d\\d\\d\\d-\\d\\d-\\d\\d/.test(value)) return;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tthis.#store[name] = value;\n\t\t});\n\t}\n\n\t/**\n\t * Сгенерировать Map объект с опциями со значениями в виде json строк\n\t */\n\t#genDataFormat(data: Map<string, any>) {\n\t\tconst dataFormatted = new Map();\n\n\t\tdata.forEach((value, name) => {\n\t\t\tif (value === null) return;\n\n\t\t\tvalue = JSON.stringify(value);\n\n\t\t\tdataFormatted.set(name, value);\n\t\t});\n\n\t\treturn dataFormatted;\n\t}\n\n\t/**\n\t * Сгенерировать Map объект с опциями со значениями в оригинальном виде\n\t */\n\t#genDataUnFormat(dataFormatted: Map<string, string>) {\n\t\tconst data: Map<string, any> = new Map();\n\n\t\tdataFormatted.forEach((value, name) => {\n\t\t\tif (value === null || value === undefined || value === 'false') return;\n\n\t\t\ttry {\n\t\t\t\tif (typeof (value) === 'string' && !/^\\d\\d\\d\\d-\\d\\d-\\d\\d$/.test(value)) value = JSON.parse(value);\n\n\t\t\t\tif (value === null || value === undefined || value === 'false') return;\n\t\t\t} catch (e) {\n\t\t\t\t// не json строка\n\t\t\t}\n\n\t\t\tdata.set(name, value);\n\t\t});\n\n\t\treturn data;\n\t}\n\n\t/**\n\t * Установить опции из хеша адреса страницы\n\t */\n\t#loadFromHash() {\n\t\tlet dataHash: any;\n\t\ttry {\n\t\t\tdataHash = JSON.parse(getHash(this.#storeId));\n\t\t} catch (e) {\n\n\t\t}\n\t\tif (!dataHash) return;\n\n\t\tconst data: Map<string, any> = new Map();\n\n\t\tthis.#namesUrlHash.forEach((name) => {\n\t\t\tconst value = dataHash[name];\n\t\t\tif (!value) return;\n\n\t\t\tdata.set(name, value);\n\t\t});\n\n\t\tthis.#setOptions(data);\n\t}\n\n\t/**\n\t * Сохранить опции в хеш адреса страницы\n\t */\n\t#saveInHash() {\n\t\tconst data = new Map();\n\n\t\tthis.#namesUrlHash.forEach((name) => {\n\t\t\tconst value = this.#store[name];\n\n\t\t\tdata.set(name, value);\n\t\t});\n\n\t\tconst dataObject = Object.fromEntries(data);\n\t\tconst dataJSON = JSON.stringify(dataObject);\n\n\t\tsetHash(this.#storeId, dataJSON);\n\t};\n\n\t/**\n\t * Установить опции из localStorage\n\t * @param isLocal - сохранить с учетом адреса страницы\n\t */\n\t#loadFromStorage(isLocal = false) {\n\t\tconst dataFormatted = new Map();\n\n\t\tlet names = this.#namesStorage;\n\t\tlet storageNamespace = 'state:' + this.#storeId;\n\n\t\tif (isLocal) {\n\t\t\tnames = this.#namesStorageLocal;\n\t\t\tstorageNamespace = 'state:' + this.#storeId + ':' + location.pathname;\n\t\t}\n\n\t\tnames.forEach((name) => {\n\t\t\tconst value = localStorage.getItem(storageNamespace + ':' + name);\n\t\t\tdataFormatted.set(name, value);\n\t\t});\n\n\t\tconst data = this.#genDataUnFormat(dataFormatted);\n\n\t\tthis.#setOptions(data);\n\t}\n\n\t/**\n\t * Сохранить опции в localStorage\n\t * @param isLocal - сохранить с учетом адреса страницы\n\t */\n\t#saveInStorage(isLocal = false) {\n\t\tconst data = new Map();\n\n\t\tlet names = this.#namesStorage;\n\t\tlet storageNamespace = 'state:' + this.#storeId;\n\n\t\tif (isLocal) {\n\t\t\tnames = this.#namesStorageLocal;\n\t\t\tstorageNamespace = 'state:' + this.#storeId + ':' + location.pathname;\n\t\t}\n\n\t\tnames.forEach((name) => {\n\t\t\tconst value = this.#store[name];\n\n\t\t\tdata.set(name, value);\n\t\t});\n\n\t\tconst dataFormatted = this.#genDataFormat(data);\n\n\t\tnames.forEach((name) => {\n\t\t\tconst value = dataFormatted.get(name);\n\n\t\t\tlocalStorage.setItem(storageNamespace + ':' + name, value);\n\t\t});\n\t}\n\n\t/**\n\t * Установить опции из гостевой ссылки\n\t */\n\t#loadFromGuestLink() {\n\t\tconst guestData = this.#user?.guest_data?.data;\n\t\tif (!guestData) return;\n\n\t\t// общие правила для гостевых сессий\n\t\tif (this.#user.id === -1) this.#user.positionsReverseDates = guestData.positionsReverseDates;\n\n\t\tconst dataFormatted = new Map();\n\n\t\tthis.#namesGuestLink.forEach((name) => {\n\t\t\tconst value = guestData[name];\n\t\t\tdataFormatted.set(name, value);\n\t\t});\n\n\t\tconst data = this.#genDataUnFormat(dataFormatted);\n\n\t\tthis.#setOptions(data);\n\n\t\tconst $guestTitle = $('.mod_guest_title');\n\n\t\t// TODO: вынести в опции плагина\n\t\tif (this.#store.competitorsIds?.length === 1 && this.#Page.page.data.competitors) {\n\t\t\tlet competitors = this.#Page.page.data.competitors.filter((competitor: any) => competitor.id === guestData.competitorsIds[0]);\n\t\t\tif (competitors.length) {\n\t\t\t\t$('a', $guestTitle).attr('href', 'http://' + competitors[0].url);\n\t\t\t\t$('a', $guestTitle).text(competitors[0].name);\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Подготовить входные параметры перед инициализацией основного функционала\n\t *\n\t * Входные параметры устанавливаются при открытии страницы\n\t *\n\t * Входные параметры могут меняться пользоваталем и устаревать\n\t */\n\t#prepareParams() {\n\t\t// контролль за вводом регионов\n\t\t// TODO: вынести в опции плагина\n\t\tif (this.#store.regionsIndexes) {\n\t\t\twatch(this.#store.regionsIndexes, (regionsIndexes) => {\n\t\t\t\tif (!regionsIndexes.length) return;\n\n\t\t\t\t// приведение типа\n\t\t\t\tregionsIndexes.forEach((regionIndex: number, index: number) => regionsIndexes[index] = regionIndex);\n\n\t\t\t\t// оставить только включенные регионы\n\t\t\t\t// @ts-ignore\n\t\t\t\tconst mapSearchers = TplProjectSelectorRegion.genSearchersMap();\n\n\t\t\t\tconst availableRegionsIndexes: number[] = [];\n\t\t\t\tmapSearchers.forEach((searcher: any) => {\n\t\t\t\t\tsearcher.regions.forEach((region: any) => {\n\t\t\t\t\t\tif (region.index === -1) return;\n\n\t\t\t\t\t\tavailableRegionsIndexes.push(region.index);\n\t\t\t\t\t});\n\t\t\t\t});\n\n\t\t\t\tthis.#store.regionsIndexes = regionsIndexes.filter((regionIndex: number) => availableRegionsIndexes.includes(regionIndex));\n\t\t\t}, { immediate: true });\n\t\t}\n\n\t\t// контролль за вводом конкурентов\n\t\t// TODO: вынести в опции плагина\n\t\tif (this.#store.competitorsIds) {\n\t\t\twatch(this.#store.competitorsIds, (competitorsIds) => {\n\t\t\t\tif (!competitorsIds.length) return;\n\n\t\t\t\t// приведение типа\n\t\t\t\tcompetitorsIds.forEach((competitorId: number, index: number) => competitorsIds[index] = competitorId);\n\n\t\t\t\t// оставить только включенных конкурентов\n\t\t\t\tconst availableCompetitorsIds = [this.#Page.page.data.project.id];\n\t\t\t\tthis.#Page.page.data.project.competitors.forEach((competitor: any) => {\n\t\t\t\t\tif (competitor.on >= 0) availableCompetitorsIds.push(competitor.id);\n\t\t\t\t});\n\n\t\t\t\tthis.#store.competitorsIds = competitorsIds.filter((competitorId: number) => availableCompetitorsIds.includes(competitorId));\n\t\t\t}, { immediate: true });\n\t\t}\n\t}\n\n}\n\ntype Options = {\n\t/**\n\t * TODO: Убрать из плагина\n\t */\n\tPage: any,\n\n\t/**\n\t * Объект с настройками пользователя\n\t */\n\tuser: any,\n\n\t/**\n\t * Объект для работы с API\n\t *\n\t * См. на сайте: @/component/api/core/api.ts\n\t */\n\tApi: Api.Client<Api.TV.Paths, true>;\n\n\t/**\n\t * Имена свойств для сохранения в URL\n\t */\n\ttpaNamesUrlHash?: string[],\n\n\t/**\n\t * Имена свойств для сохранения в localStorage\n\t */\n\ttpaNamesStorage?: string[],\n\n\t/**\n\t * Имена свойств для сохранения в localStorage с учетом пути URL\n\t *\n\t * Каждый URL будет работать со своим состоянием\n\t */\n\ttpaNamesStorageLocal?: string[],\n\n\t/**\n\t * Имена свойств для работы с гостевой ссылкой\n\t *\n\t * Для генерации гостевой ссылки используйте store.genGuestLink(data, url)\n\t */\n\ttpaNamesGuestLink?: string[],\n};\n\ntype Context = PiniaPluginContext & {\n\toptions: Options\n};\n\n/**\n * Плагин tpa (Third-party access) для pinia\n *\n * Добавляет возможность сохранять и загружать данные в/из:\n * \t- URL hash в адресе страницы\n * \t- localStorage\n * \t- гостевая ссылка\n *\n * Для подключения плагина нужно указань одну или несколько опций при определении defineStore():\n * - tpaNamesUrlHash\n * - tpaNamesStorage\n * - tpaNamesStorageLocal\n * - tpaNamesGuestLink\n */\nexport default (contextPinia: PiniaPluginContext) => {\n\tconst context = contextPinia as Context;\n\n\t// плагин подключать не нужно\n\tif (\n\t\t!context.options.tpaNamesUrlHash?.length &&\n\t\t!context.options.tpaNamesStorage?.length &&\n\t\t!context.options.tpaNamesStorageLocal?.length &&\n\t\t!context.options.tpaNamesGuestLink?.length\n\t) {\n\t\treturn;\n\t}\n\n\tnew PiniaTPA(context);\n}\n"]}
|
|
@@ -0,0 +1,396 @@
|
|
|
1
|
+
import { H as e, K as t, O as n, P as r, a as i, c as a, d as o, f as s, g as ee, h as te, i as ne, k as re, l as ie, n as ae, o as oe, p as se, r as ce, s as le } from "./forms-CbUt-6Ff.esm.js";
|
|
2
|
+
import { isVisible as c } from "../utils/dom.js";
|
|
3
|
+
import { t as l } from "./worker-Db8YrEHo.esm.js";
|
|
4
|
+
import { i as ue, t as de } from "./dialogs-CMrERMI7.esm.js";
|
|
5
|
+
import { getHash as fe, setHash as pe } from "../utils/route.js";
|
|
6
|
+
import { guestLinkToClipboard as me } from "../utils/clipboard.js";
|
|
7
|
+
import { camelToSnakeCase as he } from "../utils/string.js";
|
|
8
|
+
import "./utils-BwiXsV0S.esm.js";
|
|
9
|
+
import { defineAsyncComponent as ge, watch as u } from "vue";
|
|
10
|
+
//#region src/components/popup/lib/worker.globalEvents.ts
|
|
11
|
+
var d = class {
|
|
12
|
+
static init() {
|
|
13
|
+
this.isInited || (this.isInited = !0, document.addEventListener("mouseover", (e) => {
|
|
14
|
+
!(e.target instanceof HTMLElement) || !e.target.dataset?.topPopupOpenByHover || e.target.click();
|
|
15
|
+
}), document.addEventListener("scroll", () => {
|
|
16
|
+
n.state.isMobile || n.state.isMobileUA || l.getAll().forEach((e) => l.close(e));
|
|
17
|
+
}), re.addOnReize((e) => {
|
|
18
|
+
n.state.isMobile && e.topEvent.widthDiff && l.getAll().forEach((e) => l.close(e));
|
|
19
|
+
}), document.addEventListener("click", this.onclick, { capture: !0 }));
|
|
20
|
+
}
|
|
21
|
+
static async onclick(e) {
|
|
22
|
+
if (!(e.target instanceof HTMLElement) || e.target.dataset.topPopupDisabled) return;
|
|
23
|
+
let t;
|
|
24
|
+
switch (!0) {
|
|
25
|
+
case !!e.target.dataset?.topPopup:
|
|
26
|
+
t = e.target;
|
|
27
|
+
break;
|
|
28
|
+
case !!e.target.parentElement?.dataset.topPopup:
|
|
29
|
+
t = e.target.parentElement;
|
|
30
|
+
break;
|
|
31
|
+
case !!e.target.parentElement?.parentElement?.dataset.topPopup:
|
|
32
|
+
t = e.target.parentElement?.parentElement;
|
|
33
|
+
break;
|
|
34
|
+
}
|
|
35
|
+
if (t && !t.dataset.topPopupDisabled) {
|
|
36
|
+
if (t.dataset.topPopupOpened) {
|
|
37
|
+
let e = l.getPopupFromOpener(t);
|
|
38
|
+
e?.openerIsInput || e?.close();
|
|
39
|
+
return;
|
|
40
|
+
}
|
|
41
|
+
e.preventDefault(), await l.openByOpener(t);
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
};
|
|
45
|
+
t(d, "isInited", !1);
|
|
46
|
+
//#endregion
|
|
47
|
+
//#region src/core/directives/data.ts
|
|
48
|
+
var _e, ve = { mounted: async (e, t) => {
|
|
49
|
+
_e ||= (await import("../utils/dom.js")).storage;
|
|
50
|
+
let n = t.arg, r = t.value;
|
|
51
|
+
_e(e, n, r);
|
|
52
|
+
} }, f, p = [], m, ye = async () => {
|
|
53
|
+
let { isVisible: e } = await import("../utils/dom.js");
|
|
54
|
+
p = p.filter(e), p.length && (p[0].focus(), p = []);
|
|
55
|
+
}, h = async (e) => {
|
|
56
|
+
f ||= await import("../utils/lodash.js"), m ||= f.debounce(ye, 30), p.push(e), m();
|
|
57
|
+
}, be = {
|
|
58
|
+
mounted: function(e, t) {
|
|
59
|
+
e.__TOP_V_FOCUS_VALUE = t.value ?? !0, (t.value ?? !0) && h(e);
|
|
60
|
+
},
|
|
61
|
+
updated: function(e, t) {
|
|
62
|
+
t.modifiers.onupdate && e.__TOP_V_FOCUS_VALUE !== (t.value ?? !0) && (e.__TOP_V_FOCUS_VALUE = t.value ?? !0, (t.value ?? !0) && h(e));
|
|
63
|
+
}
|
|
64
|
+
}, g, _, v = (e) => typeof e == "boolean" ? e : (e = e ? { ...e } : {}, e.behavior ??= "smooth", e.block ??= "nearest", e.inline ??= "nearest", e), y, b, xe = async () => {
|
|
65
|
+
if (!y) return;
|
|
66
|
+
let e = await S(y);
|
|
67
|
+
e.isVisible && y.scrollIntoView(e.scrollIntoViewOptions);
|
|
68
|
+
}, x = async (e) => {
|
|
69
|
+
_ ||= await import("../utils/lodash.js"), b ||= _.debounce(xe, 30), y = e, b();
|
|
70
|
+
}, S = async (e, t) => {
|
|
71
|
+
g ||= await import("../utils/dom.js");
|
|
72
|
+
let n = g.storage(e, "v-top-scrollIntoView");
|
|
73
|
+
return n || (n = {
|
|
74
|
+
isVisible: c(e),
|
|
75
|
+
scrollIntoViewOptions: v(t)
|
|
76
|
+
}, g.storage(e, "v-top-scrollIntoView", n)), n;
|
|
77
|
+
}, Se = {
|
|
78
|
+
async mounted(e, t) {
|
|
79
|
+
await S(e, t.value), t.modifiers.immediate && x(e);
|
|
80
|
+
},
|
|
81
|
+
async updated(e, t) {
|
|
82
|
+
let n = await S(e, t.value);
|
|
83
|
+
n.scrollIntoViewOptions = v(t.value);
|
|
84
|
+
let r = c(e);
|
|
85
|
+
r && n.isVisible !== r && x(e), n.isVisible = r;
|
|
86
|
+
}
|
|
87
|
+
}, C, Ce = {
|
|
88
|
+
async mounted(e) {
|
|
89
|
+
C ||= await import("../utils/scroll.js"), C.connectScrollShadow(e);
|
|
90
|
+
},
|
|
91
|
+
async unmounted(e) {
|
|
92
|
+
C ||= await import("../utils/scroll.js"), C.unconnectScrollShadow(e);
|
|
93
|
+
}
|
|
94
|
+
}, w = /* @__PURE__ */ new Map(), T, E = /* @__PURE__ */ new Map(), D = !1, we = {
|
|
95
|
+
ctrl: e() ? "⌘" : "Ctrl",
|
|
96
|
+
alt: e() ? "⌥" : "Alt",
|
|
97
|
+
shift: e() ? "⇧" : "Shift"
|
|
98
|
+
}, Te = (e) => {
|
|
99
|
+
let t = e;
|
|
100
|
+
return e.includes("Key") && (t = e.replace("Key", "")), e.includes("Digit") && (t = e.replace("Digit", "")), e === "Escape" && (t = "Esc"), t;
|
|
101
|
+
}, O = (t, n) => {
|
|
102
|
+
let r = Te(t);
|
|
103
|
+
if (!n) return r;
|
|
104
|
+
let { ctrl: i, alt: a, shift: o } = we, s = [];
|
|
105
|
+
return n.ctrl && s.push(i), n.alt && s.push(a), n.shift && s.push(o), s.push(r), s.join(e() ? "" : "+");
|
|
106
|
+
}, k = (e, t, n) => {
|
|
107
|
+
let r = O(t, n);
|
|
108
|
+
if (e.__TOP_V_SHORTCUT_VALUE) {
|
|
109
|
+
console.warn(`Element already has shortcut "${e.__TOP_V_SHORTCUT_VALUE}"`);
|
|
110
|
+
return;
|
|
111
|
+
}
|
|
112
|
+
if (E.has(r)) {
|
|
113
|
+
console.warn(`Shortcut "${r}" is taken`);
|
|
114
|
+
return;
|
|
115
|
+
}
|
|
116
|
+
E.set(r, e), e.title = e.title ? `${e.title} (${r})` : r, e.__TOP_V_SHORTCUT_VALUE = r;
|
|
117
|
+
}, A = (e) => {
|
|
118
|
+
let t = e.__TOP_V_SHORTCUT_VALUE;
|
|
119
|
+
t && (E.delete(t), delete e.__TOP_V_SHORTCUT_VALUE, e.title === t && e.removeAttribute("title"), e.title.includes(` (${t})`) && (e.title = e.title.replace(` (${t})`, "")));
|
|
120
|
+
}, Ee = () => {
|
|
121
|
+
for (let [e] of w) !c(e) && e.__TOP_V_SHORTCUT_VALUE && A(e);
|
|
122
|
+
for (let [e, t] of w) c(e) && !e.__TOP_V_SHORTCUT_VALUE && k(e, t.value, t.modifiers);
|
|
123
|
+
w.clear();
|
|
124
|
+
}, De = async (e, t, n) => {
|
|
125
|
+
if (!T) {
|
|
126
|
+
let { debounce: e } = await import("../utils/lodash.js");
|
|
127
|
+
T = e(Ee, 30);
|
|
128
|
+
}
|
|
129
|
+
w.set(e, {
|
|
130
|
+
value: t,
|
|
131
|
+
modifiers: n
|
|
132
|
+
}), T();
|
|
133
|
+
}, j = () => {
|
|
134
|
+
D || (D = !0, document.addEventListener("keydown", (t) => {
|
|
135
|
+
if (!(t.target instanceof HTMLElement) || ["INPUT", "TEXTAREA"].includes(t.target.tagName) || t.target.isContentEditable) return;
|
|
136
|
+
let n = {
|
|
137
|
+
ctrl: e() ? t.metaKey : t.ctrlKey,
|
|
138
|
+
alt: t.altKey,
|
|
139
|
+
shift: t.shiftKey
|
|
140
|
+
}, r = O(t.code, n), i = E.get(r);
|
|
141
|
+
i && (i.disabled || !c(i) || (t.preventDefault(), i.click()));
|
|
142
|
+
}));
|
|
143
|
+
}, Oe = {
|
|
144
|
+
mounted: function(e, t) {
|
|
145
|
+
let { value: n, modifiers: r } = t;
|
|
146
|
+
!n || !c(e) || (j(), k(e, n, r));
|
|
147
|
+
},
|
|
148
|
+
updated: function(e, t) {
|
|
149
|
+
if (!!e.__TOP_V_SHORTCUT_VALUE === c(e)) return;
|
|
150
|
+
let { value: n, modifiers: r } = t;
|
|
151
|
+
n && (j(), De(e, n, r));
|
|
152
|
+
},
|
|
153
|
+
unmounted: function(e) {
|
|
154
|
+
A(e);
|
|
155
|
+
}
|
|
156
|
+
}, M, ke = {
|
|
157
|
+
mounted(e, t, n) {
|
|
158
|
+
let r = t.value || "top-sticky";
|
|
159
|
+
M = new IntersectionObserver((n) => {
|
|
160
|
+
let i = n[0].intersectionRatio < 1;
|
|
161
|
+
i && t.modifiers.bottom && n[0].intersectionRect.y === 0 && (i = !1), e.classList.toggle(r, i);
|
|
162
|
+
}, { threshold: [1] }), M.observe(e);
|
|
163
|
+
},
|
|
164
|
+
unmounted(e, t, n) {
|
|
165
|
+
M?.disconnect();
|
|
166
|
+
}
|
|
167
|
+
}, Ae = !1, N, P = /* @__PURE__ */ new Map(), je = (e, t) => {
|
|
168
|
+
let { distance: n, percent: r } = e.directiveSwipUpOptions, i = e.getBoundingClientRect().top, a = t * r / 100 / n, o = (t - i) / a;
|
|
169
|
+
o <= n ? e.style.transform = `translateY(${n - o}px)` : e.style.transform = "translateY(0px)";
|
|
170
|
+
}, Me = (e) => {
|
|
171
|
+
let t = window.innerHeight;
|
|
172
|
+
window.addEventListener("scroll", () => {
|
|
173
|
+
P.forEach((e) => je(e, t));
|
|
174
|
+
}, { passive: !0 }), N = new IntersectionObserver((e) => {
|
|
175
|
+
t = window.innerHeight, e.forEach((e) => {
|
|
176
|
+
let t = e.target;
|
|
177
|
+
if (e.intersectionRatio < .1 ? P.delete(t) : P.set(t, t), e.intersectionRatio === 0) {
|
|
178
|
+
let { distance: e } = t.directiveSwipUpOptions;
|
|
179
|
+
t.style.transform = `translateY(${e}px)`;
|
|
180
|
+
}
|
|
181
|
+
});
|
|
182
|
+
}, { threshold: .1 });
|
|
183
|
+
}, Ne = {
|
|
184
|
+
mounted(e, t, r) {
|
|
185
|
+
n.state.isMobileUA || (e.directiveSwipUpOptions = {
|
|
186
|
+
distance: t.value?.distance ?? 100,
|
|
187
|
+
percent: t.value?.percent ?? 30
|
|
188
|
+
}, Ae ||= (Me(e), !0), N.observe(e));
|
|
189
|
+
},
|
|
190
|
+
unmounted(e, t, n) {
|
|
191
|
+
P.delete(e), N?.unobserve(e);
|
|
192
|
+
}
|
|
193
|
+
}, F = (e) => {
|
|
194
|
+
if (!n.$?.ui?.tooltip) {
|
|
195
|
+
console.info("Для работы v-top-tooltip требуется глобальная загрузка jQuery UI Tooltip");
|
|
196
|
+
return;
|
|
197
|
+
}
|
|
198
|
+
return n.$(e);
|
|
199
|
+
}, I = (e, t) => {
|
|
200
|
+
let n = { ...e.value ?? {} };
|
|
201
|
+
return n.content ??= t.getAttribute("ui-tooltip-title") ?? t.getAttribute("title") ?? "", n.content = String(n.content).replace(/([^<>])\r?\n([^<>])/g, "$1<br>$2"), n.position ??= {
|
|
202
|
+
my: "bottom-18px",
|
|
203
|
+
at: "top center",
|
|
204
|
+
collision: "flipfit"
|
|
205
|
+
}, n;
|
|
206
|
+
}, Pe = {
|
|
207
|
+
mounted(e, t) {
|
|
208
|
+
F(e)?.tooltip(I(t, e));
|
|
209
|
+
},
|
|
210
|
+
updated(e, t) {
|
|
211
|
+
let n = I(t, e), r = F(e)?.tooltip("instance");
|
|
212
|
+
if (!r) {
|
|
213
|
+
F(e)?.tooltip(n);
|
|
214
|
+
return;
|
|
215
|
+
}
|
|
216
|
+
r.options = {
|
|
217
|
+
...r.options,
|
|
218
|
+
...n
|
|
219
|
+
};
|
|
220
|
+
},
|
|
221
|
+
unmounted(e) {
|
|
222
|
+
F(e)?.tooltip("destroy");
|
|
223
|
+
}
|
|
224
|
+
}, Fe = ge(() => import("./notice-CslVdVNm.esm.js"));
|
|
225
|
+
window.vd = console.log;
|
|
226
|
+
var Ie = { install: (e, t) => {
|
|
227
|
+
e.config.globalProperties.$core = n, e.config.globalProperties.$vd = console.log;
|
|
228
|
+
for (let e in t) n.state[e] = t[e];
|
|
229
|
+
t.widthForMobile && (n.widthForMobile = t.widthForMobile), t.themeName && (n.themeName = t.themeName), n._setState(), t.topPopupOptions && (l.options = t.topPopupOptions), d.init(), ue.init(t.topDialogOptions), e.directive("top-data", ve), e.directive("top-focus", be), e.directive("top-scroll-into-view", Se), e.directive("top-scroll-shadow", Ce), e.directive("top-shortcut", Oe), e.directive("top-sticky", ke), e.directive("top-swim-up", Ne), e.directive("top-tooltip", Pe), e.component("TopAvatar", ee), e.component("TopButton", te), e.component("TopCheckbox", s), e.component("TopControlLabel", se), e.component("TopHint", o), e.component("TopInput", a), e.component("TopInputDate", le), e.component("TopInputRange", oe), e.component("TopLoadbar", ie), e.component("TopRadio", i), e.component("TopSelect", ae), e.component("TopSwitcher", ne), e.component("TopTextarea", ce), e.component("TopNotice", Fe), e.component("TopDialogs", de);
|
|
230
|
+
} };
|
|
231
|
+
//#endregion
|
|
232
|
+
//#region \0@oxc-project+runtime@0.124.0/helpers/checkPrivateRedeclaration.js
|
|
233
|
+
function L(e, t) {
|
|
234
|
+
if (t.has(e)) throw TypeError("Cannot initialize the same private elements twice on an object");
|
|
235
|
+
}
|
|
236
|
+
//#endregion
|
|
237
|
+
//#region \0@oxc-project+runtime@0.124.0/helpers/classPrivateMethodInitSpec.js
|
|
238
|
+
function Le(e, t) {
|
|
239
|
+
L(e, t), t.add(e);
|
|
240
|
+
}
|
|
241
|
+
//#endregion
|
|
242
|
+
//#region \0@oxc-project+runtime@0.124.0/helpers/classPrivateFieldInitSpec.js
|
|
243
|
+
function R(e, t, n) {
|
|
244
|
+
L(e, t), t.set(e, n);
|
|
245
|
+
}
|
|
246
|
+
//#endregion
|
|
247
|
+
//#region \0@oxc-project+runtime@0.124.0/helpers/assertClassBrand.js
|
|
248
|
+
function z(e, t, n) {
|
|
249
|
+
if (typeof e == "function" ? e === t : e.has(t)) return arguments.length < 3 ? t : n;
|
|
250
|
+
throw TypeError("Private element is not present on this object");
|
|
251
|
+
}
|
|
252
|
+
//#endregion
|
|
253
|
+
//#region \0@oxc-project+runtime@0.124.0/helpers/classPrivateFieldSet2.js
|
|
254
|
+
function B(e, t, n) {
|
|
255
|
+
return e.set(z(e, t), n), n;
|
|
256
|
+
}
|
|
257
|
+
//#endregion
|
|
258
|
+
//#region \0@oxc-project+runtime@0.124.0/helpers/classPrivateFieldGet2.js
|
|
259
|
+
function V(e, t) {
|
|
260
|
+
return e.get(z(e, t));
|
|
261
|
+
}
|
|
262
|
+
//#endregion
|
|
263
|
+
//#region src/core/plugins/piniaTPA.ts
|
|
264
|
+
var H = /* @__PURE__ */ new WeakMap(), U = /* @__PURE__ */ new WeakMap(), W = /* @__PURE__ */ new WeakMap(), G = /* @__PURE__ */ new WeakMap(), K = /* @__PURE__ */ new WeakMap(), q = /* @__PURE__ */ new WeakMap(), J = /* @__PURE__ */ new WeakMap(), Y = /* @__PURE__ */ new WeakMap(), X = /* @__PURE__ */ new WeakMap(), Z = /* @__PURE__ */ new WeakSet(), Re = class {
|
|
265
|
+
constructor(e) {
|
|
266
|
+
Le(this, Z), R(this, H, void 0), R(this, U, void 0), R(this, W, void 0), R(this, G, void 0), R(this, K, void 0), R(this, q, []), R(this, J, []), R(this, Y, []), R(this, X, []), B(U, this, e.store), B(H, this, V(U, this).$id), B(W, this, e.options.Page), B(G, this, e.options.user), B(K, this, e.options.Api), B(q, this, e.options.tpaNamesUrlHash || []), B(J, this, e.options.tpaNamesStorage || []), B(Y, this, e.options.tpaNamesStorageLocal || []), B(X, this, e.options.tpaNamesGuestLink || []), e.store.genGuestLink = (e, t) => this.genGuestLink(e, t), V(G, this).guest_data?.data || (z(Z, this, We).call(this), z(Z, this, We).call(this, !0), z(Z, this, He).call(this)), z(Z, this, Ke).call(this), z(Z, this, qe).call(this);
|
|
267
|
+
let t = r(() => {
|
|
268
|
+
z(Z, this, Ue).call(this), z(Z, this, Ge).call(this), z(Z, this, Ge).call(this, !0);
|
|
269
|
+
});
|
|
270
|
+
e.store.$subscribe(t);
|
|
271
|
+
}
|
|
272
|
+
async genGuestLink(e, t) {
|
|
273
|
+
let n = z(Z, this, ze).call(this);
|
|
274
|
+
t = Object.assign(t, Object.fromEntries(n));
|
|
275
|
+
let r = await V(K, this).gen(e).setParams(t).call();
|
|
276
|
+
if (r?.errors) return;
|
|
277
|
+
let i = r.result;
|
|
278
|
+
await me(i);
|
|
279
|
+
}
|
|
280
|
+
};
|
|
281
|
+
function ze() {
|
|
282
|
+
let e = /* @__PURE__ */ new Map();
|
|
283
|
+
return V(X, this).forEach((t) => {
|
|
284
|
+
let n = he(t);
|
|
285
|
+
e.set(n, V(U, this)[t]);
|
|
286
|
+
}), e;
|
|
287
|
+
}
|
|
288
|
+
function Q(e) {
|
|
289
|
+
e.forEach((e, t) => {
|
|
290
|
+
let n = V(U, this)[t];
|
|
291
|
+
e != null && n !== void 0 && e?.constructor && e.constructor === n.constructor && (t.indexOf("date") === 0 && !Array.isArray(e) && typeof e == "string" && !/\d\d\d\d-\d\d-\d\d/.test(e) || (V(U, this)[t] = e));
|
|
292
|
+
});
|
|
293
|
+
}
|
|
294
|
+
function Be(e) {
|
|
295
|
+
let t = /* @__PURE__ */ new Map();
|
|
296
|
+
return e.forEach((e, n) => {
|
|
297
|
+
e !== null && (e = JSON.stringify(e), t.set(n, e));
|
|
298
|
+
}), t;
|
|
299
|
+
}
|
|
300
|
+
function Ve(e) {
|
|
301
|
+
let t = /* @__PURE__ */ new Map();
|
|
302
|
+
return e.forEach((e, n) => {
|
|
303
|
+
if (!(e == null || e === "false")) {
|
|
304
|
+
try {
|
|
305
|
+
if (typeof e == "string" && !/^\d\d\d\d-\d\d-\d\d$/.test(e) && (e = JSON.parse(e)), e == null || e === "false") return;
|
|
306
|
+
} catch {}
|
|
307
|
+
t.set(n, e);
|
|
308
|
+
}
|
|
309
|
+
}), t;
|
|
310
|
+
}
|
|
311
|
+
function He() {
|
|
312
|
+
let e;
|
|
313
|
+
try {
|
|
314
|
+
e = JSON.parse(fe(V(H, this)));
|
|
315
|
+
} catch {}
|
|
316
|
+
if (!e) return;
|
|
317
|
+
let t = /* @__PURE__ */ new Map();
|
|
318
|
+
V(q, this).forEach((n) => {
|
|
319
|
+
let r = e[n];
|
|
320
|
+
r && t.set(n, r);
|
|
321
|
+
}), z(Z, this, Q).call(this, t);
|
|
322
|
+
}
|
|
323
|
+
function Ue() {
|
|
324
|
+
let e = /* @__PURE__ */ new Map();
|
|
325
|
+
V(q, this).forEach((t) => {
|
|
326
|
+
let n = V(U, this)[t];
|
|
327
|
+
e.set(t, n);
|
|
328
|
+
});
|
|
329
|
+
let t = Object.fromEntries(e), n = JSON.stringify(t);
|
|
330
|
+
pe(V(H, this), n);
|
|
331
|
+
}
|
|
332
|
+
function We(e = !1) {
|
|
333
|
+
let t = /* @__PURE__ */ new Map(), n = V(J, this), r = "state:" + V(H, this);
|
|
334
|
+
e && (n = V(Y, this), r = "state:" + V(H, this) + ":" + location.pathname), n.forEach((e) => {
|
|
335
|
+
let n = localStorage.getItem(r + ":" + e);
|
|
336
|
+
t.set(e, n);
|
|
337
|
+
});
|
|
338
|
+
let i = z(Z, this, Ve).call(this, t);
|
|
339
|
+
z(Z, this, Q).call(this, i);
|
|
340
|
+
}
|
|
341
|
+
function Ge(e = !1) {
|
|
342
|
+
let t = /* @__PURE__ */ new Map(), n = V(J, this), r = "state:" + V(H, this);
|
|
343
|
+
e && (n = V(Y, this), r = "state:" + V(H, this) + ":" + location.pathname), n.forEach((e) => {
|
|
344
|
+
let n = V(U, this)[e];
|
|
345
|
+
t.set(e, n);
|
|
346
|
+
});
|
|
347
|
+
let i = z(Z, this, Be).call(this, t);
|
|
348
|
+
n.forEach((e) => {
|
|
349
|
+
let t = i.get(e);
|
|
350
|
+
localStorage.setItem(r + ":" + e, t);
|
|
351
|
+
});
|
|
352
|
+
}
|
|
353
|
+
function Ke() {
|
|
354
|
+
let e = V(G, this)?.guest_data?.data;
|
|
355
|
+
if (!e) return;
|
|
356
|
+
V(G, this).id === -1 && (V(G, this).positionsReverseDates = e.positionsReverseDates);
|
|
357
|
+
let t = /* @__PURE__ */ new Map();
|
|
358
|
+
V(X, this).forEach((n) => {
|
|
359
|
+
let r = e[n];
|
|
360
|
+
t.set(n, r);
|
|
361
|
+
});
|
|
362
|
+
let n = z(Z, this, Ve).call(this, t);
|
|
363
|
+
z(Z, this, Q).call(this, n);
|
|
364
|
+
let r = $(".mod_guest_title");
|
|
365
|
+
if (V(U, this).competitorsIds?.length === 1 && V(W, this).page.data.competitors) {
|
|
366
|
+
let t = V(W, this).page.data.competitors.filter((t) => t.id === e.competitorsIds[0]);
|
|
367
|
+
t.length && ($("a", r).attr("href", "http://" + t[0].url), $("a", r).text(t[0].name));
|
|
368
|
+
}
|
|
369
|
+
}
|
|
370
|
+
function qe() {
|
|
371
|
+
V(U, this).regionsIndexes && u(V(U, this).regionsIndexes, (e) => {
|
|
372
|
+
if (!e.length) return;
|
|
373
|
+
e.forEach((t, n) => e[n] = t);
|
|
374
|
+
let t = TplProjectSelectorRegion.genSearchersMap(), n = [];
|
|
375
|
+
t.forEach((e) => {
|
|
376
|
+
e.regions.forEach((e) => {
|
|
377
|
+
e.index !== -1 && n.push(e.index);
|
|
378
|
+
});
|
|
379
|
+
}), V(U, this).regionsIndexes = e.filter((e) => n.includes(e));
|
|
380
|
+
}, { immediate: !0 }), V(U, this).competitorsIds && u(V(U, this).competitorsIds, (e) => {
|
|
381
|
+
if (!e.length) return;
|
|
382
|
+
e.forEach((t, n) => e[n] = t);
|
|
383
|
+
let t = [V(W, this).page.data.project.id];
|
|
384
|
+
V(W, this).page.data.project.competitors.forEach((e) => {
|
|
385
|
+
e.on >= 0 && t.push(e.id);
|
|
386
|
+
}), V(U, this).competitorsIds = e.filter((e) => t.includes(e));
|
|
387
|
+
}, { immediate: !0 });
|
|
388
|
+
}
|
|
389
|
+
var Je = (e) => {
|
|
390
|
+
let t = e;
|
|
391
|
+
!t.options.tpaNamesUrlHash?.length && !t.options.tpaNamesStorage?.length && !t.options.tpaNamesStorageLocal?.length && !t.options.tpaNamesGuestLink?.length || new Re(t);
|
|
392
|
+
};
|
|
393
|
+
//#endregion
|
|
394
|
+
export { Ie as n, Je as t };
|
|
395
|
+
|
|
396
|
+
//# sourceMappingURL=app-CCX-gNqz.esm.js.map
|