@topvisor/ui 1.0.8 → 1.0.9

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 (200) hide show
  1. package/.chunks/datepicker-Cs3C14z5.amd.js +248 -0
  2. package/.chunks/datepicker-Cs3C14z5.amd.js.map +1 -0
  3. package/.chunks/datepicker-LNkS97nF.es.js +290 -0
  4. package/.chunks/datepicker-LNkS97nF.es.js.map +1 -0
  5. package/.chunks/forms-BydHEF-k.es.js +1928 -0
  6. package/.chunks/forms-BydHEF-k.es.js.map +1 -0
  7. package/.chunks/forms-Cq5zFLsO.amd.js +3 -0
  8. package/.chunks/forms-Cq5zFLsO.amd.js.map +1 -0
  9. package/.chunks/listItem.vue_vue_type_script_setup_true_lang-B0xTxYZR.amd.js +2 -0
  10. package/.chunks/listItem.vue_vue_type_script_setup_true_lang-B0xTxYZR.amd.js.map +1 -0
  11. package/.chunks/listItem.vue_vue_type_script_setup_true_lang-DinMn3Ud.es.js +174 -0
  12. package/.chunks/listItem.vue_vue_type_script_setup_true_lang-DinMn3Ud.es.js.map +1 -0
  13. package/.chunks/menu.vue_vue_type_style_index_0_lang-BT-PgdJ5.amd.js +2 -0
  14. package/.chunks/menu.vue_vue_type_style_index_0_lang-BT-PgdJ5.amd.js.map +1 -0
  15. package/.chunks/menu.vue_vue_type_style_index_0_lang-C585WUlJ.es.js +109 -0
  16. package/.chunks/menu.vue_vue_type_style_index_0_lang-C585WUlJ.es.js.map +1 -0
  17. package/.chunks/{popup-D-G2sXks.es.js → popup-B7AaTfNZ.es.js} +494 -493
  18. package/.chunks/popup-B7AaTfNZ.es.js.map +1 -0
  19. package/.chunks/popup-D22VHVHf.amd.js +448 -0
  20. package/.chunks/popup-D22VHVHf.amd.js.map +1 -0
  21. package/.chunks/store-CX_6ZXhO.es.js.map +1 -1
  22. package/.chunks/store-esTid5oI.amd.js.map +1 -1
  23. package/README.md +86 -86
  24. package/assets/charts.css +1 -0
  25. package/assets/core.css +1 -1
  26. package/assets/forms.css +1 -1
  27. package/assets/project.css +1 -1
  28. package/assets/tabsView.css +1 -1
  29. package/assets/themes/dark.css +1 -1
  30. package/assets/themes/light.css +1 -1
  31. package/charts/charts.amd.js +2 -0
  32. package/charts/charts.amd.js.map +1 -0
  33. package/charts/charts.d.ts +2 -0
  34. package/charts/charts.js +120 -0
  35. package/charts/charts.js.map +1 -0
  36. package/components/charts/charts.d.ts +3 -0
  37. package/components/charts/miniChart/miniChart.d.ts +80 -0
  38. package/components/charts/miniChart/miniChart.vue.d.ts +15 -0
  39. package/components/charts/miniChart/stories/dummy.d.ts +13 -0
  40. package/components/charts/miniChart/utils/consts.d.ts +8 -0
  41. package/components/formsExt/selector2/selector2.vue.d.ts +16 -20
  42. package/components/popup/alert/alert.vue.d.ts +8 -7
  43. package/components/popup/confirm/confirm.d.ts +1 -1
  44. package/components/popup/confirm/confirm.vue.d.ts +8 -7
  45. package/components/popup/lib/popup.d.ts +1 -1
  46. package/components/popup/popup/popup.d.ts +8 -4
  47. package/components/popup/popup/popup.vue.d.ts +8 -8
  48. package/components/popup/prompt/prompt.d.ts +1 -1
  49. package/components/popup/prompt/prompt.vue.d.ts +8 -7
  50. package/components/project/project.d.ts +9 -0
  51. package/components/project/tagSelector/popupListItem/tagPopupListItem.vue.d.ts +18 -0
  52. package/components/project/tagSelector/popupListItem/types.d.ts +33 -0
  53. package/components/project/tagSelector/popupOpener/popupOpener.vue.d.ts +26 -0
  54. package/components/project/tagSelector/popupOpener/types.d.ts +62 -0
  55. package/components/project/tagSelector/tagIcon/tagIcon.vue.d.ts +4 -0
  56. package/components/project/tagSelector/tagIcon/types.d.ts +21 -0
  57. package/components/project/tagSelector/tagSelector.vue.d.ts +37 -0
  58. package/components/project/tagSelector/tagsDefaults.d.ts +3 -0
  59. package/components/project/tagSelector/types.d.ts +138 -0
  60. package/components/project/tagSelector/utils/el.d.ts +19 -0
  61. package/components/project/tagSelector/utils/utils.d.ts +14 -0
  62. package/core/app.amd.js +1 -1
  63. package/core/app.amd.js.map +1 -1
  64. package/core/app.js +52 -45
  65. package/core/app.js.map +1 -1
  66. package/core/core/core.d.ts +4 -0
  67. package/core/directives/data.d.ts +10 -0
  68. package/core/utils/route.d.ts +1 -1
  69. package/forms/forms.amd.js +1 -1
  70. package/forms/forms.js +5 -5
  71. package/forms/helpers.amd.js.map +1 -1
  72. package/forms/helpers.js.map +1 -1
  73. package/formsExt/formsExt.amd.js +1 -1
  74. package/formsExt/formsExt.amd.js.map +1 -1
  75. package/formsExt/formsExt.js +121 -166
  76. package/formsExt/formsExt.js.map +1 -1
  77. package/icomoon/Read Me.txt +7 -7
  78. package/icomoon/Topvisor icons.json +5845 -5845
  79. package/icomoon/demo-files/demo.css +161 -161
  80. package/icomoon/demo-files/demo.js +30 -30
  81. package/icomoon/demo.html +3379 -3379
  82. package/icomoon/fonts/Topvisor-2.svg +263 -263
  83. package/icomoon/style.css +740 -740
  84. package/package.json +37 -37
  85. package/popup/popup.amd.js +1 -1
  86. package/popup/popup.amd.js.map +1 -1
  87. package/popup/popup.js +103 -108
  88. package/popup/popup.js.map +1 -1
  89. package/popup/worker.amd.js +1 -1
  90. package/popup/worker.amd.js.map +1 -1
  91. package/popup/worker.js +2 -2
  92. package/popup/worker.js.map +1 -1
  93. package/project/project.amd.js +1 -1
  94. package/project/project.amd.js.map +1 -1
  95. package/project/project.js +814 -262
  96. package/project/project.js.map +1 -1
  97. package/require/css.amd.js +12 -12
  98. package/tabs/tabs.amd.js +1 -1
  99. package/tabs/tabs.amd.js.map +1 -1
  100. package/tabs/tabs.js +41 -59
  101. package/tabs/tabs.js.map +1 -1
  102. package/tabsView/tabsView.amd.js +1 -1
  103. package/tabsView/tabsView.amd.js.map +1 -1
  104. package/tabsView/tabsView.js +144 -183
  105. package/tabsView/tabsView.js.map +1 -1
  106. package/utils/check.amd.js +1 -1
  107. package/utils/check.amd.js.map +1 -1
  108. package/utils/check.js +1 -1
  109. package/utils/check.js.map +1 -1
  110. package/utils/clipboard.amd.js.map +1 -1
  111. package/utils/clipboard.js.map +1 -1
  112. package/utils/date.amd.js +1 -1
  113. package/utils/date.js +1 -1
  114. package/utils/device.amd.js +1 -1
  115. package/utils/device.js +1 -1
  116. package/utils/dom.amd.js.map +1 -1
  117. package/utils/dom.js.map +1 -1
  118. package/utils/image.amd.js.map +1 -1
  119. package/utils/image.js.map +1 -1
  120. package/utils/keyboard.amd.js.map +1 -1
  121. package/utils/keyboard.js.map +1 -1
  122. package/utils/lodash.amd.js +1 -1
  123. package/utils/lodash.js +5 -5
  124. package/utils/number.amd.js.map +1 -1
  125. package/utils/number.js.map +1 -1
  126. package/utils/price.amd.js +1 -1
  127. package/utils/price.amd.js.map +1 -1
  128. package/utils/price.js +1 -1
  129. package/utils/price.js.map +1 -1
  130. package/utils/route.amd.js +1 -1
  131. package/utils/route.amd.js.map +1 -1
  132. package/utils/route.js +15 -15
  133. package/utils/route.js.map +1 -1
  134. package/utils/scroll.amd.js.map +1 -1
  135. package/utils/scroll.js.map +1 -1
  136. package/utils/searchers.amd.js.map +1 -1
  137. package/utils/searchers.js.map +1 -1
  138. package/utils/string.amd.js +1 -1
  139. package/utils/string.amd.js.map +1 -1
  140. package/utils/string.js +1 -1
  141. package/utils/string.js.map +1 -1
  142. package/utils/system.amd.js.map +1 -1
  143. package/utils/system.js.map +1 -1
  144. package/utils/url.amd.js.map +1 -1
  145. package/utils/url.js.map +1 -1
  146. package/web-types.json +89 -72
  147. package/.chunks/datepicker-CRfiJCmp.amd.js +0 -248
  148. package/.chunks/datepicker-CRfiJCmp.amd.js.map +0 -1
  149. package/.chunks/datepicker-CugKFVIH.es.js +0 -290
  150. package/.chunks/datepicker-CugKFVIH.es.js.map +0 -1
  151. package/.chunks/forms-CHiMZ8vg.es.js +0 -2015
  152. package/.chunks/forms-CHiMZ8vg.es.js.map +0 -1
  153. package/.chunks/forms-CjYoXTEQ.amd.js +0 -3
  154. package/.chunks/forms-CjYoXTEQ.amd.js.map +0 -1
  155. package/.chunks/listItem.vue_vue_type_script_setup_true_lang-Bb7B8CTJ.es.js +0 -174
  156. package/.chunks/listItem.vue_vue_type_script_setup_true_lang-Bb7B8CTJ.es.js.map +0 -1
  157. package/.chunks/listItem.vue_vue_type_script_setup_true_lang-CEF3WDJ_.amd.js +0 -2
  158. package/.chunks/listItem.vue_vue_type_script_setup_true_lang-CEF3WDJ_.amd.js.map +0 -1
  159. package/.chunks/menu-CHeV29rC.es.js +0 -118
  160. package/.chunks/menu-CHeV29rC.es.js.map +0 -1
  161. package/.chunks/menu-D1lnYuWU.amd.js +0 -2
  162. package/.chunks/menu-D1lnYuWU.amd.js.map +0 -1
  163. package/.chunks/popup-C4Tne4qA.amd.js +0 -447
  164. package/.chunks/popup-C4Tne4qA.amd.js.map +0 -1
  165. package/.chunks/popup-D-G2sXks.es.js.map +0 -1
  166. package/.chunks/utils-BOlUthaH.es.js +0 -91
  167. package/.chunks/utils-BOlUthaH.es.js.map +0 -1
  168. package/.chunks/utils-x88W55mf.amd.js +0 -2
  169. package/.chunks/utils-x88W55mf.amd.js.map +0 -1
  170. package/components/project/utils.d.ts +0 -1
  171. package/core/core.amd.js +0 -2
  172. package/core/core.amd.js.map +0 -1
  173. package/core/core.d.ts +0 -4
  174. package/core/core.js +0 -6
  175. package/core/core.js.map +0 -1
  176. package/project/utils.amd.js +0 -2
  177. package/project/utils.amd.js.map +0 -1
  178. package/project/utils.d.ts +0 -2
  179. package/project/utils.js +0 -6
  180. package/project/utils.js.map +0 -1
  181. package/test/themes/themes/dark-positions.amd.js +0 -2
  182. package/test/themes/themes/dark-positions.amd.js.map +0 -1
  183. package/test/themes/themes/dark-positions.d.ts +0 -1
  184. package/test/themes/themes/dark-positions.js +0 -2
  185. package/test/themes/themes/dark-positions.js.map +0 -1
  186. package/test/themes/themes/dark.amd.js +0 -2
  187. package/test/themes/themes/dark.amd.js.map +0 -1
  188. package/test/themes/themes/dark.d.ts +0 -1
  189. package/test/themes/themes/dark.js +0 -4
  190. package/test/themes/themes/dark.js.map +0 -1
  191. package/test/themes/themes/light-positions.amd.js +0 -2
  192. package/test/themes/themes/light-positions.amd.js.map +0 -1
  193. package/test/themes/themes/light-positions.d.ts +0 -1
  194. package/test/themes/themes/light-positions.js +0 -2
  195. package/test/themes/themes/light-positions.js.map +0 -1
  196. package/test/themes/themes/light.amd.js +0 -2
  197. package/test/themes/themes/light.amd.js.map +0 -1
  198. package/test/themes/themes/light.d.ts +0 -1
  199. package/test/themes/themes/light.js +0 -4
  200. package/test/themes/themes/light.js.map +0 -1
@@ -0,0 +1,248 @@
1
+ define(["require","exports","vue","./forms-Cq5zFLsO.amd"],function(x,k,c,r){"use strict";if(typeof c>"u")var c=window.Vue;r.Core.insertStyleToPage(`/* ui-datepicker */
2
+ .ui-datepicker {
3
+ --datepicker-day-color: var(--color-layout-front-1);
4
+ --datepicker-day-color-hover: var(--color-layer-1);
5
+ --datepicker-selected-color: var(--color-bg-primary-1);
6
+ --datepicker-selected-color-hover: var(--color-bg-primary-2);
7
+ --datepicker-range-color: var(--color-layer-primary-1);
8
+ --datepicker-range-color-hover: var(--color-layer-primary-2);
9
+
10
+ user-select: none;
11
+ width: auto;
12
+ padding: 0;
13
+ }
14
+
15
+ .ui-datepicker:before,
16
+ .ui-datepicker:after {
17
+ display: none;
18
+ }
19
+
20
+ /* на странице */
21
+ .ui-datepicker-inline {
22
+ display: inline-block !important;
23
+ }
24
+
25
+ /* в popup */
26
+ .ui-datepicker:not(.ui-datepicker-inline) {
27
+ border-radius: 8px;
28
+ background: var(--color-layout-front-1);
29
+ box-shadow: var(--top-shadow);
30
+ z-index: 10000000 !important;
31
+ padding: 8px;
32
+ }
33
+
34
+ .ui-datepicker a {
35
+ text-decoration: none !important;
36
+ }
37
+
38
+ .ui-datepicker option {
39
+ color: var(--color-text-1);
40
+ font-size: 14px;
41
+ }
42
+
43
+ .ui-datepicker-header {
44
+ padding: 0 !important;
45
+ margin: 0 0 18px 0;
46
+ display: flex;
47
+ align-items: center;
48
+ }
49
+
50
+ .ui-datepicker-header > * {
51
+ display: flex;
52
+ align-items: center;
53
+ justify-content: center;
54
+ }
55
+
56
+ .ui-datepicker-title {
57
+ width: 100% !important;
58
+ height: 24px;
59
+ margin: 0 !important;
60
+ }
61
+
62
+ .ui-datepicker-month,
63
+ .ui-datepicker-year {
64
+ outline: none !important;
65
+ width: auto !important;
66
+ border: none;
67
+ padding: 0;
68
+ margin: 0 6px !important;
69
+ text-align: center;
70
+ font-size: 16px !important;
71
+ }
72
+
73
+ .ui-datepicker-month {
74
+ color: var(--color-text-1);
75
+ }
76
+
77
+ .ui-datepicker-year {
78
+ color: var(--color-text-2);
79
+ }
80
+
81
+ /* select.ui-datepicker-month,
82
+ select.ui-datepicker-year{ cursor: pointer; color: var(--color-blue-500); }*/
83
+ select.ui-datepicker-month,
84
+ select.ui-datepicker-year {
85
+ cursor: pointer;
86
+ }
87
+
88
+ .ui-datepicker-prev,
89
+ .ui-datepicker-next {
90
+ cursor: pointer;
91
+ width: 24px !important;
92
+ height: 24px !important;
93
+ font-size: 24px;
94
+ font-family: "Topvisor-2";
95
+ position: static !important;
96
+ }
97
+
98
+ .ui-datepicker-prev:before {
99
+ color: var(--color-text-3);
100
+ content: "";
101
+ }
102
+
103
+ .ui-datepicker-prev-hover:before {
104
+ color: var(--color-text-1);
105
+ content: "";
106
+ }
107
+
108
+ .ui-datepicker-next {
109
+ color: var(--color-text-3);
110
+ order: 1;
111
+ }
112
+
113
+ .ui-datepicker-next-hover {
114
+ color: var(--color-text-1);
115
+ order: 1;
116
+ }
117
+
118
+ .ui-datepicker-next:before {
119
+ content: "";
120
+ }
121
+
122
+ .ui-datepicker-prev > *,
123
+ .ui-datepicker-next > * {
124
+ display: none !important;
125
+ }
126
+
127
+ .ui-datepicker thead th {
128
+ width: auto !important;
129
+ padding: 0 !important;
130
+ color: var(--color-text-3);
131
+ font-size: 14px;
132
+ font-weight: 400 !important;
133
+ }
134
+
135
+ .ui-datepicker table {
136
+ margin: 0 !important;
137
+ font-size: 14px;
138
+ }
139
+
140
+ .ui-datepicker td {
141
+ color: var(--color-text-1);
142
+ background: none;
143
+ padding: 0 !important;
144
+ }
145
+
146
+ .ui-datepicker td span,
147
+ .ui-datepicker td a {
148
+ border-radius: 8px;
149
+ border: none;
150
+ min-width: 32px;
151
+ height: 32px;
152
+ padding: 0;
153
+ margin: 1px;
154
+ color: var(--color-text-1) !important;
155
+ line-height: 32px;
156
+ text-align: center;
157
+ position: relative;
158
+ display: block;
159
+ }
160
+
161
+ /* обычные даты */
162
+ .ui-datepicker td a {
163
+ background: var(--datepicker-day-color);
164
+ }
165
+
166
+ .ui-datepicker td a:hover {
167
+ background: var(--datepicker-day-color-hover);
168
+ }
169
+
170
+ /* текущий день */
171
+ td.ui-datepicker-today span,
172
+ td.ui-datepicker-today a {
173
+ background: none;
174
+ position: relative;
175
+ }
176
+
177
+ /* выбранные даты */
178
+ .ui-datepicker td.selected a {
179
+ background: var(--datepicker-range-color);
180
+ padding-right: 0;
181
+ padding-left: 1px;
182
+ margin-right: 1px;
183
+ margin-left: 0;
184
+ }
185
+
186
+ .ui-datepicker td.selected a:hover {
187
+ background: var(--datepicker-range-color-hover);
188
+ }
189
+
190
+ .ui-datepicker td.selected:not(.selected-start):not(:first-child):not(.first-of-month) a {
191
+ border-top-left-radius: 0;
192
+ border-bottom-left-radius: 0;
193
+ padding-left: 1px;
194
+ margin-left: 0;
195
+ }
196
+
197
+ .ui-datepicker td.selected:not(.selected-end):not(:last-child):not(.last-of-month) a {
198
+ border-top-right-radius: 0;
199
+ border-bottom-right-radius: 0;
200
+ padding-right: 1px;
201
+ margin-right: 0;
202
+ }
203
+
204
+ .ui-datepicker td.selected-start a,
205
+ .ui-datepicker td.selected-end a,
206
+ .ui-datepicker td.ui-datepicker-current-day a {
207
+ background: var(--datepicker-selected-color);
208
+ color: #FFF !important;
209
+ }
210
+
211
+ .ui-datepicker td.selected-start a:hover,
212
+ .ui-datepicker td.selected-end a:hover,
213
+ .ui-datepicker td.ui-datepicker-current-day a:hover {
214
+ background: var(--datepicker-selected-color-hover);
215
+ }
216
+
217
+ .ui-datepicker-day-marks {
218
+ line-height: normal;
219
+ position: absolute;
220
+ right: 0;
221
+ bottom: 3px;
222
+ left: 0;
223
+ display: flex;
224
+ align-items: center;
225
+ justify-content: center;
226
+ }
227
+
228
+ .ui-datepicker-day-marks > i {
229
+ border-radius: 50%;
230
+ border: 1px solid #FFF;
231
+ width: 4px;
232
+ height: 4px;
233
+ margin: 0 2px;
234
+ }
235
+
236
+ .ui-datepicker-day-marks-exists {
237
+ background: var(--color-text-primary);
238
+ }
239
+
240
+ .ui-datepicker-day-marks-update {
241
+ background: var(--color-text-negative);
242
+ }
243
+
244
+ .ui-datepicker-row-break {
245
+ display: none;
246
+ }
247
+ `);const h=e=>{var t,n;if(!((n=(t=r.Core.$)==null?void 0:t.ui)!=null&&n.datepicker)){console.info("Для работы datepicker требуется глобальная загрузка jQuery UI Datepicker");return}return r.Core.$.datepicker.setDefaults({dateFormat:r.Core.state.dateFormat.toLowerCase().replace("m","mm").replace("y","yy").replace("d","dd")}),r.Core.$(e)};function m(e,t){var n;return(n=h(e))==null?void 0:n.datepicker(t)}let o,p,l,u;c.watch(c.toRef(r.Core.state.dateFormat),()=>{var e;o=r.dateFormat("2000-01-01"),p=((e=o.match(/\D/))==null?void 0:e[0])??"-",l=o.replace(/\D+/g,"").length,u=[];for(let t=0;t<o.length;t++)o[t]===p&&u.push(t)},{immediate:!0});function v(e){let t=e.target.selectionEnd,n=e.target.value,i=n.substring(0,t).replace(/\D+/g,""),a=n.substring(t).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&&(e.inputType==="deleteContentForward"?i+="0".repeat(-s):a="0".repeat(-s)+a);t=i.length,n=i+a;for(let d=0;d<u.length;d++){const g=u[d];n=n.substring(0,g)+p+n.substring(g),t>=g&&t++}e.inputType==="deleteContentBackward"&&n[t-1]===p&&t--,n!==e.target.value&&(e.target.value=n,e.target.selectionStart=t,e.target.selectionEnd=t)}k.connectDatepicker=m,k.oninput=v,Object.defineProperty(k,Symbol.toStringTag,{value:"Module"})});
248
+ //# sourceMappingURL=datepicker-Cs3C14z5.amd.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"datepicker-Cs3C14z5.amd.js","sources":["../../src/components/forms/inputDate/datepicker.ts","../../src/components/forms/inputDate/datepicker.css?raw"],"sourcesContent":["import { toRef, watch } from 'vue';\nimport Core from '@/core/core/core';\nimport { dateFormat } from '@/core/utils/date';\n\nimport css from '@/components/forms/inputDate/datepicker.css?raw';\n\nCore.insertStyleToPage(css);\n\nconst $ = (el: HTMLInputElement) => {\n\tif (!Core.$?.ui?.datepicker) {\n\t\tconsole.info('Для работы datepicker требуется глобальная загрузка jQuery UI Datepicker');\n\n\t\treturn;\n\t}\n\n\tCore.$.datepicker.setDefaults({\n\t\tdateFormat: Core.state.dateFormat.toLowerCase().replace('m', 'mm').replace('y', 'yy').replace('d', 'dd'),\n\t});\n\n\treturn Core.$(el);\n};\n\nexport function connectDatepicker(el: HTMLInputElement, options: any) {\n\treturn $(el)?.datepicker(options);\n}\n\nlet dateFormatted;\nlet delimiter: string;\nlet dateNumbersCount: number;\nlet delimitersIndexes: number[];\n\nwatch(toRef(Core.state.dateFormat), () => {\n\t// генерация отформатированной даты, извлечение из нее разделителей и их индексов\n\tdateFormatted = dateFormat('2000-01-01');\n\tdelimiter = dateFormatted.match(/\\D/)?.[0] ?? '-';\n\tdateNumbersCount = dateFormatted.replace(/\\D+/g, '').length;\n\tdelimitersIndexes = [];\n\n\tfor (let i = 0; i < dateFormatted.length; i++) {\n\t\tif (dateFormatted[i] === delimiter) {\n\t\t\tdelimitersIndexes.push(i);\n\t\t}\n\t}\n}, { immediate: true });\n\n/**\n * Автоформат при вводе в поле с датой\n */\nexport function oninput(e: any) {\n\tlet selectionPos = e.target.selectionEnd;\n\tlet value = e.target.value;\n\n\t// разбить занчение на две половины - до и после каретки\n\t// удалить все символы, кроме цифр\n\tlet valueChunkLeft = value.substring(0, selectionPos).replace(/\\D+/g, '');\n\tlet valueChunkRight = value.substring(selectionPos).replace(/\\D+/g, '');\n\n\tlet extraNumbersCount = valueChunkLeft.length + valueChunkRight.length - dateNumbersCount;\n\tif (extraNumbersCount > 0) {\n\t\t// // количество цифр больше требуемого - удалить лишние\n\t\tvalueChunkLeft = valueChunkLeft.substring(0, dateNumbersCount);\n\n\t\tconst valueChunkRightMaxLength = dateNumbersCount - valueChunkLeft.length;\n\t\tvalueChunkRight = valueChunkRight.substring(valueChunkRight.length - valueChunkRightMaxLength);\n\t} else if (extraNumbersCount < 0) {\n\t\t// количество цифр меньше требуемого - добавить 0\n\t\tif (e.inputType === 'deleteContentForward') {\n\t\t\t// нажатие на delete - добавить к левой части для правильного позиционирования каретки\n\t\t\tvalueChunkLeft += '0'.repeat(-extraNumbersCount);\n\t\t} else {\n\t\t\tvalueChunkRight = '0'.repeat(-extraNumbersCount) + valueChunkRight;\n\t\t}\n\t}\n\n\tselectionPos = valueChunkLeft.length;\n\tvalue = valueChunkLeft + valueChunkRight;\n\n\t// вставить разделители\n\tfor (let i = 0; i < delimitersIndexes.length; i++) {\n\t\tconst delimiterIndex = delimitersIndexes[i];\n\n\t\tvalue = value.substring(0, delimiterIndex) + delimiter + value.substring(delimiterIndex);\n\n\t\t// сдвинуть каретку, если разделитель вставлен левее ее\n\t\tif (selectionPos >= delimiterIndex) {\n\t\t\tselectionPos++;\n\t\t}\n\t}\n\n\t// нажатие на backspace - если слева символ разделителя, перенести каретку за него\n\tif (e.inputType === 'deleteContentBackward' && value[selectionPos - 1] === delimiter) {\n\t\tselectionPos--;\n\t}\n\n\t// если значение изменилось - вставить его и переместить каретку\n\tif (value !== e.target.value) {\n\t\te.target.value = value;\n\t\te.target.selectionStart = selectionPos;\n\t\te.target.selectionEnd = selectionPos;\n\t}\n}\n","export default \"/* ui-datepicker */\\n.ui-datepicker {\\n\\t--datepicker-day-color: var(--color-layout-front-1);\\n\\t--datepicker-day-color-hover: var(--color-layer-1);\\n\\t--datepicker-selected-color: var(--color-bg-primary-1);\\n\\t--datepicker-selected-color-hover: var(--color-bg-primary-2);\\n\\t--datepicker-range-color: var(--color-layer-primary-1);\\n\\t--datepicker-range-color-hover: var(--color-layer-primary-2);\\n\\n\\tuser-select: none;\\n\\twidth: auto;\\n\\tpadding: 0;\\n}\\n\\n.ui-datepicker:before,\\n.ui-datepicker:after {\\n\\tdisplay: none;\\n}\\n\\n/* на странице */\\n.ui-datepicker-inline {\\n\\tdisplay: inline-block !important;\\n}\\n\\n/* в popup */\\n.ui-datepicker:not(.ui-datepicker-inline) {\\n\\tborder-radius: 8px;\\n\\tbackground: var(--color-layout-front-1);\\n\\tbox-shadow: var(--top-shadow);\\n\\tz-index: 10000000 !important;\\n\\tpadding: 8px;\\n}\\n\\n.ui-datepicker a {\\n\\ttext-decoration: none !important;\\n}\\n\\n.ui-datepicker option {\\n\\tcolor: var(--color-text-1);\\n\\tfont-size: 14px;\\n}\\n\\n.ui-datepicker-header {\\n\\tpadding: 0 !important;\\n\\tmargin: 0 0 18px 0;\\n\\tdisplay: flex;\\n\\talign-items: center;\\n}\\n\\n.ui-datepicker-header > * {\\n\\tdisplay: flex;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\\n.ui-datepicker-title {\\n\\twidth: 100% !important;\\n\\theight: 24px;\\n\\tmargin: 0 !important;\\n}\\n\\n.ui-datepicker-month,\\n.ui-datepicker-year {\\n\\toutline: none !important;\\n\\twidth: auto !important;\\n\\tborder: none;\\n\\tpadding: 0;\\n\\tmargin: 0 6px !important;\\n\\ttext-align: center;\\n\\tfont-size: 16px !important;\\n}\\n\\n.ui-datepicker-month {\\n\\tcolor: var(--color-text-1);\\n}\\n\\n.ui-datepicker-year {\\n\\tcolor: var(--color-text-2);\\n}\\n\\n/*\\tselect.ui-datepicker-month,\\nselect.ui-datepicker-year{ cursor: pointer; color: var(--color-blue-500); }*/\\nselect.ui-datepicker-month,\\nselect.ui-datepicker-year {\\n\\tcursor: pointer;\\n}\\n\\n.ui-datepicker-prev,\\n.ui-datepicker-next {\\n\\tcursor: pointer;\\n\\twidth: 24px !important;\\n\\theight: 24px !important;\\n\\tfont-size: 24px;\\n\\tfont-family: \\\"Topvisor-2\\\";\\n\\tposition: static !important;\\n}\\n\\n.ui-datepicker-prev:before {\\n\\tcolor: var(--color-text-3);\\n\\tcontent: \\\"\\\";\\n}\\n\\n.ui-datepicker-prev-hover:before {\\n\\tcolor: var(--color-text-1);\\n\\tcontent: \\\"\\\";\\n}\\n\\n.ui-datepicker-next {\\n\\tcolor: var(--color-text-3);\\n\\torder: 1;\\n}\\n\\n.ui-datepicker-next-hover {\\n\\tcolor: var(--color-text-1);\\n\\torder: 1;\\n}\\n\\n.ui-datepicker-next:before {\\n\\tcontent: \\\"\\\";\\n}\\n\\n.ui-datepicker-prev > *,\\n.ui-datepicker-next > * {\\n\\tdisplay: none !important;\\n}\\n\\n.ui-datepicker thead th {\\n\\twidth: auto !important;\\n\\tpadding: 0 !important;\\n\\tcolor: var(--color-text-3);\\n\\tfont-size: 14px;\\n\\tfont-weight: 400 !important;\\n}\\n\\n.ui-datepicker table {\\n\\tmargin: 0 !important;\\n\\tfont-size: 14px;\\n}\\n\\n.ui-datepicker td {\\n\\tcolor: var(--color-text-1);\\n\\tbackground: none;\\n\\tpadding: 0 !important;\\n}\\n\\n.ui-datepicker td span,\\n.ui-datepicker td a {\\n\\tborder-radius: 8px;\\n\\tborder: none;\\n\\tmin-width: 32px;\\n\\theight: 32px;\\n\\tpadding: 0;\\n\\tmargin: 1px;\\n\\tcolor: var(--color-text-1) !important;\\n\\tline-height: 32px;\\n\\ttext-align: center;\\n\\tposition: relative;\\n\\tdisplay: block;\\n}\\n\\n/* обычные даты */\\n.ui-datepicker td a {\\n\\tbackground: var(--datepicker-day-color);\\n}\\n\\n.ui-datepicker td a:hover {\\n\\tbackground: var(--datepicker-day-color-hover);\\n}\\n\\n/* текущий день */\\ntd.ui-datepicker-today span,\\ntd.ui-datepicker-today a {\\n\\tbackground: none;\\n\\tposition: relative;\\n}\\n\\n/* выбранные даты */\\n.ui-datepicker td.selected a {\\n\\tbackground: var(--datepicker-range-color);\\n\\tpadding-right: 0;\\n\\tpadding-left: 1px;\\n\\tmargin-right: 1px;\\n\\tmargin-left: 0;\\n}\\n\\n.ui-datepicker td.selected a:hover {\\n\\tbackground: var(--datepicker-range-color-hover);\\n}\\n\\n.ui-datepicker td.selected:not(.selected-start):not(:first-child):not(.first-of-month) a {\\n\\tborder-top-left-radius: 0;\\n\\tborder-bottom-left-radius: 0;\\n\\tpadding-left: 1px;\\n\\tmargin-left: 0;\\n}\\n\\n.ui-datepicker td.selected:not(.selected-end):not(:last-child):not(.last-of-month) a {\\n\\tborder-top-right-radius: 0;\\n\\tborder-bottom-right-radius: 0;\\n\\tpadding-right: 1px;\\n\\tmargin-right: 0;\\n}\\n\\n.ui-datepicker td.selected-start a,\\n.ui-datepicker td.selected-end a,\\n.ui-datepicker td.ui-datepicker-current-day a {\\n\\tbackground: var(--datepicker-selected-color);\\n\\tcolor: #FFF !important;\\n}\\n\\n.ui-datepicker td.selected-start a:hover,\\n.ui-datepicker td.selected-end a:hover,\\n.ui-datepicker td.ui-datepicker-current-day a:hover {\\n\\tbackground: var(--datepicker-selected-color-hover);\\n}\\n\\n.ui-datepicker-day-marks {\\n\\tline-height: normal;\\n\\tposition: absolute;\\n\\tright: 0;\\n\\tbottom: 3px;\\n\\tleft: 0;\\n\\tdisplay: flex;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\\n.ui-datepicker-day-marks > i {\\n\\tborder-radius: 50%;\\n\\tborder: 1px solid #FFF;\\n\\twidth: 4px;\\n\\theight: 4px;\\n\\tmargin: 0 2px;\\n}\\n\\n.ui-datepicker-day-marks-exists {\\n\\tbackground: var(--color-text-primary);\\n}\\n\\n.ui-datepicker-day-marks-update {\\n\\tbackground: var(--color-text-negative);\\n}\\n\\n.ui-datepicker-row-break {\\n\\tdisplay: none;\\n}\\n\""],"names":["Core","$","el","forms","connectDatepicker","options","dateFormatted","delimiter","dateNumbersCount","delimitersIndexes","watch","_a","i","valueChunkLeft","value","selectionPos","valueChunkRight","extraNumbersCount","valueChunkRightMaxLength","delimiterIndex"],"mappings":"0HAMAA,EAAAA,KAAAA,kBCNA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,CDMAA,EAEA,MAAAC,EAAAC,GAAA,uEAEE,QAAA,KAAA,0EAAA,EAEA,OAGD,OAAAC,EAAA,KAAA,EAAA,WAAA,YAAA,CAA8B,WAAAA,EAAA,KAAA,MAAA,WAAA,YAAA,EAAA,QAAA,IAAA,IAAA,EAAA,QAAA,IAAA,IAAA,EAAA,QAAA,IAAA,IAAA,CAC0E,CAAA,EAGxGA,EAAA,KAAA,EAAAD,CAAA,CACD,EAEgB,SAAAE,EAAAF,EAAAG,EAAA,mDAIhB,IAAAC,EACAC,EACAC,EACAC,EAEAC,EAAAA,MAAAA,EAAAA,MAAAA,EAAAA,KAAAA,MAAAA,UAAAA,EAAAA,IAAAA,OAECJ,EAAAH,EAAA,WAAA,YAAA,EACAI,IAAAI,EAAAL,EAAA,MAAA,IAAA,IAAA,YAAAK,EAAA,KAAA,IACAH,EAAAF,EAAA,QAAA,OAAA,EAAA,EAAA,YAGA,QAAAM,EAAA,EAAAA,EAAAN,EAAA,OAAAM,IACCN,EAAAM,CAAA,IAAAL,GACCE,EAAA,KAAAG,CAAA,CAGH,EAAA,CAAA,UAAA,EAAA,CAAA,6DAWCC,EAAAC,EAAA,UAAA,EAAAC,CAAA,EAAA,QAAA,OAAA,EAAA,EACAC,EAAAF,EAAA,UAAAC,CAAA,EAAA,QAAA,OAAA,EAAA,EAEAE,EAAAJ,EAAA,OAAAG,EAAA,OAAAR,EACA,GAAAS,EAAA,EAAA,uCAKCD,EAAAA,EAAA,UAAAA,EAAA,OAAAE,CAAA,CAA6F,MAAAD,EAAA,IAG7F,EAAA,YAAA,6DAQDF,EAAAF,EAAA,OACAC,EAAAD,EAAAG,EAGA,QAAAJ,EAAA,EAAAA,EAAAH,EAAA,OAAAG,IAAA,CACC,MAAAO,EAAAV,EAAAG,CAAA,EAEAE,EAAAA,EAAA,UAAA,EAAAK,CAAA,EAAAZ,EAAAO,EAAA,UAAAK,CAAA,EAGAJ,GAAAI,OAMD,EAAA,YAAA,yBAAAL,EAAAC,EAAA,CAAA,IAAAR,4BAMC,EAAA,OAAA,MAAAO,EACA,EAAA,OAAA,eAAAC,EACA,EAAA,OAAA,aAAAA,EAEF"}
@@ -0,0 +1,290 @@
1
+ import { watch as k, toRef as g } from "vue";
2
+ import { C as a, d as m } from "./forms-BydHEF-k.es.js";
3
+ const h = `/* ui-datepicker */
4
+ .ui-datepicker {
5
+ --datepicker-day-color: var(--color-layout-front-1);
6
+ --datepicker-day-color-hover: var(--color-layer-1);
7
+ --datepicker-selected-color: var(--color-bg-primary-1);
8
+ --datepicker-selected-color-hover: var(--color-bg-primary-2);
9
+ --datepicker-range-color: var(--color-layer-primary-1);
10
+ --datepicker-range-color-hover: var(--color-layer-primary-2);
11
+
12
+ user-select: none;
13
+ width: auto;
14
+ padding: 0;
15
+ }
16
+
17
+ .ui-datepicker:before,
18
+ .ui-datepicker:after {
19
+ display: none;
20
+ }
21
+
22
+ /* на странице */
23
+ .ui-datepicker-inline {
24
+ display: inline-block !important;
25
+ }
26
+
27
+ /* в popup */
28
+ .ui-datepicker:not(.ui-datepicker-inline) {
29
+ border-radius: 8px;
30
+ background: var(--color-layout-front-1);
31
+ box-shadow: var(--top-shadow);
32
+ z-index: 10000000 !important;
33
+ padding: 8px;
34
+ }
35
+
36
+ .ui-datepicker a {
37
+ text-decoration: none !important;
38
+ }
39
+
40
+ .ui-datepicker option {
41
+ color: var(--color-text-1);
42
+ font-size: 14px;
43
+ }
44
+
45
+ .ui-datepicker-header {
46
+ padding: 0 !important;
47
+ margin: 0 0 18px 0;
48
+ display: flex;
49
+ align-items: center;
50
+ }
51
+
52
+ .ui-datepicker-header > * {
53
+ display: flex;
54
+ align-items: center;
55
+ justify-content: center;
56
+ }
57
+
58
+ .ui-datepicker-title {
59
+ width: 100% !important;
60
+ height: 24px;
61
+ margin: 0 !important;
62
+ }
63
+
64
+ .ui-datepicker-month,
65
+ .ui-datepicker-year {
66
+ outline: none !important;
67
+ width: auto !important;
68
+ border: none;
69
+ padding: 0;
70
+ margin: 0 6px !important;
71
+ text-align: center;
72
+ font-size: 16px !important;
73
+ }
74
+
75
+ .ui-datepicker-month {
76
+ color: var(--color-text-1);
77
+ }
78
+
79
+ .ui-datepicker-year {
80
+ color: var(--color-text-2);
81
+ }
82
+
83
+ /* select.ui-datepicker-month,
84
+ select.ui-datepicker-year{ cursor: pointer; color: var(--color-blue-500); }*/
85
+ select.ui-datepicker-month,
86
+ select.ui-datepicker-year {
87
+ cursor: pointer;
88
+ }
89
+
90
+ .ui-datepicker-prev,
91
+ .ui-datepicker-next {
92
+ cursor: pointer;
93
+ width: 24px !important;
94
+ height: 24px !important;
95
+ font-size: 24px;
96
+ font-family: "Topvisor-2";
97
+ position: static !important;
98
+ }
99
+
100
+ .ui-datepicker-prev:before {
101
+ color: var(--color-text-3);
102
+ content: "";
103
+ }
104
+
105
+ .ui-datepicker-prev-hover:before {
106
+ color: var(--color-text-1);
107
+ content: "";
108
+ }
109
+
110
+ .ui-datepicker-next {
111
+ color: var(--color-text-3);
112
+ order: 1;
113
+ }
114
+
115
+ .ui-datepicker-next-hover {
116
+ color: var(--color-text-1);
117
+ order: 1;
118
+ }
119
+
120
+ .ui-datepicker-next:before {
121
+ content: "";
122
+ }
123
+
124
+ .ui-datepicker-prev > *,
125
+ .ui-datepicker-next > * {
126
+ display: none !important;
127
+ }
128
+
129
+ .ui-datepicker thead th {
130
+ width: auto !important;
131
+ padding: 0 !important;
132
+ color: var(--color-text-3);
133
+ font-size: 14px;
134
+ font-weight: 400 !important;
135
+ }
136
+
137
+ .ui-datepicker table {
138
+ margin: 0 !important;
139
+ font-size: 14px;
140
+ }
141
+
142
+ .ui-datepicker td {
143
+ color: var(--color-text-1);
144
+ background: none;
145
+ padding: 0 !important;
146
+ }
147
+
148
+ .ui-datepicker td span,
149
+ .ui-datepicker td a {
150
+ border-radius: 8px;
151
+ border: none;
152
+ min-width: 32px;
153
+ height: 32px;
154
+ padding: 0;
155
+ margin: 1px;
156
+ color: var(--color-text-1) !important;
157
+ line-height: 32px;
158
+ text-align: center;
159
+ position: relative;
160
+ display: block;
161
+ }
162
+
163
+ /* обычные даты */
164
+ .ui-datepicker td a {
165
+ background: var(--datepicker-day-color);
166
+ }
167
+
168
+ .ui-datepicker td a:hover {
169
+ background: var(--datepicker-day-color-hover);
170
+ }
171
+
172
+ /* текущий день */
173
+ td.ui-datepicker-today span,
174
+ td.ui-datepicker-today a {
175
+ background: none;
176
+ position: relative;
177
+ }
178
+
179
+ /* выбранные даты */
180
+ .ui-datepicker td.selected a {
181
+ background: var(--datepicker-range-color);
182
+ padding-right: 0;
183
+ padding-left: 1px;
184
+ margin-right: 1px;
185
+ margin-left: 0;
186
+ }
187
+
188
+ .ui-datepicker td.selected a:hover {
189
+ background: var(--datepicker-range-color-hover);
190
+ }
191
+
192
+ .ui-datepicker td.selected:not(.selected-start):not(:first-child):not(.first-of-month) a {
193
+ border-top-left-radius: 0;
194
+ border-bottom-left-radius: 0;
195
+ padding-left: 1px;
196
+ margin-left: 0;
197
+ }
198
+
199
+ .ui-datepicker td.selected:not(.selected-end):not(:last-child):not(.last-of-month) a {
200
+ border-top-right-radius: 0;
201
+ border-bottom-right-radius: 0;
202
+ padding-right: 1px;
203
+ margin-right: 0;
204
+ }
205
+
206
+ .ui-datepicker td.selected-start a,
207
+ .ui-datepicker td.selected-end a,
208
+ .ui-datepicker td.ui-datepicker-current-day a {
209
+ background: var(--datepicker-selected-color);
210
+ color: #FFF !important;
211
+ }
212
+
213
+ .ui-datepicker td.selected-start a:hover,
214
+ .ui-datepicker td.selected-end a:hover,
215
+ .ui-datepicker td.ui-datepicker-current-day a:hover {
216
+ background: var(--datepicker-selected-color-hover);
217
+ }
218
+
219
+ .ui-datepicker-day-marks {
220
+ line-height: normal;
221
+ position: absolute;
222
+ right: 0;
223
+ bottom: 3px;
224
+ left: 0;
225
+ display: flex;
226
+ align-items: center;
227
+ justify-content: center;
228
+ }
229
+
230
+ .ui-datepicker-day-marks > i {
231
+ border-radius: 50%;
232
+ border: 1px solid #FFF;
233
+ width: 4px;
234
+ height: 4px;
235
+ margin: 0 2px;
236
+ }
237
+
238
+ .ui-datepicker-day-marks-exists {
239
+ background: var(--color-text-primary);
240
+ }
241
+
242
+ .ui-datepicker-day-marks-update {
243
+ background: var(--color-text-negative);
244
+ }
245
+
246
+ .ui-datepicker-row-break {
247
+ display: none;
248
+ }
249
+ `;
250
+ a.insertStyleToPage(h);
251
+ const x = (e) => {
252
+ var t, n;
253
+ if (!((n = (t = a.$) == null ? void 0 : t.ui) != null && n.datepicker)) {
254
+ console.info("Для работы datepicker требуется глобальная загрузка jQuery UI Datepicker");
255
+ return;
256
+ }
257
+ return a.$.datepicker.setDefaults({
258
+ dateFormat: a.state.dateFormat.toLowerCase().replace("m", "mm").replace("y", "yy").replace("d", "dd")
259
+ }), a.$(e);
260
+ };
261
+ function b(e, t) {
262
+ var n;
263
+ return (n = x(e)) == null ? void 0 : n.datepicker(t);
264
+ }
265
+ let d, l, p, u;
266
+ k(g(a.state.dateFormat), () => {
267
+ var e;
268
+ d = m("2000-01-01"), l = ((e = d.match(/\D/)) == null ? void 0 : e[0]) ?? "-", p = d.replace(/\D+/g, "").length, u = [];
269
+ for (let t = 0; t < d.length; t++)
270
+ d[t] === l && u.push(t);
271
+ }, { immediate: !0 });
272
+ function y(e) {
273
+ let t = e.target.selectionEnd, n = e.target.value, r = n.substring(0, t).replace(/\D+/g, ""), i = n.substring(t).replace(/\D+/g, ""), c = r.length + i.length - p;
274
+ if (c > 0) {
275
+ r = r.substring(0, p);
276
+ const o = p - r.length;
277
+ i = i.substring(i.length - o);
278
+ } else c < 0 && (e.inputType === "deleteContentForward" ? r += "0".repeat(-c) : i = "0".repeat(-c) + i);
279
+ t = r.length, n = r + i;
280
+ for (let o = 0; o < u.length; o++) {
281
+ const s = u[o];
282
+ n = n.substring(0, s) + l + n.substring(s), t >= s && t++;
283
+ }
284
+ e.inputType === "deleteContentBackward" && n[t - 1] === l && t--, n !== e.target.value && (e.target.value = n, e.target.selectionStart = t, e.target.selectionEnd = t);
285
+ }
286
+ export {
287
+ b as connectDatepicker,
288
+ y as oninput
289
+ };
290
+ //# sourceMappingURL=datepicker-LNkS97nF.es.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"datepicker-LNkS97nF.es.js","sources":["../../src/components/forms/inputDate/datepicker.css?raw","../../src/components/forms/inputDate/datepicker.ts"],"sourcesContent":["export default \"/* ui-datepicker */\\n.ui-datepicker {\\n\\t--datepicker-day-color: var(--color-layout-front-1);\\n\\t--datepicker-day-color-hover: var(--color-layer-1);\\n\\t--datepicker-selected-color: var(--color-bg-primary-1);\\n\\t--datepicker-selected-color-hover: var(--color-bg-primary-2);\\n\\t--datepicker-range-color: var(--color-layer-primary-1);\\n\\t--datepicker-range-color-hover: var(--color-layer-primary-2);\\n\\n\\tuser-select: none;\\n\\twidth: auto;\\n\\tpadding: 0;\\n}\\n\\n.ui-datepicker:before,\\n.ui-datepicker:after {\\n\\tdisplay: none;\\n}\\n\\n/* на странице */\\n.ui-datepicker-inline {\\n\\tdisplay: inline-block !important;\\n}\\n\\n/* в popup */\\n.ui-datepicker:not(.ui-datepicker-inline) {\\n\\tborder-radius: 8px;\\n\\tbackground: var(--color-layout-front-1);\\n\\tbox-shadow: var(--top-shadow);\\n\\tz-index: 10000000 !important;\\n\\tpadding: 8px;\\n}\\n\\n.ui-datepicker a {\\n\\ttext-decoration: none !important;\\n}\\n\\n.ui-datepicker option {\\n\\tcolor: var(--color-text-1);\\n\\tfont-size: 14px;\\n}\\n\\n.ui-datepicker-header {\\n\\tpadding: 0 !important;\\n\\tmargin: 0 0 18px 0;\\n\\tdisplay: flex;\\n\\talign-items: center;\\n}\\n\\n.ui-datepicker-header > * {\\n\\tdisplay: flex;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\\n.ui-datepicker-title {\\n\\twidth: 100% !important;\\n\\theight: 24px;\\n\\tmargin: 0 !important;\\n}\\n\\n.ui-datepicker-month,\\n.ui-datepicker-year {\\n\\toutline: none !important;\\n\\twidth: auto !important;\\n\\tborder: none;\\n\\tpadding: 0;\\n\\tmargin: 0 6px !important;\\n\\ttext-align: center;\\n\\tfont-size: 16px !important;\\n}\\n\\n.ui-datepicker-month {\\n\\tcolor: var(--color-text-1);\\n}\\n\\n.ui-datepicker-year {\\n\\tcolor: var(--color-text-2);\\n}\\n\\n/*\\tselect.ui-datepicker-month,\\nselect.ui-datepicker-year{ cursor: pointer; color: var(--color-blue-500); }*/\\nselect.ui-datepicker-month,\\nselect.ui-datepicker-year {\\n\\tcursor: pointer;\\n}\\n\\n.ui-datepicker-prev,\\n.ui-datepicker-next {\\n\\tcursor: pointer;\\n\\twidth: 24px !important;\\n\\theight: 24px !important;\\n\\tfont-size: 24px;\\n\\tfont-family: \\\"Topvisor-2\\\";\\n\\tposition: static !important;\\n}\\n\\n.ui-datepicker-prev:before {\\n\\tcolor: var(--color-text-3);\\n\\tcontent: \\\"\\\";\\n}\\n\\n.ui-datepicker-prev-hover:before {\\n\\tcolor: var(--color-text-1);\\n\\tcontent: \\\"\\\";\\n}\\n\\n.ui-datepicker-next {\\n\\tcolor: var(--color-text-3);\\n\\torder: 1;\\n}\\n\\n.ui-datepicker-next-hover {\\n\\tcolor: var(--color-text-1);\\n\\torder: 1;\\n}\\n\\n.ui-datepicker-next:before {\\n\\tcontent: \\\"\\\";\\n}\\n\\n.ui-datepicker-prev > *,\\n.ui-datepicker-next > * {\\n\\tdisplay: none !important;\\n}\\n\\n.ui-datepicker thead th {\\n\\twidth: auto !important;\\n\\tpadding: 0 !important;\\n\\tcolor: var(--color-text-3);\\n\\tfont-size: 14px;\\n\\tfont-weight: 400 !important;\\n}\\n\\n.ui-datepicker table {\\n\\tmargin: 0 !important;\\n\\tfont-size: 14px;\\n}\\n\\n.ui-datepicker td {\\n\\tcolor: var(--color-text-1);\\n\\tbackground: none;\\n\\tpadding: 0 !important;\\n}\\n\\n.ui-datepicker td span,\\n.ui-datepicker td a {\\n\\tborder-radius: 8px;\\n\\tborder: none;\\n\\tmin-width: 32px;\\n\\theight: 32px;\\n\\tpadding: 0;\\n\\tmargin: 1px;\\n\\tcolor: var(--color-text-1) !important;\\n\\tline-height: 32px;\\n\\ttext-align: center;\\n\\tposition: relative;\\n\\tdisplay: block;\\n}\\n\\n/* обычные даты */\\n.ui-datepicker td a {\\n\\tbackground: var(--datepicker-day-color);\\n}\\n\\n.ui-datepicker td a:hover {\\n\\tbackground: var(--datepicker-day-color-hover);\\n}\\n\\n/* текущий день */\\ntd.ui-datepicker-today span,\\ntd.ui-datepicker-today a {\\n\\tbackground: none;\\n\\tposition: relative;\\n}\\n\\n/* выбранные даты */\\n.ui-datepicker td.selected a {\\n\\tbackground: var(--datepicker-range-color);\\n\\tpadding-right: 0;\\n\\tpadding-left: 1px;\\n\\tmargin-right: 1px;\\n\\tmargin-left: 0;\\n}\\n\\n.ui-datepicker td.selected a:hover {\\n\\tbackground: var(--datepicker-range-color-hover);\\n}\\n\\n.ui-datepicker td.selected:not(.selected-start):not(:first-child):not(.first-of-month) a {\\n\\tborder-top-left-radius: 0;\\n\\tborder-bottom-left-radius: 0;\\n\\tpadding-left: 1px;\\n\\tmargin-left: 0;\\n}\\n\\n.ui-datepicker td.selected:not(.selected-end):not(:last-child):not(.last-of-month) a {\\n\\tborder-top-right-radius: 0;\\n\\tborder-bottom-right-radius: 0;\\n\\tpadding-right: 1px;\\n\\tmargin-right: 0;\\n}\\n\\n.ui-datepicker td.selected-start a,\\n.ui-datepicker td.selected-end a,\\n.ui-datepicker td.ui-datepicker-current-day a {\\n\\tbackground: var(--datepicker-selected-color);\\n\\tcolor: #FFF !important;\\n}\\n\\n.ui-datepicker td.selected-start a:hover,\\n.ui-datepicker td.selected-end a:hover,\\n.ui-datepicker td.ui-datepicker-current-day a:hover {\\n\\tbackground: var(--datepicker-selected-color-hover);\\n}\\n\\n.ui-datepicker-day-marks {\\n\\tline-height: normal;\\n\\tposition: absolute;\\n\\tright: 0;\\n\\tbottom: 3px;\\n\\tleft: 0;\\n\\tdisplay: flex;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\\n.ui-datepicker-day-marks > i {\\n\\tborder-radius: 50%;\\n\\tborder: 1px solid #FFF;\\n\\twidth: 4px;\\n\\theight: 4px;\\n\\tmargin: 0 2px;\\n}\\n\\n.ui-datepicker-day-marks-exists {\\n\\tbackground: var(--color-text-primary);\\n}\\n\\n.ui-datepicker-day-marks-update {\\n\\tbackground: var(--color-text-negative);\\n}\\n\\n.ui-datepicker-row-break {\\n\\tdisplay: none;\\n}\\n\"","import { toRef, watch } from 'vue';\nimport Core from '@/core/core/core';\nimport { dateFormat } from '@/core/utils/date';\n\nimport css from '@/components/forms/inputDate/datepicker.css?raw';\n\nCore.insertStyleToPage(css);\n\nconst $ = (el: HTMLInputElement) => {\n\tif (!Core.$?.ui?.datepicker) {\n\t\tconsole.info('Для работы datepicker требуется глобальная загрузка jQuery UI Datepicker');\n\n\t\treturn;\n\t}\n\n\tCore.$.datepicker.setDefaults({\n\t\tdateFormat: Core.state.dateFormat.toLowerCase().replace('m', 'mm').replace('y', 'yy').replace('d', 'dd'),\n\t});\n\n\treturn Core.$(el);\n};\n\nexport function connectDatepicker(el: HTMLInputElement, options: any) {\n\treturn $(el)?.datepicker(options);\n}\n\nlet dateFormatted;\nlet delimiter: string;\nlet dateNumbersCount: number;\nlet delimitersIndexes: number[];\n\nwatch(toRef(Core.state.dateFormat), () => {\n\t// генерация отформатированной даты, извлечение из нее разделителей и их индексов\n\tdateFormatted = dateFormat('2000-01-01');\n\tdelimiter = dateFormatted.match(/\\D/)?.[0] ?? '-';\n\tdateNumbersCount = dateFormatted.replace(/\\D+/g, '').length;\n\tdelimitersIndexes = [];\n\n\tfor (let i = 0; i < dateFormatted.length; i++) {\n\t\tif (dateFormatted[i] === delimiter) {\n\t\t\tdelimitersIndexes.push(i);\n\t\t}\n\t}\n}, { immediate: true });\n\n/**\n * Автоформат при вводе в поле с датой\n */\nexport function oninput(e: any) {\n\tlet selectionPos = e.target.selectionEnd;\n\tlet value = e.target.value;\n\n\t// разбить занчение на две половины - до и после каретки\n\t// удалить все символы, кроме цифр\n\tlet valueChunkLeft = value.substring(0, selectionPos).replace(/\\D+/g, '');\n\tlet valueChunkRight = value.substring(selectionPos).replace(/\\D+/g, '');\n\n\tlet extraNumbersCount = valueChunkLeft.length + valueChunkRight.length - dateNumbersCount;\n\tif (extraNumbersCount > 0) {\n\t\t// // количество цифр больше требуемого - удалить лишние\n\t\tvalueChunkLeft = valueChunkLeft.substring(0, dateNumbersCount);\n\n\t\tconst valueChunkRightMaxLength = dateNumbersCount - valueChunkLeft.length;\n\t\tvalueChunkRight = valueChunkRight.substring(valueChunkRight.length - valueChunkRightMaxLength);\n\t} else if (extraNumbersCount < 0) {\n\t\t// количество цифр меньше требуемого - добавить 0\n\t\tif (e.inputType === 'deleteContentForward') {\n\t\t\t// нажатие на delete - добавить к левой части для правильного позиционирования каретки\n\t\t\tvalueChunkLeft += '0'.repeat(-extraNumbersCount);\n\t\t} else {\n\t\t\tvalueChunkRight = '0'.repeat(-extraNumbersCount) + valueChunkRight;\n\t\t}\n\t}\n\n\tselectionPos = valueChunkLeft.length;\n\tvalue = valueChunkLeft + valueChunkRight;\n\n\t// вставить разделители\n\tfor (let i = 0; i < delimitersIndexes.length; i++) {\n\t\tconst delimiterIndex = delimitersIndexes[i];\n\n\t\tvalue = value.substring(0, delimiterIndex) + delimiter + value.substring(delimiterIndex);\n\n\t\t// сдвинуть каретку, если разделитель вставлен левее ее\n\t\tif (selectionPos >= delimiterIndex) {\n\t\t\tselectionPos++;\n\t\t}\n\t}\n\n\t// нажатие на backspace - если слева символ разделителя, перенести каретку за него\n\tif (e.inputType === 'deleteContentBackward' && value[selectionPos - 1] === delimiter) {\n\t\tselectionPos--;\n\t}\n\n\t// если значение изменилось - вставить его и переместить каретку\n\tif (value !== e.target.value) {\n\t\te.target.value = value;\n\t\te.target.selectionStart = selectionPos;\n\t\te.target.selectionEnd = selectionPos;\n\t}\n}\n"],"names":["css","Core","$","el","_b","_a","connectDatepicker","options","dateFormatted","delimiter","dateNumbersCount","delimitersIndexes","watch","toRef","dateFormat","i","oninput","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,EAAQ,GAAQ;AAC3B,MAAAC,IAAe,EAAE,OAAO,cACxBC,IAAQ,EAAE,OAAO,OAIjBC,IAAiBD,EAAM,UAAU,GAAGD,CAAY,EAAE,QAAQ,QAAQ,EAAE,GACpEG,IAAkBF,EAAM,UAAUD,CAAY,EAAE,QAAQ,QAAQ,EAAE,GAElEI,IAAoBF,EAAe,SAASC,EAAgB,SAASV;AACzE,MAAIW,IAAoB,GAAG;AAET,IAAAF,IAAAA,EAAe,UAAU,GAAGT,CAAgB;AAEvD,UAAAY,IAA2BZ,IAAmBS,EAAe;AACnE,IAAAC,IAAkBA,EAAgB,UAAUA,EAAgB,SAASE,CAAwB;AAAA,EAAA,MAC9F,CAAWD,IAAoB,MAE1B,EAAE,cAAc,yBAEDF,KAAA,IAAI,OAAO,CAACE,CAAiB,IAE/CD,IAAkB,IAAI,OAAO,CAACC,CAAiB,IAAID;AAIrD,EAAAH,IAAeE,EAAe,QAC9BD,IAAQC,IAAiBC;AAGzB,WAASL,IAAI,GAAGA,IAAIJ,EAAkB,QAAQI,KAAK;AAC5C,UAAAQ,IAAiBZ,EAAkBI,CAAC;AAElC,IAAAG,IAAAA,EAAM,UAAU,GAAGK,CAAc,IAAId,IAAYS,EAAM,UAAUK,CAAc,GAGnFN,KAAgBM,KACnBN;AAAA,EAEF;AAGA,EAAI,EAAE,cAAc,2BAA2BC,EAAMD,IAAe,CAAC,MAAMR,KAC1EQ,KAIGC,MAAU,EAAE,OAAO,UACtB,EAAE,OAAO,QAAQA,GACjB,EAAE,OAAO,iBAAiBD,GAC1B,EAAE,OAAO,eAAeA;AAE1B;"}