@elcrm/form 0.0.64 → 0.0.66
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.
- package/README.md +55 -27
- package/dist/core/Field.d.ts +3 -2
- package/dist/core/Field.js +1 -1
- package/dist/fields/Date.d.ts +2 -11
- package/dist/fields/Date.js +105 -98
- package/dist/fields/Input.d.ts +7 -22
- package/dist/fields/Input.js +110 -38
- package/dist/fields/Mask.d.ts +1 -1
- package/dist/fields/Mask.js +54 -48
- package/dist/fields/Modal.d.ts +7 -7
- package/dist/fields/Modal.js +37 -30
- package/dist/fields/Money.d.ts +8 -29
- package/dist/fields/Money.js +60 -53
- package/dist/fields/Numeric.d.ts +1 -1
- package/dist/fields/Numeric.js +46 -42
- package/dist/fields/Options.d.ts +9 -7
- package/dist/fields/Options.js +38 -32
- package/dist/fields/Password.d.ts +1 -1
- package/dist/fields/Password.js +90 -37
- package/dist/fields/Phone.d.ts +2 -20
- package/dist/fields/Phone.js +58 -55
- package/dist/fields/Range.d.ts +1 -1
- package/dist/fields/Range.js +74 -72
- package/dist/fields/Select.d.ts +1 -1
- package/dist/fields/Select.js +69 -66
- package/dist/fields/Textarea.d.ts +2 -22
- package/dist/fields/Textarea.js +37 -32
- package/dist/fields/Time.d.ts +1 -1
- package/dist/fields/Time.js +65 -63
- package/dist/fields/type.d.ts +50 -15
- package/dist/fields/visibility.d.ts +6 -0
- package/dist/fields/visibility.js +6 -0
- package/dist/hooks/use.d.ts +0 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +24 -22
- package/dist/loadBaseStyles.d.ts +2 -0
- package/dist/loadBaseStyles.js +9 -0
- package/dist/package.js +6 -1
- package/package.json +6 -1
- package/dist/index.umd.js +0 -2
- package/dist/style.css +0 -5
package/dist/fields/Textarea.js
CHANGED
|
@@ -2,46 +2,51 @@ import e from "../styles/Field.module.js";
|
|
|
2
2
|
import t from "../core/Field.js";
|
|
3
3
|
import { useFormFieldState as n } from "../hooks/use.js";
|
|
4
4
|
import r, { asEditableClipboard as i } from "../events/onEvent.js";
|
|
5
|
+
import { isEmptyTextLike as a } from "./visibility.js";
|
|
5
6
|
import "react";
|
|
6
|
-
import { Fragment as
|
|
7
|
+
import { Fragment as o, jsx as s, jsxs as c } from "react/jsx-runtime";
|
|
7
8
|
//#region src/lib/fields/Textarea.tsx
|
|
8
|
-
function
|
|
9
|
-
let { value:
|
|
9
|
+
function l({ value: l, form: u, onValue: d, name: f = "", placeholder: p = "", label: m = "", hidden: h = !1, disabled: g = !1, onBlur: _, className: v = "", after: y = "", before: b = "", error: x = "", inputmode: S = "text", maxLength: C, spellCheck: w = !0 }) {
|
|
10
|
+
let { value: T, version: E } = n(u, f || "", l), D = !g, O = (e) => {
|
|
10
11
|
let t = {
|
|
11
12
|
value: e.currentTarget.innerText,
|
|
12
|
-
name:
|
|
13
|
+
name: f || ""
|
|
13
14
|
};
|
|
14
|
-
|
|
15
|
-
},
|
|
15
|
+
u && f && u.onValue(t), d && d !== u?.onValue && d(t);
|
|
16
|
+
}, k = (e) => {
|
|
16
17
|
let t = (e.currentTarget.textContent ?? "").trim();
|
|
17
|
-
|
|
18
|
-
},
|
|
19
|
-
if (
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
return d && (k.placeholder = d), h && g && (k.edit = ""), /* @__PURE__ */ o(t, {
|
|
18
|
+
C && t.length >= C && e.key !== "Backspace" && e.preventDefault(), e.key === "Enter" && !e.shiftKey && e.preventDefault();
|
|
19
|
+
}, A = (e) => r.Paste(C || 0, i(e));
|
|
20
|
+
if (h && a(T)) return /* @__PURE__ */ s(o, {});
|
|
21
|
+
let j = {};
|
|
22
|
+
return p && (j.placeholder = p), D && (j.edit = ""), j.inputMode = S || "text", /* @__PURE__ */ c(t, {
|
|
23
23
|
type: "note",
|
|
24
|
-
|
|
25
|
-
error:
|
|
26
|
-
element_blok: { className: [
|
|
24
|
+
label: m,
|
|
25
|
+
error: x,
|
|
26
|
+
element_blok: { className: [v || ""] },
|
|
27
27
|
element_input: { className: [e.n] },
|
|
28
|
-
children:
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
28
|
+
children: [
|
|
29
|
+
b,
|
|
30
|
+
/* @__PURE__ */ s("div", {
|
|
31
|
+
onPaste: A,
|
|
32
|
+
onInput: O,
|
|
33
|
+
onBlur: (e) => {
|
|
34
|
+
r.Blur(e), _?.({
|
|
35
|
+
value: (e.currentTarget.textContent ?? "").trim(),
|
|
36
|
+
name: f || ""
|
|
37
|
+
});
|
|
38
|
+
},
|
|
39
|
+
onKeyDown: k,
|
|
40
|
+
spellCheck: w,
|
|
41
|
+
contentEditable: D ? "plaintext-only" : !1,
|
|
42
|
+
suppressContentEditableWarning: !0,
|
|
43
|
+
...j,
|
|
44
|
+
children: T
|
|
45
|
+
}, E),
|
|
46
|
+
y
|
|
47
|
+
]
|
|
43
48
|
});
|
|
44
49
|
}
|
|
45
|
-
|
|
50
|
+
l.displayName = "TextareaField";
|
|
46
51
|
//#endregion
|
|
47
|
-
export {
|
|
52
|
+
export { l as default };
|
package/dist/fields/Time.d.ts
CHANGED
|
@@ -19,7 +19,7 @@ export type TTime = TInput & {
|
|
|
19
19
|
* Пока фокус в группе — в DOM только введённые цифры без ведущих нулей; в форму значение
|
|
20
20
|
* уходит при уходе фокуса с группы (snap минут, clamp, формат `HH:mm`).
|
|
21
21
|
*/
|
|
22
|
-
declare function TimeField({ value, form, onValue: _onValue,
|
|
22
|
+
declare function TimeField({ value, form, onValue: _onValue, onBlur: onBlurField, name, placeholder, label, hidden, disabled, error, className, after, before, step, min, max, id, spellCheck, align, }: TTime): import("react/jsx-runtime").JSX.Element | null;
|
|
23
23
|
declare namespace TimeField {
|
|
24
24
|
var displayName: string;
|
|
25
25
|
}
|
package/dist/fields/Time.js
CHANGED
|
@@ -82,8 +82,8 @@ function _(e, t, n) {
|
|
|
82
82
|
}
|
|
83
83
|
return p(Math.floor(i / 60), i % 60);
|
|
84
84
|
}
|
|
85
|
-
function v({ value: h = "", form: v, onValue: ee,
|
|
86
|
-
let { value: P, version: F } = n(v, b, h), I = d(P), L =
|
|
85
|
+
function v({ value: h = "", form: v, onValue: ee, onBlur: y, name: b = "", placeholder: x = "", label: S = "", hidden: C = !1, disabled: w = !1, error: T = "", className: E = "", after: D = "", before: te = "", step: O = 60, min: k, max: A, id: j, spellCheck: M = !1, align: N = "start" }) {
|
|
86
|
+
let { value: P, version: F } = n(v, b, h), I = d(P), L = !w, R = i.useRef(null), z = i.useRef(null), B = i.useRef(null), [V, H] = i.useState(!1);
|
|
87
87
|
i.useLayoutEffect(() => {
|
|
88
88
|
if (!V || !L) return;
|
|
89
89
|
let { h: e, m: t } = f(I), n = (e, t) => {
|
|
@@ -102,11 +102,11 @@ function v({ value: h = "", form: v, onValue: ee, onSave: y, name: b = "", title
|
|
|
102
102
|
let n = p(e, t);
|
|
103
103
|
if (!n) return "";
|
|
104
104
|
let { h: r, m: i } = f(n);
|
|
105
|
-
return i !== null && (n = p(r, g(i,
|
|
105
|
+
return i !== null && (n = p(r, g(i, O))), n &&= _(n, k, A), n || "";
|
|
106
106
|
}, [
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
107
|
+
k,
|
|
108
|
+
A,
|
|
109
|
+
O
|
|
110
110
|
]), W = (e) => (t) => {
|
|
111
111
|
if (t.preventDefault(), !L) return;
|
|
112
112
|
let n = u(t.clipboardData?.getData("text/plain") ?? ""), r = e === "hour" ? 23 : 59;
|
|
@@ -167,8 +167,7 @@ function v({ value: h = "", form: v, onValue: ee, onSave: y, name: b = "", title
|
|
|
167
167
|
let r = U();
|
|
168
168
|
v && b && v.setValue({
|
|
169
169
|
name: b,
|
|
170
|
-
value: r
|
|
171
|
-
reload: j
|
|
170
|
+
value: r
|
|
172
171
|
}), y && b && y({
|
|
173
172
|
value: r,
|
|
174
173
|
name: b
|
|
@@ -179,72 +178,75 @@ function v({ value: h = "", form: v, onValue: ee, onSave: y, name: b = "", title
|
|
|
179
178
|
v,
|
|
180
179
|
b,
|
|
181
180
|
y,
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
j,
|
|
181
|
+
k,
|
|
182
|
+
A,
|
|
183
|
+
O,
|
|
186
184
|
U
|
|
187
185
|
]);
|
|
188
186
|
let { h: Z, m: Q } = f(I), $ = {};
|
|
189
|
-
return
|
|
187
|
+
return x && ($.placeholder = x), L && ($.edit = ""), C && I === "" ? null : /* @__PURE__ */ o(t, {
|
|
190
188
|
type: "time",
|
|
191
|
-
|
|
192
|
-
error:
|
|
193
|
-
element_blok: { className: [
|
|
189
|
+
label: S,
|
|
190
|
+
error: T,
|
|
191
|
+
element_blok: { className: [E || ""] },
|
|
194
192
|
element_input: {
|
|
195
193
|
className: [
|
|
196
194
|
e.w,
|
|
197
195
|
e.time,
|
|
198
196
|
N === "center" ? e.timeAlignCenter : ""
|
|
199
197
|
].filter(Boolean),
|
|
200
|
-
props: { "data-disabled":
|
|
198
|
+
props: { "data-disabled": w || !L ? "true" : void 0 }
|
|
201
199
|
},
|
|
202
|
-
children:
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
200
|
+
children: [
|
|
201
|
+
te,
|
|
202
|
+
/* @__PURE__ */ o("div", {
|
|
203
|
+
ref: B,
|
|
204
|
+
className: e.timeInner,
|
|
205
|
+
role: "group",
|
|
206
|
+
"aria-label": S || "Время",
|
|
207
|
+
children: [
|
|
208
|
+
/* @__PURE__ */ a("div", {
|
|
209
|
+
id: j,
|
|
210
|
+
ref: R,
|
|
211
|
+
className: e.timePart,
|
|
212
|
+
contentEditable: L ? "plaintext-only" : !1,
|
|
213
|
+
suppressContentEditableWarning: !0,
|
|
214
|
+
spellCheck: M,
|
|
215
|
+
inputMode: "numeric",
|
|
216
|
+
onPaste: W("hour"),
|
|
217
|
+
onInput: G,
|
|
218
|
+
onKeyDown: q,
|
|
219
|
+
onFocus: Y,
|
|
220
|
+
onBlur: X,
|
|
221
|
+
"aria-label": "Часы, 0–23",
|
|
222
|
+
...$,
|
|
223
|
+
children: !L || !V ? Z === null ? "" : l(Z) : null
|
|
224
|
+
}),
|
|
225
|
+
/* @__PURE__ */ a("span", {
|
|
226
|
+
className: e.timeSep,
|
|
227
|
+
"aria-hidden": "true",
|
|
228
|
+
children: ":"
|
|
229
|
+
}),
|
|
230
|
+
/* @__PURE__ */ a("div", {
|
|
231
|
+
ref: z,
|
|
232
|
+
className: e.timePart,
|
|
233
|
+
contentEditable: L ? "plaintext-only" : !1,
|
|
234
|
+
suppressContentEditableWarning: !0,
|
|
235
|
+
spellCheck: M,
|
|
236
|
+
inputMode: "numeric",
|
|
237
|
+
onPaste: W("minute"),
|
|
238
|
+
onInput: K,
|
|
239
|
+
onKeyDown: J,
|
|
240
|
+
onFocus: Y,
|
|
241
|
+
onBlur: X,
|
|
242
|
+
"aria-label": "Минуты, 0–59",
|
|
243
|
+
...$,
|
|
244
|
+
children: !L || !V ? Q === null ? "" : l(Q) : null
|
|
245
|
+
})
|
|
246
|
+
]
|
|
247
|
+
}, F),
|
|
248
|
+
D
|
|
249
|
+
]
|
|
248
250
|
});
|
|
249
251
|
}
|
|
250
252
|
v.displayName = "TimeField";
|
package/dist/fields/type.d.ts
CHANGED
|
@@ -1,42 +1,77 @@
|
|
|
1
1
|
import { ReactNode } from 'react';
|
|
2
2
|
import { UseFormApi } from '../hooks/use';
|
|
3
|
-
|
|
3
|
+
/** Связь с формой и колбэки значения */
|
|
4
|
+
export type TFieldFormBindings = {
|
|
4
5
|
value?: unknown;
|
|
5
6
|
form?: UseFormApi;
|
|
6
7
|
onValue?: (data: TValue) => void | Promise<void>;
|
|
7
|
-
|
|
8
|
+
/** Колбэк при потере фокуса (коммит значения), не нативный `FocusEvent` */
|
|
9
|
+
onBlur?: (data: TValue) => void | Promise<void>;
|
|
8
10
|
name?: string;
|
|
9
|
-
|
|
10
|
-
|
|
11
|
+
};
|
|
12
|
+
/** Подпись, доступность, видимость */
|
|
13
|
+
export type TFieldPresentation = {
|
|
14
|
+
/** Подпись поля (визуально в `<dt>`) */
|
|
11
15
|
label?: string;
|
|
16
|
+
placeholder?: string;
|
|
17
|
+
/** true — только просмотр, без ввода (аналог нативного disabled) */
|
|
12
18
|
disabled?: boolean;
|
|
19
|
+
/**
|
|
20
|
+
* true — если значение поля **пустое**, поле не рендерится;
|
|
21
|
+
* при непустом значении поле показывается.
|
|
22
|
+
*/
|
|
23
|
+
hidden?: boolean;
|
|
13
24
|
error?: string;
|
|
14
|
-
hide?: boolean;
|
|
15
|
-
edit?: boolean;
|
|
16
|
-
active?: boolean;
|
|
17
25
|
after?: ReactNode;
|
|
18
26
|
before?: ReactNode;
|
|
19
|
-
show?: boolean;
|
|
20
27
|
view?: string;
|
|
21
28
|
id?: string;
|
|
22
29
|
className?: string;
|
|
23
30
|
isCopy?: boolean;
|
|
24
31
|
maxLength?: number;
|
|
25
|
-
|
|
32
|
+
/**
|
|
33
|
+
* Проверка орфографии для **текстового** ввода (`Input`, `Textarea`).
|
|
34
|
+
* Для полей только с цифрами в компонентах выставляется **`false`**.
|
|
35
|
+
*/
|
|
26
36
|
spellCheck?: boolean;
|
|
37
|
+
/**
|
|
38
|
+
* Подсказка клавиатуры на мобильных (`inputMode`).
|
|
39
|
+
* Для **чисел** — `numeric`, для **денег** — `decimal`, **телефон** — `tel` (по умолчанию в полях).
|
|
40
|
+
*/
|
|
27
41
|
inputmode?: "text" | "email" | "none" | "tel" | "url" | "search" | "numeric" | "decimal";
|
|
42
|
+
/**
|
|
43
|
+
* Нативный `<input>` вместо **contentEditable** (`StringField`).
|
|
44
|
+
* Нужен для **автозаполнения логина/почты** (менеджеры паролей работают с нативными полями).
|
|
45
|
+
* У **`PasswordField`** свой проп **`native`** (см. **`TPasswordField`**).
|
|
46
|
+
*/
|
|
47
|
+
native?: boolean;
|
|
48
|
+
/**
|
|
49
|
+
* Атрибут **`autocomplete`** (например **`username`**, **`email`**, **`off`**).
|
|
50
|
+
* Осмысленно при **`native`**; у `contentEditable` браузеры почти не применяют автозаполнение.
|
|
51
|
+
*/
|
|
52
|
+
autoComplete?: string;
|
|
53
|
+
/**
|
|
54
|
+
* Тип нативного поля при **`native`** (по умолчанию **`text`**).
|
|
55
|
+
* Для почты удобно **`email`** + **`autoComplete="email"`**.
|
|
56
|
+
*/
|
|
57
|
+
inputType?: "text" | "email" | "search" | "tel" | "url";
|
|
28
58
|
};
|
|
59
|
+
/** Базовые пропы текстовых и составных полей */
|
|
60
|
+
export type TInput = TFieldFormBindings & TFieldPresentation;
|
|
29
61
|
export type TValue = {
|
|
30
62
|
value: unknown;
|
|
31
63
|
name: string;
|
|
32
|
-
reload?: boolean;
|
|
33
64
|
id?: string;
|
|
34
65
|
};
|
|
35
|
-
/**
|
|
36
|
-
|
|
66
|
+
/**
|
|
67
|
+
* Поле пароля: **`native`** из `TInput` убран — здесь свой **`native`** = «не рендерить поле».
|
|
68
|
+
*/
|
|
69
|
+
export type TPasswordField = Omit<TInput, "native"> & {
|
|
70
|
+
/** true — компонент не рендерится (пустая строка), пароль отдаётся нативному `<input>` снаружи */
|
|
37
71
|
native?: boolean;
|
|
38
|
-
/**
|
|
39
|
-
|
|
40
|
-
|
|
72
|
+
/**
|
|
73
|
+
* Свои иконки переключателя **[показать пароль, скрыть пароль]** (когда ввод скрыт / виден).
|
|
74
|
+
* Если не задано — используются встроенные SVG.
|
|
75
|
+
*/
|
|
41
76
|
eyes?: [React.ReactNode?, React.ReactNode?];
|
|
42
77
|
};
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Проверка «пустого» значения для режима **`hidden`**:
|
|
3
|
+
* при **`hidden === true`** поле не рендерится только если значение пустое.
|
|
4
|
+
*/
|
|
5
|
+
/** Строки и необработанный ввод (в т.ч. `contentEditable`) */
|
|
6
|
+
export declare function isEmptyTextLike(value: unknown): boolean;
|
package/dist/hooks/use.d.ts
CHANGED
package/dist/index.d.ts
CHANGED
|
@@ -14,7 +14,7 @@ export { default as SelectField } from './fields/Select';
|
|
|
14
14
|
export { default as ModalField } from './fields/Modal';
|
|
15
15
|
export { default as PasswordField } from './fields/Password';
|
|
16
16
|
export { useForm, useFormField, useFormFieldState } from './hooks/use';
|
|
17
|
-
export type { TInput, TValue, TPasswordField } from './fields/type';
|
|
17
|
+
export type { TInput, TValue, TPasswordField, TFieldFormBindings, TFieldPresentation, } from './fields/type';
|
|
18
18
|
export type { TRange, TProgress } from './fields/Range';
|
|
19
19
|
export type { TTime } from './fields/Time';
|
|
20
20
|
export type { FormValues, UseFormApi, UseFormFieldStateResult, } from './hooks/use';
|
package/dist/index.js
CHANGED
|
@@ -1,26 +1,28 @@
|
|
|
1
|
-
import e from "./
|
|
2
|
-
import
|
|
3
|
-
import i from "./
|
|
4
|
-
import
|
|
5
|
-
import o from "./
|
|
6
|
-
import s from "./fields/
|
|
7
|
-
import c from "./fields/
|
|
8
|
-
import l from "./fields/
|
|
9
|
-
import u from "./fields/
|
|
10
|
-
import
|
|
11
|
-
import f from "./
|
|
12
|
-
import p from "./fields/
|
|
13
|
-
import m from "./fields/
|
|
14
|
-
import h from "./fields/
|
|
15
|
-
import g from "./fields/
|
|
16
|
-
import _ from "./fields/
|
|
17
|
-
import v from "./fields/
|
|
18
|
-
import
|
|
1
|
+
import { markBaseStylesLoaded as e } from "./loadBaseStyles.js";
|
|
2
|
+
import t from "./package.js";
|
|
3
|
+
import { useForm as n, useFormField as r, useFormFieldState as i } from "./hooks/use.js";
|
|
4
|
+
import a from "./fields/Range.js";
|
|
5
|
+
import { asEditableClipboard as o } from "./events/onEvent.js";
|
|
6
|
+
import s from "./fields/Money.js";
|
|
7
|
+
import c from "./fields/Mask.js";
|
|
8
|
+
import l from "./fields/Date.js";
|
|
9
|
+
import u from "./fields/Time.js";
|
|
10
|
+
import d from "./fields/Textarea.js";
|
|
11
|
+
import { useFormInit as f } from "./FormInitContext.js";
|
|
12
|
+
import p from "./fields/Phone.js";
|
|
13
|
+
import m from "./fields/Input.js";
|
|
14
|
+
import h from "./fields/Numeric.js";
|
|
15
|
+
import g from "./fields/Options.js";
|
|
16
|
+
import _ from "./fields/Select.js";
|
|
17
|
+
import v from "./fields/Modal.js";
|
|
18
|
+
import y from "./fields/Password.js";
|
|
19
|
+
import { Form as b } from "./Form.js";
|
|
19
20
|
//#region src/lib/index.ts
|
|
20
|
-
|
|
21
|
+
e();
|
|
22
|
+
function x() {
|
|
21
23
|
return typeof globalThis < "u" ? globalThis : typeof window < "u" ? window : typeof self < "u" ? self : {};
|
|
22
24
|
}
|
|
23
|
-
var
|
|
24
|
-
|
|
25
|
+
var S = x();
|
|
26
|
+
S.elcrm ||= {}, Object.assign(S.elcrm, { form: t.version });
|
|
25
27
|
//#endregion
|
|
26
|
-
export {
|
|
28
|
+
export { l as DateField, b as Form, c as MaskField, v as ModalField, s as MoneyField, h as NumberField, g as OptionsField, y as PasswordField, p as PhoneField, a as ProgressField, a as RangeField, _ as SelectField, m as StringField, d as TextareaField, u as TimeField, o as asEditableClipboard, n as useForm, r as useFormField, i as useFormFieldState, f as useFormInit };
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import e from "./styles/Field.module.js";
|
|
2
|
+
import t from "./styles/Form.module.js";
|
|
3
|
+
import n from "./styles/Select.module.js";
|
|
4
|
+
//#region src/lib/loadBaseStyles.ts
|
|
5
|
+
function r() {
|
|
6
|
+
return e.l, t.o, n.f, !0;
|
|
7
|
+
}
|
|
8
|
+
//#endregion
|
|
9
|
+
export { r as markBaseStylesLoaded };
|
package/dist/package.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
var e = {
|
|
2
2
|
name: "@elcrm/form",
|
|
3
|
-
version: "0.0.
|
|
3
|
+
version: "0.0.66",
|
|
4
4
|
description: "React-компоненты полей формы и хук useForm для elCRM: текст, даты, маски, деньги, селект, связка с формой по имени поля (tree-shakeable ESM).",
|
|
5
5
|
type: "module",
|
|
6
6
|
author: "MaSkal <dev@elcrm.online>",
|
|
@@ -11,6 +11,11 @@ var e = {
|
|
|
11
11
|
"form",
|
|
12
12
|
"react"
|
|
13
13
|
],
|
|
14
|
+
sideEffects: [
|
|
15
|
+
"**/*.css",
|
|
16
|
+
"**/*.scss",
|
|
17
|
+
"**/*.module.scss"
|
|
18
|
+
],
|
|
14
19
|
main: "./dist/index.umd.js",
|
|
15
20
|
module: "./dist/index.js",
|
|
16
21
|
types: "./dist/index.d.ts",
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@elcrm/form",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.66",
|
|
4
4
|
"description": "React-компоненты полей формы и хук useForm для elCRM: текст, даты, маски, деньги, селект, связка с формой по имени поля (tree-shakeable ESM).",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"author": "MaSkal <dev@elcrm.online>",
|
|
@@ -14,6 +14,11 @@
|
|
|
14
14
|
"form",
|
|
15
15
|
"react"
|
|
16
16
|
],
|
|
17
|
+
"sideEffects": [
|
|
18
|
+
"**/*.css",
|
|
19
|
+
"**/*.scss",
|
|
20
|
+
"**/*.module.scss"
|
|
21
|
+
],
|
|
17
22
|
"main": "./dist/index.umd.js",
|
|
18
23
|
"module": "./dist/index.js",
|
|
19
24
|
"types": "./dist/index.d.ts",
|