@topvisor/ui 0.0.17 → 0.0.33

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 (86) hide show
  1. package/.chunks/datepicker-48f2fa8d.es.js +275 -0
  2. package/.chunks/datepicker-48f2fa8d.es.js.map +1 -0
  3. package/.chunks/datepicker-f94ba423.amd.js +234 -0
  4. package/.chunks/datepicker-f94ba423.amd.js.map +1 -0
  5. package/.chunks/forms-6c397f5a.es.js +935 -0
  6. package/.chunks/forms-6c397f5a.es.js.map +1 -0
  7. package/.chunks/forms-cab135c7.amd.js +3 -0
  8. package/.chunks/forms-cab135c7.amd.js.map +1 -0
  9. package/.chunks/popup-04c385e0.es.js +701 -0
  10. package/.chunks/popup-04c385e0.es.js.map +1 -0
  11. package/.chunks/popup-33f53a1c.amd.js +342 -0
  12. package/.chunks/popup-33f53a1c.amd.js.map +1 -0
  13. package/README.md +62 -62
  14. package/common/common.amd.js +1 -21
  15. package/common/common.amd.js.map +1 -1
  16. package/common/common.js +1 -20
  17. package/common/common.js.map +1 -1
  18. package/core/core.amd.js +1 -4
  19. package/core/core.amd.js.map +1 -1
  20. package/core/core.js +2 -3
  21. package/core/core.js.map +1 -1
  22. package/core.css +1 -648
  23. package/dark.css +1 -136
  24. package/forms/forms.amd.js +1 -12
  25. package/forms/forms.amd.js.map +1 -1
  26. package/forms/forms.js +11 -9
  27. package/forms/helpers.amd.js +1 -5
  28. package/forms/helpers.amd.js.map +1 -1
  29. package/forms/helpers.js +6 -3
  30. package/forms/helpers.js.map +1 -1
  31. package/forms.css +1 -505
  32. package/formsExt/formsExt.amd.js +3 -0
  33. package/formsExt/formsExt.amd.js.map +1 -0
  34. package/formsExt/formsExt.js +152 -0
  35. package/formsExt/formsExt.js.map +1 -0
  36. package/formsExt.css +1 -0
  37. package/icomoon/demo-files/demo.css +161 -161
  38. package/icomoon/demo-files/demo.js +30 -30
  39. package/icomoon/demo.html +2945 -2945
  40. package/icomoon/fonts/Topvisor-2.svg +232 -232
  41. package/icomoon/style.css +647 -647
  42. package/light.css +1 -136
  43. package/package.json +19 -19
  44. package/popup/popup.amd.js +2 -197
  45. package/popup/popup.amd.js.map +1 -1
  46. package/popup/popup.js +104 -158
  47. package/popup/popup.js.map +1 -1
  48. package/popup/worker.amd.js +1 -233
  49. package/popup/worker.amd.js.map +1 -1
  50. package/popup/worker.js +60 -143
  51. package/popup/worker.js.map +1 -1
  52. package/popup.css +1 -19
  53. package/tabs/tabs.amd.js +2 -122
  54. package/tabs/tabs.amd.js.map +1 -1
  55. package/tabs/tabs.js +63 -86
  56. package/tabs/tabs.js.map +1 -1
  57. package/tabs.css +1 -60
  58. package/utils/date.amd.js +2 -0
  59. package/utils/date.amd.js.map +1 -0
  60. package/utils/date.js +6 -0
  61. package/utils/date.js.map +1 -0
  62. package/utils/device.amd.js +1 -41
  63. package/utils/device.amd.js.map +1 -1
  64. package/utils/device.js +3 -38
  65. package/utils/device.js.map +1 -1
  66. package/utils/dom.amd.js +1 -94
  67. package/utils/dom.amd.js.map +1 -1
  68. package/utils/dom.js +47 -77
  69. package/utils/dom.js.map +1 -1
  70. package/.chunks/core-0b2c7817.es.js +0 -152
  71. package/.chunks/core-0b2c7817.es.js.map +0 -1
  72. package/.chunks/core-51f7b679.amd.js +0 -151
  73. package/.chunks/core-51f7b679.amd.js.map +0 -1
  74. package/.chunks/forms-245e3bc0.es.js +0 -565
  75. package/.chunks/forms-245e3bc0.es.js.map +0 -1
  76. package/.chunks/forms-f7b7b259.amd.js +0 -568
  77. package/.chunks/forms-f7b7b259.amd.js.map +0 -1
  78. package/.chunks/popup-8f650530.amd.js +0 -728
  79. package/.chunks/popup-8f650530.amd.js.map +0 -1
  80. package/.chunks/popup-d240ed19.es.js +0 -731
  81. package/.chunks/popup-d240ed19.es.js.map +0 -1
  82. package/editArea/editArea.amd.js +0 -126
  83. package/editArea/editArea.amd.js.map +0 -1
  84. package/editArea/editArea.js +0 -123
  85. package/editArea/editArea.js.map +0 -1
  86. package/editArea.css +0 -61
package/forms.css CHANGED
@@ -1,505 +1 @@
1
- .top-button {
2
- cursor: pointer;
3
- box-sizing: border-box;
4
- box-shadow: var(--top-button-box-shadow);
5
- border-radius: var(--top-forms-radius);
6
- border: var(--top-forms-border-width) solid var(--top-forms-border-color);
7
- background-color: var(--top-button-background-color);
8
- height: var(--top-forms-base-height);
9
- padding: 0 var(--top-forms-padding);
10
- color: var(--top-button-color);
11
- line-height: 1;
12
- white-space: nowrap;
13
- display: inline-flex;
14
- align-items: center;
15
- justify-content: center;
16
-
17
- transition: background-color 150ms, border-color 150ms, box-shadow 150ms;
18
- }
19
- .top-button:hover {
20
- box-shadow: var(--top-button-box-shadow-hover);
21
- background-color: var(--top-button-background-color-hover);
22
- }
23
- .top-button:active {
24
- box-shadow: var(--top-button-box-shadow-active);
25
- background-color: var(--top-button-background-color-active);
26
- }
27
- .top-button.top-active {
28
- box-shadow: var(--top-button-box-shadow-selected);
29
- background-color: var(--top-button-background-color-selected);
30
- }
31
- .top-button.top-button-progress {
32
- cursor: help;
33
- box-shadow: inset rgba(0, 0, 0, 0.5) 0 0 64px;
34
- background-image:
35
- linear-gradient(-45deg,
36
- rgba(255, 255, 255, 0.2) 25%,
37
- transparent 25%,
38
- transparent 50%,
39
- rgba(255, 255, 255, 0.2) 50%,
40
- rgba(255, 255, 255, 0.2) 75%,
41
- transparent 75%,
42
- transparent);
43
- background-size: 32px 32px;
44
- animation: _progress_1hqxk_1 1s linear infinite;
45
- }
46
- @keyframes _progress_1hqxk_1 {
47
- 0% {
48
- background-position-x: 0px;
49
- }
50
- 100% {
51
- background-position-x: 32px;
52
- }
53
- }
54
- a.top-button,
55
- button.top-button {
56
- min-width: 100px;
57
- text-decoration: none;
58
- }
59
- a.top-button,
60
- a.top-button:hover {
61
- min-width: var(--top-forms-base-height);
62
- text-decoration: none;
63
- }
64
- .top-button[data-top-icon]:not(:empty),
65
- .top-button[data-top-icon2]:not(:empty) {
66
- justify-content: flex-start;
67
- text-align: left;
68
- }
69
- .top-button[data-top-icon] {
70
- padding-left: 0;
71
- }
72
- .top-button[data-top-icon2] {
73
- padding-right: var(--top-select_arrow-width);
74
- }
75
- .top-button[data-top-icon2]:after {
76
- margin-left: auto;
77
- }
78
- .top-button:empty {
79
- min-width: var(--top-forms-base-height);
80
- }
81
- .top-button[data-top-icon]:empty,
82
- .top-button[data-top-icon2]:empty {
83
- padding: 0;
84
- }
85
- .top-button.top-color_blue {
86
- --top-button-background-color: var(--color-blue-500);
87
- }
88
- .top-button.top-color_green {
89
- --top-button-background-color: var(--color-green-500);
90
- }
91
- .top-button.top-color_orange {
92
- --top-button-background-color: var(--color-orange-500);
93
- }
94
- .top-button.top-color_red {
95
- --top-button-background-color: var(--color-red-500);
96
- }
97
- .top-button.top-color_pink {
98
- --top-button-background-color: var(--color-pink-500);
99
- }
100
- .top-button.top-color_theme {
101
- --top-button-box-shadow-hover: none;
102
- --top-button-box-shadow-active: none;
103
- --top-button-box-shadow-selected: none;
104
-
105
- --top-icon-color: var(--color-text-2);
106
- --top-icon2-color: var(--color-text-2);
107
-
108
- --top-button-color: var(--color-text-1);
109
- --top-button-background-color: transparent;
110
- --top-button-background-color-hover: var(--color-secondary-opacity);
111
- --top-button-background-color-active: var(--color-secondary-2-opacity);
112
- --top-button-background-color-selected: var(--color-secondary-2-opacity);
113
- }
114
- .top-button.top-color_theme.top-active {
115
- --top-icon-color: var(--color-text-2);
116
- }
117
- .top-button.top-style_outline {
118
- --top-button-box-shadow: none;
119
- --top-button-box-shadow-hover: none;
120
- --top-button-box-shadow-active: none;
121
- --top-button-box-shadow-selected: none;
122
-
123
- --top-forms-border-color: var(--top-style_outline-color);
124
-
125
- --top-style_outline-color: var(--color-steel-400);
126
-
127
- --top-button-color: var(--top-style_outline-color);
128
- --top-button-background-color: var(--content-background-color);
129
- --top-button-background-color-hover: var(--color-theme-100);
130
- --top-button-background-color-active: var(--color-theme-150);
131
- --top-button-background-color-selected: var(--color-theme-125);
132
-
133
- --top-forms-border-width: 1px;
134
- }
135
- .top-button.top-style_outline.top-color_theme {
136
- --top-button-color: var(--color-text);
137
- }
138
- .top-button.top-style_outline.top-color_blue {
139
- --top-style_outline-color: var(--color-blue-500);
140
- }
141
- .top-button.top-style_outline.top-color_green {
142
- --top-style_outline-color: var(--color-green-500);
143
- }
144
- .top-button.top-style_outline.top-color_orange {
145
- --top-style_outline-color: var(--color-orange-500);
146
- }
147
- .top-button.top-style_outline.top-color_red {
148
- --top-style_outline-color: var(--color-red-500);
149
- }
150
- .top-button.top-style_outline.top-color_pink {
151
- --top-style_outline-color: var(--color-pink-500);
152
- }
153
- .top-button.top-style_soft {
154
- --top-shadow-darken: none;
155
- --top-shadow-darken-2: none;
156
- --top-shadow-darken-3: none;
157
-
158
- --top-button-color: var(--color-text);
159
- --top-button-background-color: var(--color-secondary-opacity);
160
- --top-button-background-color-hover: var(--color-secondary-2-opacity);
161
- --top-button-background-color-active: var(--color-secondary-3-opacity);
162
- --top-button-background-color-selected: var(--color-secondary-3-opacity);
163
- }
164
- .top-button.top-style_soft.top-color_blue {
165
- --top-button-color: var(--color-blue-500);
166
- }
167
- .top-button.top-style_soft.top-color_orange {
168
- --top-button-color: var(--color-orange-500);
169
- }
170
- .top-button.top-style_soft.top-color_green {
171
- --top-button-color: var(--color-green-500);
172
- }
173
- .top-button.top-style_soft.top-color_red {
174
- --top-button-color: var(--color-red-500);
175
- }
176
- .top-button.top-style_soft.top-color_pink {
177
- --top-button-color: var(--color-pink-500);
178
- }
179
- .top-button.top-style_transparent {
180
- --top-shadow-darken: none;
181
- --top-shadow-darken-2: none;
182
- --top-shadow-darken-3: none;
183
-
184
- --top-button-color: var(--color-text);
185
- --top-button-background-color: transparent;
186
- --top-button-background-color-hover: transparent;
187
- --top-button-background-color-active: transparent;
188
- --top-button-background-color-selected: var(--color-steel-200);
189
- }
190
- .top-button.top-style_transparent:hover {
191
- opacity: 0.8;
192
- }
193
- .top-button.top-style_transparent.top-color_blue {
194
- --top-button-color: var(--color-blue-450);
195
- }
196
- .top-button.top-style_transparent.top-color_green {
197
- --top-button-color: var(--color-green-450);
198
- }
199
- .top-button.top-style_transparent.top-color_orange {
200
- --top-button-color: var(--color-orange-450);
201
- }
202
- .top-button.top-style_transparent.top-color_red {
203
- --top-button-color: var(--color-red-450);
204
- }
205
- .top-button.top-style_transparent.top-color_pink {
206
- --top-button-color: var(--color-pink-450);
207
- }
208
- .top-button {
209
- --top-button-color: var(--color-white);
210
- --top-button-background-color: transparent;
211
- --top-button-background-color-hover: var(--top-button-background-color);
212
- --top-button-background-color-active: var(--top-button-background-color-hover);
213
- --top-button-background-color-selected: var(--top-button-background-color-hover);
214
- --top-button-box-shadow: none;
215
- --top-button-box-shadow-hover: var(--top-shadow-darken-2);
216
- --top-button-box-shadow-active: var(--top-shadow-darken-3);
217
- --top-button-box-shadow-selected: var(--top-shadow-darken-3);
218
- --top-forms-border-width: 0px;
219
- --top-icon-width: calc(var(--top-icon-size) + var(--top-forms-padding));
220
- --top-icon2-width: calc(var(--top-icon2-size) + var(--top-forms-padding));
221
- }
222
- .top-button.top-size_l {
223
- --top-forms-padding: var(--top-forms-padding_l);
224
- --top-forms-base-height: var(--top-forms-base-height_l);
225
- }
226
- .top-button.top-size_xl {
227
- --top-forms-padding: var(--top-forms-padding_xl);
228
- --top-forms-base-height: var(--top-forms-base-height_xl);
229
- }
230
-
231
- .top-hint {
232
- --top-icon-size: 16px;
233
- --top-icon-width: var(--top-icon-size);
234
-
235
- border-radius: 50%;
236
- background: var(--content-background-color);
237
- padding: 1px;
238
- color: var(--color-text-4);
239
- line-height: 1;
240
- z-index: 1;
241
- pointer-events: all;
242
- }
243
- .top-hint:hover {
244
- color: var(--color-text-3);
245
- }
246
-
247
- .top-textarea {
248
- width: 180px;
249
- display: inline-flex;
250
- align-items: center;
251
- position: relative;
252
- }
253
- .top-textarea_textarea {
254
- background: var(--top-forms-background-color);
255
- width: 100%;
256
- padding: var(--top-forms-padding);
257
- resize: none;
258
- }
259
- .top-textarea_textarea:hover {
260
- background: var(--top-forms-background-color-hover);
261
- }
262
- .top-textarea_textarea:focus {
263
- outline-color: var(--color-theme-75);
264
- outline-offset: 0px;
265
- }
266
- .top-textarea_textarea.top-textarea_textarea-expandable {
267
- width: 100%;
268
- height: 100%;
269
- overflow: hidden;
270
- position: absolute;
271
- top: 0;
272
- left: 0;
273
- }
274
- .top-textarea_pseudoContent {
275
- box-sizing: border-box;
276
- min-height: var(--bcf6b9ae);
277
- padding: var(--top-forms-padding);
278
- font-size: 14px;
279
- white-space: pre-wrap;
280
- overflow-wrap: anywhere;
281
- pointer-events: none;
282
- opacity: 0;
283
- z-index: -1;
284
- }
285
- .top-textarea_hint {
286
- position: absolute;
287
- top: 2px;
288
- right: 2px;
289
- }
290
-
291
- .top-forms-optionLabel {
292
- flex-grow: 1;
293
- }
294
- .top-forms-optionLabel_title {
295
- min-height: var(--top-forms-option-height);
296
- display: flex;
297
- align-items: center;
298
- }
299
- .top-forms-optionLabel_title-disabled {
300
- color: var(--color-text-3);
301
- }
302
- .top-forms-optionLabel_description {
303
- color: var(--color-text-3);
304
- font-size: 0.85em;
305
- line-height: var(--top-forms-option-height);
306
- }
307
-
308
- .top-checkbox {
309
- cursor: pointer;
310
- display: inline-flex;
311
- }
312
- .top-checkbox_input {
313
- cursor: inherit;
314
- border-radius: 4px;
315
- background: var(--content-background-color);
316
- border: 1px solid var(--top-forms-border-color);
317
- width: calc(var(--top-forms-option-height) - 3px * 2);
318
- height: calc(var(--top-forms-option-height) - 3px * 2);
319
- }
320
- .top-checkbox_input:before {
321
- content: ' ';
322
- color: #FFF;
323
- font-family: 'Topvisor-2';
324
- font-size: 16px;
325
- }
326
- .top-checkbox_input:hover {
327
- border-color: var(--top-forms-option-color);
328
- background: var(--color-theme-50)
329
- }
330
-
331
- /* checked / indeterminate */
332
- .top-checkbox_input:checked,
333
- .top-checkbox_input:indeterminate {
334
- border-color: var(--top-forms-option-color);
335
- background: var(--top-forms-option-color);
336
- }
337
- .top-checkbox_input:checked:before {
338
- content: '';
339
- }
340
- .top-checkbox_input:indeterminate:before {
341
- content: '';
342
- }
343
- .top-checkbox_input:checked:hover,
344
- .top-checkbox_input:indeterminate:hover {
345
- border-color: var(--top-forms-option-color-hover);
346
- background: var(--top-forms-option-color-hover);
347
- }
348
-
349
- /* disabled selected */
350
- .top-checkbox_input:disabled {
351
- border-color: var(--color-line-1-opacity);
352
- background: var(--color-theme-50);
353
- }
354
- .top-checkbox_input:checked:disabled,
355
- .top-checkbox_input:indeterminate:disabled {
356
- border-color: transparent;
357
- background: var(--color-theme-400);
358
- }
359
-
360
- /* isError */
361
- .top-checkbox_input.top-error {
362
- border-color: var(--color-negative);
363
- }
364
- .top-checkbox_input.top-error:hover {
365
- border-color: var(--color-negative-2);
366
- }
367
-
368
- /* isError selected */
369
- .top-checkbox_input:checked.top-error,
370
- .top-checkbox_input:indeterminate.top-error {
371
- background: var(--color-negative);
372
- }
373
- .top-checkbox_input:checked.top-error:hover,
374
- .top-checkbox_input:indeterminate.top-error:hover {
375
- background: var(--color-negative-2);
376
- }
377
-
378
- .top-input {
379
- width: 180px;
380
- display: inline-flex;
381
- align-items: center;
382
- gap: var(--top-gap-1);
383
- }
384
- .top-input_input {
385
- background: var(--top-forms-background-color);
386
- }
387
- .top-input_input:hover {
388
- background: var(--top-forms-background-color-hover);
389
- }
390
- .top-input_input:focus {
391
- outline-color: var(--color-theme-75);
392
- outline-offset: 0px;
393
- }
394
- .top-input-withCleaner .top-input_input:not(:placeholder-shown) {
395
- --top-forms_clear-width: 24px;
396
- }
397
-
398
- /* TODO: перенести в inputsRange */
399
- .top-input_input {
400
- width: 50%;
401
- flex-grow: 1;
402
- }
403
- .top-input[data-top-icon]:before {
404
- --top-icon-color: var(--color-text-secondary);
405
- }
406
-
407
- :root {
408
- --top-radio-background-color: var(--content-background-color);
409
- --top-radio-background-color-hover: var(--top-radio-background-color);
410
- --top-radio-background-color-active: var(--top-radio-background-color);
411
- }
412
- .top-radio {
413
- cursor: pointer;
414
- }
415
- .top-radio_input {
416
- border-radius: 50%;
417
- background: var(--content-background-color);
418
- border: 1px solid var(--top-forms-border-color);
419
- width: calc(var(--top-forms-option-height) - 3px * 2);
420
- height: calc(var(--top-forms-option-height) - 3px * 2);
421
- }
422
- .top-radio_input:hover {
423
- border-color: var(--top-forms-option-color);
424
- background: var(--color-theme-50)
425
- }
426
- .top-radio_input:checked {
427
- border-color: var(--top-forms-option-color);
428
- border-width: 5px;
429
- }
430
- .top-radio_input:checked:hover {
431
- border-color: var(--top-forms-option-color-hover);
432
- }
433
-
434
- /* disabled */
435
- .top-radio_input:disabled {
436
- border-color: var(--color-line-1-opacity);
437
- background: var(--color-theme-50);
438
- }
439
-
440
- /* disabled selected */
441
- .top-radio_input:checked:disabled {
442
- border-color: var(--color-theme-400);
443
- }
444
-
445
- /* isError */
446
- .top-radio_input.top-error {
447
- border-color: var(--color-negative);
448
- }
449
- .top-radio_input.top-error:hover {
450
- border-color: var(--color-negative-2);
451
- }
452
-
453
- .top-checkboxSwitcher {
454
- cursor: pointer;
455
- display: inline-flex;
456
- gap: 4px;
457
- }
458
- .top-checkboxSwitcher_input {
459
- border-radius: 9px;
460
- border: none;
461
- background: var(--color-theme-100);
462
- width: 36px;
463
- height: 18px;
464
- position: relative;
465
- }
466
- .top-checkboxSwitcher_input:before {
467
- content: '';
468
- border-radius: 50%;
469
- background: var(--color-white);
470
- width: 12px;
471
- height: 12px;
472
- margin: 3px;
473
- position: absolute;
474
- top: 0;
475
- left: 0;
476
-
477
- transition: left 0.1s;
478
- }
479
- .top-checkboxSwitcher_input:hover {
480
- background: var(--color-theme-150);
481
- }
482
-
483
- /* checked */
484
- .top-checkboxSwitcher_input:checked {
485
- background: var(--top-forms-option-color);
486
- }
487
- .top-checkboxSwitcher_input:checked:hover {
488
- background: var(--top-forms-option-color-hover);
489
- }
490
- .top-checkboxSwitcher_input:checked:before {
491
- left: 50%;
492
- }
493
-
494
- /* disabled */
495
- .top-checkboxSwitcher_input:disabled {
496
- background: var(--color-theme-400);
497
- }
498
-
499
- /* isError */
500
- .top-checkboxSwitcher_input.top-error {
501
- background: var(--color-negative);
502
- }
503
- .top-checkboxSwitcher_input.top-error:hover {
504
- background: var(--color-negative-2);
505
- }
1
+ .top-button{cursor:pointer;box-sizing:border-box;box-shadow:var(--top-button-box-shadow);border-radius:var(--top-forms-radius);border:var(--top-forms-border-width) solid var(--top-forms-border-color);background-color:var(--top-button-background-color);height:var(--top-forms-base-height);padding:0 var(--top-forms-padding);color:var(--top-button-color);line-height:1;white-space:nowrap;display:inline-flex;align-items:center;justify-content:center;transition:background-color .15s,border-color .15s,box-shadow .15s}.top-button:hover{box-shadow:var(--top-button-box-shadow-hover);background-color:var(--top-button-background-color-hover)}.top-button:active{box-shadow:var(--top-button-box-shadow-active);background-color:var(--top-button-background-color-active)}.top-button.top-active{box-shadow:var(--top-button-box-shadow-selected);background-color:var(--top-button-background-color-selected)}.top-button.top-button-progress{cursor:help;box-shadow:inset #00000080 0 0 64px;background-image:linear-gradient(-45deg,rgba(255,255,255,.2) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.2) 50%,rgba(255,255,255,.2) 75%,transparent 75%,transparent);background-size:32px 32px;animation:_progress_1f1nw_1 1s linear infinite}@keyframes _progress_1f1nw_1{0%{background-position-x:0px}to{background-position-x:32px}}a.top-button,button.top-button{min-width:100px;text-decoration:none}a.top-button,a.top-button:hover{min-width:var(--top-forms-base-height);text-decoration:none}.top-button[data-top-icon]:not(:empty),.top-button[data-top-icon2]:not(:empty){justify-content:flex-start;text-align:left}.top-button[data-top-icon]{padding-left:0}.top-button[data-top-icon2]{padding-right:var(--top-select_arrow-width)}.top-button[data-top-icon2]:after{margin-left:auto}.top-button:empty{min-width:var(--top-forms-base-height)}.top-button[data-top-icon]:empty,.top-button[data-top-icon2]:empty{padding:0}.top-button.top-color_blue{--top-button-background-color: var(--color-blue-500)}.top-button.top-color_green{--top-button-background-color: var(--color-green-500)}.top-button.top-color_orange{--top-button-background-color: var(--color-orange-500)}.top-button.top-color_red{--top-button-background-color: var(--color-red-500)}.top-button.top-color_pink{--top-button-background-color: var(--color-pink-500)}.top-button.top-color_theme{--top-button-box-shadow-hover: none;--top-button-box-shadow-active: none;--top-button-box-shadow-selected: none;--top-icon-color: var(--color-text-2);--top-icon2-color: var(--color-text-2);--top-button-color: var(--color-text-1);--top-button-background-color: transparent;--top-button-background-color-hover: var(--color-secondary-opacity);--top-button-background-color-active: var(--color-secondary-2-opacity);--top-button-background-color-selected: var(--color-secondary-2-opacity)}.top-button.top-color_theme.top-active{--top-icon-color: var(--color-text-2)}.top-button.top-style_outline{--top-button-box-shadow: none;--top-button-box-shadow-hover: none;--top-button-box-shadow-active: none;--top-button-box-shadow-selected: none;--top-forms-border-color: var(--top-style_outline-color);--top-style_outline-color: var(--color-steel-400);--top-button-color: var(--top-style_outline-color);--top-button-background-color: var(--content-background-color);--top-button-background-color-hover: var(--color-theme-100);--top-button-background-color-active: var(--color-theme-150);--top-button-background-color-selected: var(--color-theme-125);--top-forms-border-width: 1px}.top-button.top-style_outline.top-color_theme{--top-button-color: var(--color-text)}.top-button.top-style_outline.top-color_blue{--top-style_outline-color: var(--color-blue-500)}.top-button.top-style_outline.top-color_green{--top-style_outline-color: var(--color-green-500)}.top-button.top-style_outline.top-color_orange{--top-style_outline-color: var(--color-orange-500)}.top-button.top-style_outline.top-color_red{--top-style_outline-color: var(--color-red-500)}.top-button.top-style_outline.top-color_pink{--top-style_outline-color: var(--color-pink-500)}.top-button.top-style_soft{--top-shadow-darken: none;--top-shadow-darken-2: none;--top-shadow-darken-3: none;--top-button-color: var(--color-text);--top-button-background-color: var(--color-secondary-opacity);--top-button-background-color-hover: var(--color-secondary-2-opacity);--top-button-background-color-active: var(--color-secondary-3-opacity);--top-button-background-color-selected: var(--color-secondary-3-opacity)}.top-button.top-style_soft.top-color_blue{--top-button-color: var(--color-blue-500)}.top-button.top-style_soft.top-color_orange{--top-button-color: var(--color-orange-500)}.top-button.top-style_soft.top-color_green{--top-button-color: var(--color-green-500)}.top-button.top-style_soft.top-color_red{--top-button-color: var(--color-red-500)}.top-button.top-style_soft.top-color_pink{--top-button-color: var(--color-pink-500)}.top-button.top-style_transparent{--top-shadow-darken: none;--top-shadow-darken-2: none;--top-shadow-darken-3: none;--top-button-color: var(--color-text);--top-button-background-color: transparent;--top-button-background-color-hover: transparent;--top-button-background-color-active: transparent;--top-button-background-color-selected: var(--color-steel-200)}.top-button.top-style_transparent:hover{opacity:.8}.top-button.top-style_transparent.top-color_blue{--top-button-color: var(--color-blue-450)}.top-button.top-style_transparent.top-color_green{--top-button-color: var(--color-green-450)}.top-button.top-style_transparent.top-color_orange{--top-button-color: var(--color-orange-450)}.top-button.top-style_transparent.top-color_red{--top-button-color: var(--color-red-450)}.top-button.top-style_transparent.top-color_pink{--top-button-color: var(--color-pink-450)}.top-button{--top-button-color: var(--color-white);--top-button-background-color: transparent;--top-button-background-color-hover: var(--top-button-background-color);--top-button-background-color-active: var(--top-button-background-color-hover);--top-button-background-color-selected: var(--top-button-background-color-hover);--top-button-box-shadow: none;--top-button-box-shadow-hover: var(--top-shadow-darken-2);--top-button-box-shadow-active: var(--top-shadow-darken-3);--top-button-box-shadow-selected: var(--top-shadow-darken-3);--top-forms-border-width: 0px;--top-icon-width: calc(var(--top-icon-size) + var(--top-forms-padding));--top-icon2-width: calc(var(--top-icon2-size) + var(--top-forms-padding))}.top-button.top-size_l{--top-forms-padding: var(--top-forms-padding_l);--top-forms-base-height: var(--top-forms-base-height_l)}.top-button.top-size_xl{--top-forms-padding: var(--top-forms-padding_xl);--top-forms-base-height: var(--top-forms-base-height_xl)}.top-forms-optionLabel{flex-grow:1}.top-forms-optionLabel_title{min-height:var(--top-forms-option-height);display:flex;align-items:center}.top-forms-optionLabel_title-disabled{color:var(--color-text-3)}.top-forms-optionLabel_description{color:var(--color-text-3);font-size:.85em;line-height:var(--top-forms-option-height)}.top-checkbox{cursor:pointer;display:inline-flex}.top-checkbox_input{cursor:inherit;border-radius:4px;background:var(--content-background-color);border:1px solid var(--top-forms-border-color);width:calc(var(--top-forms-option-height) - 3px * 2);height:calc(var(--top-forms-option-height) - 3px * 2)}.top-checkbox_input:before{content:" ";color:#fff;font-family:Topvisor-2;font-size:16px}.top-checkbox_input:hover{border-color:var(--top-forms-option-color);background:var(--color-theme-50)}.top-checkbox_input:checked,.top-checkbox_input:indeterminate{border-color:var(--top-forms-option-color);background:var(--top-forms-option-color)}.top-checkbox_input:checked:before{content:""}.top-checkbox_input:indeterminate:before{content:""}.top-checkbox_input:checked:hover,.top-checkbox_input:indeterminate:hover{border-color:var(--top-forms-option-color-hover);background:var(--top-forms-option-color-hover)}.top-checkbox_input:disabled{border-color:var(--color-line-1-opacity);background:var(--color-theme-50)}.top-checkbox_input:checked:disabled,.top-checkbox_input:indeterminate:disabled{border-color:transparent;background:var(--color-theme-400)}.top-checkbox_input.top-error{border-color:var(--color-negative)}.top-checkbox_input.top-error:hover{border-color:var(--color-negative-2)}.top-checkbox_input:checked.top-error,.top-checkbox_input:indeterminate.top-error{background:var(--color-negative)}.top-checkbox_input:checked.top-error:hover,.top-checkbox_input:indeterminate.top-error:hover{background:var(--color-negative-2)}.top-hint{--top-icon-size: 16px;--top-icon-width: var(--top-icon-size);border-radius:50%;background:var(--content-background-color);padding:1px;color:var(--color-text-4);line-height:1;z-index:1;pointer-events:all}.top-hint:hover{color:var(--color-text-3)}.top-input{--top-forms_clear-width: 0px;width:180px;position:relative;display:inline-flex;align-items:center;gap:var(--top-gap-1)}.top-input_input{background:var(--top-forms-background-color);height:var(--top-forms-base-height);padding:0;padding-right:max(var(--top-forms-padding),calc(var(--top-icon2-width) + var(--top-forms_clear-width)));padding-left:max(var(--top-forms-padding),var(--top-icon-width))}.top-input_input:hover{background:var(--top-forms-background-color-hover)}.top-input_input:focus{outline-color:var(--color-theme-75);outline-offset:0}.top-input[data-top-icon]:before,.top-input[data-top-icon2]:after{--top-icon-color: var(--color-text-secondary);--top-icon2-color: var(--color-text-secondary);position:absolute;z-index:3}.top-input[data-top-icon]:before{left:0}.top-input[data-top-icon2]:after{right:0}.top-input-withCleaner{--top-forms_clear-width: 24px}.top-input_cleaner{--top-icon-size: 20px;--top-icon-width: 20px;--top-icon-color: var(--color-text-3);cursor:pointer;border-radius:50%;width:24px;height:24px;position:absolute;right:calc(var(--top-forms-border-width) + max(var(--top-icon2-width),var(--top-forms-padding) / 2));z-index:1;display:flex;align-items:center;justify-content:center}.top-input_cleaner:hover{--top-icon-color: var(--color-text-2)}.top-input_input{width:50%;flex-grow:1}.top-input-datepicker{width:calc(105px + var(--top-icon-width) + var(--top-icon2-width))}.top-input_input-date{opacity:0;position:absolute;inset:0;z-index:-1}.top-input_input-date::-webkit-inner-spin-button{display:none}.top-input_input-date::-webkit-calendar-picker-indicator{opacity:0}:root{--top-radio-background-color: var(--content-background-color);--top-radio-background-color-hover: var(--top-radio-background-color);--top-radio-background-color-active: var(--top-radio-background-color)}.top-radio{cursor:pointer}.top-radio_input{border-radius:50%;background:var(--content-background-color);border:1px solid var(--top-forms-border-color);width:calc(var(--top-forms-option-height) - 3px * 2);height:calc(var(--top-forms-option-height) - 3px * 2)}.top-radio_input:hover{border-color:var(--top-forms-option-color);background:var(--color-theme-50)}.top-radio_input:checked{border-color:var(--top-forms-option-color);border-width:5px}.top-radio_input:checked:hover{border-color:var(--top-forms-option-color-hover)}.top-radio_input:disabled{border-color:var(--color-line-1-opacity);background:var(--color-theme-50)}.top-radio_input:checked:disabled{border-color:var(--color-theme-400)}.top-radio_input.top-error{border-color:var(--color-negative)}.top-radio_input.top-error:hover{border-color:var(--color-negative-2)}.top-checkboxSwitcher{cursor:pointer;display:inline-flex;gap:4px}.top-checkboxSwitcher_input{border-radius:9px;border:none;background:var(--color-theme-100);width:36px;height:18px;position:relative}.top-checkboxSwitcher_input:before{content:"";border-radius:50%;background:var(--color-white);width:12px;height:12px;margin:3px;position:absolute;top:0;left:0;transition:left .1s}.top-checkboxSwitcher_input:hover{background:var(--color-theme-150)}.top-checkboxSwitcher_input:checked{background:var(--top-forms-option-color)}.top-checkboxSwitcher_input:checked:hover{background:var(--top-forms-option-color-hover)}.top-checkboxSwitcher_input:checked:before{left:50%}.top-checkboxSwitcher_input:disabled{background:var(--color-theme-400)}.top-checkboxSwitcher_input.top-error{background:var(--color-negative)}.top-checkboxSwitcher_input.top-error:hover{background:var(--color-negative-2)}.top-textarea{width:180px;display:inline-flex;align-items:center;position:relative}.top-textarea_textarea{background:var(--top-forms-background-color);width:100%;padding:var(--top-forms-padding);resize:none}.top-textarea_textarea:hover{background:var(--top-forms-background-color-hover)}.top-textarea_textarea:focus{outline-color:var(--color-theme-75);outline-offset:0px}.top-textarea_textarea.top-textarea_textarea-expandable{width:100%;height:100%;overflow:hidden;position:absolute;top:0;left:0}.top-textarea_pseudoContent{box-sizing:border-box;min-height:var(--c838a038);padding:var(--top-forms-padding);font-size:14px;white-space:pre-wrap;overflow-wrap:anywhere;pointer-events:none;opacity:0;z-index:-1}.top-textarea_hint{position:absolute;top:2px;right:2px}.top-select{--top-icon-color: var(--color-text-3);--top-icon2-color: var(--color-text-2);height:auto;width:180px;min-height:var(--top-forms-base-height);max-width:100%;vertical-align:middle;display:inline-flex;align-items:center;cursor:pointer}.top-select-error{--top-icon-color: var(--color-negative);--top-icon2-color: var(--color-negative)}.top-select_select{background-color:var(--top-forms-background-color);padding-left:var(--top-forms-padding);text-indent:clamp(0px,calc(var(--top-icon-both-width) - var(--top-forms-padding)),calc(var(--top-icon-both-width) - var(--top-forms-padding)));width:100%;text-overflow:ellipsis;white-space:nowrap;flex-grow:1;overflow:hidden}.top-select_select:focus{outline-color:var(--color-theme-75);outline-offset:0px}.top-select_select:disabled{background:var(--color-theme-50)}.top-select optgroup{color:var(--color-text-1);font-style:normal}.top-select option{background:var(--content-background-color);color:var(--color-text-1)}@-moz-document url-prefix(){.top-select_select{text-indent:calc(clamp(0px,calc(var(--top-icon-both-width) - var(--top-forms-padding)),calc(var(--top-icon-both-width) - var(--top-forms-padding)))/2)}}@media only screen and (min-width: 900px){.top-select_changer{border-radius:100%;width:0;transform:translate(-44px);color:var(--color-text-secondary-2);font-size:16px;line-height:1;display:none;z-index:2;order:4}.top-select_changer:hover{color:var(--color-primary)}.top-select_changer:after{content:"";background-color:var(--top-forms-background-color);font-family:Topvisor-2}.top-select:hover>.top-select_changer{display:block}}
@@ -0,0 +1,3 @@
1
+ define(["exports","vue","../.chunks/forms-cab135c7.amd"],function(m,e,d){"use strict"; if(typeof vue === "undefined") var vue = window.Vue;var f=document.createElement("style");f.textContent=`.top-editArea{display:flex;flex-direction:column;gap:6px}.top-editArea_title{font-size:12px}.top-editArea_form{background:var(--top-forms-background-color);outline-color:var(--color-theme-75);outline-offset:0;display:flex;flex-direction:column}.top-editArea_form:hover{background:var(--top-forms-background-color-hover)}.top-textarea{width:100%}.top-editArea_element.top-textarea_textarea{border:none;outline:none;animation:none}.top-editArea_footer{padding:var(--top-forms-padding);display:flex;justify-content:flex-end;gap:var(--top-forms-padding)}.top-editArea-attachedToKeyboard{background:var(--top-forms-background-color);margin-bottom:env(keyboard-inset-height,0);position:fixed;bottom:0;right:0;left:0;z-index:2;gap:0}.top-editArea-attachedToKeyboard .top-editArea_form{border-radius:0;border:none;border-top:1px solid var(--top-forms-border-color)}.top-editArea-attachedToKeyboard .top-editArea_title{border-top:1px solid var(--color-line-2-opacity);padding:var(--top-forms-padding)}.top-editArea-attachedToKeyboard .top-editArea_footer>[data-top-icon]{border-radius:100%}.top-editInput{width:220px;flex-grow:1;display:flex;align-items:flex-end;gap:var(--top-gap-1)}.top-editInput .top-input{width:unset;flex-grow:1}
2
+ `,document.head.appendChild(f);const y={key:0,class:"top-editArea_title"},b={class:"top-editArea_footer"},h=e.defineComponent({__name:"editArea",props:{modelValue:{},title:{},cancelText:{default:"Отмена"},submitText:{default:"Отправить"},attachToKeyboard:{type:Boolean},name:{},placeholder:{},rows:{},minHeight:{},expandable:{type:Boolean,default:!0},disabled:{type:Boolean},readonly:{type:Boolean},isError:{type:Boolean},hint:{}},emits:["update:modelValue","cancel"],setup(u,{emit:c}){const l=u,o=e.ref(""),a=e.ref(l.modelValue);e.watch(e.toRef(l,"modelValue"),()=>{a.value=l.modelValue});const n=e.computed(()=>a.value!==l.modelValue),i=t=>{c("update:modelValue",t)},p=()=>{c("cancel"),a.value=l.modelValue};return(t,r)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass({"top-editArea":!0,"top-editArea-attachedToKeyboard":t.attachToKeyboard})},[t.title?(e.openBlock(),e.createElementBlock("div",y,e.toDisplayString(t.title),1)):e.createCommentVNode("",!0),e.createElementVNode("div",{class:e.normalizeClass({"top-editArea_form":!0,"top-error":t.isError,"top-focus":o.value=="focus"})},[e.createVNode(d.Textarea,{modelValue:a.value,"onUpdate:modelValue":r[0]||(r[0]=s=>a.value=s),name:t.name,placeholder:t.placeholder,rows:t.rows,minHeight:t.minHeight,expandable:t.expandable,disabled:t.disabled,readonly:t.readonly,isError:t.isError,hint:t.hint,class:"top-editArea_element",onFocus:r[1]||(r[1]=s=>o.value="focus"),onBlur:r[2]||(r[2]=s=>o.value=""),onKeyup:[e.withKeys(p,["esc"]),r[3]||(r[3]=e.withKeys(e.withModifiers(s=>i(a.value),["ctrl"]),["enter"]))]},null,8,["modelValue","name","placeholder","rows","minHeight","expandable","disabled","readonly","isError","hint","onKeyup"]),e.createElementVNode("div",b,[n.value&&(!t.attachToKeyboard||t.modelValue)?(e.openBlock(),e.createBlock(d.Button,{key:0,class:"top-editArea_button",color:"theme",icon:t.attachToKeyboard?"":"",onClick:p},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(t.attachToKeyboard?"":t.cancelText),1)]),_:1},8,["icon"])):e.createCommentVNode("",!0),e.createVNode(d.Button,{class:"top-editArea_button",icon:t.attachToKeyboard?"":"",onClick:r[4]||(r[4]=s=>i(a.value))},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(t.attachToKeyboard?"":t.submitText),1)]),_:1},8,["icon"])])],2)],2))}}),A={$style:{"top-editArea":"top-editArea","top-editArea_title":"top-editArea_title","top-editArea_form":"top-editArea_form","top-textarea":"top-textarea","top-editArea_element":"top-editArea_element","top-textarea_textarea":"top-textarea_textarea","top-editArea_footer":"top-editArea_footer","top-editArea-attachedToKeyboard":"top-editArea-attachedToKeyboard"}},g=d._export_sfc(h,[["__cssModules",A]]),V={class:"top-editInput"},k=e.defineComponent({__name:"editInput",props:{modelValue:{},input:{},button:{}},emits:["update:modelValue"],setup(u,{emit:c}){const l=u,o=e.ref(l.modelValue);e.watch(e.toRef(l.modelValue),()=>{o.value=l.modelValue});const a=()=>{c("update:modelValue",o.value)};return(n,i)=>(e.openBlock(),e.createElementBlock("div",V,[e.createVNode(d.Input,e.mergeProps(n.input,{onKeydownCapture:i[0]||(i[0]=e.withKeys(e.withModifiers(p=>o.value=n.modelValue,["stop"]),["esc"])),onKeydown:e.withKeys(e.withModifiers(a,["stop"]),["enter"]),modelValue:o.value,"onUpdate:modelValue":i[1]||(i[1]=p=>o.value=p)}),null,16,["onKeydown","modelValue"]),o.value!==n.modelValue?(e.openBlock(),e.createBlock(d.Button,e.mergeProps({key:0,icon:"",styling:"soft"},n.button,{onClick:a}),{default:e.withCtx(()=>[e.renderSlot(n.$slots,"default")]),_:3},16)):e.createCommentVNode("",!0)]))}}),w={$style:{"top-editInput":"top-editInput","top-input":"top-input"}},K=d._export_sfc(k,[["__cssModules",w]]);m.EditArea=g,m.EditInput=K,Object.defineProperty(m,Symbol.toStringTag,{value:"Module"})});
3
+ //# sourceMappingURL=formsExt.amd.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"formsExt.amd.js","sources":["../../src/components/formsExt/editArea/editArea.vue","../../src/components/formsExt/editInput/editInput.vue"],"sourcesContent":["<script setup lang=\"ts\">\r\nimport { ref, toRef, watch, computed } from 'vue';\r\nimport Button from '@/components/forms/button/button.vue';\r\nimport type { Props, Emits } from './editArea';\r\nimport Textarea from '@/components/forms/textarea/textarea.vue';\r\n\r\n// TODO: добавить переменную top-forms-fixed-height и использовать ее при добавлении отступов у страницы\r\n\r\nconst props = withDefaults(defineProps<Props>(), {\r\n\tcancelText: 'Отмена',\r\n\tsubmitText: 'Отправить',\r\n\texpandable: true,\r\n});\r\n\r\nconst emit = defineEmits<Emits>();\r\n\r\nconst state = ref('');\r\n\r\n/**\r\n * Локальное значение modelValue, будет проброшено вверх только в случае отправки формы\r\n */\r\nconst localValue = ref(props.modelValue);\r\n\r\nwatch(toRef(props, 'modelValue'), () => {\r\n\tlocalValue.value = props.modelValue;\r\n});\r\n\r\nconst isChanged = computed(() => localValue.value !== props.modelValue);\r\n\r\nconst submit = (value: string) => {\r\n\temit('update:modelValue', value);\r\n};\r\n\r\nconst cancel = () => {\r\n\temit('cancel');\r\n\r\n\t// сброс введенного значения\r\n\tlocalValue.value = props.modelValue;\r\n};\r\n</script>\r\n\r\n<template>\r\n\t<div\r\n\t\t:class=\"{\r\n\t\t\t'top-editArea': true,\r\n\t\t\t'top-editArea-attachedToKeyboard': attachToKeyboard,\r\n\t\t}\"\r\n\t>\r\n\t\t<div\r\n\t\t\tv-if=\"title\"\r\n\t\t\tclass=\"top-editArea_title\"\r\n\t\t>\r\n\t\t\t{{ title }}\r\n\t\t</div>\r\n\r\n\t\t<div\r\n\t\t\t:class=\"{\r\n\t\t\t\t'top-editArea_form': true,\r\n\t\t\t\t'top-error': isError,\r\n\t\t\t\t'top-focus': state == 'focus',\r\n\t\t\t}\"\r\n\t\t>\r\n\t\t\t<Textarea\r\n\t\t\t\tv-model=\"localValue\"\r\n\t\t\t\t:name=\"name\"\r\n\t\t\t\t:placeholder=\"placeholder\"\r\n\t\t\t\t:rows=\"rows\"\r\n\t\t\t\t:minHeight=\"minHeight\"\r\n\t\t\t\t:expandable=\"expandable\"\r\n\t\t\t\t:disabled=\"disabled\"\r\n\t\t\t\t:readonly=\"readonly\"\r\n\t\t\t\t:isError=\"isError\"\r\n\t\t\t\t:hint=\"hint\"\r\n\t\t\t\tclass=\"top-editArea_element\"\r\n\t\t\t\t@focus=\"state = 'focus'\"\r\n\t\t\t\t@blur=\"state = ''\"\r\n\t\t\t\t@keyup.esc=\"cancel\"\r\n\t\t\t\t@keyup.ctrl.enter=\"submit(localValue)\"\r\n\t\t\t/>\r\n\r\n\t\t\t<div class=\"top-editArea_footer\">\r\n\t\t\t\t<Button\r\n\t\t\t\t\tv-if=\"isChanged && (!attachToKeyboard || modelValue)\"\r\n\t\t\t\t\tclass=\"top-editArea_button\"\r\n\t\t\t\t\tcolor=\"theme\"\r\n\t\t\t\t\t:icon=\"attachToKeyboard ? '': ''\"\r\n\t\t\t\t\t@click=\"cancel\"\r\n\t\t\t\t>\r\n\t\t\t\t\t{{ attachToKeyboard ? '' : cancelText }}\r\n\t\t\t\t</Button>\r\n\r\n\t\t\t\t<Button\r\n\t\t\t\t\tclass=\"top-editArea_button\"\r\n\t\t\t\t\t:icon=\"attachToKeyboard ? '': ''\"\r\n\t\t\t\t\t@click=\"submit(localValue)\"\r\n\t\t\t\t>\r\n\t\t\t\t\t{{ attachToKeyboard ? '' : submitText }}\r\n\t\t\t\t</Button>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t</div>\r\n</template>\r\n\r\n<style module>\r\n.top-editArea {\r\n\tdisplay: flex;\r\n\tflex-direction: column;\r\n\tgap: 6px;\r\n}\r\n\r\n.top-editArea_title {\r\n\tfont-size: 12px;\r\n}\r\n\r\n.top-editArea_form {\r\n\tbackground: var(--top-forms-background-color);\r\n\toutline-color: var(--color-theme-75);\r\n\toutline-offset: 0;\r\n\tdisplay: flex;\r\n\tflex-direction: column;\r\n}\r\n\r\n.top-editArea_form:hover {\r\n\tbackground: var(--top-forms-background-color-hover);\r\n}\r\n\r\n/* textarea в EditArea */\r\n.top-textarea {\r\n\twidth: 100%;\r\n}\r\n\r\n.top-editArea_element.top-textarea_textarea {\r\n\tborder: none;\r\n\toutline: none;\r\n\tanimation: none;\r\n}\r\n\r\n/* footer */\r\n.top-editArea_footer {\r\n\tpadding: var(--top-forms-padding);\r\n\tdisplay: flex;\r\n\tjustify-content: flex-end;\r\n\tgap: var(--top-forms-padding);\r\n}\r\n\r\n/* attachedToKeyboard */\r\n.top-editArea-attachedToKeyboard {\r\n\tbackground: var(--top-forms-background-color);\r\n\tmargin-bottom: env(keyboard-inset-height, 0);\r\n\tposition: fixed;\r\n\tbottom: 0;\r\n\tright: 0;\r\n\tleft: 0;\r\n\tz-index: 2;\r\n\tgap: 0;\r\n}\r\n\r\n.top-editArea-attachedToKeyboard .top-editArea_form {\r\n\tborder-radius: 0;\r\n\tborder: none;\r\n\tborder-top: 1px solid var(--top-forms-border-color);\r\n}\r\n\r\n.top-editArea-attachedToKeyboard .top-editArea_title {\r\n\tborder-top: 1px solid var(--color-line-2-opacity);\r\n\tpadding: var(--top-forms-padding);\r\n}\r\n\r\n.top-editArea-attachedToKeyboard .top-editArea_footer > [data-top-icon] {\r\n\tborder-radius: 100%;\r\n}\r\n</style>","<script setup lang=\"ts\">\r\nimport { ref, toRef, watch } from 'vue';\r\nimport type { Props, Emits } from './editInput';\r\nimport Input from '@/components/forms/input/input.vue';\r\nimport Button from '@/components/forms/button/button.vue';\r\n\r\nconst props = defineProps<Props>();\r\n\r\nconst intermediateValue = ref(props.modelValue);\r\n\r\nwatch(toRef(props.modelValue), () => {\r\n\tintermediateValue.value = props.modelValue;\r\n});\r\n\r\nconst emit = defineEmits<Emits>();\r\n\r\nconst submit = () => {\r\n\temit('update:modelValue', intermediateValue.value);\r\n};\r\n</script>\r\n\r\n<template>\r\n\t<div class=\"top-editInput\">\r\n\t\t<Input\r\n\t\t\t:=\"input\"\r\n\t\t\t@keydown.esc.capture.stop=\"intermediateValue = modelValue\"\r\n\t\t\t@keydown.enter.stop=\"submit\"\r\n\t\t\tv-model=\"intermediateValue\"\r\n\t\t/>\r\n\r\n\t\t<Button\r\n\t\t\tv-if=\"intermediateValue !== modelValue\"\r\n\t\t\ticon=\"\"\r\n\t\t\tstyling=\"soft\"\r\n\t\t\t:=\"button\"\r\n\t\t\t@click=\"submit\"\r\n\t\t>\r\n\t\t\t<!-- @slot Слот Button -->\r\n\t\t\t<slot></slot>\r\n\t\t</Button>\r\n\t</div>\r\n</template>\r\n\r\n<style module>\r\n.top-editInput {\r\n\twidth: 220px;\r\n\tflex-grow: 1;\r\n\tdisplay: flex;\r\n\talign-items: flex-end;\r\n\tgap: var(--top-gap-1);\r\n}\r\n\r\n.top-editInput .top-input {\r\n\twidth: unset;\r\n\tflex-grow: 1;\r\n}\r\n</style>"],"names":["state","ref","localValue","props","watch","toRef","isChanged","computed","submit","value","emit","cancel","intermediateValue"],"mappings":";gfAgBMA,EAAQC,MAAI,EAAE,EAKdC,EAAaD,EAAAA,IAAIE,EAAM,UAAU,EAEvCC,EAAAA,MAAMC,EAAM,MAAAF,EAAO,YAAY,EAAG,IAAM,CACvCD,EAAW,MAAQC,EAAM,UAAA,CACzB,EAED,MAAMG,EAAYC,EAAAA,SAAS,IAAML,EAAW,QAAUC,EAAM,UAAU,EAEhEK,EAAUC,GAAkB,CACjCC,EAAK,oBAAqBD,CAAK,CAAA,EAG1BE,EAAS,IAAM,CACpBD,EAAK,QAAQ,EAGbR,EAAW,MAAQC,EAAM,UAAA,+mEC7BpBS,EAAoBX,EAAAA,IAAIE,EAAM,UAAU,EAE9CC,EAAAA,MAAMC,EAAM,MAAAF,EAAM,UAAU,EAAG,IAAM,CACpCS,EAAkB,MAAQT,EAAM,UAAA,CAChC,EAID,MAAMK,EAAS,IAAM,CACfE,EAAA,oBAAqBE,EAAkB,KAAK,CAAA"}