@topvisor/ui 0.9.34-utils-components-8 → 0.9.35-2

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 (176) hide show
  1. package/.chunks/datepicker-BG0u8UXv.amd.js +248 -0
  2. package/.chunks/datepicker-BG0u8UXv.amd.js.map +1 -0
  3. package/.chunks/datepicker-Dmeojg66.es.js +291 -0
  4. package/.chunks/datepicker-Dmeojg66.es.js.map +1 -0
  5. package/.chunks/{forms-zcjs34Ku.es.js → forms-CPEVHoks.es.js} +302 -322
  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/i18n-eDh3Aaw9.amd.js +2 -0
  10. package/.chunks/i18n-eDh3Aaw9.amd.js.map +1 -0
  11. package/.chunks/i18n-qpB8zyhD.es.js +20 -0
  12. package/.chunks/i18n-qpB8zyhD.es.js.map +1 -0
  13. package/.chunks/{listItem.vue_vue_type_script_setup_true_lang-63URXfK9.amd.js → listItem.vue_vue_type_script_setup_true_lang-CkZHzNZU.amd.js} +2 -2
  14. package/.chunks/listItem.vue_vue_type_script_setup_true_lang-CkZHzNZU.amd.js.map +1 -0
  15. package/.chunks/{listItem.vue_vue_type_script_setup_true_lang-HyMltrKI.es.js → listItem.vue_vue_type_script_setup_true_lang-Dlm9Et7q.es.js} +2 -2
  16. package/.chunks/listItem.vue_vue_type_script_setup_true_lang-Dlm9Et7q.es.js.map +1 -0
  17. package/.chunks/{menu-CeG7B_m0.es.js → menu-CiQMMrnp.es.js} +2 -2
  18. package/.chunks/menu-CiQMMrnp.es.js.map +1 -0
  19. package/.chunks/{menu-DHEklwfD.amd.js → menu-SmyeSNWQ.amd.js} +2 -2
  20. package/.chunks/menu-SmyeSNWQ.amd.js.map +1 -0
  21. package/.chunks/{popup-DCAWoyiY.es.js → popup-Bv_sxmoj.es.js} +502 -500
  22. package/.chunks/popup-Bv_sxmoj.es.js.map +1 -0
  23. package/.chunks/popup-ClvUyl7S.amd.js +441 -0
  24. package/.chunks/popup-ClvUyl7S.amd.js.map +1 -0
  25. package/.chunks/{store-PoMCiuBr.es.js → store-CX_6ZXhO.es.js} +12 -12
  26. package/.chunks/store-CX_6ZXhO.es.js.map +1 -0
  27. package/.chunks/store-esTid5oI.amd.js +2 -0
  28. package/.chunks/store-esTid5oI.amd.js.map +1 -0
  29. package/README.md +86 -86
  30. package/assets/forms.css +1 -1
  31. package/components/forms/forms.d.ts +0 -5
  32. package/components/forms/inputDate/inputDate.d.ts +1 -1
  33. package/components/popup/lib/popup.d.ts +19 -11
  34. package/components/popup/lib/worker.d.ts +15 -12
  35. package/components/project/selectorCompetitors/composables.d.ts +1 -2
  36. package/components/project/selectorCompetitors/selectorCompetitors.d.ts +3 -1
  37. package/components/tabsView/tabsView/tabsView.d.ts +1 -1
  38. package/core/app.amd.js +1 -1
  39. package/core/app.amd.js.map +1 -1
  40. package/core/app.js +127 -128
  41. package/core/app.js.map +1 -1
  42. package/core/core/core.d.ts +4 -19
  43. package/core/core/events.d.ts +2 -2
  44. package/core/core/state.d.ts +0 -4
  45. package/core/core.amd.js +1 -1
  46. package/core/core.js +1 -1
  47. package/core/directives/swimUp.d.ts +8 -2
  48. package/core/plugins/piniaTPA.d.ts +7 -7
  49. package/core/utils/check.d.ts +4 -0
  50. package/core/utils/clipboard.d.ts +9 -0
  51. package/core/utils/css.d.ts +39 -2
  52. package/core/utils/date.d.ts +4 -0
  53. package/core/utils/device.d.ts +4 -0
  54. package/core/utils/dom.d.ts +13 -13
  55. package/core/utils/image.d.ts +4 -0
  56. package/core/utils/keyboard.d.ts +5 -1
  57. package/core/utils/number.d.ts +4 -0
  58. package/core/utils/price.d.ts +2 -1
  59. package/core/utils/route.d.ts +7 -0
  60. package/core/utils/scroll.d.ts +4 -0
  61. package/core/utils/store/plugin.d.ts +18 -4
  62. package/core/utils/store/store.d.ts +1 -1
  63. package/core/utils/store.d.ts +4 -0
  64. package/core/utils/string.d.ts +8 -2
  65. package/core/utils/system.d.ts +4 -0
  66. package/core/utils/url.d.ts +6 -2
  67. package/forms/forms.amd.js +1 -1
  68. package/forms/forms.js +5 -5
  69. package/forms/helpers.amd.js.map +1 -1
  70. package/forms/helpers.js.map +1 -1
  71. package/formsExt/formsExt.amd.js +1 -1
  72. package/formsExt/formsExt.amd.js.map +1 -1
  73. package/formsExt/formsExt.js +3 -3
  74. package/formsExt/formsExt.js.map +1 -1
  75. package/icomoon/Read Me.txt +7 -7
  76. package/icomoon/demo-files/demo.css +161 -161
  77. package/icomoon/demo-files/demo.js +30 -30
  78. package/icomoon/demo.html +3379 -3379
  79. package/icomoon/fonts/Topvisor-2.svg +263 -263
  80. package/icomoon/style.css +740 -740
  81. package/package.json +37 -36
  82. package/popup/popup.amd.js +1 -1
  83. package/popup/popup.amd.js.map +1 -1
  84. package/popup/popup.js +8 -8
  85. package/popup/popup.js.map +1 -1
  86. package/popup/worker.amd.js +1 -1
  87. package/popup/worker.amd.js.map +1 -1
  88. package/popup/worker.js +9 -6
  89. package/popup/worker.js.map +1 -1
  90. package/project/project.amd.js +1 -1
  91. package/project/project.amd.js.map +1 -1
  92. package/project/project.js +3 -3
  93. package/project/project.js.map +1 -1
  94. package/require/css.amd.js +23 -12
  95. package/tabs/tabs.amd.js +1 -1
  96. package/tabs/tabs.amd.js.map +1 -1
  97. package/tabs/tabs.js +1 -1
  98. package/tabs/tabs.js.map +1 -1
  99. package/tabsView/tabsView.amd.js +1 -1
  100. package/tabsView/tabsView.amd.js.map +1 -1
  101. package/tabsView/tabsView.js +2 -2
  102. package/tabsView/tabsView.js.map +1 -1
  103. package/utils/check.amd.js.map +1 -1
  104. package/utils/check.js.map +1 -1
  105. package/utils/clipboard.amd.js.map +1 -1
  106. package/utils/clipboard.js.map +1 -1
  107. package/utils/css.amd.js +1 -1
  108. package/utils/css.amd.js.map +1 -1
  109. package/utils/css.js +36 -29
  110. package/utils/css.js.map +1 -1
  111. package/utils/date.amd.js +1 -1
  112. package/utils/date.js +2 -2
  113. package/utils/device.amd.js +1 -1
  114. package/utils/device.js +1 -1
  115. package/utils/dom.amd.js.map +1 -1
  116. package/utils/dom.js.map +1 -1
  117. package/utils/image.amd.js +11 -1
  118. package/utils/image.amd.js.map +1 -1
  119. package/utils/image.js +11 -1
  120. package/utils/image.js.map +1 -1
  121. package/utils/keyboard.amd.js +1 -1
  122. package/utils/keyboard.amd.js.map +1 -1
  123. package/utils/keyboard.js +7 -7
  124. package/utils/keyboard.js.map +1 -1
  125. package/utils/number.amd.js.map +1 -1
  126. package/utils/number.js.map +1 -1
  127. package/utils/price.amd.js +1 -1
  128. package/utils/price.amd.js.map +1 -1
  129. package/utils/price.js +7 -9
  130. package/utils/price.js.map +1 -1
  131. package/utils/route.amd.js +1 -1
  132. package/utils/route.amd.js.map +1 -1
  133. package/utils/route.js +15 -15
  134. package/utils/route.js.map +1 -1
  135. package/utils/scroll.amd.js +1 -1
  136. package/utils/scroll.amd.js.map +1 -1
  137. package/utils/scroll.js +8 -9
  138. package/utils/scroll.js.map +1 -1
  139. package/utils/store.amd.js +1 -1
  140. package/utils/store.js +1 -1
  141. package/utils/string.amd.js +1 -1
  142. package/utils/string.amd.js.map +1 -1
  143. package/utils/string.js +28 -31
  144. package/utils/string.js.map +1 -1
  145. package/utils/system.amd.js.map +1 -1
  146. package/utils/system.js.map +1 -1
  147. package/utils/url.amd.js.map +1 -1
  148. package/utils/url.js.map +1 -1
  149. package/web-types.json +72 -62
  150. package/.chunks/datepicker-BsNClLc3.amd.js +0 -247
  151. package/.chunks/datepicker-BsNClLc3.amd.js.map +0 -1
  152. package/.chunks/datepicker-DdvHcBwK.es.js +0 -289
  153. package/.chunks/datepicker-DdvHcBwK.es.js.map +0 -1
  154. package/.chunks/forms-Bq9qpePc.amd.js +0 -3
  155. package/.chunks/forms-Bq9qpePc.amd.js.map +0 -1
  156. package/.chunks/forms-zcjs34Ku.es.js.map +0 -1
  157. package/.chunks/i18n-BNj2m0Og.amd.js +0 -2
  158. package/.chunks/i18n-BNj2m0Og.amd.js.map +0 -1
  159. package/.chunks/i18n-C5qBPql0.es.js +0 -26
  160. package/.chunks/i18n-C5qBPql0.es.js.map +0 -1
  161. package/.chunks/listItem.vue_vue_type_script_setup_true_lang-63URXfK9.amd.js.map +0 -1
  162. package/.chunks/listItem.vue_vue_type_script_setup_true_lang-HyMltrKI.es.js.map +0 -1
  163. package/.chunks/menu-CeG7B_m0.es.js.map +0 -1
  164. package/.chunks/menu-DHEklwfD.amd.js.map +0 -1
  165. package/.chunks/popup-BGydNG3O.amd.js +0 -440
  166. package/.chunks/popup-BGydNG3O.amd.js.map +0 -1
  167. package/.chunks/popup-DCAWoyiY.es.js.map +0 -1
  168. package/.chunks/store-Bl79G7T_.amd.js +0 -2
  169. package/.chunks/store-Bl79G7T_.amd.js.map +0 -1
  170. package/.chunks/store-PoMCiuBr.es.js.map +0 -1
  171. package/core/utils/window.d.ts +0 -1
  172. package/utils/window.amd.js +0 -2
  173. package/utils/window.amd.js.map +0 -1
  174. package/utils/window.d.ts +0 -1
  175. package/utils/window.js +0 -5
  176. package/utils/window.js.map +0 -1
@@ -0,0 +1,248 @@
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
+ .ui-datepicker {\r
3
+ --datepicker-day-color: var(--color-bg-3);\r
4
+ --datepicker-day-color-hover: var(--color-layer-secondary-1);\r
5
+ --datepicker-selected-color: var(--color-bg-primary-2);\r
6
+ --datepicker-selected-color-hover: var(--color-bg-primary-1);\r
7
+ --datepicker-range-color: var(--color-layer-primary-1);\r
8
+ --datepicker-range-color-hover: var(--color-layer-primary-2);\r
9
+ \r
10
+ user-select: none;\r
11
+ width: auto;\r
12
+ padding: 0;\r
13
+ }\r
14
+ \r
15
+ .ui-datepicker:before,\r
16
+ .ui-datepicker:after {\r
17
+ display: none;\r
18
+ }\r
19
+ \r
20
+ /* на странице */\r
21
+ .ui-datepicker-inline {\r
22
+ display: inline-block !important;\r
23
+ }\r
24
+ \r
25
+ /* в popup */\r
26
+ .ui-datepicker:not(.ui-datepicker-inline) {\r
27
+ border-radius: 8px;\r
28
+ background: var(--content-background-color);\r
29
+ box-shadow: var(--top-shadow);\r
30
+ z-index: 10000000 !important;\r
31
+ padding: 8px;\r
32
+ }\r
33
+ \r
34
+ .ui-datepicker a {\r
35
+ text-decoration: none !important;\r
36
+ }\r
37
+ \r
38
+ .ui-datepicker option {\r
39
+ color: var(--color-text-1);\r
40
+ font-size: 14px;\r
41
+ }\r
42
+ \r
43
+ .ui-datepicker-header {\r
44
+ padding: 0 !important;\r
45
+ margin: 0 0 18px 0;\r
46
+ display: flex;\r
47
+ align-items: center;\r
48
+ }\r
49
+ \r
50
+ .ui-datepicker-header > * {\r
51
+ display: flex;\r
52
+ align-items: center;\r
53
+ justify-content: center;\r
54
+ }\r
55
+ \r
56
+ .ui-datepicker-title {\r
57
+ width: 100% !important;\r
58
+ height: 24px;\r
59
+ margin: 0 !important;\r
60
+ }\r
61
+ \r
62
+ .ui-datepicker-month,\r
63
+ .ui-datepicker-year {\r
64
+ outline: none !important;\r
65
+ width: auto !important;\r
66
+ border: none;\r
67
+ padding: 0;\r
68
+ margin: 0 6px !important;\r
69
+ text-align: center;\r
70
+ font-size: 16px !important;\r
71
+ }\r
72
+ \r
73
+ .ui-datepicker-month {\r
74
+ color: var(--color-text-1);\r
75
+ }\r
76
+ \r
77
+ .ui-datepicker-year {\r
78
+ color: var(--color-text-2);\r
79
+ }\r
80
+ \r
81
+ /* select.ui-datepicker-month,\r
82
+ select.ui-datepicker-year{ cursor: pointer; color: var(--color-blue-500); }*/\r
83
+ select.ui-datepicker-month,\r
84
+ select.ui-datepicker-year {\r
85
+ cursor: pointer;\r
86
+ }\r
87
+ \r
88
+ .ui-datepicker-prev,\r
89
+ .ui-datepicker-next {\r
90
+ cursor: pointer;\r
91
+ width: 24px !important;\r
92
+ height: 24px !important;\r
93
+ font-size: 24px;\r
94
+ font-family: "Topvisor-2";\r
95
+ position: static !important;\r
96
+ }\r
97
+ \r
98
+ .ui-datepicker-prev:before {\r
99
+ color: var(--color-icon-3);\r
100
+ content: "";\r
101
+ }\r
102
+ \r
103
+ .ui-datepicker-prev-hover:before {\r
104
+ color: var(--color-icon-1);\r
105
+ content: "";\r
106
+ }\r
107
+ \r
108
+ .ui-datepicker-next {\r
109
+ color: var(--color-icon-3);\r
110
+ order: 1;\r
111
+ }\r
112
+ \r
113
+ .ui-datepicker-next-hover {\r
114
+ color: var(--color-icon-1);\r
115
+ order: 1;\r
116
+ }\r
117
+ \r
118
+ .ui-datepicker-next:before {\r
119
+ content: "";\r
120
+ }\r
121
+ \r
122
+ .ui-datepicker-prev > *,\r
123
+ .ui-datepicker-next > * {\r
124
+ display: none !important;\r
125
+ }\r
126
+ \r
127
+ .ui-datepicker thead th {\r
128
+ width: auto !important;\r
129
+ padding: 0 !important;\r
130
+ color: var(--color-text-3);\r
131
+ font-size: 14px;\r
132
+ font-weight: 400 !important;\r
133
+ }\r
134
+ \r
135
+ .ui-datepicker table {\r
136
+ margin: 0 !important;\r
137
+ font-size: 14px;\r
138
+ }\r
139
+ \r
140
+ .ui-datepicker td {\r
141
+ color: var(--color-text-1);\r
142
+ background: none;\r
143
+ padding: 0 !important;\r
144
+ }\r
145
+ \r
146
+ .ui-datepicker td span,\r
147
+ .ui-datepicker td a {\r
148
+ border-radius: 8px;\r
149
+ border: none;\r
150
+ min-width: 32px;\r
151
+ height: 32px;\r
152
+ padding: 0;\r
153
+ margin: 1px;\r
154
+ color: var(--color-text-1) !important;\r
155
+ line-height: 32px;\r
156
+ text-align: center;\r
157
+ position: relative;\r
158
+ display: block;\r
159
+ }\r
160
+ \r
161
+ /* обычные даты */\r
162
+ .ui-datepicker td a {\r
163
+ background: var(--datepicker-day-color);\r
164
+ }\r
165
+ \r
166
+ .ui-datepicker td a:hover {\r
167
+ background: var(--datepicker-day-color-hover);\r
168
+ }\r
169
+ \r
170
+ /* текущий день */\r
171
+ td.ui-datepicker-today span,\r
172
+ td.ui-datepicker-today a {\r
173
+ background: none;\r
174
+ position: relative;\r
175
+ }\r
176
+ \r
177
+ /* выбранные даты */\r
178
+ .ui-datepicker td.selected a {\r
179
+ background: var(--datepicker-range-color);\r
180
+ padding-right: 0;\r
181
+ padding-left: 1px;\r
182
+ margin-right: 1px;\r
183
+ margin-left: 0;\r
184
+ }\r
185
+ \r
186
+ .ui-datepicker td.selected a:hover {\r
187
+ background: var(--datepicker-range-color-hover);\r
188
+ }\r
189
+ \r
190
+ .ui-datepicker td.selected:not(.selected-start):not(:first-child):not(.first-of-month) a {\r
191
+ border-top-left-radius: 0;\r
192
+ border-bottom-left-radius: 0;\r
193
+ padding-left: 1px;\r
194
+ margin-left: 0;\r
195
+ }\r
196
+ \r
197
+ .ui-datepicker td.selected:not(.selected-end):not(:last-child):not(.last-of-month) a {\r
198
+ border-top-right-radius: 0;\r
199
+ border-bottom-right-radius: 0;\r
200
+ padding-right: 1px;\r
201
+ margin-right: 0;\r
202
+ }\r
203
+ \r
204
+ .ui-datepicker td.selected-start a,\r
205
+ .ui-datepicker td.selected-end a,\r
206
+ .ui-datepicker td.ui-datepicker-current-day a {\r
207
+ background: var(--datepicker-selected-color);\r
208
+ color: #FFF !important;\r
209
+ }\r
210
+ \r
211
+ .ui-datepicker td.selected-start a:hover,\r
212
+ .ui-datepicker td.selected-end a:hover,\r
213
+ .ui-datepicker td.ui-datepicker-current-day a:hover {\r
214
+ background: var(--datepicker-selected-color-hover);\r
215
+ }\r
216
+ \r
217
+ .ui-datepicker-day-marks {\r
218
+ line-height: normal;\r
219
+ position: absolute;\r
220
+ right: 0;\r
221
+ bottom: 3px;\r
222
+ left: 0;\r
223
+ display: flex;\r
224
+ align-items: center;\r
225
+ justify-content: center;\r
226
+ }\r
227
+ \r
228
+ .ui-datepicker-day-marks > i {\r
229
+ border-radius: 50%;\r
230
+ border: 1px solid #FFF;\r
231
+ width: 4px;\r
232
+ height: 4px;\r
233
+ margin: 0 2px;\r
234
+ }\r
235
+ \r
236
+ .ui-datepicker-day-marks-exists {\r
237
+ background: var(--color-icon-primary-2);\r
238
+ }\r
239
+ \r
240
+ .ui-datepicker-day-marks-update {\r
241
+ background: var(--color-icon-negative-2);\r
242
+ }\r
243
+ \r
244
+ .ui-datepicker-row-break {\r
245
+ display: none;\r
246
+ }\r
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"}
@@ -0,0 +1,291 @@
1
+ import { watch as k, toRef as g } from "vue";
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
5
+ .ui-datepicker {\r
6
+ --datepicker-day-color: var(--color-bg-3);\r
7
+ --datepicker-day-color-hover: var(--color-layer-secondary-1);\r
8
+ --datepicker-selected-color: var(--color-bg-primary-2);\r
9
+ --datepicker-selected-color-hover: var(--color-bg-primary-1);\r
10
+ --datepicker-range-color: var(--color-layer-primary-1);\r
11
+ --datepicker-range-color-hover: var(--color-layer-primary-2);\r
12
+ \r
13
+ user-select: none;\r
14
+ width: auto;\r
15
+ padding: 0;\r
16
+ }\r
17
+ \r
18
+ .ui-datepicker:before,\r
19
+ .ui-datepicker:after {\r
20
+ display: none;\r
21
+ }\r
22
+ \r
23
+ /* на странице */\r
24
+ .ui-datepicker-inline {\r
25
+ display: inline-block !important;\r
26
+ }\r
27
+ \r
28
+ /* в popup */\r
29
+ .ui-datepicker:not(.ui-datepicker-inline) {\r
30
+ border-radius: 8px;\r
31
+ background: var(--content-background-color);\r
32
+ box-shadow: var(--top-shadow);\r
33
+ z-index: 10000000 !important;\r
34
+ padding: 8px;\r
35
+ }\r
36
+ \r
37
+ .ui-datepicker a {\r
38
+ text-decoration: none !important;\r
39
+ }\r
40
+ \r
41
+ .ui-datepicker option {\r
42
+ color: var(--color-text-1);\r
43
+ font-size: 14px;\r
44
+ }\r
45
+ \r
46
+ .ui-datepicker-header {\r
47
+ padding: 0 !important;\r
48
+ margin: 0 0 18px 0;\r
49
+ display: flex;\r
50
+ align-items: center;\r
51
+ }\r
52
+ \r
53
+ .ui-datepicker-header > * {\r
54
+ display: flex;\r
55
+ align-items: center;\r
56
+ justify-content: center;\r
57
+ }\r
58
+ \r
59
+ .ui-datepicker-title {\r
60
+ width: 100% !important;\r
61
+ height: 24px;\r
62
+ margin: 0 !important;\r
63
+ }\r
64
+ \r
65
+ .ui-datepicker-month,\r
66
+ .ui-datepicker-year {\r
67
+ outline: none !important;\r
68
+ width: auto !important;\r
69
+ border: none;\r
70
+ padding: 0;\r
71
+ margin: 0 6px !important;\r
72
+ text-align: center;\r
73
+ font-size: 16px !important;\r
74
+ }\r
75
+ \r
76
+ .ui-datepicker-month {\r
77
+ color: var(--color-text-1);\r
78
+ }\r
79
+ \r
80
+ .ui-datepicker-year {\r
81
+ color: var(--color-text-2);\r
82
+ }\r
83
+ \r
84
+ /* select.ui-datepicker-month,\r
85
+ select.ui-datepicker-year{ cursor: pointer; color: var(--color-blue-500); }*/\r
86
+ select.ui-datepicker-month,\r
87
+ select.ui-datepicker-year {\r
88
+ cursor: pointer;\r
89
+ }\r
90
+ \r
91
+ .ui-datepicker-prev,\r
92
+ .ui-datepicker-next {\r
93
+ cursor: pointer;\r
94
+ width: 24px !important;\r
95
+ height: 24px !important;\r
96
+ font-size: 24px;\r
97
+ font-family: "Topvisor-2";\r
98
+ position: static !important;\r
99
+ }\r
100
+ \r
101
+ .ui-datepicker-prev:before {\r
102
+ color: var(--color-icon-3);\r
103
+ content: "";\r
104
+ }\r
105
+ \r
106
+ .ui-datepicker-prev-hover:before {\r
107
+ color: var(--color-icon-1);\r
108
+ content: "";\r
109
+ }\r
110
+ \r
111
+ .ui-datepicker-next {\r
112
+ color: var(--color-icon-3);\r
113
+ order: 1;\r
114
+ }\r
115
+ \r
116
+ .ui-datepicker-next-hover {\r
117
+ color: var(--color-icon-1);\r
118
+ order: 1;\r
119
+ }\r
120
+ \r
121
+ .ui-datepicker-next:before {\r
122
+ content: "";\r
123
+ }\r
124
+ \r
125
+ .ui-datepicker-prev > *,\r
126
+ .ui-datepicker-next > * {\r
127
+ display: none !important;\r
128
+ }\r
129
+ \r
130
+ .ui-datepicker thead th {\r
131
+ width: auto !important;\r
132
+ padding: 0 !important;\r
133
+ color: var(--color-text-3);\r
134
+ font-size: 14px;\r
135
+ font-weight: 400 !important;\r
136
+ }\r
137
+ \r
138
+ .ui-datepicker table {\r
139
+ margin: 0 !important;\r
140
+ font-size: 14px;\r
141
+ }\r
142
+ \r
143
+ .ui-datepicker td {\r
144
+ color: var(--color-text-1);\r
145
+ background: none;\r
146
+ padding: 0 !important;\r
147
+ }\r
148
+ \r
149
+ .ui-datepicker td span,\r
150
+ .ui-datepicker td a {\r
151
+ border-radius: 8px;\r
152
+ border: none;\r
153
+ min-width: 32px;\r
154
+ height: 32px;\r
155
+ padding: 0;\r
156
+ margin: 1px;\r
157
+ color: var(--color-text-1) !important;\r
158
+ line-height: 32px;\r
159
+ text-align: center;\r
160
+ position: relative;\r
161
+ display: block;\r
162
+ }\r
163
+ \r
164
+ /* обычные даты */\r
165
+ .ui-datepicker td a {\r
166
+ background: var(--datepicker-day-color);\r
167
+ }\r
168
+ \r
169
+ .ui-datepicker td a:hover {\r
170
+ background: var(--datepicker-day-color-hover);\r
171
+ }\r
172
+ \r
173
+ /* текущий день */\r
174
+ td.ui-datepicker-today span,\r
175
+ td.ui-datepicker-today a {\r
176
+ background: none;\r
177
+ position: relative;\r
178
+ }\r
179
+ \r
180
+ /* выбранные даты */\r
181
+ .ui-datepicker td.selected a {\r
182
+ background: var(--datepicker-range-color);\r
183
+ padding-right: 0;\r
184
+ padding-left: 1px;\r
185
+ margin-right: 1px;\r
186
+ margin-left: 0;\r
187
+ }\r
188
+ \r
189
+ .ui-datepicker td.selected a:hover {\r
190
+ background: var(--datepicker-range-color-hover);\r
191
+ }\r
192
+ \r
193
+ .ui-datepicker td.selected:not(.selected-start):not(:first-child):not(.first-of-month) a {\r
194
+ border-top-left-radius: 0;\r
195
+ border-bottom-left-radius: 0;\r
196
+ padding-left: 1px;\r
197
+ margin-left: 0;\r
198
+ }\r
199
+ \r
200
+ .ui-datepicker td.selected:not(.selected-end):not(:last-child):not(.last-of-month) a {\r
201
+ border-top-right-radius: 0;\r
202
+ border-bottom-right-radius: 0;\r
203
+ padding-right: 1px;\r
204
+ margin-right: 0;\r
205
+ }\r
206
+ \r
207
+ .ui-datepicker td.selected-start a,\r
208
+ .ui-datepicker td.selected-end a,\r
209
+ .ui-datepicker td.ui-datepicker-current-day a {\r
210
+ background: var(--datepicker-selected-color);\r
211
+ color: #FFF !important;\r
212
+ }\r
213
+ \r
214
+ .ui-datepicker td.selected-start a:hover,\r
215
+ .ui-datepicker td.selected-end a:hover,\r
216
+ .ui-datepicker td.ui-datepicker-current-day a:hover {\r
217
+ background: var(--datepicker-selected-color-hover);\r
218
+ }\r
219
+ \r
220
+ .ui-datepicker-day-marks {\r
221
+ line-height: normal;\r
222
+ position: absolute;\r
223
+ right: 0;\r
224
+ bottom: 3px;\r
225
+ left: 0;\r
226
+ display: flex;\r
227
+ align-items: center;\r
228
+ justify-content: center;\r
229
+ }\r
230
+ \r
231
+ .ui-datepicker-day-marks > i {\r
232
+ border-radius: 50%;\r
233
+ border: 1px solid #FFF;\r
234
+ width: 4px;\r
235
+ height: 4px;\r
236
+ margin: 0 2px;\r
237
+ }\r
238
+ \r
239
+ .ui-datepicker-day-marks-exists {\r
240
+ background: var(--color-icon-primary-2);\r
241
+ }\r
242
+ \r
243
+ .ui-datepicker-day-marks-update {\r
244
+ background: var(--color-icon-negative-2);\r
245
+ }\r
246
+ \r
247
+ .ui-datepicker-row-break {\r
248
+ display: none;\r
249
+ }\r
250
+ `;
251
+ h(v);
252
+ const x = (t) => {
253
+ var r, n;
254
+ if (!((n = (r = d.$) == null ? void 0 : r.ui) != null && n.datepicker)) {
255
+ console.info("Для работы datepicker требуется глобальная загрузка jQuery UI Datepicker");
256
+ return;
257
+ }
258
+ return d.$.datepicker.setDefaults({
259
+ dateFormat: d.state.dateFormat.toLowerCase().replace("m", "mm").replace("y", "yy").replace("d", "dd")
260
+ }), d.$(t);
261
+ };
262
+ function w(t, r) {
263
+ var n;
264
+ return (n = x(t)) == null ? void 0 : n.datepicker(r);
265
+ }
266
+ let o, l, p, u;
267
+ k(g(d.state.dateFormat), () => {
268
+ var t;
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);
272
+ }, { immediate: !0 });
273
+ function F(t) {
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;
275
+ if (c > 0) {
276
+ e = e.substring(0, p);
277
+ const a = p - e.length;
278
+ i = i.substring(i.length - a);
279
+ } else c < 0 && (t.inputType === "deleteContentForward" ? e += "0".repeat(-c) : i = "0".repeat(-c) + i);
280
+ r = e.length, n = e + i;
281
+ for (let a = 0; a < u.length; a++) {
282
+ const s = u[a];
283
+ n = n.substring(0, s) + l + n.substring(s), r >= s && r++;
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);
286
+ }
287
+ export {
288
+ w as connectDatepicker,
289
+ F as oninput
290
+ };
291
+ //# sourceMappingURL=datepicker-Dmeojg66.es.js.map
@@ -0,0 +1 @@
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;"}