@elcrm/form 0.0.76 → 0.0.79
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/LICENSE +21 -0
- package/README.md +40 -13
- package/dist/assets/styles/Color.module.css +1 -0
- package/dist/core/Field.js +1 -1
- package/{src/lib/styles → dist}/dark.css +5 -0
- package/dist/fields/Color.d.ts +24 -0
- package/dist/fields/Color.js +449 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.js +7 -6
- package/dist/index.umd.js +2 -2
- package/{src/lib/styles → dist}/light.css +5 -0
- package/dist/package.js +41 -15
- package/dist/style.css +2 -0
- package/dist/styles/Color.module.js +27 -0
- package/package.json +51 -16
- package/src/lib/styles/Field.module.scss +0 -434
- package/src/lib/styles/Form.module.scss +0 -313
- package/src/lib/styles/Select.module.scss +0 -107
|
@@ -0,0 +1,449 @@
|
|
|
1
|
+
import e from "../styles/Field.module.js";
|
|
2
|
+
import t from "../core/Field.js";
|
|
3
|
+
import { useFormFieldState as n } from "../hooks/use.js";
|
|
4
|
+
import r from "../styles/Color.module.js";
|
|
5
|
+
import i from "react";
|
|
6
|
+
import { Fragment as a, jsx as o, jsxs as s } from "react/jsx-runtime";
|
|
7
|
+
import { createPortal as c } from "react-dom";
|
|
8
|
+
//#region src/lib/fields/Color.tsx
|
|
9
|
+
var l = /* @__PURE__ */ "#FF2D55.#FF3B30.#FF453A.#FF6961.#FF8A80.#C11F3E.#AF52DE.#BF5AF2.#DA8FFF.#5856D6.#5E5CE6.#7D7AFF.#007AFF.#0A84FF.#409CFF.#64D2FF.#70D7FF.#5AC8FA.#32ADE6.#64D2FF.#40C8E0.#00C7BE.#63E6E2.#66D4CF.#34C759.#30D158.#30DB5B.#4CD964.#6DE6A0.#8EEDB3.#A8E10C.#B5F200.#D0FF00.#E4FF66.#F2FF99.#C6FF00.#FFCC00.#FFD60A.#FFEA00.#FFE066.#FFF3A3.#FFEB3B.#FF9500.#FF9F0A.#FFB340.#FFB340.#FFD580.#FF8C00.#A2845E.#AC8E68.#C4A484.#8E8E93.#636366.#48484A.#3A3A3C.#2C2C2E.#1C1C1E".split(".");
|
|
10
|
+
function u(e, t, n) {
|
|
11
|
+
return Math.min(n, Math.max(t, e));
|
|
12
|
+
}
|
|
13
|
+
function d(e) {
|
|
14
|
+
return Math.round(u(e, 0, 255)).toString(16).padStart(2, "0").toUpperCase();
|
|
15
|
+
}
|
|
16
|
+
function f(e, t, n) {
|
|
17
|
+
let r = (e % 360 + 360) % 360, i = n * t, a = i * (1 - Math.abs(r / 60 % 2 - 1)), o = n - i, s = 0, c = 0, l = 0;
|
|
18
|
+
return r < 60 ? [s, c, l] = [
|
|
19
|
+
i,
|
|
20
|
+
a,
|
|
21
|
+
0
|
|
22
|
+
] : r < 120 ? [s, c, l] = [
|
|
23
|
+
a,
|
|
24
|
+
i,
|
|
25
|
+
0
|
|
26
|
+
] : r < 180 ? [s, c, l] = [
|
|
27
|
+
0,
|
|
28
|
+
i,
|
|
29
|
+
a
|
|
30
|
+
] : r < 240 ? [s, c, l] = [
|
|
31
|
+
0,
|
|
32
|
+
a,
|
|
33
|
+
i
|
|
34
|
+
] : r < 300 ? [s, c, l] = [
|
|
35
|
+
a,
|
|
36
|
+
0,
|
|
37
|
+
i
|
|
38
|
+
] : [s, c, l] = [
|
|
39
|
+
i,
|
|
40
|
+
0,
|
|
41
|
+
a
|
|
42
|
+
], {
|
|
43
|
+
r: (s + o) * 255,
|
|
44
|
+
g: (c + o) * 255,
|
|
45
|
+
b: (l + o) * 255
|
|
46
|
+
};
|
|
47
|
+
}
|
|
48
|
+
function p(e, t, n) {
|
|
49
|
+
let r = e / 255, i = t / 255, a = n / 255, o = Math.max(r, i, a), s = o - Math.min(r, i, a), c = 0;
|
|
50
|
+
s !== 0 && (c = o === r ? (i - a) / s % 6 : o === i ? (a - r) / s + 2 : (r - i) / s + 4, c *= 60, c < 0 && (c += 360));
|
|
51
|
+
let l = o === 0 ? 0 : s / o;
|
|
52
|
+
return {
|
|
53
|
+
h: c,
|
|
54
|
+
s: l,
|
|
55
|
+
v: o
|
|
56
|
+
};
|
|
57
|
+
}
|
|
58
|
+
function m(e) {
|
|
59
|
+
if (typeof e != "string") return null;
|
|
60
|
+
let t = e.trim();
|
|
61
|
+
if (!t || (t[0] === "#" && (t = t.slice(1)), ![
|
|
62
|
+
3,
|
|
63
|
+
4,
|
|
64
|
+
6,
|
|
65
|
+
8
|
|
66
|
+
].includes(t.length)) || !/^[0-9a-fA-F]+$/.test(t)) return null;
|
|
67
|
+
let n = 0, r = 0, i = 0, a = 1;
|
|
68
|
+
return t.length === 3 || t.length === 4 ? (n = parseInt(t[0] + t[0], 16), r = parseInt(t[1] + t[1], 16), i = parseInt(t[2] + t[2], 16), t.length === 4 && (a = parseInt(t[3] + t[3], 16) / 255)) : (n = parseInt(t.slice(0, 2), 16), r = parseInt(t.slice(2, 4), 16), i = parseInt(t.slice(4, 6), 16), t.length === 8 && (a = parseInt(t.slice(6, 8), 16) / 255)), {
|
|
69
|
+
...p(n, r, i),
|
|
70
|
+
a
|
|
71
|
+
};
|
|
72
|
+
}
|
|
73
|
+
function h(e, t) {
|
|
74
|
+
let { r: n, g: r, b: i } = f(e.h, e.s, e.v), a = `#${d(n)}${d(r)}${d(i)}`;
|
|
75
|
+
return !t || e.a >= .999 ? a : `${a}${d(e.a * 255)}`;
|
|
76
|
+
}
|
|
77
|
+
function g(e) {
|
|
78
|
+
let { r: t, g: n, b: r } = f(e.h, e.s, e.v);
|
|
79
|
+
return e.a >= .999 ? `rgb(${t},${n},${r})` : `rgba(${t},${n},${r},${e.a})`;
|
|
80
|
+
}
|
|
81
|
+
function _(e) {
|
|
82
|
+
let { r: t, g: n, b: r } = f(e, 1, 1);
|
|
83
|
+
return `rgb(${Math.round(t)},${Math.round(n)},${Math.round(r)})`;
|
|
84
|
+
}
|
|
85
|
+
function v(e) {
|
|
86
|
+
let t = m(e);
|
|
87
|
+
return t ? h(t, t.a < .999) : e.toUpperCase();
|
|
88
|
+
}
|
|
89
|
+
function y(e) {
|
|
90
|
+
return e == null ? !0 : typeof e == "string" ? e.trim() === "" : !1;
|
|
91
|
+
}
|
|
92
|
+
function b() {
|
|
93
|
+
return typeof window < "u" && "EyeDropper" in window;
|
|
94
|
+
}
|
|
95
|
+
var x = {
|
|
96
|
+
h: 0,
|
|
97
|
+
s: 1,
|
|
98
|
+
v: .76,
|
|
99
|
+
a: 1
|
|
100
|
+
};
|
|
101
|
+
function S({ value: u = "", form: d, onValue: f, onBlur: p, name: _ = "", placeholder: v = "#000000", label: b = "", error: S = "", hidden: w = !1, disabled: T = !1, className: E = "", after: D = "", before: O = "", colors: k, alpha: A = !0 }) {
|
|
102
|
+
let { value: j } = n(d, _, u), M = typeof j == "string" ? j : j == null ? "" : String(j), [N, P] = i.useState(!1), [F, I] = i.useState(null), [L, R] = i.useState(() => m(M) ?? { ...x }), [z, B] = i.useState(() => h(m(M) ?? x, A)), V = k?.length ? k : l, H = m(M), U = H ? h(H, A) : "", W = H ? g(H) : "transparent";
|
|
103
|
+
i.useEffect(() => {
|
|
104
|
+
if (!N) return;
|
|
105
|
+
let e = m(M);
|
|
106
|
+
e && (R(e), B(h(e, A)));
|
|
107
|
+
}, [
|
|
108
|
+
M,
|
|
109
|
+
N,
|
|
110
|
+
A
|
|
111
|
+
]);
|
|
112
|
+
let G = i.useCallback((e, t) => {
|
|
113
|
+
let n = h(e, A), r = {
|
|
114
|
+
value: n,
|
|
115
|
+
name: _ || ""
|
|
116
|
+
};
|
|
117
|
+
d && _ && (t === "live" ? d.onValue(r) : d.setValue(r)), f && f !== d?.onValue && f(r), B(n);
|
|
118
|
+
}, [
|
|
119
|
+
A,
|
|
120
|
+
d,
|
|
121
|
+
_,
|
|
122
|
+
f
|
|
123
|
+
]), K = (e) => {
|
|
124
|
+
if (T) return;
|
|
125
|
+
let t = m(M) ?? { ...L };
|
|
126
|
+
R(t), B(h(t, A)), I(e.getBoundingClientRect()), P(!0);
|
|
127
|
+
}, q = () => {
|
|
128
|
+
P(!1), p?.({
|
|
129
|
+
value: h(L, A),
|
|
130
|
+
name: _ || ""
|
|
131
|
+
});
|
|
132
|
+
}, J = (e) => {
|
|
133
|
+
if (!T) {
|
|
134
|
+
if (!N && (e.key === "Enter" || e.key === " " || e.key === "ArrowDown")) {
|
|
135
|
+
e.preventDefault(), K(e.currentTarget);
|
|
136
|
+
return;
|
|
137
|
+
}
|
|
138
|
+
N && e.key === "Escape" && (e.preventDefault(), q());
|
|
139
|
+
}
|
|
140
|
+
};
|
|
141
|
+
return w && y(M) ? null : /* @__PURE__ */ s(a, { children: [/* @__PURE__ */ s(t, {
|
|
142
|
+
type: "color",
|
|
143
|
+
label: b,
|
|
144
|
+
error: S,
|
|
145
|
+
element_blok: { className: [E || ""] },
|
|
146
|
+
element_input: {
|
|
147
|
+
className: [e.w],
|
|
148
|
+
props: { "data-disabled": T ? "true" : void 0 }
|
|
149
|
+
},
|
|
150
|
+
children: [
|
|
151
|
+
O ? /* @__PURE__ */ o("span", {
|
|
152
|
+
className: e.affix,
|
|
153
|
+
children: O
|
|
154
|
+
}) : null,
|
|
155
|
+
/* @__PURE__ */ s("div", {
|
|
156
|
+
className: r.trigger,
|
|
157
|
+
role: "combobox",
|
|
158
|
+
tabIndex: T ? -1 : 0,
|
|
159
|
+
"aria-expanded": N,
|
|
160
|
+
"aria-haspopup": "dialog",
|
|
161
|
+
"aria-disabled": T,
|
|
162
|
+
"aria-label": b || "Цвет",
|
|
163
|
+
onClick: (e) => K(e.currentTarget),
|
|
164
|
+
onKeyDown: J,
|
|
165
|
+
children: [/* @__PURE__ */ o("span", {
|
|
166
|
+
className: r.preview,
|
|
167
|
+
style: { "--preview-color": W }
|
|
168
|
+
}), /* @__PURE__ */ o("span", {
|
|
169
|
+
className: [r.hexText, U ? "" : r.placeholder].filter(Boolean).join(" "),
|
|
170
|
+
children: U || v
|
|
171
|
+
})]
|
|
172
|
+
}),
|
|
173
|
+
D ? /* @__PURE__ */ o("span", {
|
|
174
|
+
className: e.affix,
|
|
175
|
+
children: D
|
|
176
|
+
}) : null
|
|
177
|
+
]
|
|
178
|
+
}), N && c(/* @__PURE__ */ o(C, {
|
|
179
|
+
parent: F || void 0,
|
|
180
|
+
hsva: L,
|
|
181
|
+
setHsva: R,
|
|
182
|
+
hexDraft: z,
|
|
183
|
+
setHexDraft: B,
|
|
184
|
+
alpha: A,
|
|
185
|
+
palette: V,
|
|
186
|
+
onLive: (e) => G(e, "live"),
|
|
187
|
+
onCommit: (e) => G(e, "commit"),
|
|
188
|
+
onClose: q
|
|
189
|
+
}), document.body)] });
|
|
190
|
+
}
|
|
191
|
+
S.displayName = "ColorField";
|
|
192
|
+
function C({ parent: e, hsva: t, setHsva: n, hexDraft: i, setHexDraft: c, alpha: l, palette: d, onLive: f, onCommit: p, onClose: _ }) {
|
|
193
|
+
if (!e) return null;
|
|
194
|
+
let y = l ? 340 : 300, x = window.innerHeight - e.bottom < y + 8 ? Math.max(8, e.top - y - 8) : Math.min(window.innerHeight - y - 8, e.bottom + 8), S = Math.min(Math.max(8, e.left), window.innerWidth - 260 - 8), C = g({
|
|
195
|
+
...t,
|
|
196
|
+
a: 1
|
|
197
|
+
}), D = v(h(t, l)), k = (e, t) => {
|
|
198
|
+
n(e), t === "live" ? f(e) : p(e);
|
|
199
|
+
}, A = () => {
|
|
200
|
+
let e = m(i);
|
|
201
|
+
if (!e) {
|
|
202
|
+
c(h(t, l));
|
|
203
|
+
return;
|
|
204
|
+
}
|
|
205
|
+
k(e, "commit");
|
|
206
|
+
}, j = (e) => {
|
|
207
|
+
let n = e.replace(/[^\d]/g, ""), r = u(Number(n || 0), 0, 100);
|
|
208
|
+
k({
|
|
209
|
+
...t,
|
|
210
|
+
a: r / 100
|
|
211
|
+
}, "commit");
|
|
212
|
+
}, M = async () => {
|
|
213
|
+
if (b()) try {
|
|
214
|
+
let e = window.EyeDropper, n = m((await new e().open()).sRGBHex);
|
|
215
|
+
n && k({
|
|
216
|
+
...n,
|
|
217
|
+
a: t.a
|
|
218
|
+
}, "commit");
|
|
219
|
+
} catch {}
|
|
220
|
+
};
|
|
221
|
+
return /* @__PURE__ */ s(a, { children: [/* @__PURE__ */ o("div", {
|
|
222
|
+
className: r.o,
|
|
223
|
+
onClick: _,
|
|
224
|
+
"aria-hidden": !0
|
|
225
|
+
}), /* @__PURE__ */ s("div", {
|
|
226
|
+
className: r.panel,
|
|
227
|
+
role: "dialog",
|
|
228
|
+
"aria-label": "Выбор цвета",
|
|
229
|
+
style: {
|
|
230
|
+
top: x,
|
|
231
|
+
left: S,
|
|
232
|
+
width: 260
|
|
233
|
+
},
|
|
234
|
+
children: [
|
|
235
|
+
/* @__PURE__ */ o(w, {
|
|
236
|
+
hsva: t,
|
|
237
|
+
onChange: (e, n, r) => k({
|
|
238
|
+
...t,
|
|
239
|
+
s: e,
|
|
240
|
+
v: n
|
|
241
|
+
}, r)
|
|
242
|
+
}),
|
|
243
|
+
/* @__PURE__ */ s("div", {
|
|
244
|
+
className: r.slidersRow,
|
|
245
|
+
children: [b() ? /* @__PURE__ */ o("button", {
|
|
246
|
+
type: "button",
|
|
247
|
+
className: r.eyedropper,
|
|
248
|
+
"aria-label": "Пипетка",
|
|
249
|
+
onClick: M,
|
|
250
|
+
children: /* @__PURE__ */ o(O, {})
|
|
251
|
+
}) : null, /* @__PURE__ */ s("div", {
|
|
252
|
+
className: r.sliders,
|
|
253
|
+
children: [/* @__PURE__ */ o(T, {
|
|
254
|
+
h: t.h,
|
|
255
|
+
onChange: (e, n) => k({
|
|
256
|
+
...t,
|
|
257
|
+
h: e
|
|
258
|
+
}, n)
|
|
259
|
+
}), l ? /* @__PURE__ */ o(E, {
|
|
260
|
+
a: t.a,
|
|
261
|
+
color: C,
|
|
262
|
+
onChange: (e, n) => k({
|
|
263
|
+
...t,
|
|
264
|
+
a: e
|
|
265
|
+
}, n)
|
|
266
|
+
}) : null]
|
|
267
|
+
})]
|
|
268
|
+
}),
|
|
269
|
+
/* @__PURE__ */ s("div", {
|
|
270
|
+
className: r.inputs,
|
|
271
|
+
children: [
|
|
272
|
+
/* @__PURE__ */ o("span", {
|
|
273
|
+
className: r.format,
|
|
274
|
+
children: "Hex"
|
|
275
|
+
}),
|
|
276
|
+
/* @__PURE__ */ o("input", {
|
|
277
|
+
className: r.input,
|
|
278
|
+
value: i.replace(/^#/, ""),
|
|
279
|
+
spellCheck: !1,
|
|
280
|
+
"aria-label": "Hex",
|
|
281
|
+
onChange: (e) => {
|
|
282
|
+
let t = e.target.value.replace(/[^0-9a-fA-F]/g, "");
|
|
283
|
+
c(t ? `#${t}` : "");
|
|
284
|
+
},
|
|
285
|
+
onBlur: A,
|
|
286
|
+
onKeyDown: (e) => {
|
|
287
|
+
e.key === "Enter" && (e.preventDefault(), e.target.blur());
|
|
288
|
+
}
|
|
289
|
+
}),
|
|
290
|
+
l ? /* @__PURE__ */ o("input", {
|
|
291
|
+
className: `${r.input} ${r.inputAlpha}`,
|
|
292
|
+
value: `${Math.round(t.a * 100)} %`,
|
|
293
|
+
"aria-label": "Прозрачность",
|
|
294
|
+
onChange: (e) => j(e.target.value),
|
|
295
|
+
onFocus: (e) => e.target.select()
|
|
296
|
+
}) : null
|
|
297
|
+
]
|
|
298
|
+
}),
|
|
299
|
+
/* @__PURE__ */ o("div", {
|
|
300
|
+
className: r.palette,
|
|
301
|
+
role: "listbox",
|
|
302
|
+
"aria-label": "Палитра",
|
|
303
|
+
children: d.map((e) => {
|
|
304
|
+
let t = v(e) === D;
|
|
305
|
+
return /* @__PURE__ */ o("button", {
|
|
306
|
+
type: "button",
|
|
307
|
+
role: "option",
|
|
308
|
+
"aria-checked": t,
|
|
309
|
+
"aria-label": e,
|
|
310
|
+
className: r.swatchBtn,
|
|
311
|
+
style: { "--swatch": e },
|
|
312
|
+
onClick: () => {
|
|
313
|
+
let t = m(e);
|
|
314
|
+
t && k({
|
|
315
|
+
...t,
|
|
316
|
+
a: l ? t.a : 1
|
|
317
|
+
}, "commit");
|
|
318
|
+
}
|
|
319
|
+
}, e);
|
|
320
|
+
})
|
|
321
|
+
})
|
|
322
|
+
]
|
|
323
|
+
})] });
|
|
324
|
+
}
|
|
325
|
+
function w({ hsva: e, onChange: t }) {
|
|
326
|
+
let n = i.useRef(null), a = i.useRef(!1), c = i.useRef(t);
|
|
327
|
+
c.current = t;
|
|
328
|
+
let l = (t, r) => {
|
|
329
|
+
let i = n.current;
|
|
330
|
+
if (!i) return {
|
|
331
|
+
s: e.s,
|
|
332
|
+
v: e.v
|
|
333
|
+
};
|
|
334
|
+
let a = i.getBoundingClientRect();
|
|
335
|
+
return {
|
|
336
|
+
s: u((t - a.left) / a.width, 0, 1),
|
|
337
|
+
v: u(1 - (r - a.top) / a.height, 0, 1)
|
|
338
|
+
};
|
|
339
|
+
};
|
|
340
|
+
return i.useEffect(() => {
|
|
341
|
+
let e = (e) => {
|
|
342
|
+
if (!a.current) return;
|
|
343
|
+
let { s: t, v: n } = l(e.clientX, e.clientY);
|
|
344
|
+
c.current(t, n, "live");
|
|
345
|
+
}, t = (e) => {
|
|
346
|
+
if (!a.current) return;
|
|
347
|
+
a.current = !1;
|
|
348
|
+
let { s: t, v: n } = l(e.clientX, e.clientY);
|
|
349
|
+
c.current(t, n, "commit");
|
|
350
|
+
};
|
|
351
|
+
return window.addEventListener("pointermove", e), window.addEventListener("pointerup", t), () => {
|
|
352
|
+
window.removeEventListener("pointermove", e), window.removeEventListener("pointerup", t);
|
|
353
|
+
};
|
|
354
|
+
}, []), /* @__PURE__ */ s("div", {
|
|
355
|
+
ref: n,
|
|
356
|
+
className: r.sv,
|
|
357
|
+
style: { background: _(e.h) },
|
|
358
|
+
onPointerDown: (e) => {
|
|
359
|
+
a.current = !0;
|
|
360
|
+
let { s: t, v: n } = l(e.clientX, e.clientY);
|
|
361
|
+
c.current(t, n, "live");
|
|
362
|
+
},
|
|
363
|
+
children: [
|
|
364
|
+
/* @__PURE__ */ o("div", { className: r.svWhite }),
|
|
365
|
+
/* @__PURE__ */ o("div", { className: r.svBlack }),
|
|
366
|
+
/* @__PURE__ */ o("div", {
|
|
367
|
+
className: r.handle,
|
|
368
|
+
style: {
|
|
369
|
+
left: `${e.s * 100}%`,
|
|
370
|
+
top: `${(1 - e.v) * 100}%`,
|
|
371
|
+
background: g({
|
|
372
|
+
...e,
|
|
373
|
+
a: 1
|
|
374
|
+
})
|
|
375
|
+
}
|
|
376
|
+
})
|
|
377
|
+
]
|
|
378
|
+
});
|
|
379
|
+
}
|
|
380
|
+
function T({ h: e, onChange: t }) {
|
|
381
|
+
return /* @__PURE__ */ o(D, {
|
|
382
|
+
className: `${r.slider} ${r.sliderHue}`,
|
|
383
|
+
ratio: e / 360,
|
|
384
|
+
onRatio: (e, n) => t(e * 360, n),
|
|
385
|
+
handleColor: _(e)
|
|
386
|
+
});
|
|
387
|
+
}
|
|
388
|
+
function E({ a: e, color: t, onChange: n }) {
|
|
389
|
+
return /* @__PURE__ */ o(D, {
|
|
390
|
+
className: `${r.slider} ${r.sliderAlpha}`,
|
|
391
|
+
style: { "--alpha-color": t },
|
|
392
|
+
ratio: e,
|
|
393
|
+
onRatio: n,
|
|
394
|
+
handleColor: t
|
|
395
|
+
});
|
|
396
|
+
}
|
|
397
|
+
function D({ className: e, style: t, ratio: n, onRatio: a, handleColor: s }) {
|
|
398
|
+
let c = i.useRef(null), l = i.useRef(!1), d = (e, t) => {
|
|
399
|
+
let n = c.current;
|
|
400
|
+
if (!n) return;
|
|
401
|
+
let r = n.getBoundingClientRect();
|
|
402
|
+
a(u((e - r.left) / r.width, 0, 1), t);
|
|
403
|
+
};
|
|
404
|
+
return i.useEffect(() => {
|
|
405
|
+
let e = (e) => {
|
|
406
|
+
l.current && d(e.clientX, "live");
|
|
407
|
+
}, t = (e) => {
|
|
408
|
+
l.current && (l.current = !1, d(e.clientX, "commit"));
|
|
409
|
+
};
|
|
410
|
+
return window.addEventListener("pointermove", e), window.addEventListener("pointerup", t), () => {
|
|
411
|
+
window.removeEventListener("pointermove", e), window.removeEventListener("pointerup", t);
|
|
412
|
+
};
|
|
413
|
+
}, [a]), /* @__PURE__ */ o("div", {
|
|
414
|
+
ref: c,
|
|
415
|
+
className: e,
|
|
416
|
+
style: t,
|
|
417
|
+
onPointerDown: (e) => {
|
|
418
|
+
l.current = !0, d(e.clientX, "live");
|
|
419
|
+
},
|
|
420
|
+
children: /* @__PURE__ */ o("div", {
|
|
421
|
+
className: r.sliderHandle,
|
|
422
|
+
style: {
|
|
423
|
+
left: `${u(n, 0, 1) * 100}%`,
|
|
424
|
+
background: s
|
|
425
|
+
}
|
|
426
|
+
})
|
|
427
|
+
});
|
|
428
|
+
}
|
|
429
|
+
function O() {
|
|
430
|
+
return /* @__PURE__ */ s("svg", {
|
|
431
|
+
width: "16",
|
|
432
|
+
height: "16",
|
|
433
|
+
viewBox: "0 0 24 24",
|
|
434
|
+
fill: "none",
|
|
435
|
+
stroke: "currentColor",
|
|
436
|
+
strokeWidth: "2",
|
|
437
|
+
strokeLinecap: "round",
|
|
438
|
+
strokeLinejoin: "round",
|
|
439
|
+
"aria-hidden": !0,
|
|
440
|
+
children: [
|
|
441
|
+
/* @__PURE__ */ o("path", { d: "m2 22 1-1h3l9-9" }),
|
|
442
|
+
/* @__PURE__ */ o("path", { d: "M3 21v-3l9-9" }),
|
|
443
|
+
/* @__PURE__ */ o("path", { d: "m15 5 3 3" }),
|
|
444
|
+
/* @__PURE__ */ o("path", { d: "M17.5 2.5a2.12 2.12 0 0 1 3 3L12 14l-4 1 1-4Z" })
|
|
445
|
+
]
|
|
446
|
+
});
|
|
447
|
+
}
|
|
448
|
+
//#endregion
|
|
449
|
+
export { l as DEFAULT_COLOR_PALETTE, S as default };
|
package/dist/index.d.ts
CHANGED
|
@@ -14,11 +14,14 @@ 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 { default as CheckField } from './fields/Check';
|
|
17
|
+
export { default as ColorField } from './fields/Color';
|
|
18
|
+
export { DEFAULT_COLOR_PALETTE } from './fields/Color';
|
|
17
19
|
export { useForm, useFormField, useFormFieldState } from './hooks/use';
|
|
18
20
|
export type { TInput, TValue, TPasswordField, TFieldFormBindings, TFieldPresentation, } from './fields/type';
|
|
19
21
|
export type { TRange, TProgress } from './fields/Range';
|
|
20
22
|
export type { TTime } from './fields/Time';
|
|
21
23
|
export type { TCheck } from './fields/Check';
|
|
24
|
+
export type { TColor } from './fields/Color';
|
|
22
25
|
export type { FormValues, UseFormApi, UseFormFieldStateResult, } from './hooks/use';
|
|
23
26
|
export type { EditableFieldTarget, EditableClipboardEvent, } from './events/onEvent';
|
|
24
27
|
export { asEditableClipboard } from './events/onEvent';
|
package/dist/index.js
CHANGED
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
var el = document.createElement("style");
|
|
6
6
|
el.id = "elcrm-form-base-styles";
|
|
7
7
|
el.setAttribute("data-elcrm", "form");
|
|
8
|
-
el.textContent = "._l_1to3e_2{min-width:var(--field-width);gap:var(--field-block-gap,0);flex-direction:column;margin:0;padding:0;display:flex;position:relative}._l_1to3e_2>dt,._l_1to3e_2>dd{margin:0}._l_1to3e_2[data-field=group] div{cursor:pointer;border-bottom:var(--field-border);padding:var(--field-padding);margin:0}._l_1to3e_2[data-field=group] div:last-child{border-bottom:0}._l_1to3e_2 [placeholder]:empty:before{content:attr(placeholder);color:var(--field-placeholder);opacity:1;font-style:normal;font-weight:400;display:block}._l_1to3e_2 [placeholder]:focus:before{display:none}._f_1to3e_38{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_1to3e_38:hover{border-color:var(--field-border-hover,var(--field-border))}._f_1to3e_38: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_1to3e_38._e_1to3e_63:focus-within{background:var(--field-error-background);color:var(--field-error-color)}._f_1to3e_38[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_1to3e_38[data-disabled=true]>*{cursor:not-allowed}._f_1to3e_38>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_1to3e_38>div::selection{background:var(--field-selection-bg,#b3d4fc);color:var(--field-selection-color,inherit)}._f_1to3e_38>:not(div){color:var(--field-icon-color,var(--field-placeholder));flex:none;justify-content:center;align-items:center;display:inline-flex}._f_1to3e_38>:not(div) svg{width:20px;height:20px}._f_1to3e_38 input::placeholder,._f_1to3e_38 textarea::placeholder{color:var(--field-placeholder);opacity:1;font-weight:400}._f_1to3e_38 input::-webkit-input-placeholder{color:var(--field-placeholder);opacity:1;font-weight:400}._f_1to3e_38 textarea::-webkit-input-placeholder{color:var(--field-placeholder);opacity:1;font-weight:400}._f_1to3e_38 input::-moz-placeholder{color:var(--field-placeholder);opacity:1;font-weight:400}._f_1to3e_38 textarea::-moz-placeholder{color:var(--field-placeholder);opacity:1;font-weight:400}._n_1to3e_127 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))}._w_1to3e_134>div{text-wrap:nowrap;overflow:scroll hidden}._w_1to3e_134>div::-webkit-scrollbar{width:0;height:0}._time_1to3e_144>div{text-wrap:nowrap;align-items:center;min-width:0;display:flex;overflow:visible}._time_1to3e_144 ._timeInner_1to3e_151{justify-content:flex-start;align-items:center;gap:4px;width:100%;min-width:0;display:flex}._time_1to3e_144._timeAlignCenter_1to3e_162 ._timeInner_1to3e_151{justify-content:center}._time_1to3e_144 ._timeSep_1to3e_165{opacity:.65;-webkit-user-select:none;user-select:none;flex:none;padding:0 2px;font-weight:500;transform:translateY(-1px)}._time_1to3e_144 ._timePart_1to3e_176{box-sizing:border-box;width:1em;min-width:0;color:inherit;font:inherit;line-height:inherit;text-align:left;min-height:var(--field-height);cursor:text;background:0 0;border:0;border-radius:6px;outline:none;flex:none;margin:0;padding:0}._time_1to3e_144 ._timePart_1to3e_176[contenteditable=false]{cursor:not-allowed;opacity:.7}._time_1to3e_144 ._timePart_1to3e_176:empty:before{content:attr(placeholder);color:var(--field-placeholder);opacity:1;font-weight:400}._time_1to3e_144 ._timePart_1to3e_176:focus:empty:before{content:none}._time_1to3e_144 ._timePart_1to3e_176:focus-visible{background:0 0}._time_1to3e_144._timeAlignCenter_1to3e_162 ._timePart_1to3e_176{text-align:center}._t_1to3e_144{color:var(--field-label-color);font-size:var(--field-label-size);padding-bottom:10px}._affix_1to3e_223{color:var(--field-icon-color,var(--field-placeholder));font-size:inherit;-webkit-user-select:none;user-select:none;flex:none;justify-content:center;align-items:center;margin:0;padding:0;line-height:1;display:inline-flex}._g_1to3e_237{flex-direction:column}._range_1to3e_241>div{box-sizing:border-box;min-width:0;min-height:var(--field-height);flex:1;align-items:center;line-height:normal;display:flex}._range_1to3e_241 ._rangeTrack_1to3e_250{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_1to3e_241 ._rangeTrack_1to3e_250:focus-visible{box-shadow:0 0 0 3px var(--field-focus-ring,#0000)}._range_1to3e_241 ._rangeTrack_1to3e_250[data-disabled=true]{cursor:not-allowed;opacity:.55;pointer-events:none}._range_1to3e_241 ._rangeFill_1to3e_271{background:var(--field-range-fill,#00b5ad);pointer-events:none;border-radius:999px 0 0 999px;width:0;min-width:0;height:100%}._range_1to3e_241 ._rangeFillFull_1to3e_282{border-radius:999px}._checkbox_1to3e_286>div{min-height:var(--field-height);align-items:flex-start;width:100%;padding:0;line-height:normal;display:flex}._checkControl_1to3e_295{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_1to3e_295:focus-visible{box-shadow:0 0 0 3px var(--field-focus-ring,#0000);border-radius:calc(var(--field-radius) - 2px)}._checkControl_1to3e_295[aria-disabled=true]{cursor:not-allowed}._checkBox_1to3e_319{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_1to3e_332{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_1to3e_341{min-width:0;color:inherit;font-size:var(--control-font-size,14px);flex:auto;padding-top:2px;line-height:1.25}._checkControl_1to3e_295[aria-checked=true] ._checkBox_1to3e_319{background:var(--field-background-active)}._h_1to3e_354{--field-border:0}._h_1to3e_354 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_1to3e_354 div[aria-checked=true]{background:var(--field-background-active)}._h_1to3e_354 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_1to3e_63{border-color:var(--field-error-border);background:var(--field-error-background);color:var(--field-error-color)}._m_1to3e_393{color:var(--field-error-color);margin-top:6px;font-size:12px;font-style:normal}\n\n._o_14hhr_2{z-index:98;background:0 0;position:fixed;inset:0}._c_14hhr_13{background:var(--select-background);z-index:99;max-height:min(92vh,480px);color:var(--select-color,#333);box-sizing:border-box;border-radius:10px;min-width:259px;margin:0;padding:10px 12px 12px;display:block;position:fixed;overflow:hidden auto;box-shadow:5px 7px 18px #000000a8}._c_14hhr_13 [grid-calendar]{grid-template-columns:repeat(7,1fr);grid-auto-rows:34px;gap:2px;display:grid}._c_14hhr_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_14hhr_13 [grid-month]{grid-template-columns:1fr 1fr 1fr 1fr;width:250px;display:grid}._c_14hhr_13 b{cursor:pointer;text-align:center;border-radius:5px;padding:8px 5px;font-weight:400;display:block}._c_14hhr_13 b.__active_14hhr_64{background:var(--bg-select-active)}._c_14hhr_13 b:hover{background:var(--bg-select-hover)}._c_14hhr_13 p{color:var(--color-placeholder);text-align:center;cursor:default;pointer-events:none;padding:0}._c_14hhr_13 i{text-align:center;cursor:pointer;border-radius:5px;flex:0 30px;padding:9px}._c_14hhr_13 i:hover{background:var(--bg-select-hover)}._c_14hhr_13 i:before{cursor:pointer;display:block}._c_14hhr_13 s{align-items:center;gap:4px;padding-bottom:6px;font-style:normal;text-decoration:none;display:flex}._c_14hhr_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_14hhr_13 ._dateHeaderMonth_14hhr_119,._c_14hhr_13 ._dateHeaderYear_14hhr_119{cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap;border-radius:6px;padding:2px 8px}._c_14hhr_13 ._dateHeaderMonth_14hhr_119:hover,._c_14hhr_13 ._dateHeaderYear_14hhr_119:hover{background:var(--bg-select-hover)}._c_14hhr_13 ._dateHeaderDisabled_14hhr_129{cursor:not-allowed;opacity:.45;pointer-events:none}._c_14hhr_13 ._dateHeaderDisabled_14hhr_129[data-active=true],._c_14hhr_13 ._dateHeaderDisabled_14hhr_129[data-current=true]{opacity:.45}._c_14hhr_13 [grid-calendar] b[data-current=true],._c_14hhr_13 [grid-month] b[data-current=true]{background:color-mix(in srgb, var(--field-background-active) 52%, transparent);font-weight:600}._c_14hhr_13 [grid-calendar] b[data-active=true]:not([data-current=true]),._c_14hhr_13 [grid-month] b[data-active=true]:not([data-current=true]){outline:2px solid var(--field-background-active);outline-offset:-2px}._c_14hhr_13 [grid-calendar] b[data-active=true][data-current=true],._c_14hhr_13 [grid-month] b[data-active=true][data-current=true]{box-shadow:inset 0 0 0 2px var(--field-background-active)}._c_14hhr_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_14hhr_13 [grid-calendar] p[data-active=true]:not([data-current=true]){outline:2px solid var(--field-background-active);outline-offset:-2px;opacity:.85}._c_14hhr_13 [grid-calendar] p[data-active=true][data-current=true]{box-shadow:inset 0 0 0 2px var(--field-background-active)}._c_14hhr_13 span{text-align:center;padding:2px}._c_14hhr_13 span p{color:var(--color-placeholder);padding:8px 5px}._c_14hhr_13 [grid-calendar]>span{box-sizing:border-box;justify-content:stretch;align-items:stretch;min-height:0;padding:0;display:flex}._c_14hhr_13 [grid-calendar]>span>b,._c_14hhr_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_14hhr_13 ._as_14hhr_196{cursor:ns-resize}._c_14hhr_13 ._ap_14hhr_199{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}\n\n: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_12209_20{z-index:98;background:var(--select-overlay);position:fixed;inset:0}._l_12209_30{background:var(--select-background);z-index:99;border-radius:20px;max-height:300px;margin:0;padding:0;display:block;position:fixed;overflow:scroll}._l_12209_30::-webkit-scrollbar{width:0;height:0}._l_12209_30 ul{width:100%;max-height:300px;margin:0;padding:0;list-style:none;display:block;overflow:hidden auto}._l_12209_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_12209_30 li[aria-selected=true]{background:var(--select-li-selected-bg,var(--select-li-hover-bg))}._l_12209_30 li:hover{background:var(--select-li-hover-bg,#f2f2f7)}._l_12209_30 li[data-focus=true]{background:var(--select-li-focus-bg,#e5e5ea)}._l_12209_30 li:last-child{border-bottom:0}._i_12209_93{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_12209_103{color:var(--field-placeholder);font-weight:400}._f_12209_108{cursor:pointer}._f_12209_108[aria-disabled=true]{cursor:not-allowed}\n";
|
|
8
|
+
el.textContent = "._l_1to3e_2{min-width:var(--field-width);gap:var(--field-block-gap,0);flex-direction:column;margin:0;padding:0;display:flex;position:relative}._l_1to3e_2>dt,._l_1to3e_2>dd{margin:0}._l_1to3e_2[data-field=group] div{cursor:pointer;border-bottom:var(--field-border);padding:var(--field-padding);margin:0}._l_1to3e_2[data-field=group] div:last-child{border-bottom:0}._l_1to3e_2 [placeholder]:empty:before{content:attr(placeholder);color:var(--field-placeholder);opacity:1;font-style:normal;font-weight:400;display:block}._l_1to3e_2 [placeholder]:focus:before{display:none}._f_1to3e_38{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_1to3e_38:hover{border-color:var(--field-border-hover,var(--field-border))}._f_1to3e_38: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_1to3e_38._e_1to3e_63:focus-within{background:var(--field-error-background);color:var(--field-error-color)}._f_1to3e_38[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_1to3e_38[data-disabled=true]>*{cursor:not-allowed}._f_1to3e_38>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_1to3e_38>div::selection{background:var(--field-selection-bg,#b3d4fc);color:var(--field-selection-color,inherit)}._f_1to3e_38>:not(div){color:var(--field-icon-color,var(--field-placeholder));flex:none;justify-content:center;align-items:center;display:inline-flex}._f_1to3e_38>:not(div) svg{width:20px;height:20px}._f_1to3e_38 input::placeholder,._f_1to3e_38 textarea::placeholder{color:var(--field-placeholder);opacity:1;font-weight:400}._f_1to3e_38 input::-webkit-input-placeholder{color:var(--field-placeholder);opacity:1;font-weight:400}._f_1to3e_38 textarea::-webkit-input-placeholder{color:var(--field-placeholder);opacity:1;font-weight:400}._f_1to3e_38 input::-moz-placeholder{color:var(--field-placeholder);opacity:1;font-weight:400}._f_1to3e_38 textarea::-moz-placeholder{color:var(--field-placeholder);opacity:1;font-weight:400}._n_1to3e_127 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))}._w_1to3e_134>div{text-wrap:nowrap;overflow:scroll hidden}._w_1to3e_134>div::-webkit-scrollbar{width:0;height:0}._time_1to3e_144>div{text-wrap:nowrap;align-items:center;min-width:0;display:flex;overflow:visible}._time_1to3e_144 ._timeInner_1to3e_151{justify-content:flex-start;align-items:center;gap:4px;width:100%;min-width:0;display:flex}._time_1to3e_144._timeAlignCenter_1to3e_162 ._timeInner_1to3e_151{justify-content:center}._time_1to3e_144 ._timeSep_1to3e_165{opacity:.65;-webkit-user-select:none;user-select:none;flex:none;padding:0 2px;font-weight:500;transform:translateY(-1px)}._time_1to3e_144 ._timePart_1to3e_176{box-sizing:border-box;width:1em;min-width:0;color:inherit;font:inherit;line-height:inherit;text-align:left;min-height:var(--field-height);cursor:text;background:0 0;border:0;border-radius:6px;outline:none;flex:none;margin:0;padding:0}._time_1to3e_144 ._timePart_1to3e_176[contenteditable=false]{cursor:not-allowed;opacity:.7}._time_1to3e_144 ._timePart_1to3e_176:empty:before{content:attr(placeholder);color:var(--field-placeholder);opacity:1;font-weight:400}._time_1to3e_144 ._timePart_1to3e_176:focus:empty:before{content:none}._time_1to3e_144 ._timePart_1to3e_176:focus-visible{background:0 0}._time_1to3e_144._timeAlignCenter_1to3e_162 ._timePart_1to3e_176{text-align:center}._t_1to3e_144{color:var(--field-label-color);font-size:var(--field-label-size);padding-bottom:10px}._affix_1to3e_223{color:var(--field-icon-color,var(--field-placeholder));font-size:inherit;-webkit-user-select:none;user-select:none;flex:none;justify-content:center;align-items:center;margin:0;padding:0;line-height:1;display:inline-flex}._g_1to3e_237{flex-direction:column}._range_1to3e_241>div{box-sizing:border-box;min-width:0;min-height:var(--field-height);flex:1;align-items:center;line-height:normal;display:flex}._range_1to3e_241 ._rangeTrack_1to3e_250{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_1to3e_241 ._rangeTrack_1to3e_250:focus-visible{box-shadow:0 0 0 3px var(--field-focus-ring,#0000)}._range_1to3e_241 ._rangeTrack_1to3e_250[data-disabled=true]{cursor:not-allowed;opacity:.55;pointer-events:none}._range_1to3e_241 ._rangeFill_1to3e_271{background:var(--field-range-fill,#00b5ad);pointer-events:none;border-radius:999px 0 0 999px;width:0;min-width:0;height:100%}._range_1to3e_241 ._rangeFillFull_1to3e_282{border-radius:999px}._checkbox_1to3e_286>div{min-height:var(--field-height);align-items:flex-start;width:100%;padding:0;line-height:normal;display:flex}._checkControl_1to3e_295{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_1to3e_295:focus-visible{box-shadow:0 0 0 3px var(--field-focus-ring,#0000);border-radius:calc(var(--field-radius) - 2px)}._checkControl_1to3e_295[aria-disabled=true]{cursor:not-allowed}._checkBox_1to3e_319{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_1to3e_332{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_1to3e_341{min-width:0;color:inherit;font-size:var(--control-font-size,14px);flex:auto;padding-top:2px;line-height:1.25}._checkControl_1to3e_295[aria-checked=true] ._checkBox_1to3e_319{background:var(--field-background-active)}._h_1to3e_354{--field-border:0}._h_1to3e_354 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_1to3e_354 div[aria-checked=true]{background:var(--field-background-active)}._h_1to3e_354 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_1to3e_63{border-color:var(--field-error-border);background:var(--field-error-background);color:var(--field-error-color)}._m_1to3e_393{color:var(--field-error-color);margin-top:6px;font-size:12px;font-style:normal}\n\n._o_14hhr_2{z-index:98;background:0 0;position:fixed;inset:0}._c_14hhr_13{background:var(--select-background);z-index:99;max-height:min(92vh,480px);color:var(--select-color,#333);box-sizing:border-box;border-radius:10px;min-width:259px;margin:0;padding:10px 12px 12px;display:block;position:fixed;overflow:hidden auto;box-shadow:5px 7px 18px #000000a8}._c_14hhr_13 [grid-calendar]{grid-template-columns:repeat(7,1fr);grid-auto-rows:34px;gap:2px;display:grid}._c_14hhr_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_14hhr_13 [grid-month]{grid-template-columns:1fr 1fr 1fr 1fr;width:250px;display:grid}._c_14hhr_13 b{cursor:pointer;text-align:center;border-radius:5px;padding:8px 5px;font-weight:400;display:block}._c_14hhr_13 b.__active_14hhr_64{background:var(--bg-select-active)}._c_14hhr_13 b:hover{background:var(--bg-select-hover)}._c_14hhr_13 p{color:var(--color-placeholder);text-align:center;cursor:default;pointer-events:none;padding:0}._c_14hhr_13 i{text-align:center;cursor:pointer;border-radius:5px;flex:0 30px;padding:9px}._c_14hhr_13 i:hover{background:var(--bg-select-hover)}._c_14hhr_13 i:before{cursor:pointer;display:block}._c_14hhr_13 s{align-items:center;gap:4px;padding-bottom:6px;font-style:normal;text-decoration:none;display:flex}._c_14hhr_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_14hhr_13 ._dateHeaderMonth_14hhr_119,._c_14hhr_13 ._dateHeaderYear_14hhr_119{cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap;border-radius:6px;padding:2px 8px}._c_14hhr_13 ._dateHeaderMonth_14hhr_119:hover,._c_14hhr_13 ._dateHeaderYear_14hhr_119:hover{background:var(--bg-select-hover)}._c_14hhr_13 ._dateHeaderDisabled_14hhr_129{cursor:not-allowed;opacity:.45;pointer-events:none}._c_14hhr_13 ._dateHeaderDisabled_14hhr_129[data-active=true],._c_14hhr_13 ._dateHeaderDisabled_14hhr_129[data-current=true]{opacity:.45}._c_14hhr_13 [grid-calendar] b[data-current=true],._c_14hhr_13 [grid-month] b[data-current=true]{background:color-mix(in srgb, var(--field-background-active) 52%, transparent);font-weight:600}._c_14hhr_13 [grid-calendar] b[data-active=true]:not([data-current=true]),._c_14hhr_13 [grid-month] b[data-active=true]:not([data-current=true]){outline:2px solid var(--field-background-active);outline-offset:-2px}._c_14hhr_13 [grid-calendar] b[data-active=true][data-current=true],._c_14hhr_13 [grid-month] b[data-active=true][data-current=true]{box-shadow:inset 0 0 0 2px var(--field-background-active)}._c_14hhr_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_14hhr_13 [grid-calendar] p[data-active=true]:not([data-current=true]){outline:2px solid var(--field-background-active);outline-offset:-2px;opacity:.85}._c_14hhr_13 [grid-calendar] p[data-active=true][data-current=true]{box-shadow:inset 0 0 0 2px var(--field-background-active)}._c_14hhr_13 span{text-align:center;padding:2px}._c_14hhr_13 span p{color:var(--color-placeholder);padding:8px 5px}._c_14hhr_13 [grid-calendar]>span{box-sizing:border-box;justify-content:stretch;align-items:stretch;min-height:0;padding:0;display:flex}._c_14hhr_13 [grid-calendar]>span>b,._c_14hhr_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_14hhr_13 ._as_14hhr_196{cursor:ns-resize}._c_14hhr_13 ._ap_14hhr_199{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}\n\n: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_12209_20{z-index:98;background:var(--select-overlay);position:fixed;inset:0}._l_12209_30{background:var(--select-background);z-index:99;border-radius:20px;max-height:300px;margin:0;padding:0;display:block;position:fixed;overflow:scroll}._l_12209_30::-webkit-scrollbar{width:0;height:0}._l_12209_30 ul{width:100%;max-height:300px;margin:0;padding:0;list-style:none;display:block;overflow:hidden auto}._l_12209_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_12209_30 li[aria-selected=true]{background:var(--select-li-selected-bg,var(--select-li-hover-bg))}._l_12209_30 li:hover{background:var(--select-li-hover-bg,#f2f2f7)}._l_12209_30 li[data-focus=true]{background:var(--select-li-focus-bg,#e5e5ea)}._l_12209_30 li:last-child{border-bottom:0}._i_12209_93{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_12209_103{color:var(--field-placeholder);font-weight:400}._f_12209_108{cursor:pointer}._f_12209_108[aria-disabled=true]{cursor:not-allowed}\n\n:root{--color-picker-width:260px;--color-picker-radius:16px;--color-picker-pad:10px;--color-picker-swatch:20px;--color-picker-input-radius:5px;--color-picker-handle:14px}._o_1937d_14{z-index:98;background:var(--select-overlay,transparent);position:fixed;inset:0}._panel_1937d_21{z-index:99;box-sizing:border-box;width:var(--color-picker-width);padding:var(--color-picker-pad);background:var(--select-background,#2c2c2e);color:var(--select-color,#fff);border-radius:var(--color-picker-radius);flex-direction:column;gap:8px;display:flex;position:fixed;box-shadow:0 8px 28px #00000059}._sv_1937d_37{aspect-ratio:1/.55;cursor:crosshair;touch-action:none;border-radius:8px;width:100%;max-height:140px;position:relative;overflow:hidden}._svWhite_1937d_48{background:linear-gradient(90deg,#fff,#0000);position:absolute;inset:0}._svBlack_1937d_54{background:linear-gradient(#0000,#000);position:absolute;inset:0}._handle_1937d_60{width:var(--color-picker-handle);height:var(--color-picker-handle);margin:calc(var(--color-picker-handle) / -2) 0 0 calc(var(--color-picker-handle) / -2);pointer-events:none;box-sizing:border-box;border:2px solid #fff;border-radius:50%;position:absolute;box-shadow:0 0 0 1px #00000059}._slidersRow_1937d_72{align-items:center;gap:8px;display:flex}._eyedropper_1937d_78{border-radius:var(--color-picker-input-radius);background:var(--field-background,#1c1c1e);width:26px;height:26px;color:var(--field-icon-color,#8e8e93);cursor:pointer;border:none;flex:none;justify-content:center;align-items:center;padding:0;display:inline-flex}._eyedropper_1937d_78:hover{color:var(--field-color,#fff)}._sliders_1937d_72{flex-direction:column;flex:1;gap:8px;min-width:0;display:flex}._slider_1937d_72{cursor:pointer;touch-action:none;border-radius:999px;height:10px;position:relative}._sliderHue_1937d_113{background:linear-gradient(90deg,red 0%,#ff0 17%,#0f0 33%,#0ff 50%,#00f 67%,#f0f 83%,red 100%)}._sliderAlpha_1937d_117{background-image:linear-gradient(to right, transparent, var(--alpha-color,#fff)), linear-gradient(45deg, #777 25%, transparent 25%), linear-gradient(-45deg, #777 25%, transparent 25%), linear-gradient(45deg, transparent 75%, #777 75%), linear-gradient(-45deg, transparent 75%, #777 75%);background-color:#bbb;background-position:0 0,0 0,0 4px,4px -4px,-4px 0;background-size:100% 100%,8px 8px,8px 8px,8px 8px,8px 8px}._sliderHandle_1937d_125{width:var(--color-picker-handle);height:var(--color-picker-handle);margin:calc(var(--color-picker-handle) / -2) 0 0 calc(var(--color-picker-handle) / -2);pointer-events:none;box-sizing:border-box;background:0 0;border:2px solid #fff;border-radius:50%;position:absolute;top:50%;box-shadow:0 0 0 1px #00000059}._inputs_1937d_139{align-items:center;gap:6px;display:flex}._format_1937d_145{color:var(--field-placeholder,#8e8e93);flex:none;padding:0 2px;font-size:12px}._input_1937d_139{box-sizing:border-box;border-radius:var(--color-picker-input-radius);background:var(--field-background,#1c1c1e);min-width:0;height:28px;color:var(--field-color,#fff);font:inherit;border:none;outline:none;flex:1;padding:0 8px;font-size:13px}._input_1937d_139:focus{box-shadow:0 0 0 2px var(--field-focus-ring,#fff3)}._inputAlpha_1937d_171{text-align:center;flex:0 0 56px}._palette_1937d_176{grid-template-columns:repeat(8,1fr);place-items:center;gap:4px;padding:0;display:grid}._swatchBtn_1937d_185{width:var(--color-picker-swatch);height:var(--color-picker-swatch);cursor:pointer;background:var(--swatch,#888);border:none;border-radius:50%;padding:0;transition:transform .12s;box-shadow:inset 0 0 0 1px #0000001f}._swatchBtn_1937d_185[aria-checked=true]{z-index:1;box-shadow:inset 0 0 0 1px #00000026, 0 0 0 2px var(--select-background,#2c2c2e), 0 0 0 3px #ffffff59;transform:scale(1.35)}._swatchBtn_1937d_185:disabled{cursor:not-allowed;opacity:.5}._trigger_1937d_210{cursor:pointer;align-items:center;gap:var(--field-icon-gap,10px);min-width:0;height:var(--field-height,44px);flex:1;display:flex}._trigger_1937d_210[aria-disabled=true]{cursor:not-allowed}._preview_1937d_224{background-image:linear-gradient(var(--preview-color,transparent), var(--preview-color,transparent)), linear-gradient(45deg, #c6c6c8 25%, transparent 25%), linear-gradient(-45deg, #c6c6c8 25%, transparent 25%), linear-gradient(45deg, transparent 75%, #c6c6c8 75%), linear-gradient(-45deg, transparent 75%, #c6c6c8 75%);background-color:#eee;background-position:0 0,0 0,0 3px,3px -3px,-3px 0;background-size:100% 100%,6px 6px,6px 6px,6px 6px,6px 6px;border-radius:50%;flex:none;width:22px;height:22px;box-shadow:inset 0 0 0 1px #00000026}._hexText_1937d_236{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:var(--control-font-size,17px);flex:1;overflow:hidden}._placeholder_1937d_245{color:var(--field-placeholder,#8e8e93);font-weight:400}\n";
|
|
9
9
|
document.head.appendChild(el);
|
|
10
10
|
})();
|
|
11
11
|
|
|
@@ -27,12 +27,13 @@ import g from "./fields/Select.js";
|
|
|
27
27
|
import _ from "./fields/Modal.js";
|
|
28
28
|
import v from "./fields/Password.js";
|
|
29
29
|
import y from "./fields/Check.js";
|
|
30
|
-
import {
|
|
30
|
+
import b, { DEFAULT_COLOR_PALETTE as x } from "./fields/Color.js";
|
|
31
|
+
import { Form as S } from "./Form.js";
|
|
31
32
|
//#region src/lib/index.ts
|
|
32
|
-
function
|
|
33
|
+
function C() {
|
|
33
34
|
return typeof globalThis < "u" ? globalThis : typeof window < "u" ? window : typeof self < "u" ? self : {};
|
|
34
35
|
}
|
|
35
|
-
var
|
|
36
|
-
|
|
36
|
+
var w = C();
|
|
37
|
+
w.elcrm ||= {}, Object.assign(w.elcrm, { form: e.version });
|
|
37
38
|
//#endregion
|
|
38
|
-
export { y as CheckField, c as DateField,
|
|
39
|
+
export { y as CheckField, b as ColorField, x as DEFAULT_COLOR_PALETTE, c as DateField, S as Form, s as MaskField, _ as ModalField, o as MoneyField, m as NumberField, h as OptionsField, v as PasswordField, f as PhoneField, i as ProgressField, i as RangeField, g as SelectField, p as StringField, u as TextareaField, l as TimeField, a as asEditableClipboard, t as useForm, n as useFormField, r as useFormFieldState, d as useFormInit };
|