@elcrm/form 0.0.63 → 0.0.64

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 (89) hide show
  1. package/README.md +113 -0
  2. package/dist/Form.d.ts +20 -0
  3. package/dist/Form.js +11 -0
  4. package/dist/FormInitContext.d.ts +25 -0
  5. package/dist/FormInitContext.js +20 -0
  6. package/dist/assets/styles/Field.module.css +1 -0
  7. package/dist/assets/styles/Form.module.css +1 -0
  8. package/dist/assets/styles/Select.module.css +1 -0
  9. package/dist/core/Field.d.ts +18 -0
  10. package/dist/core/Field.js +33 -0
  11. package/dist/events/onEvent.d.ts +55 -0
  12. package/dist/events/onEvent.js +67 -0
  13. package/dist/{src/lib/fields → fields}/Date.d.ts +7 -3
  14. package/dist/fields/Date.js +345 -0
  15. package/dist/{src/lib/fields → fields}/Input.d.ts +2 -2
  16. package/dist/fields/Input.js +55 -0
  17. package/dist/fields/Mask.d.ts +9 -0
  18. package/dist/fields/Mask.js +95 -0
  19. package/dist/fields/Modal.d.ts +25 -0
  20. package/dist/fields/Modal.js +55 -0
  21. package/dist/fields/Money.d.ts +35 -0
  22. package/dist/fields/Money.js +93 -0
  23. package/dist/fields/Numeric.d.ts +9 -0
  24. package/dist/fields/Numeric.js +69 -0
  25. package/dist/fields/Options.d.ts +30 -0
  26. package/dist/fields/Options.js +63 -0
  27. package/dist/fields/Password.d.ts +6 -0
  28. package/dist/fields/Password.js +100 -0
  29. package/dist/{src/lib/fields → fields}/Phone.d.ts +5 -1
  30. package/dist/fields/Phone.js +109 -0
  31. package/dist/fields/Range.d.ts +16 -0
  32. package/dist/fields/Range.js +101 -0
  33. package/dist/fields/Select.d.ts +21 -0
  34. package/dist/fields/Select.js +143 -0
  35. package/dist/{src/lib/fields → fields}/Textarea.d.ts +5 -1
  36. package/dist/fields/Textarea.js +47 -0
  37. package/dist/fields/Time.d.ts +26 -0
  38. package/dist/fields/Time.js +252 -0
  39. package/dist/fields/type.d.ts +42 -0
  40. package/dist/hooks/use.d.ts +42 -0
  41. package/dist/hooks/use.js +57 -0
  42. package/dist/index.d.ts +26 -2
  43. package/dist/index.js +26 -0
  44. package/dist/index.umd.js +2 -89
  45. package/dist/mask/MaskPhone.d.ts +8 -0
  46. package/dist/mask/MaskPhone.js +1384 -0
  47. package/dist/package.js +96 -0
  48. package/dist/style.css +5 -0
  49. package/dist/styles/Field.module.js +22 -0
  50. package/dist/styles/Form.module.js +12 -0
  51. package/dist/styles/Select.module.js +8 -0
  52. package/package.json +72 -11
  53. package/src/lib/styles/Field.module.scss +315 -0
  54. package/src/lib/styles/Form.module.scss +313 -0
  55. package/src/lib/styles/Select.module.scss +90 -0
  56. package/src/lib/styles/dark.css +47 -0
  57. package/src/lib/styles/light.css +51 -0
  58. package/dist/index.css +0 -1
  59. package/dist/index.es.js +0 -5045
  60. package/dist/src/lib/Captcha.d.ts +0 -1
  61. package/dist/src/lib/Check.d.ts +0 -13
  62. package/dist/src/lib/Code.d.ts +0 -22
  63. package/dist/src/lib/Color.d.ts +0 -22
  64. package/dist/src/lib/Field.d.ts +0 -13
  65. package/dist/src/lib/Files.d.ts +0 -20
  66. package/dist/src/lib/Generator.d.ts +0 -1
  67. package/dist/src/lib/Group.d.ts +0 -21
  68. package/dist/src/lib/Image.d.ts +0 -22
  69. package/dist/src/lib/Init.d.ts +0 -1
  70. package/dist/src/lib/MaskPhone.d.ts +0 -2
  71. package/dist/src/lib/Message.d.ts +0 -15
  72. package/dist/src/lib/Money.d.ts +0 -22
  73. package/dist/src/lib/Month.d.ts +0 -18
  74. package/dist/src/lib/Palette.d.ts +0 -9
  75. package/dist/src/lib/Progress.d.ts +0 -9
  76. package/dist/src/lib/Toogle.d.ts +0 -8
  77. package/dist/src/lib/Users.d.ts +0 -1
  78. package/dist/src/lib/_Time.d.ts +0 -0
  79. package/dist/src/lib/fields/Mask.d.ts +0 -19
  80. package/dist/src/lib/fields/Modal.d.ts +0 -19
  81. package/dist/src/lib/fields/Numeric.d.ts +0 -6
  82. package/dist/src/lib/fields/Options.d.ts +0 -22
  83. package/dist/src/lib/fields/Password.d.ts +0 -23
  84. package/dist/src/lib/fields/Select copy.d.ts +0 -23
  85. package/dist/src/lib/fields/Select.d.ts +0 -28
  86. package/dist/src/lib/fields/type.d.ts +0 -30
  87. package/dist/src/lib/index.d.ts +0 -16
  88. package/dist/src/lib/onEvent.d.ts +0 -2
  89. package/dist/src/lib/use.d.ts +0 -10
@@ -0,0 +1,313 @@
1
+ .o {
2
+ position: fixed;
3
+ z-index: 98;
4
+ top: 0;
5
+ left: 0;
6
+ right: 0;
7
+ bottom: 0;
8
+ background: #0000;
9
+ }
10
+
11
+ /* Всплывающее окно календаря/селекта: высота по контенту, без обрезки сетки */
12
+ .c {
13
+ box-shadow: 5px 7px 18px 0px #000000a8;
14
+ padding: 10px 12px 12px;
15
+ margin: 0;
16
+ display: block;
17
+ position: absolute;
18
+ background: var(--select-background);
19
+ z-index: 99;
20
+ border-radius: 10px;
21
+ max-height: min(92vh, 480px);
22
+ overflow-x: hidden;
23
+ overflow-y: auto;
24
+ color: #fff;
25
+ box-sizing: border-box;
26
+ min-width: 259px;
27
+ & [grid-calendar] {
28
+ display: grid;
29
+ grid-template-columns: repeat(7, 1fr);
30
+ gap: 2px;
31
+ /* Одинаковая высота всех строк (подписи + ряды чисел) */
32
+ grid-auto-rows: 34px;
33
+ }
34
+ /* Подписи дней недели — первая строка сетки */
35
+ & [grid-calendar] > p {
36
+ font-size: 0.75rem;
37
+ font-weight: 500;
38
+ line-height: 1;
39
+ color: var(--color-placeholder);
40
+ padding: 0;
41
+ margin: 0;
42
+ display: flex;
43
+ align-items: center;
44
+ justify-content: center;
45
+ box-sizing: border-box;
46
+ }
47
+ & [grid-month] {
48
+ display: grid;
49
+ grid-template-columns: 1fr 1fr 1fr 1fr;
50
+ width: 250px;
51
+ }
52
+ & b {
53
+ font-weight: normal;
54
+ display: block;
55
+ padding: 8px 5px;
56
+ border-radius: 5px;
57
+ cursor: pointer;
58
+ text-align: center;
59
+ &._active {
60
+ background: var(--bg-select-active);
61
+ }
62
+ }
63
+ & b:hover {
64
+ background: var(--bg-select-hover);
65
+ }
66
+
67
+ & p {
68
+ color: var(--color-placeholder);
69
+ text-align: center;
70
+ padding: 0;
71
+ cursor: default;
72
+ pointer-events: none;
73
+ }
74
+
75
+ & i {
76
+ flex: 0 30px;
77
+ padding: 9px;
78
+ text-align: center;
79
+ cursor: pointer;
80
+ border-radius: 5px;
81
+ }
82
+ & i:hover {
83
+ background: var(--bg-select-hover);
84
+ }
85
+ & i::before {
86
+ cursor: pointer;
87
+ display: block;
88
+ }
89
+ & s {
90
+ display: flex;
91
+ font-style: normal;
92
+ text-decoration: none;
93
+ padding-bottom: 6px;
94
+ align-items: center;
95
+ gap: 4px;
96
+ }
97
+ & s h2 {
98
+ flex: 1 1 auto;
99
+ min-width: 0;
100
+ padding: 0;
101
+ margin: 0;
102
+ font-size: 16px;
103
+ text-align: center;
104
+ font-weight: normal;
105
+ line-height: 1.25;
106
+ color: #fff;
107
+ cursor: default;
108
+ display: flex;
109
+ flex-wrap: nowrap;
110
+ justify-content: center;
111
+ align-items: center;
112
+ gap: 8px;
113
+ }
114
+ /* заголовок календаря: клик по месяцу / году открывает выбор */
115
+ & .dateHeaderMonth,
116
+ & .dateHeaderYear {
117
+ cursor: pointer;
118
+ border-radius: 6px;
119
+ padding: 2px 8px;
120
+ user-select: none;
121
+ white-space: nowrap;
122
+ }
123
+ & .dateHeaderMonth:hover,
124
+ & .dateHeaderYear:hover {
125
+ background: var(--bg-select-hover);
126
+ }
127
+ & .dateHeaderDisabled {
128
+ cursor: not-allowed;
129
+ opacity: 0.45;
130
+ pointer-events: none;
131
+ }
132
+ & .dateHeaderDisabled[data-active="true"],
133
+ & .dateHeaderDisabled[data-current="true"] {
134
+ opacity: 0.45;
135
+ }
136
+
137
+ /* Выбранное значение поля (data-current) и «сегодня» (data-active) */
138
+ & [grid-calendar] b[data-current="true"],
139
+ & [grid-month] b[data-current="true"] {
140
+ background: color-mix(
141
+ in srgb,
142
+ var(--field-background-active) 52%,
143
+ transparent
144
+ );
145
+ font-weight: 600;
146
+ }
147
+ & [grid-calendar] b[data-active="true"]:not([data-current="true"]),
148
+ & [grid-month] b[data-active="true"]:not([data-current="true"]) {
149
+ outline: 2px solid var(--field-background-active);
150
+ outline-offset: -2px;
151
+ }
152
+ & [grid-calendar] b[data-active="true"][data-current="true"],
153
+ & [grid-month] b[data-active="true"][data-current="true"] {
154
+ box-shadow: inset 0 0 0 2px var(--field-background-active);
155
+ }
156
+ & [grid-calendar] p[data-current="true"] {
157
+ background: color-mix(
158
+ in srgb,
159
+ var(--field-background-active) 52%,
160
+ transparent
161
+ );
162
+ font-weight: 600;
163
+ color: inherit;
164
+ border-radius: 5px;
165
+ }
166
+ & [grid-calendar] p[data-active="true"]:not([data-current="true"]) {
167
+ outline: 2px solid var(--field-background-active);
168
+ outline-offset: -2px;
169
+ opacity: 0.85;
170
+ }
171
+ & [grid-calendar] p[data-active="true"][data-current="true"] {
172
+ box-shadow: inset 0 0 0 2px var(--field-background-active);
173
+ }
174
+
175
+ & span {
176
+ padding: 2px;
177
+ text-align: center;
178
+ & p {
179
+ padding: 8px 5px;
180
+ color: var(--color-placeholder);
181
+ }
182
+ }
183
+ /* Ячейки дат: без лишнего padding у span — иначе первая строка «выше» остальных */
184
+ & [grid-calendar] > span {
185
+ padding: 0;
186
+ display: flex;
187
+ align-items: stretch;
188
+ justify-content: stretch;
189
+ min-height: 0;
190
+ box-sizing: border-box;
191
+ }
192
+ & [grid-calendar] > span > b,
193
+ & [grid-calendar] > span > p {
194
+ flex: 1 1 auto;
195
+ display: flex;
196
+ align-items: center;
197
+ justify-content: center;
198
+ width: 100%;
199
+ min-height: 0;
200
+ margin: 0;
201
+ padding: 0;
202
+ box-sizing: border-box;
203
+ border-radius: 5px;
204
+ }
205
+ & .as {
206
+ cursor: ns-resize;
207
+ }
208
+ & .ap {
209
+ cursor: pointer;
210
+ }
211
+ }
212
+
213
+ [field="password"] dd {
214
+ white-space: nowrap;
215
+ font-style: unset;
216
+ -webkit-text-security: disc;
217
+ user-select: none;
218
+ -webkit-user-select: text;
219
+ }
220
+
221
+ [field="password"][show] dd {
222
+ -webkit-text-security: none;
223
+ }
224
+
225
+ [field="password"] dd::before {
226
+ -webkit-text-security: none;
227
+ }
228
+
229
+ [field="code"] div {
230
+ display: flex;
231
+ gap: 8px;
232
+ }
233
+
234
+ [field="select"] dd {
235
+ cursor: pointer;
236
+ }
237
+
238
+ [field] dd::before {
239
+ pointer-events: none;
240
+ }
241
+
242
+ [field="check"] {
243
+ & dd {
244
+ max-width: 35px;
245
+ padding: 0;
246
+ cursor: pointer;
247
+ }
248
+ & [active]::after {
249
+ content: "";
250
+ background: #394264;
251
+ width: 15px;
252
+ height: 15px;
253
+ display: block;
254
+ border-radius: 5px;
255
+ }
256
+ }
257
+
258
+ [field="file"] {
259
+ & input {
260
+ display: none;
261
+ }
262
+ & dd {
263
+ aspect-ratio: 16 / 9;
264
+ position: relative;
265
+ cursor: pointer;
266
+ }
267
+ & img {
268
+ aspect-ratio: 16 / 9;
269
+ display: block;
270
+ width: -webkit-fill-available;
271
+ object-fit: contain;
272
+ cursor: pointer;
273
+ }
274
+ & label {
275
+ aspect-ratio: 16 / 9;
276
+ display: block;
277
+ width: -webkit-fill-available;
278
+ object-fit: contain;
279
+ position: absolute;
280
+ cursor: pointer;
281
+ }
282
+ }
283
+
284
+ [field="color"] {
285
+ & dd {
286
+ display: flex;
287
+ border: 0;
288
+ padding: 0;
289
+ gap: 3px;
290
+ & s {
291
+ border: 1px solid #dde2e4;
292
+ border-radius: 6px;
293
+ flex: 1;
294
+ cursor: pointer;
295
+ opacity: 0.6;
296
+ &:hover {
297
+ opacity: 0.9;
298
+ }
299
+ &[active="true"] {
300
+ opacity: 1;
301
+ }
302
+ }
303
+ }
304
+ }
305
+
306
+ // p: #abb6d2
307
+
308
+ // background: #394264
309
+
310
+ // --bg-select-active: #0000007;
311
+ // --bg-select: #394264;
312
+ // --bg-select-hover: #0000007;
313
+ // --color-placeholder: #abb6d2;
@@ -0,0 +1,90 @@
1
+ :root {
2
+ --select-overlay: #0000;
3
+ --select-height: 52px;
4
+ --select-separator: 1px solid #40434c;
5
+ --select-color: #e8e8eb;
6
+ --select-background: #26282e;
7
+ --select-icon: calc(--select-height / 1.5);
8
+ --select-icon-padding: calc((--select-height - --select-icon) / 2);
9
+ --select-font-size: 13px;
10
+ }
11
+
12
+ // overlay
13
+ .o {
14
+ position: fixed;
15
+ z-index: 98;
16
+ top: 0;
17
+ left: 0;
18
+ right: 0;
19
+ bottom: 0;
20
+ background: var(--select-overlay);
21
+ }
22
+ // list
23
+ .l {
24
+ padding: 0;
25
+ margin: 0;
26
+ display: block;
27
+ position: fixed;
28
+ background: var(--select-background);
29
+ z-index: 99;
30
+ border-radius: 20px;
31
+ overflow: scroll;
32
+ max-height: 300px;
33
+ &::-webkit-scrollbar {
34
+ width: 0;
35
+ height: 0;
36
+ }
37
+ }
38
+ .l ul {
39
+ overflow-y: auto;
40
+ width: 100%;
41
+ max-height: 300px;
42
+ display: block;
43
+ overflow-x: hidden;
44
+ margin: 0;
45
+ padding: 0;
46
+ list-style: none;
47
+ }
48
+ .l li {
49
+ display: block;
50
+ border-bottom: var(--select-separator);
51
+ cursor: pointer;
52
+ display: block;
53
+ margin: 0;
54
+ padding: 0 14px;
55
+ color: var(--select-color);
56
+ border-left: 0 !important;
57
+ text-align: left !important;
58
+ height: var(--select-height);
59
+ line-height: var(--select-height);
60
+ font-size: var(--select-font-size);
61
+ white-space: nowrap;
62
+ overflow: hidden;
63
+ text-overflow: ellipsis;
64
+ opacity: 1;
65
+ }
66
+ .l li:hover {
67
+ background: #2f323a;
68
+ }
69
+ .l li[data-focus="true"] {
70
+ background: #2f323a;
71
+ }
72
+ .l li:last-child {
73
+ border-bottom: 0;
74
+ }
75
+
76
+ .i {
77
+ position: absolute;
78
+ width: var(--select-icon);
79
+ height: var(--select-icon);
80
+ color: var(--field-color);
81
+ right: var(--select-icon-padding);
82
+ top: var(--select-icon-padding);
83
+ }
84
+
85
+ .f {
86
+ cursor: pointer;
87
+ &[aria-disabled="true"] {
88
+ cursor: not-allowed;
89
+ }
90
+ }
@@ -0,0 +1,47 @@
1
+ /* Токены полей — см. light.css в этой же папке */
2
+ [data-theme="dark"] {
3
+ --control-height: 44px;
4
+ --control-radius: 22px;
5
+ --control-side-padding: 14px;
6
+ --control-inner-padding: 5px 15px;
7
+ --control-font-size: 14px;
8
+
9
+ --field-height: var(--control-height);
10
+ --field-width: 100%;
11
+ --field-padding: 8px 12px;
12
+ --field-border: 1px solid #2f3139;
13
+ --field-border-hover: 1px solid #434653;
14
+ --field-border-focus: 1px solid #6f8eff;
15
+ --field-focus-ring: #6f8eff30;
16
+ --field-radius: var(--control-radius);
17
+ --field-background: #26282e;
18
+ --field-background-focus: #2a3142;
19
+ --field-background-disabled: #212329;
20
+ --field-border-disabled: 1px solid #343843;
21
+ --field-color-disabled: #777e8a;
22
+ --field-color: #e8e8eb;
23
+ --field-placeholder: #8f949e;
24
+ --field-label-color: #b8bcc6;
25
+ --field-label-size: 14px;
26
+ --field-error-border: 1px solid #9e3d46;
27
+ --field-error-background: #2d2024;
28
+ --field-error-color: #ffb3bd;
29
+ --field-background-active: #3e7bff;
30
+ --field-check-box-border: 1px solid #4b4f58;
31
+ --field-icon-color: #c8ccd4;
32
+ --field-icon-gap: 10px;
33
+ --field-side-padding: var(--control-side-padding);
34
+ --field-inner-padding: var(--control-inner-padding);
35
+ --field-block-gap: 0;
36
+ --field-note-height: 100px;
37
+ --field-note-line-height: 1.5;
38
+ --field-note-padding: 8px;
39
+ --field-note-padding-top: 8px;
40
+
41
+ --field-selection-bg: #3d4f6b;
42
+ --field-selection-color: #e8e8eb;
43
+
44
+ --field-range-fill: #00c4bc;
45
+ --field-range-track: #3a3d4a;
46
+ --field-range-bar-height: 14px;
47
+ }
@@ -0,0 +1,51 @@
1
+ /*
2
+ Токены: --control-* (размеры), --field-* (контейнер), --field-selection-* (выделение текста)
3
+ */
4
+ [data-theme="light"] {
5
+ --control-height: 44px;
6
+ --control-radius: 18px;
7
+ --control-side-padding: 14px;
8
+ --control-inner-padding: 0px 15px;
9
+ --control-font-size: 14px;
10
+
11
+ --field-height: var(--control-height);
12
+ --field-width: 100%;
13
+ --field-padding: 8px 12px;
14
+ --field-border: 0px solid #d7d9de;
15
+ --field-border-hover: 0px solid #c7cad2;
16
+ --field-border-focus: 0px solid #8fa2ff;
17
+ --field-focus-ring: #8fa2ff2e;
18
+ --field-radius: var(--control-radius);
19
+ --field-background: #fff;
20
+ /* фон при фокусе (вместе с --field-border-focus / --field-focus-ring) */
21
+ --field-background-focus: #eaeeff;
22
+ --field-background-disabled: #f4f5f7;
23
+ --field-border-disabled: 1px solid #dadddf;
24
+ --field-color-disabled: #9ea4ad;
25
+ --field-color: #333;
26
+ --field-placeholder: #999;
27
+ --field-label-color: #666;
28
+ --field-label-size: 14px;
29
+ --field-error-border: #e74c3c;
30
+ --field-error-background: #fee;
31
+ --field-error-color: #c0392b;
32
+ --field-background-active: #3498db;
33
+ --field-check-box-border: 2px solid #3498db;
34
+ --field-icon-color: #8a909b;
35
+ --field-icon-gap: 10px;
36
+ --field-side-padding: var(--control-side-padding);
37
+ --field-inner-padding: var(--control-inner-padding);
38
+ --field-block-gap: 0;
39
+ --field-note-height: 100px;
40
+ --field-note-line-height: 1.5;
41
+ --field-note-padding: 8px;
42
+ --field-note-padding-top: 8px;
43
+
44
+ --field-selection-bg: #b3d4fc;
45
+ --field-selection-color: inherit;
46
+
47
+ /* range: кастомный «таблеточный» трек (div): заливка + фон; высота полосы меньше поля */
48
+ --field-range-fill: #00b5ad;
49
+ --field-range-track: #e0e0e0;
50
+ --field-range-bar-height: 14px;
51
+ }
package/dist/index.css DELETED
@@ -1 +0,0 @@
1
- @charset "UTF-8";._o_1c9e1_1{position:fixed;z-index:98;top:0;left:0;right:0;bottom:0;background:#0000}._c_1c9e1_11{box-shadow:5px 7px 18px #000000a8;padding:10px;margin:0;display:block;position:absolute;background:var(--select-background);z-index:99;border-radius:10px;overflow:hidden;max-height:315px;color:#fff}._c_1c9e1_11 [grid-calendar]{display:grid;grid-template-columns:35px 35px 35px 35px 35px 35px 35px}._c_1c9e1_11 [grid-month]{display:grid;grid-template-columns:1fr 1fr 1fr 1fr;width:250px}._c_1c9e1_11 b{font-weight:400;display:block;padding:8px 5px;border-radius:5px;cursor:pointer;text-align:center}._c_1c9e1_11 b.__active_1c9e1_41{background:var(--bg-select-active)}._c_1c9e1_11 b:hover{background:var(--bg-select-hover)}._c_1c9e1_11 p{color:var(--color-placeholder);text-align:center;padding:0;cursor:default;pointer-events:none}._c_1c9e1_11 i{flex:0 30px;padding:9px;text-align:center;cursor:pointer;border-radius:5px}._c_1c9e1_11 i:hover{background:var(--bg-select-hover)}._c_1c9e1_11 i:before{cursor:pointer;display:block}._c_1c9e1_11 s{display:flex;font-style:normal;text-decoration:none;padding-bottom:5px;align-items:center}._c_1c9e1_11 s h2{flex:1 1;padding:0;margin:0;font-size:18px;text-align:center;font-weight:400;line-height:35px;color:#fff;cursor:default}._c_1c9e1_11 span{padding:2px;text-align:center}._c_1c9e1_11 span p{padding:8px 5px;color:var(--color-placeholder)}._c_1c9e1_11 ._as_1c9e1_94{cursor:ns-resize}._c_1c9e1_11 ._ap_1c9e1_97{cursor:pointer}[field=password] dd{white-space:nowrap;font-style:unset;-webkit-text-security:disc;user-select:none;-webkit-user-select:text}[field=password][show] dd{-webkit-text-security:none}[field=password] dd:before{-webkit-text-security:none}[field=code] div{display:flex;gap:8px}[field=select] dd{cursor:pointer}[field] dd:before{pointer-events:none}[field=check] dd{max-width:35px;padding:0;cursor:pointer}[field=check] [active]:after{content:"";background:#394264;width:15px;height:15px;display:block;border-radius:5px}[field=file] input{display:none}[field=file] dd{aspect-ratio:16/9;position:relative;cursor:pointer}[field=file] img{aspect-ratio:16/9;display:block;width:-webkit-fill-available;object-fit:contain;cursor:pointer}[field=file] label{aspect-ratio:16/9;display:block;width:-webkit-fill-available;object-fit:contain;position:absolute;cursor:pointer}[field=color] dd{display:flex;border:0;padding:0;gap:3px}[field=color] dd s{border:1px solid #dde2e4;border-radius:6px;flex:1;cursor:pointer;opacity:.6}[field=color] dd s:hover{opacity:.9}[field=color] dd s[active=true]{opacity:1}._l_xeir5_1{display:flex;flex-direction:column;position:relative;min-width:var(--field-width)}._l_xeir5_1[data-field=group] div{cursor:pointer;border-bottom:var(--field-border);margin:0;padding:var(--field-padding)}._l_xeir5_1[data-field=group] div:last-child{border-bottom:0}._l_xeir5_1 [placeholder]:empty:before{content:attr(placeholder);display:block;color:var(--field-placeholder)}._l_xeir5_1 [placeholder]:focus:before{display:none}._f_xeir5_25{box-sizing:border-box;display:flex;border:var(--field-border);border-radius:var(--field-radius);background:var(--field-background);color:var(--field-color);padding:0}._f_xeir5_25>div{outline:0;flex:1;margin:var(--field-padding);min-height:var(--field-height);line-height:var(--field-height);text-wrap:pretty}._n_xeir5_43 div{min-height:var(--field-note-height);line-height:var(--field-note-line-height);padding-top:var(--field-note-padding);padding-bottom:var(--field-note-padding)}._w_xeir5_50>div{text-wrap:nowrap;overflow:hidden;overflow-x:scroll}._w_xeir5_50>div::-webkit-scrollbar{width:0;height:0}._t_xeir5_60{color:var(--field-label-color);font-size:var(--field-label-size);padding-bottom:8px}._g_xeir5_66{flex-direction:column}._h_xeir5_70{--field-border: 0}._h_xeir5_70 div{border:var(--field-check-box-border, --field-border);width:var(--field-height);height:var(--field-height);border-radius:var(--field-radius);background:var(--field-background);margin:0;flex:none;cursor:pointer;position:relative;gap:10px}._h_xeir5_70 div[aria-checked=true]{background:var(--field-background-active)}._h_xeir5_70 div:after{content:"";width:9px;height:5px;position:absolute;top:5px;left:4px;border:3px solid #fcfff4;border-top:none;border-right:none;background:transparent;transform:rotate(-45deg);margin:4px}._e_xeir5_103{border-color:var(--field-error-border);background:var(--field-error-background);color:var(--field-error-color)}._n_1ery1_2{position:absolute;inset:var(--notice-inset);font-family:var(--notice-family);z-index:1111}._n_1ery1_2 ._e_1ery1_8{color:var(--notice-error, #bb2014)}._n_1ery1_2 ._s_1ery1_11{color:var(--notice-success, #367738)}._n_1ery1_2 ._r_1ery1_14{color:var(--notice-remark, #b77513)}._n_1ery1_2 ._с_1ery1_17{color:var(--notice-copy, #3f51b5)}._n_1ery1_2 li{-webkit-backdrop-filter:var(--notice-filter, blur(5px));backdrop-filter:var(--notice-filter, blur(5px));display:block;width:var(--notice-width, 300px);height:var(--notice-height, 70px);border-radius:var(--notice-radius, 5px);box-shadow:0 0 0 1px var(--notice-border),0 2px 2px #00000008,0 4px 4px #0000000a,0 10px 8px #0000000d,0 15px 15px #0000000f,0 30px 30px #00000012,0 70px 65px #00000017;background:var(--notice-background);overflow:hidden;cursor:pointer;margin:10px 0;transition:all 3s ease 0s;opacity:0}._n_1ery1_2 svg{float:left;width:50px;height:50px;margin:10px;font-size:40px;line-height:51px;text-align:center}._n_1ery1_2 b{width:222px;font-size:17px;font-weight:700;position:absolute;left:70px;display:block;margin-top:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}._n_1ery1_2 p{color:var(--notice-color);font-size:14px;width:222px;position:absolute;left:70px;display:block;margin-top:37px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}._n_1ery1_2 [data-status=show]{opacity:1;transition:1s;animation:_show-notice_1ery1_1 1s 1;animation-fill-mode:forwards}._n_1ery1_2 [data-status=hide]{opacity:1;transition:1s;animation:_hide-notice_1ery1_1 1s 1;animation-fill-mode:forwards}@keyframes _show-notice_1ery1_1{0%{opacity:0}to{opacity:1}}@keyframes _hide-notice_1ery1_1{0%{opacity:1}to{opacity:0}}:root{--primary-light: #8abdff;--primary: #6d5dfc;--primary-dark: #5b0eeb;--white: #fff;--greyLight-1: #e4ebf5;--greyLight-2: #abb6d2;--greyLight-3: #bec8e4;--greyDark: #9baacf;--inset: inset 2px 2px 2px var(--shadow), inset -1px -1px 1px var(--shade);--modal-radius: 10px}[shake=true]{-webkit-animation-name:_shake_oqfdb_1;animation-name:_shake_oqfdb_1;-webkit-animation-duration:1s;animation-duration:1s;-webkit-animation-fill-mode:both;animation-fill-mode:both}@keyframes _shake_oqfdb_1{0%,to{transform:translateZ(0)}10%,30%,50%,70%,90%{transform:translate3d(-10px,0,0)}20%,40%,60%,80%{transform:translate3d(10px,0,0)}}._modal_oqfdb_79{position:fixed;top:0;left:0;right:0;bottom:0;z-index:10;display:flex}._modal_oqfdb_79 ._sa_oqfdb_89{width:auto;margin:auto 20px}._modal_oqfdb_79 ._ss_oqfdb_94{width:400px}._modal_oqfdb_79 ._sm_oqfdb_98{width:500px}._modal_oqfdb_79 ._sl_oqfdb_102{width:800px}._modal_oqfdb_79 ._sx_oqfdb_106{width:1000px}._modal_oqfdb_79 ._sf_oqfdb_110{width:100%;max-width:1200px;min-width:910px}._o_oqfdb_116{position:fixed;top:0;left:0;right:0;bottom:0;background-color:var(--modal-background-overflow, rgba(0, 0, 0, .7215686275))}._b_oqfdb_28{padding:15px 30px 30px;margin:auto}._w_oqfdb_15{box-shadow:5px 7px 18px 0 var(--modal-background-overflow, rgba(0, 0, 0, .7215686275));background-image:var(--modal-background-image);background-color:var(--modal-background-color);border-radius:var(--modal-radius);position:relative;min-width:300px;margin:auto;border-radius:10px;width:400px;max-height:90%;display:flex;flex-flow:column nowrap;overflow:hidden}._h_oqfdb_146{flex:1;font-size:15px;line-height:35px;font-weight:700;text-align:left;color:var(--modal-color);padding:10px 15px 5px 30px;user-select:none;-webkit-user-select:none;display:flex;z-index:1}._l_oqfdb_160{border-radius:10px;font-size:15px;box-shadow:var(--inset);color:var(--modal-color);margin:10px;overflow:hidden;overflow-y:scroll;padding:5px 0}._l_oqfdb_160 li{display:flex;margin:0 5px;padding:10px;position:relative}._l_oqfdb_160 li:after{content:"";border-bottom:1px solid #ddd;position:absolute;bottom:0;left:5px;right:5px}._l_oqfdb_160 li:last-child{border-bottom:0}._l_oqfdb_160 li:hover{background:#00000012;cursor:pointer;border-radius:5px}._t_oqfdb_197{padding-right:10px}._x_oqfdb_201{cursor:pointer;color:var(--modal-exit);opacity:.5;display:flex}._x_oqfdb_201 svg{width:20px}._x_oqfdb_201:hover{opacity:1}._s_oqfdb_89{flex:1;overflow-y:scroll}._c_oqfdb_219{text-align:center;margin:20px}._f_oqfdb_224{display:flex;padding:15px 30px 30px}._f_oqfdb_224 p{margin:auto;width:300px;padding:20px 0 5px;color:#1f253dc7;font-size:15px}._f_oqfdb_224._r__oqfdb_235{flex-direction:row}._f_oqfdb_224._r__oqfdb_235 dl{margin:7px 0;flex:1 1;flex-direction:row;display:flex}._f_oqfdb_224._r__oqfdb_235 dt{padding:7px 10px;color:var(--text);margin-left:7px;flex:0 1 150px}._f_oqfdb_224._c__oqfdb_250{flex-direction:column;gap:15px}._f_oqfdb_224._c__oqfdb_250 dt{padding-bottom:8px;margin-left:7px}._g_oqfdb_259{display:flex;gap:10px;overflow:hidden}._c_oqfdb_219{margin:10px 7px 20px;opacity:.8;box-shadow:var(--outset);border-radius:10px;padding:20px;flex:1;text-align:center;cursor:pointer}._c_oqfdb_219:first-child{margin-left:20px}._c_oqfdb_219:last-child{margin-right:20px}._c_oqfdb_219:hover{opacity:1;background:var(--tinge)}._c_oqfdb_219 i{font-size:70px;margin-bottom:20px;text-align:center;display:block;color:var(--disabled)}._c_oqfdb_219 b{text-align:center;display:block;color:var(--color)}._c_oqfdb_219 p{text-align:center;font-size:15px;color:var(--text)}._m_oqfdb_79{flex:1}._btn_1k1b3_1{opacity:.7;padding:7px 25px;border-radius:5px;box-shadow:var(--outset);display:flex;justify-content:center;cursor:pointer;transition:.3s ease}._btn_1k1b3_1:hover{opacity:1}._confirm_1k1b3_15{background:var(--button-confirm-bg, #4caf50);color:var(--button-confirm-color, #fff)}._cancel_1k1b3_20{background:var(--button-cancel-bg, #f44336);color:var(--button-cancel-color, #fff)}._action_1k1b3_25{background:var(--button-action-bg, #4094f7);color:var(--button-action-color, #fff)}._disabled_1k1b3_30{background:var(--button-disabled-bg, #efefef);color:var(--button-disabled-color, #000);opacity:1;cursor:default}._await_1k1b3_37{background:var(--button-await-bg, #efefef);color:var(--button-await-color, #000);opacity:1;cursor:default}._m_1k1b3_44{min-width:200px}._l_1k1b3_48{flex:1}:root{--select-overlay: #0000;--select-height: 35px;--select-separator: 1px solid #999;--select-color: #fff;--select-background: #28292d;--select-icon: calc(--select-height / 1.5);--select-icon-padding: calc((--select-height - --select-icon)/2) ;--select-font-size: 13px}._o_1wehm_12{position:fixed;z-index:98;top:0;left:0;right:0;bottom:0;background:var(--select-overlay)}._l_1wehm_22{padding:0;margin:0;display:block;position:absolute;background:var(--select-background);z-index:99;border-radius:10px;overflow:scroll;max-height:300px}._l_1wehm_22::-webkit-scrollbar{width:0;height:0}._l_1wehm_22 ul{overflow-y:auto;width:100%;max-height:300px;display:block;overflow-x:hidden}._l_1wehm_22 li{border-bottom:var(--select-separator);cursor:pointer;display:block;padding:0 15px;color:var(--select-color);border-left:0!important;text-align:left!important;height:var(--select-height);line-height:var(--select-height);font-size:var(--select-font-size);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;opacity:.9}._l_1wehm_22 li:hover{opacity:1}._l_1wehm_22 li:last-child{border-bottom:0}._i_1wehm_72{position:absolute;width:var(--select-icon);height:var(--select-icon);color:var(--field-color);right:var(--select-icon-padding);top:var(--select-icon-padding)}._f_1wehm_81{cursor:pointer}