@topvisor/ui 0.9.35-4 → 0.9.35

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (62) hide show
  1. package/.chunks/{datepicker-D_95vv2c.amd.js → datepicker-BG0u8UXv.amd.js} +3 -3
  2. package/.chunks/datepicker-BG0u8UXv.amd.js.map +1 -0
  3. package/.chunks/{datepicker-CcRVcC5P.es.js → datepicker-Dmeojg66.es.js} +24 -23
  4. package/.chunks/{datepicker-CcRVcC5P.es.js.map → datepicker-Dmeojg66.es.js.map} +1 -1
  5. package/.chunks/{forms-BZoPbSQt.es.js → forms-CPEVHoks.es.js} +388 -463
  6. package/.chunks/forms-CPEVHoks.es.js.map +1 -0
  7. package/.chunks/forms-oowSA2rF.amd.js +3 -0
  8. package/.chunks/forms-oowSA2rF.amd.js.map +1 -0
  9. package/.chunks/{listItem.vue_vue_type_script_setup_true_lang-4m2ZOlaP.amd.js → listItem.vue_vue_type_script_setup_true_lang-CkZHzNZU.amd.js} +2 -2
  10. package/.chunks/{listItem.vue_vue_type_script_setup_true_lang-4m2ZOlaP.amd.js.map → listItem.vue_vue_type_script_setup_true_lang-CkZHzNZU.amd.js.map} +1 -1
  11. package/.chunks/{listItem.vue_vue_type_script_setup_true_lang-C2uuAtpx.es.js → listItem.vue_vue_type_script_setup_true_lang-Dlm9Et7q.es.js} +20 -20
  12. package/.chunks/{listItem.vue_vue_type_script_setup_true_lang-C2uuAtpx.es.js.map → listItem.vue_vue_type_script_setup_true_lang-Dlm9Et7q.es.js.map} +1 -1
  13. package/.chunks/{menu-DDYYS64d.es.js → menu-CiQMMrnp.es.js} +34 -34
  14. package/.chunks/{menu-DDYYS64d.es.js.map → menu-CiQMMrnp.es.js.map} +1 -1
  15. package/.chunks/{menu-CNIQ9vFJ.amd.js → menu-SmyeSNWQ.amd.js} +2 -2
  16. package/.chunks/{menu-CNIQ9vFJ.amd.js.map → menu-SmyeSNWQ.amd.js.map} +1 -1
  17. package/.chunks/{popup-Bc6YggdE.es.js → popup-Bv_sxmoj.es.js} +21 -20
  18. package/.chunks/popup-Bv_sxmoj.es.js.map +1 -0
  19. package/.chunks/popup-ClvUyl7S.amd.js +441 -0
  20. package/.chunks/popup-ClvUyl7S.amd.js.map +1 -0
  21. package/core/app.amd.js +1 -1
  22. package/core/app.amd.js.map +1 -1
  23. package/core/app.js +2 -2
  24. package/core/app.js.map +1 -1
  25. package/core/core/core.d.ts +0 -40
  26. package/core/core.amd.js +1 -1
  27. package/core/core.js +1 -1
  28. package/core/utils/css.d.ts +43 -0
  29. package/forms/forms.amd.js +1 -1
  30. package/forms/forms.js +1 -1
  31. package/formsExt/formsExt.amd.js +1 -1
  32. package/formsExt/formsExt.js +58 -58
  33. package/package.json +1 -1
  34. package/popup/popup.amd.js +1 -1
  35. package/popup/popup.js +17 -17
  36. package/popup/worker.amd.js +1 -1
  37. package/popup/worker.js +2 -2
  38. package/project/project.amd.js +1 -1
  39. package/project/project.js +19 -19
  40. package/require/css.amd.js +4 -4
  41. package/tabs/tabs.amd.js +1 -1
  42. package/tabs/tabs.js +13 -13
  43. package/tabsView/tabsView.amd.js +1 -1
  44. package/tabsView/tabsView.js +44 -44
  45. package/utils/css.amd.js +2 -0
  46. package/utils/css.amd.js.map +1 -0
  47. package/utils/css.d.ts +1 -0
  48. package/utils/css.js +45 -0
  49. package/utils/css.js.map +1 -0
  50. package/utils/date.amd.js +1 -1
  51. package/utils/date.js +1 -1
  52. package/utils/device.amd.js +1 -1
  53. package/utils/device.js +1 -1
  54. package/utils/price.amd.js +1 -1
  55. package/utils/price.js +1 -1
  56. package/.chunks/datepicker-D_95vv2c.amd.js.map +0 -1
  57. package/.chunks/forms-BZoPbSQt.es.js.map +0 -1
  58. package/.chunks/forms-KR6uVX5Z.amd.js +0 -3
  59. package/.chunks/forms-KR6uVX5Z.amd.js.map +0 -1
  60. package/.chunks/popup-BFJ2eTTB.amd.js +0 -441
  61. package/.chunks/popup-BFJ2eTTB.amd.js.map +0 -1
  62. package/.chunks/popup-Bc6YggdE.es.js.map +0 -1
@@ -1,4 +1,4 @@
1
- define(["require","exports","vue","./forms-KR6uVX5Z.amd"],function(b,k,c,n){"use strict";if(typeof c>"u")var c=window.Vue;n.Core.insertStyleToPage(`/* ui-datepicker */\r
1
+ define(["require","exports","vue","./forms-oowSA2rF.amd","../utils/css.amd"],function(x,k,c,a,h){"use strict";if(typeof c>"u")var c=window.Vue;h.insertToPageAsInine(`/* 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
@@ -244,5 +244,5 @@ td.ui-datepicker-today a {\r
244
244
  .ui-datepicker-row-break {\r
245
245
  display: none;\r
246
246
  }\r
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-D_95vv2c.amd.js.map
247
+ `);const m=t=>{var r,e;if(!((e=(r=a.Core.$)==null?void 0:r.ui)!=null&&e.datepicker)){console.info("Для работы datepicker требуется глобальная загрузка jQuery UI Datepicker");return}return a.Core.$.datepicker.setDefaults({dateFormat:a.Core.state.dateFormat.toLowerCase().replace("m","mm").replace("y","yy").replace("d","dd")}),a.Core.$(t)};function v(t,r){var e;return(e=m(t))==null?void 0:e.datepicker(r)}let o,p,l,u;c.watch(c.toRef(a.Core.state.dateFormat),()=>{var t;o=a.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 b(t){let r=t.target.selectionEnd,e=t.target.value,n=e.substring(0,r).replace(/\D+/g,""),i=e.substring(r).replace(/\D+/g,""),s=n.length+i.length-l;if(s>0){n=n.substring(0,l);const d=l-n.length;i=i.substring(i.length-d)}else s<0&&(t.inputType==="deleteContentForward"?n+="0".repeat(-s):i="0".repeat(-s)+i);r=n.length,e=n+i;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=v,k.oninput=b,Object.defineProperty(k,Symbol.toStringTag,{value:"Module"})});
248
+ //# sourceMappingURL=datepicker-BG0u8UXv.amd.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"datepicker-BG0u8UXv.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\nimport { insertToPageAsInine } from '@/core/utils/css';\r\n\r\nimport css from '@/components/forms/inputDate/datepicker.css?raw';\r\n\r\ninsertToPageAsInine(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":["insertToPageAsInine","$","el","forms","connectDatepicker","options","dateFormatted","delimiter","dateNumbersCount","delimitersIndexes","watch","_a","i","valueChunkLeft","value","selectionPos","valueChunkRight","extraNumbersCount","valueChunkRightMaxLength","e","delimiterIndex"],"mappings":"+IAOAA,EAAAA,oBCPA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,CDOAA,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,6 +1,7 @@
1
1
  import { watch as k, toRef as g } from "vue";
2
- import { C as a, d as m } from "./forms-BZoPbSQt.es.js";
3
- const h = `/* ui-datepicker */\r
2
+ import { C as d, d as m } from "./forms-CPEVHoks.es.js";
3
+ import { insertToPageAsInine as h } from "../utils/css.js";
4
+ const v = `/* ui-datepicker */\r
4
5
  .ui-datepicker {\r
5
6
  --datepicker-day-color: var(--color-bg-3);\r
6
7
  --datepicker-day-color-hover: var(--color-layer-secondary-1);\r
@@ -247,44 +248,44 @@ td.ui-datepicker-today a {\r
247
248
  display: none;\r
248
249
  }\r
249
250
  `;
250
- a.insertStyleToPage(h);
251
- const v = (t) => {
251
+ h(v);
252
+ const x = (t) => {
252
253
  var r, n;
253
- if (!((n = (r = a.$) == null ? void 0 : r.ui) != null && n.datepicker)) {
254
+ if (!((n = (r = d.$) == null ? void 0 : r.ui) != null && n.datepicker)) {
254
255
  console.info("Для работы datepicker требуется глобальная загрузка jQuery UI Datepicker");
255
256
  return;
256
257
  }
257
- return a.$.datepicker.setDefaults({
258
- dateFormat: a.state.dateFormat.toLowerCase().replace("m", "mm").replace("y", "yy").replace("d", "dd")
259
- }), a.$(t);
258
+ return d.$.datepicker.setDefaults({
259
+ dateFormat: d.state.dateFormat.toLowerCase().replace("m", "mm").replace("y", "yy").replace("d", "dd")
260
+ }), d.$(t);
260
261
  };
261
- function f(t, r) {
262
+ function w(t, r) {
262
263
  var n;
263
- return (n = v(t)) == null ? void 0 : n.datepicker(r);
264
+ return (n = x(t)) == null ? void 0 : n.datepicker(r);
264
265
  }
265
- let d, l, p, u;
266
- k(g(a.state.dateFormat), () => {
266
+ let o, l, p, u;
267
+ k(g(d.state.dateFormat), () => {
267
268
  var t;
268
- d = m("2000-01-01"), l = ((t = d.match(/\D/)) == null ? void 0 : t[0]) ?? "-", p = d.replace(/\D+/g, "").length, u = [];
269
- for (let r = 0; r < d.length; r++)
270
- d[r] === l && u.push(r);
269
+ o = m("2000-01-01"), l = ((t = o.match(/\D/)) == null ? void 0 : t[0]) ?? "-", p = o.replace(/\D+/g, "").length, u = [];
270
+ for (let r = 0; r < o.length; r++)
271
+ o[r] === l && u.push(r);
271
272
  }, { immediate: !0 });
272
- function y(t) {
273
+ function F(t) {
273
274
  let r = t.target.selectionEnd, n = t.target.value, e = n.substring(0, r).replace(/\D+/g, ""), i = n.substring(r).replace(/\D+/g, ""), c = e.length + i.length - p;
274
275
  if (c > 0) {
275
276
  e = e.substring(0, p);
276
- const o = p - e.length;
277
- i = i.substring(i.length - o);
277
+ const a = p - e.length;
278
+ i = i.substring(i.length - a);
278
279
  } else c < 0 && (t.inputType === "deleteContentForward" ? e += "0".repeat(-c) : i = "0".repeat(-c) + i);
279
280
  r = e.length, n = e + i;
280
- for (let o = 0; o < u.length; o++) {
281
- const s = u[o];
281
+ for (let a = 0; a < u.length; a++) {
282
+ const s = u[a];
282
283
  n = n.substring(0, s) + l + n.substring(s), r >= s && r++;
283
284
  }
284
285
  t.inputType === "deleteContentBackward" && n[r - 1] === l && r--, n !== t.target.value && (t.target.value = n, t.target.selectionStart = r, t.target.selectionEnd = r);
285
286
  }
286
287
  export {
287
- f as connectDatepicker,
288
- y as oninput
288
+ w as connectDatepicker,
289
+ F as oninput
289
290
  };
290
- //# sourceMappingURL=datepicker-CcRVcC5P.es.js.map
291
+ //# sourceMappingURL=datepicker-Dmeojg66.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-Dmeojg66.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\nimport { insertToPageAsInine } from '@/core/utils/css';\r\n\r\nimport css from '@/components/forms/inputDate/datepicker.css?raw';\r\n\r\ninsertToPageAsInine(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","insertToPageAsInine","$","el","_b","_a","Core","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;ACOfC,EAAoBD,CAAG;AAEvB,MAAME,IAAI,CAACC,MAAyB;;AACnC,MAAI,GAACC,KAAAC,IAAAC,EAAK,MAAL,gBAAAD,EAAQ,OAAR,QAAAD,EAAY,aAAY;AAC5B,YAAQ,KAAK,0EAA0E;AAEvF;AAAA,EACD;AAEK,SAAAE,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,EAAEH,CAAE;AACjB;AAEgB,SAAAI,EAAkBJ,GAAsBK,GAAc;;AACrE,UAAOH,IAAAH,EAAEC,CAAE,MAAJ,gBAAAE,EAAO,WAAWG;AAC1B;AAEA,IAAIC,GACAC,GACAC,GACAC;AAEJC,EAAMC,EAAMR,EAAK,MAAM,UAAU,GAAG,MAAM;;AAEzC,EAAAG,IAAgBM,EAAW,YAAY,GACvCL,MAAYL,IAAAI,EAAc,MAAM,IAAI,MAAxB,gBAAAJ,EAA4B,OAAM,KAC9CM,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;"}