@elcrm/form 0.0.88 → 0.1.0

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 (68) hide show
  1. package/README.md +87 -47
  2. package/dist/Form.js +1 -11
  3. package/dist/FormInitContext.js +1 -20
  4. package/dist/assets/styles/Field.module.css +1 -1
  5. package/dist/assets/styles/Form.module.css +1 -1
  6. package/dist/assets/styles/Select.module.css +1 -1
  7. package/dist/core/Field.d.ts +14 -2
  8. package/dist/core/Field.js +2 -35
  9. package/dist/dark.css +22 -3
  10. package/dist/events/onEvent.js +1 -67
  11. package/dist/fields/Check.js +1 -86
  12. package/dist/fields/Code.js +1 -94
  13. package/dist/fields/Color.js +1 -495
  14. package/dist/fields/Date.js +1 -450
  15. package/dist/fields/Display.d.ts +1 -1
  16. package/dist/fields/Display.js +1 -49
  17. package/dist/fields/DragDrop.js +1 -189
  18. package/dist/fields/Email.d.ts +4 -2
  19. package/dist/fields/Email.js +1 -80
  20. package/dist/fields/File.js +1 -115
  21. package/dist/fields/Hidden.js +1 -33
  22. package/dist/fields/Input.d.ts +3 -1
  23. package/dist/fields/Input.js +1 -149
  24. package/dist/fields/Mask.js +1 -119
  25. package/dist/fields/Modal.js +1 -68
  26. package/dist/fields/Money.js +1 -125
  27. package/dist/fields/NativeTextField.d.ts +15 -0
  28. package/dist/fields/NativeTextField.js +1 -0
  29. package/dist/fields/Numeric.d.ts +12 -1
  30. package/dist/fields/Numeric.js +1 -105
  31. package/dist/fields/Options.js +1 -69
  32. package/dist/fields/Password.d.ts +1 -1
  33. package/dist/fields/Password.js +1 -143
  34. package/dist/fields/Percent.d.ts +8 -1
  35. package/dist/fields/Percent.js +1 -100
  36. package/dist/fields/Phone.d.ts +2 -2
  37. package/dist/fields/Phone.js +1 -128
  38. package/dist/fields/Radio.js +1 -88
  39. package/dist/fields/Range.js +1 -109
  40. package/dist/fields/Rating.js +1 -82
  41. package/dist/fields/RichText.js +1 -134
  42. package/dist/fields/Select.d.ts +3 -1
  43. package/dist/fields/Select.js +1 -171
  44. package/dist/fields/Tags.js +1 -97
  45. package/dist/fields/Textarea.d.ts +1 -1
  46. package/dist/fields/Textarea.js +1 -68
  47. package/dist/fields/Time.js +1 -444
  48. package/dist/fields/Url.d.ts +4 -2
  49. package/dist/fields/Url.js +1 -80
  50. package/dist/fields/emit.d.ts +9 -0
  51. package/dist/fields/emit.js +1 -0
  52. package/dist/fields/type.d.ts +1 -1
  53. package/dist/fields/visibility.js +1 -6
  54. package/dist/hooks/use.js +1 -57
  55. package/dist/index.js +2 -42
  56. package/dist/index.umd.js +2 -2
  57. package/dist/light.css +23 -3
  58. package/dist/mask/MaskPhone.js +1 -1384
  59. package/dist/mask/phoneDefaults.d.ts +8 -0
  60. package/dist/mask/phoneDefaults.js +1 -0
  61. package/dist/overlayZ.js +1 -25
  62. package/dist/package.js +1 -130
  63. package/dist/style.css +3 -3
  64. package/dist/styles/Color.module.js +1 -27
  65. package/dist/styles/Field.module.js +1 -77
  66. package/dist/styles/Form.module.js +1 -12
  67. package/dist/styles/Select.module.js +1 -9
  68. package/package.json +2 -2
package/README.md CHANGED
@@ -1,9 +1,9 @@
1
1
  # `@elcrm/form`
2
2
 
3
- React-компоненты полей ввода для elCRM: текст, пароль, маски, деньги, даты, время, селект, диапазон, чекбокс и связка с хуком **`useForm`** (подписки по имени поля, без лишних перерисовок всей формы).
3
+ React-компоненты полей ввода для elCRM: текст, пароль, маски, деньги, даты, время, селект, диапазон, чекбокс и связка с хуком `useForm` (подписки по имени поля, без лишних перерисовок всей формы).
4
4
 
5
- [![npm version](https://img.shields.io/npm/v/@elcrm/form.svg)](https://www.npmjs.com/package/@elcrm/form)
6
- [![license](https://img.shields.io/npm/l/@elcrm/form.svg)](https://www.npmjs.com/package/@elcrm/form)
5
+ [npm version](https://www.npmjs.com/package/@elcrm/form)
6
+ [license](https://www.npmjs.com/package/@elcrm/form)
7
7
 
8
8
  ## Установка
9
9
 
@@ -19,9 +19,9 @@ bun add @elcrm/form
19
19
 
20
20
  ## Стили и темы
21
21
 
22
- - **Базовые стили полей** (Field / Form / Select) **вшиты в начало** `dist/index.js` и `dist/core/Field.js` (скрипт сборки): при загрузке модуля в `<head>` добавляется один `<style>` — **отдельные CSS-файлы и настройка css-loader в приложении не нужны**. Работает и с **корня** (`@elcrm/form`), и с **подпутями** — стили подхватывает **`Field`**.
23
- - **Опционально** можно по-прежнему подключить **`@elcrm/form/style.css`** вручную (тот же текст, что во встраивании) — например для SSR без клиентского JS.
24
- - **Темы** (светлая / тёмная): **`@elcrm/form/light.css`**, **`@elcrm/form/dark.css`** — атрибут **`data-theme`** на контейнере (подключаются вручную). Для порталов (**`document.body`**) задайте **`data-theme`** на **`<html>`** или оберните приложение так, чтобы всплывающие списки и календарь наследовали переменные темы.
22
+ - **Базовые стили полей** (Field / Form / Select) **вшиты в начало** `dist/index.js` и `dist/core/Field.js` (скрипт сборки): при загрузке модуля в `<head>` добавляется один `<style>` — **отдельные CSS-файлы и настройка css-loader в приложении не нужны**. Работает и с **корня** (`@elcrm/form`), и с **подпутями** — стили подхватывает `Field`.
23
+ - **Опционально** можно по-прежнему подключить `@elcrm/form/style.css` вручную (тот же текст, что во встраивании) — например для SSR без клиентского JS.
24
+ - **Темы** (светлая / тёмная): `@elcrm/form/light.css`, `@elcrm/form/dark.css` — атрибут `data-theme` на контейнере (подключаются вручную). Для порталов (`document.body`) задайте `data-theme` на `<html>` или оберните приложение так, чтобы всплывающие списки и календарь наследовали переменные темы.
25
25
 
26
26
  ## Быстрый старт
27
27
 
@@ -29,11 +29,6 @@ bun add @elcrm/form
29
29
  import { useForm, StringField, PasswordField } from "@elcrm/form";
30
30
  import "@elcrm/form/light.css";
31
31
 
32
-
33
-
34
-
35
-
36
-
37
32
  function Example() {
38
33
  const form = useForm({ login: "", password: "" });
39
34
 
@@ -46,22 +41,15 @@ function Example() {
46
41
  native
47
42
  autoComplete="username"
48
43
  />
49
- <PasswordField
50
- name="password"
51
- form={form}
52
- label="Пароль"
53
- />
44
+ <PasswordField name="password" form={form} label="Пароль" />
54
45
  </>
55
46
  );
56
47
  }
57
48
  ```
58
49
 
59
-
60
-
61
-
62
50
  ### `Form.Init` (опционально)
63
51
 
64
- Нужен, если используются **уведомления** (например, копирование телефона в буфер) или **свои модалки** для **ModalField** / **OptionsField** (`modal="module.name"`). Рендерит **`null`**, дочерние элементы не оборачивает.
52
+ Нужен, если используются **уведомления** (например, копирование телефона в буфер) или **свои модалки** для **ModalField** / **OptionsField** (`modal="module.name"`). Рендерит `null`, дочерние элементы не оборачивает.
65
53
 
66
54
  ```tsx
67
55
  import { Form, useForm, PhoneField } from "@elcrm/form";
@@ -92,11 +80,11 @@ function Example() {
92
80
  }
93
81
  ```
94
82
 
95
- Без **`Form.Init`** колбэки **`onNotice`** и **`onModal`** из полей — заглушки (no-op).
83
+ Без `Form.Init` колбэки `onNotice` и `onModal` из полей — заглушки (no-op).
96
84
 
97
85
  ## Хук `useForm`
98
86
 
99
- - **`useForm(initialValues?)`** возвращает API управления формой (`UseFormApi`).
87
+ - `useForm(initialValues?)` возвращает API управления формой (`UseFormApi`).
100
88
 
101
89
  Главная идея: подписки сделаны **гранулярно по имени поля** (`name`). Поэтому перерисовываются только те поля, для которых изменилась **версия** (`version`).
102
90
 
@@ -115,8 +103,8 @@ function Example() {
115
103
  - `setValue({ name, value })` — записывает значение **и всегда уведомляет** подписчиков этого поля (в т.ч. если значение то же самое).
116
104
  - `setValues(nextValues)` — массовая запись: обновляет значения и уведомляет **только поля, у которых значение изменилось** по `Object.is`.
117
105
  - `reset(nextValues?)` — сброс значений.
118
- - Если `nextValues` не передан, используются `initialValues` из `useForm(initialValues)`.
119
- - Уведомления идут **только если значение изменилось** по `Object.is` (важно для `Date`, массивов и объектов).
106
+ - Если `nextValues` не передан, используются `initialValues` из `useForm(initialValues)`.
107
+ - Уведомления идут **только если значение изменилось** по `Object.is` (важно для `Date`, массивов и объектов).
120
108
 
121
109
  ### Важные нюансы (частые ошибки)
122
110
 
@@ -135,33 +123,33 @@ form.setValue({ name: "date", value: form.getValue("date") });
135
123
  form.reset({ date: new Date(0) });
136
124
  ```
137
125
 
138
- Поля с **`name`** и **`form`** читают значение через **`useFormFieldState`** и обновляются на основании версии конкретного поля.
126
+ Поля с `name` и `form` читают значение через `useFormFieldState` и обновляются на основании версии конкретного поля.
139
127
 
140
- Подробнее о API — в исходниках **`hooks/use.ts`**.
128
+ Подробнее о API — в исходниках `hooks/use.ts`.
141
129
 
142
130
  ## Общие пропы (`TInput`)
143
131
 
144
- База: **`TFieldFormBindings`** (связь с формой) + **`TFieldPresentation`** (оформление).
132
+ База: `TFieldFormBindings` (связь с формой) + `TFieldPresentation` (оформление).
145
133
 
146
- | Проп | Описание |
147
- | ---------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
148
- | **`name`**, **`form`**, **`value`**, **`onValue`**, **`onBlur`** | Связь с формой; **`onBlur`** — «коммит» после ухода фокуса, аргумент **`{ value, name }`**, не нативный `FocusEvent`. |
149
- | **`label`**, **`placeholder`**, **`error`**, **`className`**, **`id`** | Подпись, плейсхолдер, текст ошибки, класс блока, id. |
150
- | **`disabled`** | Только просмотр / без ввода. |
151
- | **`hidden`** | При **`true`** поле **не рендерится, только если значение пустое**; при непустом — **показывается**. |
152
- | **`before`**, **`after`** | Узлы до/после области ввода (например иконки). |
153
- | **`native`** | Только **`StringField`**: нативный **`<input>`** вместо **contentEditable** — для **автозаполнения** логина/почты; сочетать с **`autoComplete`**, **`inputType`**. |
154
- | **`autoComplete`**, **`inputType`** | Атрибуты нативного поля при **`native`** (например **`username`**, **`email`**). |
155
- | **`inputmode`**, **`spellCheck`**, **`maxLength`** | Подсказки ввода (в т.ч. мобильная клавиатура), орфография, лимит длины — по смыслу каждого компонента. |
134
+ | Проп | Описание |
135
+ | -------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------- |
136
+ | `name`, `form`, `value`, `onValue`, `onBlur` | Связь с формой; `onBlur` — «коммит» после ухода фокуса, аргумент `{ value, name }`, не нативный `FocusEvent`. |
137
+ | `label`, `placeholder`, `error`, `className`, `id` | Подпись, плейсхолдер, текст ошибки, класс блока, id. |
138
+ | `disabled` | Только просмотр / без ввода. |
139
+ | `hidden` | При `true` поле **не рендерится, только если значение пустое**; при непустом — **показывается**. |
140
+ | `before`, `after` | Узлы до/после области ввода (например иконки). |
141
+ | `native` | Только `StringField`: нативный `<input>` вместо **contentEditable** — для **автозаполнения** логина/почты; сочетать с `autoComplete`, `inputType`. |
142
+ | `autoComplete`, `inputType` | Атрибуты нативного поля при `native` (например `username`, `email`). |
143
+ | `inputmode`, `spellCheck`, `maxLength` | Подсказки ввода (в т.ч. мобильная клавиатура), орфография, лимит длины — по смыслу каждого компонента. |
156
144
 
157
- У **`PasswordField`** свой тип **`TPasswordField`**: проп **`native`** там означает **«не рендерить компонент»** (внешний нативный пароль), не путать с **`native`** у **`StringField`**.
145
+ У `PasswordField` свой тип `TPasswordField`: проп `native` там означает **«не рендерить компонент»** (внешний нативный пароль), не путать с `native` у `StringField`.
158
146
 
159
147
  `before` / `after` рендерятся единообразно во всех полях через общий стиль-обёртку `affix` (одинаковое выравнивание и отступы слева/справа).
160
148
 
161
149
  ### `PasswordField`
162
150
 
163
- - Нативный **`<input type="password"`** / **`text`** при показе пароля.
164
- - Переключатель «показать / скрыть» с **встроенными SVG-иконками**; свои иконки — проп **`eyes={[показать, скрыть]}`**.
151
+ - Нативный `<input type="password"` / `text` при показе пароля.
152
+ - Переключатель «показать / скрыть» с **встроенными SVG-иконками**; свои иконки — проп `eyes={[показать, скрыть]}`.
165
153
 
166
154
  ### `CheckField`
167
155
 
@@ -185,15 +173,67 @@ import DateField from "@elcrm/form/fields/Date";
185
173
  import { useForm } from "@elcrm/form/hooks/use";
186
174
  ```
187
175
 
188
- Префиксы: **`fields/*`**, **`hooks/*`**, **`events/*`**, **`core/*`**, **`mask/*`** — см. **`exports`** в **`package.json`**.
176
+ Префиксы: `fields/*`, `hooks/*`, `events/*`, `core/*`, `mask/*` — см. `exports` в `package.json`.
189
177
 
190
- Объектные пропы (**`options`** у селекта и т.д.) не пересоздавайте на каждый рендер — вынесите в константы модуля.
178
+ Объектные пропы (`options` у селекта и т.д.) не пересоздавайте на каждый рендер — вынесите в константы модуля.
191
179
 
192
180
  ## Экспорт компонентов (корень пакета)
193
181
 
194
- `StringField`, `PasswordField`, `TextareaField`, `NumberField`, `MoneyField`, `MaskField`, `PhoneField`, `DateField`, `TimeField`, `SelectField`, `RangeField`, `CheckField`, `ColorField`, `ModalField`, `OptionsField`, **`Form`**, хуки **`useForm`**, **`useFormField`**, **`useFormFieldState`**, **`useFormInit`**.
195
-
196
- Типы: **`TInput`**, **`TPasswordField`**, **`TCheck`**, **`TColor`**, **`TValue`**, **`TFieldFormBindings`**, **`TFieldPresentation`**, **`UseFormApi`**, **`FormInitProps`**, **`TModalOpenPayload`** и др.
182
+ ### Поля
183
+
184
+ | Компонент | Примечание |
185
+ | ----------------------------- | ------------------------------------------------------------ |
186
+ | `StringField` | текст; `native` → `<input>` для автозаполнения |
187
+ | `PasswordField` | пароль; свой `native` = «не рендерить» (не путать со String) |
188
+ | `TextareaField` | многострочный CE |
189
+ | `NumberField` | **строка цифр** в форме; `max` = лимит **символов** |
190
+ | `PercentField` | `number` + clamp `min`/`max` (0–100) + аффикс `%` |
191
+ | `MoneyField` | деньги |
192
+ | `MaskField` | маска ввода |
193
+ | `PhoneField` | телефон; полный каталог масок — lazy при фокусе |
194
+ | `EmailField` | `type=email` |
195
+ | `UrlField` | `type=url` |
196
+ | `DateField` | дата + календарь |
197
+ | `TimeField` | время; опционально `picker` / `presets` |
198
+ | `SelectField` | список |
199
+ | `OptionsField` / `ModalField` | выбор через модалку (`Form.Init`) |
200
+ | `RangeField` | диапазон / прогресс |
201
+ | `CheckField` | чекбокс (`size`, `variant`, `showFocusRing`) |
202
+ | `RadioField` | радиогруппа |
203
+ | `TagsField` | чипы `string[]` |
204
+ | `RatingField` | оценка 0…max |
205
+ | `CodeField` | OTP / код по ячейкам |
206
+ | `FileField` | файлы |
207
+ | `DragDropField` | DnD-зона файлов |
208
+ | `RichTextField` | HTML (execCommand; санитизация — на стороне приложения) |
209
+ | `ColorField` | пикер цвета |
210
+ | `HiddenField` | без UI |
211
+ | `DisplayField` | только чтение |
212
+
213
+ ### Deprecated / алиасы (лучше каноническое имя)
214
+
215
+ | Устарело / алиас | Использовать |
216
+ | ----------------- | --------------- |
217
+ | `ProgressField` | `RangeField` |
218
+ | `TProgress` | `TRange` |
219
+ | `ReadonlyField` | `DisplayField` |
220
+ | `OtpField` | `CodeField` |
221
+ | `DragonDropField` | `DragDropField` |
222
+
223
+ ### Прочее
224
+
225
+ `Form`, хуки `useForm`, `useFormField`, `useFormFieldState`, `useFormInit`, `acquireOverlayZIndex` / `releaseOverlayZIndex`.
226
+
227
+ Типы: `TInput`, `TPasswordField`, `TCheck`, `TColor`, `TEmail`, `TUrl`, `TPercent`, `TRadio`, `TTags`, `TRating`, `TCode`, `TFile`, `TDragDrop`, `TRichText`, `THidden`, `TDisplay`, `TValue`, `UseFormApi`, `FormInitProps` и др.
228
+
229
+ ### NumberField vs PercentField
230
+
231
+ | | `NumberField` | `PercentField` |
232
+ | ------- | ------------- | ------------------------ |
233
+ | В форме | строка `"42"` | число `42` |
234
+ | `max` | длина строки | верхняя граница значения |
235
+ | Дроби | нет | `decimals` |
236
+ | На blur | trim цифр | clamp в `min`…`max` |
197
237
 
198
238
  ### `ColorField`
199
239
 
@@ -204,10 +244,10 @@ import { ColorField, useForm } from "@elcrm/form";
204
244
 
205
245
  const form = useForm({ accent: "#C11F3E" });
206
246
 
207
- <ColorField name="accent" form={form} label="Цвет" />
247
+ <ColorField name="accent" form={form} label="Цвет" />;
208
248
  ```
209
249
 
210
- Значение — строка hex (`#RRGGBB` или `#RRGGBBAA` при alpha &lt; 100%). Свои пресеты: проп **`colors`**; отключить opacity: **`alpha={false}`**.
250
+ Значение — строка hex (`#RRGGBB` или `#RRGGBBAA` при alpha < 100%). Свои пресеты: проп `colors`; отключить opacity: `alpha={false}`.
211
251
 
212
252
  ## Лицензия
213
253
 
package/dist/Form.js CHANGED
@@ -1,11 +1 @@
1
- import { registerFormInitHandlers as e } from "./FormInitContext.js";
2
- import t from "react";
3
- //#region src/lib/Form.tsx
4
- var n = () => {}, r = (e) => {};
5
- function i({ onNotice: i, onModal: a }) {
6
- return t.useLayoutEffect(() => e(i ?? n, a ?? r), [i, a]), null;
7
- }
8
- i.displayName = "Form.Init";
9
- var a = { Init: i };
10
- //#endregion
11
- export { a as Form };
1
+ import{registerFormInitHandlers as e}from"./FormInitContext.js";import t from"react";var n=()=>{},r=e=>{};function i({onNotice:i,onModal:a}){return t.useLayoutEffect(()=>e(i??n,a??r),[i,a]),null}i.displayName=`Form.Init`;var a={Init:i};export{a as Form};
@@ -1,20 +1 @@
1
- var e = {
2
- onNotice: () => {},
3
- onModal: (e) => {}
4
- }, t = { current: e }, n = {
5
- onNotice: (e) => t.current.onNotice(e),
6
- onModal: (e) => t.current.onModal(e)
7
- };
8
- function r(n, r) {
9
- return t.current = {
10
- onNotice: n,
11
- onModal: r
12
- }, () => {
13
- t.current = e;
14
- };
15
- }
16
- function i() {
17
- return n;
18
- }
19
- //#endregion
20
- export { r as registerFormInitHandlers, i as useFormInit };
1
+ var e={onNotice:()=>{},onModal:e=>{}},t={current:e},n={onNotice:e=>t.current.onNotice(e),onModal:e=>t.current.onModal(e)};function r(n,r){return t.current={onNotice:n,onModal:r},()=>{t.current=e}}function i(){return n}export{r as registerFormInitHandlers,i as useFormInit};
@@ -1 +1 @@
1
- ._l_174yx_2{min-width:var(--field-width);gap:var(--field-block-gap,0);flex-direction:column;margin:0;padding:0;display:flex;position:relative}._l_174yx_2[data-size=sm]{--field-height:32px;--control-height:32px;--field-side-padding:10px;--control-side-padding:10px;--control-inner-padding:0 10px;font-size:13px}._l_174yx_2>dt,._l_174yx_2>dd{margin:0}._l_174yx_2[data-field=group] div{cursor:pointer;border-bottom:var(--field-border);padding:var(--field-padding);margin:0}._l_174yx_2[data-field=group] div:last-child{border-bottom:0}._l_174yx_2 [placeholder]:empty:before{content:attr(placeholder);color:var(--field-placeholder);opacity:1;pointer-events:none;font-style:normal;font-weight:400;display:block}._l_174yx_2 [placeholder]:focus:before{display:none}._f_174yx_48{box-sizing:border-box;align-items:center;gap:var(--field-icon-gap,10px);border:var(--field-border);border-radius:var(--field-radius);background:var(--field-background);color:var(--field-color);padding:var(--control-inner-padding,0 var(--field-side-padding,14px));transition:border-color .16s,box-shadow .16s,background-color .16s,opacity .16s;display:flex;overflow:hidden}._f_174yx_48:hover{border-color:var(--field-border-hover,var(--field-border))}._f_174yx_48:focus-within{border-color:var(--field-border-focus,var(--field-border));box-shadow:0 0 0 3px var(--field-focus-ring,#0000);background:var(--field-background-focus,var(--field-background))}._f_174yx_48._e_174yx_73:focus-within{background:var(--field-error-background);color:var(--field-error-color)}._f_174yx_48[data-disabled=true]{background:var(--field-background-disabled,var(--field-background));border-color:var(--field-border-disabled,var(--field-border));color:var(--field-color-disabled,var(--field-placeholder));cursor:not-allowed;opacity:.85}._f_174yx_48[data-disabled=true]>*{cursor:not-allowed}._f_174yx_48>div{min-height:var(--field-height);line-height:calc(var(--field-height) - 2px);font-size:var(--control-font-size,14px);text-wrap:pretty;outline:0;flex:1;margin:0;padding:0}._f_174yx_48>div::selection{background:var(--field-selection-bg,#b3d4fc);color:var(--field-selection-color,inherit)}._f_174yx_48>:not(div){box-sizing:border-box;height:var(--field-height);min-height:var(--field-height);max-height:var(--field-height);color:var(--field-icon-color,var(--field-placeholder));flex:none;justify-content:center;align-self:center;align-items:center;display:inline-flex}._f_174yx_48>:not(div) svg{flex-shrink:0;width:20px;height:20px;display:block}._f_174yx_48 input::placeholder,._f_174yx_48 textarea::placeholder{color:var(--field-placeholder);opacity:1;font-weight:400}._f_174yx_48 input::-webkit-input-placeholder{color:var(--field-placeholder);opacity:1;font-weight:400}._f_174yx_48 textarea::-webkit-input-placeholder{color:var(--field-placeholder);opacity:1;font-weight:400}._f_174yx_48 input::-moz-placeholder{color:var(--field-placeholder);opacity:1;font-weight:400}._f_174yx_48 textarea::-moz-placeholder{color:var(--field-placeholder);opacity:1;font-weight:400}._f_174yx_48 input:-webkit-autofill{caret-color:var(--field-color);transition:background-color 99999s ease-out;-webkit-text-fill-color:var(--field-color)!important;box-shadow:0 0 0 1000px var(--field-background) inset!important;font-size:inherit!important;line-height:inherit!important}._f_174yx_48 input:-webkit-autofill:hover{caret-color:var(--field-color);transition:background-color 99999s ease-out;-webkit-text-fill-color:var(--field-color)!important;box-shadow:0 0 0 1000px var(--field-background) inset!important;font-size:inherit!important;line-height:inherit!important}._f_174yx_48 input:-webkit-autofill:focus{caret-color:var(--field-color);transition:background-color 99999s ease-out;-webkit-text-fill-color:var(--field-color)!important;box-shadow:0 0 0 1000px var(--field-background) inset!important;font-size:inherit!important;line-height:inherit!important}._f_174yx_48 input:-webkit-autofill:active{caret-color:var(--field-color);transition:background-color 99999s ease-out;-webkit-text-fill-color:var(--field-color)!important;box-shadow:0 0 0 1000px var(--field-background) inset!important;font-size:inherit!important;line-height:inherit!important}._f_174yx_48:focus-within input:-webkit-autofill{box-shadow:0 0 0 1000px var(--field-background-focus,var(--field-background)) inset!important}._f_174yx_48 [contenteditable=true],._f_174yx_48 [contenteditable=plaintext-only],._f_174yx_48>div{scrollbar-width:none;-ms-overflow-style:none}._f_174yx_48 [contenteditable=true]::-webkit-scrollbar{background:0 0;width:0;height:0;display:none}._f_174yx_48 [contenteditable=plaintext-only]::-webkit-scrollbar{background:0 0;width:0;height:0;display:none}._f_174yx_48>div::-webkit-scrollbar{background:0 0;width:0;height:0;display:none}._n_174yx_183>div{min-height:var(--field-note-height);line-height:var(--field-note-line-height);padding-top:var(--field-note-padding,var(--field-note-padding-top,8px));padding-bottom:var(--field-note-padding,var(--field-note-padding-top,8px));scrollbar-width:none;-ms-overflow-style:none;overflow:hidden auto}._n_174yx_183>div::-webkit-scrollbar{background:0 0;width:0;height:0;display:none}._w_174yx_200>div{box-sizing:border-box;height:var(--field-height);min-height:var(--field-height);max-height:var(--field-height);text-wrap:nowrap;scrollbar-width:none;-ms-overflow-style:none;overflow:auto hidden}._w_174yx_200>div::-webkit-scrollbar{background:0 0;width:0;height:0;display:none}._w_174yx_200>div input{box-sizing:border-box;height:100%;min-height:0;max-height:100%;line-height:normal}._time_174yx_227>div{text-wrap:nowrap;align-items:center;min-width:0;display:flex;overflow:visible}._time_174yx_227 ._timeInner_174yx_234{justify-content:flex-start;align-items:center;gap:4px;width:100%;min-width:0;display:flex}._time_174yx_227._timeAlignCenter_174yx_245 ._timeInner_174yx_234{justify-content:center}._time_174yx_227 ._timeSep_174yx_248{opacity:.65;-webkit-user-select:none;user-select:none;flex:none;padding:0 2px;font-weight:500;transform:translateY(-1px)}._time_174yx_227 ._timePickerBtn_174yx_256{color:var(--field-icon-color,var(--field-placeholder));cursor:pointer;background:0 0;border:0;outline:none;flex:none;justify-content:center;align-items:center;margin:0;padding:0;line-height:0;display:inline-flex}._time_174yx_227 ._timePickerBtn_174yx_256:hover:not(:disabled){color:var(--field-color)}._time_174yx_227 ._timePickerBtn_174yx_256:focus-visible{box-shadow:0 0 0 3px var(--field-focus-ring,#0000);border-radius:6px}._time_174yx_227 ._timePickerBtn_174yx_256:disabled{cursor:not-allowed;opacity:.5}._time_174yx_227 ._timePart_174yx_284{box-sizing:border-box;width:2.25ch;min-width:2.25ch;color:inherit;font:inherit;font-variant-numeric:tabular-nums;line-height:inherit;text-align:center;min-height:var(--field-height);cursor:text;scrollbar-width:none;-ms-overflow-style:none;background:0 0;border:0;border-radius:6px;outline:none;flex:none;margin:0;padding:0;overflow:hidden}._time_174yx_227 ._timePart_174yx_284::-webkit-scrollbar{background:0 0;width:0;height:0;display:none}._time_174yx_227 ._timePart_174yx_284[contenteditable=false]{cursor:not-allowed;opacity:.7}._time_174yx_227 ._timePart_174yx_284:empty:before{content:attr(placeholder);color:var(--field-placeholder);opacity:1;font-weight:400}._time_174yx_227 ._timePart_174yx_284:focus:empty:before{content:none}._time_174yx_227 ._timePart_174yx_284:focus-visible{background:0 0}._time_174yx_227._timeAlignCenter_174yx_245 ._timePart_174yx_284{text-align:center}._t_174yx_227{color:var(--field-label-color);font-size:var(--field-label-size);padding-bottom:10px}._affix_174yx_342{box-sizing:border-box;height:var(--field-height);min-height:var(--field-height);max-height:var(--field-height);color:var(--field-icon-color,var(--field-placeholder));font-size:inherit;-webkit-user-select:none;user-select:none;cursor:pointer;background:0 0;border:0;flex:none;justify-content:center;align-self:center;align-items:center;margin:0;padding:0;line-height:1;display:inline-flex}._affix_174yx_342:disabled{cursor:not-allowed;opacity:.6}._affix_174yx_342 svg{flex-shrink:0;width:20px;height:20px;display:block}._g_174yx_375{flex-direction:column}._range_174yx_379>div{box-sizing:border-box;min-width:0;min-height:var(--field-height);flex:1;align-items:center;line-height:normal;display:flex}._range_174yx_379 ._rangeTrack_174yx_388{box-sizing:border-box;width:100%;height:var(--field-range-bar-height,14px);background:var(--field-range-track,#e0e0e0);cursor:pointer;touch-action:none;border-radius:999px;outline:none;flex-shrink:0;position:relative;overflow:hidden}._range_174yx_379 ._rangeTrack_174yx_388:focus-visible{box-shadow:0 0 0 3px var(--field-focus-ring,#0000)}._range_174yx_379 ._rangeTrack_174yx_388[data-disabled=true]{cursor:not-allowed;opacity:.55;pointer-events:none}._range_174yx_379 ._rangeFill_174yx_409{background:var(--field-range-fill,#00b5ad);pointer-events:none;border-radius:999px 0 0 999px;width:0;min-width:0;height:100%}._range_174yx_379 ._rangeFillFull_174yx_420{border-radius:999px}._checkbox_174yx_424>div{min-height:var(--field-height);align-items:flex-start;width:100%;padding:0;line-height:normal;display:flex}._checkbox_174yx_424[data-variant=plain]{border-radius:0;overflow:visible;box-shadow:none!important;background:0 0!important;border:none!important;min-height:0!important;padding:0!important}._checkbox_174yx_424[data-variant=plain]:hover,._checkbox_174yx_424[data-variant=plain]:focus-within{box-shadow:none!important;background:0 0!important;border:none!important}._checkbox_174yx_424[data-size=sm]>div{align-items:center;min-height:0}._checkPlainBlok_174yx_451{width:100%;min-width:0}._checkControl_174yx_456{width:100%;min-height:var(--field-height);color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;outline:none;align-items:flex-start;gap:12px;margin:0;padding:10px 0;display:flex}._checkControl_174yx_456:focus-visible{box-shadow:0 0 0 3px var(--field-focus-ring,#0000);border-radius:calc(var(--field-radius) - 2px)}._checkControl_174yx_456[data-focus-ring=false]:focus-visible{box-shadow:none}._checkControl_174yx_456[aria-disabled=true]{cursor:not-allowed}._checkControl_174yx_456[data-size=sm]{border-radius:8px;align-items:center;gap:10px;min-height:0;padding:7px 8px}._checkControl_174yx_456[data-size=sm] ._checkBox_174yx_489{border-radius:5px;width:18px;height:18px}._checkControl_174yx_456[data-size=sm] ._checkMark_174yx_494{width:9px;height:5px}._checkControl_174yx_456[data-size=sm] ._checkText_174yx_498{padding-top:0;font-size:13px;line-height:1.2}._checkControl_174yx_456[data-size=sm][data-variant=plain]:hover:not([aria-disabled=true]){background:var(--field-background-focus,#ffffff0f)}._checkBox_174yx_489{border:var(--field-check-box-border,var(--field-border));background:0 0;border-radius:8px;flex:none;justify-content:center;align-items:center;width:22px;height:22px;transition:background-color .16s,border-color .16s,opacity .16s;display:inline-flex}._checkMark_174yx_494{border-top:none;border-bottom:2px solid #fcfff4;border-left:2px solid #fcfff4;border-right:none;width:11px;height:6px;transform:translateY(-1px)rotate(-45deg)}._checkText_174yx_498{min-width:0;color:inherit;font-size:var(--control-font-size,14px);flex:auto;padding-top:2px;line-height:1.25}._checkControl_174yx_456[aria-checked=true] ._checkBox_174yx_489{background:var(--field-background-active)}._h_174yx_542{--field-border:0}._h_174yx_542 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);cursor:pointer;flex:none;gap:10px;margin:0;position:relative}._h_174yx_542 div[aria-checked=true]{background:var(--field-background-active)}._h_174yx_542 div:after{content:"";background:0 0;border-top:none;border-bottom:3px solid #fcfff4;border-left:3px solid #fcfff4;border-right:none;width:9px;height:5px;margin:4px;position:absolute;top:5px;left:4px;transform:rotate(-45deg)}._e_174yx_73{border-color:var(--field-error-border);background:var(--field-error-background);color:var(--field-error-color)}._m_174yx_581{color:var(--field-error-color);margin-top:6px;font-size:12px;font-style:normal}._display_174yx_589>div{color:inherit;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}._displayEmpty_174yx_596{color:var(--field-placeholder)}._radio_174yx_601>div{width:100%;min-height:var(--field-height);flex-direction:column;align-items:stretch;gap:4px;padding:6px 0;line-height:normal;display:flex}._radioInline_174yx_612>div{flex-flow:wrap;align-items:center;gap:8px 16px}._radioItem_174yx_619{color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;outline:none;align-items:center;gap:10px;margin:0;padding:4px 0;display:inline-flex}._radioItem_174yx_619:focus-visible{box-shadow:0 0 0 3px var(--field-focus-ring,#0000);border-radius:6px}._radioItem_174yx_619[aria-disabled=true]{cursor:not-allowed;opacity:.7}._radioDot_174yx_642{border:var(--field-check-box-border,var(--field-border));border-radius:50%;flex:none;justify-content:center;align-items:center;width:20px;height:20px;display:inline-flex}._radioDotFill_174yx_653{background:var(--field-background-active);border-radius:50%;width:10px;height:10px}._radioText_174yx_660{font-size:var(--control-font-size,14px);line-height:1.25}._tags_174yx_666>div,._tags_174yx_666 ._tagsInner_174yx_667{width:100%;min-height:var(--field-height);flex-wrap:wrap;align-items:center;gap:4px;padding:0;line-height:normal;display:flex;overflow:visible}._tagsInner_174yx_667{flex:1;min-width:0}._tagChip_174yx_684{background:var(--field-background-focus,#0000000f);border-radius:999px;align-items:center;gap:2px;max-width:100%;padding:0 6px;line-height:1.35;display:inline-flex}._tagLabel_174yx_695{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}._tagRemove_174yx_701{color:inherit;cursor:pointer;opacity:.65;background:0 0;border:0;padding:0 2px;font-size:16px;line-height:1}._tagRemove_174yx_701:hover{opacity:1}._tagInput_174yx_715{min-width:80px;color:inherit;font:inherit;background:0 0;border:0;outline:none;flex:80px;margin:0;padding:0}._rating_174yx_728>div{width:100%;min-height:var(--field-height);outline:none;align-items:center;gap:2px;line-height:normal;display:flex}._ratingStar_174yx_738{color:var(--field-placeholder);cursor:pointer;background:0 0;border:0;outline:none;padding:0 2px;font-size:22px;line-height:1}._ratingStar_174yx_738:disabled{cursor:not-allowed;opacity:.6}._ratingStar_174yx_738:focus-visible{box-shadow:0 0 0 3px var(--field-focus-ring,#0000);border-radius:4px}._ratingStarOn_174yx_757{color:var(--field-range-fill,#34c759)}._code_174yx_762>div,._code_174yx_762 ._codeInner_174yx_763{width:100%;min-height:var(--field-height);align-items:center;gap:8px;line-height:normal;display:flex;overflow:visible}._codeInner_174yx_763{flex:1;min-width:0}._codeCell_174yx_778{box-sizing:border-box;width:36px;height:calc(var(--field-height) - 12px);border:var(--field-border);border-radius:calc(var(--field-radius) - 2px);background:var(--field-background-focus,#0000000a);min-height:32px;color:inherit;font:inherit;font-variant-numeric:tabular-nums;text-align:center;outline:none;padding:0}._codeCell_174yx_778:focus{border-color:var(--field-border-focus,var(--field-border));box-shadow:0 0 0 3px var(--field-focus-ring,#0000)}._codeCell_174yx_778:disabled{opacity:.6;cursor:not-allowed}._file_174yx_803>div,._file_174yx_803 ._fileInner_174yx_804{width:100%;min-height:var(--field-height);align-items:center;gap:10px;line-height:normal;display:flex;overflow:visible}._fileInner_174yx_804{flex:1;min-width:0;position:relative}._fileInput_174yx_820{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}._fileButton_174yx_828{background:var(--field-background-focus,#0000000f);color:inherit;font:inherit;cursor:pointer;white-space:nowrap;border:0;border-radius:8px;flex:none;padding:6px 10px;font-size:13px}._fileButton_174yx_828:disabled{cursor:not-allowed;opacity:.6}._fileList_174yx_845{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex;overflow:hidden}._fileEmpty_174yx_854{color:var(--field-placeholder);font-size:13px}._fileItem_174yx_859{align-items:baseline;gap:8px;min-width:0;display:flex}._fileName_174yx_866{text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}._fileSize_174yx_873{color:var(--field-placeholder);flex:none;font-size:12px}._fileClear_174yx_879{color:inherit;cursor:pointer;opacity:.65;background:0 0;border:0;flex:none;padding:0 2px;font-size:18px;line-height:1}._fileClear_174yx_879:hover{opacity:1}._rich_174yx_895{align-items:stretch}._rich_174yx_895>div{min-height:var(--field-note-height);line-height:var(--field-note-line-height);flex-direction:column;align-items:flex-start;padding:0;display:flex;overflow:visible}._richWrap_174yx_908{flex-direction:column;align-items:flex-start;width:100%;min-width:0;display:flex}._richToolbar_174yx_916{box-sizing:border-box;border-bottom:1px solid #00000014;flex-wrap:nowrap;justify-content:flex-start;align-items:center;gap:2px;width:100%;max-width:100%;margin:0;padding:4px 0 6px;display:inline-flex}._richBtn_174yx_930{box-sizing:border-box;width:28px;min-width:28px;height:28px;color:inherit;font:inherit;cursor:pointer;background:0 0;border:0;border-radius:6px;flex:none;justify-content:center;align-items:center;margin:0;padding:0;font-size:13px;font-weight:600;line-height:1;display:inline-flex}._richBtn_174yx_930:hover:not(:disabled){background:var(--field-background-focus,#0000000f)}._richBtn_174yx_930:disabled{opacity:.5;cursor:not-allowed}._richEditor_174yx_959{box-sizing:border-box;width:100%;min-height:calc(var(--field-note-height) - 36px);padding:var(--field-note-padding,8px) 0;overflow-wrap:anywhere;line-height:var(--field-note-line-height);scrollbar-width:none;-ms-overflow-style:none;outline:none;overflow:hidden auto}._richEditor_174yx_959::-webkit-scrollbar{background:0 0;width:0;height:0;display:none}._richEditor_174yx_959:empty:before{content:attr(placeholder);color:var(--field-placeholder);pointer-events:none}._richEditor_174yx_959 ul,._richEditor_174yx_959 ol{margin:.25em 0;padding-left:1.25em}._dragDrop_174yx_990{align-items:stretch;overflow:visible;box-shadow:none!important;background:0 0!important;border:0!important;padding:0!important}._dragDrop_174yx_990>div{min-height:auto;padding:0;line-height:normal;display:block;overflow:visible}._dragDrop_174yx_990[data-dragging=true]{background:0 0!important}._dragDropInner_174yx_1009{flex-direction:column;gap:16px;width:100%;min-width:0;display:flex;position:relative}._dragDropZone_174yx_1018{box-sizing:border-box;border-radius:calc(var(--field-radius) - 2px);width:100%;min-height:88px;color:inherit;font:inherit;text-align:center;cursor:pointer;background:0 0;border:2px dashed #c7c7cc;outline:none;flex-direction:column;justify-content:center;align-items:center;gap:6px;margin:0;padding:18px 14px;transition:border-color .16s,background-color .16s,border-style .16s;display:flex}._dragDropZone_174yx_1018:hover:not(:disabled){background:var(--field-background-focus,#00000008);border-color:#8e8e93}._dragDropZone_174yx_1018[data-dragging=true]{border-color:var(--field-range-fill,#34c759);background:color-mix(in srgb, var(--field-range-fill,#34c759) 10%, transparent);border-style:solid}._dragDropZone_174yx_1018:focus-visible{box-shadow:0 0 0 3px var(--field-focus-ring,#0000)}._dragDropZone_174yx_1018:disabled{cursor:not-allowed;opacity:.65}._dragDropHint_174yx_1056{font-size:var(--control-font-size,14px);color:inherit;line-height:1.35}._dragDropAccept_174yx_1062{color:var(--field-placeholder);letter-spacing:.01em;font-size:12px}._dragDropList_174yx_1068{flex-direction:column;gap:6px;margin:4px 0 0;padding:0;list-style:none;display:flex}._dragDropItem_174yx_1077{background:var(--field-background-focus,#0000000a);border-radius:10px;align-items:center;gap:10px;min-width:0;padding:8px 10px;display:flex}._dragDropMeta_174yx_1087{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}._dragDropName_174yx_1095{text-overflow:ellipsis;white-space:nowrap;font-size:var(--control-font-size,14px);color:inherit;line-height:1.3;overflow:hidden}._dragDropSize_174yx_1104{color:var(--field-placeholder);font-size:12px;line-height:1.2}._dragDropRemove_174yx_1110{width:28px;height:28px;color:var(--field-placeholder);cursor:pointer;background:0 0;border:0;border-radius:8px;flex:none;justify-content:center;align-items:center;padding:0;font-size:18px;line-height:1;display:inline-flex}._dragDropRemove_174yx_1110:hover{color:var(--field-error-color,#d70015);background:color-mix(in srgb, var(--field-error-color,#d70015) 10%, transparent)}._dragDropClearAll_174yx_1131{color:var(--field-placeholder);font:inherit;cursor:pointer;background:0 0;border:0;align-self:flex-start;margin-top:2px;padding:2px 0;font-size:12px}._dragDropClearAll_174yx_1131:hover{color:var(--field-error-color,#d70015)}
1
+ ._l_2ps0c_4{min-width:var(--field-width);gap:var(--field-block-gap,0);flex-direction:column;margin:0;padding:0;display:flex;position:relative}._l_2ps0c_4[data-size=sm]{--field-height:32px;--control-height:32px;--field-side-padding:10px;--control-side-padding:10px;--control-inner-padding:0 10px;font-size:13px}._l_2ps0c_4>._t_2ps0c_22,._l_2ps0c_4>._f_2ps0c_22,._l_2ps0c_4>._m_2ps0c_22{margin:0}._l_2ps0c_4[data-field=group] ._f_2ps0c_22>div{cursor:pointer;border-bottom:var(--field-border);padding:var(--field-padding);margin:0}._l_2ps0c_4[data-field=group] ._f_2ps0c_22>div:last-child{border-bottom:0}._l_2ps0c_4 [placeholder]:empty:before{content:attr(placeholder);color:var(--field-placeholder);opacity:1;pointer-events:none;font-style:normal;font-weight:400;display:block}._l_2ps0c_4 [placeholder]:focus:before{display:none}._f_2ps0c_22{box-sizing:border-box;align-items:center;gap:var(--field-icon-gap,10px);border:var(--field-border);border-radius:var(--field-radius);background:var(--field-background);color:var(--field-color);padding:var(--control-inner-padding,0 var(--field-side-padding,14px));transition:border-color .16s,box-shadow .16s,background-color .16s,opacity .16s;display:flex;overflow:hidden}._f_2ps0c_22:hover{border-color:var(--field-border-hover,var(--field-border))}._f_2ps0c_22:focus-within{border-color:var(--field-border-focus,var(--field-border));box-shadow:var(--field-focus-shadow,0 0 0 3px var(--field-focus-ring,#0000));background:var(--field-background-focus,var(--field-background))}._f_2ps0c_22._e_2ps0c_78:focus-within{background:var(--field-error-background);color:var(--field-error-color)}._f_2ps0c_22[data-disabled=true]{background:var(--field-background-disabled,var(--field-background));border-color:var(--field-border-disabled,var(--field-border));color:var(--field-color-disabled,var(--field-placeholder));cursor:not-allowed;opacity:.85}._f_2ps0c_22[data-disabled=true]>*{cursor:not-allowed}._f_2ps0c_22>div{min-height:var(--field-height);line-height:calc(var(--field-height) - 2px);font-size:var(--control-font-size,14px);text-wrap:pretty;outline:0;flex:1;margin:0;padding:0}._f_2ps0c_22>div::selection{background:var(--field-selection-bg,#b3d4fc);color:var(--field-selection-color,inherit)}._f_2ps0c_22>:not(div){box-sizing:border-box;height:var(--field-height);min-height:var(--field-height);max-height:var(--field-height);color:var(--field-icon-color,var(--field-placeholder));flex:none;justify-content:center;align-self:center;align-items:center;display:inline-flex}._f_2ps0c_22>:not(div) svg{width:var(--field-icon-size,20px);height:var(--field-icon-size,20px);flex-shrink:0;display:block}._f_2ps0c_22 input::placeholder,._f_2ps0c_22 textarea::placeholder{color:var(--field-placeholder);opacity:1;font-weight:400}._f_2ps0c_22 input::-webkit-input-placeholder{color:var(--field-placeholder);opacity:1;font-weight:400}._f_2ps0c_22 textarea::-webkit-input-placeholder{color:var(--field-placeholder);opacity:1;font-weight:400}._f_2ps0c_22 input::-moz-placeholder{color:var(--field-placeholder);opacity:1;font-weight:400}._f_2ps0c_22 textarea::-moz-placeholder{color:var(--field-placeholder);opacity:1;font-weight:400}._f_2ps0c_22 input:-webkit-autofill{caret-color:var(--field-color);-webkit-text-fill-color:var(--field-color)!important;color:var(--field-color)!important;-webkit-box-shadow:none!important;box-shadow:none!important;font-size:inherit!important;line-height:inherit!important;background-color:#0000!important;background-image:none!important;transition:background-color 99999s ease-out,background-image 99999s ease-out!important}._f_2ps0c_22 input:-webkit-autofill:hover{caret-color:var(--field-color);-webkit-text-fill-color:var(--field-color)!important;color:var(--field-color)!important;-webkit-box-shadow:none!important;box-shadow:none!important;font-size:inherit!important;line-height:inherit!important;background-color:#0000!important;background-image:none!important;transition:background-color 99999s ease-out,background-image 99999s ease-out!important}._f_2ps0c_22 input:-webkit-autofill:focus{caret-color:var(--field-color);-webkit-text-fill-color:var(--field-color)!important;color:var(--field-color)!important;-webkit-box-shadow:none!important;box-shadow:none!important;font-size:inherit!important;line-height:inherit!important;background-color:#0000!important;background-image:none!important;transition:background-color 99999s ease-out,background-image 99999s ease-out!important}._f_2ps0c_22 input:-webkit-autofill:active{caret-color:var(--field-color);-webkit-text-fill-color:var(--field-color)!important;color:var(--field-color)!important;-webkit-box-shadow:none!important;box-shadow:none!important;font-size:inherit!important;line-height:inherit!important;background-color:#0000!important;background-image:none!important;transition:background-color 99999s ease-out,background-image 99999s ease-out!important}._f_2ps0c_22 input:-webkit-autofill{-webkit-background-clip:text!important;background-clip:text!important}._f_2ps0c_22 [contenteditable=true],._f_2ps0c_22 [contenteditable=plaintext-only],._f_2ps0c_22>div{scrollbar-width:none;-ms-overflow-style:none}._f_2ps0c_22 [contenteditable=true]::-webkit-scrollbar{background:0 0;width:0;height:0;display:none}._f_2ps0c_22 [contenteditable=plaintext-only]::-webkit-scrollbar{background:0 0;width:0;height:0;display:none}._f_2ps0c_22>div::-webkit-scrollbar{background:0 0;width:0;height:0;display:none}._n_2ps0c_199>div{min-height:var(--field-note-height);line-height:var(--field-note-line-height);padding-top:var(--field-note-padding,var(--field-note-padding-top,8px));padding-bottom:var(--field-note-padding,var(--field-note-padding-top,8px));scrollbar-width:none;-ms-overflow-style:none;overflow:hidden auto}._n_2ps0c_199>div::-webkit-scrollbar{background:0 0;width:0;height:0;display:none}._w_2ps0c_216>div{box-sizing:border-box;height:var(--field-height);min-height:var(--field-height);max-height:var(--field-height);text-wrap:nowrap;scrollbar-width:none;-ms-overflow-style:none;overflow:auto hidden}._w_2ps0c_216>div::-webkit-scrollbar{background:0 0;width:0;height:0;display:none}._w_2ps0c_216>div input{box-sizing:border-box;height:100%;min-height:0;max-height:100%;line-height:normal}._time_2ps0c_243>div{text-wrap:nowrap;align-items:center;min-width:0;display:flex;overflow:visible}._time_2ps0c_243 ._timeInner_2ps0c_250{justify-content:flex-start;align-items:center;gap:4px;width:100%;min-width:0;display:flex}._time_2ps0c_243._timeAlignCenter_2ps0c_261 ._timeInner_2ps0c_250{justify-content:center}._time_2ps0c_243 ._timeSep_2ps0c_264{opacity:.65;-webkit-user-select:none;user-select:none;flex:none;padding:0 2px;font-weight:500;transform:translateY(-1px)}._time_2ps0c_243 ._timePickerBtn_2ps0c_272{color:var(--field-icon-color,var(--field-placeholder));cursor:pointer;background:0 0;border:0;outline:none;flex:none;justify-content:center;align-items:center;margin:0;padding:0;line-height:0;display:inline-flex}._time_2ps0c_243 ._timePickerBtn_2ps0c_272:hover:not(:disabled){color:var(--field-color)}._time_2ps0c_243 ._timePickerBtn_2ps0c_272:focus-visible{box-shadow:var(--field-focus-shadow,0 0 0 3px var(--field-focus-ring,#0000));border-radius:6px}._time_2ps0c_243 ._timePickerBtn_2ps0c_272:disabled{cursor:not-allowed;opacity:.5}._time_2ps0c_243 ._timePart_2ps0c_300{box-sizing:border-box;width:2.25ch;min-width:2.25ch;color:inherit;font:inherit;font-variant-numeric:tabular-nums;line-height:inherit;text-align:center;min-height:var(--field-height);cursor:text;scrollbar-width:none;-ms-overflow-style:none;background:0 0;border:0;border-radius:6px;outline:none;flex:none;margin:0;padding:0;overflow:hidden}._time_2ps0c_243 ._timePart_2ps0c_300::-webkit-scrollbar{background:0 0;width:0;height:0;display:none}._time_2ps0c_243 ._timePart_2ps0c_300[contenteditable=false]{cursor:not-allowed;opacity:.7}._time_2ps0c_243 ._timePart_2ps0c_300:empty:before{content:attr(placeholder);color:var(--field-placeholder);opacity:1;font-weight:400}._time_2ps0c_243 ._timePart_2ps0c_300:focus:empty:before{content:none}._time_2ps0c_243 ._timePart_2ps0c_300:focus-visible{background:0 0}._time_2ps0c_243._timeAlignCenter_2ps0c_261 ._timePart_2ps0c_300{text-align:center}._t_2ps0c_22{color:var(--field-label-color);font-size:var(--field-label-size);padding-bottom:var(--field-label-gap,10px);cursor:default;display:block}._nativeWrap_2ps0c_361{flex:1;align-items:center;min-width:0;display:flex}._nativeInput_2ps0c_368{box-sizing:border-box;width:100%;font:inherit;color:inherit;background:0 0;border:none;outline:none;margin:0;padding:0}._nativeInput_2ps0c_368:-webkit-autofill{caret-color:var(--field-color);-webkit-text-fill-color:var(--field-color)!important;color:var(--field-color)!important;-webkit-box-shadow:none!important;box-shadow:none!important;background-color:#0000!important;background-image:none!important;-webkit-background-clip:text!important;background-clip:text!important;transition:background-color 99999s ease-out,background-image 99999s ease-out!important}._nativeInput_2ps0c_368:-webkit-autofill:hover{caret-color:var(--field-color);-webkit-text-fill-color:var(--field-color)!important;color:var(--field-color)!important;-webkit-box-shadow:none!important;box-shadow:none!important;background-color:#0000!important;background-image:none!important;-webkit-background-clip:text!important;background-clip:text!important;transition:background-color 99999s ease-out,background-image 99999s ease-out!important}._nativeInput_2ps0c_368:-webkit-autofill:focus{caret-color:var(--field-color);-webkit-text-fill-color:var(--field-color)!important;color:var(--field-color)!important;-webkit-box-shadow:none!important;box-shadow:none!important;background-color:#0000!important;background-image:none!important;-webkit-background-clip:text!important;background-clip:text!important;transition:background-color 99999s ease-out,background-image 99999s ease-out!important}._nativeInput_2ps0c_368:-webkit-autofill:active{caret-color:var(--field-color);-webkit-text-fill-color:var(--field-color)!important;color:var(--field-color)!important;-webkit-box-shadow:none!important;box-shadow:none!important;background-color:#0000!important;background-image:none!important;-webkit-background-clip:text!important;background-clip:text!important;transition:background-color 99999s ease-out,background-image 99999s ease-out!important}._affix_2ps0c_393{box-sizing:border-box;height:var(--field-height);min-height:var(--field-height);max-height:var(--field-height);color:var(--field-icon-color,var(--field-placeholder));font-size:inherit;-webkit-user-select:none;user-select:none;cursor:pointer;background:0 0;border:0;flex:none;justify-content:center;align-self:center;align-items:center;margin:0;padding:0;line-height:1;display:inline-flex}._affix_2ps0c_393:disabled{cursor:not-allowed;opacity:.6}._affix_2ps0c_393 svg{width:var(--field-icon-size,20px);height:var(--field-icon-size,20px);flex-shrink:0;display:block}._g_2ps0c_426{flex-direction:column}._range_2ps0c_430>div{box-sizing:border-box;min-width:0;min-height:var(--field-height);flex:1;align-items:center;line-height:normal;display:flex}._range_2ps0c_430 ._rangeTrack_2ps0c_439{box-sizing:border-box;width:100%;height:var(--field-range-bar-height,14px);background:var(--field-range-track,#e0e0e0);cursor:pointer;touch-action:none;border-radius:999px;outline:none;flex-shrink:0;position:relative;overflow:hidden}._range_2ps0c_430 ._rangeTrack_2ps0c_439:focus-visible{box-shadow:var(--field-focus-shadow,0 0 0 3px var(--field-focus-ring,#0000))}._range_2ps0c_430 ._rangeTrack_2ps0c_439[data-disabled=true]{cursor:not-allowed;opacity:.55;pointer-events:none}._range_2ps0c_430 ._rangeFill_2ps0c_460{background:var(--field-range-fill,#00b5ad);pointer-events:none;border-radius:999px 0 0 999px;width:0;min-width:0;height:100%}._range_2ps0c_430 ._rangeFillFull_2ps0c_471{border-radius:999px}._checkbox_2ps0c_475>div{min-height:var(--field-height);align-items:flex-start;width:100%;padding:0;line-height:normal;display:flex}._checkbox_2ps0c_475[data-variant=plain]{border-radius:0;overflow:visible;box-shadow:none!important;background:0 0!important;border:none!important;min-height:0!important;padding:0!important}._checkbox_2ps0c_475[data-variant=plain]:hover,._checkbox_2ps0c_475[data-variant=plain]:focus-within{box-shadow:none!important;background:0 0!important;border:none!important}._checkbox_2ps0c_475[data-size=sm]>div{align-items:center;min-height:0}._checkPlainBlok_2ps0c_502{width:100%;min-width:0}._checkControl_2ps0c_507{width:100%;min-height:var(--field-height);color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;outline:none;align-items:flex-start;gap:12px;margin:0;padding:10px 0;display:flex}._checkControl_2ps0c_507:focus-visible{box-shadow:var(--field-focus-shadow,0 0 0 3px var(--field-focus-ring,#0000));border-radius:calc(var(--field-radius) - 2px)}._checkControl_2ps0c_507[data-focus-ring=false]:focus-visible{box-shadow:none}._checkControl_2ps0c_507[aria-disabled=true]{cursor:not-allowed}._checkControl_2ps0c_507[data-size=sm]{border-radius:8px;align-items:center;gap:10px;min-height:0;padding:7px 8px}._checkControl_2ps0c_507[data-size=sm] ._checkBox_2ps0c_540{border-radius:5px;width:18px;height:18px}._checkControl_2ps0c_507[data-size=sm] ._checkMark_2ps0c_545{width:9px;height:5px}._checkControl_2ps0c_507[data-size=sm] ._checkText_2ps0c_549{padding-top:0;font-size:13px;line-height:1.2}._checkControl_2ps0c_507[data-size=sm][data-variant=plain]:hover:not([aria-disabled=true]){background:var(--field-background-focus,#ffffff0f)}._checkBox_2ps0c_540{width:var(--field-check-size,22px);height:var(--field-check-size,22px);border:var(--field-check-box-border,var(--field-border));background:0 0;border-radius:8px;flex:none;justify-content:center;align-items:center;transition:background-color .16s,border-color .16s,opacity .16s;display:inline-flex}._checkMark_2ps0c_545{border-top:none;border-bottom:2px solid #fcfff4;border-left:2px solid #fcfff4;border-right:none;width:11px;height:6px;transform:translateY(-1px)rotate(-45deg)}._checkText_2ps0c_549{min-width:0;color:inherit;font-size:var(--control-font-size,14px);flex:auto;padding-top:2px;line-height:1.25}._checkControl_2ps0c_507[aria-checked=true] ._checkBox_2ps0c_540{background:var(--field-background-active)}._e_2ps0c_78{border-color:var(--field-error-border);background:var(--field-error-background);color:var(--field-error-color)}._m_2ps0c_22{color:var(--field-error-color);font-size:var(--field-error-size,12px);margin-top:var(--field-error-gap,6px);font-style:normal}._display_2ps0c_607>div{color:inherit;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}._displayEmpty_2ps0c_614{color:var(--field-placeholder)}._radio_2ps0c_619>div{width:100%;min-height:var(--field-height);flex-direction:column;align-items:stretch;gap:4px;padding:6px 0;line-height:normal;display:flex}._radioInline_2ps0c_630>div{flex-flow:wrap;align-items:center;gap:8px 16px}._radioItem_2ps0c_637{color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;outline:none;align-items:center;gap:10px;margin:0;padding:4px 0;display:inline-flex}._radioItem_2ps0c_637:focus-visible{box-shadow:var(--field-focus-shadow,0 0 0 3px var(--field-focus-ring,#0000));border-radius:6px}._radioItem_2ps0c_637[aria-disabled=true]{cursor:not-allowed;opacity:.7}._radioDot_2ps0c_660{width:var(--field-radio-size,20px);height:var(--field-radio-size,20px);border:var(--field-check-box-border,var(--field-border));border-radius:50%;flex:none;justify-content:center;align-items:center;display:inline-flex}._radioDotFill_2ps0c_671{background:var(--field-background-active);border-radius:50%;width:10px;height:10px}._radioText_2ps0c_678{font-size:var(--control-font-size,14px);line-height:1.25}._tags_2ps0c_684>div,._tags_2ps0c_684 ._tagsInner_2ps0c_685{width:100%;min-height:var(--field-height);flex-wrap:wrap;align-items:center;gap:4px;padding:0;line-height:normal;display:flex;overflow:visible}._tagsInner_2ps0c_685{flex:1;min-width:0}._tagChip_2ps0c_702{background:var(--field-background-focus,#0000000f);border-radius:999px;align-items:center;gap:2px;max-width:100%;padding:0 6px;line-height:1.35;display:inline-flex}._tagLabel_2ps0c_713{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}._tagRemove_2ps0c_719{color:inherit;cursor:pointer;opacity:.65;background:0 0;border:0;padding:0 2px;font-size:16px;line-height:1}._tagRemove_2ps0c_719:hover{opacity:1}._tagInput_2ps0c_733{min-width:80px;color:inherit;font:inherit;background:0 0;border:0;outline:none;flex:80px;margin:0;padding:0}._rating_2ps0c_746>div{width:100%;min-height:var(--field-height);outline:none;align-items:center;gap:2px;line-height:normal;display:flex}._ratingStar_2ps0c_756{color:var(--field-placeholder);cursor:pointer;font-size:var(--field-rating-size,22px);background:0 0;border:0;outline:none;padding:0 2px;line-height:1}._ratingStar_2ps0c_756:disabled{cursor:not-allowed;opacity:.6}._ratingStar_2ps0c_756:focus-visible{box-shadow:var(--field-focus-shadow,0 0 0 3px var(--field-focus-ring,#0000));border-radius:4px}._ratingStarOn_2ps0c_775{color:var(--field-range-fill,#34c759)}._code_2ps0c_780>div,._code_2ps0c_780 ._codeInner_2ps0c_781{width:100%;min-height:var(--field-height);align-items:center;gap:8px;line-height:normal;display:flex;overflow:visible}._codeInner_2ps0c_781{flex:1;min-width:0}._codeCell_2ps0c_796{box-sizing:border-box;width:var(--field-code-cell-size,36px);height:calc(var(--field-height) - 12px);border:var(--field-border);border-radius:calc(var(--field-radius) - 2px);background:var(--field-background-focus,#0000000a);min-height:32px;color:inherit;font:inherit;font-variant-numeric:tabular-nums;text-align:center;outline:none;padding:0}._codeCell_2ps0c_796:focus{border-color:var(--field-border-focus,var(--field-border));box-shadow:var(--field-focus-shadow,0 0 0 3px var(--field-focus-ring,#0000))}._codeCell_2ps0c_796:disabled{opacity:.6;cursor:not-allowed}._file_2ps0c_821>div,._file_2ps0c_821 ._fileInner_2ps0c_822{width:100%;min-height:var(--field-height);align-items:center;gap:10px;line-height:normal;display:flex;overflow:visible}._fileInner_2ps0c_822{flex:1;min-width:0;position:relative}._fileInput_2ps0c_838{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}._fileButton_2ps0c_846{background:var(--field-background-focus,#0000000f);color:inherit;font:inherit;cursor:pointer;white-space:nowrap;border:0;border-radius:8px;flex:none;padding:6px 10px;font-size:13px}._fileButton_2ps0c_846:disabled{cursor:not-allowed;opacity:.6}._fileList_2ps0c_863{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex;overflow:hidden}._fileEmpty_2ps0c_872{color:var(--field-placeholder);font-size:13px}._fileItem_2ps0c_877{align-items:baseline;gap:8px;min-width:0;display:flex}._fileName_2ps0c_884{text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}._fileSize_2ps0c_891{color:var(--field-placeholder);font-size:var(--field-error-size,12px);flex:none}._fileClear_2ps0c_897{color:inherit;cursor:pointer;opacity:.65;background:0 0;border:0;flex:none;padding:0 2px;font-size:18px;line-height:1}._fileClear_2ps0c_897:hover{opacity:1}._rich_2ps0c_913{align-items:stretch}._rich_2ps0c_913>div{min-height:var(--field-note-height);line-height:var(--field-note-line-height);flex-direction:column;align-items:flex-start;padding:0;display:flex;overflow:visible}._richWrap_2ps0c_926{flex-direction:column;align-items:flex-start;width:100%;min-width:0;display:flex}._richToolbar_2ps0c_934{box-sizing:border-box;border-bottom:1px solid #00000014;flex-wrap:nowrap;justify-content:flex-start;align-items:center;gap:2px;width:100%;max-width:100%;margin:0;padding:4px 0 6px;display:inline-flex}._richBtn_2ps0c_948{box-sizing:border-box;width:28px;min-width:28px;height:28px;color:inherit;font:inherit;cursor:pointer;background:0 0;border:0;border-radius:6px;flex:none;justify-content:center;align-items:center;margin:0;padding:0;font-size:13px;font-weight:600;line-height:1;display:inline-flex}._richBtn_2ps0c_948:hover:not(:disabled){background:var(--field-background-focus,#0000000f)}._richBtn_2ps0c_948:disabled{opacity:.5;cursor:not-allowed}._richEditor_2ps0c_977{box-sizing:border-box;width:100%;min-height:calc(var(--field-note-height) - 36px);padding:var(--field-note-padding,8px) 0;overflow-wrap:anywhere;line-height:var(--field-note-line-height);scrollbar-width:none;-ms-overflow-style:none;outline:none;overflow:hidden auto}._richEditor_2ps0c_977::-webkit-scrollbar{background:0 0;width:0;height:0;display:none}._richEditor_2ps0c_977:empty:before{content:attr(placeholder);color:var(--field-placeholder);pointer-events:none}._richEditor_2ps0c_977 ul,._richEditor_2ps0c_977 ol{margin:.25em 0;padding-left:1.25em}._dragDrop_2ps0c_1008{align-items:stretch;overflow:visible;box-shadow:none!important;background:0 0!important;border:0!important;padding:0!important}._dragDrop_2ps0c_1008>div{min-height:auto;padding:0;line-height:normal;display:block;overflow:visible}._dragDrop_2ps0c_1008[data-dragging=true]{background:0 0!important}._dragDropInner_2ps0c_1027{flex-direction:column;gap:16px;width:100%;min-width:0;display:flex;position:relative}._dragDropZone_2ps0c_1036{box-sizing:border-box;width:100%;min-height:var(--field-drag-min-height,88px);border:var(--field-drag-border,2px dashed #c7c7cc);border-radius:calc(var(--field-radius) - 2px);color:inherit;font:inherit;text-align:center;cursor:pointer;background:0 0;outline:none;flex-direction:column;justify-content:center;align-items:center;gap:6px;margin:0;padding:18px 14px;transition:border-color .16s,background-color .16s,border-style .16s;display:flex}._dragDropZone_2ps0c_1036:hover:not(:disabled){border-color:var(--field-drag-border-hover,#8e8e93);background:var(--field-background-focus,#00000008)}._dragDropZone_2ps0c_1036[data-dragging=true]{border-color:var(--field-range-fill,#34c759);background:color-mix(in srgb, var(--field-range-fill,#34c759) 10%, transparent);border-style:solid}._dragDropZone_2ps0c_1036:focus-visible{box-shadow:var(--field-focus-shadow,0 0 0 3px var(--field-focus-ring,#0000))}._dragDropZone_2ps0c_1036:disabled{cursor:not-allowed;opacity:.65}._dragDropHint_2ps0c_1074{font-size:var(--control-font-size,14px);color:inherit;line-height:1.35}._dragDropAccept_2ps0c_1080{font-size:var(--field-error-size,12px);color:var(--field-placeholder);letter-spacing:.01em}._dragDropList_2ps0c_1086{flex-direction:column;gap:6px;margin:4px 0 0;padding:0;list-style:none;display:flex}._dragDropItem_2ps0c_1095{background:var(--field-background-focus,#0000000a);border-radius:10px;align-items:center;gap:10px;min-width:0;padding:8px 10px;display:flex}._dragDropMeta_2ps0c_1105{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}._dragDropName_2ps0c_1113{text-overflow:ellipsis;white-space:nowrap;font-size:var(--control-font-size,14px);color:inherit;line-height:1.3;overflow:hidden}._dragDropSize_2ps0c_1122{font-size:var(--field-error-size,12px);color:var(--field-placeholder);line-height:1.2}._dragDropRemove_2ps0c_1128{width:28px;height:28px;color:var(--field-placeholder);cursor:pointer;background:0 0;border:0;border-radius:8px;flex:none;justify-content:center;align-items:center;padding:0;font-size:18px;line-height:1;display:inline-flex}._dragDropRemove_2ps0c_1128:hover{color:var(--field-error-color,#d70015);background:color-mix(in srgb, var(--field-error-color,#d70015) 10%, transparent)}._dragDropClearAll_2ps0c_1149{color:var(--field-placeholder);font:inherit;font-size:var(--field-error-size,12px);cursor:pointer;background:0 0;border:0;align-self:flex-start;margin-top:2px;padding:2px 0}._dragDropClearAll_2ps0c_1149:hover{color:var(--field-error-color,#d70015)}
@@ -1 +1 @@
1
- ._o_1l419_2{z-index:var(--elcrm-z-popover,1000);background:0 0;position:fixed;inset:0}._c_1l419_13{background:var(--select-background);z-index:var(--elcrm-z-popover-front,1001);scrollbar-width:none;-ms-overflow-style:none;border-radius:10px;max-height:min(92vh,480px);margin:0;padding:10px 12px 12px;display:block;position:fixed;overflow:hidden auto;box-shadow:5px 7px 18px #000000a8}._c_1l419_13::-webkit-scrollbar{background:0 0;width:0;height:0;display:none}._c_1l419_13::-webkit-scrollbar:vertical{width:0;display:none}._c_1l419_13::-webkit-scrollbar:horizontal{height:0;display:none}._c_1l419_13{color:var(--select-color,#333);box-sizing:border-box;min-width:259px}._c_1l419_13 [grid-calendar]{grid-template-columns:repeat(7,1fr);grid-auto-rows:34px;gap:2px;display:grid}._c_1l419_13 [grid-calendar]>p{color:var(--color-placeholder);box-sizing:border-box;justify-content:center;align-items:center;margin:0;padding:0;font-size:.75rem;font-weight:500;line-height:1;display:flex}._c_1l419_13 [grid-month]{grid-template-columns:1fr 1fr 1fr 1fr;width:250px;display:grid}._c_1l419_13 b{cursor:pointer;text-align:center;border-radius:5px;padding:8px 5px;font-weight:400;display:block}._c_1l419_13 b.__active_1l419_82{background:var(--bg-select-active)}._c_1l419_13 b:hover{background:var(--bg-select-hover)}._c_1l419_13 p{color:var(--color-placeholder);text-align:center;cursor:default;pointer-events:none;padding:0}._c_1l419_13 i{text-align:center;cursor:pointer;border-radius:5px;flex:0 30px;padding:9px}._c_1l419_13 i:hover{background:var(--bg-select-hover)}._c_1l419_13 i:before{cursor:pointer;display:block}._c_1l419_13 s{align-items:center;gap:4px;padding-bottom:6px;font-style:normal;text-decoration:none;display:flex}._c_1l419_13 s h2{text-align:center;min-width:0;color:var(--select-color,#333);cursor:default;flex-wrap:nowrap;flex:auto;justify-content:center;align-items:center;gap:8px;margin:0;padding:0;font-size:16px;font-weight:400;line-height:1.25;display:flex}._c_1l419_13 ._dateHeaderMonth_1l419_137,._c_1l419_13 ._dateHeaderYear_1l419_137{cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap;border-radius:6px;padding:2px 8px}._c_1l419_13 ._dateHeaderMonth_1l419_137:hover,._c_1l419_13 ._dateHeaderYear_1l419_137:hover{background:var(--bg-select-hover)}._c_1l419_13 ._dateHeaderDisabled_1l419_147{cursor:not-allowed;opacity:.45;pointer-events:none}._c_1l419_13 ._dateHeaderDisabled_1l419_147[data-active=true],._c_1l419_13 ._dateHeaderDisabled_1l419_147[data-current=true]{opacity:.45}._c_1l419_13 [grid-calendar] b[data-current=true],._c_1l419_13 [grid-month] b[data-current=true]{background:color-mix(in srgb, var(--field-background-active) 52%, transparent);font-weight:600}._c_1l419_13 [grid-calendar] b[data-active=true]:not([data-current=true]),._c_1l419_13 [grid-month] b[data-active=true]:not([data-current=true]){outline:2px solid var(--field-background-active);outline-offset:-2px}._c_1l419_13 [grid-calendar] b[data-active=true][data-current=true],._c_1l419_13 [grid-month] b[data-active=true][data-current=true]{box-shadow:inset 0 0 0 2px var(--field-background-active)}._c_1l419_13 [grid-calendar] p[data-current=true]{background:color-mix(in srgb, var(--field-background-active) 52%, transparent);color:inherit;border-radius:5px;font-weight:600}._c_1l419_13 [grid-calendar] p[data-active=true]:not([data-current=true]){outline:2px solid var(--field-background-active);outline-offset:-2px;opacity:.85}._c_1l419_13 [grid-calendar] p[data-active=true][data-current=true]{box-shadow:inset 0 0 0 2px var(--field-background-active)}._c_1l419_13 span{text-align:center;padding:2px}._c_1l419_13 span p{color:var(--color-placeholder);padding:8px 5px}._c_1l419_13 [grid-calendar]>span{box-sizing:border-box;justify-content:stretch;align-items:stretch;min-height:0;padding:0;display:flex}._c_1l419_13 [grid-calendar]>span>b,._c_1l419_13 [grid-calendar]>span>p{box-sizing:border-box;border-radius:5px;flex:auto;justify-content:center;align-items:center;width:100%;min-height:0;margin:0;padding:0;display:flex}._c_1l419_13 ._as_1l419_214{cursor:ns-resize}._c_1l419_13 ._ap_1l419_217{cursor:pointer}[field=password] dd{white-space:nowrap;font-style:unset;-webkit-text-security:disc;-webkit-user-select:text;user-select:text}[field=password][show] dd,[field=password] dd:before{-webkit-text-security:none}[field=code] div{gap:8px;display:flex}[field=select] dd{cursor:pointer}[field] dd:before{pointer-events:none}[field=check] dd{cursor:pointer;max-width:35px;padding:0}[field=check] [active]:after{content:"";background:#394264;border-radius:5px;width:15px;height:15px;display:block}[field=file] input{display:none}[field=file] dd{aspect-ratio:16/9;cursor:pointer;position:relative}[field=file] img{aspect-ratio:16/9;object-fit:contain;cursor:pointer;width:-webkit-fill-available;display:block}[field=file] label{aspect-ratio:16/9;object-fit:contain;cursor:pointer;width:-webkit-fill-available;display:block;position:absolute}[field=color] dd{border:0;gap:3px;padding:0;display:flex}[field=color] dd s{cursor:pointer;opacity:.6;border:1px solid #dde2e4;border-radius:6px;flex:1}[field=color] dd s:hover{opacity:.9}[field=color] dd s[active=true]{opacity:1}
1
+ ._o_5zbqt_4{z-index:var(--elcrm-z-popover,1000);background:0 0;position:fixed;inset:0}._c_5zbqt_15{box-shadow:var(--date-popup-shadow,5px 7px 18px 0 #000000a8);padding:var(--date-popup-padding,10px 12px 12px);background:var(--select-background);z-index:var(--elcrm-z-popover-front,1001);border-radius:var(--date-popup-radius,10px);scrollbar-width:none;-ms-overflow-style:none;max-height:min(92vh,480px);margin:0;display:block;position:fixed;overflow:hidden auto}._c_5zbqt_15::-webkit-scrollbar{background:0 0;width:0;height:0;display:none}._c_5zbqt_15{color:var(--select-color,#333);box-sizing:border-box;min-width:var(--date-popup-min-width,259px)}._c_5zbqt_15 [grid-calendar]{grid-template-columns:repeat(7,1fr);grid-auto-rows:var(--date-popup-row-height,34px);gap:2px;display:grid}._c_5zbqt_15 [grid-calendar]>p{color:var(--field-placeholder);box-sizing:border-box;justify-content:center;align-items:center;margin:0;padding:0;font-size:.75rem;font-weight:500;line-height:1;display:flex}._c_5zbqt_15 [grid-month]{grid-template-columns:1fr 1fr 1fr 1fr;width:250px;display:grid}._c_5zbqt_15 b{border-radius:var(--date-popup-cell-radius,5px);cursor:pointer;text-align:center;padding:8px 5px;font-weight:400;display:block}._c_5zbqt_15 b:hover{background:var(--select-li-hover-bg)}._c_5zbqt_15 p{color:var(--field-placeholder);text-align:center;cursor:default;pointer-events:none;padding:0}._c_5zbqt_15 i{text-align:center;cursor:pointer;border-radius:var(--date-popup-cell-radius,5px);flex:0 30px;padding:9px}._c_5zbqt_15 i:hover{background:var(--select-li-hover-bg)}._c_5zbqt_15 i:before{cursor:pointer;display:block}._c_5zbqt_15 s{align-items:center;gap:4px;padding-bottom:6px;font-style:normal;text-decoration:none;display:flex}._c_5zbqt_15 s h2{text-align:center;min-width:0;color:var(--select-color,#333);cursor:default;flex-wrap:nowrap;flex:auto;justify-content:center;align-items:center;gap:8px;margin:0;padding:0;font-size:16px;font-weight:400;line-height:1.25;display:flex}._c_5zbqt_15 ._dateHeaderMonth_5zbqt_128,._c_5zbqt_15 ._dateHeaderYear_5zbqt_128{cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap;border-radius:6px;padding:2px 8px}._c_5zbqt_15 ._dateHeaderMonth_5zbqt_128:hover,._c_5zbqt_15 ._dateHeaderYear_5zbqt_128:hover{background:var(--select-li-hover-bg)}._c_5zbqt_15 ._dateHeaderDisabled_5zbqt_138{cursor:not-allowed;opacity:.45;pointer-events:none}._c_5zbqt_15 ._dateHeaderDisabled_5zbqt_138[data-active=true],._c_5zbqt_15 ._dateHeaderDisabled_5zbqt_138[data-current=true]{opacity:.45}._c_5zbqt_15 [grid-calendar] b[data-current=true],._c_5zbqt_15 [grid-month] b[data-current=true]{background:color-mix(in srgb, var(--field-background-active) 52%, transparent);font-weight:600}._c_5zbqt_15 [grid-calendar] b[data-active=true]:not([data-current=true]),._c_5zbqt_15 [grid-month] b[data-active=true]:not([data-current=true]){outline:2px solid var(--field-background-active);outline-offset:-2px}._c_5zbqt_15 [grid-calendar] b[data-active=true][data-current=true],._c_5zbqt_15 [grid-month] b[data-active=true][data-current=true]{box-shadow:inset 0 0 0 2px var(--field-background-active)}._c_5zbqt_15 [grid-calendar] p[data-current=true]{background:color-mix(in srgb, var(--field-background-active) 52%, transparent);color:inherit;border-radius:var(--date-popup-cell-radius,5px);font-weight:600}._c_5zbqt_15 [grid-calendar] p[data-active=true]:not([data-current=true]){outline:2px solid var(--field-background-active);outline-offset:-2px;opacity:.85}._c_5zbqt_15 [grid-calendar] p[data-active=true][data-current=true]{box-shadow:inset 0 0 0 2px var(--field-background-active)}._c_5zbqt_15 span{text-align:center;padding:2px}._c_5zbqt_15 span p{color:var(--field-placeholder);padding:8px 5px}._c_5zbqt_15 [grid-calendar]>span{box-sizing:border-box;justify-content:stretch;align-items:stretch;min-height:0;padding:0;display:flex}._c_5zbqt_15 [grid-calendar]>span>b,._c_5zbqt_15 [grid-calendar]>span>p{box-sizing:border-box;border-radius:var(--date-popup-cell-radius,5px);flex:auto;justify-content:center;align-items:center;width:100%;min-height:0;margin:0;padding:0;display:flex}._c_5zbqt_15 ._as_5zbqt_205{cursor:ns-resize}._c_5zbqt_15 ._ap_5zbqt_208{cursor:pointer}
@@ -1 +1 @@
1
- :root{--select-overlay:transparent;--select-height:52px;--select-separator:1px solid #c6c6c8;--select-color:#000;--select-background:#fff;--select-li-hover-bg:#f2f2f7;--select-li-focus-bg:#e5e5ea;--select-li-selected-bg:#e5e5ea;--select-icon:calc(var(--select-height) / 1.5);--select-icon-padding:calc((var(--select-height) - var(--select-icon)) / 2);--select-font-size:17px}._o_hv4hf_20{z-index:var(--elcrm-z-popover,1000);background:var(--select-overlay);position:fixed;inset:0}._l_hv4hf_30{background:var(--select-background);z-index:var(--elcrm-z-popover-front,1001);scrollbar-width:none;-ms-overflow-style:none;border-radius:20px;max-height:300px;margin:0;padding:0;display:block;position:fixed;overflow:hidden auto}._l_hv4hf_30::-webkit-scrollbar{background:0 0;width:0;height:0;display:none}._l_hv4hf_30::-webkit-scrollbar:vertical{width:0;display:none}._l_hv4hf_30::-webkit-scrollbar:horizontal{height:0;display:none}._l_hv4hf_30 ul{scrollbar-width:none;-ms-overflow-style:none;width:100%;max-height:300px;margin:0;padding:0;list-style:none;display:block;overflow:hidden auto}._l_hv4hf_30 ul::-webkit-scrollbar{background:0 0;width:0;height:0;display:none}._l_hv4hf_30 ul::-webkit-scrollbar:vertical{width:0;display:none}._l_hv4hf_30 ul::-webkit-scrollbar:horizontal{height:0;display:none}._l_hv4hf_30 li{border-bottom:var(--select-separator);cursor:pointer;color:var(--select-color);height:var(--select-height);line-height:var(--select-height);font-size:var(--select-font-size);white-space:nowrap;text-overflow:ellipsis;opacity:1;margin:0;padding:0 14px;display:block;overflow:hidden;text-align:left!important;border-left:0!important}._l_hv4hf_30 li[aria-selected=true]{background:var(--select-li-selected-bg,var(--select-li-hover-bg))}._l_hv4hf_30 li:hover{background:var(--select-li-hover-bg,#f2f2f7)}._l_hv4hf_30 li[data-focus=true]{background:var(--select-li-focus-bg,#e5e5ea)}._l_hv4hf_30 li:last-child{border-bottom:0}._i_hv4hf_123{width:var(--select-icon);height:var(--select-icon);color:var(--field-color);right:var(--select-icon-padding);top:var(--select-icon-padding);position:absolute}._placeholderValue_hv4hf_133{color:var(--field-placeholder);font-weight:400}._f_hv4hf_138{cursor:pointer}._f_hv4hf_138[aria-disabled=true]{cursor:not-allowed}
1
+ :root{--select-height:52px;--select-icon:calc(var(--select-height) / 1.5);--select-icon-padding:calc((var(--select-height) - var(--select-icon)) / 2);--select-font-size:17px;--select-radius:20px;--select-max-height:300px}._o_ogta0_19{z-index:var(--elcrm-z-popover,1000);background:var(--select-overlay,transparent);position:fixed;inset:0}._l_ogta0_29{background:var(--select-background,#fff);z-index:var(--elcrm-z-popover-front,1001);border-radius:var(--select-radius);max-height:var(--select-max-height);scrollbar-width:none;-ms-overflow-style:none;margin:0;padding:0;display:block;position:fixed;overflow:hidden auto}._l_ogta0_29::-webkit-scrollbar{background:0 0;width:0;height:0;display:none}._l_ogta0_29 ul{width:100%;max-height:var(--select-max-height);scrollbar-width:none;-ms-overflow-style:none;margin:0;padding:0;list-style:none;display:block;overflow:hidden auto}._l_ogta0_29 ul::-webkit-scrollbar{background:0 0;width:0;height:0;display:none}._l_ogta0_29 li{border-bottom:var(--select-separator,1px solid #c6c6c8);cursor:pointer;color:var(--select-color,#000);height:var(--select-height);line-height:var(--select-height);font-size:var(--select-font-size);white-space:nowrap;text-overflow:ellipsis;opacity:1;margin:0;padding:0 14px;display:block;overflow:hidden;text-align:left!important;border-left:0!important}._l_ogta0_29 li[aria-selected=true]{background:var(--select-li-selected-bg,var(--select-li-hover-bg,#f2f2f7))}._l_ogta0_29 li:hover{background:var(--select-li-hover-bg,#f2f2f7)}._l_ogta0_29 li[data-focus=true]{background:var(--select-li-focus-bg,#e5e5ea)}._l_ogta0_29 li:last-child{border-bottom:0}._i_ogta0_105{width:var(--select-icon);height:var(--select-icon);color:var(--field-color);right:var(--select-icon-padding);top:var(--select-icon-padding);position:absolute}._placeholderValue_ogta0_115{color:var(--field-placeholder);font-weight:400}._f_ogta0_120{cursor:pointer}._f_ogta0_120[aria-disabled=true]{cursor:not-allowed}
@@ -1,4 +1,14 @@
1
1
  import { ReactNode } from 'react';
2
+ /** Контекст a11y: id контрола / подписи / ошибки для дочерних полей */
3
+ export type FieldA11y = {
4
+ controlId: string;
5
+ labelId: string;
6
+ errorId?: string;
7
+ /** `aria-describedby` при наличии ошибки */
8
+ describedBy?: string;
9
+ };
10
+ /** Хук: id и aria-связи текущего Field (внутри обёртки поля) */
11
+ export declare function useFieldA11y(): FieldA11y | null;
2
12
  interface Input {
3
13
  element_blok?: {
4
14
  className?: string[];
@@ -7,8 +17,10 @@ interface Input {
7
17
  className?: string[];
8
18
  props?: Record<string, unknown>;
9
19
  };
10
- /** Текст подписи поля (колонка `<dt>`) */
20
+ /** Текст подписи поля */
11
21
  label?: string;
22
+ /** id контрола (htmlFor у label); иначе генерируется */
23
+ id?: string;
12
24
  before?: ReactNode;
13
25
  type?: string;
14
26
  after?: ReactNode;
@@ -17,5 +29,5 @@ interface Input {
17
29
  /** sm | md — плотность (CSS --field-height) */
18
30
  size?: "sm" | "md";
19
31
  }
20
- declare const Field: ({ element_blok, element_input, type, label, error, before, after, children, size, }: Input) => import("react/jsx-runtime").JSX.Element;
32
+ declare const Field: ({ element_blok, element_input, type, label, id: idProp, error, before, after, children, size, }: Input) => import("react/jsx-runtime").JSX.Element;
21
33
  export default Field;