@topvisor/ui 0.0.34 → 0.0.36

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (57) hide show
  1. package/.chunks/datepicker-1e725859.amd.js +234 -0
  2. package/.chunks/datepicker-1e725859.amd.js.map +1 -0
  3. package/.chunks/datepicker-ad465c48.es.js +275 -0
  4. package/.chunks/datepicker-ad465c48.es.js.map +1 -0
  5. package/.chunks/{forms-02202302.amd.js → forms-2891e074.amd.js} +3 -3
  6. package/.chunks/forms-2891e074.amd.js.map +1 -0
  7. package/.chunks/{forms-eb00d0c1.es.js → forms-db4cb24d.es.js} +27 -27
  8. package/.chunks/forms-db4cb24d.es.js.map +1 -0
  9. package/.chunks/{popup-6f73b4b2.es.js → popup-0f540839.es.js} +383 -383
  10. package/.chunks/popup-0f540839.es.js.map +1 -0
  11. package/.chunks/popup-e49a9bab.amd.js +341 -0
  12. package/.chunks/popup-e49a9bab.amd.js.map +1 -0
  13. package/README.md +62 -62
  14. package/core/core.amd.js +1 -1
  15. package/core/core.js +1 -1
  16. package/core.css +1 -1
  17. package/forms/forms.amd.js +1 -1
  18. package/forms/forms.js +1 -1
  19. package/forms/helpers.amd.js.map +1 -1
  20. package/forms/helpers.js.map +1 -1
  21. package/forms.css +1 -1
  22. package/formsExt/formsExt.amd.js +2 -2
  23. package/formsExt/formsExt.amd.js.map +1 -1
  24. package/formsExt/formsExt.js +107 -52
  25. package/formsExt/formsExt.js.map +1 -1
  26. package/formsExt.css +1 -1
  27. package/icomoon/demo-files/demo.css +161 -161
  28. package/icomoon/demo-files/demo.js +30 -30
  29. package/icomoon/demo.html +2945 -2945
  30. package/icomoon/fonts/Topvisor-2.svg +232 -232
  31. package/icomoon/style.css +647 -647
  32. package/package.json +19 -19
  33. package/popup/popup.amd.js +1 -1
  34. package/popup/popup.amd.js.map +1 -1
  35. package/popup/popup.js +1 -1
  36. package/popup/popup.js.map +1 -1
  37. package/popup/worker.amd.js +1 -1
  38. package/popup/worker.amd.js.map +1 -1
  39. package/popup/worker.js +2 -2
  40. package/popup/worker.js.map +1 -1
  41. package/tabs/tabs.amd.js +1 -1
  42. package/tabs/tabs.js +1 -1
  43. package/utils/date.amd.js +1 -1
  44. package/utils/date.js +1 -1
  45. package/utils/device.amd.js +1 -1
  46. package/utils/device.js +1 -1
  47. package/utils/dom.amd.js.map +1 -1
  48. package/utils/dom.js.map +1 -1
  49. package/.chunks/datepicker-0b648b9f.es.js +0 -275
  50. package/.chunks/datepicker-0b648b9f.es.js.map +0 -1
  51. package/.chunks/datepicker-0e9a0541.amd.js +0 -234
  52. package/.chunks/datepicker-0e9a0541.amd.js.map +0 -1
  53. package/.chunks/forms-02202302.amd.js.map +0 -1
  54. package/.chunks/forms-eb00d0c1.es.js.map +0 -1
  55. package/.chunks/popup-6f73b4b2.es.js.map +0 -1
  56. package/.chunks/popup-e1f34511.amd.js +0 -341
  57. package/.chunks/popup-e1f34511.amd.js.map +0 -1
@@ -1,275 +0,0 @@
1
- import { watch as g, toRef as m } from "vue";
2
- import { C as k, U as h } from "./forms-eb00d0c1.es.js";
3
- const b = `/* ui-datepicker */\r
4
- .ui-datepicker {\r
5
- --datepicker-day-color: #FFF;\r
6
- --datepicker-day-color-hover: var(--color-blue-150);\r
7
- --datepicker-selected-color: var(--color-blue-500);\r
8
- --datepicker-selected-color-hover: var(--color-blue-550);\r
9
- --datepicker-range-color: var(--color-blue-100);\r
10
- --datepicker-range-color-hover: var(--color-blue-150);\r
11
- \r
12
- user-select: none;\r
13
- width: auto;\r
14
- padding: 0;\r
15
- }\r
16
- \r
17
- .ui-datepicker:before,\r
18
- .ui-datepicker:after {\r
19
- display: none;\r
20
- }\r
21
- \r
22
- /* на странице */\r
23
- .ui-datepicker-inline {\r
24
- display: inline-block !important;\r
25
- }\r
26
- \r
27
- /* в popup */\r
28
- .ui-datepicker:not(.ui-datepicker-inline) {\r
29
- border-radius: 8px;\r
30
- background: var(--content-background-color);\r
31
- box-shadow: var(--top-shadow);\r
32
- z-index: 10000000 !important;\r
33
- padding: 8px;\r
34
- }\r
35
- \r
36
- .ui-datepicker a {\r
37
- text-decoration: none !important;\r
38
- }\r
39
- \r
40
- .ui-datepicker option {\r
41
- color: var(--color-text);\r
42
- font-size: 14px;\r
43
- }\r
44
- \r
45
- .ui-datepicker-header {\r
46
- padding: 0 !important;\r
47
- margin: 0 0 18px 0;\r
48
- display: flex;\r
49
- align-items: center;\r
50
- }\r
51
- \r
52
- .ui-datepicker-header > * {\r
53
- display: flex;\r
54
- align-items: center;\r
55
- justify-content: center;\r
56
- }\r
57
- \r
58
- .ui-datepicker-title {\r
59
- width: 100% !important;\r
60
- height: 24px;\r
61
- margin: 0 !important;\r
62
- }\r
63
- \r
64
- .ui-datepicker-month,\r
65
- .ui-datepicker-year {\r
66
- outline: none !important;\r
67
- width: auto !important;\r
68
- border: none;\r
69
- padding: 0;\r
70
- margin: 0 6px !important;\r
71
- text-align: center;\r
72
- font-size: 16px !important;\r
73
- }\r
74
- \r
75
- .ui-datepicker-month {\r
76
- color: var(--color-text);\r
77
- }\r
78
- \r
79
- .ui-datepicker-year {\r
80
- color: var(--color-gray-300);\r
81
- }\r
82
- \r
83
- /* select.ui-datepicker-month,\r
84
- select.ui-datepicker-year{ cursor: pointer; color: var(--color-blue-500); }*/\r
85
- select.ui-datepicker-month,\r
86
- select.ui-datepicker-year {\r
87
- cursor: pointer;\r
88
- }\r
89
- \r
90
- .ui-datepicker-prev,\r
91
- .ui-datepicker-next {\r
92
- cursor: pointer;\r
93
- width: 24px !important;\r
94
- height: 24px !important;\r
95
- font-size: 24px;\r
96
- font-family: 'Topvisor-2';\r
97
- position: static !important;\r
98
- }\r
99
- \r
100
- .ui-datepicker-prev:before {\r
101
- content: '';\r
102
- }\r
103
- \r
104
- .ui-datepicker-next {\r
105
- order: 1;\r
106
- }\r
107
- \r
108
- .ui-datepicker-next:before {\r
109
- content: '';\r
110
- }\r
111
- \r
112
- .ui-datepicker-prev > *,\r
113
- .ui-datepicker-next > * {\r
114
- display: none !important;\r
115
- }\r
116
- \r
117
- .ui-datepicker thead th {\r
118
- width: auto !important;\r
119
- padding: 0 !important;\r
120
- color: #B3BEBF;\r
121
- font-size: 14px;\r
122
- font-weight: 400 !important;\r
123
- }\r
124
- \r
125
- .ui-datepicker table {\r
126
- margin: 0 !important;\r
127
- font-size: 14px;\r
128
- }\r
129
- \r
130
- .ui-datepicker td {\r
131
- background: none;\r
132
- padding: 0 !important;\r
133
- }\r
134
- \r
135
- .ui-datepicker td span,\r
136
- .ui-datepicker td a {\r
137
- border-radius: 8px;\r
138
- border: none;\r
139
- min-width: 32px;\r
140
- height: 32px;\r
141
- padding: 0;\r
142
- margin: 1px;\r
143
- color: var(--color-text) !important;\r
144
- line-height: 32px;\r
145
- text-align: center;\r
146
- position: relative;\r
147
- display: block;\r
148
- }\r
149
- \r
150
- /* обычные даты */\r
151
- .ui-datepicker td a {\r
152
- background: var(--datepicker-day-color);\r
153
- }\r
154
- \r
155
- .ui-datepicker td a:hover {\r
156
- background: var(--datepicker-day-color-hover);\r
157
- }\r
158
- \r
159
- /* текущий день */\r
160
- td.ui-datepicker-today span,\r
161
- td.ui-datepicker-today a {\r
162
- background: none;\r
163
- position: relative;\r
164
- }\r
165
- \r
166
- /* выбранные даты */\r
167
- .ui-datepicker td.selected a {\r
168
- background: var(--datepicker-range-color);\r
169
- padding-right: 0;\r
170
- padding-left: 1px;\r
171
- margin-right: 1px;\r
172
- margin-left: 0;\r
173
- }\r
174
- \r
175
- .ui-datepicker td.selected a:hover {\r
176
- background: var(--datepicker-range-color-hover);\r
177
- }\r
178
- \r
179
- .ui-datepicker td.selected:not(.selected-start):not(:first-child):not(.first-of-month) a {\r
180
- border-top-left-radius: 0;\r
181
- border-bottom-left-radius: 0;\r
182
- padding-left: 1px;\r
183
- margin-left: 0;\r
184
- }\r
185
- \r
186
- .ui-datepicker td.selected:not(.selected-end):not(:last-child):not(.last-of-month) a {\r
187
- border-top-right-radius: 0;\r
188
- border-bottom-right-radius: 0;\r
189
- padding-right: 1px;\r
190
- margin-right: 0;\r
191
- }\r
192
- \r
193
- .ui-datepicker td.selected-start a,\r
194
- .ui-datepicker td.selected-end a,\r
195
- .ui-datepicker td.ui-datepicker-current-day a {\r
196
- background: var(--datepicker-selected-color);\r
197
- color: #FFF !important;\r
198
- }\r
199
- \r
200
- .ui-datepicker td.selected-start a:hover,\r
201
- .ui-datepicker td.selected-end a:hover,\r
202
- .ui-datepicker td.ui-datepicker-current-day a:hover {\r
203
- background: var(--datepicker-selected-color-hover);\r
204
- }\r
205
- \r
206
- .ui-datepicker-day-marks {\r
207
- line-height: normal;\r
208
- position: absolute;\r
209
- right: 0;\r
210
- bottom: 3px;\r
211
- left: 0;\r
212
- display: flex;\r
213
- align-items: center;\r
214
- justify-content: center;\r
215
- }\r
216
- \r
217
- .ui-datepicker-day-marks > i {\r
218
- border-radius: 50%;\r
219
- border: 1px solid #FFF;\r
220
- width: 4px;\r
221
- height: 4px;\r
222
- margin: 0 2px;\r
223
- }\r
224
- \r
225
- .ui-datepicker-day-marks-exists {\r
226
- background: var(--color-blue-500);\r
227
- }\r
228
- \r
229
- .ui-datepicker-day-marks-update {\r
230
- background: var(--color-red-500);\r
231
- }\r
232
- \r
233
- .ui-datepicker-row-break {\r
234
- display: none;\r
235
- }`;
236
- k.appendStyle(b);
237
- const o = window, x = (t) => {
238
- var r, e;
239
- if (!((e = (r = o == null ? void 0 : o.jQuery) == null ? void 0 : r.ui) != null && e.datepicker)) {
240
- console.info("Для работы datepicker требуется глобальная загрузка jQuery UI Datepicker");
241
- return;
242
- }
243
- return o.jQuery.datepicker._defaults.dateFormat = k.state.dateFormat.toLowerCase().replace("m", "mm").replace("y", "yy").replace("d", "dd"), o.jQuery(t);
244
- };
245
- function y(t, r) {
246
- var e;
247
- return (e = x(t)) == null ? void 0 : e.datepicker(r);
248
- }
249
- let d, l, p, u;
250
- g(m(k.state.dateFormat), () => {
251
- var t;
252
- d = h.dateFormat("2000-01-01"), l = ((t = d.match(/\D/)) == null ? void 0 : t[0]) ?? "-", p = d.replace(/\D+/g, "").length, u = [];
253
- for (let r = 0; r < d.length; r++)
254
- d[r] === l && u.push(r);
255
- }, { immediate: !0 });
256
- function F(t) {
257
- let r = t.target.selectionEnd, e = t.target.value, n = e.substring(0, r).replace(/\D+/g, ""), i = e.substring(r).replace(/\D+/g, ""), c = n.length + i.length - p;
258
- if (c > 0) {
259
- n = n.substring(0, p);
260
- const a = p - n.length;
261
- i = i.substring(i.length - a);
262
- } else
263
- c < 0 && (t.inputType === "deleteContentForward" ? n += "0".repeat(-c) : i = "0".repeat(-c) + i);
264
- r = n.length, e = n + i;
265
- for (let a = 0; a < u.length; a++) {
266
- const s = u[a];
267
- e = e.substring(0, s) + l + e.substring(s), r >= s && r++;
268
- }
269
- t.inputType === "deleteContentBackward" && e[r - 1] === l && r--, e !== t.target.value && (t.target.value = e, t.target.selectionStart = r, t.target.selectionEnd = r);
270
- }
271
- export {
272
- y as connectDatepicker,
273
- F as oninput
274
- };
275
- //# sourceMappingURL=datepicker-0b648b9f.es.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"datepicker-0b648b9f.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: #FFF;\\r\\n\\t--datepicker-day-color-hover: var(--color-blue-150);\\r\\n\\t--datepicker-selected-color: var(--color-blue-500);\\r\\n\\t--datepicker-selected-color-hover: var(--color-blue-550);\\r\\n\\t--datepicker-range-color: var(--color-blue-100);\\r\\n\\t--datepicker-range-color-hover: var(--color-blue-150);\\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);\\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);\\r\\n}\\r\\n\\r\\n.ui-datepicker-year {\\r\\n\\tcolor: var(--color-gray-300);\\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\\tcontent: '';\\r\\n}\\r\\n\\r\\n.ui-datepicker-next {\\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: #B3BEBF;\\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\\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) !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-blue-500);\\r\\n}\\r\\n\\r\\n.ui-datepicker-day-marks-update {\\r\\n\\tbackground: var(--color-red-500);\\r\\n}\\r\\n\\r\\n.ui-datepicker-row-break {\\r\\n\\tdisplay: none;\\r\\n}\"","import { toRef, watch } from 'vue';\r\nimport Core from '@/core/core/core';\r\nimport UtilsDate from '@/core/utils/date';\r\n\r\nimport css from '@/components/forms/inputDate/datepicker.css?raw';\r\n\r\nCore.appendStyle(css);\r\n\r\nconst _window: any = window;\r\n\r\nconst $ = (el: HTMLInputElement) => {\r\n\tif (!_window?.jQuery?.ui?.datepicker) {\r\n\t\tconsole.info('Для работы datepicker требуется глобальная загрузка jQuery UI Datepicker');\r\n\r\n\t\treturn;\r\n\t}\r\n\r\n\t_window.jQuery.datepicker._defaults.dateFormat = Core.state.dateFormat.toLowerCase().replace('m', 'mm').replace('y', 'yy').replace('d', 'dd');\r\n\r\n\treturn _window.jQuery(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 = UtilsDate.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}"],"names":["css","Core","_window","$","el","_b","_a","connectDatepicker","options","dateFormatted","delimiter","dateNumbersCount","delimitersIndexes","watch","toRef","UtilsDate","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;ACMfC,EAAK,YAAYD,CAAG;AAEpB,MAAME,IAAe,QAEfC,IAAI,CAACC,MAAyB;;AACnC,MAAI,GAACC,KAAAC,IAAAJ,KAAA,gBAAAA,EAAS,WAAT,gBAAAI,EAAiB,OAAjB,QAAAD,EAAqB,aAAY;AACrC,YAAQ,KAAK,0EAA0E;AAEvF;AAAA,EACD;AAEA,SAAAH,EAAQ,OAAO,WAAW,UAAU,aAAaD,EAAK,MAAM,WAAW,YAAY,EAAE,QAAQ,KAAK,IAAI,EAAE,QAAQ,KAAK,IAAI,EAAE,QAAQ,KAAK,IAAI,GAErIC,EAAQ,OAAOE,CAAE;AACzB;AAEgB,SAAAG,EAAkBH,GAAsBI,GAAc;;AACrE,UAAOF,IAAAH,EAAEC,CAAE,MAAJ,gBAAAE,EAAO,WAAWE;AAC1B;AAEA,IAAIC,GACAC,GACAC,GACAC;AAEJC,EAAMC,EAAMb,EAAK,MAAM,UAAU,GAAG,MAAM;;AAEzB,EAAAQ,IAAAM,EAAU,WAAW,YAAY,GACjDL,MAAYJ,IAAAG,EAAc,MAAM,IAAI,MAAxB,gBAAAH,EAA4B,OAAM,KAC9CK,IAAmBF,EAAc,QAAQ,QAAQ,EAAE,EAAE,QACrDG,IAAoB,CAAA;AAEpB,WAASI,IAAI,GAAGA,IAAIP,EAAc,QAAQO;AACrC,IAAAP,EAAcO,CAAC,MAAMN,KACxBE,EAAkB,KAAKI,CAAC;AAG3B,GAAG,EAAE,WAAW,GAAA,CAAM;AAKf,SAASC,EAAQC,GAAQ;AAC3B,MAAAC,IAAeD,EAAE,OAAO,cACxBE,IAAQF,EAAE,OAAO,OAIjBG,IAAiBD,EAAM,UAAU,GAAGD,CAAY,EAAE,QAAQ,QAAQ,EAAE,GACpEG,IAAkBF,EAAM,UAAUD,CAAY,EAAE,QAAQ,QAAQ,EAAE,GAElEI,IAAoBF,EAAe,SAASC,EAAgB,SAASX;AACzE,MAAIY,IAAoB,GAAG;AAET,IAAAF,IAAAA,EAAe,UAAU,GAAGV,CAAgB;AAEvD,UAAAa,IAA2Bb,IAAmBU,EAAe;AACnE,IAAAC,IAAkBA,EAAgB,UAAUA,EAAgB,SAASE,CAAwB;AAAA,EAAA;AAC9F,IAAWD,IAAoB,MAE1BL,EAAE,cAAc,yBAEDG,KAAA,IAAI,OAAO,CAACE,CAAiB,IAE/CD,IAAkB,IAAI,OAAO,CAACC,CAAiB,IAAID;AAIrD,EAAAH,IAAeE,EAAe,QAC9BD,IAAQC,IAAiBC;AAGzB,WAASN,IAAI,GAAGA,IAAIJ,EAAkB,QAAQI,KAAK;AAC5C,UAAAS,IAAiBb,EAAkBI,CAAC;AAElC,IAAAI,IAAAA,EAAM,UAAU,GAAGK,CAAc,IAAIf,IAAYU,EAAM,UAAUK,CAAc,GAGnFN,KAAgBM,KACnBN;AAAA,EAEF;AAGA,EAAID,EAAE,cAAc,2BAA2BE,EAAMD,IAAe,CAAC,MAAMT,KAC1ES,KAIGC,MAAUF,EAAE,OAAO,UACtBA,EAAE,OAAO,QAAQE,GACjBF,EAAE,OAAO,iBAAiBC,GAC1BD,EAAE,OAAO,eAAeC;AAE1B;"}
@@ -1,234 +0,0 @@
1
- define(["exports","vue","./forms-02202302.amd"],function(k,h,c){"use strict";const m=`/* ui-datepicker */\r
2
- .ui-datepicker {\r
3
- --datepicker-day-color: #FFF;\r
4
- --datepicker-day-color-hover: var(--color-blue-150);\r
5
- --datepicker-selected-color: var(--color-blue-500);\r
6
- --datepicker-selected-color-hover: var(--color-blue-550);\r
7
- --datepicker-range-color: var(--color-blue-100);\r
8
- --datepicker-range-color-hover: var(--color-blue-150);\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);\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);\r
75
- }\r
76
- \r
77
- .ui-datepicker-year {\r
78
- color: var(--color-gray-300);\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
- content: '';\r
100
- }\r
101
- \r
102
- .ui-datepicker-next {\r
103
- order: 1;\r
104
- }\r
105
- \r
106
- .ui-datepicker-next:before {\r
107
- content: '';\r
108
- }\r
109
- \r
110
- .ui-datepicker-prev > *,\r
111
- .ui-datepicker-next > * {\r
112
- display: none !important;\r
113
- }\r
114
- \r
115
- .ui-datepicker thead th {\r
116
- width: auto !important;\r
117
- padding: 0 !important;\r
118
- color: #B3BEBF;\r
119
- font-size: 14px;\r
120
- font-weight: 400 !important;\r
121
- }\r
122
- \r
123
- .ui-datepicker table {\r
124
- margin: 0 !important;\r
125
- font-size: 14px;\r
126
- }\r
127
- \r
128
- .ui-datepicker td {\r
129
- background: none;\r
130
- padding: 0 !important;\r
131
- }\r
132
- \r
133
- .ui-datepicker td span,\r
134
- .ui-datepicker td a {\r
135
- border-radius: 8px;\r
136
- border: none;\r
137
- min-width: 32px;\r
138
- height: 32px;\r
139
- padding: 0;\r
140
- margin: 1px;\r
141
- color: var(--color-text) !important;\r
142
- line-height: 32px;\r
143
- text-align: center;\r
144
- position: relative;\r
145
- display: block;\r
146
- }\r
147
- \r
148
- /* обычные даты */\r
149
- .ui-datepicker td a {\r
150
- background: var(--datepicker-day-color);\r
151
- }\r
152
- \r
153
- .ui-datepicker td a:hover {\r
154
- background: var(--datepicker-day-color-hover);\r
155
- }\r
156
- \r
157
- /* текущий день */\r
158
- td.ui-datepicker-today span,\r
159
- td.ui-datepicker-today a {\r
160
- background: none;\r
161
- position: relative;\r
162
- }\r
163
- \r
164
- /* выбранные даты */\r
165
- .ui-datepicker td.selected a {\r
166
- background: var(--datepicker-range-color);\r
167
- padding-right: 0;\r
168
- padding-left: 1px;\r
169
- margin-right: 1px;\r
170
- margin-left: 0;\r
171
- }\r
172
- \r
173
- .ui-datepicker td.selected a:hover {\r
174
- background: var(--datepicker-range-color-hover);\r
175
- }\r
176
- \r
177
- .ui-datepicker td.selected:not(.selected-start):not(:first-child):not(.first-of-month) a {\r
178
- border-top-left-radius: 0;\r
179
- border-bottom-left-radius: 0;\r
180
- padding-left: 1px;\r
181
- margin-left: 0;\r
182
- }\r
183
- \r
184
- .ui-datepicker td.selected:not(.selected-end):not(:last-child):not(.last-of-month) a {\r
185
- border-top-right-radius: 0;\r
186
- border-bottom-right-radius: 0;\r
187
- padding-right: 1px;\r
188
- margin-right: 0;\r
189
- }\r
190
- \r
191
- .ui-datepicker td.selected-start a,\r
192
- .ui-datepicker td.selected-end a,\r
193
- .ui-datepicker td.ui-datepicker-current-day a {\r
194
- background: var(--datepicker-selected-color);\r
195
- color: #FFF !important;\r
196
- }\r
197
- \r
198
- .ui-datepicker td.selected-start a:hover,\r
199
- .ui-datepicker td.selected-end a:hover,\r
200
- .ui-datepicker td.ui-datepicker-current-day a:hover {\r
201
- background: var(--datepicker-selected-color-hover);\r
202
- }\r
203
- \r
204
- .ui-datepicker-day-marks {\r
205
- line-height: normal;\r
206
- position: absolute;\r
207
- right: 0;\r
208
- bottom: 3px;\r
209
- left: 0;\r
210
- display: flex;\r
211
- align-items: center;\r
212
- justify-content: center;\r
213
- }\r
214
- \r
215
- .ui-datepicker-day-marks > i {\r
216
- border-radius: 50%;\r
217
- border: 1px solid #FFF;\r
218
- width: 4px;\r
219
- height: 4px;\r
220
- margin: 0 2px;\r
221
- }\r
222
- \r
223
- .ui-datepicker-day-marks-exists {\r
224
- background: var(--color-blue-500);\r
225
- }\r
226
- \r
227
- .ui-datepicker-day-marks-update {\r
228
- background: var(--color-red-500);\r
229
- }\r
230
- \r
231
- .ui-datepicker-row-break {\r
232
- display: none;\r
233
- }`;c.Core.appendStyle(m);const a=window,b=t=>{var r,e;if(!((e=(r=a==null?void 0:a.jQuery)==null?void 0:r.ui)!=null&&e.datepicker)){console.info("Для работы datepicker требуется глобальная загрузка jQuery UI Datepicker");return}return a.jQuery.datepicker._defaults.dateFormat=c.Core.state.dateFormat.toLowerCase().replace("m","mm").replace("y","yy").replace("d","dd"),a.jQuery(t)};function f(t,r){var e;return(e=b(t))==null?void 0:e.datepicker(r)}let o,p,l,u;h.watch(h.toRef(c.Core.state.dateFormat),()=>{var t;o=c.UtilsDate.dateFormat("2000-01-01"),p=((t=o.match(/\D/))==null?void 0:t[0])??"-",l=o.replace(/\D+/g,"").length,u=[];for(let r=0;r<o.length;r++)o[r]===p&&u.push(r)},{immediate:!0});function v(t){let r=t.target.selectionEnd,e=t.target.value,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=f,k.oninput=v,Object.defineProperty(k,Symbol.toStringTag,{value:"Module"})});
234
- //# sourceMappingURL=datepicker-0e9a0541.amd.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"datepicker-0e9a0541.amd.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: #FFF;\\r\\n\\t--datepicker-day-color-hover: var(--color-blue-150);\\r\\n\\t--datepicker-selected-color: var(--color-blue-500);\\r\\n\\t--datepicker-selected-color-hover: var(--color-blue-550);\\r\\n\\t--datepicker-range-color: var(--color-blue-100);\\r\\n\\t--datepicker-range-color-hover: var(--color-blue-150);\\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);\\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);\\r\\n}\\r\\n\\r\\n.ui-datepicker-year {\\r\\n\\tcolor: var(--color-gray-300);\\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\\tcontent: '';\\r\\n}\\r\\n\\r\\n.ui-datepicker-next {\\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: #B3BEBF;\\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\\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) !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-blue-500);\\r\\n}\\r\\n\\r\\n.ui-datepicker-day-marks-update {\\r\\n\\tbackground: var(--color-red-500);\\r\\n}\\r\\n\\r\\n.ui-datepicker-row-break {\\r\\n\\tdisplay: none;\\r\\n}\"","import { toRef, watch } from 'vue';\r\nimport Core from '@/core/core/core';\r\nimport UtilsDate from '@/core/utils/date';\r\n\r\nimport css from '@/components/forms/inputDate/datepicker.css?raw';\r\n\r\nCore.appendStyle(css);\r\n\r\nconst _window: any = window;\r\n\r\nconst $ = (el: HTMLInputElement) => {\r\n\tif (!_window?.jQuery?.ui?.datepicker) {\r\n\t\tconsole.info('Для работы datepicker требуется глобальная загрузка jQuery UI Datepicker');\r\n\r\n\t\treturn;\r\n\t}\r\n\r\n\t_window.jQuery.datepicker._defaults.dateFormat = Core.state.dateFormat.toLowerCase().replace('m', 'mm').replace('y', 'yy').replace('d', 'dd');\r\n\r\n\treturn _window.jQuery(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 = UtilsDate.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}"],"names":["css","Core","_window","$","el","_b","_a","connectDatepicker","options","dateFormatted","delimiter","dateNumbersCount","delimitersIndexes","vue","toRef","UtilsDate","i","oninput","e","selectionPos","value","valueChunkLeft","valueChunkRight","extraNumbersCount","valueChunkRightMaxLength","delimiterIndex"],"mappings":"6EAAe,MAAAA,EAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GCMfC,EAAAA,KAAK,YAAYD,CAAG,EAEpB,MAAME,EAAe,OAEfC,EAAKC,GAAyB,SACnC,GAAI,GAACC,GAAAC,EAAAJ,GAAA,YAAAA,EAAS,SAAT,YAAAI,EAAiB,KAAjB,MAAAD,EAAqB,YAAY,CACrC,QAAQ,KAAK,0EAA0E,EAEvF,MACD,CAEA,OAAAH,EAAQ,OAAO,WAAW,UAAU,WAAaD,OAAK,MAAM,WAAW,YAAY,EAAE,QAAQ,IAAK,IAAI,EAAE,QAAQ,IAAK,IAAI,EAAE,QAAQ,IAAK,IAAI,EAErIC,EAAQ,OAAOE,CAAE,CACzB,EAEgB,SAAAG,EAAkBH,EAAsBI,EAAc,OACrE,OAAOF,EAAAH,EAAEC,CAAE,IAAJ,YAAAE,EAAO,WAAWE,EAC1B,CAEA,IAAIC,EACAC,EACAC,EACAC,EAEJC,EAAA,MAAMC,EAAM,MAAAb,EAAA,KAAK,MAAM,UAAU,EAAG,IAAM,OAEzBQ,EAAAM,EAAA,UAAU,WAAW,YAAY,EACjDL,IAAYJ,EAAAG,EAAc,MAAM,IAAI,IAAxB,YAAAH,EAA4B,KAAM,IAC9CK,EAAmBF,EAAc,QAAQ,OAAQ,EAAE,EAAE,OACrDG,EAAoB,CAAA,EAEpB,QAASI,EAAI,EAAGA,EAAIP,EAAc,OAAQO,IACrCP,EAAcO,CAAC,IAAMN,GACxBE,EAAkB,KAAKI,CAAC,CAG3B,EAAG,CAAE,UAAW,EAAA,CAAM,EAKf,SAASC,EAAQC,EAAQ,CAC3B,IAAAC,EAAeD,EAAE,OAAO,aACxBE,EAAQF,EAAE,OAAO,MAIjBG,EAAiBD,EAAM,UAAU,EAAGD,CAAY,EAAE,QAAQ,OAAQ,EAAE,EACpEG,EAAkBF,EAAM,UAAUD,CAAY,EAAE,QAAQ,OAAQ,EAAE,EAElEI,EAAoBF,EAAe,OAASC,EAAgB,OAASX,EACzE,GAAIY,EAAoB,EAAG,CAETF,EAAAA,EAAe,UAAU,EAAGV,CAAgB,EAEvD,MAAAa,EAA2Bb,EAAmBU,EAAe,OACnEC,EAAkBA,EAAgB,UAAUA,EAAgB,OAASE,CAAwB,CAAA,MACnFD,EAAoB,IAE1BL,EAAE,YAAc,uBAEDG,GAAA,IAAI,OAAO,CAACE,CAAiB,EAE/CD,EAAkB,IAAI,OAAO,CAACC,CAAiB,EAAID,GAIrDH,EAAeE,EAAe,OAC9BD,EAAQC,EAAiBC,EAGzB,QAASN,EAAI,EAAGA,EAAIJ,EAAkB,OAAQI,IAAK,CAC5C,MAAAS,EAAiBb,EAAkBI,CAAC,EAElCI,EAAAA,EAAM,UAAU,EAAGK,CAAc,EAAIf,EAAYU,EAAM,UAAUK,CAAc,EAGnFN,GAAgBM,GACnBN,GAEF,CAGID,EAAE,YAAc,yBAA2BE,EAAMD,EAAe,CAAC,IAAMT,GAC1ES,IAIGC,IAAUF,EAAE,OAAO,QACtBA,EAAE,OAAO,MAAQE,EACjBF,EAAE,OAAO,eAAiBC,EAC1BD,EAAE,OAAO,aAAeC,EAE1B"}