@topvisor/ui 0.9.35-4 → 0.9.36
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/{datepicker-D_95vv2c.amd.js → datepicker-CMuCkYBj.amd.js} +4 -4
- package/.chunks/{datepicker-D_95vv2c.amd.js.map → datepicker-CMuCkYBj.amd.js.map} +1 -1
- package/.chunks/{datepicker-CcRVcC5P.es.js → datepicker-CtcFJYEp.es.js} +4 -4
- package/.chunks/{datepicker-CcRVcC5P.es.js.map → datepicker-CtcFJYEp.es.js.map} +1 -1
- package/.chunks/{forms-BZoPbSQt.es.js → forms-Cay_sybt.es.js} +3 -3
- package/.chunks/forms-Cay_sybt.es.js.map +1 -0
- package/.chunks/{forms-KR6uVX5Z.amd.js → forms-Lm1WM1gO.amd.js} +3 -3
- package/.chunks/forms-Lm1WM1gO.amd.js.map +1 -0
- package/.chunks/{listItem.vue_vue_type_script_setup_true_lang-C2uuAtpx.es.js → listItem.vue_vue_type_script_setup_true_lang-B3TjT92k.es.js} +2 -2
- package/.chunks/{listItem.vue_vue_type_script_setup_true_lang-C2uuAtpx.es.js.map → listItem.vue_vue_type_script_setup_true_lang-B3TjT92k.es.js.map} +1 -1
- package/.chunks/{listItem.vue_vue_type_script_setup_true_lang-4m2ZOlaP.amd.js → listItem.vue_vue_type_script_setup_true_lang-D1glM0F3.amd.js} +2 -2
- package/.chunks/{listItem.vue_vue_type_script_setup_true_lang-4m2ZOlaP.amd.js.map → listItem.vue_vue_type_script_setup_true_lang-D1glM0F3.amd.js.map} +1 -1
- package/.chunks/{menu-DDYYS64d.es.js → menu-B3Nf7_NC.es.js} +2 -2
- package/.chunks/{menu-DDYYS64d.es.js.map → menu-B3Nf7_NC.es.js.map} +1 -1
- package/.chunks/{menu-CNIQ9vFJ.amd.js → menu-Dg2EKy3O.amd.js} +2 -2
- package/.chunks/{menu-CNIQ9vFJ.amd.js.map → menu-Dg2EKy3O.amd.js.map} +1 -1
- package/.chunks/{popup-Bc6YggdE.es.js → popup-B7UOyCUj.es.js} +6 -5
- package/.chunks/popup-B7UOyCUj.es.js.map +1 -0
- package/.chunks/{popup-BFJ2eTTB.amd.js → popup-BGuc5GyB.amd.js} +6 -5
- package/.chunks/popup-BGuc5GyB.amd.js.map +1 -0
- package/assets/core.css +1 -1
- package/assets/dark.css +1 -1
- package/assets/forms.css +1 -1
- package/assets/formsExt.css +1 -1
- package/assets/light.css +1 -1
- package/assets/menu.css +1 -1
- package/assets/popup.css +1 -1
- package/assets/tabs.css +1 -1
- package/core/app.amd.js +1 -1
- package/core/app.js +1 -1
- package/core/core.amd.js +1 -1
- package/core/core.js +1 -1
- package/forms/forms.amd.js +1 -1
- package/forms/forms.js +1 -1
- package/formsExt/formsExt.amd.js +1 -1
- package/formsExt/formsExt.amd.js.map +1 -1
- package/formsExt/formsExt.js +2 -2
- package/formsExt/formsExt.js.map +1 -1
- package/package.json +1 -1
- package/popup/popup.amd.js +1 -1
- package/popup/popup.js +2 -2
- package/popup/popup.js.map +1 -1
- package/popup/worker.amd.js +1 -1
- package/popup/worker.js +2 -2
- package/project/project.amd.js +1 -1
- package/project/project.js +3 -3
- package/tabs/tabs.amd.js +1 -1
- package/tabs/tabs.js +1 -1
- package/tabsView/tabsView.amd.js +1 -1
- package/tabsView/tabsView.js +1 -1
- package/utils/date.amd.js +1 -1
- package/utils/date.js +1 -1
- package/utils/device.amd.js +1 -1
- package/utils/device.js +1 -1
- package/utils/price.amd.js +1 -1
- package/utils/price.js +1 -1
- package/.chunks/forms-BZoPbSQt.es.js.map +0 -1
- package/.chunks/forms-KR6uVX5Z.amd.js.map +0 -1
- package/.chunks/popup-BFJ2eTTB.amd.js.map +0 -1
- package/.chunks/popup-Bc6YggdE.es.js.map +0 -1
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
define(["require","exports","vue","./forms-
|
|
1
|
+
define(["require","exports","vue","./forms-Lm1WM1gO.amd"],function(b,k,c,n){"use strict";if(typeof c>"u")var c=window.Vue;n.Core.insertStyleToPage(`/* ui-datepicker */\r
|
|
2
2
|
.ui-datepicker {\r
|
|
3
3
|
--datepicker-day-color: var(--color-bg-3);\r
|
|
4
4
|
--datepicker-day-color-hover: var(--color-layer-secondary-1);\r
|
|
5
|
-
--datepicker-selected-color: var(--color-bg-primary-
|
|
6
|
-
--datepicker-selected-color-hover: var(--color-bg-primary-
|
|
5
|
+
--datepicker-selected-color: var(--color-bg-primary-6);\r
|
|
6
|
+
--datepicker-selected-color-hover: var(--color-bg-primary-4);\r
|
|
7
7
|
--datepicker-range-color: var(--color-layer-primary-1);\r
|
|
8
8
|
--datepicker-range-color-hover: var(--color-layer-primary-2);\r
|
|
9
9
|
\r
|
|
@@ -245,4 +245,4 @@ td.ui-datepicker-today a {\r
|
|
|
245
245
|
display: none;\r
|
|
246
246
|
}\r
|
|
247
247
|
`);const h=t=>{var r,e;if(!((e=(r=n.Core.$)==null?void 0:r.ui)!=null&&e.datepicker)){console.info("Для работы datepicker требуется глобальная загрузка jQuery UI Datepicker");return}return n.Core.$.datepicker.setDefaults({dateFormat:n.Core.state.dateFormat.toLowerCase().replace("m","mm").replace("y","yy").replace("d","dd")}),n.Core.$(t)};function m(t,r){var e;return(e=h(t))==null?void 0:e.datepicker(r)}let o,p,l,u;c.watch(c.toRef(n.Core.state.dateFormat),()=>{var t;o=n.dateFormat("2000-01-01"),p=((t=o.match(/\D/))==null?void 0:t[0])??"-",l=o.replace(/\D+/g,"").length,u=[];for(let r=0;r<o.length;r++)o[r]===p&&u.push(r)},{immediate:!0});function v(t){let r=t.target.selectionEnd,e=t.target.value,i=e.substring(0,r).replace(/\D+/g,""),a=e.substring(r).replace(/\D+/g,""),s=i.length+a.length-l;if(s>0){i=i.substring(0,l);const d=l-i.length;a=a.substring(a.length-d)}else s<0&&(t.inputType==="deleteContentForward"?i+="0".repeat(-s):a="0".repeat(-s)+a);r=i.length,e=i+a;for(let d=0;d<u.length;d++){const g=u[d];e=e.substring(0,g)+p+e.substring(g),r>=g&&r++}t.inputType==="deleteContentBackward"&&e[r-1]===p&&r--,e!==t.target.value&&(t.target.value=e,t.target.selectionStart=r,t.target.selectionEnd=r)}k.connectDatepicker=m,k.oninput=v,Object.defineProperty(k,Symbol.toStringTag,{value:"Module"})});
|
|
248
|
-
//# sourceMappingURL=datepicker-
|
|
248
|
+
//# sourceMappingURL=datepicker-CMuCkYBj.amd.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"datepicker-D_95vv2c.amd.js","sources":["../../src/components/forms/inputDate/datepicker.ts","../../src/components/forms/inputDate/datepicker.css?raw"],"sourcesContent":["import { toRef, watch } from 'vue';\r\nimport Core from '@/core/core/core';\r\nimport { dateFormat } from '@/core/utils/date';\r\n\r\nimport css from '@/components/forms/inputDate/datepicker.css?raw';\r\n\r\nCore.insertStyleToPage(css);\r\n\r\nconst $ = (el: HTMLInputElement) => {\r\n\tif (!Core.$?.ui?.datepicker) {\r\n\t\tconsole.info('Для работы datepicker требуется глобальная загрузка jQuery UI Datepicker');\r\n\r\n\t\treturn;\r\n\t}\r\n\r\n\tCore.$.datepicker.setDefaults({\r\n\t\tdateFormat: Core.state.dateFormat.toLowerCase().replace('m', 'mm').replace('y', 'yy').replace('d', 'dd'),\r\n\t});\r\n\r\n\treturn Core.$(el);\r\n};\r\n\r\nexport function connectDatepicker(el: HTMLInputElement, options: any) {\r\n\treturn $(el)?.datepicker(options);\r\n}\r\n\r\nlet dateFormatted;\r\nlet delimiter: string;\r\nlet dateNumbersCount: number;\r\nlet delimitersIndexes: number[];\r\n\r\nwatch(toRef(Core.state.dateFormat), () => {\r\n\t// генерация отформатированной даты, извлечение из нее разделителей и их индексов\r\n\tdateFormatted = dateFormat('2000-01-01');\r\n\tdelimiter = dateFormatted.match(/\\D/)?.[0] ?? '-';\r\n\tdateNumbersCount = dateFormatted.replace(/\\D+/g, '').length;\r\n\tdelimitersIndexes = [];\r\n\r\n\tfor (let i = 0; i < dateFormatted.length; i++) {\r\n\t\tif (dateFormatted[i] === delimiter) {\r\n\t\t\tdelimitersIndexes.push(i);\r\n\t\t}\r\n\t}\r\n}, { immediate: true });\r\n\r\n/**\r\n * Автоформат при вводе в поле с датой\r\n */\r\nexport function oninput(e: any) {\r\n\tlet selectionPos = e.target.selectionEnd;\r\n\tlet value = e.target.value;\r\n\r\n\t// разбить занчение на две половины - до и после каретки\r\n\t// удалить все символы, кроме цифр\r\n\tlet valueChunkLeft = value.substring(0, selectionPos).replace(/\\D+/g, '');\r\n\tlet valueChunkRight = value.substring(selectionPos).replace(/\\D+/g, '');\r\n\r\n\tlet extraNumbersCount = valueChunkLeft.length + valueChunkRight.length - dateNumbersCount;\r\n\tif (extraNumbersCount > 0) {\r\n\t\t// // количество цифр больше требуемого - удалить лишние\r\n\t\tvalueChunkLeft = valueChunkLeft.substring(0, dateNumbersCount);\r\n\r\n\t\tconst valueChunkRightMaxLength = dateNumbersCount - valueChunkLeft.length;\r\n\t\tvalueChunkRight = valueChunkRight.substring(valueChunkRight.length - valueChunkRightMaxLength);\r\n\t} else if (extraNumbersCount < 0) {\r\n\t\t// количество цифр меньше требуемого - добавить 0\r\n\t\tif (e.inputType === 'deleteContentForward') {\r\n\t\t\t// нажатие на delete - добавить к левой части для правильного позиционирования каретки\r\n\t\t\tvalueChunkLeft += '0'.repeat(-extraNumbersCount);\r\n\t\t} else {\r\n\t\t\tvalueChunkRight = '0'.repeat(-extraNumbersCount) + valueChunkRight;\r\n\t\t}\r\n\t}\r\n\r\n\tselectionPos = valueChunkLeft.length;\r\n\tvalue = valueChunkLeft + valueChunkRight;\r\n\r\n\t// вставить разделители\r\n\tfor (let i = 0; i < delimitersIndexes.length; i++) {\r\n\t\tconst delimiterIndex = delimitersIndexes[i];\r\n\r\n\t\tvalue = value.substring(0, delimiterIndex) + delimiter + value.substring(delimiterIndex);\r\n\r\n\t\t// сдвинуть каретку, если разделитель вставлен левее ее\r\n\t\tif (selectionPos >= delimiterIndex) {\r\n\t\t\tselectionPos++;\r\n\t\t}\r\n\t}\r\n\r\n\t// нажатие на backspace - если слева символ разделителя, перенести каретку за него\r\n\tif (e.inputType === 'deleteContentBackward' && value[selectionPos - 1] === delimiter) {\r\n\t\tselectionPos--;\r\n\t}\r\n\r\n\t// если значение изменилось - вставить его и переместить каретку\r\n\tif (value !== e.target.value) {\r\n\t\te.target.value = value;\r\n\t\te.target.selectionStart = selectionPos;\r\n\t\te.target.selectionEnd = selectionPos;\r\n\t}\r\n}\r\n","export default \"/* ui-datepicker */\\r\\n.ui-datepicker {\\r\\n\\t--datepicker-day-color: var(--color-bg-3);\\r\\n\\t--datepicker-day-color-hover: var(--color-layer-secondary-1);\\r\\n\\t--datepicker-selected-color: var(--color-bg-primary-2);\\r\\n\\t--datepicker-selected-color-hover: var(--color-bg-primary-1);\\r\\n\\t--datepicker-range-color: var(--color-layer-primary-1);\\r\\n\\t--datepicker-range-color-hover: var(--color-layer-primary-2);\\r\\n\\r\\n\\tuser-select: none;\\r\\n\\twidth: auto;\\r\\n\\tpadding: 0;\\r\\n}\\r\\n\\r\\n.ui-datepicker:before,\\r\\n.ui-datepicker:after {\\r\\n\\tdisplay: none;\\r\\n}\\r\\n\\r\\n/* на странице */\\r\\n.ui-datepicker-inline {\\r\\n\\tdisplay: inline-block !important;\\r\\n}\\r\\n\\r\\n/* в popup */\\r\\n.ui-datepicker:not(.ui-datepicker-inline) {\\r\\n\\tborder-radius: 8px;\\r\\n\\tbackground: var(--content-background-color);\\r\\n\\tbox-shadow: var(--top-shadow);\\r\\n\\tz-index: 10000000 !important;\\r\\n\\tpadding: 8px;\\r\\n}\\r\\n\\r\\n.ui-datepicker a {\\r\\n\\ttext-decoration: none !important;\\r\\n}\\r\\n\\r\\n.ui-datepicker option {\\r\\n\\tcolor: var(--color-text-1);\\r\\n\\tfont-size: 14px;\\r\\n}\\r\\n\\r\\n.ui-datepicker-header {\\r\\n\\tpadding: 0 !important;\\r\\n\\tmargin: 0 0 18px 0;\\r\\n\\tdisplay: flex;\\r\\n\\talign-items: center;\\r\\n}\\r\\n\\r\\n.ui-datepicker-header > * {\\r\\n\\tdisplay: flex;\\r\\n\\talign-items: center;\\r\\n\\tjustify-content: center;\\r\\n}\\r\\n\\r\\n.ui-datepicker-title {\\r\\n\\twidth: 100% !important;\\r\\n\\theight: 24px;\\r\\n\\tmargin: 0 !important;\\r\\n}\\r\\n\\r\\n.ui-datepicker-month,\\r\\n.ui-datepicker-year {\\r\\n\\toutline: none !important;\\r\\n\\twidth: auto !important;\\r\\n\\tborder: none;\\r\\n\\tpadding: 0;\\r\\n\\tmargin: 0 6px !important;\\r\\n\\ttext-align: center;\\r\\n\\tfont-size: 16px !important;\\r\\n}\\r\\n\\r\\n.ui-datepicker-month {\\r\\n\\tcolor: var(--color-text-1);\\r\\n}\\r\\n\\r\\n.ui-datepicker-year {\\r\\n\\tcolor: var(--color-text-2);\\r\\n}\\r\\n\\r\\n/*\\tselect.ui-datepicker-month,\\r\\nselect.ui-datepicker-year{ cursor: pointer; color: var(--color-blue-500); }*/\\r\\nselect.ui-datepicker-month,\\r\\nselect.ui-datepicker-year {\\r\\n\\tcursor: pointer;\\r\\n}\\r\\n\\r\\n.ui-datepicker-prev,\\r\\n.ui-datepicker-next {\\r\\n\\tcursor: pointer;\\r\\n\\twidth: 24px !important;\\r\\n\\theight: 24px !important;\\r\\n\\tfont-size: 24px;\\r\\n\\tfont-family: \\\"Topvisor-2\\\";\\r\\n\\tposition: static !important;\\r\\n}\\r\\n\\r\\n.ui-datepicker-prev:before {\\r\\n\\tcolor: var(--color-icon-3);\\r\\n\\tcontent: \\\"\\\";\\r\\n}\\r\\n\\r\\n.ui-datepicker-prev-hover:before {\\r\\n\\tcolor: var(--color-icon-1);\\r\\n\\tcontent: \\\"\\\";\\r\\n}\\r\\n\\r\\n.ui-datepicker-next {\\r\\n\\tcolor: var(--color-icon-3);\\r\\n\\torder: 1;\\r\\n}\\r\\n\\r\\n.ui-datepicker-next-hover {\\r\\n\\tcolor: var(--color-icon-1);\\r\\n\\torder: 1;\\r\\n}\\r\\n\\r\\n.ui-datepicker-next:before {\\r\\n\\tcontent: \\\"\\\";\\r\\n}\\r\\n\\r\\n.ui-datepicker-prev > *,\\r\\n.ui-datepicker-next > * {\\r\\n\\tdisplay: none !important;\\r\\n}\\r\\n\\r\\n.ui-datepicker thead th {\\r\\n\\twidth: auto !important;\\r\\n\\tpadding: 0 !important;\\r\\n\\tcolor: var(--color-text-3);\\r\\n\\tfont-size: 14px;\\r\\n\\tfont-weight: 400 !important;\\r\\n}\\r\\n\\r\\n.ui-datepicker table {\\r\\n\\tmargin: 0 !important;\\r\\n\\tfont-size: 14px;\\r\\n}\\r\\n\\r\\n.ui-datepicker td {\\r\\n\\tcolor: var(--color-text-1);\\r\\n\\tbackground: none;\\r\\n\\tpadding: 0 !important;\\r\\n}\\r\\n\\r\\n.ui-datepicker td span,\\r\\n.ui-datepicker td a {\\r\\n\\tborder-radius: 8px;\\r\\n\\tborder: none;\\r\\n\\tmin-width: 32px;\\r\\n\\theight: 32px;\\r\\n\\tpadding: 0;\\r\\n\\tmargin: 1px;\\r\\n\\tcolor: var(--color-text-1) !important;\\r\\n\\tline-height: 32px;\\r\\n\\ttext-align: center;\\r\\n\\tposition: relative;\\r\\n\\tdisplay: block;\\r\\n}\\r\\n\\r\\n/* обычные даты */\\r\\n.ui-datepicker td a {\\r\\n\\tbackground: var(--datepicker-day-color);\\r\\n}\\r\\n\\r\\n.ui-datepicker td a:hover {\\r\\n\\tbackground: var(--datepicker-day-color-hover);\\r\\n}\\r\\n\\r\\n/* текущий день */\\r\\ntd.ui-datepicker-today span,\\r\\ntd.ui-datepicker-today a {\\r\\n\\tbackground: none;\\r\\n\\tposition: relative;\\r\\n}\\r\\n\\r\\n/* выбранные даты */\\r\\n.ui-datepicker td.selected a {\\r\\n\\tbackground: var(--datepicker-range-color);\\r\\n\\tpadding-right: 0;\\r\\n\\tpadding-left: 1px;\\r\\n\\tmargin-right: 1px;\\r\\n\\tmargin-left: 0;\\r\\n}\\r\\n\\r\\n.ui-datepicker td.selected a:hover {\\r\\n\\tbackground: var(--datepicker-range-color-hover);\\r\\n}\\r\\n\\r\\n.ui-datepicker td.selected:not(.selected-start):not(:first-child):not(.first-of-month) a {\\r\\n\\tborder-top-left-radius: 0;\\r\\n\\tborder-bottom-left-radius: 0;\\r\\n\\tpadding-left: 1px;\\r\\n\\tmargin-left: 0;\\r\\n}\\r\\n\\r\\n.ui-datepicker td.selected:not(.selected-end):not(:last-child):not(.last-of-month) a {\\r\\n\\tborder-top-right-radius: 0;\\r\\n\\tborder-bottom-right-radius: 0;\\r\\n\\tpadding-right: 1px;\\r\\n\\tmargin-right: 0;\\r\\n}\\r\\n\\r\\n.ui-datepicker td.selected-start a,\\r\\n.ui-datepicker td.selected-end a,\\r\\n.ui-datepicker td.ui-datepicker-current-day a {\\r\\n\\tbackground: var(--datepicker-selected-color);\\r\\n\\tcolor: #FFF !important;\\r\\n}\\r\\n\\r\\n.ui-datepicker td.selected-start a:hover,\\r\\n.ui-datepicker td.selected-end a:hover,\\r\\n.ui-datepicker td.ui-datepicker-current-day a:hover {\\r\\n\\tbackground: var(--datepicker-selected-color-hover);\\r\\n}\\r\\n\\r\\n.ui-datepicker-day-marks {\\r\\n\\tline-height: normal;\\r\\n\\tposition: absolute;\\r\\n\\tright: 0;\\r\\n\\tbottom: 3px;\\r\\n\\tleft: 0;\\r\\n\\tdisplay: flex;\\r\\n\\talign-items: center;\\r\\n\\tjustify-content: center;\\r\\n}\\r\\n\\r\\n.ui-datepicker-day-marks > i {\\r\\n\\tborder-radius: 50%;\\r\\n\\tborder: 1px solid #FFF;\\r\\n\\twidth: 4px;\\r\\n\\theight: 4px;\\r\\n\\tmargin: 0 2px;\\r\\n}\\r\\n\\r\\n.ui-datepicker-day-marks-exists {\\r\\n\\tbackground: var(--color-icon-primary-2);\\r\\n}\\r\\n\\r\\n.ui-datepicker-day-marks-update {\\r\\n\\tbackground: var(--color-icon-negative-2);\\r\\n}\\r\\n\\r\\n.ui-datepicker-row-break {\\r\\n\\tdisplay: none;\\r\\n}\\r\\n\""],"names":["Core","$","el","forms","connectDatepicker","options","dateFormatted","delimiter","dateNumbersCount","delimitersIndexes","watch","_a","i","valueChunkLeft","value","selectionPos","valueChunkRight","extraNumbersCount","valueChunkRightMaxLength","e","delimiterIndex"],"mappings":"0HAMAA,EAAAA,KAAAA,kBCNA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,CDMAA,EAEA,MAAAC,EAAAC,GAAA,uEAEE,QAAA,KAAA,0EAAA,EAEA,OAGD,OAAAC,EAAA,KAAA,EAAA,WAAA,YAAA,CAA8B,WAAAA,EAAA,KAAA,MAAA,WAAA,YAAA,EAAA,QAAA,IAAA,IAAA,EAAA,QAAA,IAAA,IAAA,EAAA,QAAA,IAAA,IAAA,CAC0E,CAAA,EAGxGA,EAAA,KAAA,EAAAD,CAAA,CACD,EAEgB,SAAAE,EAAAF,EAAAG,EAAA,mDAIhB,IAAAC,EACAC,EACAC,EACAC,EAEAC,EAAAA,MAAAA,EAAAA,MAAAA,EAAAA,KAAAA,MAAAA,UAAAA,EAAAA,IAAAA,OAECJ,EAAAH,EAAA,WAAA,YAAA,EACAI,IAAAI,EAAAL,EAAA,MAAA,IAAA,IAAA,YAAAK,EAAA,KAAA,IACAH,EAAAF,EAAA,QAAA,OAAA,EAAA,EAAA,YAGA,QAAAM,EAAA,EAAAA,EAAAN,EAAA,OAAAM,IACCN,EAAAM,CAAA,IAAAL,GACCE,EAAA,KAAAG,CAAA,CAGH,EAAA,CAAA,UAAA,EAAA,CAAA,6DAWCC,EAAAC,EAAA,UAAA,EAAAC,CAAA,EAAA,QAAA,OAAA,EAAA,EACAC,EAAAF,EAAA,UAAAC,CAAA,EAAA,QAAA,OAAA,EAAA,EAEAE,EAAAJ,EAAA,OAAAG,EAAA,OAAAR,EACA,GAAAS,EAAA,EAAA,uCAKCD,EAAAA,EAAA,UAAAA,EAAA,OAAAE,CAAA,CAA6F,MAAAD,EAAA,IAG7FE,EAAA,YAAA,6DAQDJ,EAAAF,EAAA,OACAC,EAAAD,EAAAG,EAGA,QAAAJ,EAAA,EAAAA,EAAAH,EAAA,OAAAG,IAAA,CACC,MAAAQ,EAAAX,EAAAG,CAAA,EAEAE,EAAAA,EAAA,UAAA,EAAAM,CAAA,EAAAb,EAAAO,EAAA,UAAAM,CAAA,EAGAL,GAAAK,OAMDD,EAAA,YAAA,yBAAAL,EAAAC,EAAA,CAAA,IAAAR,4BAMCY,EAAA,OAAA,MAAAL,EACAK,EAAA,OAAA,eAAAJ,EACAI,EAAA,OAAA,aAAAJ,EAEF"}
|
|
1
|
+
{"version":3,"file":"datepicker-CMuCkYBj.amd.js","sources":["../../src/components/forms/inputDate/datepicker.ts","../../src/components/forms/inputDate/datepicker.css?raw"],"sourcesContent":["import { toRef, watch } from 'vue';\r\nimport Core from '@/core/core/core';\r\nimport { dateFormat } from '@/core/utils/date';\r\n\r\nimport css from '@/components/forms/inputDate/datepicker.css?raw';\r\n\r\nCore.insertStyleToPage(css);\r\n\r\nconst $ = (el: HTMLInputElement) => {\r\n\tif (!Core.$?.ui?.datepicker) {\r\n\t\tconsole.info('Для работы datepicker требуется глобальная загрузка jQuery UI Datepicker');\r\n\r\n\t\treturn;\r\n\t}\r\n\r\n\tCore.$.datepicker.setDefaults({\r\n\t\tdateFormat: Core.state.dateFormat.toLowerCase().replace('m', 'mm').replace('y', 'yy').replace('d', 'dd'),\r\n\t});\r\n\r\n\treturn Core.$(el);\r\n};\r\n\r\nexport function connectDatepicker(el: HTMLInputElement, options: any) {\r\n\treturn $(el)?.datepicker(options);\r\n}\r\n\r\nlet dateFormatted;\r\nlet delimiter: string;\r\nlet dateNumbersCount: number;\r\nlet delimitersIndexes: number[];\r\n\r\nwatch(toRef(Core.state.dateFormat), () => {\r\n\t// генерация отформатированной даты, извлечение из нее разделителей и их индексов\r\n\tdateFormatted = dateFormat('2000-01-01');\r\n\tdelimiter = dateFormatted.match(/\\D/)?.[0] ?? '-';\r\n\tdateNumbersCount = dateFormatted.replace(/\\D+/g, '').length;\r\n\tdelimitersIndexes = [];\r\n\r\n\tfor (let i = 0; i < dateFormatted.length; i++) {\r\n\t\tif (dateFormatted[i] === delimiter) {\r\n\t\t\tdelimitersIndexes.push(i);\r\n\t\t}\r\n\t}\r\n}, { immediate: true });\r\n\r\n/**\r\n * Автоформат при вводе в поле с датой\r\n */\r\nexport function oninput(e: any) {\r\n\tlet selectionPos = e.target.selectionEnd;\r\n\tlet value = e.target.value;\r\n\r\n\t// разбить занчение на две половины - до и после каретки\r\n\t// удалить все символы, кроме цифр\r\n\tlet valueChunkLeft = value.substring(0, selectionPos).replace(/\\D+/g, '');\r\n\tlet valueChunkRight = value.substring(selectionPos).replace(/\\D+/g, '');\r\n\r\n\tlet extraNumbersCount = valueChunkLeft.length + valueChunkRight.length - dateNumbersCount;\r\n\tif (extraNumbersCount > 0) {\r\n\t\t// // количество цифр больше требуемого - удалить лишние\r\n\t\tvalueChunkLeft = valueChunkLeft.substring(0, dateNumbersCount);\r\n\r\n\t\tconst valueChunkRightMaxLength = dateNumbersCount - valueChunkLeft.length;\r\n\t\tvalueChunkRight = valueChunkRight.substring(valueChunkRight.length - valueChunkRightMaxLength);\r\n\t} else if (extraNumbersCount < 0) {\r\n\t\t// количество цифр меньше требуемого - добавить 0\r\n\t\tif (e.inputType === 'deleteContentForward') {\r\n\t\t\t// нажатие на delete - добавить к левой части для правильного позиционирования каретки\r\n\t\t\tvalueChunkLeft += '0'.repeat(-extraNumbersCount);\r\n\t\t} else {\r\n\t\t\tvalueChunkRight = '0'.repeat(-extraNumbersCount) + valueChunkRight;\r\n\t\t}\r\n\t}\r\n\r\n\tselectionPos = valueChunkLeft.length;\r\n\tvalue = valueChunkLeft + valueChunkRight;\r\n\r\n\t// вставить разделители\r\n\tfor (let i = 0; i < delimitersIndexes.length; i++) {\r\n\t\tconst delimiterIndex = delimitersIndexes[i];\r\n\r\n\t\tvalue = value.substring(0, delimiterIndex) + delimiter + value.substring(delimiterIndex);\r\n\r\n\t\t// сдвинуть каретку, если разделитель вставлен левее ее\r\n\t\tif (selectionPos >= delimiterIndex) {\r\n\t\t\tselectionPos++;\r\n\t\t}\r\n\t}\r\n\r\n\t// нажатие на backspace - если слева символ разделителя, перенести каретку за него\r\n\tif (e.inputType === 'deleteContentBackward' && value[selectionPos - 1] === delimiter) {\r\n\t\tselectionPos--;\r\n\t}\r\n\r\n\t// если значение изменилось - вставить его и переместить каретку\r\n\tif (value !== e.target.value) {\r\n\t\te.target.value = value;\r\n\t\te.target.selectionStart = selectionPos;\r\n\t\te.target.selectionEnd = selectionPos;\r\n\t}\r\n}\r\n","export default \"/* ui-datepicker */\\r\\n.ui-datepicker {\\r\\n\\t--datepicker-day-color: var(--color-bg-3);\\r\\n\\t--datepicker-day-color-hover: var(--color-layer-secondary-1);\\r\\n\\t--datepicker-selected-color: var(--color-bg-primary-6);\\r\\n\\t--datepicker-selected-color-hover: var(--color-bg-primary-4);\\r\\n\\t--datepicker-range-color: var(--color-layer-primary-1);\\r\\n\\t--datepicker-range-color-hover: var(--color-layer-primary-2);\\r\\n\\r\\n\\tuser-select: none;\\r\\n\\twidth: auto;\\r\\n\\tpadding: 0;\\r\\n}\\r\\n\\r\\n.ui-datepicker:before,\\r\\n.ui-datepicker:after {\\r\\n\\tdisplay: none;\\r\\n}\\r\\n\\r\\n/* на странице */\\r\\n.ui-datepicker-inline {\\r\\n\\tdisplay: inline-block !important;\\r\\n}\\r\\n\\r\\n/* в popup */\\r\\n.ui-datepicker:not(.ui-datepicker-inline) {\\r\\n\\tborder-radius: 8px;\\r\\n\\tbackground: var(--content-background-color);\\r\\n\\tbox-shadow: var(--top-shadow);\\r\\n\\tz-index: 10000000 !important;\\r\\n\\tpadding: 8px;\\r\\n}\\r\\n\\r\\n.ui-datepicker a {\\r\\n\\ttext-decoration: none !important;\\r\\n}\\r\\n\\r\\n.ui-datepicker option {\\r\\n\\tcolor: var(--color-text-1);\\r\\n\\tfont-size: 14px;\\r\\n}\\r\\n\\r\\n.ui-datepicker-header {\\r\\n\\tpadding: 0 !important;\\r\\n\\tmargin: 0 0 18px 0;\\r\\n\\tdisplay: flex;\\r\\n\\talign-items: center;\\r\\n}\\r\\n\\r\\n.ui-datepicker-header > * {\\r\\n\\tdisplay: flex;\\r\\n\\talign-items: center;\\r\\n\\tjustify-content: center;\\r\\n}\\r\\n\\r\\n.ui-datepicker-title {\\r\\n\\twidth: 100% !important;\\r\\n\\theight: 24px;\\r\\n\\tmargin: 0 !important;\\r\\n}\\r\\n\\r\\n.ui-datepicker-month,\\r\\n.ui-datepicker-year {\\r\\n\\toutline: none !important;\\r\\n\\twidth: auto !important;\\r\\n\\tborder: none;\\r\\n\\tpadding: 0;\\r\\n\\tmargin: 0 6px !important;\\r\\n\\ttext-align: center;\\r\\n\\tfont-size: 16px !important;\\r\\n}\\r\\n\\r\\n.ui-datepicker-month {\\r\\n\\tcolor: var(--color-text-1);\\r\\n}\\r\\n\\r\\n.ui-datepicker-year {\\r\\n\\tcolor: var(--color-text-2);\\r\\n}\\r\\n\\r\\n/*\\tselect.ui-datepicker-month,\\r\\nselect.ui-datepicker-year{ cursor: pointer; color: var(--color-blue-500); }*/\\r\\nselect.ui-datepicker-month,\\r\\nselect.ui-datepicker-year {\\r\\n\\tcursor: pointer;\\r\\n}\\r\\n\\r\\n.ui-datepicker-prev,\\r\\n.ui-datepicker-next {\\r\\n\\tcursor: pointer;\\r\\n\\twidth: 24px !important;\\r\\n\\theight: 24px !important;\\r\\n\\tfont-size: 24px;\\r\\n\\tfont-family: \\\"Topvisor-2\\\";\\r\\n\\tposition: static !important;\\r\\n}\\r\\n\\r\\n.ui-datepicker-prev:before {\\r\\n\\tcolor: var(--color-icon-3);\\r\\n\\tcontent: \\\"\\\";\\r\\n}\\r\\n\\r\\n.ui-datepicker-prev-hover:before {\\r\\n\\tcolor: var(--color-icon-1);\\r\\n\\tcontent: \\\"\\\";\\r\\n}\\r\\n\\r\\n.ui-datepicker-next {\\r\\n\\tcolor: var(--color-icon-3);\\r\\n\\torder: 1;\\r\\n}\\r\\n\\r\\n.ui-datepicker-next-hover {\\r\\n\\tcolor: var(--color-icon-1);\\r\\n\\torder: 1;\\r\\n}\\r\\n\\r\\n.ui-datepicker-next:before {\\r\\n\\tcontent: \\\"\\\";\\r\\n}\\r\\n\\r\\n.ui-datepicker-prev > *,\\r\\n.ui-datepicker-next > * {\\r\\n\\tdisplay: none !important;\\r\\n}\\r\\n\\r\\n.ui-datepicker thead th {\\r\\n\\twidth: auto !important;\\r\\n\\tpadding: 0 !important;\\r\\n\\tcolor: var(--color-text-3);\\r\\n\\tfont-size: 14px;\\r\\n\\tfont-weight: 400 !important;\\r\\n}\\r\\n\\r\\n.ui-datepicker table {\\r\\n\\tmargin: 0 !important;\\r\\n\\tfont-size: 14px;\\r\\n}\\r\\n\\r\\n.ui-datepicker td {\\r\\n\\tcolor: var(--color-text-1);\\r\\n\\tbackground: none;\\r\\n\\tpadding: 0 !important;\\r\\n}\\r\\n\\r\\n.ui-datepicker td span,\\r\\n.ui-datepicker td a {\\r\\n\\tborder-radius: 8px;\\r\\n\\tborder: none;\\r\\n\\tmin-width: 32px;\\r\\n\\theight: 32px;\\r\\n\\tpadding: 0;\\r\\n\\tmargin: 1px;\\r\\n\\tcolor: var(--color-text-1) !important;\\r\\n\\tline-height: 32px;\\r\\n\\ttext-align: center;\\r\\n\\tposition: relative;\\r\\n\\tdisplay: block;\\r\\n}\\r\\n\\r\\n/* обычные даты */\\r\\n.ui-datepicker td a {\\r\\n\\tbackground: var(--datepicker-day-color);\\r\\n}\\r\\n\\r\\n.ui-datepicker td a:hover {\\r\\n\\tbackground: var(--datepicker-day-color-hover);\\r\\n}\\r\\n\\r\\n/* текущий день */\\r\\ntd.ui-datepicker-today span,\\r\\ntd.ui-datepicker-today a {\\r\\n\\tbackground: none;\\r\\n\\tposition: relative;\\r\\n}\\r\\n\\r\\n/* выбранные даты */\\r\\n.ui-datepicker td.selected a {\\r\\n\\tbackground: var(--datepicker-range-color);\\r\\n\\tpadding-right: 0;\\r\\n\\tpadding-left: 1px;\\r\\n\\tmargin-right: 1px;\\r\\n\\tmargin-left: 0;\\r\\n}\\r\\n\\r\\n.ui-datepicker td.selected a:hover {\\r\\n\\tbackground: var(--datepicker-range-color-hover);\\r\\n}\\r\\n\\r\\n.ui-datepicker td.selected:not(.selected-start):not(:first-child):not(.first-of-month) a {\\r\\n\\tborder-top-left-radius: 0;\\r\\n\\tborder-bottom-left-radius: 0;\\r\\n\\tpadding-left: 1px;\\r\\n\\tmargin-left: 0;\\r\\n}\\r\\n\\r\\n.ui-datepicker td.selected:not(.selected-end):not(:last-child):not(.last-of-month) a {\\r\\n\\tborder-top-right-radius: 0;\\r\\n\\tborder-bottom-right-radius: 0;\\r\\n\\tpadding-right: 1px;\\r\\n\\tmargin-right: 0;\\r\\n}\\r\\n\\r\\n.ui-datepicker td.selected-start a,\\r\\n.ui-datepicker td.selected-end a,\\r\\n.ui-datepicker td.ui-datepicker-current-day a {\\r\\n\\tbackground: var(--datepicker-selected-color);\\r\\n\\tcolor: #FFF !important;\\r\\n}\\r\\n\\r\\n.ui-datepicker td.selected-start a:hover,\\r\\n.ui-datepicker td.selected-end a:hover,\\r\\n.ui-datepicker td.ui-datepicker-current-day a:hover {\\r\\n\\tbackground: var(--datepicker-selected-color-hover);\\r\\n}\\r\\n\\r\\n.ui-datepicker-day-marks {\\r\\n\\tline-height: normal;\\r\\n\\tposition: absolute;\\r\\n\\tright: 0;\\r\\n\\tbottom: 3px;\\r\\n\\tleft: 0;\\r\\n\\tdisplay: flex;\\r\\n\\talign-items: center;\\r\\n\\tjustify-content: center;\\r\\n}\\r\\n\\r\\n.ui-datepicker-day-marks > i {\\r\\n\\tborder-radius: 50%;\\r\\n\\tborder: 1px solid #FFF;\\r\\n\\twidth: 4px;\\r\\n\\theight: 4px;\\r\\n\\tmargin: 0 2px;\\r\\n}\\r\\n\\r\\n.ui-datepicker-day-marks-exists {\\r\\n\\tbackground: var(--color-icon-primary-2);\\r\\n}\\r\\n\\r\\n.ui-datepicker-day-marks-update {\\r\\n\\tbackground: var(--color-icon-negative-2);\\r\\n}\\r\\n\\r\\n.ui-datepicker-row-break {\\r\\n\\tdisplay: none;\\r\\n}\\r\\n\""],"names":["Core","$","el","forms","connectDatepicker","options","dateFormatted","delimiter","dateNumbersCount","delimitersIndexes","watch","_a","i","valueChunkLeft","value","selectionPos","valueChunkRight","extraNumbersCount","valueChunkRightMaxLength","e","delimiterIndex"],"mappings":"0HAMAA,EAAAA,KAAAA,kBCNA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,CDMAA,EAEA,MAAAC,EAAAC,GAAA,uEAEE,QAAA,KAAA,0EAAA,EAEA,OAGD,OAAAC,EAAA,KAAA,EAAA,WAAA,YAAA,CAA8B,WAAAA,EAAA,KAAA,MAAA,WAAA,YAAA,EAAA,QAAA,IAAA,IAAA,EAAA,QAAA,IAAA,IAAA,EAAA,QAAA,IAAA,IAAA,CAC0E,CAAA,EAGxGA,EAAA,KAAA,EAAAD,CAAA,CACD,EAEgB,SAAAE,EAAAF,EAAAG,EAAA,mDAIhB,IAAAC,EACAC,EACAC,EACAC,EAEAC,EAAAA,MAAAA,EAAAA,MAAAA,EAAAA,KAAAA,MAAAA,UAAAA,EAAAA,IAAAA,OAECJ,EAAAH,EAAA,WAAA,YAAA,EACAI,IAAAI,EAAAL,EAAA,MAAA,IAAA,IAAA,YAAAK,EAAA,KAAA,IACAH,EAAAF,EAAA,QAAA,OAAA,EAAA,EAAA,YAGA,QAAAM,EAAA,EAAAA,EAAAN,EAAA,OAAAM,IACCN,EAAAM,CAAA,IAAAL,GACCE,EAAA,KAAAG,CAAA,CAGH,EAAA,CAAA,UAAA,EAAA,CAAA,6DAWCC,EAAAC,EAAA,UAAA,EAAAC,CAAA,EAAA,QAAA,OAAA,EAAA,EACAC,EAAAF,EAAA,UAAAC,CAAA,EAAA,QAAA,OAAA,EAAA,EAEAE,EAAAJ,EAAA,OAAAG,EAAA,OAAAR,EACA,GAAAS,EAAA,EAAA,uCAKCD,EAAAA,EAAA,UAAAA,EAAA,OAAAE,CAAA,CAA6F,MAAAD,EAAA,IAG7FE,EAAA,YAAA,6DAQDJ,EAAAF,EAAA,OACAC,EAAAD,EAAAG,EAGA,QAAAJ,EAAA,EAAAA,EAAAH,EAAA,OAAAG,IAAA,CACC,MAAAQ,EAAAX,EAAAG,CAAA,EAEAE,EAAAA,EAAA,UAAA,EAAAM,CAAA,EAAAb,EAAAO,EAAA,UAAAM,CAAA,EAGAL,GAAAK,OAMDD,EAAA,YAAA,yBAAAL,EAAAC,EAAA,CAAA,IAAAR,4BAMCY,EAAA,OAAA,MAAAL,EACAK,EAAA,OAAA,eAAAJ,EACAI,EAAA,OAAA,aAAAJ,EAEF"}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { watch as k, toRef as g } from "vue";
|
|
2
|
-
import { C as a, d as m } from "./forms-
|
|
2
|
+
import { C as a, d as m } from "./forms-Cay_sybt.es.js";
|
|
3
3
|
const h = `/* ui-datepicker */\r
|
|
4
4
|
.ui-datepicker {\r
|
|
5
5
|
--datepicker-day-color: var(--color-bg-3);\r
|
|
6
6
|
--datepicker-day-color-hover: var(--color-layer-secondary-1);\r
|
|
7
|
-
--datepicker-selected-color: var(--color-bg-primary-
|
|
8
|
-
--datepicker-selected-color-hover: var(--color-bg-primary-
|
|
7
|
+
--datepicker-selected-color: var(--color-bg-primary-6);\r
|
|
8
|
+
--datepicker-selected-color-hover: var(--color-bg-primary-4);\r
|
|
9
9
|
--datepicker-range-color: var(--color-layer-primary-1);\r
|
|
10
10
|
--datepicker-range-color-hover: var(--color-layer-primary-2);\r
|
|
11
11
|
\r
|
|
@@ -287,4 +287,4 @@ export {
|
|
|
287
287
|
f as connectDatepicker,
|
|
288
288
|
y as oninput
|
|
289
289
|
};
|
|
290
|
-
//# sourceMappingURL=datepicker-
|
|
290
|
+
//# sourceMappingURL=datepicker-CtcFJYEp.es.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"datepicker-CcRVcC5P.es.js","sources":["../../src/components/forms/inputDate/datepicker.css?raw","../../src/components/forms/inputDate/datepicker.ts"],"sourcesContent":["export default \"/* ui-datepicker */\\r\\n.ui-datepicker {\\r\\n\\t--datepicker-day-color: var(--color-bg-3);\\r\\n\\t--datepicker-day-color-hover: var(--color-layer-secondary-1);\\r\\n\\t--datepicker-selected-color: var(--color-bg-primary-2);\\r\\n\\t--datepicker-selected-color-hover: var(--color-bg-primary-1);\\r\\n\\t--datepicker-range-color: var(--color-layer-primary-1);\\r\\n\\t--datepicker-range-color-hover: var(--color-layer-primary-2);\\r\\n\\r\\n\\tuser-select: none;\\r\\n\\twidth: auto;\\r\\n\\tpadding: 0;\\r\\n}\\r\\n\\r\\n.ui-datepicker:before,\\r\\n.ui-datepicker:after {\\r\\n\\tdisplay: none;\\r\\n}\\r\\n\\r\\n/* на странице */\\r\\n.ui-datepicker-inline {\\r\\n\\tdisplay: inline-block !important;\\r\\n}\\r\\n\\r\\n/* в popup */\\r\\n.ui-datepicker:not(.ui-datepicker-inline) {\\r\\n\\tborder-radius: 8px;\\r\\n\\tbackground: var(--content-background-color);\\r\\n\\tbox-shadow: var(--top-shadow);\\r\\n\\tz-index: 10000000 !important;\\r\\n\\tpadding: 8px;\\r\\n}\\r\\n\\r\\n.ui-datepicker a {\\r\\n\\ttext-decoration: none !important;\\r\\n}\\r\\n\\r\\n.ui-datepicker option {\\r\\n\\tcolor: var(--color-text-1);\\r\\n\\tfont-size: 14px;\\r\\n}\\r\\n\\r\\n.ui-datepicker-header {\\r\\n\\tpadding: 0 !important;\\r\\n\\tmargin: 0 0 18px 0;\\r\\n\\tdisplay: flex;\\r\\n\\talign-items: center;\\r\\n}\\r\\n\\r\\n.ui-datepicker-header > * {\\r\\n\\tdisplay: flex;\\r\\n\\talign-items: center;\\r\\n\\tjustify-content: center;\\r\\n}\\r\\n\\r\\n.ui-datepicker-title {\\r\\n\\twidth: 100% !important;\\r\\n\\theight: 24px;\\r\\n\\tmargin: 0 !important;\\r\\n}\\r\\n\\r\\n.ui-datepicker-month,\\r\\n.ui-datepicker-year {\\r\\n\\toutline: none !important;\\r\\n\\twidth: auto !important;\\r\\n\\tborder: none;\\r\\n\\tpadding: 0;\\r\\n\\tmargin: 0 6px !important;\\r\\n\\ttext-align: center;\\r\\n\\tfont-size: 16px !important;\\r\\n}\\r\\n\\r\\n.ui-datepicker-month {\\r\\n\\tcolor: var(--color-text-1);\\r\\n}\\r\\n\\r\\n.ui-datepicker-year {\\r\\n\\tcolor: var(--color-text-2);\\r\\n}\\r\\n\\r\\n/*\\tselect.ui-datepicker-month,\\r\\nselect.ui-datepicker-year{ cursor: pointer; color: var(--color-blue-500); }*/\\r\\nselect.ui-datepicker-month,\\r\\nselect.ui-datepicker-year {\\r\\n\\tcursor: pointer;\\r\\n}\\r\\n\\r\\n.ui-datepicker-prev,\\r\\n.ui-datepicker-next {\\r\\n\\tcursor: pointer;\\r\\n\\twidth: 24px !important;\\r\\n\\theight: 24px !important;\\r\\n\\tfont-size: 24px;\\r\\n\\tfont-family: \\\"Topvisor-2\\\";\\r\\n\\tposition: static !important;\\r\\n}\\r\\n\\r\\n.ui-datepicker-prev:before {\\r\\n\\tcolor: var(--color-icon-3);\\r\\n\\tcontent: \\\"\\\";\\r\\n}\\r\\n\\r\\n.ui-datepicker-prev-hover:before {\\r\\n\\tcolor: var(--color-icon-1);\\r\\n\\tcontent: \\\"\\\";\\r\\n}\\r\\n\\r\\n.ui-datepicker-next {\\r\\n\\tcolor: var(--color-icon-3);\\r\\n\\torder: 1;\\r\\n}\\r\\n\\r\\n.ui-datepicker-next-hover {\\r\\n\\tcolor: var(--color-icon-1);\\r\\n\\torder: 1;\\r\\n}\\r\\n\\r\\n.ui-datepicker-next:before {\\r\\n\\tcontent: \\\"\\\";\\r\\n}\\r\\n\\r\\n.ui-datepicker-prev > *,\\r\\n.ui-datepicker-next > * {\\r\\n\\tdisplay: none !important;\\r\\n}\\r\\n\\r\\n.ui-datepicker thead th {\\r\\n\\twidth: auto !important;\\r\\n\\tpadding: 0 !important;\\r\\n\\tcolor: var(--color-text-3);\\r\\n\\tfont-size: 14px;\\r\\n\\tfont-weight: 400 !important;\\r\\n}\\r\\n\\r\\n.ui-datepicker table {\\r\\n\\tmargin: 0 !important;\\r\\n\\tfont-size: 14px;\\r\\n}\\r\\n\\r\\n.ui-datepicker td {\\r\\n\\tcolor: var(--color-text-1);\\r\\n\\tbackground: none;\\r\\n\\tpadding: 0 !important;\\r\\n}\\r\\n\\r\\n.ui-datepicker td span,\\r\\n.ui-datepicker td a {\\r\\n\\tborder-radius: 8px;\\r\\n\\tborder: none;\\r\\n\\tmin-width: 32px;\\r\\n\\theight: 32px;\\r\\n\\tpadding: 0;\\r\\n\\tmargin: 1px;\\r\\n\\tcolor: var(--color-text-1) !important;\\r\\n\\tline-height: 32px;\\r\\n\\ttext-align: center;\\r\\n\\tposition: relative;\\r\\n\\tdisplay: block;\\r\\n}\\r\\n\\r\\n/* обычные даты */\\r\\n.ui-datepicker td a {\\r\\n\\tbackground: var(--datepicker-day-color);\\r\\n}\\r\\n\\r\\n.ui-datepicker td a:hover {\\r\\n\\tbackground: var(--datepicker-day-color-hover);\\r\\n}\\r\\n\\r\\n/* текущий день */\\r\\ntd.ui-datepicker-today span,\\r\\ntd.ui-datepicker-today a {\\r\\n\\tbackground: none;\\r\\n\\tposition: relative;\\r\\n}\\r\\n\\r\\n/* выбранные даты */\\r\\n.ui-datepicker td.selected a {\\r\\n\\tbackground: var(--datepicker-range-color);\\r\\n\\tpadding-right: 0;\\r\\n\\tpadding-left: 1px;\\r\\n\\tmargin-right: 1px;\\r\\n\\tmargin-left: 0;\\r\\n}\\r\\n\\r\\n.ui-datepicker td.selected a:hover {\\r\\n\\tbackground: var(--datepicker-range-color-hover);\\r\\n}\\r\\n\\r\\n.ui-datepicker td.selected:not(.selected-start):not(:first-child):not(.first-of-month) a {\\r\\n\\tborder-top-left-radius: 0;\\r\\n\\tborder-bottom-left-radius: 0;\\r\\n\\tpadding-left: 1px;\\r\\n\\tmargin-left: 0;\\r\\n}\\r\\n\\r\\n.ui-datepicker td.selected:not(.selected-end):not(:last-child):not(.last-of-month) a {\\r\\n\\tborder-top-right-radius: 0;\\r\\n\\tborder-bottom-right-radius: 0;\\r\\n\\tpadding-right: 1px;\\r\\n\\tmargin-right: 0;\\r\\n}\\r\\n\\r\\n.ui-datepicker td.selected-start a,\\r\\n.ui-datepicker td.selected-end a,\\r\\n.ui-datepicker td.ui-datepicker-current-day a {\\r\\n\\tbackground: var(--datepicker-selected-color);\\r\\n\\tcolor: #FFF !important;\\r\\n}\\r\\n\\r\\n.ui-datepicker td.selected-start a:hover,\\r\\n.ui-datepicker td.selected-end a:hover,\\r\\n.ui-datepicker td.ui-datepicker-current-day a:hover {\\r\\n\\tbackground: var(--datepicker-selected-color-hover);\\r\\n}\\r\\n\\r\\n.ui-datepicker-day-marks {\\r\\n\\tline-height: normal;\\r\\n\\tposition: absolute;\\r\\n\\tright: 0;\\r\\n\\tbottom: 3px;\\r\\n\\tleft: 0;\\r\\n\\tdisplay: flex;\\r\\n\\talign-items: center;\\r\\n\\tjustify-content: center;\\r\\n}\\r\\n\\r\\n.ui-datepicker-day-marks > i {\\r\\n\\tborder-radius: 50%;\\r\\n\\tborder: 1px solid #FFF;\\r\\n\\twidth: 4px;\\r\\n\\theight: 4px;\\r\\n\\tmargin: 0 2px;\\r\\n}\\r\\n\\r\\n.ui-datepicker-day-marks-exists {\\r\\n\\tbackground: var(--color-icon-primary-2);\\r\\n}\\r\\n\\r\\n.ui-datepicker-day-marks-update {\\r\\n\\tbackground: var(--color-icon-negative-2);\\r\\n}\\r\\n\\r\\n.ui-datepicker-row-break {\\r\\n\\tdisplay: none;\\r\\n}\\r\\n\"","import { toRef, watch } from 'vue';\r\nimport Core from '@/core/core/core';\r\nimport { dateFormat } from '@/core/utils/date';\r\n\r\nimport css from '@/components/forms/inputDate/datepicker.css?raw';\r\n\r\nCore.insertStyleToPage(css);\r\n\r\nconst $ = (el: HTMLInputElement) => {\r\n\tif (!Core.$?.ui?.datepicker) {\r\n\t\tconsole.info('Для работы datepicker требуется глобальная загрузка jQuery UI Datepicker');\r\n\r\n\t\treturn;\r\n\t}\r\n\r\n\tCore.$.datepicker.setDefaults({\r\n\t\tdateFormat: Core.state.dateFormat.toLowerCase().replace('m', 'mm').replace('y', 'yy').replace('d', 'dd'),\r\n\t});\r\n\r\n\treturn Core.$(el);\r\n};\r\n\r\nexport function connectDatepicker(el: HTMLInputElement, options: any) {\r\n\treturn $(el)?.datepicker(options);\r\n}\r\n\r\nlet dateFormatted;\r\nlet delimiter: string;\r\nlet dateNumbersCount: number;\r\nlet delimitersIndexes: number[];\r\n\r\nwatch(toRef(Core.state.dateFormat), () => {\r\n\t// генерация отформатированной даты, извлечение из нее разделителей и их индексов\r\n\tdateFormatted = dateFormat('2000-01-01');\r\n\tdelimiter = dateFormatted.match(/\\D/)?.[0] ?? '-';\r\n\tdateNumbersCount = dateFormatted.replace(/\\D+/g, '').length;\r\n\tdelimitersIndexes = [];\r\n\r\n\tfor (let i = 0; i < dateFormatted.length; i++) {\r\n\t\tif (dateFormatted[i] === delimiter) {\r\n\t\t\tdelimitersIndexes.push(i);\r\n\t\t}\r\n\t}\r\n}, { immediate: true });\r\n\r\n/**\r\n * Автоформат при вводе в поле с датой\r\n */\r\nexport function oninput(e: any) {\r\n\tlet selectionPos = e.target.selectionEnd;\r\n\tlet value = e.target.value;\r\n\r\n\t// разбить занчение на две половины - до и после каретки\r\n\t// удалить все символы, кроме цифр\r\n\tlet valueChunkLeft = value.substring(0, selectionPos).replace(/\\D+/g, '');\r\n\tlet valueChunkRight = value.substring(selectionPos).replace(/\\D+/g, '');\r\n\r\n\tlet extraNumbersCount = valueChunkLeft.length + valueChunkRight.length - dateNumbersCount;\r\n\tif (extraNumbersCount > 0) {\r\n\t\t// // количество цифр больше требуемого - удалить лишние\r\n\t\tvalueChunkLeft = valueChunkLeft.substring(0, dateNumbersCount);\r\n\r\n\t\tconst valueChunkRightMaxLength = dateNumbersCount - valueChunkLeft.length;\r\n\t\tvalueChunkRight = valueChunkRight.substring(valueChunkRight.length - valueChunkRightMaxLength);\r\n\t} else if (extraNumbersCount < 0) {\r\n\t\t// количество цифр меньше требуемого - добавить 0\r\n\t\tif (e.inputType === 'deleteContentForward') {\r\n\t\t\t// нажатие на delete - добавить к левой части для правильного позиционирования каретки\r\n\t\t\tvalueChunkLeft += '0'.repeat(-extraNumbersCount);\r\n\t\t} else {\r\n\t\t\tvalueChunkRight = '0'.repeat(-extraNumbersCount) + valueChunkRight;\r\n\t\t}\r\n\t}\r\n\r\n\tselectionPos = valueChunkLeft.length;\r\n\tvalue = valueChunkLeft + valueChunkRight;\r\n\r\n\t// вставить разделители\r\n\tfor (let i = 0; i < delimitersIndexes.length; i++) {\r\n\t\tconst delimiterIndex = delimitersIndexes[i];\r\n\r\n\t\tvalue = value.substring(0, delimiterIndex) + delimiter + value.substring(delimiterIndex);\r\n\r\n\t\t// сдвинуть каретку, если разделитель вставлен левее ее\r\n\t\tif (selectionPos >= delimiterIndex) {\r\n\t\t\tselectionPos++;\r\n\t\t}\r\n\t}\r\n\r\n\t// нажатие на backspace - если слева символ разделителя, перенести каретку за него\r\n\tif (e.inputType === 'deleteContentBackward' && value[selectionPos - 1] === delimiter) {\r\n\t\tselectionPos--;\r\n\t}\r\n\r\n\t// если значение изменилось - вставить его и переместить каретку\r\n\tif (value !== e.target.value) {\r\n\t\te.target.value = value;\r\n\t\te.target.selectionStart = selectionPos;\r\n\t\te.target.selectionEnd = selectionPos;\r\n\t}\r\n}\r\n"],"names":["css","Core","$","el","_b","_a","connectDatepicker","options","dateFormatted","delimiter","dateNumbersCount","delimitersIndexes","watch","toRef","dateFormat","i","oninput","e","selectionPos","value","valueChunkLeft","valueChunkRight","extraNumbersCount","valueChunkRightMaxLength","delimiterIndex"],"mappings":";;AAAA,MAAeA,IAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;ACMfC,EAAK,kBAAkBD,CAAG;AAE1B,MAAME,IAAI,CAACC,MAAyB;;AACnC,MAAI,GAACC,KAAAC,IAAAJ,EAAK,MAAL,gBAAAI,EAAQ,OAAR,QAAAD,EAAY,aAAY;AAC5B,YAAQ,KAAK,0EAA0E;AAEvF;AAAA,EACD;AAEK,SAAAH,EAAA,EAAE,WAAW,YAAY;AAAA,IAC7B,YAAYA,EAAK,MAAM,WAAW,YAAA,EAAc,QAAQ,KAAK,IAAI,EAAE,QAAQ,KAAK,IAAI,EAAE,QAAQ,KAAK,IAAI;AAAA,EAAA,CACvG,GAEMA,EAAK,EAAEE,CAAE;AACjB;AAEgB,SAAAG,EAAkBH,GAAsBI,GAAc;;AACrE,UAAOF,IAAAH,EAAEC,CAAE,MAAJ,gBAAAE,EAAO,WAAWE;AAC1B;AAEA,IAAIC,GACAC,GACAC,GACAC;AAEJC,EAAMC,EAAMZ,EAAK,MAAM,UAAU,GAAG,MAAM;;AAEzC,EAAAO,IAAgBM,EAAW,YAAY,GACvCL,MAAYJ,IAAAG,EAAc,MAAM,IAAI,MAAxB,gBAAAH,EAA4B,OAAM,KAC9CK,IAAmBF,EAAc,QAAQ,QAAQ,EAAE,EAAE,QACrDG,IAAoB,CAAA;AAEpB,WAASI,IAAI,GAAGA,IAAIP,EAAc,QAAQO;AACrC,IAAAP,EAAcO,CAAC,MAAMN,KACxBE,EAAkB,KAAKI,CAAC;AAG3B,GAAG,EAAE,WAAW,GAAA,CAAM;AAKf,SAASC,EAAQC,GAAQ;AAC3B,MAAAC,IAAeD,EAAE,OAAO,cACxBE,IAAQF,EAAE,OAAO,OAIjBG,IAAiBD,EAAM,UAAU,GAAGD,CAAY,EAAE,QAAQ,QAAQ,EAAE,GACpEG,IAAkBF,EAAM,UAAUD,CAAY,EAAE,QAAQ,QAAQ,EAAE,GAElEI,IAAoBF,EAAe,SAASC,EAAgB,SAASX;AACzE,MAAIY,IAAoB,GAAG;AAET,IAAAF,IAAAA,EAAe,UAAU,GAAGV,CAAgB;AAEvD,UAAAa,IAA2Bb,IAAmBU,EAAe;AACnE,IAAAC,IAAkBA,EAAgB,UAAUA,EAAgB,SAASE,CAAwB;AAAA,EAAA,MAC9F,CAAWD,IAAoB,MAE1BL,EAAE,cAAc,yBAEDG,KAAA,IAAI,OAAO,CAACE,CAAiB,IAE/CD,IAAkB,IAAI,OAAO,CAACC,CAAiB,IAAID;AAIrD,EAAAH,IAAeE,EAAe,QAC9BD,IAAQC,IAAiBC;AAGzB,WAASN,IAAI,GAAGA,IAAIJ,EAAkB,QAAQI,KAAK;AAC5C,UAAAS,IAAiBb,EAAkBI,CAAC;AAElC,IAAAI,IAAAA,EAAM,UAAU,GAAGK,CAAc,IAAIf,IAAYU,EAAM,UAAUK,CAAc,GAGnFN,KAAgBM,KACnBN;AAAA,EAEF;AAGA,EAAID,EAAE,cAAc,2BAA2BE,EAAMD,IAAe,CAAC,MAAMT,KAC1ES,KAIGC,MAAUF,EAAE,OAAO,UACtBA,EAAE,OAAO,QAAQE,GACjBF,EAAE,OAAO,iBAAiBC,GAC1BD,EAAE,OAAO,eAAeC;AAE1B;"}
|
|
1
|
+
{"version":3,"file":"datepicker-CtcFJYEp.es.js","sources":["../../src/components/forms/inputDate/datepicker.css?raw","../../src/components/forms/inputDate/datepicker.ts"],"sourcesContent":["export default \"/* ui-datepicker */\\r\\n.ui-datepicker {\\r\\n\\t--datepicker-day-color: var(--color-bg-3);\\r\\n\\t--datepicker-day-color-hover: var(--color-layer-secondary-1);\\r\\n\\t--datepicker-selected-color: var(--color-bg-primary-6);\\r\\n\\t--datepicker-selected-color-hover: var(--color-bg-primary-4);\\r\\n\\t--datepicker-range-color: var(--color-layer-primary-1);\\r\\n\\t--datepicker-range-color-hover: var(--color-layer-primary-2);\\r\\n\\r\\n\\tuser-select: none;\\r\\n\\twidth: auto;\\r\\n\\tpadding: 0;\\r\\n}\\r\\n\\r\\n.ui-datepicker:before,\\r\\n.ui-datepicker:after {\\r\\n\\tdisplay: none;\\r\\n}\\r\\n\\r\\n/* на странице */\\r\\n.ui-datepicker-inline {\\r\\n\\tdisplay: inline-block !important;\\r\\n}\\r\\n\\r\\n/* в popup */\\r\\n.ui-datepicker:not(.ui-datepicker-inline) {\\r\\n\\tborder-radius: 8px;\\r\\n\\tbackground: var(--content-background-color);\\r\\n\\tbox-shadow: var(--top-shadow);\\r\\n\\tz-index: 10000000 !important;\\r\\n\\tpadding: 8px;\\r\\n}\\r\\n\\r\\n.ui-datepicker a {\\r\\n\\ttext-decoration: none !important;\\r\\n}\\r\\n\\r\\n.ui-datepicker option {\\r\\n\\tcolor: var(--color-text-1);\\r\\n\\tfont-size: 14px;\\r\\n}\\r\\n\\r\\n.ui-datepicker-header {\\r\\n\\tpadding: 0 !important;\\r\\n\\tmargin: 0 0 18px 0;\\r\\n\\tdisplay: flex;\\r\\n\\talign-items: center;\\r\\n}\\r\\n\\r\\n.ui-datepicker-header > * {\\r\\n\\tdisplay: flex;\\r\\n\\talign-items: center;\\r\\n\\tjustify-content: center;\\r\\n}\\r\\n\\r\\n.ui-datepicker-title {\\r\\n\\twidth: 100% !important;\\r\\n\\theight: 24px;\\r\\n\\tmargin: 0 !important;\\r\\n}\\r\\n\\r\\n.ui-datepicker-month,\\r\\n.ui-datepicker-year {\\r\\n\\toutline: none !important;\\r\\n\\twidth: auto !important;\\r\\n\\tborder: none;\\r\\n\\tpadding: 0;\\r\\n\\tmargin: 0 6px !important;\\r\\n\\ttext-align: center;\\r\\n\\tfont-size: 16px !important;\\r\\n}\\r\\n\\r\\n.ui-datepicker-month {\\r\\n\\tcolor: var(--color-text-1);\\r\\n}\\r\\n\\r\\n.ui-datepicker-year {\\r\\n\\tcolor: var(--color-text-2);\\r\\n}\\r\\n\\r\\n/*\\tselect.ui-datepicker-month,\\r\\nselect.ui-datepicker-year{ cursor: pointer; color: var(--color-blue-500); }*/\\r\\nselect.ui-datepicker-month,\\r\\nselect.ui-datepicker-year {\\r\\n\\tcursor: pointer;\\r\\n}\\r\\n\\r\\n.ui-datepicker-prev,\\r\\n.ui-datepicker-next {\\r\\n\\tcursor: pointer;\\r\\n\\twidth: 24px !important;\\r\\n\\theight: 24px !important;\\r\\n\\tfont-size: 24px;\\r\\n\\tfont-family: \\\"Topvisor-2\\\";\\r\\n\\tposition: static !important;\\r\\n}\\r\\n\\r\\n.ui-datepicker-prev:before {\\r\\n\\tcolor: var(--color-icon-3);\\r\\n\\tcontent: \\\"\\\";\\r\\n}\\r\\n\\r\\n.ui-datepicker-prev-hover:before {\\r\\n\\tcolor: var(--color-icon-1);\\r\\n\\tcontent: \\\"\\\";\\r\\n}\\r\\n\\r\\n.ui-datepicker-next {\\r\\n\\tcolor: var(--color-icon-3);\\r\\n\\torder: 1;\\r\\n}\\r\\n\\r\\n.ui-datepicker-next-hover {\\r\\n\\tcolor: var(--color-icon-1);\\r\\n\\torder: 1;\\r\\n}\\r\\n\\r\\n.ui-datepicker-next:before {\\r\\n\\tcontent: \\\"\\\";\\r\\n}\\r\\n\\r\\n.ui-datepicker-prev > *,\\r\\n.ui-datepicker-next > * {\\r\\n\\tdisplay: none !important;\\r\\n}\\r\\n\\r\\n.ui-datepicker thead th {\\r\\n\\twidth: auto !important;\\r\\n\\tpadding: 0 !important;\\r\\n\\tcolor: var(--color-text-3);\\r\\n\\tfont-size: 14px;\\r\\n\\tfont-weight: 400 !important;\\r\\n}\\r\\n\\r\\n.ui-datepicker table {\\r\\n\\tmargin: 0 !important;\\r\\n\\tfont-size: 14px;\\r\\n}\\r\\n\\r\\n.ui-datepicker td {\\r\\n\\tcolor: var(--color-text-1);\\r\\n\\tbackground: none;\\r\\n\\tpadding: 0 !important;\\r\\n}\\r\\n\\r\\n.ui-datepicker td span,\\r\\n.ui-datepicker td a {\\r\\n\\tborder-radius: 8px;\\r\\n\\tborder: none;\\r\\n\\tmin-width: 32px;\\r\\n\\theight: 32px;\\r\\n\\tpadding: 0;\\r\\n\\tmargin: 1px;\\r\\n\\tcolor: var(--color-text-1) !important;\\r\\n\\tline-height: 32px;\\r\\n\\ttext-align: center;\\r\\n\\tposition: relative;\\r\\n\\tdisplay: block;\\r\\n}\\r\\n\\r\\n/* обычные даты */\\r\\n.ui-datepicker td a {\\r\\n\\tbackground: var(--datepicker-day-color);\\r\\n}\\r\\n\\r\\n.ui-datepicker td a:hover {\\r\\n\\tbackground: var(--datepicker-day-color-hover);\\r\\n}\\r\\n\\r\\n/* текущий день */\\r\\ntd.ui-datepicker-today span,\\r\\ntd.ui-datepicker-today a {\\r\\n\\tbackground: none;\\r\\n\\tposition: relative;\\r\\n}\\r\\n\\r\\n/* выбранные даты */\\r\\n.ui-datepicker td.selected a {\\r\\n\\tbackground: var(--datepicker-range-color);\\r\\n\\tpadding-right: 0;\\r\\n\\tpadding-left: 1px;\\r\\n\\tmargin-right: 1px;\\r\\n\\tmargin-left: 0;\\r\\n}\\r\\n\\r\\n.ui-datepicker td.selected a:hover {\\r\\n\\tbackground: var(--datepicker-range-color-hover);\\r\\n}\\r\\n\\r\\n.ui-datepicker td.selected:not(.selected-start):not(:first-child):not(.first-of-month) a {\\r\\n\\tborder-top-left-radius: 0;\\r\\n\\tborder-bottom-left-radius: 0;\\r\\n\\tpadding-left: 1px;\\r\\n\\tmargin-left: 0;\\r\\n}\\r\\n\\r\\n.ui-datepicker td.selected:not(.selected-end):not(:last-child):not(.last-of-month) a {\\r\\n\\tborder-top-right-radius: 0;\\r\\n\\tborder-bottom-right-radius: 0;\\r\\n\\tpadding-right: 1px;\\r\\n\\tmargin-right: 0;\\r\\n}\\r\\n\\r\\n.ui-datepicker td.selected-start a,\\r\\n.ui-datepicker td.selected-end a,\\r\\n.ui-datepicker td.ui-datepicker-current-day a {\\r\\n\\tbackground: var(--datepicker-selected-color);\\r\\n\\tcolor: #FFF !important;\\r\\n}\\r\\n\\r\\n.ui-datepicker td.selected-start a:hover,\\r\\n.ui-datepicker td.selected-end a:hover,\\r\\n.ui-datepicker td.ui-datepicker-current-day a:hover {\\r\\n\\tbackground: var(--datepicker-selected-color-hover);\\r\\n}\\r\\n\\r\\n.ui-datepicker-day-marks {\\r\\n\\tline-height: normal;\\r\\n\\tposition: absolute;\\r\\n\\tright: 0;\\r\\n\\tbottom: 3px;\\r\\n\\tleft: 0;\\r\\n\\tdisplay: flex;\\r\\n\\talign-items: center;\\r\\n\\tjustify-content: center;\\r\\n}\\r\\n\\r\\n.ui-datepicker-day-marks > i {\\r\\n\\tborder-radius: 50%;\\r\\n\\tborder: 1px solid #FFF;\\r\\n\\twidth: 4px;\\r\\n\\theight: 4px;\\r\\n\\tmargin: 0 2px;\\r\\n}\\r\\n\\r\\n.ui-datepicker-day-marks-exists {\\r\\n\\tbackground: var(--color-icon-primary-2);\\r\\n}\\r\\n\\r\\n.ui-datepicker-day-marks-update {\\r\\n\\tbackground: var(--color-icon-negative-2);\\r\\n}\\r\\n\\r\\n.ui-datepicker-row-break {\\r\\n\\tdisplay: none;\\r\\n}\\r\\n\"","import { toRef, watch } from 'vue';\r\nimport Core from '@/core/core/core';\r\nimport { dateFormat } from '@/core/utils/date';\r\n\r\nimport css from '@/components/forms/inputDate/datepicker.css?raw';\r\n\r\nCore.insertStyleToPage(css);\r\n\r\nconst $ = (el: HTMLInputElement) => {\r\n\tif (!Core.$?.ui?.datepicker) {\r\n\t\tconsole.info('Для работы datepicker требуется глобальная загрузка jQuery UI Datepicker');\r\n\r\n\t\treturn;\r\n\t}\r\n\r\n\tCore.$.datepicker.setDefaults({\r\n\t\tdateFormat: Core.state.dateFormat.toLowerCase().replace('m', 'mm').replace('y', 'yy').replace('d', 'dd'),\r\n\t});\r\n\r\n\treturn Core.$(el);\r\n};\r\n\r\nexport function connectDatepicker(el: HTMLInputElement, options: any) {\r\n\treturn $(el)?.datepicker(options);\r\n}\r\n\r\nlet dateFormatted;\r\nlet delimiter: string;\r\nlet dateNumbersCount: number;\r\nlet delimitersIndexes: number[];\r\n\r\nwatch(toRef(Core.state.dateFormat), () => {\r\n\t// генерация отформатированной даты, извлечение из нее разделителей и их индексов\r\n\tdateFormatted = dateFormat('2000-01-01');\r\n\tdelimiter = dateFormatted.match(/\\D/)?.[0] ?? '-';\r\n\tdateNumbersCount = dateFormatted.replace(/\\D+/g, '').length;\r\n\tdelimitersIndexes = [];\r\n\r\n\tfor (let i = 0; i < dateFormatted.length; i++) {\r\n\t\tif (dateFormatted[i] === delimiter) {\r\n\t\t\tdelimitersIndexes.push(i);\r\n\t\t}\r\n\t}\r\n}, { immediate: true });\r\n\r\n/**\r\n * Автоформат при вводе в поле с датой\r\n */\r\nexport function oninput(e: any) {\r\n\tlet selectionPos = e.target.selectionEnd;\r\n\tlet value = e.target.value;\r\n\r\n\t// разбить занчение на две половины - до и после каретки\r\n\t// удалить все символы, кроме цифр\r\n\tlet valueChunkLeft = value.substring(0, selectionPos).replace(/\\D+/g, '');\r\n\tlet valueChunkRight = value.substring(selectionPos).replace(/\\D+/g, '');\r\n\r\n\tlet extraNumbersCount = valueChunkLeft.length + valueChunkRight.length - dateNumbersCount;\r\n\tif (extraNumbersCount > 0) {\r\n\t\t// // количество цифр больше требуемого - удалить лишние\r\n\t\tvalueChunkLeft = valueChunkLeft.substring(0, dateNumbersCount);\r\n\r\n\t\tconst valueChunkRightMaxLength = dateNumbersCount - valueChunkLeft.length;\r\n\t\tvalueChunkRight = valueChunkRight.substring(valueChunkRight.length - valueChunkRightMaxLength);\r\n\t} else if (extraNumbersCount < 0) {\r\n\t\t// количество цифр меньше требуемого - добавить 0\r\n\t\tif (e.inputType === 'deleteContentForward') {\r\n\t\t\t// нажатие на delete - добавить к левой части для правильного позиционирования каретки\r\n\t\t\tvalueChunkLeft += '0'.repeat(-extraNumbersCount);\r\n\t\t} else {\r\n\t\t\tvalueChunkRight = '0'.repeat(-extraNumbersCount) + valueChunkRight;\r\n\t\t}\r\n\t}\r\n\r\n\tselectionPos = valueChunkLeft.length;\r\n\tvalue = valueChunkLeft + valueChunkRight;\r\n\r\n\t// вставить разделители\r\n\tfor (let i = 0; i < delimitersIndexes.length; i++) {\r\n\t\tconst delimiterIndex = delimitersIndexes[i];\r\n\r\n\t\tvalue = value.substring(0, delimiterIndex) + delimiter + value.substring(delimiterIndex);\r\n\r\n\t\t// сдвинуть каретку, если разделитель вставлен левее ее\r\n\t\tif (selectionPos >= delimiterIndex) {\r\n\t\t\tselectionPos++;\r\n\t\t}\r\n\t}\r\n\r\n\t// нажатие на backspace - если слева символ разделителя, перенести каретку за него\r\n\tif (e.inputType === 'deleteContentBackward' && value[selectionPos - 1] === delimiter) {\r\n\t\tselectionPos--;\r\n\t}\r\n\r\n\t// если значение изменилось - вставить его и переместить каретку\r\n\tif (value !== e.target.value) {\r\n\t\te.target.value = value;\r\n\t\te.target.selectionStart = selectionPos;\r\n\t\te.target.selectionEnd = selectionPos;\r\n\t}\r\n}\r\n"],"names":["css","Core","$","el","_b","_a","connectDatepicker","options","dateFormatted","delimiter","dateNumbersCount","delimitersIndexes","watch","toRef","dateFormat","i","oninput","e","selectionPos","value","valueChunkLeft","valueChunkRight","extraNumbersCount","valueChunkRightMaxLength","delimiterIndex"],"mappings":";;AAAA,MAAeA,IAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;ACMfC,EAAK,kBAAkBD,CAAG;AAE1B,MAAME,IAAI,CAACC,MAAyB;;AACnC,MAAI,GAACC,KAAAC,IAAAJ,EAAK,MAAL,gBAAAI,EAAQ,OAAR,QAAAD,EAAY,aAAY;AAC5B,YAAQ,KAAK,0EAA0E;AAEvF;AAAA,EACD;AAEK,SAAAH,EAAA,EAAE,WAAW,YAAY;AAAA,IAC7B,YAAYA,EAAK,MAAM,WAAW,YAAA,EAAc,QAAQ,KAAK,IAAI,EAAE,QAAQ,KAAK,IAAI,EAAE,QAAQ,KAAK,IAAI;AAAA,EAAA,CACvG,GAEMA,EAAK,EAAEE,CAAE;AACjB;AAEgB,SAAAG,EAAkBH,GAAsBI,GAAc;;AACrE,UAAOF,IAAAH,EAAEC,CAAE,MAAJ,gBAAAE,EAAO,WAAWE;AAC1B;AAEA,IAAIC,GACAC,GACAC,GACAC;AAEJC,EAAMC,EAAMZ,EAAK,MAAM,UAAU,GAAG,MAAM;;AAEzC,EAAAO,IAAgBM,EAAW,YAAY,GACvCL,MAAYJ,IAAAG,EAAc,MAAM,IAAI,MAAxB,gBAAAH,EAA4B,OAAM,KAC9CK,IAAmBF,EAAc,QAAQ,QAAQ,EAAE,EAAE,QACrDG,IAAoB,CAAA;AAEpB,WAASI,IAAI,GAAGA,IAAIP,EAAc,QAAQO;AACrC,IAAAP,EAAcO,CAAC,MAAMN,KACxBE,EAAkB,KAAKI,CAAC;AAG3B,GAAG,EAAE,WAAW,GAAA,CAAM;AAKf,SAASC,EAAQC,GAAQ;AAC3B,MAAAC,IAAeD,EAAE,OAAO,cACxBE,IAAQF,EAAE,OAAO,OAIjBG,IAAiBD,EAAM,UAAU,GAAGD,CAAY,EAAE,QAAQ,QAAQ,EAAE,GACpEG,IAAkBF,EAAM,UAAUD,CAAY,EAAE,QAAQ,QAAQ,EAAE,GAElEI,IAAoBF,EAAe,SAASC,EAAgB,SAASX;AACzE,MAAIY,IAAoB,GAAG;AAET,IAAAF,IAAAA,EAAe,UAAU,GAAGV,CAAgB;AAEvD,UAAAa,IAA2Bb,IAAmBU,EAAe;AACnE,IAAAC,IAAkBA,EAAgB,UAAUA,EAAgB,SAASE,CAAwB;AAAA,EAAA,MAC9F,CAAWD,IAAoB,MAE1BL,EAAE,cAAc,yBAEDG,KAAA,IAAI,OAAO,CAACE,CAAiB,IAE/CD,IAAkB,IAAI,OAAO,CAACC,CAAiB,IAAID;AAIrD,EAAAH,IAAeE,EAAe,QAC9BD,IAAQC,IAAiBC;AAGzB,WAASN,IAAI,GAAGA,IAAIJ,EAAkB,QAAQI,KAAK;AAC5C,UAAAS,IAAiBb,EAAkBI,CAAC;AAElC,IAAAI,IAAAA,EAAM,UAAU,GAAGK,CAAc,IAAIf,IAAYU,EAAM,UAAUK,CAAc,GAGnFN,KAAgBM,KACnBN;AAAA,EAEF;AAGA,EAAID,EAAE,cAAc,2BAA2BE,EAAMD,IAAe,CAAC,MAAMT,KAC1ES,KAIGC,MAAUF,EAAE,OAAO,UACtBA,EAAE,OAAO,QAAQE,GACjBF,EAAE,OAAO,iBAAiBC,GAC1BD,EAAE,OAAO,eAAeC;AAE1B;"}
|
|
@@ -374,7 +374,7 @@ const $e = { class: "top-avatar" }, Se = ["src", "title"], _e = ["title"], ke =
|
|
|
374
374
|
},
|
|
375
375
|
setup(t) {
|
|
376
376
|
G((s) => ({
|
|
377
|
-
"
|
|
377
|
+
"4926eb34": s.size + "px"
|
|
378
378
|
}));
|
|
379
379
|
const a = t, o = b(() => {
|
|
380
380
|
var s, e;
|
|
@@ -726,7 +726,7 @@ const it = /* @__PURE__ */ v({
|
|
|
726
726
|
d.value = l.target.value;
|
|
727
727
|
};
|
|
728
728
|
async function r(l) {
|
|
729
|
-
const p = await import("./datepicker-
|
|
729
|
+
const p = await import("./datepicker-CtcFJYEp.es.js");
|
|
730
730
|
Y = p.oninput, e = p.connectDatepicker(l.target, {
|
|
731
731
|
onSelect: () => m(l)
|
|
732
732
|
}), e && e.datepicker("show");
|
|
@@ -1144,4 +1144,4 @@ export {
|
|
|
1144
1144
|
qt as y,
|
|
1145
1145
|
Gt as z
|
|
1146
1146
|
};
|
|
1147
|
-
//# sourceMappingURL=forms-
|
|
1147
|
+
//# sourceMappingURL=forms-Cay_sybt.es.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"forms-Cay_sybt.es.js","sources":["../../src/core/utils/device.ts","../../src/core/core/events.ts","../../src/core/core/options.ts","../../src/core/core/state.ts","../../src/core/core/core.ts","../../src/core/utils/date.ts","../../src/components/forms/avatar/avatar.vue","../../src/components/forms/button/button.vue","../../src/components/forms/checkbox/checkbox.vue","../../src/components/forms/loadbar/loadbar.vue","../../src/components/forms/input/input.vue","../../src/components/forms/inputDate/inputDate.vue","../../src/components/forms/radio/radio.vue","../../src/components/forms/switcher/switcher.vue","../../src/components/forms/textarea/textarea.vue","../../src/components/forms/select/select.vue","../../src/components/forms/forms.ts"],"sourcesContent":["/**\r\n * Получение информации об устройстве\r\n * @packageDocumentation\r\n */\r\n\r\n/**\r\n * Определить, увеличинная ли плотность пикселей у экрана (DPR > 1)\r\n */\r\nexport function isRetina(): boolean {\r\n\treturn ('devicePixelRatio' in window && window.devicePixelRatio > 1);\r\n}\r\n\r\n/**\r\n * Определить, является ли устройство мобильным\r\n */\r\nexport function isMobile(): boolean {\r\n\treturn !!navigator.userAgent.match(/Android|BlackBerry|iPhone|iPad|iPod|IEMobile|Opera Mini/i);\r\n}\r\n\r\n/**\r\n * Определить, открыт ли сайт в приложении\r\n */\r\nexport function isApp(): boolean {\r\n\treturn (navigator.userAgent.indexOf('Topvisor_App') != -1);\r\n}\r\n\r\n/**\r\n * Определить, является ли OS пользователя macOS\r\n */\r\nexport function isMacOS(): boolean {\r\n\treturn navigator.userAgent.indexOf('Mac OS X') !== -1;\r\n}\r\n\r\n/**\r\n * Определить, является ли текущий браузер пользователя Safari\r\n */\r\nexport function isSafari(): boolean {\r\n\tconst isChrome = /Chrome|Android/.test(navigator.userAgent);\r\n\r\n\tlet isSafari = /Safari/.test(navigator.userAgent);\r\n\tif (isChrome && isSafari) {\r\n\t\tisSafari = false;\r\n\t}\r\n\r\n\treturn isSafari;\r\n}\r\n\r\n/**\r\n * Вернуть текст для обозначения клавиши Ctrl / Command в зависимости от OS\r\n */\r\nexport function getCommandKeyLabel(): 'Ctrl' | '⌘' {\r\n\tif (isMacOS()) {\r\n\t\treturn '⌘';\r\n\t} else {\r\n\t\treturn 'Ctrl';\r\n\t}\r\n}\r\n\r\n/**\r\n * Вернуть скролл с учетом устройства\r\n */\r\nexport const getScrollTop = (): number | undefined => {\r\n\treturn $(document).scrollTop();\r\n};\r\n\r\n/**\r\n * Вернуть контейнеры со скроллом (требует jquery)\r\n */\r\nexport const get$scroll = (): JQuery<Document> => {\r\n\treturn $(document);\r\n};\r\n\r\n/**\r\n * Вернуть контейнеры со скроллом (без jquery)\r\n */\r\nexport const getElsScroll = (): Document[] => {\r\n\treturn [document];\r\n};\r\n\r\n/**\r\n * Получить операционную систему пользователя\r\n *\r\n * Не определяет Windows 11, см. getOSAsync()\r\n */\r\nexport const getOS = (): string => {\r\n\tconst os: [string, RegExp][] = [\r\n\t\t['iOS', /(iPhone|iPad)/i],\r\n\t\t['Android', /(Android)/i],\r\n\t\t['Windows Phone', /(IEMobile)/i],\r\n\t\t['Windows 3.11', /Win16/i],\r\n\t\t['Windows 95', /(Windows 95)|(Win95)|(Windows_95)/i],\r\n\t\t['Windows 98', /(Windows 98)|(Win98)/i],\r\n\t\t['Windows 2000', /(Windows NT 5.0)|(Windows 2000)/i],\r\n\t\t['Windows XP', /(Windows NT 5.1)|(Windows XP)/i],\r\n\t\t['Windows Server 2003', /(Windows NT 5.2)/i],\r\n\t\t['Windows Vista', /(Windows NT 6.0)/i],\r\n\t\t['Windows 7', /(Windows NT 6.1)/i],\r\n\t\t['Windows 8', /(Windows NT 6.[23])|(Windows 8)/i],\r\n\t\t['Windows 10', /(Windows NT 10)/i],\r\n\t\t['Windows NT 4.0', /(Windows NT 4.0)|(WinNT4.0)|(WinNT)|(Windows NT)/i],\r\n\t\t['Windows ME', /Windows ME/i],\r\n\t\t['Windows', /Windows/i],\r\n\t\t['Open BSD', /OpenBSD/i],\r\n\t\t['Sun OS', /SunOS/i],\r\n\t\t['Linux', /(Linux)|(X11)/i],\r\n\t\t['Macintosh', /(Mac_PowerPC)|(Macintosh)|(Mac OS X 10.4)|(Mac OS X 10.5)|(Mac OS X 10.6)/i],\r\n\t\t['QNX', /QNX/i],\r\n\t\t['BeOS', /BeOS/i],\r\n\t\t['OS/2', /OS\\/2/i],\r\n\t];\r\n\r\n\tlet res = '';\r\n\tfor (let i = 0; i < os.length; i++) {\r\n\t\tif (os[i][1].test(navigator.userAgent)) {\r\n\t\t\tres = os[i][0];\r\n\r\n\t\t\tbreak;\r\n\t\t}\r\n\t}\r\n\r\n\treturn res;\r\n};\r\n\r\n/**\r\n * Получить операционную систему пользователя, в том числе Windows 11\r\n */\r\nexport const getOSAsync = async (): Promise<string> => {\r\n\tlet os = getOS();\r\n\r\n\tif (os === 'Windows 10') {\r\n\t\t// @ts-ignore - experimental technology\r\n\t\tconst platformVersion = await navigator?.userAgentData?.getHighEntropyValues(['platformVersion']);\r\n\t\tif (platformVersion && platformVersion.platformVersion >= '13') {\r\n\t\t\tos = 'Windows 11';\r\n\t\t}\r\n\t}\r\n\r\n\treturn os;\r\n};\r\n","const onResizeDelay = 100;\r\n\r\nlet onResizeTimer: NodeJS.Timeout;\r\n\r\ntype TopEvent = Event & { topEvent: { widthDiff: number, hightDiff: number } }\r\n\r\n/**\r\n * Установленные обрабочики на событие изменения размеров окна\r\n */\r\nconst onResizeListeners: Map<(ev: TopEvent) => any, (ev: TopEvent) => any> = new Map();\r\n\r\n// зафиксированное состояние размеров окна\r\nconst windowSize = {\r\n\twidth: window.innerWidth,\r\n\theight: window.innerHeight,\r\n};\r\n\r\n/**\r\n * Добавить обработчик на событие изменения размеров экрана\r\n * вызов таких обработчиков будет опмизирован и объединен в одно событие\r\n */\r\nfunction addOnReize(listener: (this: HTMLElement, ev: TopEvent) => any) {\r\n\tonResizeListeners.set(listener, listener);\r\n}\r\n\r\n/**\r\n * Удаление обработчика на событие изменений размеров экрана\r\n */\r\nfunction removeOnResize(listener: (this: HTMLElement, ev: TopEvent) => any) {\r\n\tonResizeListeners.delete(listener);\r\n}\r\n\r\nfunction onResize(e: any) {\r\n\tclearTimeout(onResizeTimer);\r\n\r\n\tonResizeTimer = setTimeout(function () {\r\n\t\te.topEvent = {\r\n\t\t\twidthDiff: windowSize.width - window.innerWidth,\r\n\t\t\thightDiff: windowSize.height - window.innerHeight,\r\n\t\t};\r\n\r\n\t\twindowSize.width = window.innerWidth;\r\n\t\twindowSize.height = window.innerHeight;\r\n\r\n\t\tonResizeListeners.forEach((callback) => callback(e));\r\n\t}, onResizeDelay);\r\n}\r\n\r\nwindow.addEventListener('resize', onResize);\r\n\r\nexport default {\r\n\taddOnReize,\r\n\tremoveOnResize,\r\n};\r\n","/**\r\n * Конфигурация UI\r\n *\r\n * Начальные значений устанавилаются при подклчюении Core во Vue приложение через app.use(PluginCore, options)\r\n */\r\nexport default {\r\n\t/**\r\n\t * Базовая ширина страницы для отображения ПК / Мобильной версии сайта\r\n\t */\r\n\twidthForMobile: 900,\r\n\r\n\t/**\r\n\t * Формат даты, который будет испоьзоваться по умолчанию для вывода даты, как правило, завсит от текущего пользователя\r\n\t */\r\n\tdateFormat: 'Y-m-d',\r\n\r\n\t/**\r\n\t * Валюта, которая будет испоьзоваться по умолчанию, как правило, завсит от текущего пользователя\r\n\t */\r\n\tcurrency: 'USD' as 'RUB' | 'USD' | 'EUR',\r\n\r\n\t/**\r\n\t * Для Москвы: +0300\r\n\t */\r\n\tgmt: new Date().toString().match(/GMT(\\S+)/)?.[1] as string,\r\n};\r\n","import options from './options';\r\n\r\n/**\r\n * State UI для взаимодейсвтиями с приложениями Vue\r\n */\r\nconst state = {\r\n\tdateFormat: options.dateFormat,\r\n\tcurrency: options.currency,\r\n\tgmt: options.gmt,\r\n\r\n\t/**\r\n\t * Device by size\r\n\t * @see widthForMobile\r\n\t */\r\n\tisMobile: false,\r\n\r\n\t/**\r\n\t * Device by user agent\r\n\t */\r\n\tisMobileUA: false,\r\n\r\n\t/**\r\n\t * true, если плотность пикселей экрана больше 1\r\n\t */\r\n\tisRetina: false,\r\n\r\n\t/**\r\n\t * true, елси это приложение\r\n\t */\r\n\tisApp: false,\r\n\r\n\t/**\r\n\t * true при горизонтальном расположении устройства\r\n\t */\r\n\tisLandscape: true,\r\n\r\n\t/**\r\n\t * true при вертикальном расположении устройства\r\n\t */\r\n\tisPortrait: false,\r\n\r\n\t/**\r\n\t * Максимальная сторона страницы\r\n\t */\r\n\tsize: 0,\r\n\r\n\t// /**\r\n\t// * true, если страница скрыта\r\n\t// */\r\n\t// isHidden: false,\r\n};\r\n\r\nexport default state;\r\n","import { reactive } from 'vue';\r\nimport { isApp, isMobile, isRetina } from '@/core/utils/device';\r\nimport Events from '@/core/core/events';\r\nimport state from '@/core/core/state';\r\n\r\n/**\r\n * Статический класс с текущим состоянимем UI\r\n */\r\nexport default class Core {\r\n\r\n\t/**\r\n\t * Настройки словаря\r\n\t *\r\n\t * @deprecated - используйте useI18n() и $i18n;\r\n\t */\r\n\tstatic L = reactive({\r\n\t\tNot_date: 'Not date',\r\n\t});\r\n\r\n\tstatic state = reactive({ ...state });\r\n\r\n\tstatic widthForMobile = 900;\r\n\r\n\tstatic matchMediaIsMobile?: MediaQueryList;\r\n\r\n\tstatic $ = window['$'] as typeof $ | undefined;\r\n\r\n\tstatic _setState() {\r\n\t\tCore.matchMediaIsMobile = window.matchMedia(`(max-width: ${Core.widthForMobile}px)`);\r\n\r\n\t\tCore.state.isMobileUA = isMobile();\r\n\t\tCore.state.isRetina = isRetina();\r\n\t\tCore.state.isApp = isApp();\r\n\t\t// Core.state.isHidden = this.isHidden();\r\n\r\n\t\tCore.setStateByWindowSize();\r\n\r\n\t\t// пересчет значений, зависящих от рамзеров окна\r\n\t\tEvents.addOnReize(Core.onResize);\r\n\r\n\t\tCore.onResize();\r\n\r\n\t\tCore.saveToCookie();\r\n\t}\r\n\r\n\tprivate static onResize() {\r\n\t\tCore.setStateByWindowSize();\r\n\r\n\t\t// честный vh\r\n\t\tdocument.documentElement.style.setProperty('--100vh', window.innerHeight + 'px');\r\n\t}\r\n\r\n\tprivate static setStateByWindowSize() {\r\n\t\tCore.state.isMobile = !!Core.matchMediaIsMobile?.matches;\r\n\t\tCore.state.isLandscape = (window.innerWidth > window.innerHeight);\r\n\t\tCore.state.isPortrait = !Core.state.isLandscape;\r\n\t\tCore.state.size = (window.innerWidth > window.innerHeight) ? window.innerWidth : window.innerHeight;\r\n\r\n\t\tCore.saveToCookie();\r\n\t}\r\n\r\n\t/**\r\n\t * Сохранить информацию об устройстве в cookie\r\n\t */\r\n\tprivate static saveToCookie() {\r\n\t\tconst device = [\r\n\t\t\t1,\r\n\t\t\twindow.innerWidth,\r\n\t\t\twindow.innerHeight,\r\n\t\t\twindow.devicePixelRatio,\r\n\t\t\tNumber(Core.state.isMobile),\r\n\t\t\tNumber(Core.state.isRetina),\r\n\t\t];\r\n\r\n\t\tdocument.cookie = 'device=' + device.join(',') + '; path=/;';\r\n\t}\r\n\r\n\t/**\r\n\t * Проверить скрыта страница или нет\r\n\t */\r\n\tstatic isHidden = (): boolean => document.hidden;\r\n\r\n\t/**\r\n\t * Вставить css стили на страницу по ссылке с автоматическим добавлением правил media\r\n\t *\r\n\t * Правила media:\r\n\t * - Файлы *.m.css будут грузиться, только на экранах с шириной менее, чем Core.widthForMobile\r\n\t * - Файлы *.pc.css будут грузиться, только на экранах с шириной более, чем Core.widthForMobile\r\n\t *\r\n\t * Настройкой Core.widthForMobile можно управлять через plugin: @topvisor/ui/plugin/core\r\n\t *\r\n\t * @param fileNames - список ссылок на css файлы\r\n\t * @param useSync - использовать синхронную загрузку css, только для css с того же домена. В синхронном режиме стили предзагружаются независимо от\r\n\t * media\r\n\t */\r\n\tstatic insertCSSLinkToPage = (fileNames: Array<string>, useSync = false) => {\r\n\t\tconst cssFilesByOptions = new Map();\r\n\t\tcssFilesByOptions.set('::', []);\r\n\r\n\t\tfileNames.forEach(filename => {\r\n\t\t\tlet m = false;\r\n\t\t\tlet pc = false;\r\n\r\n\t\t\tif (filename.match(/\\.m\\./)) {\r\n\t\t\t\tm = true;\r\n\t\t\t}\r\n\t\t\tif (filename.match(/\\.pc\\./)) {\r\n\t\t\t\tpc = true;\r\n\t\t\t}\r\n\r\n\t\t\tconst key = `${m}:${pc}`;\r\n\t\t\tif (!cssFilesByOptions.has(key)) {\r\n\t\t\t\tcssFilesByOptions.set(`${m}:${pc}`, []);\r\n\t\t\t}\r\n\t\t\tcssFilesByOptions.get(`${m}:${pc}`).push(filename);\r\n\t\t});\r\n\r\n\t\tconst promises: Array<Promise<unknown>> = [];\r\n\r\n\t\tcssFilesByOptions.forEach((fileNames, options: string) => {\r\n\t\t\tif (!fileNames.length) {\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\r\n\t\t\tconst [m, pc] = options.split(':').map(item => item === 'true');\r\n\r\n\t\t\tlet media = 'all';\r\n\t\t\tif (m) {\r\n\t\t\t\tmedia = '(max-width: ' + Core.widthForMobile + 'px)';\r\n\t\t\t}\r\n\t\t\tif (pc) {\r\n\t\t\t\tmedia = '(min-width: ' + Core.widthForMobile + 'px)';\r\n\t\t\t}\r\n\r\n\t\t\tconst promisesI = Core._insertToPage(fileNames, media, useSync);\r\n\t\t\tpromisesI.forEach(promise => promises.push(promise));\r\n\t\t});\r\n\r\n\t\treturn Promise.all(promises);\r\n\t};\r\n\r\n\tprivate static _insertToPage = (fileNames: Array<string>, media: string, useSync: boolean) => {\r\n\t\tconst promises: Array<Promise<unknown>> = [];\r\n\r\n\t\tfileNames.forEach(fileName => {\r\n\t\t\t// синхронная загрузка, чтобы функция не выполнилась раньше загрузки стилей\r\n\t\t\tif (useSync) {\r\n\t\t\t\tconst request = new XMLHttpRequest();\r\n\t\t\t\trequest.open('GET', fileName, false);\r\n\t\t\t\trequest.send();\r\n\t\t\t}\r\n\r\n\t\t\tconst id = 'topCSSLink-' + fileName.replace(/\\W/g, '-');\r\n\r\n\t\t\t// стиль уже загружен\r\n\t\t\tif (window.hasOwnProperty(id)) return;\r\n\r\n\t\t\tlet resolve: Function;\r\n\t\t\tlet reject: Function;\r\n\t\t\tconst promise = new Promise((_resolve, _reject) => {\r\n\t\t\t\tresolve = _resolve;\r\n\t\t\t\treject = _reject;\r\n\t\t\t});\r\n\t\t\tpromises.push(promise);\r\n\r\n\t\t\tconst elLink = document.createElement('link');\r\n\t\t\telLink.id = id;\r\n\t\t\telLink.rel = 'stylesheet';\r\n\t\t\telLink.media = media;\r\n\t\t\telLink.href = fileName;\r\n\t\t\telLink.onload = () => resolve();\r\n\t\t\telLink.onerror = () => reject();\r\n\r\n\t\t\tdocument.head.append(elLink);\r\n\t\t});\r\n\r\n\t\treturn promises;\r\n\t};\r\n\r\n\t/**\r\n\t * Вставить css стили на страницу с автоматическим добавлением правил media\r\n\t *\r\n\t * Загрузка с Vite:\r\n\t *\r\n\t * ```js\r\n\t * import style from '/style.css?raw';\r\n\t *\r\n\t * insertToPageAsInine(style);\r\n\t * ```\r\n\t *\r\n\t * Загрузка с fetch:\r\n\t *\r\n\t * ```js\r\n\t * const style = await fetch('./style.css');\r\n\t *\r\n\t * insertToPageAsInine(style);\r\n\t * ```\r\n\t *\r\n\t * @param style - css стили в строке\r\n\t * @param type - если указать 'm' или 'pc', то стили будут применяться по условию в зависимости от настройки this.widthForMobile\r\n\t *\r\n\t * @see insertToPage\r\n\t */\r\n\tstatic insertStyleToPage = (style: string, type: '' | 'm' | 'pc' = '') => {\r\n\t\tlet media = 'all';\r\n\r\n\t\tif (type === 'm') {\r\n\t\t\tmedia = '(max-width: ' + Core.widthForMobile + 'px)';\r\n\t\t}\r\n\r\n\t\tif (type === 'pc') {\r\n\t\t\tmedia = '(min-width: ' + Core.widthForMobile + 'px)';\r\n\t\t}\r\n\r\n\t\tconst elStyle = document.createElement('style');\r\n\t\telStyle.innerHTML = style;\r\n\t\telStyle.media = media;\r\n\r\n\t\tdocument.head.append(elStyle);\r\n\t};\r\n\r\n}\r\n","/**\r\n * Работа с датами\r\n * @packageDocumentation\r\n */\r\n\r\nimport Core from '@/core/core/core';\r\n\r\nconst L = (window as any).L ?? {};\r\n\r\n/**\r\n * Получить день недели\r\n */\r\nexport const getDayOfWeek = (y: number, m: number, d: number): string => {\r\n\tswitch ((new Date(y, m, d)).getDay()) {\r\n\t\tcase 0:\r\n\t\t\treturn L.Vs + '.';\r\n\t\tcase 1:\r\n\t\t\treturn L.Pn + '.';\r\n\t\tcase 2:\r\n\t\t\treturn L.Vt + '.';\r\n\t\tcase 3:\r\n\t\t\treturn L.Sr + '.';\r\n\t\tcase 4:\r\n\t\t\treturn L.Ct + '.';\r\n\t\tcase 5:\r\n\t\t\treturn L.Pt + '.';\r\n\t\tcase 6:\r\n\t\t\treturn L.Sb + '.';\r\n\t\tdefault:\r\n\t\t\treturn '';\r\n\t}\r\n};\r\n\r\n/**\r\n * Преобразовать дату в строку формата Y-m-d H:i:s\r\n * @param dateObject - объект Date\r\n * @param langFormat - если true, формат даты будет взят из Core.state.dateFormat\r\n * @param timeFormat - 0-только дата | 1-дата и часы | 2-дата и часы с минутами | 3-дата и часы с минутами и секундами\r\n */\r\nexport const dateToString = (dateObject: Date, langFormat: boolean = true, timeFormat: 0 | 1 | 2 | 3 = 2): string => {\r\n\tlet Y = String(dateObject.getFullYear());\r\n\tlet d = String(dateObject.getDate()).padStart(2, '0');\r\n\tlet m = String(dateObject.getMonth() + 1).padStart(2, '0');\r\n\tlet H = String(dateObject.getHours()).padStart(2, '0');\r\n\tlet i = String(dateObject.getMinutes()).padStart(2, '0');\r\n\tlet s = String(dateObject.getSeconds()).padStart(2, '0');\r\n\r\n\tlet date = Y + '-' + m + '-' + d;\r\n\tif (timeFormat >= 1) date += ' ' + H;\r\n\tif (timeFormat >= 2) date += ':' + i;\r\n\tif (timeFormat === 3) date += ':' + s;\r\n\tif (langFormat) date = dateFormat(date, timeFormat);\r\n\r\n\treturn date;\r\n};\r\n\r\n/**\r\n * Получить объект Date из строки\r\n * @param date - строка с датой\r\n */\r\nexport function stringToDate(date: string): Date {\r\n\tif (date.indexOf('T') === -1) {\r\n\t\tif (date.length == 10) {\r\n\t\t\tdate += ' 00:00:00';\r\n\t\t}\r\n\r\n\t\tdate = date.replace(' ', 'T') + Core.state.gmt;\r\n\t}\r\n\r\n\treturn new Date(date);\r\n}\r\n\r\n/**\r\n * Генерация даты-строки из миллисекунд (UTC), в формате Y-m-d H:i:s\r\n * @param timestamp - дата в мс, если не передана, берется дата на момент вызова функции\r\n * @param useFormat - если true, формат даты будет взят из Core.state.dateFormat\r\n * @param time - 0-только дата | 1-дата и часы | 2-дата и часы с минутами | 3-дата и часы с минутами и секундами\r\n */\r\nexport function genDate(timestamp: number | undefined, useFormat: boolean = true, time: 0 | 1 | 2 | 3 = 0): string {\r\n\tlet date;\r\n\tif (timestamp != undefined) {\r\n\t\tdate = new Date(timestamp);\r\n\t} else {\r\n\t\tdate = new Date();\r\n\t}\r\n\r\n\tconst Y = date.getFullYear();\r\n\tconst m = String(date.getMonth() + 1).padStart(2, '0');\r\n\tconst d = date.getDate().toString().padStart(2, '0');\r\n\r\n\tconst H = date.getHours().toString().padStart(2, '0');\r\n\tconst i = date.getMinutes().toString().padStart(2, '0');\r\n\tconst s = date.getSeconds().toString().padStart(2, '0');\r\n\r\n\tdate = Y + '-' + m + '-' + d;\r\n\r\n\tif (time) date += ' ';\r\n\tif (time >= 1) date += H;\r\n\tif (time >= 2) date += ':' + i;\r\n\tif (time >= 3) date += ':' + s;\r\n\r\n\tif (useFormat) {\r\n\t\tdate = dateFormat(date, time);\r\n\t}\r\n\r\n\treturn date;\r\n}\r\n\r\n/**\r\n * Генерация даты-строки (время московское) из миллисекунд (UTC), в формате Y-m-d H:i:s\r\n * @param ms - дата в мс, если не передана, берется дата на момент вызова функции\r\n * @param langFormat - если true, формат даты будет взят из Core.state.dateFormat\r\n */\r\nexport function genDateMoscow(ms: number | undefined, langFormat: boolean = true): string {\r\n\tconst time_zone = (new Date().getTimezoneOffset() / 60) * (-1);\r\n\tconst dateoffset = time_zone * 60 * 60 * 1000;\r\n\tconst moscow_dateoffset = 3 * 60 * 60 * 1000;\r\n\r\n\tlet date: Date;\r\n\tif (ms !== undefined) {\r\n\t\tdate = new Date(ms);\r\n\t} else {\r\n\t\tdate = new Date();\r\n\t}\r\n\r\n\tdate.setTime(date.getTime() - dateoffset + moscow_dateoffset);\r\n\r\n\tlet Y = String(date.getFullYear());\r\n\tlet d = String(date.getDate()).padStart(2, '0');\r\n\tlet m = String(date.getMonth() + 1).padStart(2, '0');\r\n\tlet H = String(date.getHours()).padStart(2, '0');\r\n\tlet i = String(date.getMinutes()).padStart(2, '0');\r\n\tlet s = String(date.getSeconds()).padStart(2, '0');\r\n\r\n\tlet dateStr = Y + '-' + m + '-' + d + ' ' + H + ':' + i + ':' + s;\r\n\tif (langFormat) {\r\n\t\tdateStr = dateFormat(dateStr);\r\n\t}\r\n\r\n\treturn dateStr;\r\n}\r\n\r\n/**\r\n * Перевод даты в формат пользователя\r\n * @param date - объект даты или строка в формате Y-m-d H:i:s\r\n * @param time - 0-только дата | 1-дата и часы | 2-дата и часы с минутами | 3-дата и часы с минутами и секундами\r\n * @param dateformat -\r\n * @param emptyValue - значение, которое надо вернуть, если дата не указана\r\n */\r\nexport function dateFormat(dateMixed: string | Date, time: 0 | 1 | 2 | 3 = 2, dateFormat?: string, emptyValue: string = Core.L.Not_date): string {\r\n\tif (typeof dateMixed === 'string') {\r\n\t\tif (!dateMixed || dateMixed.substring(0, 10) === '0000-00-00') {\r\n\t\t\tif (emptyValue && emptyValue !== '0000-00-00') {\r\n\t\t\t\treturn emptyValue;\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\tif (!dateMixed) return emptyValue;\r\n\r\n\tif (!dateFormat) {\r\n\t\tdateFormat = Core.state.dateFormat;\r\n\t}\r\n\r\n\tdateFormat = dateFormat.toLowerCase().replace('m', 'mm').replace('y', 'yy').replace('d', 'dd');\r\n\r\n\tlet date: Date;\r\n\tif (dateMixed instanceof Date) {\r\n\t\tdate = dateMixed;\r\n\t} else {\r\n\t\tlet dateForObj = dateMixed.substring(0, 10);\r\n\t\tif (dateForObj.length === 7) dateForObj += '-01';\r\n\t\tdateForObj += ' 00:00';\r\n\t\tdateForObj = dateForObj.replace(/-/g, '/'); // safari fix\r\n\r\n\t\tdate = new Date(dateForObj);\r\n\t\tif (isNaN(Number(date))) return emptyValue;\r\n\t}\r\n\r\n\tlet result = '';\r\n\r\n\tif (dateFormat && window['$']) {\r\n\t\tresult = $.datepicker.formatDate(dateFormat, date);\r\n\t}\r\n\r\n\tif (time && typeof dateMixed === 'string' && dateMixed.length > 10 || time && dateMixed instanceof Date) {\r\n\t\tlet timeStr: string = '';\r\n\t\tif (dateMixed instanceof Date) {\r\n\t\t\ttimeStr = new Date().toLocaleTimeString('en-US', {\r\n\t\t\t\thour12: false,\r\n\t\t\t\thour: 'numeric',\r\n\t\t\t\tminute: time >= 2 ? 'numeric' : undefined,\r\n\t\t\t\tsecond: time >= 3 ? 'numeric' : undefined,\r\n\t\t\t});\r\n\t\t} else {\r\n\t\t\tswitch (time) {\r\n\t\t\t\t// часы\r\n\t\t\t\tcase 1:\r\n\t\t\t\t\ttimeStr = dateMixed.substring(11, 13);\r\n\r\n\t\t\t\t\tbreak;\r\n\t\t\t\t// часы и минуты\r\n\t\t\t\tcase 2:\r\n\t\t\t\t\ttimeStr = dateMixed.substring(11, 16);\r\n\r\n\t\t\t\t\tbreak;\r\n\t\t\t\t// часы, минуты и секунды\r\n\t\t\t\tcase 3:\r\n\t\t\t\t\ttimeStr = dateMixed.substring(11, 19);\r\n\r\n\t\t\t\t\tbreak;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tresult += ' ' + timeStr;\r\n\t}\r\n\r\n\tresult = result.trim();\r\n\r\n\treturn result;\r\n}\r\n\r\n/**\r\n * Перевод даты из формата пользователя в системный формат Y-m-d H:i:s\r\n * @param date - строка с датой\r\n * @param emptyValue - значение, которое надо вернуть, если дата не указана\r\n */\r\nexport function dateUnformat(date: string, emptyValue: string = Core.L.Not_date): string {\r\n\tif (!date) {\r\n\t\treturn emptyValue;\r\n\t}\r\n\r\n\tif (date.match(/\\d\\d\\d\\d-\\d\\d-\\d\\d/)) {\r\n\t\treturn date;\r\n\t}\r\n\r\n\tconst dateFormat = Core.state.dateFormat.toLowerCase();\r\n\r\n\tconst dateChunks = date.split(/\\W/);\r\n\tconst dateFormatChunks = dateFormat.split(/\\W/);\r\n\r\n\tlet d = '';\r\n\tlet m = '';\r\n\tlet y = '';\r\n\r\n\tdateFormatChunks.forEach((type, index) => {\r\n\t\tswitch (type) {\r\n\t\t\tcase 'd':\r\n\t\t\t\td = dateChunks[index];\r\n\r\n\t\t\t\tbreak;\r\n\t\t\tcase 'm':\r\n\t\t\t\tm = dateChunks[index];\r\n\r\n\t\t\t\tbreak;\r\n\t\t\tcase 'y':\r\n\t\t\t\ty = dateChunks[index];\r\n\r\n\t\t\t\tbreak;\r\n\t\t}\r\n\t});\r\n\r\n\tlet result = y + '-' + m + '-' + d;\r\n\r\n\tif (!result.match(/\\d\\d\\d\\d-\\d\\d-\\d\\d/)) {\r\n\t\tconsole.info('Неверный формат даты, будет возращена текущая дата, ' + result);\r\n\r\n\t\tresult = genDate((new Date()).getTime(), false).substring(0, 10);\r\n\t}\r\n\r\n\treturn result;\r\n}\r\n","<script lang=\"ts\" setup>\r\nimport { computed } from 'vue';\r\nimport type { Props } from './avatar';\r\nimport { dateFormat } from '@/core/utils/date';\r\n\r\nconst props = withDefaults(defineProps<Props>(), {\r\n\tsize: 64,\r\n\ti18n: () => ({\r\n\t\tOnline: 'Online',\r\n\t\tLastSeen: 'Last seen',\r\n\t}),\r\n});\r\n\r\nconst titleStatus = computed(() => {\r\n\tif (props.isOnline) {\r\n\t\treturn props.i18n?.Online;\r\n\t}\r\n\r\n\tif (props.lastActiveTime) {\r\n\t\treturn props.i18n?.LastSeen + ': ' + dateFormat(props.lastActiveTime, 2);\r\n\t}\r\n});\r\n\r\nconst titleImage = computed(() => {\r\n\tif (!props.nickname) return titleStatus.value;\r\n\r\n\treturn props.nickname + (titleStatus.value ? `\\n${titleStatus.value}` : '');\r\n});\r\n</script>\r\n\r\n<template>\r\n\t<div class=\"top-avatar\">\r\n\t\t<img\r\n\t\t\tclass=\"top-avatar_image\"\r\n\t\t\t:src=\"image\"\r\n\t\t\t:title=\"titleImage\"\r\n\t\t\talt=\"\"\r\n\t\t>\r\n\r\n\t\t<div\r\n\t\t\tv-if=\"isOnline\"\r\n\t\t\tclass=\"top-avatar_status\"\r\n\t\t\t:title=\"titleStatus\"\r\n\t\t>\r\n\t\t</div>\r\n\t</div>\r\n</template>\r\n\r\n<style module>\r\n.top-avatar {\r\n\twidth: v-bind(size+ \"px\");\r\n\theight: v-bind(size+ \"px\");\r\n\tdisplay: flex;\r\n\tflex-grow: 0;\r\n\tflex-shrink: 0;\r\n\tposition: relative;\r\n\ttop: 0;\r\n\tleft: 0;\r\n}\r\n\r\n.top-avatar_image {\r\n\tborder-radius: 50%;\r\n\twidth: 100%;\r\n\theight: 100%;\r\n}\r\n\r\n.top-avatar_status {\r\n\tborder-radius: 50%;\r\n\tborder: 2px solid var(--content-background-color);\r\n\tbackground-color: var(--color-object-positive);\r\n\twidth: 25%;\r\n\theight: 25%;\r\n\tposition: absolute;\r\n\tright: 0;\r\n\tbottom: 0;\r\n}\r\n</style>\r\n","<script setup lang=\"ts\">\r\nimport { computed } from 'vue';\r\nimport type { Props } from './button';\r\n\r\nconst props = withDefaults(defineProps<Props>(), {\r\n\tcolor: 'blue',\r\n\tstyling: '',\r\n\tsize: 's',\r\n});\r\n\r\nconst tagName = computed(() => props.href ? 'a' : 'button');\r\n\r\nconst type = computed(() => props.isSubmit ? 'submit' : undefined);\r\n</script>\r\n\r\n<template>\r\n\t<component\r\n\t\t:is=\"tagName\"\r\n\t\t:class=\"{\r\n\t\t\t['top-active']: isActive,\r\n\t\t\t['top-disabled']: disabled,\r\n\t\t\t['top-forms-focusable']: !disabled,\r\n\t\t\t['top-button']: true,\r\n\t\t\t['top-button-progress']: isProgress,\r\n\t\t\t[`top-size_${size}`]: !!size,\r\n\t\t\t[`top-color_${color}`]: true,\r\n\t\t\t[`top-style_${styling}`]: !!styling,\r\n\t\t\t['top-button-withoutText']: !$slots.default,\r\n\t\t}\"\r\n\t\t:name=\"name\"\r\n\t\t:title=\"title\"\r\n\t\t:href=\"href\"\r\n\t\t:type=\"type\"\r\n\t\t:data-top-icon=\"icon || undefined\"\r\n\t\t:data-top-icon2=\"icon2 || undefined\"\r\n\t\t:disabled=\"disabled || undefined\"\r\n\t\t:inProgress=\"isProgress\"\r\n\t>\r\n\t\t<span\r\n\t\t\tv-if=\"$slots.default\"\r\n\t\t\tclass=\"top-ellipsis\"\r\n\t\t>\r\n\t\t\t<!-- @slot Текст в кнопке -->\r\n\t\t\t<slot>\r\n\t\t\t\t{{ !icon ? 'Button' : '' }}\r\n\t\t\t</slot>\r\n\t\t</span>\r\n\r\n\t\t<!-- @slot HTML в кнопке -->\r\n\t\t<slot name=\"html\"></slot>\r\n\t</component>\r\n</template>\r\n\r\n<style module>\r\n@import \"./style/button.css\";\r\n@import \"./style/style-outline.css\";\r\n@import \"./style/style-soft.css\";\r\n@import \"./style/style-transparent.css\";\r\n\r\n.top-button {\r\n\t--top-button-color: var(--color-white);\r\n\t--top-button-background-color: transparent;\r\n\t--top-button-background-color-hover: var(--top-button-background-color);\r\n\t--top-button-background-color-active: var(--top-button-background-color-hover);\r\n\t--top-button-background-color-selected: var(--top-button-background-color-hover);\r\n\t--top-button-box-shadow: none;\r\n\t--top-button-box-shadow-hover: var(--top-shadow-darken-2);\r\n\t--top-button-box-shadow-active: var(--top-shadow-darken-3);\r\n\t--top-button-box-shadow-selected: var(--top-shadow-darken-3);\r\n\t--top-forms-border-width: 0px;\r\n\t--top-icon-width: calc(var(--top-icon-size) + var(--top-forms-padding));\r\n\t--top-icon2-width: calc(var(--top-icon2-size) + var(--top-forms-padding));\r\n}\r\n\r\n.top-button.top-size_l {\r\n\t--top-forms-padding: var(--top-forms-padding_l);\r\n\t--top-forms-base-height: var(--top-forms-base-height_l);\r\n}\r\n\r\n.top-button.top-size_xl {\r\n\t--top-forms-padding: var(--top-forms-padding_xl);\r\n\t--top-forms-base-height: var(--top-forms-base-height_xl);\r\n}\r\n</style>\r\n","<script setup lang=\"ts\">\r\nimport type { Props } from './checkbox';\r\nimport ControlLabel from '../controlLabel/controlLabel.vue';\r\n\r\ndefineProps<Props>();\r\n\r\nconst model = defineModel<Props['modelValue']>();\r\n</script>\r\n\r\n<template>\r\n\t<label\r\n\t\t:class=\"{\r\n\t\t\t['top-forms-optionWrapper']: true,\r\n\t\t\t['top-checkbox']: true,\r\n\t\t\t['top-checkbox_' + name]: !!name,\r\n\t\t\t['top-disabled']: disabled,\r\n\t\t\t['top-error']: isError && !disabled,\r\n\t\t}\"\r\n\t>\r\n\t\t<input\r\n\t\t\ttype=\"checkbox\"\r\n\t\t\t:class=\"{\r\n\t\t\t\t['top-forms-focusable']: !disabled,\r\n\t\t\t\t['top-forms-option']: true,\r\n\t\t\t\t['top-checkbox_input']: true,\r\n\t\t\t\t['top-error']: isError && !disabled,\r\n\t\t\t}\"\r\n\t\t\t:name=\"name\"\r\n\t\t\tv-model=\"model\"\r\n\t\t\t:value=\"value\"\r\n\t\t\t:indeterminate=\"indeterminate\"\r\n\t\t\t:disabled=\"disabled\"\r\n\t\t>\r\n\r\n\t\t<ControlLabel\r\n\t\t\tv-if=\"$slots.default\"\r\n\t\t\t:description=\"description\"\r\n\t\t\t:disabled=\"disabled\"\r\n\t\t>\r\n\t\t\t<!-- @slot Слот с заголовком -->\r\n\t\t\t<slot></slot>\r\n\t\t</ControlLabel>\r\n\t</label>\r\n</template>\r\n\r\n<style module>\r\n.top-checkbox {\r\n\tcursor: pointer;\r\n\tdisplay: inline-flex;\r\n}\r\n\r\n.top-checkbox_input {\r\n\tcursor: inherit;\r\n\tborder-radius: 4px;\r\n\tbackground: var(--content-background-color);\r\n\tborder: 1px solid var(--top-forms-border-color);\r\n\twidth: calc(var(--top-forms-option-height) - 3px * 2);\r\n\theight: calc(var(--top-forms-option-height) - 3px * 2);\r\n}\r\n\r\n.top-checkbox_input:before {\r\n\tcontent: \" \";\r\n\tcolor: #FFF;\r\n\tfont-family: \"Topvisor-2\";\r\n\tfont-size: 16px;\r\n}\r\n\r\n.top-checkbox_input:hover {\r\n\tborder-color: var(--top-forms-border-color-hover);\r\n\tbackground: var(--color-theme-100);\r\n}\r\n\r\n/* checked / indeterminate */\r\n.top-checkbox_input:checked,\r\n.top-checkbox_input:indeterminate {\r\n\tborder-color: var(--color-bg-primary-5);\r\n\tbackground: var(--color-bg-primary-5);\r\n}\r\n\r\n.top-checkbox_input:checked:before {\r\n\tcontent: \"\";\r\n}\r\n\r\n.top-checkbox_input:indeterminate:before {\r\n\tcontent: \"\";\r\n}\r\n\r\n.top-checkbox_input:checked:hover,\r\n.top-checkbox_input:indeterminate:hover {\r\n\tborder-color: var(--color-bg-primary-3);\r\n\tbackground: var(--color-bg-primary-3);\r\n}\r\n\r\n/* disabled selected */\r\n.top-checkbox_input:disabled {\r\n\tborder-color: var(--color-line-1);\r\n\tbackground: var(--color-theme-100);\r\n}\r\n\r\n.top-checkbox_input:checked:disabled,\r\n.top-checkbox_input:indeterminate:disabled {\r\n\tborder-color: transparent;\r\n\tbackground: var(--color-theme-400);\r\n}\r\n\r\n/* isError */\r\n.top-checkbox_input.top-error {\r\n\tborder-color: var(--color-bg-negative-4);\r\n}\r\n\r\n.top-checkbox_input.top-error:hover {\r\n\tborder-color: var(--color-bg-negative-2);\r\n}\r\n\r\n/* isError selected */\r\n.top-checkbox_input:checked.top-error,\r\n.top-checkbox_input:indeterminate.top-error {\r\n\tbackground: var(--color-bg-negative-4);\r\n}\r\n\r\n.top-checkbox_input:checked.top-error:hover,\r\n.top-checkbox_input:indeterminate.top-error:hover {\r\n\tbackground: var(--color-bg-negative-2);\r\n}\r\n</style>\r\n","<template>\r\n\t<div class=\"top-loadbar\"></div>\r\n</template>\r\n\r\n<style module>\r\n:root {\r\n\t--top-loadbar-duration: 10s;\r\n\t--top-loadbar-color: var(--color-line-primary-3);\r\n}\r\n\r\n.top-loadbar {\r\n\tbackground: var(--top-loadbar-color);\r\n\twidth: 0;\r\n\theight: 4px;\r\n\tposition: absolute;\r\n\ttop: 0;\r\n\tleft: 0;\r\n\r\n\tanimation: top-loadbar var(--top-loadbar-duration) forwards;\r\n}\r\n\r\n@keyframes top-loadbar {\r\n\tfrom {\r\n\t\t/* fix render pixels */\r\n\t\twidth: 4px;\r\n\t}\r\n\t4% {\r\n\t\twidth: calc(4%);\r\n\t}\r\n\t5% {\r\n\t\twidth: 5%;\r\n\t}\r\n\tto {\r\n\t\twidth: 95%;\r\n\t}\r\n}\r\n</style>\r\n","<script setup lang=\"ts\">\r\nimport { computed } from 'vue';\r\nimport type { Emits, Props } from './input';\r\nimport TopLoadbar from '@/components/forms/loadbar/loadbar.vue';\r\n\r\ndefineOptions({\r\n\tinheritAttrs: false,\r\n});\r\n\r\nconst props = withDefaults(defineProps<Props>(), {\r\n\tsize: 's',\r\n\tcaptionType: '',\r\n});\r\n\r\nconst emit = defineEmits<Emits>();\r\n\r\nconst localValue = computed({\r\n\tget() {\r\n\t\treturn props.modelValue;\r\n\t},\r\n\tset(value) {\r\n\t\temit('update:modelValue', value);\r\n\t},\r\n});\r\n\r\nconst placeholder = computed(() => {\r\n\tif (props.addCleaner && !props.title) {\r\n\t\treturn '';\r\n\t}\r\n\tif (props.captionType !== '') {\r\n\t\treturn '';\r\n\t}\r\n\r\n\treturn props.title;\r\n});\r\n\r\nconst clean = (event: Event) => {\r\n\tif (props.modelValue) {\r\n\t\tevent.stopPropagation();\r\n\t}\r\n\r\n\temit('update:modelValue', '');\r\n};\r\n</script>\r\n\r\n<template>\r\n\t<label\r\n\t\t:class=\"{\r\n\t\t\t['top-input']: true,\r\n\t\t\t['top-size_' + size]: true,\r\n\t\t\t['top-disabled']: disabled,\r\n\t\t\t['top-input-' + modificator]: !!modificator,\r\n\t\t\t['top-input-withCleaner']: addCleaner && localValue && localValue !== '0000-00-00',\r\n\t\t\t['top-formsCaptionWrapper']: captionType !== '',\r\n\t\t\t['top-formsCaptionWrapper-always']: captionType === 'top',\r\n\t\t}\"\r\n\t\t:data-top-icon=\"icon\"\r\n\t\t:data-top-icon2=\"icon2\"\r\n\t>\r\n\t\t<TopLoadbar v-if=\"isLoading\"/>\r\n\r\n\t\t<input\r\n\t\t\ttype=\"text\"\r\n\t\t\t:class=\"{\r\n\t\t\t\t['top-input_input']: true,\r\n\t\t\t\t['top-input_input-' + modificator]: !!modificator,\r\n\t\t\t\t['top-forms-focusable']: !disabled,\r\n\t\t\t\t['top-error']: isError,\r\n\t\t\t}\"\r\n\t\t\tautocomplete=\"off_always\"\r\n\t\t\t:name=\"name\"\r\n\t\t\tv-model=\"localValue\"\r\n\t\t\t:title=\"title\"\r\n\t\t\t:placeholder=\"placeholder\"\r\n\t\t\t:disabled=\"disabled\"\r\n\t\t\t:readonly=\"readonly\"\r\n\t\t\t@keydown.esc=\"(event) => (addCleaner || !!$slots.btn) && clean(event)\"\r\n\t\t\t:=\"$attrs\"\r\n\t\t>\r\n\r\n\t\t<span\r\n\t\t\tv-if=\"addCleaner && localValue && localValue !== '0000-00-00'\"\r\n\t\t\tclass=\"top-input_cleaner\"\r\n\t\t\tdata-top-icon=\"\"\r\n\t\t\t@click.prevent=\"clean\"\r\n\t\t></span>\r\n\r\n\t\t<span\r\n\t\t\tv-if=\"captionType !== ''\"\r\n\t\t\tclass=\"top-formsCaption\"\r\n\t\t>\r\n\t\t\t{{ title }}\r\n\t\t</span>\r\n\r\n\t\t<!-- @slot Слот для вставки произвольного кода в label -->\r\n\t\t<slot></slot>\r\n\t</label>\r\n</template>\r\n\r\n<style module>\r\n.top-input {\r\n\t--top-forms_clear-width: 0px;\r\n\r\n\tborder-radius: var(--top-forms-radius);\r\n\twidth: 180px;\r\n\tposition: relative;\r\n\tdisplay: inline-flex;\r\n\talign-items: center;\r\n\tgap: var(--top-gap-1);\r\n}\r\n\r\n.top-input_input {\r\n\tcolor: var(--color-text-2);\r\n\tbackground: var(--top-forms-background-color);\r\n\theight: var(--top-forms-base-height);\r\n\tpadding: 0;\r\n\tpadding-right: calc(max(var(--top-forms-padding), calc(var(--top-icon2-width) + var(--top-forms_clear-width))));\r\n\tpadding-left: calc(max(var(--top-forms-padding), var(--top-icon-width)));\r\n}\r\n\r\n.top-input_input:hover {\r\n\tbackground: var(--top-forms-background-color-hover);\r\n}\r\n\r\n.top-input_input:focus {\r\n\tcolor: var(--color-text-1);\r\n\tborder-color: var(--color-line-primary-3);\r\n\toutline: none;\r\n}\r\n\r\n/* значки */\r\n.top-input[data-top-icon]:before,\r\n.top-input[data-top-icon2]:after {\r\n\t--top-icon-color: var(--color-icon-4);\r\n\t--top-icon2-color: var(--color-icon-4);\r\n\r\n\tposition: absolute;\r\n\tz-index: 3;\r\n\tfont-size: 20px;\r\n}\r\n\r\n.top-input[data-top-icon]:before {\r\n\tleft: 0;\r\n}\r\n\r\n.top-input[data-top-icon2]:after {\r\n\tright: 0;\r\n}\r\n\r\n/* cleaner */\r\n.top-input-withCleaner {\r\n\t--top-forms_clear-width: 24px;\r\n}\r\n\r\n.top-input_cleaner[data-top-icon] {\r\n\t--top-icon-size: 16px;\r\n\t--top-icon-width: 20px;\r\n\t--top-icon-color: var(--color-icon-3);\r\n\r\n\tcursor: pointer;\r\n\tborder-radius: 50%;\r\n\twidth: 20px;\r\n\theight: 16px;\r\n\tposition: absolute;\r\n\tright: calc(var(--top-forms-border-width) + max(var(--top-icon2-width), var(--top-forms-padding) / 2));\r\n\tz-index: 1;\r\n\tdisplay: flex;\r\n\talign-items: center;\r\n\tjustify-content: center;\r\n}\r\n\r\n.top-input_cleaner[data-top-icon]:hover {\r\n\t--top-icon-color: var(--color-icon-2);\r\n}\r\n\r\n/* TODO: перенести в inputsRange */\r\n.top-input_input {\r\n\twidth: 50%;\r\n\tflex-grow: 1;\r\n}\r\n\r\n/* top-loadbar */\r\n.top-input .top-loadbar {\r\n\tborder-radius: var(--top-forms-radius) 0 0 0;\r\n}\r\n</style>\r\n","<script lang=\"ts\">\r\nconst useNativeDatepicker = !!document.documentElement.ontouchstart && !!document.createElement('input').showPicker;\r\n\r\nlet onInputLazy = (_e: any) => { };\r\n</script>\r\n\r\n<script setup lang=\"ts\">\r\nimport { ref, computed, onUnmounted } from 'vue';\r\nimport { dateFormat, dateUnformat } from '@/core/utils/date';\r\nimport type { Props, Emits } from './inputDate';\r\nimport TopInput from '@/components/forms/input/input.vue';\r\nimport Core from '@/core/core/core';\r\n\r\nconst props = withDefaults(defineProps<Props>(), {\r\n\ticon2: '',\r\n});\r\n\r\nconst emit = defineEmits<Emits>();\r\n\r\nonUnmounted(() => {\r\n\tif ($el) {\r\n\t\t$el.datepicker('destroy');\r\n\t}\r\n});\r\n\r\nconst el = ref();\r\nlet $el: any;\r\n\r\nconst localValue = computed({\r\n\tget() {\r\n\t\treturn dateFormat(props.modelValue, 2, undefined, '0000-00-00');\r\n\t},\r\n\r\n\tset(value) {\r\n\t\tvalue = dateUnformat(value, '0000-00-00');\r\n\r\n\t\temit('update:modelValue', value);\r\n\t},\r\n});\r\n\r\nlet oninput = (e: any) => {\r\n\tonInputLazy(e);\r\n};\r\n\r\nlet onchange = (e: any) => {\r\n\tconst date = dateUnformat(e.target.value);\r\n\tconst dateFormatted = dateFormat(date);\r\n\r\n\tif (!dateFormatted || dateFormatted === Core.L.Not_date || e.target.value !== dateFormatted) {\r\n\t\te.target.value = localValue.value;\r\n\r\n\t\treturn;\r\n\t}\r\n\r\n\tlocalValue.value = e.target.value;\r\n};\r\n\r\n/**\r\n * Инициализпация функций выбора дат\r\n *\r\n * Для не нативного datepicker\r\n */\r\nasync function init(e: any) {\r\n\tconst datepicker = await import('./datepicker');\r\n\r\n\t// формат ввода\r\n\tonInputLazy = datepicker.oninput;\r\n\r\n\t// datepicker\r\n\t$el = datepicker.connectDatepicker(e.target, {\r\n\t\tonSelect: () => onchange(e),\r\n\t});\r\n\r\n\tif ($el) {\r\n\t\t$el.datepicker('show');\r\n\t}\r\n}\r\n</script>\r\n\r\n<template>\r\n\t<TopInput\r\n\t\tv-if=\"useNativeDatepicker\"\r\n\t\t:=\"$props\"\r\n\t\t:modelValue=\"localValue\"\r\n\t\treadonly\r\n\t\t@click=\"el.showPicker()\"\r\n\t>\r\n\t\t<input\r\n\t\t\tref=\"el\"\r\n\t\t\ttype=\"date\"\r\n\t\t\tclass=\"top-input_input-date\"\r\n\t\t\t:modelValue=\"modelValue\"\r\n\t\t\t@change=\"(e: any) => localValue = e.target.value\"\r\n\t\t\ttabindex=\"-1\"\r\n\t\t/>\r\n\t</TopInput>\r\n\r\n\t<TopInput\r\n\t\tv-else\r\n\t\t:=\"$props\"\r\n\t\t:modelValue=\"localValue\"\r\n\t\t@update:modelValue=\"(newValue) => (newValue === '') ? localValue = '' : ''\"\r\n\t\t@input.date=\"oninput\"\r\n\t\t@focus.once.date=\"init\"\r\n\t\t@change.date=\"onchange\"\r\n\t\tmodificator=\"datepicker\"\r\n\t/>\r\n</template>\r\n\r\n<style module>\r\n.top-input-datepicker {\r\n\twidth: calc(105px + var(--top-icon-width) + var(--top-icon2-width));\r\n}\r\n\r\n.top-input_input-date {\r\n\topacity: 0;\r\n\tposition: absolute;\r\n\ttop: 0;\r\n\tright: 0;\r\n\tbottom: 0;\r\n\tleft: 0;\r\n\tz-index: -1;\r\n}\r\n\r\n.top-input_input-date::-webkit-inner-spin-button {\r\n\tdisplay: none;\r\n}\r\n\r\n.top-input_input-date::-webkit-calendar-picker-indicator {\r\n\topacity: 0;\r\n}\r\n</style>\r\n","<script setup lang=\"ts\">\r\nimport { computed } from 'vue';\r\nimport type { Emits, Props } from './radio';\r\nimport ControlLabel from '../controlLabel/controlLabel.vue';\r\n\r\nconst props = defineProps<Props>();\r\nconst emit = defineEmits<Emits>();\r\n\r\nconst localValue = computed({\r\n\tget() {\r\n\t\treturn props.modelValue;\r\n\t},\r\n\tset(value) {\r\n\t\temit('update:modelValue', value);\r\n\t},\r\n});\r\n\r\n</script>\r\n\r\n<template>\r\n\t<label\r\n\t\t:class=\"{\r\n\t\t\t['top-forms-optionWrapper']: true,\r\n\t\t\t['top-radio']: true,\r\n\t\t\t['top-radio_' + name]: name !== '',\r\n\t\t\t['top-disabled']: disabled,\r\n\t\t\t['top-error']: isError && !disabled,\r\n\t\t}\"\r\n\t>\r\n\t\t<input\r\n\t\t\ttype=\"radio\"\r\n\t\t\t:class=\"{\r\n\t\t\t\t['top-forms-focusable']: !disabled,\r\n\t\t\t\t['top-forms-option']: true,\r\n\t\t\t\t['top-radio_input']: true,\r\n\t\t\t\t['top-error']: isError && !disabled,\r\n\t\t\t}\"\r\n\t\t\tv-model=\"localValue\"\r\n\t\t\t:name=\"name\"\r\n\t\t\t:value=\"value\"\r\n\t\t\t:disabled=\"disabled\"\r\n\t\t>\r\n\r\n\t\t<ControlLabel\r\n\t\t\tv-if=\"$slots.default\"\r\n\t\t\t:description=\"description\"\r\n\t\t\t:disabled=\"disabled\"\r\n\t\t>\r\n\t\t\t<!-- @slot Слот с заголовком -->\r\n\t\t\t<slot></slot>\r\n\t\t</ControlLabel>\r\n\t</label>\r\n</template>\r\n\r\n<style module>\r\n:root {\r\n\t--top-radio-background-color: var(--content-background-color);\r\n\t--top-radio-background-color-hover: var(--top-radio-background-color);\r\n\t--top-radio-background-color-active: var(--top-radio-background-color);\r\n}\r\n\r\n.top-radio {\r\n\tcursor: pointer;\r\n}\r\n\r\n.top-radio_input {\r\n\tborder-radius: 50%;\r\n\tbackground: var(--content-background-color);\r\n\tborder: 1px solid var(--color-line-3);\r\n\twidth: calc(var(--top-forms-option-height) - 3px * 2);\r\n\theight: calc(var(--top-forms-option-height) - 3px * 2);\r\n}\r\n\r\n.top-radio_input:hover {\r\n\tborder-color: var(--color-line-3);\r\n\tbackground: var(--color-layer-secondary-1);\r\n}\r\n\r\n.top-radio_input:checked {\r\n\tborder-color: var(--color-bg-primary-5);\r\n\tborder-width: 5px;\r\n}\r\n\r\n.top-radio_input:checked:hover {\r\n\tborder-color: var(--color-bg-primary-3);\r\n}\r\n\r\n/* disabled */\r\n.top-radio_input:disabled {\r\n\tborder-color: var(--color-line-1-opacity);\r\n\tbackground: var(--color-theme-100);\r\n}\r\n\r\n/* disabled selected */\r\n.top-radio_input:checked:disabled {\r\n\tborder-color: var(--color-theme-400);\r\n}\r\n\r\n/* isError */\r\n.top-radio_input.top-error {\r\n\tborder-color: var(--color-bg-negative-5);\r\n}\r\n\r\n.top-radio_input.top-error:hover {\r\n\tborder-color: var(--color-bg-negative-4);\r\n}\r\n</style>\r\n","<script setup lang=\"ts\">\r\nimport { computed } from 'vue';\r\nimport type { Emits, Props } from './switcher';\r\nimport ControlLabel from '../controlLabel/controlLabel.vue';\r\n\r\nconst props = defineProps<Props>();\r\nconst emit = defineEmits<Emits>();\r\n\r\nconst localValue = computed({\r\n\tget() {\r\n\t\treturn props.modelValue;\r\n\t},\r\n\tset(value) {\r\n\t\temit('update:modelValue', value);\r\n\t},\r\n});\r\n</script>\r\n\r\n<template>\r\n\t<label\r\n\t\t:class=\"{\r\n\t\t['top-forms-optionWrapper']: true,\r\n\t\t['top-checkboxSwitcher']: true,\r\n\t\t['top-disabled']: disabled,\r\n\t\t['top-error']: isError && !disabled,\r\n\t}\"\r\n\t>\r\n\t\t<input\r\n\t\t\ttype=\"checkbox\"\r\n\t\t\t:class=\"{\r\n\t\t\t\t['top-forms-focusable']: !disabled,\r\n\t\t\t\t['top-forms-option']: true,\r\n\t\t\t\t['top-checkboxSwitcher_input']: true,\r\n\t\t\t\t['top-error']: isError && !disabled,\r\n\t\t\t}\"\r\n\t\t\tv-model=\"localValue\"\r\n\t\t\t:name=\"name\"\r\n\t\t\t:value=\"value\"\r\n\t\t\t:disabled=\"disabled\"\r\n\t\t>\r\n\r\n\t\t<ControlLabel\r\n\t\t\tv-if=\"$slots.default\"\r\n\t\t\t:description=\"description\"\r\n\t\t\t:disabled=\"disabled\"\r\n\t\t>\r\n\t\t\t<!-- @slot Слот с заголовком -->\r\n\t\t\t<slot></slot>\r\n\t\t</ControlLabel>\r\n\t</label>\r\n</template>\r\n\r\n<style module>\r\n.top-checkboxSwitcher {\r\n\tcursor: pointer;\r\n\tdisplay: inline-flex;\r\n\tgap: 4px;\r\n}\r\n\r\n.top-checkboxSwitcher_input {\r\n\tborder-radius: 9px;\r\n\tborder: none;\r\n\tbackground: var(--color-layer-secondary-2);\r\n\twidth: 36px;\r\n\theight: 18px;\r\n\tposition: relative;\r\n}\r\n\r\n.top-checkboxSwitcher_input:before {\r\n\tcontent: \"\";\r\n\tborder-radius: 50%;\r\n\tbackground: var(--color-white);\r\n\twidth: 12px;\r\n\theight: 12px;\r\n\tmargin: 3px;\r\n\tposition: absolute;\r\n\ttop: 0;\r\n\tleft: 0;\r\n\r\n\ttransition: left 0.1s;\r\n}\r\n\r\n.top-checkboxSwitcher_input:hover {\r\n\tbackground: var(--color-layer-secondary-4);\r\n}\r\n\r\n/* checked */\r\n.top-checkboxSwitcher_input:checked {\r\n\tbackground: var(--color-bg-primary-5);\r\n}\r\n\r\n.top-checkboxSwitcher_input:checked:hover {\r\n\tbackground: var(--color-bg-primary-3);\r\n}\r\n\r\n.top-checkboxSwitcher_input:checked:before {\r\n\tleft: 50%;\r\n}\r\n\r\n/* disabled */\r\n.top-checkboxSwitcher_input:disabled {\r\n\tbackground: var(--color-theme-400);\r\n}\r\n\r\n/* isError */\r\n.top-checkboxSwitcher_input.top-error {\r\n\tbackground: var(--color-layer-negative-3);\r\n}\r\n\r\n.top-checkboxSwitcher_input.top-error:hover {\r\n\tbackground: var(--color-layer-negative-4);\r\n}\r\n\r\n.top-checkboxSwitcher_input.top-error:checked {\r\n\tbackground: var(--color-bg-negative-5);\r\n}\r\n\r\n.top-checkboxSwitcher_input.top-error:checked:hover {\r\n\tbackground: var(--color-bg-negative-4);\r\n}\r\n\r\n</style>\r\n","<script setup lang=\"ts\">\r\nimport { computed } from 'vue';\r\nimport Hint from '@/components/forms/hint/hint.vue';\r\nimport type { Emits, Props } from './textarea';\r\n\r\ndefineOptions({\r\n\tinheritAttrs: false,\r\n});\r\n\r\nconst props = withDefaults(defineProps<Props>(), {\r\n\trows: 5,\r\n\tminHeight: 120,\r\n});\r\n\r\nconst emit = defineEmits<Emits>();\r\n\r\nconst value = computed({\r\n\tget() {\r\n\t\treturn props.modelValue;\r\n\t},\r\n\tset(value) {\r\n\t\temit('update:modelValue', value);\r\n\t},\r\n});\r\n</script>\r\n\r\n<template>\r\n\t<label\r\n\t\t:class=\"{\r\n\t\t\t['top-textarea']: true,\r\n\t\t\t['top-textarea-' + name]: name,\r\n\t\t\t['top-disabled']: disabled,\r\n\t\t}\"\r\n\t>\r\n\t\t<textarea\r\n\t\t\ttype=\"text\"\r\n\t\t\t:class=\"{\r\n\t\t\t\t['top-forms-focusable']: !disabled,\r\n\t\t\t\t['top-textarea_textarea']: true,\r\n\t\t\t\t['top-textarea_textarea-expandable']: expandable,\r\n\t\t\t\t['top-error']: isError,\r\n\t\t\t}\"\r\n\t\t\tautocomplete=\"off_always\"\r\n\t\t\t:name=\"name\"\r\n\t\t\t:placeholder=\"placeholder\"\r\n\t\t\t:disabled=\"disabled\"\r\n\t\t\t:readonly=\"readonly\"\r\n\t\t\t:rows=\"!expandable ? rows : undefined\"\r\n\t\t\t:=\"$attrs\"\r\n\t\t\tv-model=\"value\"\r\n\t\t/>\r\n\r\n\t\t<div\r\n\t\t\tv-if=\"expandable\"\r\n\t\t\tclass=\"top-textarea_pseudoContent\"\r\n\t\t>\r\n\t\t\t{{ value + ' ' }}\r\n\t\t</div>\r\n\r\n\t\t<Hint\r\n\t\t\tv-if=\"hint\"\r\n\t\t\tclass=\"top-textarea_hint\"\r\n\t\t\t:hint=\"hint\"\r\n\t\t\tv-top-tooltip\r\n\t\t/>\r\n\t</label>\r\n</template>\r\n\r\n<style module>\r\n.top-textarea {\r\n\twidth: 180px;\r\n\tdisplay: inline-flex;\r\n\talign-items: center;\r\n\tposition: relative;\r\n}\r\n\r\n.top-textarea_textarea {\r\n\tcolor: var(--color-text-1);\r\n\tbackground: var(--top-forms-background-color);\r\n\twidth: 100%;\r\n\tpadding: var(--top-forms-padding);\r\n\tresize: none;\r\n}\r\n\r\n.top-textarea_textarea:hover {\r\n\tbackground: var(--top-forms-background-color-hover);\r\n}\r\n\r\n.top-textarea_textarea:focus {\r\n\tborder-color: var(--color-line-primary-1);\r\n\toutline: none;\r\n}\r\n\r\n.top-textarea_textarea.top-textarea_textarea-expandable {\r\n\twidth: 100%;\r\n\theight: 100%;\r\n\toverflow: hidden;\r\n\tposition: absolute;\r\n\ttop: 0;\r\n\tleft: 0;\r\n}\r\n\r\n.top-textarea_pseudoContent {\r\n\tbox-sizing: border-box;\r\n\tmin-height: v-bind(minHeight+ \"px\");\r\n\tpadding: var(--top-forms-padding);\r\n\tfont-size: 14px;\r\n\twhite-space: pre-wrap;\r\n\toverflow-wrap: anywhere;\r\n\tpointer-events: none;\r\n\topacity: 0;\r\n\tz-index: -1;\r\n}\r\n\r\n.top-textarea_hint {\r\n\tposition: absolute;\r\n\ttop: 2px;\r\n\tright: 2px;\r\n}\r\n</style>\r\n","<script setup lang=\"ts\">\r\nimport type { ComputedRef } from 'vue';\r\nimport { computed, watch } from 'vue';\r\nimport type { Emits, LocalOptions, Option, Props } from './select';\r\n\r\nconst props = withDefaults(defineProps<Props>(), {\r\n\tsize: 's',\r\n});\r\n\r\nconst model = defineModel<Props['modelValue']>({\r\n\trequired: true,\r\n});\r\n\r\nconst emit = defineEmits<Emits>();\r\n\r\n/**\r\n * Словарь с учетом вложенных Props['options']\r\n *\r\n * Этот словарь должен использовать в логике компонента, чтобы она не зависила от типа входных данных\r\n */\r\nconst optionByValue: ComputedRef<LocalOptions> = computed(() => {\r\n\t/**\r\n\t * Преобразование:\r\n\t * - Array => Map\r\n\t * - string => Option\r\n\t */\r\n\tconst res = new Map();\r\n\r\n\tprops.options.forEach((option, index) => {\r\n\t\t// базовый Options со строками\r\n\t\tif (typeof option === 'string') option = genOption(index, option);\r\n\r\n\t\tif (option.children) {\r\n\t\t\t// вложенные элементы Option для <optgroup>\r\n\t\t\tconst children = new Map();\r\n\r\n\t\t\toption.children.forEach((subOption, subIndex) => {\r\n\t\t\t\t// базовый Options со строками\r\n\t\t\t\tif (typeof subOption === 'string') subOption = genOption(subIndex, subOption);\r\n\r\n\t\t\t\tchildren.set(subOption.value, subOption);\r\n\t\t\t});\r\n\r\n\t\t\toption = { ...option };\r\n\t\t\toption.children = children;\r\n\r\n\t\t\tres.set(option.value, option);\r\n\t\t} else {\r\n\t\t\t// самостоятельный элемент Option\r\n\t\t\tres.set(option.value, option);\r\n\t\t}\r\n\t});\r\n\r\n\treturn res;\r\n});\r\n\r\n/**\r\n * Словарь со всеми не disabled значениями Props['options'] в порядке следования с учетом вложенных Props['options']\r\n */\r\nconst flatOptionByValue: ComputedRef<Map<Props['modelValue'], Option>> = computed(() => {\r\n\tconst res = new Map();\r\n\r\n\toptionByValue.value.forEach(option => {\r\n\t\tif (option.disabled) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\t// вложенные элементы Option для <optgroup>\r\n\t\tif (option.children) {\r\n\t\t\toption.children.forEach(subOption => {\r\n\t\t\t\tif (subOption.disabled) {\r\n\t\t\t\t\treturn;\r\n\t\t\t\t}\r\n\r\n\t\t\t\tres.set(subOption.value, subOption);\r\n\t\t\t});\r\n\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tres.set(option.value, option);\r\n\t});\r\n\r\n\treturn res;\r\n});\r\n\r\n/**\r\n * Генерация Объекта option из строки\r\n *\r\n * Для базового способа указания props\r\n */\r\nconst genOption = (value: Props['modelValue'], title: string): Option => {\r\n\treturn {\r\n\t\tvalue,\r\n\t\ttitle,\r\n\t};\r\n};\r\n\r\n/**\r\n * Логика для обртаной своместимости:\r\n * - null - заменить на первое доступное значение\r\n * - undefined - заменить на первое доступное значение\r\n */\r\nwatch([\r\n\t() => props.modelValue,\r\n\tflatOptionByValue,\r\n], () => {\r\n\tif ((model.value === null || model.value === undefined) && flatOptionByValue.value.size) {\r\n\t\tconsole.warn('Пожалуйста, не передавайте в компонент Select значения null и undefined');\r\n\r\n\t\tmodel.value = flatOptionByValue.value.keys().next().value;\r\n\t}\r\n}, { immediate: true });\r\n\r\n/**\r\n * Иконка выбранного option\r\n */\r\nconst optionIcon = computed(() => {\r\n\treturn flatOptionByValue.value.get(model.value)?.icon;\r\n});\r\n\r\n/**\r\n * Выбрать следующее доступное значение\r\n */\r\nconst selectNextValue = () => {\r\n\tconst listEnabledValues = [...flatOptionByValue.value.keys()];\r\n\tconst currentIndex = listEnabledValues.indexOf(model.value);\r\n\tconst nextIndex = (currentIndex + 1) % listEnabledValues.length;\r\n\r\n\tmodel.value = listEnabledValues[nextIndex];\r\n};\r\n</script>\r\n\r\n<template>\r\n\t<label\r\n\t\t:class=\"{\r\n\t\t\t['top-select']:true,\r\n\t\t\t['top-select-' + name]:name,\r\n\t\t\t['top-size_' + size]: true,\r\n\t\t\t['top-formsCaptionWrapper']: !!title,\r\n\t\t\t['top-select-error']: isError,\r\n\t\t\t['top-disabled']: disabled,\r\n\t\t}\"\r\n\t\t:data-value=\"model\"\r\n\t\t:data-top-icon=\"icon\"\r\n\t\t:data-top-icon2=\"optionIcon\"\r\n\t>\r\n\t\t<select\r\n\t\t\t:class=\"{\r\n\t\t\t\t['top-forms-focusable']: !disabled,\r\n\t\t\t\t['top-select_select']: true,\r\n\t\t\t\t['top-select_arrow']: true,\r\n\t\t\t\t['top-error']: isError,\r\n\t\t\t}\"\r\n\t\t\t:name=\"name\"\r\n\t\t\t:disabled=\"disabled\"\r\n\t\t\tv-model=\"model\"\r\n\t\t>\r\n\t\t\t<template v-for=\"[value, option] of optionByValue\">\r\n\t\t\t\t<optgroup\r\n\t\t\t\t\tv-if=\"option.children\"\r\n\t\t\t\t\t:key=\"'group_' + value\"\r\n\t\t\t\t\t:label=\"option.title\"\r\n\t\t\t\t\t:disabled=\"option.disabled\"\r\n\t\t\t\t>\r\n\t\t\t\t\t<option\r\n\t\t\t\t\t\tv-for=\"[subValue, subOption] of option.children\"\r\n\t\t\t\t\t\t:key=\"subValue\"\r\n\t\t\t\t\t\t:value=\"subValue\"\r\n\t\t\t\t\t\t:selected=\"subValue === model\"\r\n\t\t\t\t\t\t:disabled=\"subOption.disabled\"\r\n\t\t\t\t\t>\r\n\t\t\t\t\t\t{{ subOption.title }}\r\n\t\t\t\t\t</option>\r\n\t\t\t\t</optgroup>\r\n\r\n\t\t\t\t<option\r\n\t\t\t\t\tv-else\r\n\t\t\t\t\t:key=\"value ?? undefined\"\r\n\t\t\t\t\t:value=\"value\"\r\n\t\t\t\t\t:selected=\"value === model\"\r\n\t\t\t\t\t:disabled=\"option.disabled\"\r\n\t\t\t\t>\r\n\t\t\t\t\t{{ option.title }}\r\n\t\t\t\t</option>\r\n\t\t\t</template>\r\n\t\t</select>\r\n\r\n\t\t<span\r\n\t\t\tv-if=\"addChanger && flatOptionByValue.size && !disabled\"\r\n\t\t\tclass=\"top-changer\"\r\n\t\t\t@click=\"selectNextValue\"\r\n\t\t></span>\r\n\r\n\t\t<span\r\n\t\t\tv-if=\"title\"\r\n\t\t\tclass=\"top-formsCaption\"\r\n\t\t>\r\n\t\t\t{{ title }}\r\n\t\t</span>\r\n\t</label>\r\n</template>\r\n\r\n<style module>\r\n.top-select {\r\n\tcolor: var(--color-text-1);\r\n\t--top-icon-color: var(--color-icon-2);\r\n\t--top-icon2-color: var(--color-icon-2);\r\n\r\n\talign-items: center;\r\n\twidth: 180px;\r\n\tmax-width: 100%;\r\n\tdisplay: inline-flex;\r\n}\r\n\r\n.top-select-error {\r\n\t--top-icon-color: var(--color-icon-negative-2);\r\n\t--top-icon2-color: var(--color-icon-negative-2);\r\n}\r\n\r\n.top-select_select {\r\n\tbackground-color: var(--top-forms-background-color);\r\n\t/* для select вместо padding нужно использовать text-indent */\r\n\tpadding-left: var(--top-forms-padding);\r\n\r\n\t/* если есть значки, добавить отступ на их ширину с учетом уже добавленного padding */\r\n\ttext-indent: calc(clamp(0px, calc(var(--top-icon-both-width) - var(--top-forms-padding)), calc(var(--top-icon-both-width) - var(--top-forms-padding))));\r\n\r\n\twidth: 100%;\r\n\theight: var(--top-forms-base-height);\r\n\ttext-overflow: ellipsis;\r\n\twhite-space: nowrap;\r\n\tflex-grow: 1;\r\n\toverflow: hidden;\r\n}\r\n\r\n.top-select_select:disabled {\r\n\tcolor: var(--color-text-3);\r\n}\r\n\r\n.top-select optgroup {\r\n\tcolor: var(--color-text-1);\r\n\tfont-style: normal;\r\n}\r\n\r\n.top-select option:not(:disabled) {\r\n\tbackground: var(--content-background-color);\r\n\tcolor: var(--color-text-1);\r\n}\r\n\r\n.top-select option:disabled {\r\n\tbackground: unset;\r\n\tcolor: unset;\r\n}\r\n\r\n/* хром не мерняет цвет для optgroup option, стили оставлены по умолчанию */\r\n/*\r\n.top-select optgroup:disabled,\r\n.top-select optgroup option,\r\n.top-select option:disabled {\r\n\r\n}\r\n*/\r\n\r\n/* https://bugzilla.mozilla.org/show_bug.cgi?id=1743066 */\r\n@-moz-document url-prefix() {\r\n\t.top-select_select {\r\n\t\ttext-indent: calc(clamp(0px, calc(var(--top-icon-both-width) - var(--top-forms-padding)), calc(var(--top-icon-both-width) - var(--top-forms-padding))) / 2);\r\n\t}\r\n}\r\n\r\n@media only screen and (min-width: 900px) {\r\n\t/* changer */\r\n\t.top-changer {\r\n\t\tcursor: pointer;\r\n\t\tborder-radius: 100%;\r\n\t\twidth: 0;\r\n\t\ttransform: translateX(-44px);\r\n\t\tcolor: var(--color-text-2);\r\n\t\tfont-size: 16px;\r\n\t\tline-height: 1;\r\n\t\tdisplay: none;\r\n\t\tz-index: 2;\r\n\t\torder: 4;\r\n\t}\r\n\r\n\t.top-changer:hover {\r\n\t\tcolor: var(--color-icon-primary-2);\r\n\t}\r\n\r\n\t.top-changer:after {\r\n\t\tcontent: \"\";\r\n\t\tbackground-color: var(--top-forms-background-color);\r\n\t\tfont-family: \"Topvisor-2\";\r\n\t}\r\n\r\n\t*:hover > .top-changer {\r\n\t\tdisplay: block;\r\n\t}\r\n}\r\n</style>\r\n","/**\r\n * Замечание для разработчиков\r\n *\r\n * При изменении библиотеки Forms не забудьте обновить ее подключение в плагине\r\n *\r\n * @see import('@/core/core/plugin')\r\n */\r\n\r\nimport type { ComponentCustomProps } from 'vue';\r\n\r\nimport Avatar from './avatar/avatar.vue';\r\nimport Button from './button/button.vue';\r\nimport Checkbox from './checkbox/checkbox.vue';\r\nimport ControlLabel from './controlLabel/controlLabel.vue';\r\nimport Hint from './hint/hint.vue';\r\nimport Input from './input/input.vue';\r\nimport InputDate from './inputDate/inputDate.vue';\r\nimport InputRange from './inputRange/inputRange.vue';\r\nimport Radio from './radio/radio.vue';\r\nimport Switcher from './switcher/switcher.vue';\r\nimport Textarea from './textarea/textarea.vue';\r\nimport Select from './select/select.vue';\r\nimport Loadbar from './loadbar/loadbar.vue';\r\n\r\n// Для не SFC, чтобы работало автозаполнение в template в ComponentOptions\r\n// Имена намеренно делаются разными, чтобы типы не конфликтовали: `Button` и `TopButton`\r\n\r\nexport const TopAvatar = Avatar as typeof Avatar & ComponentCustomProps;\r\nexport const TopButton = Button as typeof Button & ComponentCustomProps;\r\nexport const TopCheckbox = Checkbox as typeof Checkbox & ComponentCustomProps;\r\nexport const TopControlLabel = ControlLabel as typeof ControlLabel & ComponentCustomProps;\r\nexport const TopHint = Hint as typeof Hint & ComponentCustomProps;\r\nexport const TopInput = Input as typeof Input & ComponentCustomProps;\r\nexport const TopInputDate = InputDate as typeof InputDate & ComponentCustomProps;\r\nexport const TopInputRange = InputRange as typeof InputRange & ComponentCustomProps;\r\nexport const TopRadio = Radio as typeof Radio & ComponentCustomProps;\r\nexport const TopSwitcher = Switcher as typeof Switcher & ComponentCustomProps;\r\nexport const TopTextarea = Textarea as typeof Textarea & ComponentCustomProps;\r\nexport const TopSelect = Select as typeof Select & ComponentCustomProps;\r\nexport const TopLoadbar = Loadbar as typeof Loadbar & ComponentCustomProps;\r\n"],"names":["isRetina","isMobile","isApp","isMacOS","isSafari","isChrome","isSafari2","getCommandKeyLabel","getScrollTop","get$scroll","getElsScroll","getOS","os","res","i","getOSAsync","platformVersion","_a","onResizeDelay","onResizeTimer","onResizeListeners","windowSize","addOnReize","listener","removeOnResize","onResize","e","callback","Events","options","state","Core","reactive","device","fileNames","useSync","cssFilesByOptions","filename","m","pc","key","promises","fileNames2","item","media","promise","fileName","request","id","resolve","reject","_resolve","_reject","elLink","style","type","elStyle","L","getDayOfWeek","y","d","dateToString","dateObject","langFormat","timeFormat","Y","H","s","date","dateFormat","stringToDate","genDate","timestamp","useFormat","time","genDateMoscow","ms","dateoffset","moscow_dateoffset","dateStr","dateMixed","dateFormat2","emptyValue","dateForObj","result","timeStr","dateUnformat","dateChunks","dateFormatChunks","index","props","__props","titleStatus","computed","_b","titleImage","tagName","model","useModel","_sfc_render","_ctx","_cache","emit","__emit","localValue","value","placeholder","clean","event","useNativeDatepicker","onInputLazy","_e","onUnmounted","$el","el","ref","oninput","onchange","dateFormatted","init","datepicker","value2","optionByValue","option","genOption","children","subOption","subIndex","flatOptionByValue","title","watch","optionIcon","selectNextValue","listEnabledValues","nextIndex","TopAvatar","Avatar","TopButton","TopButton$1","TopCheckbox","Checkbox","TopControlLabel","ControlLabel","TopHint","Hint","TopInput","TopInput$1","TopInputDate","InputDate","TopInputRange","InputRange","TopRadio","Radio","TopSwitcher","Switcher","TopTextarea","Textarea","TopSelect","Select","TopLoadbar","TopLoadbar$1"],"mappings":"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"}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
define(["require","exports","vue"],function(F,p,e){"use strict";var H;if(typeof e>"u")var e=window.Vue;function E(){return"devicePixelRatio"in window&&window.devicePixelRatio>1}function C(){return!!navigator.userAgent.match(/Android|BlackBerry|iPhone|iPad|iPod|IEMobile|Opera Mini/i)}function W(){return navigator.userAgent.indexOf("Topvisor_App")!=-1}function D(){return navigator.userAgent.indexOf("Mac OS X")!==-1}function U(){const o=/Chrome|Android/.test(navigator.userAgent);let s=/Safari/.test(navigator.userAgent);return o&&s&&(s=!1),s}function X(){return D()?"⌘":"Ctrl"}const Y=()=>$(document).scrollTop(),q=()=>$(document),K=()=>[document],L=()=>{const o=[["iOS",/(iPhone|iPad)/i],["Android",/(Android)/i],["Windows Phone",/(IEMobile)/i],["Windows 3.11",/Win16/i],["Windows 95",/(Windows 95)|(Win95)|(Windows_95)/i],["Windows 98",/(Windows 98)|(Win98)/i],["Windows 2000",/(Windows NT 5.0)|(Windows 2000)/i],["Windows XP",/(Windows NT 5.1)|(Windows XP)/i],["Windows Server 2003",/(Windows NT 5.2)/i],["Windows Vista",/(Windows NT 6.0)/i],["Windows 7",/(Windows NT 6.1)/i],["Windows 8",/(Windows NT 6.[23])|(Windows 8)/i],["Windows 10",/(Windows NT 10)/i],["Windows NT 4.0",/(Windows NT 4.0)|(WinNT4.0)|(WinNT)|(Windows NT)/i],["Windows ME",/Windows ME/i],["Windows",/Windows/i],["Open BSD",/OpenBSD/i],["Sun OS",/SunOS/i],["Linux",/(Linux)|(X11)/i],["Macintosh",/(Mac_PowerPC)|(Macintosh)|(Mac OS X 10.4)|(Mac OS X 10.5)|(Mac OS X 10.6)/i],["QNX",/QNX/i],["BeOS",/BeOS/i],["OS/2",/OS\/2/i]];let s="";for(let n=0;n<o.length;n++)if(o[n][1].test(navigator.userAgent)){s=o[n][0];break}return s},G=async()=>{var s;let o=L();if(o==="Windows 10"){const n=await((s=navigator==null?void 0:navigator.userAgentData)==null?void 0:s.getHighEntropyValues(["platformVersion"]));n&&n.platformVersion>="13"&&(o="Windows 11")}return o},Q=100;let z;const B=new Map,v={width:window.innerWidth,height:window.innerHeight};function J(o){B.set(o,o)}function Z(o){B.delete(o)}function j(o){clearTimeout(z),z=setTimeout(function(){o.topEvent={widthDiff:v.width-window.innerWidth,hightDiff:v.height-window.innerHeight},v.width=window.innerWidth,v.height=window.innerHeight,B.forEach(s=>s(o))},Q)}window.addEventListener("resize",j);const N={addOnReize:J,removeOnResize:Z},M={widthForMobile:900,dateFormat:"Y-m-d",currency:"USD",gmt:(H=new Date().toString().match(/GMT(\S+)/))==null?void 0:H[1]},x={dateFormat:M.dateFormat,currency:M.currency,gmt:M.gmt,isMobile:!1,isMobileUA:!1,isRetina:!1,isApp:!1,isLandscape:!0,isPortrait:!1,size:0};class m{static L=e.reactive({Not_date:"Not date"});static state=e.reactive({...x});static widthForMobile=900;static matchMediaIsMobile;static $=window.$;static _setState(){m.matchMediaIsMobile=window.matchMedia(`(max-width: ${m.widthForMobile}px)`),m.state.isMobileUA=C(),m.state.isRetina=E(),m.state.isApp=W(),m.setStateByWindowSize(),N.addOnReize(m.onResize),m.onResize(),m.saveToCookie()}static onResize(){m.setStateByWindowSize(),document.documentElement.style.setProperty("--100vh",window.innerHeight+"px")}static setStateByWindowSize(){var s;m.state.isMobile=!!((s=m.matchMediaIsMobile)!=null&&s.matches),m.state.isLandscape=window.innerWidth>window.innerHeight,m.state.isPortrait=!m.state.isLandscape,m.state.size=window.innerWidth>window.innerHeight?window.innerWidth:window.innerHeight,m.saveToCookie()}static saveToCookie(){const s=[1,window.innerWidth,window.innerHeight,window.devicePixelRatio,Number(m.state.isMobile),Number(m.state.isRetina)];document.cookie="device="+s.join(",")+"; path=/;"}static isHidden=()=>document.hidden;static insertCSSLinkToPage=(s,n=!1)=>{const i=new Map;i.set("::",[]),s.forEach(t=>{let c=!1,l=!1;t.match(/\.m\./)&&(c=!0),t.match(/\.pc\./)&&(l=!0);const f=`${c}:${l}`;i.has(f)||i.set(`${c}:${l}`,[]),i.get(`${c}:${l}`).push(t)});const a=[];return i.forEach((t,c)=>{if(!t.length)return;const[l,f]=c.split(":").map(u=>u==="true");let r="all";l&&(r="(max-width: "+m.widthForMobile+"px)"),f&&(r="(min-width: "+m.widthForMobile+"px)"),m._insertToPage(t,r,n).forEach(u=>a.push(u))}),Promise.all(a)};static _insertToPage=(s,n,i)=>{const a=[];return s.forEach(t=>{if(i){const u=new XMLHttpRequest;u.open("GET",t,!1),u.send()}const c="topCSSLink-"+t.replace(/\W/g,"-");if(window.hasOwnProperty(c))return;let l,f;const r=new Promise((u,h)=>{l=u,f=h});a.push(r);const d=document.createElement("link");d.id=c,d.rel="stylesheet",d.media=n,d.href=t,d.onload=()=>l(),d.onerror=()=>f(),document.head.append(d)}),a};static insertStyleToPage=(s,n="")=>{let i="all";n==="m"&&(i="(max-width: "+m.widthForMobile+"px)"),n==="pc"&&(i="(min-width: "+m.widthForMobile+"px)");const a=document.createElement("style");a.innerHTML=s,a.media=i,document.head.append(a)}}const w=window.L??{},ee=(o,s,n)=>{switch(new Date(o,s,n).getDay()){case 0:return w.Vs+".";case 1:return w.Pn+".";case 2:return w.Vt+".";case 3:return w.Sr+".";case 4:return w.Ct+".";case 5:return w.Pt+".";case 6:return w.Sb+".";default:return""}},te=(o,s=!0,n=2)=>{let i=String(o.getFullYear()),a=String(o.getDate()).padStart(2,"0"),t=String(o.getMonth()+1).padStart(2,"0"),c=String(o.getHours()).padStart(2,"0"),l=String(o.getMinutes()).padStart(2,"0"),f=String(o.getSeconds()).padStart(2,"0"),r=i+"-"+t+"-"+a;return n>=1&&(r+=" "+c),n>=2&&(r+=":"+l),n===3&&(r+=":"+f),s&&(r=y(r,n)),r};function oe(o){return o.indexOf("T")===-1&&(o.length==10&&(o+=" 00:00:00"),o=o.replace(" ","T")+m.state.gmt),new Date(o)}function P(o,s=!0,n=0){let i;o!=null?i=new Date(o):i=new Date;const a=i.getFullYear(),t=String(i.getMonth()+1).padStart(2,"0"),c=i.getDate().toString().padStart(2,"0"),l=i.getHours().toString().padStart(2,"0"),f=i.getMinutes().toString().padStart(2,"0"),r=i.getSeconds().toString().padStart(2,"0");return i=a+"-"+t+"-"+c,n&&(i+=" "),n>=1&&(i+=l),n>=2&&(i+=":"+f),n>=3&&(i+=":"+r),s&&(i=y(i,n)),i}function ne(o,s=!0){const i=new Date().getTimezoneOffset()/60*-1*60*60*1e3,a=3*60*60*1e3;let t;o!==void 0?t=new Date(o):t=new Date,t.setTime(t.getTime()-i+a);let c=String(t.getFullYear()),l=String(t.getDate()).padStart(2,"0"),f=String(t.getMonth()+1).padStart(2,"0"),r=String(t.getHours()).padStart(2,"0"),d=String(t.getMinutes()).padStart(2,"0"),u=String(t.getSeconds()).padStart(2,"0"),h=c+"-"+f+"-"+l+" "+r+":"+d+":"+u;return s&&(h=y(h)),h}function y(o,s=2,n,i=m.L.Not_date){if(typeof o=="string"&&(!o||o.substring(0,10)==="0000-00-00")&&i&&i!=="0000-00-00"||!o)return i;n||(n=m.state.dateFormat),n=n.toLowerCase().replace("m","mm").replace("y","yy").replace("d","dd");let a;if(o instanceof Date)a=o;else{let c=o.substring(0,10);if(c.length===7&&(c+="-01"),c+=" 00:00",c=c.replace(/-/g,"/"),a=new Date(c),isNaN(Number(a)))return i}let t="";if(n&&window.$&&(t=$.datepicker.formatDate(n,a)),s&&typeof o=="string"&&o.length>10||s&&o instanceof Date){let c="";if(o instanceof Date)c=new Date().toLocaleTimeString("en-US",{hour12:!1,hour:"numeric",minute:s>=2?"numeric":void 0,second:s>=3?"numeric":void 0});else switch(s){case 1:c=o.substring(11,13);break;case 2:c=o.substring(11,16);break;case 3:c=o.substring(11,19);break}t+=" "+c}return t=t.trim(),t}function T(o,s=m.L.Not_date){if(!o)return s;if(o.match(/\d\d\d\d-\d\d-\d\d/))return o;const n=m.state.dateFormat.toLowerCase(),i=o.split(/\W/),a=n.split(/\W/);let t="",c="",l="";a.forEach((r,d)=>{switch(r){case"d":t=i[d];break;case"m":c=i[d];break;case"y":l=i[d];break}});let f=l+"-"+c+"-"+t;return f.match(/\d\d\d\d-\d\d-\d\d/)||(console.info("Неверный формат даты, будет возращена текущая дата, "+f),f=P(new Date().getTime(),!1).substring(0,10)),f}const ae={class:"top-avatar"},se=["src","title"],ie=["title"],le=e.defineComponent({__name:"avatar",props:{size:{default:64},image:{},nickname:{},isOnline:{type:Boolean},lastActiveTime:{},i18n:{default:()=>({Online:"Online",LastSeen:"Last seen"})}},setup(o){e.useCssVars(a=>({"
|
|
2
|
-
${n.value}`:""):n.value);return(a,t)=>(e.openBlock(),e.createElementBlock("div",ae,[e.createElementVNode("img",{class:"top-avatar_image",src:a.image,title:i.value,alt:""},null,8,se),a.isOnline?(e.openBlock(),e.createElementBlock("div",{key:0,class:"top-avatar_status",title:n.value},null,8,ie)):e.createCommentVNode("",!0)]))}}),re={"top-avatar":"top-avatar","top-avatar_image":"top-avatar_image","top-avatar_status":"top-avatar_status"},b=(o,s)=>{const n=o.__vccOpts||o;for(const[i,a]of s)n[i]=a;return n},de=b(le,[["__cssModules",{$style:re}]]),ce={key:0,class:"top-ellipsis"},A=b(e.defineComponent({__name:"button",props:{color:{default:"blue"},styling:{default:""},size:{default:"s"},name:{},title:{},icon:{},icon2:{},href:{},disabled:{type:Boolean},isSubmit:{type:Boolean},isActive:{type:Boolean},isProgress:{type:Boolean}},setup(o){const s=o,n=e.computed(()=>s.href?"a":"button"),i=e.computed(()=>s.isSubmit?"submit":void 0);return(a,t)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(n.value),{class:e.normalizeClass({"top-active":a.isActive,"top-disabled":a.disabled,"top-forms-focusable":!a.disabled,"top-button":!0,"top-button-progress":a.isProgress,[`top-size_${a.size}`]:!!a.size,[`top-color_${a.color}`]:!0,[`top-style_${a.styling}`]:!!a.styling,"top-button-withoutText":!a.$slots.default}),name:a.name,title:a.title,href:a.href,type:i.value,"data-top-icon":a.icon||void 0,"data-top-icon2":a.icon2||void 0,disabled:a.disabled||void 0,inProgress:a.isProgress},{default:e.withCtx(()=>[a.$slots.default?(e.openBlock(),e.createElementBlock("span",ce,[e.renderSlot(a.$slots,"default",{},()=>[e.createTextVNode(e.toDisplayString(a.icon?"":"Button"),1)])])):e.createCommentVNode("",!0),e.renderSlot(a.$slots,"html")]),_:3},8,["class","name","title","href","type","data-top-icon","data-top-icon2","disabled","inProgress"]))}}),[["__cssModules",{$style:{"top-button":"top-button","top-active":"top-active","top-button-progress":"top-button-progress",progress:"_progress_1f1nw_1","top-button-withoutText":"top-button-withoutText","top-color_blue":"top-color_blue","top-color_green":"top-color_green","top-color_orange":"top-color_orange","top-color_red":"top-color_red","top-color_pink":"top-color_pink","top-color_theme":"top-color_theme","top-style_outline":"top-style_outline","top-style_soft":"top-style_soft","top-style_transparent":"top-style_transparent","top-size_l":"top-size_l","top-size_xl":"top-size_xl"}}]]),pe={class:"top-forms-optionLabel"},k=b(e.defineComponent({__name:"controlLabel",props:{description:{},disabled:{type:Boolean}},setup(o){return(s,n)=>(e.openBlock(),e.createElementBlock("div",pe,[e.createElementVNode("div",{class:e.normalizeClass({"top-forms-optionLabel_title":!0,"top-forms-optionLabel_title-disabled":s.disabled})},[e.renderSlot(s.$slots,"default")],2),s.description?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(["top-forms-optionLabel_description",{"top-forms-optionLabel_description-disabled":s.disabled}])},e.toDisplayString(s.description),3)):e.createCommentVNode("",!0)]))}}),[["__cssModules",{$style:{"top-forms-optionLabel":"top-forms-optionLabel","top-forms-optionLabel_title":"top-forms-optionLabel_title","top-forms-optionLabel_title-disabled":"top-forms-optionLabel_title-disabled","top-forms-optionLabel_description":"top-forms-optionLabel_description","top-forms-optionLabel_description-disabled":"top-forms-optionLabel_description-disabled"}}]]),ue=["name","value","indeterminate","disabled"],me=b(e.defineComponent({__name:"checkbox",props:e.mergeModels({modelValue:{type:[Boolean,Array,Set]},name:{},value:{},description:{},disabled:{type:Boolean},indeterminate:{type:Boolean},isError:{type:Boolean}},{modelValue:{type:[Boolean,Array,Set]},modelModifiers:{}}),emits:["update:modelValue"],setup(o){const s=e.useModel(o,"modelValue");return(n,i)=>(e.openBlock(),e.createElementBlock("label",{class:e.normalizeClass({"top-forms-optionWrapper":!0,"top-checkbox":!0,["top-checkbox_"+n.name]:!!n.name,"top-disabled":n.disabled,"top-error":n.isError&&!n.disabled})},[e.withDirectives(e.createElementVNode("input",{type:"checkbox",class:e.normalizeClass({"top-forms-focusable":!n.disabled,"top-forms-option":!0,"top-checkbox_input":!0,"top-error":n.isError&&!n.disabled}),name:n.name,"onUpdate:modelValue":i[0]||(i[0]=a=>s.value=a),value:n.value,indeterminate:n.indeterminate,disabled:n.disabled},null,10,ue),[[e.vModelCheckbox,s.value]]),n.$slots.default?(e.openBlock(),e.createBlock(k,{key:0,description:n.description,disabled:n.disabled},{default:e.withCtx(()=>[e.renderSlot(n.$slots,"default")]),_:3},8,["description","disabled"])):e.createCommentVNode("",!0)],2))}}),[["__cssModules",{$style:{"top-checkbox":"top-checkbox","top-checkbox_input":"top-checkbox_input","top-error":"top-error"}}]]),fe=["title"],R=b(e.defineComponent({__name:"hint",props:{hint:{}},setup(o){return(s,n)=>(e.openBlock(),e.createElementBlock("span",{class:"top-hint","data-top-icon":"",title:s.hint},null,8,fe))}}),[["__cssModules",{$style:{"top-hint":"top-hint"}}]]),he={"top-loadbar":"top-loadbar"},be={},ge={class:"top-loadbar"};function we(o,s){return e.openBlock(),e.createElementBlock("div",ge)}const V=b(be,[["render",we],["__cssModules",{$style:he}]]),ye=["data-top-icon","data-top-icon2"],ve=["name","title","placeholder","disabled","readonly"],ke={key:2,class:"top-formsCaption"},S=b(e.defineComponent({inheritAttrs:!1,__name:"input",props:{modelValue:{},name:{},disabled:{type:Boolean},readonly:{type:Boolean},modificator:{},size:{default:"s"},isError:{type:Boolean},isLoading:{type:Boolean},icon:{},icon2:{},addCleaner:{type:Boolean},title:{},captionType:{default:""}},emits:["update:modelValue"],setup(o,{emit:s}){const n=o,i=s,a=e.computed({get(){return n.modelValue},set(l){i("update:modelValue",l)}}),t=e.computed(()=>n.addCleaner&&!n.title||n.captionType!==""?"":n.title),c=l=>{n.modelValue&&l.stopPropagation(),i("update:modelValue","")};return(l,f)=>(e.openBlock(),e.createElementBlock("label",{class:e.normalizeClass({"top-input":!0,["top-size_"+l.size]:!0,"top-disabled":l.disabled,["top-input-"+l.modificator]:!!l.modificator,"top-input-withCleaner":l.addCleaner&&a.value&&a.value!=="0000-00-00","top-formsCaptionWrapper":l.captionType!=="","top-formsCaptionWrapper-always":l.captionType==="top"}),"data-top-icon":l.icon,"data-top-icon2":l.icon2},[l.isLoading?(e.openBlock(),e.createBlock(V,{key:0})):e.createCommentVNode("",!0),e.withDirectives(e.createElementVNode("input",e.mergeProps({type:"text",class:{"top-input_input":!0,["top-input_input-"+l.modificator]:!!l.modificator,"top-forms-focusable":!l.disabled,"top-error":l.isError},autocomplete:"off_always",name:l.name,"onUpdate:modelValue":f[0]||(f[0]=r=>a.value=r),title:l.title,placeholder:t.value,disabled:l.disabled,readonly:l.readonly,onKeydown:f[1]||(f[1]=e.withKeys(r=>(l.addCleaner||!!l.$slots.btn)&&c(r),["esc"]))},l.$attrs),null,16,ve),[[e.vModelText,a.value]]),l.addCleaner&&a.value&&a.value!=="0000-00-00"?(e.openBlock(),e.createElementBlock("span",{key:1,class:"top-input_cleaner","data-top-icon":"",onClick:e.withModifiers(c,["prevent"])})):e.createCommentVNode("",!0),l.captionType!==""?(e.openBlock(),e.createElementBlock("span",ke,e.toDisplayString(l.title),1)):e.createCommentVNode("",!0),e.renderSlot(l.$slots,"default")],10,ye))}}),[["__cssModules",{$style:{"top-input":"top-input","top-input_input":"top-input_input","top-input-withCleaner":"top-input-withCleaner","top-input_cleaner":"top-input_cleaner","top-loadbar":"top-loadbar"}}]]),$e=["modelValue"],Se=!!document.documentElement.ontouchstart&&!!document.createElement("input").showPicker;let O=o=>{};const _e=b(e.defineComponent({__name:"inputDate",props:{modelValue:{},name:{},disabled:{type:Boolean},readonly:{type:Boolean},modificator:{},size:{},isError:{type:Boolean},isLoading:{type:Boolean},icon:{},icon2:{default:""},addCleaner:{type:Boolean},title:{},captionType:{}},emits:["update:modelValue"],setup(o,{emit:s}){const n=o,i=s;e.onUnmounted(()=>{t&&t.datepicker("destroy")});const a=e.ref();let t;const c=e.computed({get(){return y(n.modelValue,2,void 0,"0000-00-00")},set(d){d=T(d,"0000-00-00"),i("update:modelValue",d)}});let l=d=>{O(d)},f=d=>{const u=T(d.target.value),h=y(u);if(!h||h===m.L.Not_date||d.target.value!==h){d.target.value=c.value;return}c.value=d.target.value};async function r(d){const u=await new Promise((h,g)=>F(["./datepicker-D_95vv2c.amd"],h,g));O=u.oninput,t=u.connectDatepicker(d.target,{onSelect:()=>f(d)}),t&&t.datepicker("show")}return(d,u)=>e.unref(Se)?(e.openBlock(),e.createBlock(S,e.mergeProps({key:0},d.$props,{modelValue:c.value,readonly:"",onClick:u[1]||(u[1]=h=>a.value.showPicker())}),{default:e.withCtx(()=>[e.createElementVNode("input",{ref_key:"el",ref:a,type:"date",class:"top-input_input-date",modelValue:d.modelValue,onChange:u[0]||(u[0]=h=>c.value=h.target.value),tabindex:"-1"},null,40,$e)]),_:1},16,["modelValue"])):(e.openBlock(),e.createBlock(S,e.mergeProps({key:1},d.$props,{modelValue:c.value,"onUpdate:modelValue":u[2]||(u[2]=h=>h===""?c.value="":""),onInput:e.unref(l),onFocusOnce:r,onChange:e.unref(f),modificator:"datepicker"}),null,16,["modelValue","onInput","onChange"]))}}),[["__cssModules",{$style:{"top-input-datepicker":"top-input-datepicker","top-input_input-date":"top-input_input-date"}}]]),Be={class:"top-inputRange"},Me=e.createElementVNode("span",{class:"top-inputRange_dash"}," — ",-1),Te=b(e.defineComponent({__name:"inputRange",setup(o){return(s,n)=>(e.openBlock(),e.createElementBlock("div",Be,[e.renderSlot(s.$slots,"from"),Me,e.renderSlot(s.$slots,"to")]))}}),[["__cssModules",{$style:{"top-inputRange":"top-inputRange","top-inputRange_dash":"top-inputRange_dash","top-input":"top-input"}}]]),Ve=["name","value","disabled"],Ee=b(e.defineComponent({__name:"radio",props:{modelValue:{},value:{},name:{},description:{},disabled:{type:Boolean},isError:{type:Boolean}},emits:["update:modelValue"],setup(o,{emit:s}){const n=o,i=s,a=e.computed({get(){return n.modelValue},set(t){i("update:modelValue",t)}});return(t,c)=>(e.openBlock(),e.createElementBlock("label",{class:e.normalizeClass({"top-forms-optionWrapper":!0,"top-radio":!0,["top-radio_"+t.name]:t.name!=="","top-disabled":t.disabled,"top-error":t.isError&&!t.disabled})},[e.withDirectives(e.createElementVNode("input",{type:"radio",class:e.normalizeClass({"top-forms-focusable":!t.disabled,"top-forms-option":!0,"top-radio_input":!0,"top-error":t.isError&&!t.disabled}),"onUpdate:modelValue":c[0]||(c[0]=l=>a.value=l),name:t.name,value:t.value,disabled:t.disabled},null,10,Ve),[[e.vModelRadio,a.value]]),t.$slots.default?(e.openBlock(),e.createBlock(k,{key:0,description:t.description,disabled:t.disabled},{default:e.withCtx(()=>[e.renderSlot(t.$slots,"default")]),_:3},8,["description","disabled"])):e.createCommentVNode("",!0)],2))}}),[["__cssModules",{$style:{"top-radio":"top-radio","top-radio_input":"top-radio_input","top-error":"top-error"}}]]),Ce=["name","value","disabled"],We=b(e.defineComponent({__name:"switcher",props:{modelValue:{type:[Boolean,Array,Set]},name:{},value:{},description:{},disabled:{type:Boolean},isError:{type:Boolean}},emits:["update:modelValue"],setup(o,{emit:s}){const n=o,i=s,a=e.computed({get(){return n.modelValue},set(t){i("update:modelValue",t)}});return(t,c)=>(e.openBlock(),e.createElementBlock("label",{class:e.normalizeClass({"top-forms-optionWrapper":!0,"top-checkboxSwitcher":!0,"top-disabled":t.disabled,"top-error":t.isError&&!t.disabled})},[e.withDirectives(e.createElementVNode("input",{type:"checkbox",class:e.normalizeClass({"top-forms-focusable":!t.disabled,"top-forms-option":!0,"top-checkboxSwitcher_input":!0,"top-error":t.isError&&!t.disabled}),"onUpdate:modelValue":c[0]||(c[0]=l=>a.value=l),name:t.name,value:t.value,disabled:t.disabled},null,10,Ce),[[e.vModelCheckbox,a.value]]),t.$slots.default?(e.openBlock(),e.createBlock(k,{key:0,description:t.description,disabled:t.disabled},{default:e.withCtx(()=>[e.renderSlot(t.$slots,"default")]),_:3},8,["description","disabled"])):e.createCommentVNode("",!0)],2))}}),[["__cssModules",{$style:{"top-checkboxSwitcher":"top-checkboxSwitcher","top-checkboxSwitcher_input":"top-checkboxSwitcher_input","top-error":"top-error"}}]]),De=["name","placeholder","disabled","readonly","rows"],Le={key:0,class:"top-textarea_pseudoContent"},I=b(e.defineComponent({inheritAttrs:!1,__name:"textarea",props:{modelValue:{},name:{},placeholder:{},rows:{default:5},minHeight:{default:120},expandable:{type:Boolean},disabled:{type:Boolean},readonly:{type:Boolean},isError:{type:Boolean},hint:{}},emits:["update:modelValue"],setup(o,{emit:s}){e.useCssVars(t=>({bb7a0c5c:t.minHeight+"px"}));const n=o,i=s,a=e.computed({get(){return n.modelValue},set(t){i("update:modelValue",t)}});return(t,c)=>{const l=e.resolveDirective("top-tooltip");return e.openBlock(),e.createElementBlock("label",{class:e.normalizeClass({"top-textarea":!0,["top-textarea-"+t.name]:t.name,"top-disabled":t.disabled})},[e.withDirectives(e.createElementVNode("textarea",e.mergeProps({type:"text",class:{"top-forms-focusable":!t.disabled,"top-textarea_textarea":!0,"top-textarea_textarea-expandable":t.expandable,"top-error":t.isError},autocomplete:"off_always",name:t.name,placeholder:t.placeholder,disabled:t.disabled,readonly:t.readonly,rows:t.expandable?void 0:t.rows},t.$attrs,{"onUpdate:modelValue":c[0]||(c[0]=f=>a.value=f)}),null,16,De),[[e.vModelText,a.value]]),t.expandable?(e.openBlock(),e.createElementBlock("div",Le,e.toDisplayString(a.value+" "),1)):e.createCommentVNode("",!0),t.hint?e.withDirectives((e.openBlock(),e.createBlock(R,{key:1,class:"top-textarea_hint",hint:t.hint},null,8,["hint"])),[[l]]):e.createCommentVNode("",!0)],2)}}}),[["__cssModules",{$style:{"top-textarea":"top-textarea","top-textarea_textarea":"top-textarea_textarea","top-textarea_textarea-expandable":"top-textarea_textarea-expandable","top-textarea_pseudoContent":"top-textarea_pseudoContent","top-textarea_hint":"top-textarea_hint"}}]]),ze=["data-value","data-top-icon","data-top-icon2"],Ne=["name","disabled"],Pe=["label","disabled"],Ae=["value","selected","disabled"],Re=["value","selected","disabled"],Oe={key:1,class:"top-formsCaption"},Ie=b(e.defineComponent({__name:"select",props:e.mergeModels({modelValue:{},options:{},name:{},disabled:{type:Boolean},icon:{},size:{default:"s"},addChanger:{type:Boolean},title:{},isError:{type:Boolean}},{modelValue:{required:!0},modelModifiers:{}}),emits:e.mergeModels(["update:modelValue"],["update:modelValue"]),setup(o,{emit:s}){const n=o,i=e.useModel(o,"modelValue"),a=e.computed(()=>{const r=new Map;return n.options.forEach((d,u)=>{if(typeof d=="string"&&(d=c(u,d)),d.children){const h=new Map;d.children.forEach((g,_)=>{typeof g=="string"&&(g=c(_,g)),h.set(g.value,g)}),d={...d},d.children=h,r.set(d.value,d)}else r.set(d.value,d)}),r}),t=e.computed(()=>{const r=new Map;return a.value.forEach(d=>{if(!d.disabled){if(d.children){d.children.forEach(u=>{u.disabled||r.set(u.value,u)});return}r.set(d.value,d)}}),r}),c=(r,d)=>({value:r,title:d});e.watch([()=>n.modelValue,t],()=>{(i.value===null||i.value===void 0)&&t.value.size&&(console.warn("Пожалуйста, не передавайте в компонент Select значения null и undefined"),i.value=t.value.keys().next().value)},{immediate:!0});const l=e.computed(()=>{var r;return(r=t.value.get(i.value))==null?void 0:r.icon}),f=()=>{const r=[...t.value.keys()],u=(r.indexOf(i.value)+1)%r.length;i.value=r[u]};return(r,d)=>(e.openBlock(),e.createElementBlock("label",{class:e.normalizeClass({"top-select":!0,["top-select-"+r.name]:r.name,["top-size_"+r.size]:!0,"top-formsCaptionWrapper":!!r.title,"top-select-error":r.isError,"top-disabled":r.disabled}),"data-value":i.value,"data-top-icon":r.icon,"data-top-icon2":l.value},[e.withDirectives(e.createElementVNode("select",{class:e.normalizeClass({"top-forms-focusable":!r.disabled,"top-select_select":!0,"top-select_arrow":!0,"top-error":r.isError}),name:r.name,disabled:r.disabled,"onUpdate:modelValue":d[0]||(d[0]=u=>i.value=u)},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(a.value,([u,h])=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[h.children?(e.openBlock(),e.createElementBlock("optgroup",{key:"group_"+u,label:h.title,disabled:h.disabled},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(h.children,([g,_])=>(e.openBlock(),e.createElementBlock("option",{key:g,value:g,selected:g===i.value,disabled:_.disabled},e.toDisplayString(_.title),9,Ae))),128))],8,Pe)):(e.openBlock(),e.createElementBlock("option",{key:u??void 0,value:u,selected:u===i.value,disabled:h.disabled},e.toDisplayString(h.title),9,Re))],64))),256))],10,Ne),[[e.vModelSelect,i.value]]),r.addChanger&&t.value.size&&!r.disabled?(e.openBlock(),e.createElementBlock("span",{key:0,class:"top-changer",onClick:f})):e.createCommentVNode("",!0),r.title?(e.openBlock(),e.createElementBlock("span",Oe,e.toDisplayString(r.title),1)):e.createCommentVNode("",!0)],10,ze))}}),[["__cssModules",{$style:{"top-select":"top-select","top-select-error":"top-select-error","top-select_select":"top-select_select","top-changer":"top-changer"}}]]),He=de,Fe=A,Ue=me,Xe=k,Ye=R,qe=S,Ke=_e,Ge=Te,Qe=Ee,Je=We,Ze=I,je=Ie,xe=V;p.Core=m,p.Events=N,p.Textarea=I,p.TopAvatar=He,p.TopButton=A,p.TopButton$1=Fe,p.TopCheckbox=Ue,p.TopControlLabel=Xe,p.TopHint=Ye,p.TopInput=S,p.TopInput$1=qe,p.TopInputDate=Ke,p.TopInputRange=Ge,p.TopLoadbar=xe,p.TopLoadbar$1=V,p.TopRadio=Qe,p.TopSelect=je,p.TopSwitcher=Je,p.TopTextarea=Ze,p._export_sfc=b,p.dateFormat=y,p.dateToString=te,p.dateUnformat=T,p.genDate=P,p.genDateMoscow=ne,p.get$scroll=q,p.getCommandKeyLabel=X,p.getDayOfWeek=ee,p.getElsScroll=K,p.getOS=L,p.getOSAsync=G,p.getScrollTop=Y,p.isApp=W,p.isMacOS=D,p.isMobile=C,p.isRetina=E,p.isSafari=U,p.stringToDate=oe});
|
|
3
|
-
//# sourceMappingURL=forms-
|
|
1
|
+
define(["require","exports","vue"],function(F,p,e){"use strict";var H;if(typeof e>"u")var e=window.Vue;function E(){return"devicePixelRatio"in window&&window.devicePixelRatio>1}function C(){return!!navigator.userAgent.match(/Android|BlackBerry|iPhone|iPad|iPod|IEMobile|Opera Mini/i)}function W(){return navigator.userAgent.indexOf("Topvisor_App")!=-1}function D(){return navigator.userAgent.indexOf("Mac OS X")!==-1}function U(){const o=/Chrome|Android/.test(navigator.userAgent);let s=/Safari/.test(navigator.userAgent);return o&&s&&(s=!1),s}function X(){return D()?"⌘":"Ctrl"}const Y=()=>$(document).scrollTop(),q=()=>$(document),K=()=>[document],L=()=>{const o=[["iOS",/(iPhone|iPad)/i],["Android",/(Android)/i],["Windows Phone",/(IEMobile)/i],["Windows 3.11",/Win16/i],["Windows 95",/(Windows 95)|(Win95)|(Windows_95)/i],["Windows 98",/(Windows 98)|(Win98)/i],["Windows 2000",/(Windows NT 5.0)|(Windows 2000)/i],["Windows XP",/(Windows NT 5.1)|(Windows XP)/i],["Windows Server 2003",/(Windows NT 5.2)/i],["Windows Vista",/(Windows NT 6.0)/i],["Windows 7",/(Windows NT 6.1)/i],["Windows 8",/(Windows NT 6.[23])|(Windows 8)/i],["Windows 10",/(Windows NT 10)/i],["Windows NT 4.0",/(Windows NT 4.0)|(WinNT4.0)|(WinNT)|(Windows NT)/i],["Windows ME",/Windows ME/i],["Windows",/Windows/i],["Open BSD",/OpenBSD/i],["Sun OS",/SunOS/i],["Linux",/(Linux)|(X11)/i],["Macintosh",/(Mac_PowerPC)|(Macintosh)|(Mac OS X 10.4)|(Mac OS X 10.5)|(Mac OS X 10.6)/i],["QNX",/QNX/i],["BeOS",/BeOS/i],["OS/2",/OS\/2/i]];let s="";for(let n=0;n<o.length;n++)if(o[n][1].test(navigator.userAgent)){s=o[n][0];break}return s},G=async()=>{var s;let o=L();if(o==="Windows 10"){const n=await((s=navigator==null?void 0:navigator.userAgentData)==null?void 0:s.getHighEntropyValues(["platformVersion"]));n&&n.platformVersion>="13"&&(o="Windows 11")}return o},Q=100;let z;const B=new Map,v={width:window.innerWidth,height:window.innerHeight};function J(o){B.set(o,o)}function Z(o){B.delete(o)}function j(o){clearTimeout(z),z=setTimeout(function(){o.topEvent={widthDiff:v.width-window.innerWidth,hightDiff:v.height-window.innerHeight},v.width=window.innerWidth,v.height=window.innerHeight,B.forEach(s=>s(o))},Q)}window.addEventListener("resize",j);const N={addOnReize:J,removeOnResize:Z},M={widthForMobile:900,dateFormat:"Y-m-d",currency:"USD",gmt:(H=new Date().toString().match(/GMT(\S+)/))==null?void 0:H[1]},x={dateFormat:M.dateFormat,currency:M.currency,gmt:M.gmt,isMobile:!1,isMobileUA:!1,isRetina:!1,isApp:!1,isLandscape:!0,isPortrait:!1,size:0};class m{static L=e.reactive({Not_date:"Not date"});static state=e.reactive({...x});static widthForMobile=900;static matchMediaIsMobile;static $=window.$;static _setState(){m.matchMediaIsMobile=window.matchMedia(`(max-width: ${m.widthForMobile}px)`),m.state.isMobileUA=C(),m.state.isRetina=E(),m.state.isApp=W(),m.setStateByWindowSize(),N.addOnReize(m.onResize),m.onResize(),m.saveToCookie()}static onResize(){m.setStateByWindowSize(),document.documentElement.style.setProperty("--100vh",window.innerHeight+"px")}static setStateByWindowSize(){var s;m.state.isMobile=!!((s=m.matchMediaIsMobile)!=null&&s.matches),m.state.isLandscape=window.innerWidth>window.innerHeight,m.state.isPortrait=!m.state.isLandscape,m.state.size=window.innerWidth>window.innerHeight?window.innerWidth:window.innerHeight,m.saveToCookie()}static saveToCookie(){const s=[1,window.innerWidth,window.innerHeight,window.devicePixelRatio,Number(m.state.isMobile),Number(m.state.isRetina)];document.cookie="device="+s.join(",")+"; path=/;"}static isHidden=()=>document.hidden;static insertCSSLinkToPage=(s,n=!1)=>{const i=new Map;i.set("::",[]),s.forEach(t=>{let c=!1,l=!1;t.match(/\.m\./)&&(c=!0),t.match(/\.pc\./)&&(l=!0);const f=`${c}:${l}`;i.has(f)||i.set(`${c}:${l}`,[]),i.get(`${c}:${l}`).push(t)});const a=[];return i.forEach((t,c)=>{if(!t.length)return;const[l,f]=c.split(":").map(u=>u==="true");let r="all";l&&(r="(max-width: "+m.widthForMobile+"px)"),f&&(r="(min-width: "+m.widthForMobile+"px)"),m._insertToPage(t,r,n).forEach(u=>a.push(u))}),Promise.all(a)};static _insertToPage=(s,n,i)=>{const a=[];return s.forEach(t=>{if(i){const u=new XMLHttpRequest;u.open("GET",t,!1),u.send()}const c="topCSSLink-"+t.replace(/\W/g,"-");if(window.hasOwnProperty(c))return;let l,f;const r=new Promise((u,h)=>{l=u,f=h});a.push(r);const d=document.createElement("link");d.id=c,d.rel="stylesheet",d.media=n,d.href=t,d.onload=()=>l(),d.onerror=()=>f(),document.head.append(d)}),a};static insertStyleToPage=(s,n="")=>{let i="all";n==="m"&&(i="(max-width: "+m.widthForMobile+"px)"),n==="pc"&&(i="(min-width: "+m.widthForMobile+"px)");const a=document.createElement("style");a.innerHTML=s,a.media=i,document.head.append(a)}}const w=window.L??{},ee=(o,s,n)=>{switch(new Date(o,s,n).getDay()){case 0:return w.Vs+".";case 1:return w.Pn+".";case 2:return w.Vt+".";case 3:return w.Sr+".";case 4:return w.Ct+".";case 5:return w.Pt+".";case 6:return w.Sb+".";default:return""}},te=(o,s=!0,n=2)=>{let i=String(o.getFullYear()),a=String(o.getDate()).padStart(2,"0"),t=String(o.getMonth()+1).padStart(2,"0"),c=String(o.getHours()).padStart(2,"0"),l=String(o.getMinutes()).padStart(2,"0"),f=String(o.getSeconds()).padStart(2,"0"),r=i+"-"+t+"-"+a;return n>=1&&(r+=" "+c),n>=2&&(r+=":"+l),n===3&&(r+=":"+f),s&&(r=y(r,n)),r};function oe(o){return o.indexOf("T")===-1&&(o.length==10&&(o+=" 00:00:00"),o=o.replace(" ","T")+m.state.gmt),new Date(o)}function P(o,s=!0,n=0){let i;o!=null?i=new Date(o):i=new Date;const a=i.getFullYear(),t=String(i.getMonth()+1).padStart(2,"0"),c=i.getDate().toString().padStart(2,"0"),l=i.getHours().toString().padStart(2,"0"),f=i.getMinutes().toString().padStart(2,"0"),r=i.getSeconds().toString().padStart(2,"0");return i=a+"-"+t+"-"+c,n&&(i+=" "),n>=1&&(i+=l),n>=2&&(i+=":"+f),n>=3&&(i+=":"+r),s&&(i=y(i,n)),i}function ne(o,s=!0){const i=new Date().getTimezoneOffset()/60*-1*60*60*1e3,a=3*60*60*1e3;let t;o!==void 0?t=new Date(o):t=new Date,t.setTime(t.getTime()-i+a);let c=String(t.getFullYear()),l=String(t.getDate()).padStart(2,"0"),f=String(t.getMonth()+1).padStart(2,"0"),r=String(t.getHours()).padStart(2,"0"),d=String(t.getMinutes()).padStart(2,"0"),u=String(t.getSeconds()).padStart(2,"0"),h=c+"-"+f+"-"+l+" "+r+":"+d+":"+u;return s&&(h=y(h)),h}function y(o,s=2,n,i=m.L.Not_date){if(typeof o=="string"&&(!o||o.substring(0,10)==="0000-00-00")&&i&&i!=="0000-00-00"||!o)return i;n||(n=m.state.dateFormat),n=n.toLowerCase().replace("m","mm").replace("y","yy").replace("d","dd");let a;if(o instanceof Date)a=o;else{let c=o.substring(0,10);if(c.length===7&&(c+="-01"),c+=" 00:00",c=c.replace(/-/g,"/"),a=new Date(c),isNaN(Number(a)))return i}let t="";if(n&&window.$&&(t=$.datepicker.formatDate(n,a)),s&&typeof o=="string"&&o.length>10||s&&o instanceof Date){let c="";if(o instanceof Date)c=new Date().toLocaleTimeString("en-US",{hour12:!1,hour:"numeric",minute:s>=2?"numeric":void 0,second:s>=3?"numeric":void 0});else switch(s){case 1:c=o.substring(11,13);break;case 2:c=o.substring(11,16);break;case 3:c=o.substring(11,19);break}t+=" "+c}return t=t.trim(),t}function T(o,s=m.L.Not_date){if(!o)return s;if(o.match(/\d\d\d\d-\d\d-\d\d/))return o;const n=m.state.dateFormat.toLowerCase(),i=o.split(/\W/),a=n.split(/\W/);let t="",c="",l="";a.forEach((r,d)=>{switch(r){case"d":t=i[d];break;case"m":c=i[d];break;case"y":l=i[d];break}});let f=l+"-"+c+"-"+t;return f.match(/\d\d\d\d-\d\d-\d\d/)||(console.info("Неверный формат даты, будет возращена текущая дата, "+f),f=P(new Date().getTime(),!1).substring(0,10)),f}const ae={class:"top-avatar"},se=["src","title"],ie=["title"],le=e.defineComponent({__name:"avatar",props:{size:{default:64},image:{},nickname:{},isOnline:{type:Boolean},lastActiveTime:{},i18n:{default:()=>({Online:"Online",LastSeen:"Last seen"})}},setup(o){e.useCssVars(a=>({"4926eb34":a.size+"px"}));const s=o,n=e.computed(()=>{var a,t;if(s.isOnline)return(a=s.i18n)==null?void 0:a.Online;if(s.lastActiveTime)return((t=s.i18n)==null?void 0:t.LastSeen)+": "+y(s.lastActiveTime,2)}),i=e.computed(()=>s.nickname?s.nickname+(n.value?`
|
|
2
|
+
${n.value}`:""):n.value);return(a,t)=>(e.openBlock(),e.createElementBlock("div",ae,[e.createElementVNode("img",{class:"top-avatar_image",src:a.image,title:i.value,alt:""},null,8,se),a.isOnline?(e.openBlock(),e.createElementBlock("div",{key:0,class:"top-avatar_status",title:n.value},null,8,ie)):e.createCommentVNode("",!0)]))}}),re={"top-avatar":"top-avatar","top-avatar_image":"top-avatar_image","top-avatar_status":"top-avatar_status"},b=(o,s)=>{const n=o.__vccOpts||o;for(const[i,a]of s)n[i]=a;return n},de=b(le,[["__cssModules",{$style:re}]]),ce={key:0,class:"top-ellipsis"},A=b(e.defineComponent({__name:"button",props:{color:{default:"blue"},styling:{default:""},size:{default:"s"},name:{},title:{},icon:{},icon2:{},href:{},disabled:{type:Boolean},isSubmit:{type:Boolean},isActive:{type:Boolean},isProgress:{type:Boolean}},setup(o){const s=o,n=e.computed(()=>s.href?"a":"button"),i=e.computed(()=>s.isSubmit?"submit":void 0);return(a,t)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(n.value),{class:e.normalizeClass({"top-active":a.isActive,"top-disabled":a.disabled,"top-forms-focusable":!a.disabled,"top-button":!0,"top-button-progress":a.isProgress,[`top-size_${a.size}`]:!!a.size,[`top-color_${a.color}`]:!0,[`top-style_${a.styling}`]:!!a.styling,"top-button-withoutText":!a.$slots.default}),name:a.name,title:a.title,href:a.href,type:i.value,"data-top-icon":a.icon||void 0,"data-top-icon2":a.icon2||void 0,disabled:a.disabled||void 0,inProgress:a.isProgress},{default:e.withCtx(()=>[a.$slots.default?(e.openBlock(),e.createElementBlock("span",ce,[e.renderSlot(a.$slots,"default",{},()=>[e.createTextVNode(e.toDisplayString(a.icon?"":"Button"),1)])])):e.createCommentVNode("",!0),e.renderSlot(a.$slots,"html")]),_:3},8,["class","name","title","href","type","data-top-icon","data-top-icon2","disabled","inProgress"]))}}),[["__cssModules",{$style:{"top-button":"top-button","top-active":"top-active","top-button-progress":"top-button-progress",progress:"_progress_1f1nw_1","top-button-withoutText":"top-button-withoutText","top-color_blue":"top-color_blue","top-color_green":"top-color_green","top-color_orange":"top-color_orange","top-color_red":"top-color_red","top-color_pink":"top-color_pink","top-color_theme":"top-color_theme","top-style_outline":"top-style_outline","top-style_soft":"top-style_soft","top-style_transparent":"top-style_transparent","top-size_l":"top-size_l","top-size_xl":"top-size_xl"}}]]),pe={class:"top-forms-optionLabel"},k=b(e.defineComponent({__name:"controlLabel",props:{description:{},disabled:{type:Boolean}},setup(o){return(s,n)=>(e.openBlock(),e.createElementBlock("div",pe,[e.createElementVNode("div",{class:e.normalizeClass({"top-forms-optionLabel_title":!0,"top-forms-optionLabel_title-disabled":s.disabled})},[e.renderSlot(s.$slots,"default")],2),s.description?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(["top-forms-optionLabel_description",{"top-forms-optionLabel_description-disabled":s.disabled}])},e.toDisplayString(s.description),3)):e.createCommentVNode("",!0)]))}}),[["__cssModules",{$style:{"top-forms-optionLabel":"top-forms-optionLabel","top-forms-optionLabel_title":"top-forms-optionLabel_title","top-forms-optionLabel_title-disabled":"top-forms-optionLabel_title-disabled","top-forms-optionLabel_description":"top-forms-optionLabel_description","top-forms-optionLabel_description-disabled":"top-forms-optionLabel_description-disabled"}}]]),ue=["name","value","indeterminate","disabled"],me=b(e.defineComponent({__name:"checkbox",props:e.mergeModels({modelValue:{type:[Boolean,Array,Set]},name:{},value:{},description:{},disabled:{type:Boolean},indeterminate:{type:Boolean},isError:{type:Boolean}},{modelValue:{type:[Boolean,Array,Set]},modelModifiers:{}}),emits:["update:modelValue"],setup(o){const s=e.useModel(o,"modelValue");return(n,i)=>(e.openBlock(),e.createElementBlock("label",{class:e.normalizeClass({"top-forms-optionWrapper":!0,"top-checkbox":!0,["top-checkbox_"+n.name]:!!n.name,"top-disabled":n.disabled,"top-error":n.isError&&!n.disabled})},[e.withDirectives(e.createElementVNode("input",{type:"checkbox",class:e.normalizeClass({"top-forms-focusable":!n.disabled,"top-forms-option":!0,"top-checkbox_input":!0,"top-error":n.isError&&!n.disabled}),name:n.name,"onUpdate:modelValue":i[0]||(i[0]=a=>s.value=a),value:n.value,indeterminate:n.indeterminate,disabled:n.disabled},null,10,ue),[[e.vModelCheckbox,s.value]]),n.$slots.default?(e.openBlock(),e.createBlock(k,{key:0,description:n.description,disabled:n.disabled},{default:e.withCtx(()=>[e.renderSlot(n.$slots,"default")]),_:3},8,["description","disabled"])):e.createCommentVNode("",!0)],2))}}),[["__cssModules",{$style:{"top-checkbox":"top-checkbox","top-checkbox_input":"top-checkbox_input","top-error":"top-error"}}]]),fe=["title"],R=b(e.defineComponent({__name:"hint",props:{hint:{}},setup(o){return(s,n)=>(e.openBlock(),e.createElementBlock("span",{class:"top-hint","data-top-icon":"",title:s.hint},null,8,fe))}}),[["__cssModules",{$style:{"top-hint":"top-hint"}}]]),he={"top-loadbar":"top-loadbar"},be={},ge={class:"top-loadbar"};function we(o,s){return e.openBlock(),e.createElementBlock("div",ge)}const V=b(be,[["render",we],["__cssModules",{$style:he}]]),ye=["data-top-icon","data-top-icon2"],ve=["name","title","placeholder","disabled","readonly"],ke={key:2,class:"top-formsCaption"},S=b(e.defineComponent({inheritAttrs:!1,__name:"input",props:{modelValue:{},name:{},disabled:{type:Boolean},readonly:{type:Boolean},modificator:{},size:{default:"s"},isError:{type:Boolean},isLoading:{type:Boolean},icon:{},icon2:{},addCleaner:{type:Boolean},title:{},captionType:{default:""}},emits:["update:modelValue"],setup(o,{emit:s}){const n=o,i=s,a=e.computed({get(){return n.modelValue},set(l){i("update:modelValue",l)}}),t=e.computed(()=>n.addCleaner&&!n.title||n.captionType!==""?"":n.title),c=l=>{n.modelValue&&l.stopPropagation(),i("update:modelValue","")};return(l,f)=>(e.openBlock(),e.createElementBlock("label",{class:e.normalizeClass({"top-input":!0,["top-size_"+l.size]:!0,"top-disabled":l.disabled,["top-input-"+l.modificator]:!!l.modificator,"top-input-withCleaner":l.addCleaner&&a.value&&a.value!=="0000-00-00","top-formsCaptionWrapper":l.captionType!=="","top-formsCaptionWrapper-always":l.captionType==="top"}),"data-top-icon":l.icon,"data-top-icon2":l.icon2},[l.isLoading?(e.openBlock(),e.createBlock(V,{key:0})):e.createCommentVNode("",!0),e.withDirectives(e.createElementVNode("input",e.mergeProps({type:"text",class:{"top-input_input":!0,["top-input_input-"+l.modificator]:!!l.modificator,"top-forms-focusable":!l.disabled,"top-error":l.isError},autocomplete:"off_always",name:l.name,"onUpdate:modelValue":f[0]||(f[0]=r=>a.value=r),title:l.title,placeholder:t.value,disabled:l.disabled,readonly:l.readonly,onKeydown:f[1]||(f[1]=e.withKeys(r=>(l.addCleaner||!!l.$slots.btn)&&c(r),["esc"]))},l.$attrs),null,16,ve),[[e.vModelText,a.value]]),l.addCleaner&&a.value&&a.value!=="0000-00-00"?(e.openBlock(),e.createElementBlock("span",{key:1,class:"top-input_cleaner","data-top-icon":"",onClick:e.withModifiers(c,["prevent"])})):e.createCommentVNode("",!0),l.captionType!==""?(e.openBlock(),e.createElementBlock("span",ke,e.toDisplayString(l.title),1)):e.createCommentVNode("",!0),e.renderSlot(l.$slots,"default")],10,ye))}}),[["__cssModules",{$style:{"top-input":"top-input","top-input_input":"top-input_input","top-input-withCleaner":"top-input-withCleaner","top-input_cleaner":"top-input_cleaner","top-loadbar":"top-loadbar"}}]]),$e=["modelValue"],Se=!!document.documentElement.ontouchstart&&!!document.createElement("input").showPicker;let O=o=>{};const _e=b(e.defineComponent({__name:"inputDate",props:{modelValue:{},name:{},disabled:{type:Boolean},readonly:{type:Boolean},modificator:{},size:{},isError:{type:Boolean},isLoading:{type:Boolean},icon:{},icon2:{default:""},addCleaner:{type:Boolean},title:{},captionType:{}},emits:["update:modelValue"],setup(o,{emit:s}){const n=o,i=s;e.onUnmounted(()=>{t&&t.datepicker("destroy")});const a=e.ref();let t;const c=e.computed({get(){return y(n.modelValue,2,void 0,"0000-00-00")},set(d){d=T(d,"0000-00-00"),i("update:modelValue",d)}});let l=d=>{O(d)},f=d=>{const u=T(d.target.value),h=y(u);if(!h||h===m.L.Not_date||d.target.value!==h){d.target.value=c.value;return}c.value=d.target.value};async function r(d){const u=await new Promise((h,g)=>F(["./datepicker-CMuCkYBj.amd"],h,g));O=u.oninput,t=u.connectDatepicker(d.target,{onSelect:()=>f(d)}),t&&t.datepicker("show")}return(d,u)=>e.unref(Se)?(e.openBlock(),e.createBlock(S,e.mergeProps({key:0},d.$props,{modelValue:c.value,readonly:"",onClick:u[1]||(u[1]=h=>a.value.showPicker())}),{default:e.withCtx(()=>[e.createElementVNode("input",{ref_key:"el",ref:a,type:"date",class:"top-input_input-date",modelValue:d.modelValue,onChange:u[0]||(u[0]=h=>c.value=h.target.value),tabindex:"-1"},null,40,$e)]),_:1},16,["modelValue"])):(e.openBlock(),e.createBlock(S,e.mergeProps({key:1},d.$props,{modelValue:c.value,"onUpdate:modelValue":u[2]||(u[2]=h=>h===""?c.value="":""),onInput:e.unref(l),onFocusOnce:r,onChange:e.unref(f),modificator:"datepicker"}),null,16,["modelValue","onInput","onChange"]))}}),[["__cssModules",{$style:{"top-input-datepicker":"top-input-datepicker","top-input_input-date":"top-input_input-date"}}]]),Be={class:"top-inputRange"},Me=e.createElementVNode("span",{class:"top-inputRange_dash"}," — ",-1),Te=b(e.defineComponent({__name:"inputRange",setup(o){return(s,n)=>(e.openBlock(),e.createElementBlock("div",Be,[e.renderSlot(s.$slots,"from"),Me,e.renderSlot(s.$slots,"to")]))}}),[["__cssModules",{$style:{"top-inputRange":"top-inputRange","top-inputRange_dash":"top-inputRange_dash","top-input":"top-input"}}]]),Ve=["name","value","disabled"],Ee=b(e.defineComponent({__name:"radio",props:{modelValue:{},value:{},name:{},description:{},disabled:{type:Boolean},isError:{type:Boolean}},emits:["update:modelValue"],setup(o,{emit:s}){const n=o,i=s,a=e.computed({get(){return n.modelValue},set(t){i("update:modelValue",t)}});return(t,c)=>(e.openBlock(),e.createElementBlock("label",{class:e.normalizeClass({"top-forms-optionWrapper":!0,"top-radio":!0,["top-radio_"+t.name]:t.name!=="","top-disabled":t.disabled,"top-error":t.isError&&!t.disabled})},[e.withDirectives(e.createElementVNode("input",{type:"radio",class:e.normalizeClass({"top-forms-focusable":!t.disabled,"top-forms-option":!0,"top-radio_input":!0,"top-error":t.isError&&!t.disabled}),"onUpdate:modelValue":c[0]||(c[0]=l=>a.value=l),name:t.name,value:t.value,disabled:t.disabled},null,10,Ve),[[e.vModelRadio,a.value]]),t.$slots.default?(e.openBlock(),e.createBlock(k,{key:0,description:t.description,disabled:t.disabled},{default:e.withCtx(()=>[e.renderSlot(t.$slots,"default")]),_:3},8,["description","disabled"])):e.createCommentVNode("",!0)],2))}}),[["__cssModules",{$style:{"top-radio":"top-radio","top-radio_input":"top-radio_input","top-error":"top-error"}}]]),Ce=["name","value","disabled"],We=b(e.defineComponent({__name:"switcher",props:{modelValue:{type:[Boolean,Array,Set]},name:{},value:{},description:{},disabled:{type:Boolean},isError:{type:Boolean}},emits:["update:modelValue"],setup(o,{emit:s}){const n=o,i=s,a=e.computed({get(){return n.modelValue},set(t){i("update:modelValue",t)}});return(t,c)=>(e.openBlock(),e.createElementBlock("label",{class:e.normalizeClass({"top-forms-optionWrapper":!0,"top-checkboxSwitcher":!0,"top-disabled":t.disabled,"top-error":t.isError&&!t.disabled})},[e.withDirectives(e.createElementVNode("input",{type:"checkbox",class:e.normalizeClass({"top-forms-focusable":!t.disabled,"top-forms-option":!0,"top-checkboxSwitcher_input":!0,"top-error":t.isError&&!t.disabled}),"onUpdate:modelValue":c[0]||(c[0]=l=>a.value=l),name:t.name,value:t.value,disabled:t.disabled},null,10,Ce),[[e.vModelCheckbox,a.value]]),t.$slots.default?(e.openBlock(),e.createBlock(k,{key:0,description:t.description,disabled:t.disabled},{default:e.withCtx(()=>[e.renderSlot(t.$slots,"default")]),_:3},8,["description","disabled"])):e.createCommentVNode("",!0)],2))}}),[["__cssModules",{$style:{"top-checkboxSwitcher":"top-checkboxSwitcher","top-checkboxSwitcher_input":"top-checkboxSwitcher_input","top-error":"top-error"}}]]),De=["name","placeholder","disabled","readonly","rows"],Le={key:0,class:"top-textarea_pseudoContent"},I=b(e.defineComponent({inheritAttrs:!1,__name:"textarea",props:{modelValue:{},name:{},placeholder:{},rows:{default:5},minHeight:{default:120},expandable:{type:Boolean},disabled:{type:Boolean},readonly:{type:Boolean},isError:{type:Boolean},hint:{}},emits:["update:modelValue"],setup(o,{emit:s}){e.useCssVars(t=>({bb7a0c5c:t.minHeight+"px"}));const n=o,i=s,a=e.computed({get(){return n.modelValue},set(t){i("update:modelValue",t)}});return(t,c)=>{const l=e.resolveDirective("top-tooltip");return e.openBlock(),e.createElementBlock("label",{class:e.normalizeClass({"top-textarea":!0,["top-textarea-"+t.name]:t.name,"top-disabled":t.disabled})},[e.withDirectives(e.createElementVNode("textarea",e.mergeProps({type:"text",class:{"top-forms-focusable":!t.disabled,"top-textarea_textarea":!0,"top-textarea_textarea-expandable":t.expandable,"top-error":t.isError},autocomplete:"off_always",name:t.name,placeholder:t.placeholder,disabled:t.disabled,readonly:t.readonly,rows:t.expandable?void 0:t.rows},t.$attrs,{"onUpdate:modelValue":c[0]||(c[0]=f=>a.value=f)}),null,16,De),[[e.vModelText,a.value]]),t.expandable?(e.openBlock(),e.createElementBlock("div",Le,e.toDisplayString(a.value+" "),1)):e.createCommentVNode("",!0),t.hint?e.withDirectives((e.openBlock(),e.createBlock(R,{key:1,class:"top-textarea_hint",hint:t.hint},null,8,["hint"])),[[l]]):e.createCommentVNode("",!0)],2)}}}),[["__cssModules",{$style:{"top-textarea":"top-textarea","top-textarea_textarea":"top-textarea_textarea","top-textarea_textarea-expandable":"top-textarea_textarea-expandable","top-textarea_pseudoContent":"top-textarea_pseudoContent","top-textarea_hint":"top-textarea_hint"}}]]),ze=["data-value","data-top-icon","data-top-icon2"],Ne=["name","disabled"],Pe=["label","disabled"],Ae=["value","selected","disabled"],Re=["value","selected","disabled"],Oe={key:1,class:"top-formsCaption"},Ie=b(e.defineComponent({__name:"select",props:e.mergeModels({modelValue:{},options:{},name:{},disabled:{type:Boolean},icon:{},size:{default:"s"},addChanger:{type:Boolean},title:{},isError:{type:Boolean}},{modelValue:{required:!0},modelModifiers:{}}),emits:e.mergeModels(["update:modelValue"],["update:modelValue"]),setup(o,{emit:s}){const n=o,i=e.useModel(o,"modelValue"),a=e.computed(()=>{const r=new Map;return n.options.forEach((d,u)=>{if(typeof d=="string"&&(d=c(u,d)),d.children){const h=new Map;d.children.forEach((g,_)=>{typeof g=="string"&&(g=c(_,g)),h.set(g.value,g)}),d={...d},d.children=h,r.set(d.value,d)}else r.set(d.value,d)}),r}),t=e.computed(()=>{const r=new Map;return a.value.forEach(d=>{if(!d.disabled){if(d.children){d.children.forEach(u=>{u.disabled||r.set(u.value,u)});return}r.set(d.value,d)}}),r}),c=(r,d)=>({value:r,title:d});e.watch([()=>n.modelValue,t],()=>{(i.value===null||i.value===void 0)&&t.value.size&&(console.warn("Пожалуйста, не передавайте в компонент Select значения null и undefined"),i.value=t.value.keys().next().value)},{immediate:!0});const l=e.computed(()=>{var r;return(r=t.value.get(i.value))==null?void 0:r.icon}),f=()=>{const r=[...t.value.keys()],u=(r.indexOf(i.value)+1)%r.length;i.value=r[u]};return(r,d)=>(e.openBlock(),e.createElementBlock("label",{class:e.normalizeClass({"top-select":!0,["top-select-"+r.name]:r.name,["top-size_"+r.size]:!0,"top-formsCaptionWrapper":!!r.title,"top-select-error":r.isError,"top-disabled":r.disabled}),"data-value":i.value,"data-top-icon":r.icon,"data-top-icon2":l.value},[e.withDirectives(e.createElementVNode("select",{class:e.normalizeClass({"top-forms-focusable":!r.disabled,"top-select_select":!0,"top-select_arrow":!0,"top-error":r.isError}),name:r.name,disabled:r.disabled,"onUpdate:modelValue":d[0]||(d[0]=u=>i.value=u)},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(a.value,([u,h])=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[h.children?(e.openBlock(),e.createElementBlock("optgroup",{key:"group_"+u,label:h.title,disabled:h.disabled},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(h.children,([g,_])=>(e.openBlock(),e.createElementBlock("option",{key:g,value:g,selected:g===i.value,disabled:_.disabled},e.toDisplayString(_.title),9,Ae))),128))],8,Pe)):(e.openBlock(),e.createElementBlock("option",{key:u??void 0,value:u,selected:u===i.value,disabled:h.disabled},e.toDisplayString(h.title),9,Re))],64))),256))],10,Ne),[[e.vModelSelect,i.value]]),r.addChanger&&t.value.size&&!r.disabled?(e.openBlock(),e.createElementBlock("span",{key:0,class:"top-changer",onClick:f})):e.createCommentVNode("",!0),r.title?(e.openBlock(),e.createElementBlock("span",Oe,e.toDisplayString(r.title),1)):e.createCommentVNode("",!0)],10,ze))}}),[["__cssModules",{$style:{"top-select":"top-select","top-select-error":"top-select-error","top-select_select":"top-select_select","top-changer":"top-changer"}}]]),He=de,Fe=A,Ue=me,Xe=k,Ye=R,qe=S,Ke=_e,Ge=Te,Qe=Ee,Je=We,Ze=I,je=Ie,xe=V;p.Core=m,p.Events=N,p.Textarea=I,p.TopAvatar=He,p.TopButton=A,p.TopButton$1=Fe,p.TopCheckbox=Ue,p.TopControlLabel=Xe,p.TopHint=Ye,p.TopInput=S,p.TopInput$1=qe,p.TopInputDate=Ke,p.TopInputRange=Ge,p.TopLoadbar=xe,p.TopLoadbar$1=V,p.TopRadio=Qe,p.TopSelect=je,p.TopSwitcher=Je,p.TopTextarea=Ze,p._export_sfc=b,p.dateFormat=y,p.dateToString=te,p.dateUnformat=T,p.genDate=P,p.genDateMoscow=ne,p.get$scroll=q,p.getCommandKeyLabel=X,p.getDayOfWeek=ee,p.getElsScroll=K,p.getOS=L,p.getOSAsync=G,p.getScrollTop=Y,p.isApp=W,p.isMacOS=D,p.isMobile=C,p.isRetina=E,p.isSafari=U,p.stringToDate=oe});
|
|
3
|
+
//# sourceMappingURL=forms-Lm1WM1gO.amd.js.map
|