@object-ui/fields 3.1.5 → 3.3.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.
- package/dist/AddressField-Do46PdqT.cjs +1 -0
- package/dist/AutoNumberField-cS2tsxd-.cjs +1 -0
- package/dist/AvatarField-CxhGS3wF.cjs +1 -0
- package/dist/BooleanField-BgkbTHPY.cjs +1 -0
- package/dist/CodeField-DE3dLruS.cjs +1 -0
- package/dist/ColorField-DBTFFYpv.cjs +1 -0
- package/dist/CurrencyField-C28LkJts.cjs +1 -0
- package/dist/DateField-WGWwddDF.cjs +1 -0
- package/dist/DateTimeField-BYsZs8f7.cjs +1 -0
- package/dist/EmailField-1PW03WW8.cjs +1 -0
- package/dist/FileField-BqZkp1O6.cjs +1 -0
- package/dist/FormulaField-MZ9le4RE.cjs +1 -0
- package/dist/GeolocationField-onbAOdIe.cjs +1 -0
- package/dist/GridField-D4OWfaU4.cjs +1 -0
- package/dist/ImageField-BZf-AL2e.cjs +1 -0
- package/dist/LocationField-DhGJtUzZ.cjs +1 -0
- package/dist/LookupField-B6MOSQVJ.js +906 -0
- package/dist/LookupField-BHr7uTX1.cjs +1 -0
- package/dist/MasterDetailField-YTAU1hzg.cjs +1 -0
- package/dist/NumberField-BCk42NjA.cjs +1 -0
- package/dist/ObjectField-iYK5eab_.cjs +1 -0
- package/dist/PasswordField-BAReSDz7.cjs +1 -0
- package/dist/PercentField-nzACEXtC.cjs +1 -0
- package/dist/PhoneField-CvbkGpN3.cjs +1 -0
- package/dist/QRCodeField-D8fov03S.cjs +1 -0
- package/dist/RatingField-DBgj9cgE.cjs +1 -0
- package/dist/RichTextField-7VwN6GcU.cjs +1 -0
- package/dist/SelectField-BUOTiYaS.cjs +1 -0
- package/dist/SignatureField-DW_Cz6t9.cjs +1 -0
- package/dist/SliderField-Bgi3-TAD.cjs +1 -0
- package/dist/SummaryField-Ed2wJBvs.cjs +1 -0
- package/dist/TextAreaField-O503xJff.cjs +1 -0
- package/dist/TextField-BrwtPIQC.cjs +1 -0
- package/dist/TimeField-Bhoxv2yp.cjs +1 -0
- package/dist/UrlField-VFO089Gr.cjs +1 -0
- package/dist/UserField-BRe9SCCk.cjs +1 -0
- package/dist/VectorField-ByrWkiud.cjs +1 -0
- package/dist/chunk-D-qHiVGv.cjs +1 -0
- package/dist/index.cjs +3 -3
- package/dist/index.d.ts +1 -1
- package/dist/index.js +629 -593
- package/dist/packages/fields/src/widgets/useFieldTranslation.d.ts +5 -0
- package/dist/rolldown-runtime-CAFD8bLK.js +11 -0
- package/dist/useFieldTranslation-BiQad4ar.cjs +1 -0
- package/dist/useFieldTranslation-Bv3oUVgb.js +9 -0
- package/package.json +9 -8
- package/src/widgets/LookupField.tsx +5 -3
- package/src/widgets/SelectField.tsx +3 -1
- package/src/widgets/useFieldTranslation.ts +17 -0
- package/dist/AddressField-B6fPb2Fs.js +0 -3
- package/dist/AddressField-Ctsxkj35.cjs +0 -1
- package/dist/AutoNumberField-DXIYJfiB.js +0 -3
- package/dist/AutoNumberField-f76XU1bR.cjs +0 -1
- package/dist/AvatarField-BHpex3Wa.js +0 -3
- package/dist/AvatarField-CXOdYavl.cjs +0 -1
- package/dist/BooleanField-Bs0urhsx.js +0 -3
- package/dist/BooleanField-DeexI_O2.cjs +0 -1
- package/dist/CodeField-DDOMH8E8.cjs +0 -1
- package/dist/CodeField-tRACqngO.js +0 -3
- package/dist/ColorField-Bar6bOJw.js +0 -3
- package/dist/ColorField-CM9CxZ9h.cjs +0 -1
- package/dist/CurrencyField-CezTX_rA.cjs +0 -1
- package/dist/CurrencyField-D4VwXI9k.js +0 -3
- package/dist/DateField-DDUllj7w.cjs +0 -1
- package/dist/DateField-DjGiK6BH.js +0 -3
- package/dist/DateTimeField-DBh-dYdR.js +0 -3
- package/dist/DateTimeField-DDqgVN3b.cjs +0 -1
- package/dist/EmailField-B-3nY8Pr.cjs +0 -1
- package/dist/EmailField-Cp6yJlpH.js +0 -3
- package/dist/FileField-C1bcL7tu.cjs +0 -1
- package/dist/FileField-DUgt6ai3.js +0 -3
- package/dist/FormulaField-BLV1KgkQ.js +0 -3
- package/dist/FormulaField-CsbQIZ7S.cjs +0 -1
- package/dist/GeolocationField-BbIRH51u.js +0 -3
- package/dist/GeolocationField-UFu9VR-x.cjs +0 -1
- package/dist/GridField-2m74haE0.cjs +0 -1
- package/dist/GridField-O3Jd1NuJ.js +0 -3
- package/dist/ImageField-Cna7g6KL.cjs +0 -1
- package/dist/ImageField-rc1Nzcvb.js +0 -3
- package/dist/LocationField-DpRe9QlH.cjs +0 -1
- package/dist/LocationField-QZPPYo0J.js +0 -3
- package/dist/LookupField-BX4sK8NG.js +0 -904
- package/dist/LookupField-C9rPrHi_.cjs +0 -1
- package/dist/MasterDetailField-BXncIT1s.js +0 -3
- package/dist/MasterDetailField-TNP2825Z.cjs +0 -1
- package/dist/NumberField-DCHTzmDG.js +0 -3
- package/dist/NumberField-SqRwbcY8.cjs +0 -1
- package/dist/ObjectField-BEUHpn_X.js +0 -3
- package/dist/ObjectField-BWZwaFIG.cjs +0 -1
- package/dist/PasswordField-BZ_OeQyw.js +0 -3
- package/dist/PasswordField-kLp-ZyPm.cjs +0 -1
- package/dist/PercentField-B2t2knlc.js +0 -3
- package/dist/PercentField-BzhD6tQm.cjs +0 -1
- package/dist/PhoneField-CirvuysP.cjs +0 -1
- package/dist/PhoneField-CkrCFmcO.js +0 -3
- package/dist/QRCodeField-C4OOLCbE.cjs +0 -1
- package/dist/QRCodeField-CQoGow8y.js +0 -3
- package/dist/RatingField-CZG8SgQ8.cjs +0 -1
- package/dist/RatingField-DecDJkou.js +0 -3
- package/dist/RichTextField-Bog2i4NN.cjs +0 -1
- package/dist/RichTextField-b-8QbNCJ.js +0 -3
- package/dist/SelectField-CAa6c0cB.cjs +0 -1
- package/dist/SelectField-DMy5IxRc.js +0 -3
- package/dist/SignatureField-BvTPE7Dn.js +0 -3
- package/dist/SignatureField-jsb-0AYp.cjs +0 -1
- package/dist/SliderField-B7WvKFv7.js +0 -3
- package/dist/SliderField-DRjEJSxK.cjs +0 -1
- package/dist/SummaryField-DA16Edq3.cjs +0 -1
- package/dist/SummaryField-DVSVfKmY.js +0 -3
- package/dist/TextAreaField--ut87UiB.js +0 -3
- package/dist/TextAreaField-Cxp3DFC6.cjs +0 -1
- package/dist/TextField-CkEDGbkQ.js +0 -3
- package/dist/TextField-aLAzBaLZ.cjs +0 -1
- package/dist/TimeField-D0lF0y_I.cjs +0 -1
- package/dist/TimeField-DA_S6lQV.js +0 -3
- package/dist/UrlField-D0ugmD3f.cjs +0 -1
- package/dist/UrlField-DCnXHR1A.js +0 -3
- package/dist/UserField-DGlorzyG.cjs +0 -1
- package/dist/UserField-V0GmvyGV.js +0 -3
- package/dist/VectorField-BSD85ntU.cjs +0 -1
- package/dist/VectorField-CVi5yrrc.js +0 -3
- package/dist/jsx-runtime-DHCF5ANT.cjs +0 -6
- package/dist/jsx-runtime-MxADXuRH.js +0 -189
- /package/dist/{fields → packages/fields}/src/__tests__/boolean-checkbox.test.d.ts +0 -0
- /package/dist/{fields → packages/fields}/src/__tests__/cell-renderers.test.d.ts +0 -0
- /package/dist/{fields → packages/fields}/src/__tests__/datetime-cell.test.d.ts +0 -0
- /package/dist/{fields → packages/fields}/src/__tests__/datetime-timezone.test.d.ts +0 -0
- /package/dist/{fields → packages/fields}/src/__tests__/extreme-inputs.test.d.ts +0 -0
- /package/dist/{fields → packages/fields}/src/__tests__/form-variants.test.d.ts +0 -0
- /package/dist/{fields → packages/fields}/src/__tests__/validation-feedback.test.d.ts +0 -0
- /package/dist/{fields → packages/fields}/src/complex-widgets.test.d.ts +0 -0
- /package/dist/{fields → packages/fields}/src/datetime-widgets.test.d.ts +0 -0
- /package/dist/{fields → packages/fields}/src/fields-edge-cases.stories.d.ts +0 -0
- /package/dist/{fields → packages/fields}/src/fields.stories.d.ts +0 -0
- /package/dist/{fields → packages/fields}/src/index.d.ts +0 -0
- /package/dist/{fields → packages/fields}/src/new-widgets.test.d.ts +0 -0
- /package/dist/{fields → packages/fields}/src/record-picker-dialog.stories.d.ts +0 -0
- /package/dist/{fields → packages/fields}/src/record-picker.test.d.ts +0 -0
- /package/dist/{fields → packages/fields}/src/remaining-widgets.test.d.ts +0 -0
- /package/dist/{fields → packages/fields}/src/standard-widgets.test.d.ts +0 -0
- /package/dist/{fields → packages/fields}/src/text-rich-widgets.test.d.ts +0 -0
- /package/dist/{fields → packages/fields}/src/visual-widgets.test.d.ts +0 -0
- /package/dist/{fields → packages/fields}/src/widgets/AddressField.d.ts +0 -0
- /package/dist/{fields → packages/fields}/src/widgets/AutoNumberField.d.ts +0 -0
- /package/dist/{fields → packages/fields}/src/widgets/AvatarField.d.ts +0 -0
- /package/dist/{fields → packages/fields}/src/widgets/BooleanField.d.ts +0 -0
- /package/dist/{fields → packages/fields}/src/widgets/CodeField.d.ts +0 -0
- /package/dist/{fields → packages/fields}/src/widgets/ColorField.d.ts +0 -0
- /package/dist/{fields → packages/fields}/src/widgets/CurrencyField.d.ts +0 -0
- /package/dist/{fields → packages/fields}/src/widgets/DateField.d.ts +0 -0
- /package/dist/{fields → packages/fields}/src/widgets/DateTimeField.d.ts +0 -0
- /package/dist/{fields → packages/fields}/src/widgets/EmailField.d.ts +0 -0
- /package/dist/{fields → packages/fields}/src/widgets/FileField.d.ts +0 -0
- /package/dist/{fields → packages/fields}/src/widgets/FormulaField.d.ts +0 -0
- /package/dist/{fields → packages/fields}/src/widgets/GeolocationField.d.ts +0 -0
- /package/dist/{fields → packages/fields}/src/widgets/GridField.d.ts +0 -0
- /package/dist/{fields → packages/fields}/src/widgets/ImageField.d.ts +0 -0
- /package/dist/{fields → packages/fields}/src/widgets/LocationField.d.ts +0 -0
- /package/dist/{fields → packages/fields}/src/widgets/LookupField.d.ts +0 -0
- /package/dist/{fields → packages/fields}/src/widgets/MasterDetailField.d.ts +0 -0
- /package/dist/{fields → packages/fields}/src/widgets/NumberField.d.ts +0 -0
- /package/dist/{fields → packages/fields}/src/widgets/ObjectField.d.ts +0 -0
- /package/dist/{fields → packages/fields}/src/widgets/PasswordField.d.ts +0 -0
- /package/dist/{fields → packages/fields}/src/widgets/PercentField.d.ts +0 -0
- /package/dist/{fields → packages/fields}/src/widgets/PhoneField.d.ts +0 -0
- /package/dist/{fields → packages/fields}/src/widgets/QRCodeField.d.ts +0 -0
- /package/dist/{fields → packages/fields}/src/widgets/RatingField.d.ts +0 -0
- /package/dist/{fields → packages/fields}/src/widgets/RecordPickerDialog.d.ts +0 -0
- /package/dist/{fields → packages/fields}/src/widgets/RichTextField.d.ts +0 -0
- /package/dist/{fields → packages/fields}/src/widgets/SelectField.d.ts +0 -0
- /package/dist/{fields → packages/fields}/src/widgets/SignatureField.d.ts +0 -0
- /package/dist/{fields → packages/fields}/src/widgets/SliderField.d.ts +0 -0
- /package/dist/{fields → packages/fields}/src/widgets/SummaryField.d.ts +0 -0
- /package/dist/{fields → packages/fields}/src/widgets/TextAreaField.d.ts +0 -0
- /package/dist/{fields → packages/fields}/src/widgets/TextField.d.ts +0 -0
- /package/dist/{fields → packages/fields}/src/widgets/TimeField.d.ts +0 -0
- /package/dist/{fields → packages/fields}/src/widgets/UrlField.d.ts +0 -0
- /package/dist/{fields → packages/fields}/src/widgets/UserField.d.ts +0 -0
- /package/dist/{fields → packages/fields}/src/widgets/VectorField.d.ts +0 -0
- /package/dist/{fields → packages/fields}/src/widgets/_cell-renderer-bridge.d.ts +0 -0
- /package/dist/{fields → packages/fields}/src/widgets/types.d.ts +0 -0
package/dist/index.js
CHANGED
|
@@ -1,25 +1,27 @@
|
|
|
1
|
-
import { t as e } from "./
|
|
2
|
-
import {
|
|
3
|
-
import
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
1
|
+
import { t as e } from "./rolldown-runtime-CAFD8bLK.js";
|
|
2
|
+
import { t } from "./useFieldTranslation-Bv3oUVgb.js";
|
|
3
|
+
import { i as n, r, t as i } from "./LookupField-B6MOSQVJ.js";
|
|
4
|
+
import a, { useCallback as o, useEffect as s, useId as c, useRef as l, useState as u } from "react";
|
|
5
|
+
import { ComponentRegistry as d } from "@object-ui/core";
|
|
6
|
+
import { Avatar as f, AvatarFallback as p, AvatarImage as m, Badge as h, Button as g, Checkbox as ee, Input as _, Label as v, Select as te, SelectContent as ne, SelectItem as re, SelectTrigger as ie, SelectValue as ae, Slider as y, Switch as oe, Textarea as b, cn as x } from "@object-ui/components";
|
|
7
|
+
import { Check as S, Copy as se, Crosshair as ce, Eraser as le, ExternalLink as ue, Eye as de, EyeOff as fe, File as pe, Image as me, ImageIcon as he, MapPin as ge, Phone as _e, Plus as ve, QrCode as ye, Star as be, Upload as xe, X as C } from "lucide-react";
|
|
8
|
+
import { Fragment as Se, jsx as w, jsxs as T } from "react/jsx-runtime";
|
|
7
9
|
//#region src/widgets/TextField.tsx
|
|
8
|
-
var
|
|
9
|
-
function
|
|
10
|
+
var Ce = /* @__PURE__ */ e({ TextField: () => we });
|
|
11
|
+
function we({ value: e, onChange: t, field: n, readonly: r, ...i }) {
|
|
10
12
|
let a = n || i.schema;
|
|
11
|
-
if (r) return /* @__PURE__ */ (
|
|
13
|
+
if (r) return /* @__PURE__ */ w("span", {
|
|
12
14
|
className: "text-sm",
|
|
13
15
|
children: e || "-"
|
|
14
16
|
});
|
|
15
17
|
let o = a?.rows, { inputType: s, ...c } = i;
|
|
16
|
-
return o && o > 1 ? /* @__PURE__ */ (
|
|
18
|
+
return o && o > 1 ? /* @__PURE__ */ w(b, {
|
|
17
19
|
...c,
|
|
18
20
|
value: e || "",
|
|
19
21
|
onChange: (e) => t(e.target.value),
|
|
20
22
|
placeholder: a?.placeholder,
|
|
21
23
|
disabled: r || c.disabled
|
|
22
|
-
}) : /* @__PURE__ */ (
|
|
24
|
+
}) : /* @__PURE__ */ w(_, {
|
|
23
25
|
...c,
|
|
24
26
|
type: a?.type === "password" ? "password" : "text",
|
|
25
27
|
value: e || "",
|
|
@@ -30,13 +32,14 @@ function j({ value: e, onChange: t, field: n, readonly: r, ...i }) {
|
|
|
30
32
|
}
|
|
31
33
|
//#endregion
|
|
32
34
|
//#region src/widgets/NumberField.tsx
|
|
33
|
-
|
|
34
|
-
|
|
35
|
+
var Te = /* @__PURE__ */ e({ NumberField: () => E });
|
|
36
|
+
function E({ value: e, onChange: t, field: n, readonly: r, ...i }) {
|
|
37
|
+
if (r) return /* @__PURE__ */ w("span", {
|
|
35
38
|
className: "text-sm",
|
|
36
39
|
children: e ?? "-"
|
|
37
40
|
});
|
|
38
41
|
let a = n || i.schema, o = a?.precision, { inputType: s, ...c } = i;
|
|
39
|
-
return /* @__PURE__ */ (
|
|
42
|
+
return /* @__PURE__ */ w(_, {
|
|
40
43
|
...c,
|
|
41
44
|
type: "number",
|
|
42
45
|
value: e ?? "",
|
|
@@ -51,34 +54,35 @@ function M({ value: e, onChange: t, field: n, readonly: r, ...i }) {
|
|
|
51
54
|
}
|
|
52
55
|
//#endregion
|
|
53
56
|
//#region src/widgets/BooleanField.tsx
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
+
var Ee = /* @__PURE__ */ e({ BooleanField: () => D });
|
|
58
|
+
function D({ value: e, onChange: t, field: n, readonly: r, ...i }) {
|
|
59
|
+
let a = n || i.schema, o = a?.widget, s = c(), l = a?.name || s, u = a?.label || "Checkbox";
|
|
60
|
+
if (r) return /* @__PURE__ */ w("span", {
|
|
57
61
|
className: "text-sm",
|
|
58
62
|
children: e ? "Yes" : "No"
|
|
59
63
|
});
|
|
60
64
|
let { inputType: d, ...f } = i;
|
|
61
|
-
return o === "checkbox" ? /* @__PURE__ */ (
|
|
65
|
+
return o === "checkbox" ? /* @__PURE__ */ T("div", {
|
|
62
66
|
className: "flex items-center space-x-2",
|
|
63
|
-
children: [/* @__PURE__ */ (
|
|
67
|
+
children: [/* @__PURE__ */ w(ee, {
|
|
64
68
|
...f,
|
|
65
69
|
id: l,
|
|
66
70
|
checked: !!e,
|
|
67
71
|
onCheckedChange: (e) => t(!!e),
|
|
68
72
|
disabled: r || f.disabled
|
|
69
|
-
}), /* @__PURE__ */ (
|
|
73
|
+
}), /* @__PURE__ */ w(v, {
|
|
70
74
|
htmlFor: l,
|
|
71
75
|
children: u
|
|
72
76
|
})]
|
|
73
|
-
}) : /* @__PURE__ */ (
|
|
77
|
+
}) : /* @__PURE__ */ T("div", {
|
|
74
78
|
className: "flex items-center space-x-2",
|
|
75
|
-
children: [/* @__PURE__ */ (
|
|
79
|
+
children: [/* @__PURE__ */ w(oe, {
|
|
76
80
|
...f,
|
|
77
81
|
id: l,
|
|
78
82
|
checked: !!e,
|
|
79
83
|
onCheckedChange: t,
|
|
80
84
|
disabled: r || f.disabled
|
|
81
|
-
}), /* @__PURE__ */ (
|
|
85
|
+
}), /* @__PURE__ */ w(v, {
|
|
82
86
|
htmlFor: l,
|
|
83
87
|
children: u
|
|
84
88
|
})]
|
|
@@ -86,23 +90,24 @@ function N({ value: e, onChange: t, field: n, readonly: r, ...i }) {
|
|
|
86
90
|
}
|
|
87
91
|
//#endregion
|
|
88
92
|
//#region src/widgets/SelectField.tsx
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
93
|
+
var De = /* @__PURE__ */ e({ SelectField: () => O });
|
|
94
|
+
function O({ value: e, onChange: n, field: r, readonly: i, ...a }) {
|
|
95
|
+
let o = r || a.schema, s = o?.options || [], { t: c } = t();
|
|
96
|
+
return i ? /* @__PURE__ */ w("span", {
|
|
92
97
|
className: "text-sm",
|
|
93
|
-
children:
|
|
94
|
-
}) : /* @__PURE__ */ (
|
|
95
|
-
...
|
|
98
|
+
children: s.find((t) => t.value === e)?.label || e || "-"
|
|
99
|
+
}) : /* @__PURE__ */ T(te, {
|
|
100
|
+
...a,
|
|
96
101
|
value: e,
|
|
97
|
-
onValueChange:
|
|
98
|
-
disabled:
|
|
99
|
-
children: [/* @__PURE__ */ (
|
|
100
|
-
className:
|
|
101
|
-
id:
|
|
102
|
-
children: /* @__PURE__ */ (
|
|
103
|
-
}), /* @__PURE__ */ (
|
|
102
|
+
onValueChange: n,
|
|
103
|
+
disabled: i || a.disabled,
|
|
104
|
+
children: [/* @__PURE__ */ w(ie, {
|
|
105
|
+
className: a.className,
|
|
106
|
+
id: a.id,
|
|
107
|
+
children: /* @__PURE__ */ w(ae, { placeholder: o?.placeholder || c("common.selectOption") })
|
|
108
|
+
}), /* @__PURE__ */ w(ne, {
|
|
104
109
|
position: "popper",
|
|
105
|
-
children:
|
|
110
|
+
children: s.map((e) => /* @__PURE__ */ w(re, {
|
|
106
111
|
value: e.value,
|
|
107
112
|
children: e.label
|
|
108
113
|
}, e.value))
|
|
@@ -111,13 +116,14 @@ function P({ value: e, onChange: t, field: n, readonly: r, ...i }) {
|
|
|
111
116
|
}
|
|
112
117
|
//#endregion
|
|
113
118
|
//#region src/widgets/DateField.tsx
|
|
114
|
-
|
|
115
|
-
|
|
119
|
+
var Oe = /* @__PURE__ */ e({ DateField: () => ke });
|
|
120
|
+
function ke({ value: e, onChange: t, field: n, readonly: r, ...i }) {
|
|
121
|
+
if (r) return /* @__PURE__ */ w("span", {
|
|
116
122
|
className: "text-sm",
|
|
117
123
|
children: e ? new Date(e).toLocaleDateString() : "-"
|
|
118
124
|
});
|
|
119
125
|
let { inputType: a, ...o } = i;
|
|
120
|
-
return /* @__PURE__ */ (
|
|
126
|
+
return /* @__PURE__ */ w(_, {
|
|
121
127
|
...o,
|
|
122
128
|
type: "date",
|
|
123
129
|
value: e || "",
|
|
@@ -127,18 +133,19 @@ function F({ value: e, onChange: t, field: n, readonly: r, ...i }) {
|
|
|
127
133
|
}
|
|
128
134
|
//#endregion
|
|
129
135
|
//#region src/widgets/EmailField.tsx
|
|
130
|
-
|
|
136
|
+
var Ae = /* @__PURE__ */ e({ EmailField: () => je });
|
|
137
|
+
function je({ value: e, onChange: t, field: n, readonly: r, errorMessage: i, ...a }) {
|
|
131
138
|
let o = n || a.schema;
|
|
132
|
-
if (r) return e ? /* @__PURE__ */ (
|
|
139
|
+
if (r) return e ? /* @__PURE__ */ w("a", {
|
|
133
140
|
href: `mailto:${e}`,
|
|
134
141
|
className: "text-sm text-blue-600 hover:text-blue-800 hover:underline",
|
|
135
142
|
children: e
|
|
136
|
-
}) : /* @__PURE__ */ (
|
|
143
|
+
}) : /* @__PURE__ */ w("span", {
|
|
137
144
|
className: "text-sm",
|
|
138
145
|
children: "-"
|
|
139
146
|
});
|
|
140
147
|
let { inputType: s, ...c } = a;
|
|
141
|
-
return /* @__PURE__ */ (
|
|
148
|
+
return /* @__PURE__ */ w(_, {
|
|
142
149
|
...c,
|
|
143
150
|
type: "email",
|
|
144
151
|
value: e || "",
|
|
@@ -150,18 +157,19 @@ function I({ value: e, onChange: t, field: n, readonly: r, errorMessage: i, ...a
|
|
|
150
157
|
}
|
|
151
158
|
//#endregion
|
|
152
159
|
//#region src/widgets/PhoneField.tsx
|
|
153
|
-
|
|
160
|
+
var Me = /* @__PURE__ */ e({ PhoneField: () => Ne });
|
|
161
|
+
function Ne({ value: e, onChange: t, field: n, readonly: r, errorMessage: i, ...a }) {
|
|
154
162
|
let o = n || a.schema;
|
|
155
|
-
if (r) return e ? /* @__PURE__ */ (
|
|
163
|
+
if (r) return e ? /* @__PURE__ */ w("a", {
|
|
156
164
|
href: `tel:${e}`,
|
|
157
165
|
className: "text-sm text-blue-600 hover:text-blue-800 hover:underline",
|
|
158
166
|
children: e
|
|
159
|
-
}) : /* @__PURE__ */ (
|
|
167
|
+
}) : /* @__PURE__ */ w("span", {
|
|
160
168
|
className: "text-sm",
|
|
161
169
|
children: "-"
|
|
162
170
|
});
|
|
163
171
|
let { inputType: s, ...c } = a;
|
|
164
|
-
return /* @__PURE__ */ (
|
|
172
|
+
return /* @__PURE__ */ w(_, {
|
|
165
173
|
...c,
|
|
166
174
|
type: "tel",
|
|
167
175
|
value: e || "",
|
|
@@ -173,23 +181,24 @@ function L({ value: e, onChange: t, field: n, readonly: r, errorMessage: i, ...a
|
|
|
173
181
|
}
|
|
174
182
|
//#endregion
|
|
175
183
|
//#region src/widgets/UrlField.tsx
|
|
176
|
-
|
|
184
|
+
var Pe = /* @__PURE__ */ e({ UrlField: () => k });
|
|
185
|
+
function k({ value: e, onChange: t, field: n, readonly: r, errorMessage: i, ...a }) {
|
|
177
186
|
let o = n || a.schema;
|
|
178
|
-
if (r) return e ? e.startsWith("http://") || e.startsWith("https://") ? /* @__PURE__ */ (
|
|
187
|
+
if (r) return e ? e.startsWith("http://") || e.startsWith("https://") ? /* @__PURE__ */ w("a", {
|
|
179
188
|
href: e,
|
|
180
189
|
target: "_blank",
|
|
181
190
|
rel: "noopener noreferrer",
|
|
182
191
|
className: "text-sm text-blue-600 hover:text-blue-800 hover:underline",
|
|
183
192
|
children: e
|
|
184
|
-
}) : /* @__PURE__ */ (
|
|
193
|
+
}) : /* @__PURE__ */ w("span", {
|
|
185
194
|
className: "text-sm",
|
|
186
195
|
children: e
|
|
187
|
-
}) : /* @__PURE__ */ (
|
|
196
|
+
}) : /* @__PURE__ */ w("span", {
|
|
188
197
|
className: "text-sm",
|
|
189
198
|
children: "-"
|
|
190
199
|
});
|
|
191
200
|
let { inputType: s, ...c } = a;
|
|
192
|
-
return /* @__PURE__ */ (
|
|
201
|
+
return /* @__PURE__ */ w(_, {
|
|
193
202
|
...c,
|
|
194
203
|
type: "url",
|
|
195
204
|
value: e || "",
|
|
@@ -201,7 +210,8 @@ function R({ value: e, onChange: t, field: n, readonly: r, errorMessage: i, ...a
|
|
|
201
210
|
}
|
|
202
211
|
//#endregion
|
|
203
212
|
//#region src/widgets/CurrencyField.tsx
|
|
204
|
-
|
|
213
|
+
var Fe = /* @__PURE__ */ e({ CurrencyField: () => A });
|
|
214
|
+
function Ie(e, t = "USD") {
|
|
205
215
|
try {
|
|
206
216
|
return new Intl.NumberFormat("en-US", {
|
|
207
217
|
style: "currency",
|
|
@@ -211,25 +221,25 @@ function he(e, t = "USD") {
|
|
|
211
221
|
return `${t} ${e.toFixed(2)}`;
|
|
212
222
|
}
|
|
213
223
|
}
|
|
214
|
-
function
|
|
224
|
+
function A({ value: e, onChange: t, field: n, readonly: r, errorMessage: i, className: a, ...o }) {
|
|
215
225
|
let s = n || o.schema, c = s?.currency || "USD", l = s?.precision ?? 2;
|
|
216
|
-
if (r) return e == null ? /* @__PURE__ */ (
|
|
226
|
+
if (r) return e == null ? /* @__PURE__ */ w("span", {
|
|
217
227
|
className: "text-sm",
|
|
218
228
|
children: "-"
|
|
219
|
-
}) : /* @__PURE__ */ (
|
|
229
|
+
}) : /* @__PURE__ */ w("span", {
|
|
220
230
|
className: "text-sm font-medium tabular-nums",
|
|
221
|
-
children:
|
|
231
|
+
children: Ie(Number(e), c)
|
|
222
232
|
});
|
|
223
233
|
let u = (e) => {
|
|
224
234
|
let n = parseFloat(e.target.value);
|
|
225
235
|
isNaN(n) || t(parseFloat(n.toFixed(l)));
|
|
226
236
|
};
|
|
227
|
-
return /* @__PURE__ */ (
|
|
237
|
+
return /* @__PURE__ */ T("div", {
|
|
228
238
|
className: "relative",
|
|
229
|
-
children: [/* @__PURE__ */ (
|
|
239
|
+
children: [/* @__PURE__ */ w("span", {
|
|
230
240
|
className: "absolute left-3 top-1/2 -translate-y-1/2 text-sm text-gray-500",
|
|
231
241
|
children: c === "USD" ? "$" : c
|
|
232
|
-
}), /* @__PURE__ */ (
|
|
242
|
+
}), /* @__PURE__ */ w(_, {
|
|
233
243
|
...o,
|
|
234
244
|
type: "number",
|
|
235
245
|
value: e ?? "",
|
|
@@ -247,15 +257,16 @@ function z({ value: e, onChange: t, field: n, readonly: r, errorMessage: i, clas
|
|
|
247
257
|
}
|
|
248
258
|
//#endregion
|
|
249
259
|
//#region src/widgets/TextAreaField.tsx
|
|
250
|
-
|
|
251
|
-
|
|
260
|
+
var Le = /* @__PURE__ */ e({ TextAreaField: () => j });
|
|
261
|
+
function j({ value: e, onChange: t, field: n, readonly: r, errorMessage: i, ...a }) {
|
|
262
|
+
if (r) return /* @__PURE__ */ w("div", {
|
|
252
263
|
className: "text-sm whitespace-pre-wrap",
|
|
253
264
|
children: e || "-"
|
|
254
265
|
});
|
|
255
266
|
let o = n || a.schema, s = o?.rows || 4, c = o?.max_length, { inputType: l, ...u } = a;
|
|
256
|
-
return /* @__PURE__ */ (
|
|
267
|
+
return /* @__PURE__ */ T("div", {
|
|
257
268
|
className: "relative",
|
|
258
|
-
children: [/* @__PURE__ */ (
|
|
269
|
+
children: [/* @__PURE__ */ w(b, {
|
|
259
270
|
...u,
|
|
260
271
|
value: e || "",
|
|
261
272
|
onChange: (e) => t(e.target.value),
|
|
@@ -264,7 +275,7 @@ function ge({ value: e, onChange: t, field: n, readonly: r, errorMessage: i, ...
|
|
|
264
275
|
rows: s,
|
|
265
276
|
maxLength: c,
|
|
266
277
|
"aria-invalid": !!i
|
|
267
|
-
}), c && /* @__PURE__ */ (
|
|
278
|
+
}), c && /* @__PURE__ */ T("div", {
|
|
268
279
|
className: "absolute bottom-2 right-2 text-xs text-gray-400",
|
|
269
280
|
"aria-live": "polite",
|
|
270
281
|
"aria-label": `Character count: ${(e || "").length} of ${c}`,
|
|
@@ -278,21 +289,22 @@ function ge({ value: e, onChange: t, field: n, readonly: r, errorMessage: i, ...
|
|
|
278
289
|
}
|
|
279
290
|
//#endregion
|
|
280
291
|
//#region src/widgets/RichTextField.tsx
|
|
281
|
-
|
|
282
|
-
|
|
292
|
+
var Re = /* @__PURE__ */ e({ RichTextField: () => M });
|
|
293
|
+
function M({ value: e, onChange: t, field: n, readonly: r, errorMessage: i, ...a }) {
|
|
294
|
+
if (r) return /* @__PURE__ */ w("div", {
|
|
283
295
|
className: "text-sm prose prose-sm max-w-none",
|
|
284
296
|
children: e || "-"
|
|
285
297
|
});
|
|
286
298
|
let o = n || a.schema, s = o?.rows || 8;
|
|
287
|
-
return /* @__PURE__ */ (
|
|
299
|
+
return /* @__PURE__ */ T("div", {
|
|
288
300
|
className: "space-y-2",
|
|
289
|
-
children: [/* @__PURE__ */ (
|
|
301
|
+
children: [/* @__PURE__ */ T("div", {
|
|
290
302
|
className: "flex items-center justify-between text-xs text-gray-500",
|
|
291
|
-
children: [/* @__PURE__ */ (
|
|
303
|
+
children: [/* @__PURE__ */ T("span", { children: ["Format: ", o?.format || "markdown"] }), /* @__PURE__ */ w("span", {
|
|
292
304
|
className: "italic",
|
|
293
305
|
children: "Rich text editor (basic)"
|
|
294
306
|
})]
|
|
295
|
-
}), /* @__PURE__ */ (
|
|
307
|
+
}), /* @__PURE__ */ w(b, {
|
|
296
308
|
value: e || "",
|
|
297
309
|
onChange: (e) => t(e.target.value),
|
|
298
310
|
placeholder: o?.placeholder || "Enter text...",
|
|
@@ -305,14 +317,15 @@ function B({ value: e, onChange: t, field: n, readonly: r, errorMessage: i, ...a
|
|
|
305
317
|
}
|
|
306
318
|
//#endregion
|
|
307
319
|
//#region src/widgets/DateTimeField.tsx
|
|
308
|
-
|
|
320
|
+
var ze = /* @__PURE__ */ e({ DateTimeField: () => N });
|
|
321
|
+
function N({ value: e, onChange: t, field: n, readonly: r, ...i }) {
|
|
309
322
|
if (r) {
|
|
310
|
-
if (!e) return /* @__PURE__ */ (
|
|
323
|
+
if (!e) return /* @__PURE__ */ w("span", {
|
|
311
324
|
className: "text-sm",
|
|
312
325
|
children: "-"
|
|
313
326
|
});
|
|
314
327
|
let t = new Date(e);
|
|
315
|
-
return /* @__PURE__ */ (
|
|
328
|
+
return /* @__PURE__ */ T("span", {
|
|
316
329
|
className: "text-sm",
|
|
317
330
|
children: [
|
|
318
331
|
t.toLocaleDateString(),
|
|
@@ -322,7 +335,7 @@ function _e({ value: e, onChange: t, field: n, readonly: r, ...i }) {
|
|
|
322
335
|
});
|
|
323
336
|
}
|
|
324
337
|
let { inputType: a, ...o } = i;
|
|
325
|
-
return /* @__PURE__ */ (
|
|
338
|
+
return /* @__PURE__ */ w(_, {
|
|
326
339
|
...o,
|
|
327
340
|
type: "datetime-local",
|
|
328
341
|
value: e || "",
|
|
@@ -332,13 +345,14 @@ function _e({ value: e, onChange: t, field: n, readonly: r, ...i }) {
|
|
|
332
345
|
}
|
|
333
346
|
//#endregion
|
|
334
347
|
//#region src/widgets/TimeField.tsx
|
|
335
|
-
|
|
336
|
-
|
|
348
|
+
var Be = /* @__PURE__ */ e({ TimeField: () => P });
|
|
349
|
+
function P({ value: e, onChange: t, field: n, readonly: r, ...i }) {
|
|
350
|
+
if (r) return /* @__PURE__ */ w("span", {
|
|
337
351
|
className: "text-sm",
|
|
338
352
|
children: e || "-"
|
|
339
353
|
});
|
|
340
354
|
let { inputType: a, ...o } = i;
|
|
341
|
-
return /* @__PURE__ */ (
|
|
355
|
+
return /* @__PURE__ */ w(_, {
|
|
342
356
|
...o,
|
|
343
357
|
type: "time",
|
|
344
358
|
value: e || "",
|
|
@@ -348,12 +362,13 @@ function ve({ value: e, onChange: t, field: n, readonly: r, ...i }) {
|
|
|
348
362
|
}
|
|
349
363
|
//#endregion
|
|
350
364
|
//#region src/widgets/PercentField.tsx
|
|
351
|
-
|
|
365
|
+
var Ve = /* @__PURE__ */ e({ PercentField: () => F });
|
|
366
|
+
function F({ value: e, onChange: t, field: n, readonly: r, errorMessage: i, className: a, ...o }) {
|
|
352
367
|
let s = n || o.schema, c = s?.precision ?? 2;
|
|
353
|
-
if (r) return e == null ? /* @__PURE__ */ (
|
|
368
|
+
if (r) return e == null ? /* @__PURE__ */ w("span", {
|
|
354
369
|
className: "text-sm",
|
|
355
370
|
children: "-"
|
|
356
|
-
}) : /* @__PURE__ */ (
|
|
371
|
+
}) : /* @__PURE__ */ T("span", {
|
|
357
372
|
className: "text-sm font-medium tabular-nums",
|
|
358
373
|
children: [(e * 100).toFixed(c), "%"]
|
|
359
374
|
});
|
|
@@ -373,11 +388,11 @@ function ye({ value: e, onChange: t, field: n, readonly: r, errorMessage: i, cla
|
|
|
373
388
|
let n = e[0];
|
|
374
389
|
t(typeof n == "number" ? n / 100 : null);
|
|
375
390
|
}, p = 10 ** -c;
|
|
376
|
-
return /* @__PURE__ */ (
|
|
391
|
+
return /* @__PURE__ */ T("div", {
|
|
377
392
|
className: "space-y-2",
|
|
378
|
-
children: [/* @__PURE__ */ (
|
|
393
|
+
children: [/* @__PURE__ */ T("div", {
|
|
379
394
|
className: "relative",
|
|
380
|
-
children: [/* @__PURE__ */ (
|
|
395
|
+
children: [/* @__PURE__ */ w(_, {
|
|
381
396
|
...o,
|
|
382
397
|
type: "number",
|
|
383
398
|
value: l,
|
|
@@ -387,11 +402,11 @@ function ye({ value: e, onChange: t, field: n, readonly: r, errorMessage: i, cla
|
|
|
387
402
|
className: `pr-8 ${a || ""}`,
|
|
388
403
|
step: (10 ** -c).toFixed(c),
|
|
389
404
|
"aria-invalid": !!i
|
|
390
|
-
}), /* @__PURE__ */ (
|
|
405
|
+
}), /* @__PURE__ */ w("span", {
|
|
391
406
|
className: "absolute right-3 top-1/2 -translate-y-1/2 text-sm text-gray-500",
|
|
392
407
|
children: "%"
|
|
393
408
|
})]
|
|
394
|
-
}), /* @__PURE__ */ (
|
|
409
|
+
}), /* @__PURE__ */ w(y, {
|
|
395
410
|
value: [u],
|
|
396
411
|
onValueChange: f,
|
|
397
412
|
min: 0,
|
|
@@ -406,16 +421,17 @@ function ye({ value: e, onChange: t, field: n, readonly: r, errorMessage: i, cla
|
|
|
406
421
|
}
|
|
407
422
|
//#endregion
|
|
408
423
|
//#region src/widgets/PasswordField.tsx
|
|
409
|
-
|
|
410
|
-
|
|
411
|
-
|
|
424
|
+
var He = /* @__PURE__ */ e({ PasswordField: () => I });
|
|
425
|
+
function I({ value: e, onChange: t, field: n, readonly: r, className: i, ...a }) {
|
|
426
|
+
let [o, s] = u(!1), c = n || a.schema;
|
|
427
|
+
if (r) return /* @__PURE__ */ w("span", {
|
|
412
428
|
className: "text-sm",
|
|
413
429
|
children: "••••••••"
|
|
414
430
|
});
|
|
415
|
-
let { inputType:
|
|
416
|
-
return /* @__PURE__ */ (
|
|
431
|
+
let { inputType: l, ...d } = a;
|
|
432
|
+
return /* @__PURE__ */ T("div", {
|
|
417
433
|
className: "relative",
|
|
418
|
-
children: [/* @__PURE__ */ (
|
|
434
|
+
children: [/* @__PURE__ */ w(_, {
|
|
419
435
|
...d,
|
|
420
436
|
type: o ? "text" : "password",
|
|
421
437
|
value: e || "",
|
|
@@ -423,21 +439,22 @@ function be({ value: e, onChange: t, field: n, readonly: r, className: i, ...a }
|
|
|
423
439
|
placeholder: c?.placeholder,
|
|
424
440
|
disabled: r || d.disabled,
|
|
425
441
|
className: `pr-10 ${i || ""}`
|
|
426
|
-
}), /* @__PURE__ */ (
|
|
442
|
+
}), /* @__PURE__ */ w(g, {
|
|
427
443
|
type: "button",
|
|
428
444
|
variant: "ghost",
|
|
429
445
|
size: "sm",
|
|
430
446
|
className: "absolute right-0 top-0 h-full px-3 py-2 hover:bg-transparent",
|
|
431
447
|
onClick: () => s(!o),
|
|
432
448
|
tabIndex: -1,
|
|
433
|
-
children: o ?
|
|
449
|
+
children: w(o ? fe : de, { className: "size-4 text-gray-500" })
|
|
434
450
|
})]
|
|
435
451
|
});
|
|
436
452
|
}
|
|
437
453
|
//#endregion
|
|
438
454
|
//#region src/widgets/FileField.tsx
|
|
439
|
-
|
|
440
|
-
|
|
455
|
+
var Ue = /* @__PURE__ */ e({ FileField: () => L });
|
|
456
|
+
function L({ value: e, onChange: t, field: n, readonly: r, ...i }) {
|
|
457
|
+
let a = l(null), s = n || i.schema, c = s?.multiple || !1, d = s?.accept ? s.accept.join(",") : void 0, f = s?.maxSize, [p, m] = u(!1), [h, ee] = u([]), _ = e ? Array.isArray(e) ? e : [e] : [], v = o((e) => {
|
|
441
458
|
if (e.length === 0) return;
|
|
442
459
|
let n = [], r = e.filter((e) => {
|
|
443
460
|
if (f && e.size > f) {
|
|
@@ -446,7 +463,7 @@ function xe({ value: e, onChange: t, field: n, readonly: r, ...i }) {
|
|
|
446
463
|
}
|
|
447
464
|
return !0;
|
|
448
465
|
});
|
|
449
|
-
if (
|
|
466
|
+
if (ee(n), r.length === 0) return;
|
|
450
467
|
let i = r.map((e) => ({
|
|
451
468
|
name: e.name,
|
|
452
469
|
original_name: e.name,
|
|
@@ -454,62 +471,62 @@ function xe({ value: e, onChange: t, field: n, readonly: r, ...i }) {
|
|
|
454
471
|
mime_type: e.type,
|
|
455
472
|
url: URL.createObjectURL(e)
|
|
456
473
|
}));
|
|
457
|
-
t(
|
|
474
|
+
t(c ? [..._, ...i] : i[0]);
|
|
458
475
|
}, [
|
|
459
|
-
|
|
460
|
-
|
|
476
|
+
_,
|
|
477
|
+
c,
|
|
461
478
|
t,
|
|
462
479
|
f
|
|
463
|
-
]),
|
|
480
|
+
]), te = o((e) => {
|
|
464
481
|
e.preventDefault(), e.stopPropagation(), m(!0);
|
|
465
|
-
}, []),
|
|
482
|
+
}, []), ne = o((e) => {
|
|
466
483
|
e.preventDefault(), e.stopPropagation(), m(!1);
|
|
467
|
-
}, []),
|
|
484
|
+
}, []), re = o((e) => {
|
|
468
485
|
e.preventDefault(), e.stopPropagation(), m(!1);
|
|
469
486
|
let t = Array.from(e.dataTransfer.files);
|
|
470
487
|
if (d) {
|
|
471
488
|
let e = d.split(",").map((e) => e.trim().toLowerCase());
|
|
472
|
-
|
|
489
|
+
v(t.filter((t) => {
|
|
473
490
|
let n = t.name.split("."), r = n.length > 1 ? "." + n.pop()?.toLowerCase() : "";
|
|
474
491
|
return e.some((e) => e === t.type || r && e === r || e.endsWith("/*") && t.type.startsWith(e.replace("/*", "/")));
|
|
475
492
|
}));
|
|
476
|
-
} else
|
|
477
|
-
}, [d,
|
|
478
|
-
if (r) return e ? /* @__PURE__ */ (
|
|
493
|
+
} else v(t);
|
|
494
|
+
}, [d, v]);
|
|
495
|
+
if (r) return e ? /* @__PURE__ */ w("div", {
|
|
479
496
|
className: "flex flex-wrap gap-2",
|
|
480
|
-
children: (Array.isArray(e) ? e : [e]).map((e, t) => /* @__PURE__ */ (
|
|
497
|
+
children: (Array.isArray(e) ? e : [e]).map((e, t) => /* @__PURE__ */ w("span", {
|
|
481
498
|
className: "text-sm truncate max-w-xs",
|
|
482
499
|
children: e.name || e.original_name || "File"
|
|
483
500
|
}, t))
|
|
484
|
-
}) : /* @__PURE__ */ (
|
|
501
|
+
}) : /* @__PURE__ */ w("span", {
|
|
485
502
|
className: "text-sm",
|
|
486
503
|
children: "-"
|
|
487
504
|
});
|
|
488
|
-
let
|
|
489
|
-
|
|
490
|
-
},
|
|
491
|
-
if (
|
|
492
|
-
let n =
|
|
505
|
+
let ie = (e) => {
|
|
506
|
+
v(Array.from(e.target.files || []));
|
|
507
|
+
}, ae = (e) => {
|
|
508
|
+
if (c) {
|
|
509
|
+
let n = _.filter((t, n) => n !== e);
|
|
493
510
|
t(n.length > 0 ? n : null);
|
|
494
511
|
} else t(null);
|
|
495
|
-
},
|
|
496
|
-
return /* @__PURE__ */ (
|
|
512
|
+
}, y = (e) => (e.mime_type || "").startsWith("image/");
|
|
513
|
+
return /* @__PURE__ */ T("div", {
|
|
497
514
|
className: i.className,
|
|
498
|
-
children: [/* @__PURE__ */ (
|
|
499
|
-
ref:
|
|
515
|
+
children: [/* @__PURE__ */ w("input", {
|
|
516
|
+
ref: a,
|
|
500
517
|
type: "file",
|
|
501
|
-
multiple:
|
|
518
|
+
multiple: c,
|
|
502
519
|
accept: d,
|
|
503
|
-
onChange:
|
|
520
|
+
onChange: ie,
|
|
504
521
|
className: "hidden"
|
|
505
|
-
}), /* @__PURE__ */ (
|
|
522
|
+
}), /* @__PURE__ */ T("div", {
|
|
506
523
|
className: "space-y-2",
|
|
507
524
|
children: [
|
|
508
|
-
/* @__PURE__ */ (
|
|
509
|
-
onDragOver:
|
|
510
|
-
onDragLeave:
|
|
511
|
-
onDrop:
|
|
512
|
-
onClick: () =>
|
|
525
|
+
/* @__PURE__ */ T("div", {
|
|
526
|
+
onDragOver: te,
|
|
527
|
+
onDragLeave: ne,
|
|
528
|
+
onDrop: re,
|
|
529
|
+
onClick: () => a.current?.click(),
|
|
513
530
|
className: `
|
|
514
531
|
flex flex-col items-center justify-center gap-2 p-6
|
|
515
532
|
border-2 border-dashed rounded-lg cursor-pointer
|
|
@@ -519,43 +536,43 @@ function xe({ value: e, onChange: t, field: n, readonly: r, ...i }) {
|
|
|
519
536
|
role: "button",
|
|
520
537
|
tabIndex: 0,
|
|
521
538
|
onKeyDown: (e) => {
|
|
522
|
-
(e.key === "Enter" || e.key === " ") && (e.preventDefault(),
|
|
539
|
+
(e.key === "Enter" || e.key === " ") && (e.preventDefault(), a.current?.click());
|
|
523
540
|
},
|
|
524
|
-
children: [/* @__PURE__ */ (
|
|
541
|
+
children: [/* @__PURE__ */ w(xe, { className: `size-8 ${p ? "text-primary" : "text-muted-foreground"}` }), /* @__PURE__ */ T("div", {
|
|
525
542
|
className: "text-center",
|
|
526
|
-
children: [/* @__PURE__ */ (
|
|
543
|
+
children: [/* @__PURE__ */ w("p", {
|
|
527
544
|
className: "text-sm font-medium",
|
|
528
545
|
children: p ? "Drop files here" : "Drag & drop files here"
|
|
529
|
-
}), /* @__PURE__ */ (
|
|
546
|
+
}), /* @__PURE__ */ w("p", {
|
|
530
547
|
className: "text-xs text-muted-foreground mt-1",
|
|
531
548
|
children: "or click to browse"
|
|
532
549
|
})]
|
|
533
550
|
})]
|
|
534
551
|
}),
|
|
535
|
-
|
|
552
|
+
h.length > 0 && /* @__PURE__ */ w("div", {
|
|
536
553
|
className: "space-y-0.5",
|
|
537
|
-
children:
|
|
554
|
+
children: h.map((e, t) => /* @__PURE__ */ w("p", {
|
|
538
555
|
className: "text-xs text-destructive",
|
|
539
556
|
children: e
|
|
540
557
|
}, t))
|
|
541
558
|
}),
|
|
542
|
-
|
|
559
|
+
_.length > 0 && /* @__PURE__ */ w("div", {
|
|
543
560
|
className: "space-y-1",
|
|
544
|
-
children:
|
|
561
|
+
children: _.map((e, t) => /* @__PURE__ */ T("div", {
|
|
545
562
|
className: "flex items-center justify-between gap-2 p-2 bg-muted/50 rounded-md border",
|
|
546
|
-
children: [/* @__PURE__ */ (
|
|
563
|
+
children: [/* @__PURE__ */ T("div", {
|
|
547
564
|
className: "flex items-center gap-2 flex-1 min-w-0",
|
|
548
565
|
children: [
|
|
549
|
-
|
|
566
|
+
y(e) && e.url ? /* @__PURE__ */ w("img", {
|
|
550
567
|
src: e.url,
|
|
551
568
|
alt: e.name,
|
|
552
569
|
className: "size-8 object-cover rounded flex-shrink-0"
|
|
553
|
-
}) :
|
|
554
|
-
/* @__PURE__ */ (
|
|
570
|
+
}) : y(e) ? /* @__PURE__ */ w(he, { className: "size-4 text-muted-foreground flex-shrink-0" }) : /* @__PURE__ */ w(pe, { className: "size-4 text-muted-foreground flex-shrink-0" }),
|
|
571
|
+
/* @__PURE__ */ w("span", {
|
|
555
572
|
className: "text-sm truncate",
|
|
556
573
|
children: e.name || e.original_name || "File"
|
|
557
574
|
}),
|
|
558
|
-
e.size && /* @__PURE__ */ (
|
|
575
|
+
e.size && /* @__PURE__ */ T("span", {
|
|
559
576
|
className: "text-xs text-muted-foreground",
|
|
560
577
|
children: [
|
|
561
578
|
"(",
|
|
@@ -564,15 +581,15 @@ function xe({ value: e, onChange: t, field: n, readonly: r, ...i }) {
|
|
|
564
581
|
]
|
|
565
582
|
})
|
|
566
583
|
]
|
|
567
|
-
}), /* @__PURE__ */ (
|
|
584
|
+
}), /* @__PURE__ */ w(g, {
|
|
568
585
|
type: "button",
|
|
569
586
|
variant: "ghost",
|
|
570
587
|
size: "sm",
|
|
571
588
|
onClick: (e) => {
|
|
572
|
-
e.stopPropagation(),
|
|
589
|
+
e.stopPropagation(), ae(t);
|
|
573
590
|
},
|
|
574
591
|
className: "h-6 w-6 p-0",
|
|
575
|
-
children: /* @__PURE__ */ (
|
|
592
|
+
children: /* @__PURE__ */ w(C, { className: "size-3" })
|
|
576
593
|
})]
|
|
577
594
|
}, t))
|
|
578
595
|
})
|
|
@@ -582,16 +599,17 @@ function xe({ value: e, onChange: t, field: n, readonly: r, ...i }) {
|
|
|
582
599
|
}
|
|
583
600
|
//#endregion
|
|
584
601
|
//#region src/widgets/ImageField.tsx
|
|
585
|
-
|
|
586
|
-
|
|
587
|
-
|
|
602
|
+
var We = /* @__PURE__ */ e({ ImageField: () => R });
|
|
603
|
+
function R({ value: e, onChange: t, field: n, readonly: r, ...i }) {
|
|
604
|
+
let a = l(null), o = n || i.schema, s = o?.multiple || !1, c = o?.accept ? o.accept.join(",") : "image/*";
|
|
605
|
+
if (r) return e ? /* @__PURE__ */ w("div", {
|
|
588
606
|
className: "flex flex-wrap gap-2",
|
|
589
|
-
children: (Array.isArray(e) ? e : [e]).map((e, t) => /* @__PURE__ */ (
|
|
607
|
+
children: (Array.isArray(e) ? e : [e]).map((e, t) => /* @__PURE__ */ w("img", {
|
|
590
608
|
src: e.url || "",
|
|
591
609
|
alt: e.name || `Image ${t + 1}`,
|
|
592
610
|
className: "size-20 rounded-md object-cover border border-gray-200"
|
|
593
611
|
}, t))
|
|
594
|
-
}) : /* @__PURE__ */ (
|
|
612
|
+
}) : /* @__PURE__ */ w("span", {
|
|
595
613
|
className: "text-sm",
|
|
596
614
|
children: "-"
|
|
597
615
|
});
|
|
@@ -612,52 +630,53 @@ function Se({ value: e, onChange: t, field: n, readonly: r, ...i }) {
|
|
|
612
630
|
t(n.length > 0 ? n : null);
|
|
613
631
|
} else t(null);
|
|
614
632
|
};
|
|
615
|
-
return /* @__PURE__ */ (
|
|
633
|
+
return /* @__PURE__ */ T("div", {
|
|
616
634
|
className: i.className,
|
|
617
|
-
children: [/* @__PURE__ */ (
|
|
635
|
+
children: [/* @__PURE__ */ w("input", {
|
|
618
636
|
ref: a,
|
|
619
637
|
type: "file",
|
|
620
638
|
multiple: s,
|
|
621
|
-
accept:
|
|
639
|
+
accept: c,
|
|
622
640
|
onChange: d,
|
|
623
641
|
className: "hidden"
|
|
624
|
-
}), /* @__PURE__ */ (
|
|
642
|
+
}), /* @__PURE__ */ T("div", {
|
|
625
643
|
className: "space-y-2",
|
|
626
|
-
children: [u.length > 0 && /* @__PURE__ */ (
|
|
644
|
+
children: [u.length > 0 && /* @__PURE__ */ w("div", {
|
|
627
645
|
className: "grid grid-cols-4 gap-2",
|
|
628
|
-
children: u.map((e, t) => /* @__PURE__ */ (
|
|
646
|
+
children: u.map((e, t) => /* @__PURE__ */ T("div", {
|
|
629
647
|
className: "relative group",
|
|
630
|
-
children: [/* @__PURE__ */ (
|
|
648
|
+
children: [/* @__PURE__ */ w("img", {
|
|
631
649
|
src: e.url || "",
|
|
632
650
|
alt: e.name || `Image ${t + 1}`,
|
|
633
651
|
className: "size-20 rounded-md object-cover border border-gray-200"
|
|
634
|
-
}), /* @__PURE__ */ (
|
|
652
|
+
}), /* @__PURE__ */ w(g, {
|
|
635
653
|
type: "button",
|
|
636
654
|
variant: "destructive",
|
|
637
655
|
size: "sm",
|
|
638
656
|
onClick: () => f(t),
|
|
639
657
|
className: "absolute top-1 right-1 h-6 w-6 p-0 opacity-0 group-hover:opacity-100 transition-opacity",
|
|
640
|
-
children: /* @__PURE__ */ (
|
|
658
|
+
children: /* @__PURE__ */ w(C, { className: "size-3" })
|
|
641
659
|
})]
|
|
642
660
|
}, t))
|
|
643
|
-
}), /* @__PURE__ */ (
|
|
661
|
+
}), /* @__PURE__ */ T(g, {
|
|
644
662
|
type: "button",
|
|
645
663
|
variant: "outline",
|
|
646
664
|
onClick: () => a.current?.click(),
|
|
647
665
|
className: "w-full",
|
|
648
|
-
children: [/* @__PURE__ */ (
|
|
666
|
+
children: [/* @__PURE__ */ w(me, { className: "size-4 mr-2" }), u.length > 0 ? "Add More Images" : "Upload Image"]
|
|
649
667
|
})]
|
|
650
668
|
})]
|
|
651
669
|
});
|
|
652
670
|
}
|
|
653
671
|
//#endregion
|
|
654
672
|
//#region src/widgets/LocationField.tsx
|
|
655
|
-
|
|
673
|
+
var Ge = /* @__PURE__ */ e({ LocationField: () => z });
|
|
674
|
+
function z({ value: e, onChange: t, field: n, readonly: r, ...i }) {
|
|
656
675
|
let a = n || i.schema, o = e && typeof e == "object" ? `${e.latitude || 0}, ${e.longitude || 0}` : "";
|
|
657
|
-
return r ? /* @__PURE__ */ (
|
|
676
|
+
return r ? /* @__PURE__ */ w("span", {
|
|
658
677
|
className: "text-sm",
|
|
659
678
|
children: o || "-"
|
|
660
|
-
}) : /* @__PURE__ */ (
|
|
679
|
+
}) : /* @__PURE__ */ w(_, {
|
|
661
680
|
type: "text",
|
|
662
681
|
value: o,
|
|
663
682
|
onChange: (e) => {
|
|
@@ -682,61 +701,65 @@ function Ce({ value: e, onChange: t, field: n, readonly: r, ...i }) {
|
|
|
682
701
|
}
|
|
683
702
|
//#endregion
|
|
684
703
|
//#region src/widgets/FormulaField.tsx
|
|
685
|
-
|
|
704
|
+
var Ke = /* @__PURE__ */ e({ FormulaField: () => B });
|
|
705
|
+
function B({ value: e, field: t, ...n }) {
|
|
686
706
|
let r = (t || n.schema)?.return_type || "text", i = "-";
|
|
687
|
-
return e != null && (i = r === "number" || r === "currency" ? typeof e == "number" ? e.toFixed(2) : String(e) : r === "boolean" ? e ? "Yes" : "No" : r === "date" ? new Date(e).toLocaleDateString() : String(e)), /* @__PURE__ */ (
|
|
707
|
+
return e != null && (i = r === "number" || r === "currency" ? typeof e == "number" ? e.toFixed(2) : String(e) : r === "boolean" ? e ? "Yes" : "No" : r === "date" ? new Date(e).toLocaleDateString() : String(e)), /* @__PURE__ */ w("span", {
|
|
688
708
|
className: `text-sm font-mono text-gray-700 ${n.className || ""}`,
|
|
689
709
|
children: i
|
|
690
710
|
});
|
|
691
711
|
}
|
|
692
712
|
//#endregion
|
|
693
713
|
//#region src/widgets/SummaryField.tsx
|
|
694
|
-
|
|
714
|
+
var qe = /* @__PURE__ */ e({ SummaryField: () => V });
|
|
715
|
+
function V({ value: e, field: t, ...n }) {
|
|
695
716
|
let r = (t || n.schema)?.summary_type || "count", i = "-";
|
|
696
717
|
return e != null && (i = r === "count" ? String(e) : [
|
|
697
718
|
"sum",
|
|
698
719
|
"avg",
|
|
699
720
|
"min",
|
|
700
721
|
"max"
|
|
701
|
-
].includes(r) && typeof e == "number" ? e.toFixed(2) : String(e)), /* @__PURE__ */ (
|
|
722
|
+
].includes(r) && typeof e == "number" ? e.toFixed(2) : String(e)), /* @__PURE__ */ w("span", {
|
|
702
723
|
className: `text-sm font-medium tabular-nums text-gray-700 ${n.className || ""}`,
|
|
703
724
|
children: i
|
|
704
725
|
});
|
|
705
726
|
}
|
|
706
727
|
//#endregion
|
|
707
728
|
//#region src/widgets/AutoNumberField.tsx
|
|
708
|
-
|
|
729
|
+
var Je = /* @__PURE__ */ e({ AutoNumberField: () => H });
|
|
730
|
+
function H({ value: e, field: t, ...n }) {
|
|
709
731
|
let r = e == null ? "-" : String(e);
|
|
710
|
-
return /* @__PURE__ */ (
|
|
732
|
+
return /* @__PURE__ */ w("span", {
|
|
711
733
|
className: `text-sm font-mono text-gray-700 ${n.className || ""}`,
|
|
712
734
|
children: r
|
|
713
735
|
});
|
|
714
736
|
}
|
|
715
737
|
//#endregion
|
|
716
738
|
//#region src/widgets/UserField.tsx
|
|
717
|
-
|
|
739
|
+
var Ye = /* @__PURE__ */ e({ UserField: () => U });
|
|
740
|
+
function U({ value: e, onChange: t, field: n, readonly: r, ...i }) {
|
|
718
741
|
let a = (n || i.schema)?.multiple || !1;
|
|
719
742
|
if (r) {
|
|
720
|
-
if (!e) return /* @__PURE__ */ (
|
|
743
|
+
if (!e) return /* @__PURE__ */ w("span", {
|
|
721
744
|
className: "text-sm",
|
|
722
745
|
children: "-"
|
|
723
746
|
});
|
|
724
747
|
let t = Array.isArray(e) ? e : [e];
|
|
725
|
-
return /* @__PURE__ */ (
|
|
748
|
+
return /* @__PURE__ */ T("div", {
|
|
726
749
|
className: "flex -space-x-2",
|
|
727
750
|
children: [t.slice(0, 3).map((e, t) => {
|
|
728
751
|
let n = e.name || e.username || "User";
|
|
729
|
-
return /* @__PURE__ */ (
|
|
752
|
+
return /* @__PURE__ */ w(f, {
|
|
730
753
|
className: "size-8 border-2 border-white",
|
|
731
754
|
title: n,
|
|
732
|
-
children: /* @__PURE__ */ (
|
|
755
|
+
children: /* @__PURE__ */ w(p, {
|
|
733
756
|
className: "bg-blue-500 text-white text-xs",
|
|
734
757
|
children: n.split(" ").map((e) => e[0]).join("").toUpperCase().slice(0, 2)
|
|
735
758
|
})
|
|
736
759
|
}, t);
|
|
737
|
-
}), t.length > 3 && /* @__PURE__ */ (
|
|
760
|
+
}), t.length > 3 && /* @__PURE__ */ w(f, {
|
|
738
761
|
className: "size-8 border-2 border-white",
|
|
739
|
-
children: /* @__PURE__ */ (
|
|
762
|
+
children: /* @__PURE__ */ T(p, {
|
|
740
763
|
className: "bg-gray-200 text-gray-600 text-xs",
|
|
741
764
|
children: ["+", t.length - 3]
|
|
742
765
|
})
|
|
@@ -749,37 +772,37 @@ function V({ value: e, onChange: t, field: n, readonly: r, ...i }) {
|
|
|
749
772
|
t(n.length > 0 ? n : null);
|
|
750
773
|
} else t(null);
|
|
751
774
|
};
|
|
752
|
-
return /* @__PURE__ */ (
|
|
775
|
+
return /* @__PURE__ */ T("div", {
|
|
753
776
|
className: i.className,
|
|
754
|
-
children: [o.length > 0 && /* @__PURE__ */ (
|
|
777
|
+
children: [o.length > 0 && /* @__PURE__ */ w("div", {
|
|
755
778
|
className: "flex flex-wrap gap-2 mb-2",
|
|
756
779
|
children: o.map((e, t) => {
|
|
757
780
|
let n = e.name || e.username || "User";
|
|
758
|
-
return /* @__PURE__ */ (
|
|
781
|
+
return /* @__PURE__ */ T(h, {
|
|
759
782
|
variant: "outline",
|
|
760
783
|
className: "gap-2 pr-1",
|
|
761
784
|
children: [
|
|
762
|
-
/* @__PURE__ */ (
|
|
785
|
+
/* @__PURE__ */ w(f, {
|
|
763
786
|
className: "size-5",
|
|
764
|
-
children: /* @__PURE__ */ (
|
|
787
|
+
children: /* @__PURE__ */ w(p, {
|
|
765
788
|
className: "bg-blue-500 text-white text-xs",
|
|
766
789
|
children: n.split(" ").map((e) => e[0]).join("").toUpperCase().slice(0, 2)
|
|
767
790
|
})
|
|
768
791
|
}),
|
|
769
|
-
/* @__PURE__ */ (
|
|
792
|
+
/* @__PURE__ */ w("span", {
|
|
770
793
|
className: "text-sm",
|
|
771
794
|
children: n
|
|
772
795
|
}),
|
|
773
|
-
/* @__PURE__ */ (
|
|
796
|
+
/* @__PURE__ */ w("button", {
|
|
774
797
|
type: "button",
|
|
775
798
|
onClick: () => s(t),
|
|
776
799
|
className: "ml-1 rounded-full hover:bg-gray-200 p-0.5",
|
|
777
|
-
children: /* @__PURE__ */ (
|
|
800
|
+
children: /* @__PURE__ */ w(C, { className: "size-3" })
|
|
778
801
|
})
|
|
779
802
|
]
|
|
780
803
|
}, t);
|
|
781
804
|
})
|
|
782
|
-
}), /* @__PURE__ */ (
|
|
805
|
+
}), /* @__PURE__ */ w("div", {
|
|
783
806
|
className: "text-sm text-gray-500 italic",
|
|
784
807
|
children: "User selection component requires integration with user management system"
|
|
785
808
|
})]
|
|
@@ -787,29 +810,30 @@ function V({ value: e, onChange: t, field: n, readonly: r, ...i }) {
|
|
|
787
810
|
}
|
|
788
811
|
//#endregion
|
|
789
812
|
//#region src/widgets/ObjectField.tsx
|
|
790
|
-
|
|
791
|
-
|
|
792
|
-
|
|
813
|
+
var Xe = /* @__PURE__ */ e({ ObjectField: () => Ze });
|
|
814
|
+
function Ze({ value: e, onChange: t, field: n, readonly: r, ...i }) {
|
|
815
|
+
let a = n || i.schema, [o, c] = u(() => e == null ? "" : JSON.stringify(e, null, 2)), [l, d] = u(null);
|
|
816
|
+
return s(() => {
|
|
793
817
|
try {
|
|
794
818
|
if (e == null) {
|
|
795
819
|
c("");
|
|
796
820
|
return;
|
|
797
821
|
}
|
|
798
|
-
let t =
|
|
822
|
+
let t = o ? JSON.parse(o) : null;
|
|
799
823
|
JSON.stringify(t) !== JSON.stringify(e) && c(JSON.stringify(e, null, 2));
|
|
800
824
|
} catch {
|
|
801
825
|
c(JSON.stringify(e, null, 2));
|
|
802
826
|
}
|
|
803
|
-
}, [e,
|
|
804
|
-
className:
|
|
827
|
+
}, [e, o]), r ? e ? /* @__PURE__ */ w("pre", {
|
|
828
|
+
className: x("text-xs bg-gray-50 p-2 rounded border border-gray-200 overflow-auto max-h-40", i.className),
|
|
805
829
|
children: JSON.stringify(e, null, 2)
|
|
806
|
-
}) : /* @__PURE__ */ (
|
|
830
|
+
}) : /* @__PURE__ */ w("span", {
|
|
807
831
|
className: "text-sm",
|
|
808
832
|
children: "-"
|
|
809
|
-
}) : /* @__PURE__ */ (
|
|
833
|
+
}) : /* @__PURE__ */ T("div", {
|
|
810
834
|
className: "space-y-1",
|
|
811
|
-
children: [/* @__PURE__ */ (
|
|
812
|
-
value:
|
|
835
|
+
children: [/* @__PURE__ */ w(b, {
|
|
836
|
+
value: o,
|
|
813
837
|
onChange: (e) => {
|
|
814
838
|
let n = e.target.value;
|
|
815
839
|
if (c(n), d(null), !n.trim()) {
|
|
@@ -824,19 +848,20 @@ function De({ value: e, onChange: t, field: n, readonly: r, ...i }) {
|
|
|
824
848
|
},
|
|
825
849
|
placeholder: a?.placeholder || "{\n \"key\": \"value\"\n}",
|
|
826
850
|
disabled: r || i.disabled,
|
|
827
|
-
className:
|
|
851
|
+
className: x("font-mono text-xs", l ? "border-red-500 focus-visible:ring-red-500" : "", i.className),
|
|
828
852
|
rows: 6
|
|
829
|
-
}),
|
|
853
|
+
}), l && /* @__PURE__ */ w("p", {
|
|
830
854
|
className: "text-xs text-red-500",
|
|
831
|
-
children:
|
|
855
|
+
children: l
|
|
832
856
|
})]
|
|
833
857
|
});
|
|
834
858
|
}
|
|
835
859
|
//#endregion
|
|
836
860
|
//#region src/widgets/VectorField.tsx
|
|
837
|
-
|
|
861
|
+
var Qe = /* @__PURE__ */ e({ VectorField: () => W });
|
|
862
|
+
function W({ value: e, field: t, ...n }) {
|
|
838
863
|
let r = (t || n.schema)?.dimensions || (Array.isArray(e) ? e.length : 0);
|
|
839
|
-
if (!e || !Array.isArray(e)) return /* @__PURE__ */ (
|
|
864
|
+
if (!e || !Array.isArray(e)) return /* @__PURE__ */ w("span", {
|
|
840
865
|
className: "text-sm text-gray-500",
|
|
841
866
|
children: "-"
|
|
842
867
|
});
|
|
@@ -844,16 +869,16 @@ function Oe({ value: e, field: t, ...n }) {
|
|
|
844
869
|
let t = Number(e);
|
|
845
870
|
return isNaN(t) ? "0" : t.toFixed(4);
|
|
846
871
|
}).join(", ");
|
|
847
|
-
return /* @__PURE__ */ (
|
|
872
|
+
return /* @__PURE__ */ T("div", {
|
|
848
873
|
className: `text-sm ${n.className || ""}`,
|
|
849
|
-
children: [/* @__PURE__ */ (
|
|
874
|
+
children: [/* @__PURE__ */ T("span", {
|
|
850
875
|
className: "font-mono text-gray-700",
|
|
851
876
|
children: [
|
|
852
877
|
"[",
|
|
853
878
|
i,
|
|
854
879
|
"...]"
|
|
855
880
|
]
|
|
856
|
-
}), /* @__PURE__ */ (
|
|
881
|
+
}), /* @__PURE__ */ T("span", {
|
|
857
882
|
className: "text-gray-500 ml-2",
|
|
858
883
|
children: [
|
|
859
884
|
"(",
|
|
@@ -865,41 +890,42 @@ function Oe({ value: e, field: t, ...n }) {
|
|
|
865
890
|
}
|
|
866
891
|
//#endregion
|
|
867
892
|
//#region src/widgets/GridField.tsx
|
|
868
|
-
|
|
893
|
+
var $e = /* @__PURE__ */ e({ GridField: () => et });
|
|
894
|
+
function et({ value: e, field: t, readonly: n, ...r }) {
|
|
869
895
|
let i = (t || r.schema)?.columns || [];
|
|
870
|
-
return !e || !Array.isArray(e) ? /* @__PURE__ */ (
|
|
896
|
+
return !e || !Array.isArray(e) ? /* @__PURE__ */ w("span", {
|
|
871
897
|
className: "text-sm text-muted-foreground",
|
|
872
898
|
children: "-"
|
|
873
|
-
}) : n ? /* @__PURE__ */ (
|
|
874
|
-
className:
|
|
875
|
-
children: /* @__PURE__ */ (
|
|
899
|
+
}) : n ? /* @__PURE__ */ w("div", {
|
|
900
|
+
className: x("text-sm", r.className),
|
|
901
|
+
children: /* @__PURE__ */ T("span", {
|
|
876
902
|
className: "text-foreground",
|
|
877
903
|
children: [e.length, " rows"]
|
|
878
904
|
})
|
|
879
|
-
}) : /* @__PURE__ */ (
|
|
880
|
-
className:
|
|
881
|
-
children: [/* @__PURE__ */ (
|
|
905
|
+
}) : /* @__PURE__ */ T("div", {
|
|
906
|
+
className: x("border border-border rounded-lg overflow-hidden", r.className),
|
|
907
|
+
children: [/* @__PURE__ */ w("div", {
|
|
882
908
|
className: "overflow-auto max-h-60",
|
|
883
|
-
children: /* @__PURE__ */ (
|
|
909
|
+
children: /* @__PURE__ */ T("table", {
|
|
884
910
|
className: "w-full text-sm",
|
|
885
|
-
children: [/* @__PURE__ */ (
|
|
911
|
+
children: [/* @__PURE__ */ w("thead", {
|
|
886
912
|
className: "bg-muted border-b border-border",
|
|
887
|
-
children: /* @__PURE__ */ (
|
|
913
|
+
children: /* @__PURE__ */ w("tr", { children: i.map((e, t) => /* @__PURE__ */ w("th", {
|
|
888
914
|
className: "px-3 py-2 text-left text-xs font-medium text-muted-foreground",
|
|
889
915
|
children: e.label || e.name
|
|
890
916
|
}, t)) })
|
|
891
|
-
}), /* @__PURE__ */ (
|
|
917
|
+
}), /* @__PURE__ */ w("tbody", {
|
|
892
918
|
className: "divide-y divide-border",
|
|
893
|
-
children: e.slice(0, 5).map((e, t) => /* @__PURE__ */ (
|
|
919
|
+
children: e.slice(0, 5).map((e, t) => /* @__PURE__ */ w("tr", {
|
|
894
920
|
className: "hover:bg-muted/50 transition-colors",
|
|
895
|
-
children: i.map((t, n) => /* @__PURE__ */ (
|
|
921
|
+
children: i.map((t, n) => /* @__PURE__ */ w("td", {
|
|
896
922
|
className: "px-3 py-2 text-foreground",
|
|
897
923
|
children: e[t.name] == null ? "-" : String(e[t.name])
|
|
898
924
|
}, n))
|
|
899
925
|
}, t))
|
|
900
926
|
})]
|
|
901
927
|
})
|
|
902
|
-
}), e.length > 5 && /* @__PURE__ */ (
|
|
928
|
+
}), e.length > 5 && /* @__PURE__ */ T("div", {
|
|
903
929
|
className: "bg-muted px-3 py-2 text-xs text-muted-foreground border-t border-border",
|
|
904
930
|
children: [
|
|
905
931
|
"Showing 5 of ",
|
|
@@ -911,26 +937,27 @@ function ke({ value: e, field: t, readonly: n, ...r }) {
|
|
|
911
937
|
}
|
|
912
938
|
//#endregion
|
|
913
939
|
//#region src/widgets/ColorField.tsx
|
|
914
|
-
|
|
940
|
+
var tt = /* @__PURE__ */ e({ ColorField: () => nt });
|
|
941
|
+
function nt({ value: e, onChange: t, field: n, readonly: r, ...i }) {
|
|
915
942
|
let a = n || i.schema;
|
|
916
|
-
return r ? /* @__PURE__ */ (
|
|
943
|
+
return r ? /* @__PURE__ */ T("div", {
|
|
917
944
|
className: "flex items-center gap-2",
|
|
918
|
-
children: [/* @__PURE__ */ (
|
|
945
|
+
children: [/* @__PURE__ */ w("div", {
|
|
919
946
|
className: "w-6 h-6 rounded border border-input",
|
|
920
947
|
style: { backgroundColor: e || "#000000" }
|
|
921
|
-
}), /* @__PURE__ */ (
|
|
948
|
+
}), /* @__PURE__ */ w("span", {
|
|
922
949
|
className: "text-sm",
|
|
923
950
|
children: e || "-"
|
|
924
951
|
})]
|
|
925
|
-
}) : /* @__PURE__ */ (
|
|
952
|
+
}) : /* @__PURE__ */ T("div", {
|
|
926
953
|
className: "flex items-center gap-2",
|
|
927
|
-
children: [/* @__PURE__ */ (
|
|
954
|
+
children: [/* @__PURE__ */ w("input", {
|
|
928
955
|
type: "color",
|
|
929
956
|
value: e || "#000000",
|
|
930
957
|
onChange: (e) => t(e.target.value),
|
|
931
958
|
disabled: r || i.disabled,
|
|
932
959
|
className: "w-10 h-10 rounded border border-input cursor-pointer"
|
|
933
|
-
}), /* @__PURE__ */ (
|
|
960
|
+
}), /* @__PURE__ */ w(_, {
|
|
934
961
|
type: "text",
|
|
935
962
|
value: e || "",
|
|
936
963
|
onChange: (e) => t(e.target.value),
|
|
@@ -943,20 +970,21 @@ function Ae({ value: e, onChange: t, field: n, readonly: r, ...i }) {
|
|
|
943
970
|
}
|
|
944
971
|
//#endregion
|
|
945
972
|
//#region src/widgets/SliderField.tsx
|
|
946
|
-
|
|
973
|
+
var rt = /* @__PURE__ */ e({ SliderField: () => it });
|
|
974
|
+
function it({ value: e, onChange: t, field: n, readonly: r, ...i }) {
|
|
947
975
|
let a = n || i.schema, o = a?.min ?? 0, s = a?.max ?? 100, c = a?.step ?? 1;
|
|
948
|
-
return r ? /* @__PURE__ */ (
|
|
976
|
+
return r ? /* @__PURE__ */ T("div", {
|
|
949
977
|
className: "flex items-center gap-2",
|
|
950
|
-
children: [/* @__PURE__ */ (
|
|
978
|
+
children: [/* @__PURE__ */ w("span", {
|
|
951
979
|
className: "text-sm font-medium",
|
|
952
980
|
children: e ?? o
|
|
953
|
-
}), /* @__PURE__ */ (
|
|
981
|
+
}), /* @__PURE__ */ T("span", {
|
|
954
982
|
className: "text-xs text-muted-foreground",
|
|
955
983
|
children: ["/ ", s]
|
|
956
984
|
})]
|
|
957
|
-
}) : /* @__PURE__ */ (
|
|
985
|
+
}) : /* @__PURE__ */ T("div", {
|
|
958
986
|
className: "flex items-center gap-4",
|
|
959
|
-
children: [/* @__PURE__ */ (
|
|
987
|
+
children: [/* @__PURE__ */ w(y, {
|
|
960
988
|
value: [e ?? o],
|
|
961
989
|
onValueChange: (e) => t(e[0]),
|
|
962
990
|
min: o,
|
|
@@ -964,7 +992,7 @@ function je({ value: e, onChange: t, field: n, readonly: r, ...i }) {
|
|
|
964
992
|
step: c,
|
|
965
993
|
disabled: r || i.disabled,
|
|
966
994
|
className: i.className
|
|
967
|
-
}), /* @__PURE__ */ (
|
|
995
|
+
}), /* @__PURE__ */ w("span", {
|
|
968
996
|
className: "text-sm font-medium w-12 text-right",
|
|
969
997
|
children: e ?? o
|
|
970
998
|
})]
|
|
@@ -972,11 +1000,12 @@ function je({ value: e, onChange: t, field: n, readonly: r, ...i }) {
|
|
|
972
1000
|
}
|
|
973
1001
|
//#endregion
|
|
974
1002
|
//#region src/widgets/RatingField.tsx
|
|
975
|
-
|
|
976
|
-
|
|
977
|
-
|
|
978
|
-
|
|
979
|
-
|
|
1003
|
+
var at = /* @__PURE__ */ e({ RatingField: () => ot });
|
|
1004
|
+
function ot({ value: e, onChange: t, field: n, readonly: r, className: i, ...o }) {
|
|
1005
|
+
let s = (n || o.schema)?.max ?? 5, c = e ?? 0, [l, u] = a.useState(null), d = l === null ? c : l;
|
|
1006
|
+
return r ? /* @__PURE__ */ T("div", {
|
|
1007
|
+
className: x("flex items-center gap-1", i),
|
|
1008
|
+
children: [Array.from({ length: s }, (e, t) => /* @__PURE__ */ w(be, { className: `w-5 h-5 ${t < c ? "fill-yellow-400 text-yellow-400" : "text-muted-foreground"}` }, t)), /* @__PURE__ */ T("span", {
|
|
980
1009
|
className: "ml-2 text-sm text-muted-foreground",
|
|
981
1010
|
children: [
|
|
982
1011
|
c,
|
|
@@ -984,17 +1013,17 @@ function Me({ value: e, onChange: t, field: n, readonly: r, className: a, ...o }
|
|
|
984
1013
|
s
|
|
985
1014
|
]
|
|
986
1015
|
})]
|
|
987
|
-
}) : /* @__PURE__ */ (
|
|
988
|
-
className:
|
|
989
|
-
children: [Array.from({ length: s }, (e, n) => /* @__PURE__ */ (
|
|
1016
|
+
}) : /* @__PURE__ */ T("div", {
|
|
1017
|
+
className: x("flex items-center gap-1", i),
|
|
1018
|
+
children: [Array.from({ length: s }, (e, n) => /* @__PURE__ */ w("button", {
|
|
990
1019
|
type: "button",
|
|
991
1020
|
onClick: () => t(n + 1),
|
|
992
1021
|
onMouseEnter: () => u(n + 1),
|
|
993
1022
|
onMouseLeave: () => u(null),
|
|
994
1023
|
className: "focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 rounded",
|
|
995
1024
|
disabled: r || o.disabled,
|
|
996
|
-
children: /* @__PURE__ */ (
|
|
997
|
-
}, n)), /* @__PURE__ */ (
|
|
1025
|
+
children: /* @__PURE__ */ w(be, { className: `w-5 h-5 transition-colors ${n < d ? "fill-yellow-400 text-yellow-400 hover:fill-yellow-500 hover:text-yellow-500" : "text-muted-foreground hover:text-yellow-400"}` })
|
|
1026
|
+
}, n)), /* @__PURE__ */ T("span", {
|
|
998
1027
|
className: "ml-2 text-sm text-muted-foreground",
|
|
999
1028
|
children: [
|
|
1000
1029
|
c,
|
|
@@ -1006,25 +1035,27 @@ function Me({ value: e, onChange: t, field: n, readonly: r, className: a, ...o }
|
|
|
1006
1035
|
}
|
|
1007
1036
|
//#endregion
|
|
1008
1037
|
//#region src/widgets/CodeField.tsx
|
|
1009
|
-
|
|
1038
|
+
var st = /* @__PURE__ */ e({ CodeField: () => ct });
|
|
1039
|
+
function ct({ value: e, onChange: t, field: n, readonly: r, ...i }) {
|
|
1010
1040
|
let a = n || i.schema, o = a?.language ?? "javascript";
|
|
1011
|
-
return r ? /* @__PURE__ */ (
|
|
1012
|
-
className:
|
|
1013
|
-
children: /* @__PURE__ */ (
|
|
1014
|
-
}) : /* @__PURE__ */ (
|
|
1041
|
+
return r ? /* @__PURE__ */ w("pre", {
|
|
1042
|
+
className: x("text-sm bg-muted p-2 rounded overflow-x-auto border", i.className),
|
|
1043
|
+
children: /* @__PURE__ */ w("code", { children: e || "-" })
|
|
1044
|
+
}) : /* @__PURE__ */ w(b, {
|
|
1015
1045
|
value: e || "",
|
|
1016
1046
|
onChange: (e) => t(e.target.value),
|
|
1017
1047
|
placeholder: a?.placeholder || `// Write ${o} code here...`,
|
|
1018
1048
|
disabled: r || i.disabled,
|
|
1019
|
-
className:
|
|
1049
|
+
className: x("font-mono text-sm", i.className),
|
|
1020
1050
|
rows: 12,
|
|
1021
1051
|
spellCheck: !1
|
|
1022
1052
|
});
|
|
1023
1053
|
}
|
|
1024
1054
|
//#endregion
|
|
1025
1055
|
//#region src/widgets/AvatarField.tsx
|
|
1026
|
-
|
|
1027
|
-
|
|
1056
|
+
var lt = /* @__PURE__ */ e({ AvatarField: () => ut });
|
|
1057
|
+
function ut({ value: e, onChange: t, field: n, readonly: r, ...i }) {
|
|
1058
|
+
let [o, s] = a.useState(!1), c = a.useRef(null), l = n || i.schema, u = (e) => {
|
|
1028
1059
|
let n = e.target.files?.[0];
|
|
1029
1060
|
if (!n) return;
|
|
1030
1061
|
if (!n.type.startsWith("image/")) {
|
|
@@ -1039,56 +1070,56 @@ function Pe({ value: e, onChange: t, field: n, readonly: r, ...a }) {
|
|
|
1039
1070
|
r.onloadend = () => {
|
|
1040
1071
|
t(r.result);
|
|
1041
1072
|
}, r.readAsDataURL(n);
|
|
1042
|
-
},
|
|
1073
|
+
}, d = () => {
|
|
1043
1074
|
t("");
|
|
1044
|
-
},
|
|
1045
|
-
return r ? /* @__PURE__ */ (
|
|
1075
|
+
}, h = () => (l?.defaultName || l?.label || "User").split(" ").map((e) => e[0]).join("").toUpperCase().slice(0, 2);
|
|
1076
|
+
return r ? /* @__PURE__ */ T(f, {
|
|
1046
1077
|
className: "w-16 h-16",
|
|
1047
|
-
children: [e && /* @__PURE__ */ (
|
|
1078
|
+
children: [e && /* @__PURE__ */ w(m, {
|
|
1048
1079
|
src: e,
|
|
1049
1080
|
alt: l?.label
|
|
1050
|
-
}), /* @__PURE__ */ (
|
|
1051
|
-
}) : /* @__PURE__ */ (
|
|
1081
|
+
}), /* @__PURE__ */ w(p, { children: h() })]
|
|
1082
|
+
}) : /* @__PURE__ */ T("div", {
|
|
1052
1083
|
className: "flex items-center gap-4",
|
|
1053
|
-
children: [/* @__PURE__ */ (
|
|
1084
|
+
children: [/* @__PURE__ */ T("div", {
|
|
1054
1085
|
className: "relative",
|
|
1055
1086
|
onMouseEnter: () => s(!0),
|
|
1056
1087
|
onMouseLeave: () => s(!1),
|
|
1057
|
-
children: [/* @__PURE__ */ (
|
|
1088
|
+
children: [/* @__PURE__ */ T(f, {
|
|
1058
1089
|
className: "w-16 h-16",
|
|
1059
|
-
children: [e && /* @__PURE__ */ (
|
|
1090
|
+
children: [e && /* @__PURE__ */ w(m, {
|
|
1060
1091
|
src: e,
|
|
1061
1092
|
alt: l?.label
|
|
1062
|
-
}), /* @__PURE__ */ (
|
|
1063
|
-
}), !r && o && e && /* @__PURE__ */ (
|
|
1093
|
+
}), /* @__PURE__ */ w(p, { children: h() })]
|
|
1094
|
+
}), !r && o && e && /* @__PURE__ */ w("button", {
|
|
1064
1095
|
type: "button",
|
|
1065
|
-
onClick:
|
|
1096
|
+
onClick: d,
|
|
1066
1097
|
className: "absolute -top-1 -right-1 bg-destructive text-destructive-foreground rounded-full p-1 hover:bg-destructive/90",
|
|
1067
|
-
children: /* @__PURE__ */ (
|
|
1098
|
+
children: /* @__PURE__ */ w(C, { className: "w-3 h-3" })
|
|
1068
1099
|
})]
|
|
1069
|
-
}), /* @__PURE__ */ (
|
|
1100
|
+
}), /* @__PURE__ */ T("div", {
|
|
1070
1101
|
className: "flex flex-col gap-2",
|
|
1071
1102
|
children: [
|
|
1072
|
-
/* @__PURE__ */ (
|
|
1103
|
+
/* @__PURE__ */ w("input", {
|
|
1073
1104
|
ref: c,
|
|
1074
1105
|
type: "file",
|
|
1075
1106
|
accept: "image/*",
|
|
1076
1107
|
onChange: u,
|
|
1077
1108
|
className: "hidden"
|
|
1078
1109
|
}),
|
|
1079
|
-
/* @__PURE__ */ (
|
|
1110
|
+
/* @__PURE__ */ T(g, {
|
|
1080
1111
|
type: "button",
|
|
1081
1112
|
variant: "outline",
|
|
1082
1113
|
size: "sm",
|
|
1083
1114
|
onClick: () => c.current?.click(),
|
|
1084
|
-
disabled: r ||
|
|
1115
|
+
disabled: r || i.disabled,
|
|
1085
1116
|
children: [
|
|
1086
|
-
/* @__PURE__ */ (
|
|
1117
|
+
/* @__PURE__ */ w(xe, { className: "w-4 h-4 mr-2" }),
|
|
1087
1118
|
e ? "Change" : "Upload",
|
|
1088
1119
|
" Avatar"
|
|
1089
1120
|
]
|
|
1090
1121
|
}),
|
|
1091
|
-
/* @__PURE__ */ (
|
|
1122
|
+
/* @__PURE__ */ w("p", {
|
|
1092
1123
|
className: "text-xs text-muted-foreground",
|
|
1093
1124
|
children: "PNG, JPG up to 5MB"
|
|
1094
1125
|
})
|
|
@@ -1098,14 +1129,15 @@ function Pe({ value: e, onChange: t, field: n, readonly: r, ...a }) {
|
|
|
1098
1129
|
}
|
|
1099
1130
|
//#endregion
|
|
1100
1131
|
//#region src/widgets/AddressField.tsx
|
|
1101
|
-
|
|
1132
|
+
var dt = /* @__PURE__ */ e({ AddressField: () => ft });
|
|
1133
|
+
function ft({ value: e, onChange: t, field: n, readonly: r, ...i }) {
|
|
1102
1134
|
let a = e || {}, o = (e, n) => {
|
|
1103
1135
|
t({
|
|
1104
1136
|
...a,
|
|
1105
1137
|
[e]: n
|
|
1106
1138
|
});
|
|
1107
1139
|
};
|
|
1108
|
-
return r ? /* @__PURE__ */ (
|
|
1140
|
+
return r ? /* @__PURE__ */ w("span", {
|
|
1109
1141
|
className: "text-sm",
|
|
1110
1142
|
children: ((e) => [
|
|
1111
1143
|
e.street,
|
|
@@ -1113,14 +1145,14 @@ function Fe({ value: e, onChange: t, field: n, readonly: r, ...i }) {
|
|
|
1113
1145
|
[e.state, e.zipCode].filter(Boolean).join(" "),
|
|
1114
1146
|
e.country
|
|
1115
1147
|
].filter(Boolean).join(", ") || "-")(a)
|
|
1116
|
-
}) : /* @__PURE__ */ (
|
|
1148
|
+
}) : /* @__PURE__ */ T("div", {
|
|
1117
1149
|
className: "space-y-3",
|
|
1118
1150
|
children: [
|
|
1119
|
-
/* @__PURE__ */ (
|
|
1151
|
+
/* @__PURE__ */ T("div", { children: [/* @__PURE__ */ w(v, {
|
|
1120
1152
|
htmlFor: "street",
|
|
1121
1153
|
className: "text-xs",
|
|
1122
1154
|
children: "Street Address"
|
|
1123
|
-
}), /* @__PURE__ */ (
|
|
1155
|
+
}), /* @__PURE__ */ w(_, {
|
|
1124
1156
|
id: "street",
|
|
1125
1157
|
type: "text",
|
|
1126
1158
|
value: a.street || "",
|
|
@@ -1129,24 +1161,24 @@ function Fe({ value: e, onChange: t, field: n, readonly: r, ...i }) {
|
|
|
1129
1161
|
disabled: r || i.disabled,
|
|
1130
1162
|
className: i.className
|
|
1131
1163
|
})] }),
|
|
1132
|
-
/* @__PURE__ */ (
|
|
1164
|
+
/* @__PURE__ */ T("div", {
|
|
1133
1165
|
className: "grid grid-cols-2 gap-3",
|
|
1134
|
-
children: [/* @__PURE__ */ (
|
|
1166
|
+
children: [/* @__PURE__ */ T("div", { children: [/* @__PURE__ */ w(v, {
|
|
1135
1167
|
htmlFor: "city",
|
|
1136
1168
|
className: "text-xs",
|
|
1137
1169
|
children: "City"
|
|
1138
|
-
}), /* @__PURE__ */ (
|
|
1170
|
+
}), /* @__PURE__ */ w(_, {
|
|
1139
1171
|
id: "city",
|
|
1140
1172
|
type: "text",
|
|
1141
1173
|
value: a.city || "",
|
|
1142
1174
|
onChange: (e) => o("city", e.target.value),
|
|
1143
1175
|
placeholder: "San Francisco",
|
|
1144
1176
|
disabled: r || i.disabled
|
|
1145
|
-
})] }), /* @__PURE__ */ (
|
|
1177
|
+
})] }), /* @__PURE__ */ T("div", { children: [/* @__PURE__ */ w(v, {
|
|
1146
1178
|
htmlFor: "state",
|
|
1147
1179
|
className: "text-xs",
|
|
1148
1180
|
children: "State / Province"
|
|
1149
|
-
}), /* @__PURE__ */ (
|
|
1181
|
+
}), /* @__PURE__ */ w(_, {
|
|
1150
1182
|
id: "state",
|
|
1151
1183
|
type: "text",
|
|
1152
1184
|
value: a.state || "",
|
|
@@ -1155,24 +1187,24 @@ function Fe({ value: e, onChange: t, field: n, readonly: r, ...i }) {
|
|
|
1155
1187
|
disabled: r || i.disabled
|
|
1156
1188
|
})] })]
|
|
1157
1189
|
}),
|
|
1158
|
-
/* @__PURE__ */ (
|
|
1190
|
+
/* @__PURE__ */ T("div", {
|
|
1159
1191
|
className: "grid grid-cols-2 gap-3",
|
|
1160
|
-
children: [/* @__PURE__ */ (
|
|
1192
|
+
children: [/* @__PURE__ */ T("div", { children: [/* @__PURE__ */ w(v, {
|
|
1161
1193
|
htmlFor: "zipCode",
|
|
1162
1194
|
className: "text-xs",
|
|
1163
1195
|
children: "ZIP / Postal Code"
|
|
1164
|
-
}), /* @__PURE__ */ (
|
|
1196
|
+
}), /* @__PURE__ */ w(_, {
|
|
1165
1197
|
id: "zipCode",
|
|
1166
1198
|
type: "text",
|
|
1167
1199
|
value: a.zipCode || "",
|
|
1168
1200
|
onChange: (e) => o("zipCode", e.target.value),
|
|
1169
1201
|
placeholder: "94102",
|
|
1170
1202
|
disabled: r || i.disabled
|
|
1171
|
-
})] }), /* @__PURE__ */ (
|
|
1203
|
+
})] }), /* @__PURE__ */ T("div", { children: [/* @__PURE__ */ w(v, {
|
|
1172
1204
|
htmlFor: "country",
|
|
1173
1205
|
className: "text-xs",
|
|
1174
1206
|
children: "Country"
|
|
1175
|
-
}), /* @__PURE__ */ (
|
|
1207
|
+
}), /* @__PURE__ */ w(_, {
|
|
1176
1208
|
id: "country",
|
|
1177
1209
|
type: "text",
|
|
1178
1210
|
value: a.country || "",
|
|
@@ -1186,8 +1218,9 @@ function Fe({ value: e, onChange: t, field: n, readonly: r, ...i }) {
|
|
|
1186
1218
|
}
|
|
1187
1219
|
//#endregion
|
|
1188
1220
|
//#region src/widgets/GeolocationField.tsx
|
|
1189
|
-
|
|
1190
|
-
|
|
1221
|
+
var pt = /* @__PURE__ */ e({ GeolocationField: () => mt });
|
|
1222
|
+
function mt({ value: e, onChange: t, field: n, readonly: r, ...i }) {
|
|
1223
|
+
let [o, s] = a.useState(!1), c = e || {}, l = (e, n) => {
|
|
1191
1224
|
t({
|
|
1192
1225
|
...c,
|
|
1193
1226
|
[e]: n ? Number(n) : void 0
|
|
@@ -1215,15 +1248,15 @@ function Ie({ value: e, onChange: t, field: n, readonly: r, ...a }) {
|
|
|
1215
1248
|
let e = `https://www.google.com/maps?q=${c.latitude},${c.longitude}`;
|
|
1216
1249
|
window.open(e, "_blank");
|
|
1217
1250
|
};
|
|
1218
|
-
return r ? /* @__PURE__ */ (
|
|
1251
|
+
return r ? /* @__PURE__ */ T("div", {
|
|
1219
1252
|
className: "flex items-center gap-2",
|
|
1220
1253
|
children: [
|
|
1221
|
-
/* @__PURE__ */ (
|
|
1222
|
-
/* @__PURE__ */ (
|
|
1254
|
+
/* @__PURE__ */ w(ge, { className: "w-4 h-4 text-muted-foreground" }),
|
|
1255
|
+
/* @__PURE__ */ w("span", {
|
|
1223
1256
|
className: "text-sm",
|
|
1224
1257
|
children: d(c)
|
|
1225
1258
|
}),
|
|
1226
|
-
c.latitude && c.longitude && /* @__PURE__ */ (
|
|
1259
|
+
c.latitude && c.longitude && /* @__PURE__ */ w(g, {
|
|
1227
1260
|
type: "button",
|
|
1228
1261
|
variant: "link",
|
|
1229
1262
|
size: "sm",
|
|
@@ -1232,56 +1265,56 @@ function Ie({ value: e, onChange: t, field: n, readonly: r, ...a }) {
|
|
|
1232
1265
|
children: "View on map"
|
|
1233
1266
|
})
|
|
1234
1267
|
]
|
|
1235
|
-
}) : /* @__PURE__ */ (
|
|
1268
|
+
}) : /* @__PURE__ */ T("div", {
|
|
1236
1269
|
className: "space-y-3",
|
|
1237
1270
|
children: [
|
|
1238
|
-
/* @__PURE__ */ (
|
|
1271
|
+
/* @__PURE__ */ T("div", {
|
|
1239
1272
|
className: "flex items-center gap-2",
|
|
1240
|
-
children: [/* @__PURE__ */ (
|
|
1273
|
+
children: [/* @__PURE__ */ T(g, {
|
|
1241
1274
|
type: "button",
|
|
1242
1275
|
variant: "outline",
|
|
1243
1276
|
size: "sm",
|
|
1244
1277
|
onClick: u,
|
|
1245
1278
|
disabled: r || o,
|
|
1246
|
-
children: [/* @__PURE__ */ (
|
|
1247
|
-
}), c.latitude && c.longitude && /* @__PURE__ */ (
|
|
1279
|
+
children: [/* @__PURE__ */ w(ce, { className: "w-4 h-4 mr-2" }), o ? "Getting location..." : "Use Current Location"]
|
|
1280
|
+
}), c.latitude && c.longitude && /* @__PURE__ */ T(g, {
|
|
1248
1281
|
type: "button",
|
|
1249
1282
|
variant: "link",
|
|
1250
1283
|
size: "sm",
|
|
1251
1284
|
onClick: f,
|
|
1252
|
-
children: [/* @__PURE__ */ (
|
|
1285
|
+
children: [/* @__PURE__ */ w(ge, { className: "w-4 h-4 mr-2" }), "View on map"]
|
|
1253
1286
|
})]
|
|
1254
1287
|
}),
|
|
1255
|
-
/* @__PURE__ */ (
|
|
1288
|
+
/* @__PURE__ */ T("div", {
|
|
1256
1289
|
className: "grid grid-cols-2 gap-3",
|
|
1257
|
-
children: [/* @__PURE__ */ (
|
|
1290
|
+
children: [/* @__PURE__ */ T("div", { children: [/* @__PURE__ */ w(v, {
|
|
1258
1291
|
htmlFor: "latitude",
|
|
1259
1292
|
className: "text-xs",
|
|
1260
1293
|
children: "Latitude"
|
|
1261
|
-
}), /* @__PURE__ */ (
|
|
1294
|
+
}), /* @__PURE__ */ w(_, {
|
|
1262
1295
|
id: "latitude",
|
|
1263
1296
|
type: "number",
|
|
1264
1297
|
value: c.latitude ?? "",
|
|
1265
1298
|
onChange: (e) => l("latitude", e.target.value),
|
|
1266
1299
|
placeholder: "37.7749",
|
|
1267
|
-
disabled: r ||
|
|
1300
|
+
disabled: r || i.disabled,
|
|
1268
1301
|
step: "any",
|
|
1269
|
-
className:
|
|
1270
|
-
})] }), /* @__PURE__ */ (
|
|
1302
|
+
className: i.className
|
|
1303
|
+
})] }), /* @__PURE__ */ T("div", { children: [/* @__PURE__ */ w(v, {
|
|
1271
1304
|
htmlFor: "longitude",
|
|
1272
1305
|
className: "text-xs",
|
|
1273
1306
|
children: "Longitude"
|
|
1274
|
-
}), /* @__PURE__ */ (
|
|
1307
|
+
}), /* @__PURE__ */ w(_, {
|
|
1275
1308
|
id: "longitude",
|
|
1276
1309
|
type: "number",
|
|
1277
1310
|
value: c.longitude ?? "",
|
|
1278
1311
|
onChange: (e) => l("longitude", e.target.value),
|
|
1279
1312
|
placeholder: "-122.4194",
|
|
1280
|
-
disabled: r ||
|
|
1313
|
+
disabled: r || i.disabled,
|
|
1281
1314
|
step: "any"
|
|
1282
1315
|
})] })]
|
|
1283
1316
|
}),
|
|
1284
|
-
c.accuracy && /* @__PURE__ */ (
|
|
1317
|
+
c.accuracy && /* @__PURE__ */ T("p", {
|
|
1285
1318
|
className: "text-xs text-muted-foreground",
|
|
1286
1319
|
children: [
|
|
1287
1320
|
"Accuracy: ±",
|
|
@@ -1294,9 +1327,10 @@ function Ie({ value: e, onChange: t, field: n, readonly: r, ...a }) {
|
|
|
1294
1327
|
}
|
|
1295
1328
|
//#endregion
|
|
1296
1329
|
//#region src/widgets/SignatureField.tsx
|
|
1297
|
-
|
|
1298
|
-
|
|
1299
|
-
o(
|
|
1330
|
+
var ht = /* @__PURE__ */ e({ SignatureField: () => gt });
|
|
1331
|
+
function gt({ value: e, onChange: t, readonly: n }) {
|
|
1332
|
+
let r = l(null), [i, o] = a.useState(!1), [c, u] = a.useState(!e);
|
|
1333
|
+
s(() => {
|
|
1300
1334
|
if (e && r.current) {
|
|
1301
1335
|
let t = r.current.getContext("2d");
|
|
1302
1336
|
if (t) {
|
|
@@ -1309,43 +1343,43 @@ function Le({ value: e, onChange: t, readonly: n }) {
|
|
|
1309
1343
|
}, [e]);
|
|
1310
1344
|
let d = (e) => {
|
|
1311
1345
|
if (n) return;
|
|
1312
|
-
|
|
1346
|
+
o(!0), u(!1);
|
|
1313
1347
|
let t = r.current;
|
|
1314
1348
|
if (!t) return;
|
|
1315
1349
|
let i = t.getContext("2d");
|
|
1316
1350
|
if (!i) return;
|
|
1317
|
-
let a = t.getBoundingClientRect(),
|
|
1318
|
-
i.beginPath(), i.moveTo(
|
|
1351
|
+
let a = t.getBoundingClientRect(), s = "touches" in e ? e.touches[0].clientX - a.left : e.clientX - a.left, c = "touches" in e ? e.touches[0].clientY - a.top : e.clientY - a.top;
|
|
1352
|
+
i.beginPath(), i.moveTo(s, c);
|
|
1319
1353
|
}, f = (e) => {
|
|
1320
|
-
if (!
|
|
1354
|
+
if (!i || n) return;
|
|
1321
1355
|
let t = r.current;
|
|
1322
1356
|
if (!t) return;
|
|
1323
|
-
let
|
|
1324
|
-
if (!
|
|
1357
|
+
let a = t.getContext("2d");
|
|
1358
|
+
if (!a) return;
|
|
1325
1359
|
let o = t.getBoundingClientRect(), s = "touches" in e ? e.touches[0].clientX - o.left : e.clientX - o.left, c = "touches" in e ? e.touches[0].clientY - o.top : e.clientY - o.top;
|
|
1326
|
-
|
|
1360
|
+
a.lineTo(s, c), a.strokeStyle = "#000", a.lineWidth = 2, a.lineCap = "round", a.lineJoin = "round", a.stroke();
|
|
1327
1361
|
}, p = () => {
|
|
1328
|
-
if (!
|
|
1329
|
-
|
|
1362
|
+
if (!i) return;
|
|
1363
|
+
o(!1);
|
|
1330
1364
|
let e = r.current;
|
|
1331
1365
|
e && t(e.toDataURL("image/png"));
|
|
1332
1366
|
};
|
|
1333
|
-
return n && e ? /* @__PURE__ */ (
|
|
1367
|
+
return n && e ? /* @__PURE__ */ w("div", {
|
|
1334
1368
|
className: "border rounded p-2 bg-white",
|
|
1335
|
-
children: /* @__PURE__ */ (
|
|
1369
|
+
children: /* @__PURE__ */ w("img", {
|
|
1336
1370
|
src: e,
|
|
1337
1371
|
alt: "Signature",
|
|
1338
1372
|
loading: "lazy",
|
|
1339
1373
|
className: "max-w-full h-auto"
|
|
1340
1374
|
})
|
|
1341
|
-
}) : n && !e ? /* @__PURE__ */ (
|
|
1375
|
+
}) : n && !e ? /* @__PURE__ */ w("span", {
|
|
1342
1376
|
className: "text-sm text-muted-foreground",
|
|
1343
1377
|
children: "No signature"
|
|
1344
|
-
}) : /* @__PURE__ */ (
|
|
1378
|
+
}) : /* @__PURE__ */ T("div", {
|
|
1345
1379
|
className: "space-y-2",
|
|
1346
|
-
children: [/* @__PURE__ */ (
|
|
1380
|
+
children: [/* @__PURE__ */ w("div", {
|
|
1347
1381
|
className: "border rounded bg-white",
|
|
1348
|
-
children: /* @__PURE__ */ (
|
|
1382
|
+
children: /* @__PURE__ */ w("canvas", {
|
|
1349
1383
|
ref: r,
|
|
1350
1384
|
width: 400,
|
|
1351
1385
|
height: 200,
|
|
@@ -1358,12 +1392,12 @@ function Le({ value: e, onChange: t, readonly: n }) {
|
|
|
1358
1392
|
onTouchMove: f,
|
|
1359
1393
|
onTouchEnd: p
|
|
1360
1394
|
})
|
|
1361
|
-
}), /* @__PURE__ */ (
|
|
1395
|
+
}), /* @__PURE__ */ T("div", {
|
|
1362
1396
|
className: "flex justify-between items-center",
|
|
1363
|
-
children: [/* @__PURE__ */ (
|
|
1397
|
+
children: [/* @__PURE__ */ w("p", {
|
|
1364
1398
|
className: "text-xs text-muted-foreground",
|
|
1365
|
-
children:
|
|
1366
|
-
}), /* @__PURE__ */ (
|
|
1399
|
+
children: c ? "Sign above" : "Signature captured"
|
|
1400
|
+
}), /* @__PURE__ */ T(g, {
|
|
1367
1401
|
type: "button",
|
|
1368
1402
|
variant: "outline",
|
|
1369
1403
|
size: "sm",
|
|
@@ -1373,69 +1407,70 @@ function Le({ value: e, onChange: t, readonly: n }) {
|
|
|
1373
1407
|
let n = e.getContext("2d");
|
|
1374
1408
|
n && (n.clearRect(0, 0, e.width, e.height), u(!0), t(""));
|
|
1375
1409
|
},
|
|
1376
|
-
disabled: n ||
|
|
1377
|
-
children: [/* @__PURE__ */ (
|
|
1410
|
+
disabled: n || c,
|
|
1411
|
+
children: [/* @__PURE__ */ w(le, { className: "w-4 h-4 mr-2" }), "Clear"]
|
|
1378
1412
|
})]
|
|
1379
1413
|
})]
|
|
1380
1414
|
});
|
|
1381
1415
|
}
|
|
1382
1416
|
//#endregion
|
|
1383
1417
|
//#region src/widgets/QRCodeField.tsx
|
|
1384
|
-
|
|
1385
|
-
|
|
1386
|
-
|
|
1418
|
+
var _t = /* @__PURE__ */ e({ QRCodeField: () => vt });
|
|
1419
|
+
function vt({ value: e, onChange: t, field: n, readonly: r, ...i }) {
|
|
1420
|
+
let [o, s] = a.useState(!1), c = n || i.schema;
|
|
1421
|
+
return r ? /* @__PURE__ */ T("div", {
|
|
1387
1422
|
className: "flex items-center gap-3",
|
|
1388
|
-
children: [/* @__PURE__ */ (
|
|
1423
|
+
children: [/* @__PURE__ */ w("span", {
|
|
1389
1424
|
className: "text-sm flex-1 truncate",
|
|
1390
1425
|
children: e || "-"
|
|
1391
|
-
}), e && /* @__PURE__ */ (
|
|
1426
|
+
}), e && /* @__PURE__ */ T(g, {
|
|
1392
1427
|
type: "button",
|
|
1393
1428
|
variant: "outline",
|
|
1394
1429
|
size: "sm",
|
|
1395
1430
|
onClick: () => s(!o),
|
|
1396
1431
|
children: [
|
|
1397
|
-
/* @__PURE__ */ (
|
|
1432
|
+
/* @__PURE__ */ w(ye, { className: "w-4 h-4 mr-2" }),
|
|
1398
1433
|
o ? "Hide" : "Show",
|
|
1399
1434
|
" QR"
|
|
1400
1435
|
]
|
|
1401
1436
|
})]
|
|
1402
|
-
}) : /* @__PURE__ */ (
|
|
1437
|
+
}) : /* @__PURE__ */ T("div", {
|
|
1403
1438
|
className: "space-y-3",
|
|
1404
1439
|
children: [
|
|
1405
|
-
/* @__PURE__ */ (
|
|
1440
|
+
/* @__PURE__ */ T("div", {
|
|
1406
1441
|
className: "flex items-center gap-2",
|
|
1407
|
-
children: [/* @__PURE__ */ (
|
|
1442
|
+
children: [/* @__PURE__ */ w(_, {
|
|
1408
1443
|
type: "text",
|
|
1409
1444
|
value: e || "",
|
|
1410
1445
|
onChange: (e) => t(e.target.value),
|
|
1411
1446
|
placeholder: c?.placeholder || "Enter text for QR code",
|
|
1412
|
-
disabled: r ||
|
|
1413
|
-
className:
|
|
1414
|
-
}), e && /* @__PURE__ */ (
|
|
1447
|
+
disabled: r || i.disabled,
|
|
1448
|
+
className: i.className
|
|
1449
|
+
}), e && /* @__PURE__ */ T(Se, { children: [/* @__PURE__ */ w(g, {
|
|
1415
1450
|
type: "button",
|
|
1416
1451
|
variant: "outline",
|
|
1417
1452
|
size: "sm",
|
|
1418
1453
|
onClick: () => {
|
|
1419
1454
|
e && navigator.clipboard.writeText(e);
|
|
1420
1455
|
},
|
|
1421
|
-
children: /* @__PURE__ */ (
|
|
1422
|
-
}), /* @__PURE__ */ (
|
|
1456
|
+
children: /* @__PURE__ */ w(se, { className: "w-4 h-4" })
|
|
1457
|
+
}), /* @__PURE__ */ w(g, {
|
|
1423
1458
|
type: "button",
|
|
1424
1459
|
variant: "outline",
|
|
1425
1460
|
size: "sm",
|
|
1426
1461
|
onClick: () => s(!o),
|
|
1427
|
-
children: /* @__PURE__ */ (
|
|
1462
|
+
children: /* @__PURE__ */ w(ye, { className: "w-4 h-4" })
|
|
1428
1463
|
})] })]
|
|
1429
1464
|
}),
|
|
1430
|
-
o && e && /* @__PURE__ */ (
|
|
1465
|
+
o && e && /* @__PURE__ */ w("div", {
|
|
1431
1466
|
className: "border rounded p-4 bg-white flex justify-center",
|
|
1432
|
-
children: /* @__PURE__ */ (
|
|
1467
|
+
children: /* @__PURE__ */ w("img", {
|
|
1433
1468
|
src: ((e) => `https://api.qrserver.com/v1/create-qr-code/?size=200x200&data=${encodeURIComponent(e)}`)(e),
|
|
1434
1469
|
alt: "QR Code",
|
|
1435
1470
|
className: "w-48 h-48"
|
|
1436
1471
|
})
|
|
1437
1472
|
}),
|
|
1438
|
-
e && /* @__PURE__ */ (
|
|
1473
|
+
e && /* @__PURE__ */ T("p", {
|
|
1439
1474
|
className: "text-xs text-muted-foreground",
|
|
1440
1475
|
children: [
|
|
1441
1476
|
"QR code contains: ",
|
|
@@ -1448,7 +1483,8 @@ function Re({ value: e, onChange: t, field: n, readonly: r, ...a }) {
|
|
|
1448
1483
|
}
|
|
1449
1484
|
//#endregion
|
|
1450
1485
|
//#region src/widgets/MasterDetailField.tsx
|
|
1451
|
-
|
|
1486
|
+
var yt = /* @__PURE__ */ e({ MasterDetailField: () => bt });
|
|
1487
|
+
function bt({ value: e, onChange: t, field: n, readonly: r, className: i, ...a }) {
|
|
1452
1488
|
let o = e || [], s = n || a.schema, c = () => {
|
|
1453
1489
|
let e = {
|
|
1454
1490
|
id: `new-${Date.now()}`,
|
|
@@ -1460,24 +1496,24 @@ function ze({ value: e, onChange: t, field: n, readonly: r, className: i, ...a }
|
|
|
1460
1496
|
}, u = (e) => {
|
|
1461
1497
|
console.log("View detail:", e);
|
|
1462
1498
|
};
|
|
1463
|
-
return r ? /* @__PURE__ */ (
|
|
1464
|
-
className:
|
|
1465
|
-
children: [o.length === 0 ? /* @__PURE__ */ (
|
|
1499
|
+
return r ? /* @__PURE__ */ T("div", {
|
|
1500
|
+
className: x("space-y-2", i),
|
|
1501
|
+
children: [o.length === 0 ? /* @__PURE__ */ w("span", {
|
|
1466
1502
|
className: "text-sm text-muted-foreground",
|
|
1467
1503
|
children: "No related records"
|
|
1468
|
-
}) : o.map((e) => /* @__PURE__ */ (
|
|
1504
|
+
}) : o.map((e) => /* @__PURE__ */ T("div", {
|
|
1469
1505
|
className: "flex items-center justify-between p-2 border rounded hover:bg-muted/50",
|
|
1470
|
-
children: [/* @__PURE__ */ (
|
|
1506
|
+
children: [/* @__PURE__ */ w("span", {
|
|
1471
1507
|
className: "text-sm",
|
|
1472
1508
|
children: e.label
|
|
1473
|
-
}), /* @__PURE__ */ (
|
|
1509
|
+
}), /* @__PURE__ */ w(g, {
|
|
1474
1510
|
type: "button",
|
|
1475
1511
|
variant: "ghost",
|
|
1476
1512
|
size: "sm",
|
|
1477
1513
|
onClick: () => u(e),
|
|
1478
|
-
children: /* @__PURE__ */ (
|
|
1514
|
+
children: /* @__PURE__ */ w(ue, { className: "w-4 h-4" })
|
|
1479
1515
|
})]
|
|
1480
|
-
}, e.id)), /* @__PURE__ */ (
|
|
1516
|
+
}, e.id)), /* @__PURE__ */ T("p", {
|
|
1481
1517
|
className: "text-xs text-muted-foreground",
|
|
1482
1518
|
children: [
|
|
1483
1519
|
o.length,
|
|
@@ -1485,50 +1521,50 @@ function ze({ value: e, onChange: t, field: n, readonly: r, className: i, ...a }
|
|
|
1485
1521
|
o.length === 1 ? "record" : "records"
|
|
1486
1522
|
]
|
|
1487
1523
|
})]
|
|
1488
|
-
}) : /* @__PURE__ */ (
|
|
1489
|
-
className:
|
|
1490
|
-
children: [/* @__PURE__ */ (
|
|
1524
|
+
}) : /* @__PURE__ */ T("div", {
|
|
1525
|
+
className: x("space-y-3", i),
|
|
1526
|
+
children: [/* @__PURE__ */ T("div", {
|
|
1491
1527
|
className: "space-y-2",
|
|
1492
|
-
children: [o.map((e) => /* @__PURE__ */ (
|
|
1528
|
+
children: [o.map((e) => /* @__PURE__ */ T("div", {
|
|
1493
1529
|
className: "flex items-center justify-between gap-2 p-2 border rounded hover:bg-muted/50",
|
|
1494
|
-
children: [/* @__PURE__ */ (
|
|
1530
|
+
children: [/* @__PURE__ */ T("div", {
|
|
1495
1531
|
className: "flex items-center gap-2 flex-1",
|
|
1496
|
-
children: [/* @__PURE__ */ (
|
|
1532
|
+
children: [/* @__PURE__ */ w(h, {
|
|
1497
1533
|
variant: "outline",
|
|
1498
1534
|
children: e.id
|
|
1499
|
-
}), /* @__PURE__ */ (
|
|
1535
|
+
}), /* @__PURE__ */ w("span", {
|
|
1500
1536
|
className: "text-sm flex-1",
|
|
1501
1537
|
children: e.label
|
|
1502
1538
|
})]
|
|
1503
|
-
}), /* @__PURE__ */ (
|
|
1539
|
+
}), /* @__PURE__ */ T("div", {
|
|
1504
1540
|
className: "flex items-center gap-1",
|
|
1505
|
-
children: [/* @__PURE__ */ (
|
|
1541
|
+
children: [/* @__PURE__ */ w(g, {
|
|
1506
1542
|
type: "button",
|
|
1507
1543
|
variant: "ghost",
|
|
1508
1544
|
size: "sm",
|
|
1509
1545
|
onClick: () => u(e),
|
|
1510
|
-
children: /* @__PURE__ */ (
|
|
1511
|
-
}), /* @__PURE__ */ (
|
|
1546
|
+
children: /* @__PURE__ */ w(ue, { className: "w-4 h-4" })
|
|
1547
|
+
}), /* @__PURE__ */ w(g, {
|
|
1512
1548
|
type: "button",
|
|
1513
1549
|
variant: "ghost",
|
|
1514
1550
|
size: "sm",
|
|
1515
1551
|
onClick: () => l(e.id),
|
|
1516
1552
|
disabled: a.disabled,
|
|
1517
|
-
children: /* @__PURE__ */ (
|
|
1553
|
+
children: /* @__PURE__ */ w(C, { className: "w-4 h-4" })
|
|
1518
1554
|
})]
|
|
1519
1555
|
})]
|
|
1520
|
-
}, e.id)), o.length === 0 && /* @__PURE__ */ (
|
|
1556
|
+
}, e.id)), o.length === 0 && /* @__PURE__ */ w("div", {
|
|
1521
1557
|
className: "text-sm text-muted-foreground text-center py-4 border border-dashed rounded bg-muted/20",
|
|
1522
1558
|
children: "No related records"
|
|
1523
1559
|
})]
|
|
1524
|
-
}), /* @__PURE__ */ (
|
|
1560
|
+
}), /* @__PURE__ */ T(g, {
|
|
1525
1561
|
type: "button",
|
|
1526
1562
|
variant: "outline",
|
|
1527
1563
|
className: "w-full",
|
|
1528
1564
|
onClick: c,
|
|
1529
1565
|
disabled: a.disabled,
|
|
1530
1566
|
children: [
|
|
1531
|
-
/* @__PURE__ */ (
|
|
1567
|
+
/* @__PURE__ */ w(ve, { className: "w-4 h-4 mr-2" }),
|
|
1532
1568
|
"Add ",
|
|
1533
1569
|
s?.label || "Record"
|
|
1534
1570
|
]
|
|
@@ -1537,7 +1573,7 @@ function ze({ value: e, onChange: t, field: n, readonly: r, className: i, ...a }
|
|
|
1537
1573
|
}
|
|
1538
1574
|
//#endregion
|
|
1539
1575
|
//#region src/index.tsx
|
|
1540
|
-
function
|
|
1576
|
+
function G(e) {
|
|
1541
1577
|
if (e == null || typeof e == "string" || typeof e == "number" || typeof e == "boolean") return e;
|
|
1542
1578
|
if (e instanceof Date) return e.toISOString();
|
|
1543
1579
|
if (Array.isArray(e)) return e.map((e) => {
|
|
@@ -1553,7 +1589,7 @@ function H(e) {
|
|
|
1553
1589
|
}
|
|
1554
1590
|
return String(e);
|
|
1555
1591
|
}
|
|
1556
|
-
function
|
|
1592
|
+
function xt(e, t = "USD") {
|
|
1557
1593
|
try {
|
|
1558
1594
|
return new Intl.NumberFormat("en-US", {
|
|
1559
1595
|
style: "currency",
|
|
@@ -1563,7 +1599,7 @@ function Be(e, t = "USD") {
|
|
|
1563
1599
|
return `${t} ${e.toFixed(2)}`;
|
|
1564
1600
|
}
|
|
1565
1601
|
}
|
|
1566
|
-
function
|
|
1602
|
+
function St(e, t = "USD") {
|
|
1567
1603
|
try {
|
|
1568
1604
|
return new Intl.NumberFormat("en-US", {
|
|
1569
1605
|
style: "currency",
|
|
@@ -1575,13 +1611,13 @@ function Ve(e, t = "USD") {
|
|
|
1575
1611
|
return `${t} ${e}`;
|
|
1576
1612
|
}
|
|
1577
1613
|
}
|
|
1578
|
-
function
|
|
1614
|
+
function Ct(e, t = 0) {
|
|
1579
1615
|
return `${(e > -1 && e < 1 ? e * 100 : e).toFixed(t)}%`;
|
|
1580
1616
|
}
|
|
1581
|
-
function
|
|
1617
|
+
function K(e) {
|
|
1582
1618
|
return e.replace(/[_-]/g, " ").replace(/\b\w/g, (e) => e.toUpperCase());
|
|
1583
1619
|
}
|
|
1584
|
-
function
|
|
1620
|
+
function wt(e) {
|
|
1585
1621
|
if (!e) return "-";
|
|
1586
1622
|
let t = typeof e == "string" ? new Date(e) : e;
|
|
1587
1623
|
if (isNaN(t.getTime())) return "-";
|
|
@@ -1591,20 +1627,20 @@ function Ue(e) {
|
|
|
1591
1627
|
if (a === -1) return "Yesterday";
|
|
1592
1628
|
if (a < -1) {
|
|
1593
1629
|
let e = Math.abs(a);
|
|
1594
|
-
return e <= 7 ? `Overdue ${e}d` :
|
|
1630
|
+
return e <= 7 ? `Overdue ${e}d` : q(t);
|
|
1595
1631
|
}
|
|
1596
|
-
return a > 1 && a <= 7 ? `In ${a} days` :
|
|
1632
|
+
return a > 1 && a <= 7 ? `In ${a} days` : q(t);
|
|
1597
1633
|
}
|
|
1598
|
-
function
|
|
1634
|
+
function q(e, t) {
|
|
1599
1635
|
if (!e) return "-";
|
|
1600
1636
|
let n = typeof e == "string" ? new Date(e) : e;
|
|
1601
|
-
return isNaN(n.getTime()) ? "-" : t === "short" ? `${n.toLocaleDateString("en-US", { month: "short" })} ${n.getDate()}, '${String(n.getFullYear()).slice(-2)}` : t === "relative" ?
|
|
1637
|
+
return isNaN(n.getTime()) ? "-" : t === "short" ? `${n.toLocaleDateString("en-US", { month: "short" })} ${n.getDate()}, '${String(n.getFullYear()).slice(-2)}` : t === "relative" ? wt(n) : n.toLocaleDateString(void 0, {
|
|
1602
1638
|
year: "numeric",
|
|
1603
1639
|
month: "short",
|
|
1604
1640
|
day: "numeric"
|
|
1605
1641
|
});
|
|
1606
1642
|
}
|
|
1607
|
-
function
|
|
1643
|
+
function Tt(e) {
|
|
1608
1644
|
if (!e) return "-";
|
|
1609
1645
|
let t = typeof e == "string" ? new Date(e) : e;
|
|
1610
1646
|
return isNaN(t.getTime()) ? "-" : t.toLocaleDateString(void 0, {
|
|
@@ -1615,20 +1651,20 @@ function We(e) {
|
|
|
1615
1651
|
minute: "2-digit"
|
|
1616
1652
|
});
|
|
1617
1653
|
}
|
|
1618
|
-
function
|
|
1619
|
-
let t =
|
|
1620
|
-
return /* @__PURE__ */ (
|
|
1654
|
+
function J({ value: e }) {
|
|
1655
|
+
let t = G(e);
|
|
1656
|
+
return /* @__PURE__ */ w("span", {
|
|
1621
1657
|
className: "truncate",
|
|
1622
1658
|
children: t != null && t !== "" ? String(t) : "-"
|
|
1623
1659
|
});
|
|
1624
1660
|
}
|
|
1625
|
-
function
|
|
1626
|
-
if (e == null) return /* @__PURE__ */ (
|
|
1661
|
+
function Et({ value: e, field: t }) {
|
|
1662
|
+
if (e == null) return /* @__PURE__ */ w("span", {
|
|
1627
1663
|
className: "text-muted-foreground",
|
|
1628
1664
|
children: "-"
|
|
1629
1665
|
});
|
|
1630
|
-
let n =
|
|
1631
|
-
return /* @__PURE__ */ (
|
|
1666
|
+
let n = G(e), r = t.precision ?? 0, i = Number(n);
|
|
1667
|
+
return /* @__PURE__ */ w("span", {
|
|
1632
1668
|
className: "tabular-nums",
|
|
1633
1669
|
children: isNaN(i) ? String(n) : new Intl.NumberFormat("en-US", {
|
|
1634
1670
|
minimumFractionDigits: r,
|
|
@@ -1636,48 +1672,48 @@ function Ge({ value: e, field: t }) {
|
|
|
1636
1672
|
}).format(i)
|
|
1637
1673
|
});
|
|
1638
1674
|
}
|
|
1639
|
-
function
|
|
1640
|
-
if (e == null) return /* @__PURE__ */ (
|
|
1675
|
+
function Dt({ value: e, field: t }) {
|
|
1676
|
+
if (e == null) return /* @__PURE__ */ w("span", {
|
|
1641
1677
|
className: "text-muted-foreground",
|
|
1642
1678
|
children: "-"
|
|
1643
1679
|
});
|
|
1644
|
-
let n =
|
|
1645
|
-
return /* @__PURE__ */ (
|
|
1680
|
+
let n = G(e), r = t.currency || "USD", i = Number(n);
|
|
1681
|
+
return /* @__PURE__ */ w("span", {
|
|
1646
1682
|
className: "tabular-nums font-medium whitespace-nowrap",
|
|
1647
|
-
children: isNaN(i) ? String(n) :
|
|
1683
|
+
children: isNaN(i) ? String(n) : xt(i, r)
|
|
1648
1684
|
});
|
|
1649
1685
|
}
|
|
1650
|
-
var
|
|
1651
|
-
function
|
|
1652
|
-
if (e == null) return /* @__PURE__ */ (
|
|
1686
|
+
var Ot = /progress|completion/;
|
|
1687
|
+
function kt({ value: e, field: t }) {
|
|
1688
|
+
if (e == null) return /* @__PURE__ */ w("span", {
|
|
1653
1689
|
className: "text-muted-foreground",
|
|
1654
1690
|
children: "-"
|
|
1655
1691
|
});
|
|
1656
|
-
let n =
|
|
1657
|
-
if (isNaN(i)) return /* @__PURE__ */ (
|
|
1692
|
+
let n = G(e), r = t.precision ?? 0, i = Number(n);
|
|
1693
|
+
if (isNaN(i)) return /* @__PURE__ */ w("span", {
|
|
1658
1694
|
className: "tabular-nums whitespace-nowrap",
|
|
1659
1695
|
children: String(n)
|
|
1660
1696
|
});
|
|
1661
|
-
let a =
|
|
1662
|
-
return /* @__PURE__ */ (
|
|
1697
|
+
let a = Ot.test(t?.name?.toLowerCase() || ""), o = a ? i : i > -1 && i < 1 ? i * 100 : i, s = a ? `${i.toFixed(r)}%` : Ct(i, r), c = Math.max(0, Math.min(100, o));
|
|
1698
|
+
return /* @__PURE__ */ T("div", {
|
|
1663
1699
|
className: "flex items-center gap-2",
|
|
1664
|
-
children: [/* @__PURE__ */ (
|
|
1700
|
+
children: [/* @__PURE__ */ w("div", {
|
|
1665
1701
|
className: "h-1.5 w-16 rounded-full bg-muted overflow-hidden flex-shrink-0",
|
|
1666
1702
|
role: "progressbar",
|
|
1667
1703
|
"aria-valuenow": c,
|
|
1668
1704
|
"aria-valuemin": 0,
|
|
1669
1705
|
"aria-valuemax": 100,
|
|
1670
|
-
children: /* @__PURE__ */ (
|
|
1706
|
+
children: /* @__PURE__ */ w("div", {
|
|
1671
1707
|
className: "h-full rounded-full bg-primary transition-all",
|
|
1672
1708
|
style: { width: `${c}%` }
|
|
1673
1709
|
})
|
|
1674
|
-
}), /* @__PURE__ */ (
|
|
1710
|
+
}), /* @__PURE__ */ w("span", {
|
|
1675
1711
|
className: "tabular-nums whitespace-nowrap",
|
|
1676
1712
|
children: s
|
|
1677
1713
|
})]
|
|
1678
1714
|
});
|
|
1679
1715
|
}
|
|
1680
|
-
var
|
|
1716
|
+
var At = new Set([
|
|
1681
1717
|
"active",
|
|
1682
1718
|
"is_active",
|
|
1683
1719
|
"enabled",
|
|
@@ -1685,61 +1721,61 @@ var Ye = new Set([
|
|
|
1685
1721
|
"verified",
|
|
1686
1722
|
"is_verified"
|
|
1687
1723
|
]);
|
|
1688
|
-
function
|
|
1689
|
-
if (e == null) return /* @__PURE__ */ (
|
|
1724
|
+
function jt({ value: e, field: t }) {
|
|
1725
|
+
if (e == null) return /* @__PURE__ */ w("span", {
|
|
1690
1726
|
className: "text-muted-foreground/50 text-xs italic flex items-center justify-center",
|
|
1691
1727
|
children: "—"
|
|
1692
1728
|
});
|
|
1693
1729
|
let n = t?.name?.toLowerCase() || "";
|
|
1694
|
-
return n === "completed" || n === "is_completed" || n === "done" || n === "is_done" ? /* @__PURE__ */ (
|
|
1730
|
+
return n === "completed" || n === "is_completed" || n === "done" || n === "is_done" ? /* @__PURE__ */ w("div", {
|
|
1695
1731
|
className: "flex items-center justify-center",
|
|
1696
|
-
children: e ? /* @__PURE__ */ (
|
|
1732
|
+
children: e ? /* @__PURE__ */ w("div", {
|
|
1697
1733
|
className: "size-5 rounded-full bg-green-500 flex items-center justify-center",
|
|
1698
1734
|
role: "img",
|
|
1699
1735
|
"aria-label": "Completed",
|
|
1700
1736
|
"data-testid": "completion-indicator",
|
|
1701
|
-
children: /* @__PURE__ */ (
|
|
1702
|
-
}) : /* @__PURE__ */ (
|
|
1737
|
+
children: /* @__PURE__ */ w(S, { className: "size-3 text-white" })
|
|
1738
|
+
}) : /* @__PURE__ */ w("div", {
|
|
1703
1739
|
className: "size-5 rounded-full border-2 border-muted-foreground/30",
|
|
1704
1740
|
role: "img",
|
|
1705
1741
|
"aria-label": "Not completed",
|
|
1706
1742
|
"data-testid": "completion-indicator"
|
|
1707
1743
|
})
|
|
1708
|
-
}) :
|
|
1744
|
+
}) : At.has(n) && !e ? /* @__PURE__ */ T(h, {
|
|
1709
1745
|
variant: "destructive",
|
|
1710
1746
|
className: "text-xs",
|
|
1711
1747
|
"data-testid": "boolean-warning-badge",
|
|
1712
|
-
children: [t?.label ||
|
|
1713
|
-
}) : /* @__PURE__ */ (
|
|
1748
|
+
children: [t?.label || K(n), " — Off"]
|
|
1749
|
+
}) : /* @__PURE__ */ w("div", {
|
|
1714
1750
|
className: "flex items-center justify-center",
|
|
1715
|
-
children: /* @__PURE__ */ (
|
|
1751
|
+
children: /* @__PURE__ */ w(ee, {
|
|
1716
1752
|
checked: !!e,
|
|
1717
1753
|
disabled: !0,
|
|
1718
1754
|
className: "pointer-events-none"
|
|
1719
1755
|
})
|
|
1720
1756
|
});
|
|
1721
1757
|
}
|
|
1722
|
-
function
|
|
1723
|
-
if (!e) return /* @__PURE__ */ (
|
|
1758
|
+
function Mt({ value: e, field: t }) {
|
|
1759
|
+
if (!e) return /* @__PURE__ */ w("span", {
|
|
1724
1760
|
className: "text-muted-foreground",
|
|
1725
1761
|
children: "-"
|
|
1726
1762
|
});
|
|
1727
|
-
let n =
|
|
1763
|
+
let n = G(e), r = q(n, t.format || "relative"), i = typeof n == "string" ? new Date(n) : n, a = i instanceof Date && !isNaN(i.getTime()), o = /* @__PURE__ */ new Date();
|
|
1728
1764
|
o.setHours(0, 0, 0, 0);
|
|
1729
1765
|
let s = a && i < o, c = a ? i.toISOString() : String(n);
|
|
1730
|
-
return /* @__PURE__ */ (
|
|
1766
|
+
return /* @__PURE__ */ w("span", {
|
|
1731
1767
|
className: `tabular-nums${s ? " text-red-600" : ""}`,
|
|
1732
1768
|
title: c,
|
|
1733
1769
|
children: r
|
|
1734
1770
|
});
|
|
1735
1771
|
}
|
|
1736
|
-
function
|
|
1737
|
-
if (!e) return /* @__PURE__ */ (
|
|
1772
|
+
function Nt({ value: e }) {
|
|
1773
|
+
if (!e) return /* @__PURE__ */ w("span", {
|
|
1738
1774
|
className: "text-muted-foreground",
|
|
1739
1775
|
children: "-"
|
|
1740
1776
|
});
|
|
1741
|
-
let t =
|
|
1742
|
-
if (!(n instanceof Date) || isNaN(n.getTime())) return /* @__PURE__ */ (
|
|
1777
|
+
let t = G(e), n = typeof t == "string" ? new Date(t) : t;
|
|
1778
|
+
if (!(n instanceof Date) || isNaN(n.getTime())) return /* @__PURE__ */ w("span", {
|
|
1743
1779
|
className: "text-muted-foreground",
|
|
1744
1780
|
children: "-"
|
|
1745
1781
|
});
|
|
@@ -1752,15 +1788,15 @@ function Qe({ value: e }) {
|
|
|
1752
1788
|
minute: "2-digit",
|
|
1753
1789
|
hour12: !0
|
|
1754
1790
|
}).toLowerCase();
|
|
1755
|
-
return /* @__PURE__ */ (
|
|
1791
|
+
return /* @__PURE__ */ T("span", {
|
|
1756
1792
|
className: "tabular-nums text-sm whitespace-nowrap",
|
|
1757
|
-
children: [/* @__PURE__ */ (
|
|
1793
|
+
children: [/* @__PURE__ */ w("span", { children: r }), /* @__PURE__ */ w("span", {
|
|
1758
1794
|
className: "ml-2 text-muted-foreground",
|
|
1759
1795
|
children: i
|
|
1760
1796
|
})]
|
|
1761
1797
|
});
|
|
1762
1798
|
}
|
|
1763
|
-
var
|
|
1799
|
+
var Pt = {
|
|
1764
1800
|
critical: "red",
|
|
1765
1801
|
urgent: "red",
|
|
1766
1802
|
high: "orange",
|
|
@@ -1792,7 +1828,7 @@ var $e = {
|
|
|
1792
1828
|
overdue: "red",
|
|
1793
1829
|
delivered: "purple",
|
|
1794
1830
|
archived: "indigo"
|
|
1795
|
-
},
|
|
1831
|
+
}, Ft = {
|
|
1796
1832
|
gray: "bg-gray-100 text-gray-800 border-gray-300",
|
|
1797
1833
|
red: "bg-red-100 text-red-800 border-red-300",
|
|
1798
1834
|
orange: "bg-orange-100 text-orange-800 border-orange-300",
|
|
@@ -1803,45 +1839,45 @@ var $e = {
|
|
|
1803
1839
|
purple: "bg-purple-100 text-purple-800 border-purple-300",
|
|
1804
1840
|
pink: "bg-pink-100 text-pink-800 border-pink-300"
|
|
1805
1841
|
};
|
|
1806
|
-
function
|
|
1807
|
-
return
|
|
1842
|
+
function It(e, t) {
|
|
1843
|
+
return Ft[e || (t ? Pt[String(t).toLowerCase().replace(/[\s-]/g, "_")] : void 0) || ""] || "bg-muted text-muted-foreground border-border";
|
|
1808
1844
|
}
|
|
1809
|
-
function
|
|
1845
|
+
function Y({ value: e, field: t }) {
|
|
1810
1846
|
let n = t.options || [];
|
|
1811
|
-
if (!e) return /* @__PURE__ */ (
|
|
1812
|
-
if (Array.isArray(e)) return /* @__PURE__ */ (
|
|
1847
|
+
if (!e) return /* @__PURE__ */ w("span", { children: "-" });
|
|
1848
|
+
if (Array.isArray(e)) return /* @__PURE__ */ w("div", {
|
|
1813
1849
|
className: "flex flex-wrap gap-1",
|
|
1814
1850
|
children: e.map((e, t) => {
|
|
1815
|
-
let r = n.find((t) => t.value === e), i = r?.label ||
|
|
1816
|
-
return /* @__PURE__ */ (
|
|
1851
|
+
let r = n.find((t) => t.value === e), i = r?.label || K(String(e));
|
|
1852
|
+
return /* @__PURE__ */ w(h, {
|
|
1817
1853
|
variant: "outline",
|
|
1818
|
-
className:
|
|
1854
|
+
className: It(r?.color, e),
|
|
1819
1855
|
children: i
|
|
1820
1856
|
}, t);
|
|
1821
1857
|
})
|
|
1822
1858
|
});
|
|
1823
|
-
let r = n.find((t) => t.value === e), i = r?.label ||
|
|
1824
|
-
return /* @__PURE__ */ (
|
|
1859
|
+
let r = n.find((t) => t.value === e), i = r?.label || K(String(e));
|
|
1860
|
+
return /* @__PURE__ */ w(h, {
|
|
1825
1861
|
variant: "outline",
|
|
1826
|
-
className:
|
|
1862
|
+
className: It(r?.color, e),
|
|
1827
1863
|
children: i
|
|
1828
1864
|
});
|
|
1829
1865
|
}
|
|
1830
|
-
function
|
|
1831
|
-
if (!e) return /* @__PURE__ */ (
|
|
1832
|
-
let t = String(
|
|
1833
|
-
return /* @__PURE__ */ (
|
|
1866
|
+
function Lt({ value: e }) {
|
|
1867
|
+
if (!e) return /* @__PURE__ */ w("span", { children: "-" });
|
|
1868
|
+
let t = String(G(e) ?? ""), [n, r] = a.useState(!1);
|
|
1869
|
+
return /* @__PURE__ */ T("span", {
|
|
1834
1870
|
className: "inline-flex items-center gap-1 group/email",
|
|
1835
|
-
children: [/* @__PURE__ */ (
|
|
1871
|
+
children: [/* @__PURE__ */ w(g, {
|
|
1836
1872
|
variant: "link",
|
|
1837
1873
|
className: "p-0 h-auto font-normal text-blue-600 hover:text-blue-800",
|
|
1838
1874
|
asChild: !0,
|
|
1839
|
-
children: /* @__PURE__ */ (
|
|
1875
|
+
children: /* @__PURE__ */ w("a", {
|
|
1840
1876
|
href: `mailto:${t}`,
|
|
1841
1877
|
onClick: (e) => e.stopPropagation(),
|
|
1842
1878
|
children: t
|
|
1843
1879
|
})
|
|
1844
|
-
}), /* @__PURE__ */ (
|
|
1880
|
+
}), /* @__PURE__ */ w("button", {
|
|
1845
1881
|
type: "button",
|
|
1846
1882
|
className: "opacity-0 group-hover/email:opacity-100 transition-opacity p-0.5 rounded hover:bg-muted",
|
|
1847
1883
|
onClick: (e) => {
|
|
@@ -1850,18 +1886,18 @@ function nt({ value: e }) {
|
|
|
1850
1886
|
}).catch(() => {});
|
|
1851
1887
|
},
|
|
1852
1888
|
"aria-label": "Copy email",
|
|
1853
|
-
children: n ? /* @__PURE__ */ (
|
|
1889
|
+
children: n ? /* @__PURE__ */ w(S, { className: "h-3 w-3 text-green-600" }) : /* @__PURE__ */ w(se, { className: "h-3 w-3 text-muted-foreground" })
|
|
1854
1890
|
})]
|
|
1855
1891
|
});
|
|
1856
1892
|
}
|
|
1857
|
-
function
|
|
1858
|
-
if (!e) return /* @__PURE__ */ (
|
|
1859
|
-
let t = String(
|
|
1860
|
-
return /* @__PURE__ */ (
|
|
1893
|
+
function Rt({ value: e }) {
|
|
1894
|
+
if (!e) return /* @__PURE__ */ w("span", { children: "-" });
|
|
1895
|
+
let t = String(G(e) ?? "");
|
|
1896
|
+
return /* @__PURE__ */ w(g, {
|
|
1861
1897
|
variant: "link",
|
|
1862
1898
|
className: "p-0 h-auto font-normal text-blue-600 hover:text-blue-800",
|
|
1863
1899
|
asChild: !0,
|
|
1864
|
-
children: /* @__PURE__ */ (
|
|
1900
|
+
children: /* @__PURE__ */ w("a", {
|
|
1865
1901
|
href: t,
|
|
1866
1902
|
target: "_blank",
|
|
1867
1903
|
rel: "noopener noreferrer",
|
|
@@ -1870,17 +1906,17 @@ function rt({ value: e }) {
|
|
|
1870
1906
|
})
|
|
1871
1907
|
});
|
|
1872
1908
|
}
|
|
1873
|
-
function
|
|
1874
|
-
if (!e) return /* @__PURE__ */ (
|
|
1875
|
-
let t = String(
|
|
1876
|
-
return /* @__PURE__ */ (
|
|
1909
|
+
function zt({ value: e }) {
|
|
1910
|
+
if (!e) return /* @__PURE__ */ w("span", { children: "-" });
|
|
1911
|
+
let t = String(G(e) ?? ""), [n, r] = a.useState(!1);
|
|
1912
|
+
return /* @__PURE__ */ T("span", {
|
|
1877
1913
|
className: "inline-flex items-center gap-1 group/phone",
|
|
1878
|
-
children: [/* @__PURE__ */ (
|
|
1914
|
+
children: [/* @__PURE__ */ T("a", {
|
|
1879
1915
|
href: `tel:${t}`,
|
|
1880
1916
|
className: "inline-flex items-center gap-1 text-blue-600 hover:text-blue-800",
|
|
1881
1917
|
onClick: (e) => e.stopPropagation(),
|
|
1882
|
-
children: [/* @__PURE__ */ (
|
|
1883
|
-
}), /* @__PURE__ */ (
|
|
1918
|
+
children: [/* @__PURE__ */ w(_e, { className: "h-3 w-3" }), t]
|
|
1919
|
+
}), /* @__PURE__ */ w("button", {
|
|
1884
1920
|
type: "button",
|
|
1885
1921
|
className: "opacity-0 group-hover/phone:opacity-100 transition-opacity p-0.5 rounded hover:bg-muted",
|
|
1886
1922
|
onClick: (e) => {
|
|
@@ -1889,15 +1925,15 @@ function it({ value: e }) {
|
|
|
1889
1925
|
}).catch(() => {});
|
|
1890
1926
|
},
|
|
1891
1927
|
"aria-label": "Copy phone number",
|
|
1892
|
-
children: n ? /* @__PURE__ */ (
|
|
1928
|
+
children: n ? /* @__PURE__ */ w(S, { className: "h-3 w-3 text-green-600" }) : /* @__PURE__ */ w(se, { className: "h-3 w-3 text-muted-foreground" })
|
|
1893
1929
|
})]
|
|
1894
1930
|
});
|
|
1895
1931
|
}
|
|
1896
|
-
function
|
|
1897
|
-
if (!e) return /* @__PURE__ */ (
|
|
1932
|
+
function Bt({ value: e, field: t }) {
|
|
1933
|
+
if (!e) return /* @__PURE__ */ w("span", { children: "-" });
|
|
1898
1934
|
if (t.multiple, Array.isArray(e)) {
|
|
1899
1935
|
let t = e.length;
|
|
1900
|
-
return /* @__PURE__ */ (
|
|
1936
|
+
return /* @__PURE__ */ T("span", {
|
|
1901
1937
|
className: "text-sm text-gray-600",
|
|
1902
1938
|
children: [
|
|
1903
1939
|
t,
|
|
@@ -1906,30 +1942,30 @@ function at({ value: e, field: t }) {
|
|
|
1906
1942
|
]
|
|
1907
1943
|
});
|
|
1908
1944
|
}
|
|
1909
|
-
return /* @__PURE__ */ (
|
|
1945
|
+
return /* @__PURE__ */ w("span", {
|
|
1910
1946
|
className: "text-sm truncate",
|
|
1911
1947
|
children: e.name || e.original_name || "File"
|
|
1912
1948
|
});
|
|
1913
1949
|
}
|
|
1914
|
-
function
|
|
1915
|
-
return e ? Array.isArray(e) ? /* @__PURE__ */ (
|
|
1950
|
+
function Vt({ value: e }) {
|
|
1951
|
+
return e ? Array.isArray(e) ? /* @__PURE__ */ T("div", {
|
|
1916
1952
|
className: "flex -space-x-2",
|
|
1917
|
-
children: [e.slice(0, 3).map((e, t) => /* @__PURE__ */ (
|
|
1953
|
+
children: [e.slice(0, 3).map((e, t) => /* @__PURE__ */ w("img", {
|
|
1918
1954
|
src: e.url || "",
|
|
1919
1955
|
alt: e.name || `Image ${t + 1}`,
|
|
1920
1956
|
className: "size-8 rounded-md border-2 border-white object-cover"
|
|
1921
|
-
}, t)), e.length > 3 && /* @__PURE__ */ (
|
|
1957
|
+
}, t)), e.length > 3 && /* @__PURE__ */ T("div", {
|
|
1922
1958
|
className: "size-8 rounded-md border-2 border-white bg-gray-100 flex items-center justify-center text-xs font-medium text-gray-600",
|
|
1923
1959
|
children: ["+", e.length - 3]
|
|
1924
1960
|
})]
|
|
1925
|
-
}) : /* @__PURE__ */ (
|
|
1961
|
+
}) : /* @__PURE__ */ w("img", {
|
|
1926
1962
|
src: e.url || "",
|
|
1927
1963
|
alt: e.name || "Image",
|
|
1928
1964
|
className: "size-10 rounded-md object-cover"
|
|
1929
|
-
}) : /* @__PURE__ */ (
|
|
1965
|
+
}) : /* @__PURE__ */ w("span", { children: "-" });
|
|
1930
1966
|
}
|
|
1931
|
-
function
|
|
1932
|
-
if (e == null || e === "") return /* @__PURE__ */ (
|
|
1967
|
+
function X({ value: e, field: t }) {
|
|
1968
|
+
if (e == null || e === "") return /* @__PURE__ */ w("span", { children: "-" });
|
|
1933
1969
|
let n = t.options || [], r = (e) => {
|
|
1934
1970
|
if (n.length > 0) {
|
|
1935
1971
|
let t = n.find((t) => String(t.value) === String(e));
|
|
@@ -1937,124 +1973,124 @@ function q({ value: e, field: t }) {
|
|
|
1937
1973
|
}
|
|
1938
1974
|
return String(e);
|
|
1939
1975
|
};
|
|
1940
|
-
return Array.isArray(e) ? /* @__PURE__ */ (
|
|
1976
|
+
return Array.isArray(e) ? /* @__PURE__ */ w("div", {
|
|
1941
1977
|
className: "flex flex-wrap gap-1",
|
|
1942
1978
|
children: e.map((e, t) => {
|
|
1943
1979
|
let n;
|
|
1944
|
-
return n = typeof e == "object" && e ? e.name || e.label || e.id || e._id || String(e) : r(e), /* @__PURE__ */ (
|
|
1980
|
+
return n = typeof e == "object" && e ? e.name || e.label || e.id || e._id || String(e) : r(e), /* @__PURE__ */ w("span", {
|
|
1945
1981
|
className: "inline-flex items-center px-2 py-0.5 rounded text-xs font-medium bg-gray-100 text-gray-800",
|
|
1946
1982
|
children: n
|
|
1947
1983
|
}, t);
|
|
1948
1984
|
})
|
|
1949
|
-
}) : typeof e == "object" && e ? /* @__PURE__ */ (
|
|
1985
|
+
}) : typeof e == "object" && e ? /* @__PURE__ */ w("span", {
|
|
1950
1986
|
className: "truncate",
|
|
1951
1987
|
children: e.name || e.label || e.id || e._id || "[Object]"
|
|
1952
|
-
}) : /* @__PURE__ */ (
|
|
1988
|
+
}) : /* @__PURE__ */ w("span", {
|
|
1953
1989
|
className: "truncate",
|
|
1954
1990
|
children: r(e)
|
|
1955
1991
|
});
|
|
1956
1992
|
}
|
|
1957
|
-
function
|
|
1958
|
-
let t =
|
|
1959
|
-
return /* @__PURE__ */ (
|
|
1993
|
+
function Ht({ value: e }) {
|
|
1994
|
+
let t = G(e);
|
|
1995
|
+
return /* @__PURE__ */ w("span", {
|
|
1960
1996
|
className: "text-gray-700 font-mono text-sm",
|
|
1961
1997
|
children: t == null ? "-" : String(t)
|
|
1962
1998
|
});
|
|
1963
1999
|
}
|
|
1964
|
-
function
|
|
1965
|
-
if (!e) return /* @__PURE__ */ (
|
|
1966
|
-
if (typeof e != "object") return /* @__PURE__ */ (
|
|
2000
|
+
function Z({ value: e }) {
|
|
2001
|
+
if (!e) return /* @__PURE__ */ w("span", { children: "-" });
|
|
2002
|
+
if (typeof e != "object") return /* @__PURE__ */ w("span", {
|
|
1967
2003
|
className: "truncate",
|
|
1968
2004
|
children: String(e)
|
|
1969
2005
|
});
|
|
1970
|
-
if (Array.isArray(e)) return /* @__PURE__ */ (
|
|
2006
|
+
if (Array.isArray(e)) return /* @__PURE__ */ T("div", {
|
|
1971
2007
|
className: "flex -space-x-2",
|
|
1972
2008
|
children: [e.slice(0, 3).map((e, t) => {
|
|
1973
|
-
if (typeof e != "object" || !e) return /* @__PURE__ */ (
|
|
2009
|
+
if (typeof e != "object" || !e) return /* @__PURE__ */ w("span", {
|
|
1974
2010
|
className: "truncate text-sm",
|
|
1975
2011
|
children: String(e)
|
|
1976
2012
|
}, t);
|
|
1977
2013
|
let n = e.name || e.username || "User";
|
|
1978
|
-
return /* @__PURE__ */ (
|
|
2014
|
+
return /* @__PURE__ */ w(f, {
|
|
1979
2015
|
className: "size-8 border-2 border-white",
|
|
1980
2016
|
title: n,
|
|
1981
|
-
children: /* @__PURE__ */ (
|
|
2017
|
+
children: /* @__PURE__ */ w(p, {
|
|
1982
2018
|
className: "bg-blue-500 text-white text-xs",
|
|
1983
2019
|
children: n.split(" ").map((e) => e[0]).join("").toUpperCase().slice(0, 2)
|
|
1984
2020
|
})
|
|
1985
2021
|
}, t);
|
|
1986
|
-
}), e.length > 3 && /* @__PURE__ */ (
|
|
2022
|
+
}), e.length > 3 && /* @__PURE__ */ w(f, {
|
|
1987
2023
|
className: "size-8 border-2 border-white",
|
|
1988
|
-
children: /* @__PURE__ */ (
|
|
2024
|
+
children: /* @__PURE__ */ T(p, {
|
|
1989
2025
|
className: "bg-gray-200 text-gray-600 text-xs",
|
|
1990
2026
|
children: ["+", e.length - 3]
|
|
1991
2027
|
})
|
|
1992
2028
|
})]
|
|
1993
2029
|
});
|
|
1994
2030
|
let t = e.name || e.username || "User";
|
|
1995
|
-
return /* @__PURE__ */ (
|
|
2031
|
+
return /* @__PURE__ */ T("div", {
|
|
1996
2032
|
className: "flex items-center gap-2",
|
|
1997
|
-
children: [/* @__PURE__ */ (
|
|
2033
|
+
children: [/* @__PURE__ */ w(f, {
|
|
1998
2034
|
className: "size-8",
|
|
1999
|
-
children: /* @__PURE__ */ (
|
|
2035
|
+
children: /* @__PURE__ */ w(p, {
|
|
2000
2036
|
className: "bg-blue-500 text-white text-xs",
|
|
2001
2037
|
children: t.split(" ").map((e) => e[0]).join("").toUpperCase().slice(0, 2)
|
|
2002
2038
|
})
|
|
2003
|
-
}), /* @__PURE__ */ (
|
|
2039
|
+
}), /* @__PURE__ */ w("span", {
|
|
2004
2040
|
className: "truncate",
|
|
2005
2041
|
children: t
|
|
2006
2042
|
})]
|
|
2007
2043
|
});
|
|
2008
2044
|
}
|
|
2009
|
-
var
|
|
2010
|
-
function
|
|
2011
|
-
|
|
2012
|
-
}
|
|
2013
|
-
function
|
|
2014
|
-
return
|
|
2015
|
-
text:
|
|
2016
|
-
textarea:
|
|
2017
|
-
markdown:
|
|
2018
|
-
html:
|
|
2019
|
-
number:
|
|
2020
|
-
currency:
|
|
2021
|
-
percent:
|
|
2022
|
-
boolean:
|
|
2023
|
-
date:
|
|
2024
|
-
datetime:
|
|
2025
|
-
time:
|
|
2026
|
-
select:
|
|
2027
|
-
status:
|
|
2028
|
-
lookup:
|
|
2029
|
-
master_detail:
|
|
2030
|
-
email:
|
|
2031
|
-
url:
|
|
2032
|
-
phone:
|
|
2033
|
-
file:
|
|
2034
|
-
image:
|
|
2035
|
-
formula:
|
|
2036
|
-
summary:
|
|
2037
|
-
auto_number:
|
|
2038
|
-
user:
|
|
2039
|
-
owner:
|
|
2040
|
-
password: () => /* @__PURE__ */ (
|
|
2041
|
-
location:
|
|
2042
|
-
object: () => /* @__PURE__ */ (
|
|
2045
|
+
var Ut = /* @__PURE__ */ new Map();
|
|
2046
|
+
function Q(e, t) {
|
|
2047
|
+
Ut.set(e, t);
|
|
2048
|
+
}
|
|
2049
|
+
function Wt(e) {
|
|
2050
|
+
return Ut.has(e) ? Ut.get(e) : {
|
|
2051
|
+
text: J,
|
|
2052
|
+
textarea: J,
|
|
2053
|
+
markdown: J,
|
|
2054
|
+
html: J,
|
|
2055
|
+
number: Et,
|
|
2056
|
+
currency: Dt,
|
|
2057
|
+
percent: kt,
|
|
2058
|
+
boolean: jt,
|
|
2059
|
+
date: Mt,
|
|
2060
|
+
datetime: Nt,
|
|
2061
|
+
time: J,
|
|
2062
|
+
select: Y,
|
|
2063
|
+
status: Y,
|
|
2064
|
+
lookup: X,
|
|
2065
|
+
master_detail: X,
|
|
2066
|
+
email: Lt,
|
|
2067
|
+
url: Rt,
|
|
2068
|
+
phone: zt,
|
|
2069
|
+
file: Bt,
|
|
2070
|
+
image: Vt,
|
|
2071
|
+
formula: Ht,
|
|
2072
|
+
summary: Ht,
|
|
2073
|
+
auto_number: J,
|
|
2074
|
+
user: Z,
|
|
2075
|
+
owner: Z,
|
|
2076
|
+
password: () => /* @__PURE__ */ w("span", { children: "••••••" }),
|
|
2077
|
+
location: J,
|
|
2078
|
+
object: () => /* @__PURE__ */ w("span", {
|
|
2043
2079
|
className: "text-gray-500 italic",
|
|
2044
2080
|
children: "[Object]"
|
|
2045
2081
|
}),
|
|
2046
|
-
vector: () => /* @__PURE__ */ (
|
|
2082
|
+
vector: () => /* @__PURE__ */ w("span", {
|
|
2047
2083
|
className: "text-gray-500 italic",
|
|
2048
2084
|
children: "[Vector]"
|
|
2049
2085
|
}),
|
|
2050
|
-
grid: () => /* @__PURE__ */ (
|
|
2086
|
+
grid: () => /* @__PURE__ */ w("span", {
|
|
2051
2087
|
className: "text-gray-500 italic",
|
|
2052
2088
|
children: "[Grid]"
|
|
2053
2089
|
})
|
|
2054
|
-
}[e] ||
|
|
2090
|
+
}[e] || J;
|
|
2055
2091
|
}
|
|
2056
|
-
|
|
2057
|
-
function
|
|
2092
|
+
Q("lookup", X), Q("master_detail", X), Q("select", Y), Q("status", Y), Q("user", Z), Q("owner", Z), r(Wt);
|
|
2093
|
+
function Gt(e) {
|
|
2058
2094
|
return {
|
|
2059
2095
|
text: "field:text",
|
|
2060
2096
|
textarea: "field:textarea",
|
|
@@ -2082,7 +2118,7 @@ function ct(e) {
|
|
|
2082
2118
|
auto_number: "field:auto_number"
|
|
2083
2119
|
}[e] || "field:text";
|
|
2084
2120
|
}
|
|
2085
|
-
function
|
|
2121
|
+
function Kt(e) {
|
|
2086
2122
|
if (e < 0 || !Number.isFinite(e) || e === 0) return "0 B";
|
|
2087
2123
|
let t = [
|
|
2088
2124
|
"B",
|
|
@@ -2092,9 +2128,9 @@ function lt(e) {
|
|
|
2092
2128
|
"TB"
|
|
2093
2129
|
], n = e, r = 0;
|
|
2094
2130
|
for (; n >= 1024 && r < t.length - 1;) n /= 1024, r++;
|
|
2095
|
-
return `${n.toFixed(r > 0
|
|
2131
|
+
return `${n.toFixed(+(r > 0))} ${t[r]}`;
|
|
2096
2132
|
}
|
|
2097
|
-
function
|
|
2133
|
+
function qt(e) {
|
|
2098
2134
|
let t = {};
|
|
2099
2135
|
return e.required && (t.required = typeof e.required_message == "string" ? e.required_message : `${e.label || e.name} is required`), e.min_length && (t.minLength = {
|
|
2100
2136
|
value: e.min_length,
|
|
@@ -2119,7 +2155,7 @@ function ut(e) {
|
|
|
2119
2155
|
message: "Please enter a valid URL"
|
|
2120
2156
|
}), e.validate && (t.validate = e.validate), Object.keys(t).length > 0 ? t : void 0;
|
|
2121
2157
|
}
|
|
2122
|
-
function
|
|
2158
|
+
function Jt(e, t) {
|
|
2123
2159
|
if (!e) return !0;
|
|
2124
2160
|
if (e.field && e.value !== void 0) {
|
|
2125
2161
|
let n = t[e.field];
|
|
@@ -2131,11 +2167,11 @@ function Q(e, t) {
|
|
|
2131
2167
|
if (e.operator === "<=") return n <= e.value;
|
|
2132
2168
|
if (e.operator === "in") return Array.isArray(e.value) && e.value.includes(n);
|
|
2133
2169
|
}
|
|
2134
|
-
return e.and && Array.isArray(e.and) ? e.and.every((e) =>
|
|
2170
|
+
return e.and && Array.isArray(e.and) ? e.and.every((e) => Jt(e, t)) : e.or && Array.isArray(e.or) ? e.or.some((e) => Jt(e, t)) : !0;
|
|
2135
2171
|
}
|
|
2136
2172
|
function $(e) {
|
|
2137
|
-
let t = ({ schema: t, className: n, value: r, ...
|
|
2138
|
-
let [o, s] =
|
|
2173
|
+
let t = ({ schema: t, className: n, value: r, ...i }) => {
|
|
2174
|
+
let [o, s] = a.useState(r ?? t?.value ?? ""), c = {
|
|
2139
2175
|
name: t?.name || "field",
|
|
2140
2176
|
label: t?.label,
|
|
2141
2177
|
type: t?.type,
|
|
@@ -2146,27 +2182,27 @@ function $(e) {
|
|
|
2146
2182
|
description: t?.description,
|
|
2147
2183
|
defaultValue: t?.defaultValue || t?.value,
|
|
2148
2184
|
...t
|
|
2149
|
-
}, l =
|
|
2150
|
-
s(e),
|
|
2151
|
-
}, [
|
|
2152
|
-
return /* @__PURE__ */ (
|
|
2185
|
+
}, l = a.useCallback((e) => {
|
|
2186
|
+
s(e), i.onChange && i.onChange(e);
|
|
2187
|
+
}, [i]), u = t?.readonly || t?.readOnly || !1;
|
|
2188
|
+
return /* @__PURE__ */ T("div", {
|
|
2153
2189
|
className: "grid w-full items-center gap-1.5",
|
|
2154
2190
|
"data-obj-id": t?.id,
|
|
2155
2191
|
"data-obj-type": t?.type,
|
|
2156
2192
|
children: [
|
|
2157
|
-
t?.label && /* @__PURE__ */ (
|
|
2193
|
+
t?.label && /* @__PURE__ */ w("label", {
|
|
2158
2194
|
htmlFor: t.id,
|
|
2159
2195
|
className: t.required ? "after:content-['*'] after:ml-0.5 after:text-red-500" : "",
|
|
2160
2196
|
children: t.label
|
|
2161
2197
|
}),
|
|
2162
|
-
/* @__PURE__ */ (
|
|
2198
|
+
/* @__PURE__ */ w(e, {
|
|
2163
2199
|
value: o,
|
|
2164
2200
|
onChange: l,
|
|
2165
2201
|
field: c,
|
|
2166
2202
|
readonly: u,
|
|
2167
2203
|
className: n
|
|
2168
2204
|
}),
|
|
2169
|
-
t?.description && /* @__PURE__ */ (
|
|
2205
|
+
t?.description && /* @__PURE__ */ w("p", {
|
|
2170
2206
|
className: "text-sm text-gray-500",
|
|
2171
2207
|
children: t.description
|
|
2172
2208
|
})
|
|
@@ -2175,63 +2211,63 @@ function $(e) {
|
|
|
2175
2211
|
};
|
|
2176
2212
|
return t.displayName = `FieldRenderer(${e.displayName || e.name || "Component"})`, t;
|
|
2177
2213
|
}
|
|
2178
|
-
var
|
|
2179
|
-
text: () =>
|
|
2180
|
-
textarea: () =>
|
|
2181
|
-
number: () =>
|
|
2182
|
-
boolean: () =>
|
|
2183
|
-
select: () =>
|
|
2184
|
-
date: () =>
|
|
2185
|
-
datetime: () =>
|
|
2186
|
-
time: () =>
|
|
2187
|
-
email: () =>
|
|
2188
|
-
phone: () =>
|
|
2189
|
-
url: () =>
|
|
2190
|
-
currency: () =>
|
|
2191
|
-
percent: () =>
|
|
2192
|
-
password: () =>
|
|
2193
|
-
markdown: () =>
|
|
2194
|
-
html: () =>
|
|
2195
|
-
lookup: () => import("./LookupField-
|
|
2196
|
-
master_detail: () =>
|
|
2197
|
-
file: () =>
|
|
2198
|
-
image: () =>
|
|
2199
|
-
location: () =>
|
|
2200
|
-
formula: () =>
|
|
2201
|
-
summary: () =>
|
|
2202
|
-
auto_number: () =>
|
|
2203
|
-
user: () =>
|
|
2204
|
-
owner: () =>
|
|
2205
|
-
object: () =>
|
|
2206
|
-
vector: () =>
|
|
2207
|
-
grid: () =>
|
|
2208
|
-
color: () =>
|
|
2209
|
-
slider: () =>
|
|
2210
|
-
rating: () =>
|
|
2211
|
-
code: () =>
|
|
2212
|
-
avatar: () =>
|
|
2213
|
-
address: () =>
|
|
2214
|
-
geolocation: () =>
|
|
2215
|
-
signature: () =>
|
|
2216
|
-
qrcode: () =>
|
|
2214
|
+
var Yt = {
|
|
2215
|
+
text: () => Promise.resolve().then(() => Ce).then((e) => ({ default: e.TextField })),
|
|
2216
|
+
textarea: () => Promise.resolve().then(() => Le).then((e) => ({ default: e.TextAreaField })),
|
|
2217
|
+
number: () => Promise.resolve().then(() => Te).then((e) => ({ default: e.NumberField })),
|
|
2218
|
+
boolean: () => Promise.resolve().then(() => Ee).then((e) => ({ default: e.BooleanField })),
|
|
2219
|
+
select: () => Promise.resolve().then(() => De).then((e) => ({ default: e.SelectField })),
|
|
2220
|
+
date: () => Promise.resolve().then(() => Oe).then((e) => ({ default: e.DateField })),
|
|
2221
|
+
datetime: () => Promise.resolve().then(() => ze).then((e) => ({ default: e.DateTimeField })),
|
|
2222
|
+
time: () => Promise.resolve().then(() => Be).then((e) => ({ default: e.TimeField })),
|
|
2223
|
+
email: () => Promise.resolve().then(() => Ae).then((e) => ({ default: e.EmailField })),
|
|
2224
|
+
phone: () => Promise.resolve().then(() => Me).then((e) => ({ default: e.PhoneField })),
|
|
2225
|
+
url: () => Promise.resolve().then(() => Pe).then((e) => ({ default: e.UrlField })),
|
|
2226
|
+
currency: () => Promise.resolve().then(() => Fe).then((e) => ({ default: e.CurrencyField })),
|
|
2227
|
+
percent: () => Promise.resolve().then(() => Ve).then((e) => ({ default: e.PercentField })),
|
|
2228
|
+
password: () => Promise.resolve().then(() => He).then((e) => ({ default: e.PasswordField })),
|
|
2229
|
+
markdown: () => Promise.resolve().then(() => Re).then((e) => ({ default: e.RichTextField })),
|
|
2230
|
+
html: () => Promise.resolve().then(() => Re).then((e) => ({ default: e.RichTextField })),
|
|
2231
|
+
lookup: () => import("./LookupField-B6MOSQVJ.js").then((e) => e.n).then((e) => ({ default: e.LookupField })),
|
|
2232
|
+
master_detail: () => Promise.resolve().then(() => yt).then((e) => ({ default: e.MasterDetailField })),
|
|
2233
|
+
file: () => Promise.resolve().then(() => Ue).then((e) => ({ default: e.FileField })),
|
|
2234
|
+
image: () => Promise.resolve().then(() => We).then((e) => ({ default: e.ImageField })),
|
|
2235
|
+
location: () => Promise.resolve().then(() => Ge).then((e) => ({ default: e.LocationField })),
|
|
2236
|
+
formula: () => Promise.resolve().then(() => Ke).then((e) => ({ default: e.FormulaField })),
|
|
2237
|
+
summary: () => Promise.resolve().then(() => qe).then((e) => ({ default: e.SummaryField })),
|
|
2238
|
+
auto_number: () => Promise.resolve().then(() => Je).then((e) => ({ default: e.AutoNumberField })),
|
|
2239
|
+
user: () => Promise.resolve().then(() => Ye).then((e) => ({ default: e.UserField })),
|
|
2240
|
+
owner: () => Promise.resolve().then(() => Ye).then((e) => ({ default: e.UserField })),
|
|
2241
|
+
object: () => Promise.resolve().then(() => Xe).then((e) => ({ default: e.ObjectField })),
|
|
2242
|
+
vector: () => Promise.resolve().then(() => Qe).then((e) => ({ default: e.VectorField })),
|
|
2243
|
+
grid: () => Promise.resolve().then(() => $e).then((e) => ({ default: e.GridField })),
|
|
2244
|
+
color: () => Promise.resolve().then(() => tt).then((e) => ({ default: e.ColorField })),
|
|
2245
|
+
slider: () => Promise.resolve().then(() => rt).then((e) => ({ default: e.SliderField })),
|
|
2246
|
+
rating: () => Promise.resolve().then(() => at).then((e) => ({ default: e.RatingField })),
|
|
2247
|
+
code: () => Promise.resolve().then(() => st).then((e) => ({ default: e.CodeField })),
|
|
2248
|
+
avatar: () => Promise.resolve().then(() => lt).then((e) => ({ default: e.AvatarField })),
|
|
2249
|
+
address: () => Promise.resolve().then(() => dt).then((e) => ({ default: e.AddressField })),
|
|
2250
|
+
geolocation: () => Promise.resolve().then(() => pt).then((e) => ({ default: e.GeolocationField })),
|
|
2251
|
+
signature: () => Promise.resolve().then(() => ht).then((e) => ({ default: e.SignatureField })),
|
|
2252
|
+
qrcode: () => Promise.resolve().then(() => _t).then((e) => ({ default: e.QRCodeField }))
|
|
2217
2253
|
};
|
|
2218
|
-
function
|
|
2219
|
-
let t =
|
|
2254
|
+
function Xt(e) {
|
|
2255
|
+
let t = Yt[e];
|
|
2220
2256
|
if (!t) {
|
|
2221
2257
|
console.warn(`Unknown field type: ${e}`);
|
|
2222
2258
|
return;
|
|
2223
2259
|
}
|
|
2224
|
-
let n =
|
|
2225
|
-
|
|
2260
|
+
let n = a.lazy(t);
|
|
2261
|
+
d.register(e, n, { namespace: "field" });
|
|
2226
2262
|
}
|
|
2227
|
-
function
|
|
2228
|
-
Object.keys(
|
|
2229
|
-
|
|
2263
|
+
function Zt() {
|
|
2264
|
+
Object.keys(Yt).forEach((e) => {
|
|
2265
|
+
Xt(e);
|
|
2230
2266
|
});
|
|
2231
2267
|
}
|
|
2232
|
-
function
|
|
2233
|
-
|
|
2268
|
+
function Qt() {
|
|
2269
|
+
d.register("text", $(we), { namespace: "field" }), d.register("textarea", $(j), { namespace: "field" }), d.register("number", $(E), { namespace: "field" }), d.register("boolean", $(D), { namespace: "field" }), d.register("select", $(O), { namespace: "field" }), d.register("date", $(ke), { namespace: "field" }), d.register("datetime", $(N), { namespace: "field" }), d.register("time", $(P), { namespace: "field" }), d.register("email", $(je), { namespace: "field" }), d.register("phone", $(Ne), { namespace: "field" }), d.register("url", $(k), { namespace: "field" }), d.register("currency", $(A), { namespace: "field" }), d.register("percent", $(F), { namespace: "field" }), d.register("password", $(I), { namespace: "field" }), d.register("markdown", $(M), { namespace: "field" }), d.register("html", $(M), { namespace: "field" }), d.register("lookup", $(i), { namespace: "field" }), d.register("master_detail", $(bt), { namespace: "field" }), d.register("file", $(L), { namespace: "field" }), d.register("image", $(R), { namespace: "field" }), d.register("location", $(z), { namespace: "field" }), d.register("formula", $(B), { namespace: "field" }), d.register("summary", $(V), { namespace: "field" }), d.register("auto_number", $(H), { namespace: "field" }), d.register("user", $(U), { namespace: "field" }), d.register("owner", $(U), { namespace: "field" }), d.register("object", $(Ze), { namespace: "field" }), d.register("vector", $(W), { namespace: "field" }), d.register("grid", $(et), { namespace: "field" }), d.register("color", $(nt), { namespace: "field" }), d.register("slider", $(it), { namespace: "field" }), d.register("rating", $(ot), { namespace: "field" }), d.register("code", $(ct), { namespace: "field" }), d.register("avatar", $(ut), { namespace: "field" }), d.register("address", $(ft), { namespace: "field" }), d.register("geolocation", $(mt), { namespace: "field" }), d.register("signature", $(gt), { namespace: "field" }), d.register("qrcode", $(vt), { namespace: "field" });
|
|
2234
2270
|
}
|
|
2235
|
-
|
|
2271
|
+
Zt();
|
|
2236
2272
|
//#endregion
|
|
2237
|
-
export {
|
|
2273
|
+
export { ft as AddressField, H as AutoNumberField, ut as AvatarField, jt as BooleanCellRenderer, D as BooleanField, ct as CodeField, nt as ColorField, Dt as CurrencyCellRenderer, A as CurrencyField, Mt as DateCellRenderer, ke as DateField, Nt as DateTimeCellRenderer, N as DateTimeField, Lt as EmailCellRenderer, je as EmailField, Bt as FileCellRenderer, L as FileField, Ht as FormulaCellRenderer, B as FormulaField, mt as GeolocationField, et as GridField, Vt as ImageCellRenderer, R as ImageField, z as LocationField, X as LookupCellRenderer, i as LookupField, bt as MasterDetailField, Et as NumberCellRenderer, E as NumberField, Ze as ObjectField, I as PasswordField, kt as PercentCellRenderer, F as PercentField, zt as PhoneCellRenderer, Ne as PhoneField, vt as QRCodeField, ot as RatingField, n as RecordPickerDialog, M as RichTextField, Y as SelectCellRenderer, O as SelectField, gt as SignatureField, it as SliderField, V as SummaryField, j as TextAreaField, J as TextCellRenderer, we as TextField, P as TimeField, Rt as UrlCellRenderer, k as UrlField, Z as UserCellRenderer, U as UserField, W as VectorField, qt as buildValidationRules, G as coerceToSafeValue, Jt as evaluateCondition, St as formatCompactCurrency, xt as formatCurrency, q as formatDate, Tt as formatDateTime, Kt as formatFileSize, Ct as formatPercent, wt as formatRelativeDate, Wt as getCellRenderer, K as humanizeLabel, Gt as mapFieldTypeToFormType, Zt as registerAllFields, Xt as registerField, Q as registerFieldRenderer, Qt as registerFields };
|