@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
package/utils/searchers.js
CHANGED
|
@@ -1,134 +1,129 @@
|
|
|
1
|
-
import "../.chunks/
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
1
|
+
import "../.chunks/app-CCX-gNqz.esm.js";
|
|
2
|
+
//#region src/core/utils/searchers.ts
|
|
3
|
+
var e = {
|
|
4
|
+
0: "Yandex",
|
|
5
|
+
20: "Yandex.com",
|
|
6
|
+
21: "Yandex.com.tr",
|
|
7
|
+
1: "Google",
|
|
8
|
+
4: "YouTube",
|
|
9
|
+
5: "Bing",
|
|
10
|
+
7: "Seznam",
|
|
11
|
+
8: "AppStore",
|
|
12
|
+
9: "GooglePlay",
|
|
13
|
+
101: "VK",
|
|
14
|
+
102: "Facebook",
|
|
15
|
+
103: "Twitter"
|
|
16
|
+
}, t = (e) => {
|
|
17
|
+
let t = "";
|
|
18
|
+
switch (typeof e == "string" && (e = Number(e)), e) {
|
|
19
|
+
case 0:
|
|
20
|
+
t = "";
|
|
21
|
+
break;
|
|
22
|
+
case 20:
|
|
23
|
+
case 21:
|
|
24
|
+
t = "";
|
|
25
|
+
break;
|
|
26
|
+
case 1:
|
|
27
|
+
t = "";
|
|
28
|
+
break;
|
|
29
|
+
case 2:
|
|
30
|
+
t = "";
|
|
31
|
+
break;
|
|
32
|
+
case 3:
|
|
33
|
+
t = "";
|
|
34
|
+
break;
|
|
35
|
+
case 4:
|
|
36
|
+
t = "";
|
|
37
|
+
break;
|
|
38
|
+
case 5:
|
|
39
|
+
t = "";
|
|
40
|
+
break;
|
|
41
|
+
case 6:
|
|
42
|
+
t = "";
|
|
43
|
+
break;
|
|
44
|
+
case 7:
|
|
45
|
+
t = "";
|
|
46
|
+
break;
|
|
47
|
+
case 8:
|
|
48
|
+
t = "";
|
|
49
|
+
break;
|
|
50
|
+
case 9:
|
|
51
|
+
t = "";
|
|
52
|
+
break;
|
|
53
|
+
case null:
|
|
54
|
+
t = "";
|
|
55
|
+
break;
|
|
56
|
+
}
|
|
57
|
+
return t;
|
|
58
|
+
}, n = (e) => {
|
|
59
|
+
let t = "";
|
|
60
|
+
switch (typeof e == "string" && (e = Number(e)), e % 10) {
|
|
61
|
+
case 0:
|
|
62
|
+
t = "";
|
|
63
|
+
break;
|
|
64
|
+
case 1:
|
|
65
|
+
t = "";
|
|
66
|
+
break;
|
|
67
|
+
case 2:
|
|
68
|
+
t = "";
|
|
69
|
+
break;
|
|
70
|
+
}
|
|
71
|
+
return t;
|
|
72
|
+
}, r = (e, t) => {
|
|
73
|
+
switch (typeof e == "string" && (e = Number(e)), e * 1) {
|
|
74
|
+
case 1:
|
|
75
|
+
case 4:
|
|
76
|
+
case 5:
|
|
77
|
+
case 6:
|
|
78
|
+
case 8:
|
|
79
|
+
case 9: return t;
|
|
80
|
+
}
|
|
81
|
+
return "";
|
|
82
|
+
}, i = (e, t, n) => {
|
|
83
|
+
switch (t * 1) {
|
|
84
|
+
case 0:
|
|
85
|
+
switch (n * 1) {
|
|
86
|
+
case 2:
|
|
87
|
+
e = `"${e}"`;
|
|
88
|
+
break;
|
|
89
|
+
case 3:
|
|
90
|
+
e = `"!${e}"`;
|
|
91
|
+
break;
|
|
92
|
+
case 5:
|
|
93
|
+
e = `"[${e}]"`;
|
|
94
|
+
break;
|
|
95
|
+
case 6:
|
|
96
|
+
e = `"[!${e}]"`;
|
|
97
|
+
break;
|
|
98
|
+
}
|
|
99
|
+
break;
|
|
100
|
+
case 1:
|
|
101
|
+
e = `[${e}]`;
|
|
102
|
+
break;
|
|
103
|
+
}
|
|
104
|
+
return e;
|
|
105
|
+
}, a = (e, t) => {
|
|
106
|
+
switch (t === null && (t = 6), e) {
|
|
107
|
+
case 1:
|
|
108
|
+
t = 3;
|
|
109
|
+
break;
|
|
110
|
+
case 2:
|
|
111
|
+
t = 2;
|
|
112
|
+
break;
|
|
113
|
+
case 5:
|
|
114
|
+
t > 1 && (t = 1);
|
|
115
|
+
break;
|
|
116
|
+
default: [
|
|
117
|
+
1,
|
|
118
|
+
2,
|
|
119
|
+
3,
|
|
120
|
+
5,
|
|
121
|
+
6
|
|
122
|
+
].includes(t) || (t = 3);
|
|
123
|
+
}
|
|
124
|
+
return t;
|
|
125
125
|
};
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
i as getSearcherGIcon,
|
|
131
|
-
f as prepareVolumeType,
|
|
132
|
-
k as searchersNames
|
|
133
|
-
};
|
|
134
|
-
//# sourceMappingURL=searchers.js.map
|
|
126
|
+
//#endregion
|
|
127
|
+
export { i as genVolumeLabel, n as getDeviceGIcon, r as getLangLabel, t as getSearcherGIcon, a as prepareVolumeType, e as searchersNames };
|
|
128
|
+
|
|
129
|
+
//# sourceMappingURL=searchers.js.map
|
package/utils/searchers.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"searchers.js","sources":["../../src/core/utils/searchers.ts"],"sourcesContent":["import { useI18nLang } from '@/core/app';\n\n/**\n * Вспомогательный класс для работы с разными Поисковиками\n */\nexport const searchersNames = {\n\t0: 'Yandex',\n\t20: 'Yandex.com',\n\t21: 'Yandex.com.tr',\n\t1: 'Google',\n\t4: 'YouTube',\n\t5: 'Bing',\n\t7: 'Seznam',\n\t8: 'AppStore',\n\t9: 'GooglePlay',\n\t101: 'VK',\n\t102: 'Facebook',\n\t103: 'Twitter',\n};\n\n/**\n * Получить иконку ПС\n * @param searcherKey - цифра или строка с цифрой обозначающая ПС. Если null вернется иконка с глобусом\n */\nexport const getSearcherGIcon = (searcherKey: number | string | undefined): string => {\n\tlet icon = '';\n\n\tif (typeof searcherKey === 'string') searcherKey = Number(searcherKey);\n\n\tswitch (searcherKey) {\n\t\tcase 0:\n\t\t\ticon = '';\n\n\t\t\tbreak;\n\t\tcase 20:\n\t\tcase 21:\n\t\t\ticon = '';\n\n\t\t\tbreak;\n\t\tcase 1:\n\t\t\ticon = '';\n\n\t\t\tbreak;\n\t\tcase 2:\n\t\t\ticon = '';\n\n\t\t\tbreak;\n\t\tcase 3:\n\t\t\ticon = '';\n\n\t\t\tbreak;\n\t\tcase 4:\n\t\t\ticon = '';\n\n\t\t\tbreak;\n\t\tcase 5:\n\t\t\ticon = '';\n\n\t\t\tbreak;\n\t\tcase 6:\n\t\t\ticon = '';\n\n\t\t\tbreak;\n\t\tcase 7:\n\t\t\ticon = '';\n\n\t\t\tbreak;\n\t\tcase 8:\n\t\t\ticon = '';\n\n\t\t\tbreak;\n\t\tcase 9:\n\t\t\ticon = '';\n\n\t\t\tbreak;\n\t\tcase null:\n\t\t\ticon = '';\n\n\t\t\tbreak;\n\t}\n\n\treturn icon;\n};\n\n/**\n * Получить иконку устройства (ПК, планшет, смартфон)\n */\nexport const getDeviceGIcon = (device: number | string): string => {\n\tlet icon = '';\n\n\tif (typeof device === 'string') device = Number(device);\n\n\tswitch (device % 10) {\n\t\tcase 0:\n\t\t\ticon = '';\n\n\t\t\tbreak;\n\t\tcase 1:\n\t\t\ticon = '';\n\n\t\t\tbreak;\n\t\tcase 2:\n\t\t\ticon = '';\n\n\t\t\tbreak;\n\t}\n\n\treturn icon;\n};\n\n/**\n * Получить иконку языка\n */\nexport const getLangLabel = (searcherKey: number | string, lang: string) => {\n\tif (typeof searcherKey === 'string') searcherKey = Number(searcherKey);\n\n\tswitch (searcherKey * 1) {\n\t\tcase 1:\n\t\tcase 4:\n\t\tcase 5:\n\t\tcase 6:\n\t\tcase 8:\n\t\tcase 9:\n\t\t\treturn lang;\n\t}\n\n\treturn '';\n};\n\n/**\n * Сгенерировать заголовок типа частоты\n */\nexport const genVolumeLabel = (label: string, searcherKey: 0 | 1, volumeType: 1 | 2 | 3 | 5 | 6): string => {\n\tswitch (searcherKey * 1) {\n\t\t// Яндекс\n\t\tcase 0:\n\t\t\tswitch (volumeType * 1) {\n\t\t\t\tcase 2:\n\t\t\t\t\tlabel = `\"${label}\"`;\n\n\t\t\t\t\tbreak;\n\t\t\t\tcase 3:\n\t\t\t\t\tlabel = `\"!${label}\"`;\n\n\t\t\t\t\tbreak;\n\t\t\t\tcase 5:\n\t\t\t\t\tlabel = `\"[${label}]\"`;\n\n\t\t\t\t\tbreak;\n\t\t\t\tcase 6:\n\t\t\t\t\tlabel = `\"[!${label}]\"`;\n\n\t\t\t\t\tbreak;\n\t\t\t}\n\t\t\tbreak;\n\t\t// Google\n\t\tcase 1:\n\t\t\tlabel = `[${label}]`;\n\n\t\t\tbreak;\n\t}\n\n\treturn label;\n};\n\n/**\n * Проверить значение частоты, вернуть правильное значение частоты\n */\nexport const prepareVolumeType = (searcherKey: number, volumeType: number): number => {\n\t// по умолчанию выбрана сама точная частота\n\tif (volumeType === null) volumeType = 6;\n\n\tswitch (searcherKey) {\n\t\tcase 1:\n\t\t\tvolumeType = 3;\n\n\t\t\tbreak;\n\t\tcase 2:\n\t\t\tvolumeType = 2;\n\n\t\t\tbreak;\n\t\tcase 5:\n\t\t\tif (volumeType > 1) volumeType = 1;\n\n\t\t\tbreak;\n\t\tdefault:\n\t\t\tif (![1, 2, 3, 5, 6].includes(volumeType)) volumeType = 3;\n\t}\n\n\treturn volumeType;\n};\n"],"
|
|
1
|
+
{"version":3,"file":"searchers.js","names":[],"sources":["../../src/core/utils/searchers.ts"],"sourcesContent":["import { useI18nLang } from '@/core/app';\n\n/**\n * Вспомогательный класс для работы с разными Поисковиками\n */\nexport const searchersNames = {\n\t0: 'Yandex',\n\t20: 'Yandex.com',\n\t21: 'Yandex.com.tr',\n\t1: 'Google',\n\t4: 'YouTube',\n\t5: 'Bing',\n\t7: 'Seznam',\n\t8: 'AppStore',\n\t9: 'GooglePlay',\n\t101: 'VK',\n\t102: 'Facebook',\n\t103: 'Twitter',\n};\n\n/**\n * Получить иконку ПС\n * @param searcherKey - цифра или строка с цифрой обозначающая ПС. Если null вернется иконка с глобусом\n */\nexport const getSearcherGIcon = (searcherKey: number | string | undefined): string => {\n\tlet icon = '';\n\n\tif (typeof searcherKey === 'string') searcherKey = Number(searcherKey);\n\n\tswitch (searcherKey) {\n\t\tcase 0:\n\t\t\ticon = '';\n\n\t\t\tbreak;\n\t\tcase 20:\n\t\tcase 21:\n\t\t\ticon = '';\n\n\t\t\tbreak;\n\t\tcase 1:\n\t\t\ticon = '';\n\n\t\t\tbreak;\n\t\tcase 2:\n\t\t\ticon = '';\n\n\t\t\tbreak;\n\t\tcase 3:\n\t\t\ticon = '';\n\n\t\t\tbreak;\n\t\tcase 4:\n\t\t\ticon = '';\n\n\t\t\tbreak;\n\t\tcase 5:\n\t\t\ticon = '';\n\n\t\t\tbreak;\n\t\tcase 6:\n\t\t\ticon = '';\n\n\t\t\tbreak;\n\t\tcase 7:\n\t\t\ticon = '';\n\n\t\t\tbreak;\n\t\tcase 8:\n\t\t\ticon = '';\n\n\t\t\tbreak;\n\t\tcase 9:\n\t\t\ticon = '';\n\n\t\t\tbreak;\n\t\tcase null:\n\t\t\ticon = '';\n\n\t\t\tbreak;\n\t}\n\n\treturn icon;\n};\n\n/**\n * Получить иконку устройства (ПК, планшет, смартфон)\n */\nexport const getDeviceGIcon = (device: number | string): string => {\n\tlet icon = '';\n\n\tif (typeof device === 'string') device = Number(device);\n\n\tswitch (device % 10) {\n\t\tcase 0:\n\t\t\ticon = '';\n\n\t\t\tbreak;\n\t\tcase 1:\n\t\t\ticon = '';\n\n\t\t\tbreak;\n\t\tcase 2:\n\t\t\ticon = '';\n\n\t\t\tbreak;\n\t}\n\n\treturn icon;\n};\n\n/**\n * Получить иконку языка\n */\nexport const getLangLabel = (searcherKey: number | string, lang: string) => {\n\tif (typeof searcherKey === 'string') searcherKey = Number(searcherKey);\n\n\tswitch (searcherKey * 1) {\n\t\tcase 1:\n\t\tcase 4:\n\t\tcase 5:\n\t\tcase 6:\n\t\tcase 8:\n\t\tcase 9:\n\t\t\treturn lang;\n\t}\n\n\treturn '';\n};\n\n/**\n * Сгенерировать заголовок типа частоты\n */\nexport const genVolumeLabel = (label: string, searcherKey: 0 | 1, volumeType: 1 | 2 | 3 | 5 | 6): string => {\n\tswitch (searcherKey * 1) {\n\t\t// Яндекс\n\t\tcase 0:\n\t\t\tswitch (volumeType * 1) {\n\t\t\t\tcase 2:\n\t\t\t\t\tlabel = `\"${label}\"`;\n\n\t\t\t\t\tbreak;\n\t\t\t\tcase 3:\n\t\t\t\t\tlabel = `\"!${label}\"`;\n\n\t\t\t\t\tbreak;\n\t\t\t\tcase 5:\n\t\t\t\t\tlabel = `\"[${label}]\"`;\n\n\t\t\t\t\tbreak;\n\t\t\t\tcase 6:\n\t\t\t\t\tlabel = `\"[!${label}]\"`;\n\n\t\t\t\t\tbreak;\n\t\t\t}\n\t\t\tbreak;\n\t\t// Google\n\t\tcase 1:\n\t\t\tlabel = `[${label}]`;\n\n\t\t\tbreak;\n\t}\n\n\treturn label;\n};\n\n/**\n * Проверить значение частоты, вернуть правильное значение частоты\n */\nexport const prepareVolumeType = (searcherKey: number, volumeType: number): number => {\n\t// по умолчанию выбрана сама точная частота\n\tif (volumeType === null) volumeType = 6;\n\n\tswitch (searcherKey) {\n\t\tcase 1:\n\t\t\tvolumeType = 3;\n\n\t\t\tbreak;\n\t\tcase 2:\n\t\t\tvolumeType = 2;\n\n\t\t\tbreak;\n\t\tcase 5:\n\t\t\tif (volumeType > 1) volumeType = 1;\n\n\t\t\tbreak;\n\t\tdefault:\n\t\t\tif (![1, 2, 3, 5, 6].includes(volumeType)) volumeType = 3;\n\t}\n\n\treturn volumeType;\n};\n"],"mappings":";;AAKA,IAAa,IAAiB;CAC7B,GAAG;CACH,IAAI;CACJ,IAAI;CACJ,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;CACH,KAAK;CACL,KAAK;CACL,KAAK;CACL,EAMY,KAAoB,MAAqD;CACrF,IAAI,IAAO;AAIX,SAFI,OAAO,KAAgB,aAAU,IAAc,OAAO,EAAY,GAE9D,GAAR;EACC,KAAK;AACJ,OAAO;AAEP;EACD,KAAK;EACL,KAAK;AACJ,OAAO;AAEP;EACD,KAAK;AACJ,OAAO;AAEP;EACD,KAAK;AACJ,OAAO;AAEP;EACD,KAAK;AACJ,OAAO;AAEP;EACD,KAAK;AACJ,OAAO;AAEP;EACD,KAAK;AACJ,OAAO;AAEP;EACD,KAAK;AACJ,OAAO;AAEP;EACD,KAAK;AACJ,OAAO;AAEP;EACD,KAAK;AACJ,OAAO;AAEP;EACD,KAAK;AACJ,OAAO;AAEP;EACD,KAAK;AACJ,OAAO;AAEP;;AAGF,QAAO;GAMK,KAAkB,MAAoC;CAClE,IAAI,IAAO;AAIX,SAFI,OAAO,KAAW,aAAU,IAAS,OAAO,EAAO,GAE/C,IAAS,IAAjB;EACC,KAAK;AACJ,OAAO;AAEP;EACD,KAAK;AACJ,OAAO;AAEP;EACD,KAAK;AACJ,OAAO;AAEP;;AAGF,QAAO;GAMK,KAAgB,GAA8B,MAAiB;AAG3E,SAFI,OAAO,KAAgB,aAAU,IAAc,OAAO,EAAY,GAE9D,IAAc,GAAtB;EACC,KAAK;EACL,KAAK;EACL,KAAK;EACL,KAAK;EACL,KAAK;EACL,KAAK,EACJ,QAAO;;AAGT,QAAO;GAMK,KAAkB,GAAe,GAAoB,MAA0C;AAC3G,SAAQ,IAAc,GAAtB;EAEC,KAAK;AACJ,WAAQ,IAAa,GAArB;IACC,KAAK;AACJ,SAAQ,IAAI,EAAM;AAElB;IACD,KAAK;AACJ,SAAQ,KAAK,EAAM;AAEnB;IACD,KAAK;AACJ,SAAQ,KAAK,EAAM;AAEnB;IACD,KAAK;AACJ,SAAQ,MAAM,EAAM;AAEpB;;AAEF;EAED,KAAK;AACJ,OAAQ,IAAI,EAAM;AAElB;;AAGF,QAAO;GAMK,KAAqB,GAAqB,MAA+B;AAIrF,SAFI,MAAe,SAAM,IAAa,IAE9B,GAAR;EACC,KAAK;AACJ,OAAa;AAEb;EACD,KAAK;AACJ,OAAa;AAEb;EACD,KAAK;AACJ,GAAI,IAAa,MAAG,IAAa;AAEjC;EACD,QACC,CAAK;GAAC;GAAG;GAAG;GAAG;GAAG;GAAE,CAAC,SAAS,EAAW,KAAE,IAAa;;AAG1D,QAAO"}
|
package/utils/store.amd.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
define([
|
|
2
|
-
//# sourceMappingURL=store.amd.js.map
|
|
1
|
+
define([`require`,`exports`,`../.chunks/store-DuQpSSLL.amd`],function(e,t,n){"use strict";if(r===void 0)var r=window.Vue;Object.defineProperty(t,`__esModule`,{value:!0}),t.useStore=t.plugin=t.defineStore=void 0,Object.defineProperty(t,`plugin`,{enumerable:!0,get:function(){return n.n}}),Object.defineProperty(t,`useStore`,{enumerable:!0,get:function(){return n.r}}),Object.defineProperty(t,`defineStore`,{enumerable:!0,get:function(){return n.t}})});
|
|
2
|
+
//# sourceMappingURL=store.amd.js.map
|
package/utils/store.amd.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"sources":["utils/store.js"],"names":["vue","exports","store_DuQpSSLL_esm_js_1"],"mappings":"AAAA,OAAO,CAAC,UAAW,UAAW,gCAAmC,CAAE,SAAU,EAAS,EAAS,EAAyB,CACpH,aAAA,GAAAA,IAAA,OAAA,IAAAA,EAAA,OAAA,IACA,OAAO,eAAeC,EAAS,aAAc,CAAE,MAAO,GAAM,CAAC,CAC7D,EAAQ,SAAW,EAAQ,OAAS,EAAQ,YAAc,IAAK,GAC/D,OAAO,eAAeA,EAAS,SAAU,CAAE,WAAY,GAAM,IAAK,UAAY,CAAE,OAAOC,EAAwB,GAAM,CAAC,CACtH,OAAO,eAAeD,EAAS,WAAY,CAAE,WAAY,GAAM,IAAK,UAAY,CAAE,OAAOC,EAAwB,GAAM,CAAC,CACxH,OAAO,eAAeD,EAAS,cAAe,CAAE,WAAY,GAAM,IAAK,UAAY,CAAE,OAAOC,EAAwB,GAAM,CAAC,EAC7H","sourcesContent":["define([\"require\", \"exports\", \"../.chunks/store-DuQpSSLL.esm.js\"], function (require, exports, store_DuQpSSLL_esm_js_1) {\n \"use strict\";\n Object.defineProperty(exports, \"__esModule\", { value: true });\n exports.useStore = exports.plugin = exports.defineStore = void 0;\n Object.defineProperty(exports, \"plugin\", { enumerable: true, get: function () { return store_DuQpSSLL_esm_js_1.n; } });\n Object.defineProperty(exports, \"useStore\", { enumerable: true, get: function () { return store_DuQpSSLL_esm_js_1.r; } });\n Object.defineProperty(exports, \"defineStore\", { enumerable: true, get: function () { return store_DuQpSSLL_esm_js_1.t; } });\n});\n"]}
|
package/utils/store.d.ts
CHANGED
package/utils/store.js
CHANGED
|
@@ -1,7 +1,2 @@
|
|
|
1
|
-
import {
|
|
2
|
-
export {
|
|
3
|
-
o as defineStore,
|
|
4
|
-
r as plugin,
|
|
5
|
-
a as useStore
|
|
6
|
-
};
|
|
7
|
-
//# sourceMappingURL=store.js.map
|
|
1
|
+
import { n as e, r as t, t as n } from "../.chunks/store-DuQpSSLL.esm.js";
|
|
2
|
+
export { n as defineStore, e as plugin, t as useStore };
|
package/utils/string.amd.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
define([
|
|
2
|
-
//# sourceMappingURL=string.amd.js.map
|
|
1
|
+
define([`require`,`exports`,`../.chunks/forms-CbUt-6Ff.amd`,`./check.amd`],function(e,t,n,r){"use strict";if(i===void 0)var i=window.Vue;Object.defineProperty(t,`__esModule`,{value:!0}),t.toRoditPadej=t.toCapitalize=t.rusToLatin=t.numberWithWord=t.numberEnding=t.nl2br=t.isUrl=t.htmlspecialchars=t.highlightHtml=t.getRandomHash=t.genIntHash=t.genFlagLinkByCountryCode=t.extractIconAndContent=t.ellipsis=t.camelToSnakeCase=t.addLinkTags=t.addCommasWhite=t.REGEXP_START_SYMBOL_ICON=void 0;var a=RegExp(`^[^a-zа-я0-9_%#!?.:'"«»[\\](){} \\r\\n\\t<>&/+-]`,`i`),o=e=>{let t=e?.[0]?.match(a);return{icon:t?e[0]:null,content:t?e.substring(1):e}},s=e=>{e+=``;let t=0;if(!e.length)return t;for(let n=0;n<e.length;n++){let r=e.charCodeAt(n);t=(t<<5)-t+r,t&=t}return t<0&&(t*=-1),t},c=e=>/^\w+:\/\/([\w-]+\.)+[\w-]+(:\d+)?(\/|$)/.test(e),l=e=>{let t=e+``;t=t.replace(`-`,`–`);let n=t.split(`.`),r=n[0],i=n.length>1?`.`+n[1]:``;if(r.replace(/[+–]/,``).length<=4)return t;let a=/(\d+)(\d{3})/;for(;a.test(r);)r=r.replace(a,`$1 $2`);return r+i},u=e=>e===void 0?``:e.replace(/\r\n|\r|\n/g,`<br>`),d=e=>typeof e==`string`?e.trim()!==``&&!isNaN(Number(e)):!0;t.REGEXP_START_SYMBOL_ICON=a,t.extractIconAndContent=o,t.genIntHash=s,t.isUrl=c,t.addCommasWhite=l,t.nl2br=u,t.numberWithWord=(e,t=2,n=1e3,r=``)=>{if(d(e))e=Number(e);else return String(e);let i=10**t,a;return a=Math.abs(e)>n**3?Math.round(e/n**3*i)/i+` <small>G`+r+`</small>`:Math.abs(e)>n**2?Math.round(e/n**2*i)/i+` <small>M`+r+`</small>`:Math.abs(e)>n?Math.round(e/n*i)/i+` <small>K`+r+`</small>`:Math.round(e*i)/i+``,a=a.replace(/^(-?\d+)(\d{3})/,`$1 $2`),a},t.ellipsis=(e,t,n=1)=>{if(e==null)return``;if(e+=``,t==null||e.length<=t)return e;if(n===0)e=e.substr(e.length-t,t),e=`...`+e;else if(n===1){let n=e.substr(0,t/2),r=e.substr(e.length-t/2,Math.ceil(t/2));e=n+`...`+r}else n===2&&(e=e.substr(0,t),e+=`...`);return e},t.numberEnding=(e,t,r,i)=>{if((0,n.D)().value===`en`)return e===1?r:t;let a=e%100,o=e%10;return a>=5&&a<=20||o===0?t:o===1?r:o>=2&&o<=4?i:o>=5&&o<=9?t:i},t.toRoditPadej=e=>{if((0,n.D)().value!=`ru`||e==``)return e;let t=e.split(` `);return $.map(t,function(e,n){e+=`а`,e=e.replace(`оа`,`о`),e=e.replace(`аяа`,`ой`),e=e.replace(`шийа`,`шого`),e=e.replace(`ыйа`,`ого`),e=e.replace(`йа`,`я`),e=e.replace(`ьа`,`я`),e=e.replace(`яа`,`и`),e=e.replace(`оваа`,`овой`),e=e.replace(`аа`,`ы`),e=e.replace(`кия`,`кого`),e=e.replace(`каи`,`кой`),t[n]=e}),e=t.join(` `),e},t.rusToLatin=e=>{let t={а:`a`,б:`b`,в:`v`,г:`g`,д:`d`,е:`e`,ё:`e`,ж:`j`,з:`z`,и:`i`,й:`i`,к:`k`,л:`l`,м:`m`,н:`n`,о:`o`,п:`p`,р:`r`,с:`s`,т:`t`,у:`u`,ф:`f`,х:`h`,ц:`c`,ч:`ch`,ш:`sh`,щ:`shch`,ъ:``,ы:`y`,ь:``,э:`e`,ю:`u`,я:`ya`},n=e.split(` `);return $.map(n,function(e,r){let i=[];for(let n=0;n<e.length;++n)i.push(t[e[n]]||t[e[n].toLowerCase()]==null&&e[n]||t[e[n].toLowerCase()].replace(/^(.)/,function(e){return e.toUpperCase()}));n[r]=i.join(``)}),e=n.join(` `),e},t.htmlspecialchars=e=>(e=e.replace(/&/g,`&`).replace(/</g,`<`).replace(/>/g,`>`).replace(/"/g,`"`).replace(/'/g,`'`),e),t.highlightHtml=(e,t)=>{let n=null;switch(t.operator){case`CONTAINS`:case`REGEXP`:try{let e=t.values[0];t.operator!=`REGEXP`&&(e=e.replace(/([()\[\]])/g,`\\$1`)),n=RegExp(`(`+e+`)`,`gi`)}catch{return e}break}return e=e.replace(n,`<b class="found">$1</b>`),e},t.camelToSnakeCase=e=>e.match(/[A-Z]{2,}(?=[A-Z][a-z]+[0-9]*|\b)|[A-Z]?[a-z]+[0-9]*|[A-Z]|[0-9]+/g)?.map(e=>e.toLowerCase()).join(`_`),t.genFlagLinkByCountryCode=e=>`/controller/file/?src=${`/cloud/common/flags/`+e.toUpperCase()+`.svg`}`,t.addLinkTags=e=>{let t=(0,r.getDomainRegexp)(),n=`(([\\/?\\w&=%+#;:-]*(\\.\\w+)?))*`,i=RegExp(`(^|[\\s>(),])([a-z0-9а-яё_.]+@${t}${n})`,`gui`);e=e.replace(i,`$1<a href="mailto:$2" target="_blank" rel="noopener">↑[$2]↓</a>`);let a=RegExp(`(^|[\\s>(),])(https?:\/\/)?(${t}${n})`,`gui`);return e=e.replace(a,`$1<a href="√$2$3" target="_blank" rel="nofollow noopener">$2$3</a>`),e=e.replaceAll(`√http`,`http`),e=e.replaceAll(`√`,`http://`),e=e.replaceAll(/(↑\[|]↓)/g,``),e},t.toCapitalize=e=>e.charAt(0).toUpperCase()+e.slice(1),t.getRandomHash=(e=20)=>{let t=``;for(let n=0;n<e;n++)t+=`AaBbCcDdEeFfGgHhIiJjKkLlMmNnOoPpQqRrSsTtUuVvWwXxYyZz1234567890`[Math.floor(Math.random()*62)];return t}});
|
|
2
|
+
//# sourceMappingURL=string.amd.js.map
|
package/utils/string.amd.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"string.amd.js","sources":["../../src/core/utils/string.ts"],"sourcesContent":["/**\n * Работа со строками\n * @packageDocumentation\n */\n\nimport { getDomainRegexp } from '@/core/utils/check';\nimport { useI18nLang } from '@/core/plugins/i18n';\n\nexport const REGEXP_START_SYMBOL_ICON = new RegExp('^[^a-zа-я0-9_%#!?.:\\'\"«»[\\\\](){} \\\\r\\\\n\\\\t<>&/+-]', 'i');\n\n/**\n * Извлекает иконку и оставшийся контент из строки\n *\n * Возвращает объект со свойствами:\n * - `icon`: содержит символ иконки, если он присутствует, иначе `null`\n * - `content`: содержит оставшийся текст без символа иконки, если он был извлечен, или всю строку\n */\nexport const extractIconAndContent = (content: string) => {\n\tconst iconExists = content?.[0]?.match(REGEXP_START_SYMBOL_ICON);\n\n\treturn {\n\t\ticon: iconExists ? content[0] : null,\n\t\tcontent: iconExists ? content.substring(1) : content,\n\t};\n};\n\n/**\n * Сгенерировать числовой хэш от строки для идентификатора\n */\nexport const genIntHash = (string: string): number => {\n\tstring += '';\n\n\tlet hash = 0;\n\tif (!string.length) return hash;\n\n\tfor (let i = 0; i < string.length; i++) {\n\t\tconst char = string.charCodeAt(i);\n\t\thash = ((hash << 5) - hash) + char;\n\t\thash = hash & hash;\n\t}\n\n\tif (hash < 0) hash *= -1;\n\n\treturn hash;\n};\n\n/**\n * Проверить, что переданная строка является URL\n */\nexport const isUrl = (url: string): boolean => {\n\treturn /^\\w+:\\/\\/([\\w-]+\\.)+[\\w-]+(:\\d+)?(\\/|$)/.test(url);\n};\n\n/**\n * Добавляет пробелы между разрядами если требуется\n * @param nStr строка с числом\n */\nexport const addCommasWhite = (n: number | string): string => {\n\tlet nStr = n + '';\n\n\tnStr = nStr.replace('-', '–');\n\n\tlet x = nStr.split('.');\n\tlet x1 = x[0];\n\tlet x2 = (x.length > 1) ? ('.' + x[1]) : '';\n\n\tif (x1.replace(/[+–]/, '').length <= 4) return nStr;\n\n\tconst rgx = /(\\d+)(\\d{3})/;\n\twhile (rgx.test(x1)) {\n\t\tx1 = x1.replace(rgx, '$1' + ' ' + '$2');\n\t}\n\treturn x1 + x2;\n};\n\n/**\n * Вставляет HTML-код разрыва строки перед каждым переводом строки\n */\nexport const nl2br = (str: string): string => {\n\tif (str === undefined) return '';\n\n\treturn str.replace(/\\r\\n|\\r|\\n/g, '<br>');\n};\n/**\n * Проверяет, является ли строка числом (целым или с плавающей точкой)\n */\nconst isNumeric = (string: number | string): boolean => {\n\tif (typeof string === 'string') {\n\t\treturn string.trim() !== '' && !isNaN(Number(string));\n\t}\n\n\treturn true;\n};\n\n/**\n * Перевести число без деситичной приставки в число с деситичной приставкой степеней тысячи (с параметрами по умолчанию 1255 -> '1.26 K')\n * @param number\n * @param precision - точность, количество знаков после запятой\n * @param dimension - размерность, по умолчанию 1000\n * @param suffix - суффикс к десятичной приставке (по умолчанию выводится латинская заглавная буква)\n */\nexport const numberWithWord = (number: number | string, precision = 2, dimension = 1000, suffix = ''): string => {\n\tif (!isNumeric(number)) {\n\t\treturn String(number);\n\t} else {\n\t\tnumber = Number(number);\n\t}\n\n\tconst k = Math.pow(10, precision);\n\n\tlet numberStr: string;\n\tif (Math.abs(number) > Math.pow(dimension, 3)) {\n\t\tnumberStr = Math.round(number / Math.pow(dimension, 3) * k) / k + ' <small>G' + suffix + '</small>';\n\t} else if (Math.abs(number) > Math.pow(dimension, 2)) {\n\t\tnumberStr = Math.round(number / Math.pow(dimension, 2) * k) / k + ' <small>M' + suffix + '</small>';\n\t} else if (Math.abs(number) > dimension) {\n\t\tnumberStr = Math.round(number / dimension * k) / k + ' <small>K' + suffix + '</small>';\n\t} else {\n\t\tnumberStr = Math.round(number * k) / k + '';\n\t}\n\n\tnumberStr = numberStr.replace(/^(-?\\d+)(\\d{3})/, '$1 $2');\n\n\treturn numberStr;\n};\n\n/**\n * Обрезать текст под три точки\n * @param string\n * @param max_length - максимальное количество символов текста, остальное обрежеться\n * @param pos - область обрезки 0-начало | 1-середина | 2-конец строки\n */\nexport const ellipsis = (string: string, max_length: number, pos: 0 | 1 | 2 = 1): string => {\n\tif (string == undefined) return '';\n\n\tstring += '';\n\tif (max_length == undefined || string.length <= max_length) return string;\n\n\tif (pos === 0) {\n\t\tstring = string.substr(string.length - max_length, max_length);\n\t\tstring = '...' + string;\n\t} else if (pos === 1) {\n\t\tconst string1 = string.substr(0, max_length / 2);\n\t\tconst string2 = string.substr(string.length - max_length / 2, Math.ceil(max_length / 2));\n\t\tstring = string1 + '...' + string2;\n\t} else if (pos === 2) {\n\t\tstring = string.substr(0, max_length);\n\t\tstring = string + '...';\n\t}\n\n\treturn string;\n};\n\n/**\n * Сгенерировать строку текста для вывода количества в разном склонении\n * @param num\n * @param ending0 - родительный падеж, множ. число (10 модулей)\n * @param ending1 - именительный падеж, ед. число (1 модуль)\n * @param ending2 - винительный падеж, множ. число (3 модуля)\n */\nexport const numberEnding = (num: number, ending0: string, ending1: string, ending2: string): string => {\n\t// склонение по множественному числу\n\tif (useI18nLang().value === 'en') {\n\t\tif (num === 1) {\n\t\t\treturn ending1;\n\t\t} else {\n\t\t\treturn ending0;\n\t\t}\n\t}\n\n\tconst num100 = num % 100;\n\tconst num10 = num % 10;\n\n\tif (num100 >= 5 && num100 <= 20) {\n\t\treturn ending0;\n\t} else if (num10 === 0) {\n\t\treturn ending0;\n\t} else if (num10 === 1) {\n\t\treturn ending1;\n\t} else if (num10 >= 2 && num10 <= 4) {\n\t\treturn ending2;\n\t} else if (num10 >= 5 && num10 <= 9) {\n\t\treturn ending0;\n\t} else {\n\t\treturn ending2;\n\t}\n};\n\n/**\n * Перевести строку в родительный падеж\n */\nexport const toRoditPadej = (str: string): string => {\n\tif (useI18nLang().value != 'ru' || str == '') return str;\n\n\tconst str_array = str.split(' ');\n\n\t$.map(str_array, function (str, index) {\n\t\tstr = str + 'а';\n\t\tstr = str.replace('оа', 'о');\n\t\tstr = str.replace('аяа', 'ой');\n\t\tstr = str.replace('шийа', 'шого');\n\t\tstr = str.replace('ыйа', 'ого');\n\t\tstr = str.replace('йа', 'я');\n\t\tstr = str.replace('ьа', 'я');\n\t\tstr = str.replace('яа', 'и');\n\t\tstr = str.replace('оваа', 'овой');\n\t\tstr = str.replace('аа', 'ы');\n\t\tstr = str.replace('кия', 'кого');\n\t\tstr = str.replace('каи', 'кой');\n\n\t\tstr_array[index] = str;\n\t});\n\n\tstr = str_array.join(' ');\n\n\treturn str;\n};\n\n/**\n * Транслитерация текста\n */\nexport const rusToLatin = (str: string): string => {\n\tconst ru: { [index: string]: string } = {\n\t\t'а': 'a', 'б': 'b', 'в': 'v', 'г': 'g', 'д': 'd',\n\t\t'е': 'e', 'ё': 'e', 'ж': 'j', 'з': 'z', 'и': 'i',\n\t\t'й': 'i', 'к': 'k', 'л': 'l', 'м': 'm', 'н': 'n',\n\t\t'о': 'o', 'п': 'p', 'р': 'r', 'с': 's', 'т': 't',\n\t\t'у': 'u', 'ф': 'f', 'х': 'h', 'ц': 'c', 'ч': 'ch',\n\t\t'ш': 'sh', 'щ': 'shch', 'ъ': '', 'ы': 'y', 'ь': '',\n\t\t'э': 'e', 'ю': 'u', 'я': 'ya',\n\t};\n\n\tconst str_array = str.split(' ');\n\n\t$.map(str_array, function (str, index) {\n\t\tconst newStr: string[] = [];\n\t\tfor (let i = 0; i < str.length; ++i) {\n\t\t\tnewStr.push(\n\t\t\t\tru[str[i]] || ru[str[i].toLowerCase()] == undefined && str[i] || ru[str[i].toLowerCase()].replace(/^(.)/, function (match) {\n\t\t\t\t\treturn match.toUpperCase();\n\t\t\t\t}),\n\t\t\t);\n\t\t}\n\n\t\tstr_array[index] = newStr.join('');\n\t});\n\n\tstr = str_array.join(' ');\n\n\treturn str;\n};\n\n/**\n * Замена html-символов (`&`, `<`, `>`, `\"`, `'`) на имена литер (`&` -> `&`)\n */\nexport const htmlspecialchars = (str: string): string => {\n\tstr = str\n\t\t.replace(/&/g, '&')\n\t\t.replace(/</g, '<')\n\t\t.replace(/>/g, '>')\n\t\t.replace(/\"/g, '"')\n\t\t.replace(/'/g, ''');\n\n\treturn str;\n};\n\n/**\n * Выделить нужное в тексте желтым цветом\n * поиск происходит по строке fieldFilter.values[0]\n */\nexport const highlightHtml = (text: string, fieldFilter: { operator: 'CONTAINS' | 'REGEXP', values: string[] }): string => {\n\tlet regExp: RegExp | null = null;\n\n\tswitch (fieldFilter.operator) {\n\t\tcase 'CONTAINS':\n\t\tcase 'REGEXP':\n\t\t\ttry {\n\t\t\t\tlet regExpString = fieldFilter.values[0];\n\t\t\t\tif (fieldFilter.operator != 'REGEXP') regExpString = regExpString.replace(/([()\\[\\]])/g, '\\\\$1');\n\n\t\t\t\tregExp = new RegExp('(' + regExpString + ')', 'gi');\n\t\t\t} catch (exception) {\n\t\t\t\treturn text;\n\t\t\t}\n\n\t\t\tbreak;\n\t}\n\n\ttext = text.replace(regExp!, '<b class=\"found\">$1</b>');\n\n\treturn text;\n};\n\n/**\n * Пример: logHTTPCodesHundreds => log_http_codes_hundreds\n */\nexport const camelToSnakeCase = (str: string): string | undefined => {\n\treturn str.match(/[A-Z]{2,}(?=[A-Z][a-z]+[0-9]*|\\b)|[A-Z]?[a-z]+[0-9]*|[A-Z]|[0-9]+/g)?.map(token => token.toLowerCase()).join('_');\n};\n\n/**\n * Получить url изображения флага, по коду страны по стандарту ISO 3166-1 alpha-2\n *\n * @todo Опубликовать в CDN или брать c публичного CDN\n */\nexport const genFlagLinkByCountryCode = (countryCode: string) => {\n\tconst urlImage = '/cloud/common/flags/' + countryCode.toUpperCase() + '.svg';\n\treturn `/controller/file/?src=${urlImage}`;\n};\n\n/**\n * Обернуть все ссылки и email в тексте в html-тег `<a>`.\n *\n * Для email ставиться префикс `mailto:`\n */\nexport const addLinkTags = (text: string): string => {\n\tconst domainRegexp = getDomainRegexp();\n\tconst afterDomainRegexp = '(([\\\\/?\\\\w&=%+#;:-]*(\\\\.\\\\w+)?))*';\n\n\tconst regexpMailto = new RegExp(`(^|[\\\\s>(),])([a-z0-9а-яё_.]+@${domainRegexp}${afterDomainRegexp})`, 'gui');\n\ttext = text.replace(regexpMailto, `$1<a href=\"mailto:$2\" target=\"_blank\" rel=\"noopener\">↑[$2]↓</a>`);\n\n\tconst regexpLink = new RegExp(`(^|[\\\\s>(),])(https?:\\/\\/)?(${domainRegexp}${afterDomainRegexp})`, 'gui');\n\ttext = text.replace(regexpLink, `$1<a href=\"√$2$3\" target=\"_blank\" rel=\"nofollow noopener\">$2$3</a>`);\n\n\ttext = text.replaceAll('√http', 'http');\n\ttext = text.replaceAll('√', 'http://');\n\ttext = text.replaceAll(/(↑\\[|]↓)/g, '');\n\n\treturn text;\n};\n\n/**\n * Перевести первую букву строки в верхний регистр\n */\nexport const toCapitalize = (str: string): string => {\n\treturn str.charAt(0).toUpperCase() + str.slice(1);\n};\n\n/**\n * Получить случайную строку\n */\nexport const getRandomHash = (length: number = 20): string => {\n\tconst l = 'AaBbCcDdEeFfGgHhIiJjKkLlMmNnOoPpQqRrSsTtUuVvWwXxYyZz1234567890';\n\n\tlet result = '';\n\tfor (let i = 0; i < length; i++) {\n\t\tresult += l[Math.floor(Math.random() * l.length)];\n\t}\n\n\treturn result;\n};\n"],"names":["REGEXP_START_SYMBOL_ICON","extractIconAndContent","content","genIntHash","string","hash","i","isUrl","url","addCommasWhite","n","nStr","x1","x","x2","rgx","nl2br","str","isNumeric","numberWithWord","number","precision","dimension","suffix","numberStr","k","ellipsis","max_length","pos","string1","string2","numberEnding","num","ending0","ending1","ending2","forms","num100","num10","toRoditPadej","str2","str_array","index","rusToLatin","ru","match","htmlspecialchars","highlightHtml","text","fieldFilter","regExpString","regExp","camelToSnakeCase","genFlagLinkByCountryCode","countryCode","addLinkTags","domainRegexp","utils_check","regexpMailto","afterDomainRegexp","regexpLink","toCapitalize","getRandomHash","length","result"],"mappings":"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"}
|
|
1
|
+
{"version":3,"sources":["utils/string.js","../../src/core/utils/string.ts"],"names":["vue","exports","n","r","i","a","o","s","c","forms_CbUt_6Ff_esm_js_1","t","check_js_1"],"mappings":"AAAA,OAAO,CAAC,UAAW,UAAW,gCAAoC,cAAa,CAAE,SAAU,EAAS,EAAS,EAAyB,EAAY,CAC9I,aAAA,GAAAA,IAAA,OAAA,IAAAA,EAAA,OAAA,IACA,OAAO,eAAeC,EAAS,aAAc,CAAE,MAAO,GAAM,CAAC,CCMpD,EAA2B,aAAI,EAAO,aAAA,EAAA,WAAA,EAAA,eASb,EAAoB,aAAA,EAAA,MAAA,EAAA,MAAA,EAAA,iBAAA,EAAA,cAAA,EAAA,cAAA,EAAA,WAAA,EAAA,yBAAA,EAAA,sBAAA,EAAA,SAAA,EAAA,iBAAA,EAAA,YAAA,EAAA,eAAA,EAAA,yBAAA,IAAA,GAGzD,IAAOC,EAAA,OAAA,mDAAA,IAAA,CAAAC,EAAA,GAAA,CACA,IAAa,EAAQ,IAAK,IAAA,MAAAD,EAAA,CAChC,MAAsB,CACtB,KAAA,EAAA,EAAA,GAAA,KAMyB,QAA2B,EAAA,EAAA,UAAA,EAAA,CAAA,EAC3C,EAENE,EAAO,GAAA,CACC,GAAA,GAEP,IAAI,EAAI,EACN,GAAc,CAAA,EAAA,OACH,OAAK,EDrBhB,IAAK,IAAI,EAAI,EAAG,EAAI,EAAE,OAAQ,IAAK,CCyB/B,IAAA,EAAG,EAAA,WAEP,EAAA,CAMc,GACd,GAAA,GAAA,EAAA,EAAA,GAAA,EAUK,OAAQ,EAAA,IAAS,GAAA,IAAA,GAEzBC,EAAS,GAAM,0CAEgB,KAAM,EAAA,CAAAC,EAAA,GAAA,CAElC,IAAA,EAAQ,EAAA,GAET,EAAM,EAAA,QAAA,IAAA,IAAA,CACL,IAAI,EAAK,EAAG,MACb,IAAG,CAAA,EAAQ,EAAA,GAAK,EAAA,EAAkB,OAAA,EAAA,IAAA,EAAA,GAAA,GAEjC,GAAK,EAAA,QAAA,OAAA,GAAA,CAAA,QAAA,EAMS,OACjB,EAuBW,IAGd,EAAS,eAFT,KAAO,EAAA,KAAc,EAAA,EAKH,EAAI,EAEnB,QAAA,EAAA,QAAA,CACJ,OAAI,EAAK,GAqBGC,EAA4B,GAAqC,IAAc,IAAA,GAAA,GAAA,EAAA,QAAA,cAAA,OAAA,CAAAC,EAAA,GAAA,OAAA,GAAA,SAAA,EAAA,MAAA,GAAA,IAAA,CAAA,MAAA,OAAA,EAAA,CAAA,CAAA,CAAA,EDExF,EAAQ,yBAA2BN,EACnC,EAAQ,sBAAwBC,EAChC,EAAQ,WAAaC,EACrB,EAAQ,MAAQC,EAChB,EAAQ,eAAiBC,EACzB,EAAQ,MAAQC,EAChB,EAAQ,gBCRgF,EAAA,EAAA,EAAA,EAAA,IAAA,EAAA,KAAA,CACvF,GAAUC,EAAA,EAAW,CAEf,EACN,OAAc,EAAA,MAKP,OAAW,OAAA,EAAA,CACf,IAAiB,EAAA,IAAU,EAAA,EAExB,MAAU,GAAQ,KAAA,IAAA,EAAA,CAAA,GAAA,EAAA,KAAA,MAAA,EAAA,GAAA,EAAA,EAAA,CAAA,EAAA,YAAA,EAAA,WAAA,KAAA,IAAA,EAAA,CAAA,GAAA,EAAA,KAAA,MAAA,EAAA,GAAA,EAAA,EAAA,CAAA,EAAA,YAAA,EAAA,WAAA,KAAA,IAAA,EAAA,CAAA,EAAA,KAAA,MAAA,EAAA,EAAA,EAAA,CAAA,EAAA,YAAA,EAAA,WAAA,KAAA,MAAA,EAAA,EAAA,CAAA,EAAA,GAAA,EAAA,EAAA,QAAA,kBAAA,QAAA,CAAA,GDHzB,EAAQ,UCIA,EAAQ,EAAA,EAClB,IAAgB,CAIV,GAAA,GAAA,KAUkC,MAAkC,GAE1D,GAAC,GAAA,GAAU,GAI1B,MAHG,EAAA,QAGI,EAIM,OACT,EAEF,GAAA,IAAe,EAkBS,EAAwB,EAAA,OAAA,EAAA,OAAA,EAAA,EAAA,CAAA,EAAA,MAAA,UAClC,IAAS,EAAQ,CAEb,IAAA,EAAM,EAAI,OAAA,EAAA,EAAA,EAAA,CAAA,EAAA,EAAA,OAAA,EAAA,OAAA,EAAA,EAAA,KAAA,KAAA,EAAA,EAAA,CAAA,CAE9B,EAAI,EAAW,MAAU,OAyBD,IAAwB,IAAA,EAAA,EAAA,OAAA,EAAA,EAAA,CAAA,GAAA,OAC5C,OAAkC,GDhFrC,EAAQ,cCiFL,EAAA,EAAA,EAAA,IAAA,CAAU,IAAA,EAAAC,EAAA,IAAA,CAAA,QAAA,KAAU,OAAAC,IAAA,EAAA,EAAAR,EAAU,IAAA,EAAAQ,EAAA,IAAA,EAAAA,EAAA,GAAU,OAAA,GAAA,GAAA,GAAA,IAAA,IAAA,EAAAR,EAAA,IAAA,EAAA,EAAA,GAAA,GAAA,GAAA,EAAA,EAAA,GAAA,GAAA,GAAA,EAAAA,EAAA,GDhF3C,EAAQ,aCiFL,GAAA,CAAU,IAAA,EAAAO,EAAA,IAAA,CAAA,OAAA,MAAAC,GAAA,GAAU,OAAAA,EAAU,IAAAR,EAAAQ,EAAA,MAAA,IAAA,CAAU,OAAA,EAAA,IAAAR,EAAA,SAAA,EAAA,EAAA,CACxC,GAAA,IAAA,EAAA,EAAA,QAAA,KAAA,IAAA,CAAA,EAAA,EAAA,QAAA,MAAA,KAAA,CAAA,EAAA,EAAA,QAAA,OAAA,OAAA,CAAA,EAAA,EAAA,QAAA,MAAA,MAAA,CAAA,EAAA,EAAA,QAAA,KAAA,IAAA,CAAA,EAAA,EAAA,QAAA,KAAA,IAAA,CAAA,EAAA,EAAA,QAAA,KAAA,IAAA,CAAA,EAAA,EAAA,QAAA,OAAA,OAAA,CAAA,EAAA,EAAA,QAAA,KAAA,IAAA,CAAA,EAAA,EAAA,QAAA,MAAA,OAAA,CAAA,EAAA,EAAA,QAAA,MAAA,MAAA,CAAA,EAAAQ,GAAA,GAAU,CAAA,EAAAR,EAAA,KAAA,IAAA,CAAAQ,GDjFb,EAAQ,WCiFe,GAAA,CAAU,IAAA,EAAA,CAAU,EAAA,IACxC,EAAA,IAAU,EAAA,IAAU,EAAA,IAAU,EAAA,IAAU,EAAA,IACxC,EAAA,IAAU,EAAA,IAAU,EAAA,IAAU,EAAA,IAAU,EAAA,IACxC,EAAA,IAAW,EAAA,IAAa,EAAA,IAAS,EAAA,IAAU,EAAA,IAC3C,EAAA,IAAU,EAAA,IAAU,EAAA,IAGJ,EAAA,IAEpB,EAAI,IACsB,EAAA,IAClB,EAAI,IAGG,EAAA,IAEd,EAAA,KAGwB,EAAA,KAGX,EAAA,OAQgB,EAChC,GAe4B,EAAA,IAER,EAAA,GACd,EAAA,IACA,EAAA,IACA,EAAA,KACC,CAAA,EAA2B,EAAA,MAAO,IAAA,CACtB,OAAA,EAAA,IAAY,EAAA,SAAU,EAA4B,EAAA,CAG/C,IAAA,EAAA,EAAA,CACZ,IAAA,IAAA,EAAA,EAAA,EAAA,EAAA,OAAA,EAAA,EDnLK,EAAE,KAAK,EAAE,EAAE,KAAO,EAAE,EAAE,GAAG,aAAa,GAAK,MAAQ,EAAE,IAAM,EAAE,EAAE,GAAG,aAAa,EAAE,QAAQ,OAAQ,SAAU,EAAG,CCsL3H,OAAA,EAAA,aAAA,EDpLe,CAAC,CCuLX,EAAK,GAAA,EAAA,KAAiB,GAAA,EAQG,CAAA,EACrB,EAAA,KAAM,IAAA,CAAA,GDxJd,EAAQ,iBC2K2B,IACZ,EAAA,EAAA,QAAA,KAAA,QAAA,CAAA,QAEpB,KAAmB,OAAO,CAAA,QAAA,KAAA,OAAA,CAAA,QAAiC,KAAiC,SAAU,CAAA,QAAA,KAAA,SAAA,CAAA,GD7KzG,EAAQ,eC6KiG,EAAA,IAAA,CAChG,IAAA,EAAQ,KAEd,OAAwB,EAAA,SAAxB,CACC,IAAK,WAYgB,IACjB,SASE,GAAA,CACG,IAAY,EAC3B,EAAA,OAAU,GAGJ,EAAA,UAAA,WAAA,EAAA,EAAA,QAAA,cAAA,OAAA,EAAA,EAAA,OAAA,IAAA,EAAA,IAAA,KAAA,MDzOc,CACF,OAAO,EAEX,MAER,MAAO,GAAI,EAAE,QAAQ,EAAG,0BAA4B,CAAE,GAyB1D,EAAQ,iBAxBA,GAAM,EAAE,MAAM,qEAAqE,EAAE,IAAK,GAAM,EAAE,aAAa,CAAC,CAAC,KAAK,IAAI,CAyBlI,EAAQ,yBAzBiI,GAAM,yBAAyB,uBAAyB,EAAE,aAAa,CAAG,SA0BnN,EAAQ,YA1B0N,GAAM,CACpO,IAAIR,GAAK,EAAGS,EAAW,kBAAkB,CAAER,EAAI,oCAAqC,EAAI,OAAO,iCAAiCD,IAAIC,EAAE,GAAI,MAAM,CAChJ,EAAI,EAAE,QAAQ,EAAG,kEAAwE,CACzF,IAAI,EAAI,OAAO,+BAA+BD,IAAIC,EAAE,GAAI,MAAM,CAC9D,MAAO,GAAI,EAAE,QAAQ,EAAG,qEAA2E,CAAE,EAAI,EAAE,WAAW,QAAS,OAAO,CAAE,EAAI,EAAE,WAAW,IAAK,UAAU,CAAE,EAAI,EAAE,WAAW,YAAa,GAAG,CAAE,GAuBjN,EAAQ,aAtBA,GAAM,EAAE,OAAO,EAAE,CAAC,aAAa,CAAG,EAAE,MAAM,EAAE,CAuBpD,EAAQ,eAvBmD,EAAI,KAAO,CAClE,IAAI,EAAI,GACR,IAAK,IAAI,EAAI,EAAG,EAAI,EAAG,IACnB,GAAK,iEAAiE,KAAK,MAAM,KAAK,QAAQ,CAAG,GAAG,EACxG,OAAO,IAoBb","sourcesContent":["define([\"require\", \"exports\", \"../.chunks/forms-CbUt-6Ff.esm.js\", \"./check.js\"], function (require, exports, forms_CbUt_6Ff_esm_js_1, check_js_1) {\n \"use strict\";\n Object.defineProperty(exports, \"__esModule\", { value: true });\n exports.toRoditPadej = exports.toCapitalize = exports.rusToLatin = exports.numberWithWord = exports.numberEnding = exports.nl2br = exports.isUrl = exports.htmlspecialchars = exports.highlightHtml = exports.getRandomHash = exports.genIntHash = exports.genFlagLinkByCountryCode = exports.extractIconAndContent = exports.ellipsis = exports.camelToSnakeCase = exports.addLinkTags = exports.addCommasWhite = exports.REGEXP_START_SYMBOL_ICON = void 0;\n //#region src/core/utils/string.ts\n var n = /* @__PURE__ */ RegExp(\"^[^a-zа-я0-9_%#!?.:'\\\"«»[\\\\](){} \\\\r\\\\n\\\\t<>&/+-]\", \"i\"), r = (e) => {\n let t = e?.[0]?.match(n);\n return {\n icon: t ? e[0] : null,\n content: t ? e.substring(1) : e\n };\n }, i = (e) => {\n e += \"\";\n let t = 0;\n if (!e.length)\n return t;\n for (let n = 0; n < e.length; n++) {\n let r = e.charCodeAt(n);\n t = (t << 5) - t + r, t &= t;\n }\n return t < 0 && (t *= -1), t;\n }, a = (e) => /^\\w+:\\/\\/([\\w-]+\\.)+[\\w-]+(:\\d+)?(\\/|$)/.test(e), o = (e) => {\n let t = e + \"\";\n t = t.replace(\"-\", \"–\");\n let n = t.split(\".\"), r = n[0], i = n.length > 1 ? \".\" + n[1] : \"\";\n if (r.replace(/[+–]/, \"\").length <= 4)\n return t;\n let a = /(\\d+)(\\d{3})/;\n for (; a.test(r);)\n r = r.replace(a, \"$1 $2\");\n return r + i;\n }, s = (e) => e === void 0 ? \"\" : e.replace(/\\r\\n|\\r|\\n/g, \"<br>\"), c = (e) => typeof e == \"string\" ? e.trim() !== \"\" && !isNaN(Number(e)) : !0, l = (e, t = 2, n = 1e3, r = \"\") => {\n if (c(e))\n e = Number(e);\n else\n return String(e);\n let i = 10 ** t, a;\n return a = Math.abs(e) > n ** 3 ? Math.round(e / n ** 3 * i) / i + \" <small>G\" + r + \"</small>\" : Math.abs(e) > n ** 2 ? Math.round(e / n ** 2 * i) / i + \" <small>M\" + r + \"</small>\" : Math.abs(e) > n ? Math.round(e / n * i) / i + \" <small>K\" + r + \"</small>\" : Math.round(e * i) / i + \"\", a = a.replace(/^(-?\\d+)(\\d{3})/, \"$1 $2\"), a;\n }, u = (e, t, n = 1) => {\n if (e == null)\n return \"\";\n if (e += \"\", t == null || e.length <= t)\n return e;\n if (n === 0)\n e = e.substr(e.length - t, t), e = \"...\" + e;\n else if (n === 1) {\n let n = e.substr(0, t / 2), r = e.substr(e.length - t / 2, Math.ceil(t / 2));\n e = n + \"...\" + r;\n }\n else\n n === 2 && (e = e.substr(0, t), e += \"...\");\n return e;\n }, d = (t, n, r, i) => {\n if ((0, forms_CbUt_6Ff_esm_js_1.D)().value === \"en\")\n return t === 1 ? r : n;\n let a = t % 100, o = t % 10;\n return a >= 5 && a <= 20 || o === 0 ? n : o === 1 ? r : o >= 2 && o <= 4 ? i : o >= 5 && o <= 9 ? n : i;\n }, f = (t) => {\n if ((0, forms_CbUt_6Ff_esm_js_1.D)().value != \"ru\" || t == \"\")\n return t;\n let n = t.split(\" \");\n return $.map(n, function (e, t) {\n e += \"а\", e = e.replace(\"оа\", \"о\"), e = e.replace(\"аяа\", \"ой\"), e = e.replace(\"шийа\", \"шого\"), e = e.replace(\"ыйа\", \"ого\"), e = e.replace(\"йа\", \"я\"), e = e.replace(\"ьа\", \"я\"), e = e.replace(\"яа\", \"и\"), e = e.replace(\"оваа\", \"овой\"), e = e.replace(\"аа\", \"ы\"), e = e.replace(\"кия\", \"кого\"), e = e.replace(\"каи\", \"кой\"), n[t] = e;\n }), t = n.join(\" \"), t;\n }, p = (e) => {\n let t = {\n а: \"a\",\n б: \"b\",\n в: \"v\",\n г: \"g\",\n д: \"d\",\n е: \"e\",\n ё: \"e\",\n ж: \"j\",\n з: \"z\",\n и: \"i\",\n й: \"i\",\n к: \"k\",\n л: \"l\",\n м: \"m\",\n н: \"n\",\n о: \"o\",\n п: \"p\",\n р: \"r\",\n с: \"s\",\n т: \"t\",\n у: \"u\",\n ф: \"f\",\n х: \"h\",\n ц: \"c\",\n ч: \"ch\",\n ш: \"sh\",\n щ: \"shch\",\n ъ: \"\",\n ы: \"y\",\n ь: \"\",\n э: \"e\",\n ю: \"u\",\n я: \"ya\"\n }, n = e.split(\" \");\n return $.map(n, function (e, r) {\n let i = [];\n for (let n = 0; n < e.length; ++n)\n i.push(t[e[n]] || t[e[n].toLowerCase()] == null && e[n] || t[e[n].toLowerCase()].replace(/^(.)/, function (e) {\n return e.toUpperCase();\n }));\n n[r] = i.join(\"\");\n }), e = n.join(\" \"), e;\n }, m = (e) => (e = e.replace(/&/g, \"&\").replace(/</g, \"<\").replace(/>/g, \">\").replace(/\"/g, \""\").replace(/'/g, \"'\"), e), h = (e, t) => {\n let n = null;\n switch (t.operator) {\n case \"CONTAINS\":\n case \"REGEXP\":\n try {\n let e = t.values[0];\n t.operator != \"REGEXP\" && (e = e.replace(/([()\\[\\]])/g, \"\\\\$1\")), n = RegExp(\"(\" + e + \")\", \"gi\");\n }\n catch {\n return e;\n }\n break;\n }\n return e = e.replace(n, \"<b class=\\\"found\\\">$1</b>\"), e;\n }, g = (e) => e.match(/[A-Z]{2,}(?=[A-Z][a-z]+[0-9]*|\\b)|[A-Z]?[a-z]+[0-9]*|[A-Z]|[0-9]+/g)?.map((e) => e.toLowerCase()).join(\"_\"), _ = (e) => `/controller/file/?src=${\"/cloud/common/flags/\" + e.toUpperCase() + \".svg\"}`, v = (e) => {\n let n = (0, check_js_1.getDomainRegexp)(), r = \"(([\\\\/?\\\\w&=%+#;:-]*(\\\\.\\\\w+)?))*\", i = RegExp(`(^|[\\\\s>(),])([a-z0-9а-яё_.]+@${n}${r})`, \"gui\");\n e = e.replace(i, \"$1<a href=\\\"mailto:$2\\\" target=\\\"_blank\\\" rel=\\\"noopener\\\">↑[$2]↓</a>\");\n let a = RegExp(`(^|[\\\\s>(),])(https?:\\/\\/)?(${n}${r})`, \"gui\");\n return e = e.replace(a, \"$1<a href=\\\"√$2$3\\\" target=\\\"_blank\\\" rel=\\\"nofollow noopener\\\">$2$3</a>\"), e = e.replaceAll(\"√http\", \"http\"), e = e.replaceAll(\"√\", \"http://\"), e = e.replaceAll(/(↑\\[|]↓)/g, \"\"), e;\n }, y = (e) => e.charAt(0).toUpperCase() + e.slice(1), b = (e = 20) => {\n let t = \"\";\n for (let n = 0; n < e; n++)\n t += \"AaBbCcDdEeFfGgHhIiJjKkLlMmNnOoPpQqRrSsTtUuVvWwXxYyZz1234567890\"[Math.floor(Math.random() * 62)];\n return t;\n };\n exports.REGEXP_START_SYMBOL_ICON = n;\n exports.extractIconAndContent = r;\n exports.genIntHash = i;\n exports.isUrl = a;\n exports.addCommasWhite = o;\n exports.nl2br = s;\n exports.numberWithWord = l;\n exports.ellipsis = u;\n exports.numberEnding = d;\n exports.toRoditPadej = f;\n exports.rusToLatin = p;\n exports.htmlspecialchars = m;\n exports.highlightHtml = h;\n exports.camelToSnakeCase = g;\n exports.genFlagLinkByCountryCode = _;\n exports.addLinkTags = v;\n exports.toCapitalize = y;\n exports.getRandomHash = b;\n});\n//# sourceMappingURL=string.js.map\n","/**\n * Работа со строками\n * @packageDocumentation\n */\n\nimport { getDomainRegexp } from '@/core/utils/check';\nimport { useI18nLang } from '@/core/plugins/i18n';\n\nexport const REGEXP_START_SYMBOL_ICON = new RegExp('^[^a-zа-я0-9_%#!?.:\\'\"«»[\\\\](){} \\\\r\\\\n\\\\t<>&/+-]', 'i');\n\n/**\n * Извлекает иконку и оставшийся контент из строки\n *\n * Возвращает объект со свойствами:\n * - `icon`: содержит символ иконки, если он присутствует, иначе `null`\n * - `content`: содержит оставшийся текст без символа иконки, если он был извлечен, или всю строку\n */\nexport const extractIconAndContent = (content: string) => {\n\tconst iconExists = content?.[0]?.match(REGEXP_START_SYMBOL_ICON);\n\n\treturn {\n\t\ticon: iconExists ? content[0] : null,\n\t\tcontent: iconExists ? content.substring(1) : content,\n\t};\n};\n\n/**\n * Сгенерировать числовой хэш от строки для идентификатора\n */\nexport const genIntHash = (string: string): number => {\n\tstring += '';\n\n\tlet hash = 0;\n\tif (!string.length) return hash;\n\n\tfor (let i = 0; i < string.length; i++) {\n\t\tconst char = string.charCodeAt(i);\n\t\thash = ((hash << 5) - hash) + char;\n\t\thash = hash & hash;\n\t}\n\n\tif (hash < 0) hash *= -1;\n\n\treturn hash;\n};\n\n/**\n * Проверить, что переданная строка является URL\n */\nexport const isUrl = (url: string): boolean => {\n\treturn /^\\w+:\\/\\/([\\w-]+\\.)+[\\w-]+(:\\d+)?(\\/|$)/.test(url);\n};\n\n/**\n * Добавляет пробелы между разрядами если требуется\n * @param nStr строка с числом\n */\nexport const addCommasWhite = (n: number | string): string => {\n\tlet nStr = n + '';\n\n\tnStr = nStr.replace('-', '–');\n\n\tlet x = nStr.split('.');\n\tlet x1 = x[0];\n\tlet x2 = (x.length > 1) ? ('.' + x[1]) : '';\n\n\tif (x1.replace(/[+–]/, '').length <= 4) return nStr;\n\n\tconst rgx = /(\\d+)(\\d{3})/;\n\twhile (rgx.test(x1)) {\n\t\tx1 = x1.replace(rgx, '$1' + ' ' + '$2');\n\t}\n\treturn x1 + x2;\n};\n\n/**\n * Вставляет HTML-код разрыва строки перед каждым переводом строки\n */\nexport const nl2br = (str: string): string => {\n\tif (str === undefined) return '';\n\n\treturn str.replace(/\\r\\n|\\r|\\n/g, '<br>');\n};\n/**\n * Проверяет, является ли строка числом (целым или с плавающей точкой)\n */\nconst isNumeric = (string: number | string): boolean => {\n\tif (typeof string === 'string') {\n\t\treturn string.trim() !== '' && !isNaN(Number(string));\n\t}\n\n\treturn true;\n};\n\n/**\n * Перевести число без деситичной приставки в число с деситичной приставкой степеней тысячи (с параметрами по умолчанию 1255 -> '1.26 K')\n * @param number\n * @param precision - точность, количество знаков после запятой\n * @param dimension - размерность, по умолчанию 1000\n * @param suffix - суффикс к десятичной приставке (по умолчанию выводится латинская заглавная буква)\n */\nexport const numberWithWord = (number: number | string, precision = 2, dimension = 1000, suffix = ''): string => {\n\tif (!isNumeric(number)) {\n\t\treturn String(number);\n\t} else {\n\t\tnumber = Number(number);\n\t}\n\n\tconst k = Math.pow(10, precision);\n\n\tlet numberStr: string;\n\tif (Math.abs(number) > Math.pow(dimension, 3)) {\n\t\tnumberStr = Math.round(number / Math.pow(dimension, 3) * k) / k + ' <small>G' + suffix + '</small>';\n\t} else if (Math.abs(number) > Math.pow(dimension, 2)) {\n\t\tnumberStr = Math.round(number / Math.pow(dimension, 2) * k) / k + ' <small>M' + suffix + '</small>';\n\t} else if (Math.abs(number) > dimension) {\n\t\tnumberStr = Math.round(number / dimension * k) / k + ' <small>K' + suffix + '</small>';\n\t} else {\n\t\tnumberStr = Math.round(number * k) / k + '';\n\t}\n\n\tnumberStr = numberStr.replace(/^(-?\\d+)(\\d{3})/, '$1 $2');\n\n\treturn numberStr;\n};\n\n/**\n * Обрезать текст под три точки\n * @param string\n * @param max_length - максимальное количество символов текста, остальное обрежеться\n * @param pos - область обрезки 0-начало | 1-середина | 2-конец строки\n */\nexport const ellipsis = (string: string, max_length: number, pos: 0 | 1 | 2 = 1): string => {\n\tif (string == undefined) return '';\n\n\tstring += '';\n\tif (max_length == undefined || string.length <= max_length) return string;\n\n\tif (pos === 0) {\n\t\tstring = string.substr(string.length - max_length, max_length);\n\t\tstring = '...' + string;\n\t} else if (pos === 1) {\n\t\tconst string1 = string.substr(0, max_length / 2);\n\t\tconst string2 = string.substr(string.length - max_length / 2, Math.ceil(max_length / 2));\n\t\tstring = string1 + '...' + string2;\n\t} else if (pos === 2) {\n\t\tstring = string.substr(0, max_length);\n\t\tstring = string + '...';\n\t}\n\n\treturn string;\n};\n\n/**\n * Сгенерировать строку текста для вывода количества в разном склонении\n * @param num\n * @param ending0 - родительный падеж, множ. число (10 модулей)\n * @param ending1 - именительный падеж, ед. число (1 модуль)\n * @param ending2 - винительный падеж, множ. число (3 модуля)\n */\nexport const numberEnding = (num: number, ending0: string, ending1: string, ending2: string): string => {\n\t// склонение по множественному числу\n\tif (useI18nLang().value === 'en') {\n\t\tif (num === 1) {\n\t\t\treturn ending1;\n\t\t} else {\n\t\t\treturn ending0;\n\t\t}\n\t}\n\n\tconst num100 = num % 100;\n\tconst num10 = num % 10;\n\n\tif (num100 >= 5 && num100 <= 20) {\n\t\treturn ending0;\n\t} else if (num10 === 0) {\n\t\treturn ending0;\n\t} else if (num10 === 1) {\n\t\treturn ending1;\n\t} else if (num10 >= 2 && num10 <= 4) {\n\t\treturn ending2;\n\t} else if (num10 >= 5 && num10 <= 9) {\n\t\treturn ending0;\n\t} else {\n\t\treturn ending2;\n\t}\n};\n\n/**\n * Перевести строку в родительный падеж\n */\nexport const toRoditPadej = (str: string): string => {\n\tif (useI18nLang().value != 'ru' || str == '') return str;\n\n\tconst str_array = str.split(' ');\n\n\t$.map(str_array, function (str, index) {\n\t\tstr = str + 'а';\n\t\tstr = str.replace('оа', 'о');\n\t\tstr = str.replace('аяа', 'ой');\n\t\tstr = str.replace('шийа', 'шого');\n\t\tstr = str.replace('ыйа', 'ого');\n\t\tstr = str.replace('йа', 'я');\n\t\tstr = str.replace('ьа', 'я');\n\t\tstr = str.replace('яа', 'и');\n\t\tstr = str.replace('оваа', 'овой');\n\t\tstr = str.replace('аа', 'ы');\n\t\tstr = str.replace('кия', 'кого');\n\t\tstr = str.replace('каи', 'кой');\n\n\t\tstr_array[index] = str;\n\t});\n\n\tstr = str_array.join(' ');\n\n\treturn str;\n};\n\n/**\n * Транслитерация текста\n */\nexport const rusToLatin = (str: string): string => {\n\tconst ru: { [index: string]: string } = {\n\t\t'а': 'a', 'б': 'b', 'в': 'v', 'г': 'g', 'д': 'd',\n\t\t'е': 'e', 'ё': 'e', 'ж': 'j', 'з': 'z', 'и': 'i',\n\t\t'й': 'i', 'к': 'k', 'л': 'l', 'м': 'm', 'н': 'n',\n\t\t'о': 'o', 'п': 'p', 'р': 'r', 'с': 's', 'т': 't',\n\t\t'у': 'u', 'ф': 'f', 'х': 'h', 'ц': 'c', 'ч': 'ch',\n\t\t'ш': 'sh', 'щ': 'shch', 'ъ': '', 'ы': 'y', 'ь': '',\n\t\t'э': 'e', 'ю': 'u', 'я': 'ya',\n\t};\n\n\tconst str_array = str.split(' ');\n\n\t$.map(str_array, function (str, index) {\n\t\tconst newStr: string[] = [];\n\t\tfor (let i = 0; i < str.length; ++i) {\n\t\t\tnewStr.push(\n\t\t\t\tru[str[i]] || ru[str[i].toLowerCase()] == undefined && str[i] || ru[str[i].toLowerCase()].replace(/^(.)/, function (match) {\n\t\t\t\t\treturn match.toUpperCase();\n\t\t\t\t}),\n\t\t\t);\n\t\t}\n\n\t\tstr_array[index] = newStr.join('');\n\t});\n\n\tstr = str_array.join(' ');\n\n\treturn str;\n};\n\n/**\n * Замена html-символов (`&`, `<`, `>`, `\"`, `'`) на имена литер (`&` -> `&`)\n */\nexport const htmlspecialchars = (str: string): string => {\n\tstr = str\n\t\t.replace(/&/g, '&')\n\t\t.replace(/</g, '<')\n\t\t.replace(/>/g, '>')\n\t\t.replace(/\"/g, '"')\n\t\t.replace(/'/g, ''');\n\n\treturn str;\n};\n\n/**\n * Выделить нужное в тексте желтым цветом\n * поиск происходит по строке fieldFilter.values[0]\n */\nexport const highlightHtml = (text: string, fieldFilter: { operator: 'CONTAINS' | 'REGEXP', values: string[] }): string => {\n\tlet regExp: RegExp | null = null;\n\n\tswitch (fieldFilter.operator) {\n\t\tcase 'CONTAINS':\n\t\tcase 'REGEXP':\n\t\t\ttry {\n\t\t\t\tlet regExpString = fieldFilter.values[0];\n\t\t\t\tif (fieldFilter.operator != 'REGEXP') regExpString = regExpString.replace(/([()\\[\\]])/g, '\\\\$1');\n\n\t\t\t\tregExp = new RegExp('(' + regExpString + ')', 'gi');\n\t\t\t} catch (exception) {\n\t\t\t\treturn text;\n\t\t\t}\n\n\t\t\tbreak;\n\t}\n\n\ttext = text.replace(regExp!, '<b class=\"found\">$1</b>');\n\n\treturn text;\n};\n\n/**\n * Пример: logHTTPCodesHundreds => log_http_codes_hundreds\n */\nexport const camelToSnakeCase = (str: string): string | undefined => {\n\treturn str.match(/[A-Z]{2,}(?=[A-Z][a-z]+[0-9]*|\\b)|[A-Z]?[a-z]+[0-9]*|[A-Z]|[0-9]+/g)?.map(token => token.toLowerCase()).join('_');\n};\n\n/**\n * Получить url изображения флага, по коду страны по стандарту ISO 3166-1 alpha-2\n *\n * @todo Опубликовать в CDN или брать c публичного CDN\n */\nexport const genFlagLinkByCountryCode = (countryCode: string) => {\n\tconst urlImage = '/cloud/common/flags/' + countryCode.toUpperCase() + '.svg';\n\treturn `/controller/file/?src=${urlImage}`;\n};\n\n/**\n * Обернуть все ссылки и email в тексте в html-тег `<a>`.\n *\n * Для email ставиться префикс `mailto:`\n */\nexport const addLinkTags = (text: string): string => {\n\tconst domainRegexp = getDomainRegexp();\n\tconst afterDomainRegexp = '(([\\\\/?\\\\w&=%+#;:-]*(\\\\.\\\\w+)?))*';\n\n\tconst regexpMailto = new RegExp(`(^|[\\\\s>(),])([a-z0-9а-яё_.]+@${domainRegexp}${afterDomainRegexp})`, 'gui');\n\ttext = text.replace(regexpMailto, `$1<a href=\"mailto:$2\" target=\"_blank\" rel=\"noopener\">↑[$2]↓</a>`);\n\n\tconst regexpLink = new RegExp(`(^|[\\\\s>(),])(https?:\\/\\/)?(${domainRegexp}${afterDomainRegexp})`, 'gui');\n\ttext = text.replace(regexpLink, `$1<a href=\"√$2$3\" target=\"_blank\" rel=\"nofollow noopener\">$2$3</a>`);\n\n\ttext = text.replaceAll('√http', 'http');\n\ttext = text.replaceAll('√', 'http://');\n\ttext = text.replaceAll(/(↑\\[|]↓)/g, '');\n\n\treturn text;\n};\n\n/**\n * Перевести первую букву строки в верхний регистр\n */\nexport const toCapitalize = (str: string): string => {\n\treturn str.charAt(0).toUpperCase() + str.slice(1);\n};\n\n/**\n * Получить случайную строку\n */\nexport const getRandomHash = (length: number = 20): string => {\n\tconst l = 'AaBbCcDdEeFfGgHhIiJjKkLlMmNnOoPpQqRrSsTtUuVvWwXxYyZz1234567890';\n\n\tlet result = '';\n\tfor (let i = 0; i < length; i++) {\n\t\tresult += l[Math.floor(Math.random() * l.length)];\n\t}\n\n\treturn result;\n};\n"]}
|
package/utils/string.d.ts
CHANGED