@object-ui/plugin-detail 3.1.5 → 3.3.1
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/CHANGELOG.md +31 -0
- package/README.md +21 -1
- package/dist/AddressField-LgHnO2Lk.js +98 -0
- package/dist/AutoNumberField-xZCrU0eW.js +14 -0
- package/dist/{AvatarField-YGj51ozd.js → AvatarField-Dy2XGlPz.js} +16 -15
- package/dist/{BooleanField-CaA898Tk.js → BooleanField-C0Clfka5.js} +11 -10
- package/dist/CodeField-CHUa07B6.js +23 -0
- package/dist/ColorField-vxHqEhcS.js +38 -0
- package/dist/CurrencyField-DiWjYWDo.js +49 -0
- package/dist/DateField-DGaRPM4P.js +22 -0
- package/dist/DateTimeField-8QnpsI_h.js +30 -0
- package/dist/EmailField-CkVgMbpI.js +26 -0
- package/dist/FileField-5UPV7uek.js +149 -0
- package/dist/FormulaField-BUgt6-Pi.js +17 -0
- package/dist/GeolocationField-D9T_jgG6.js +118 -0
- package/dist/GridField-DE_HwiIN.js +49 -0
- package/dist/ImageField-Dswnqtzf.js +73 -0
- package/dist/LocationField-gjqbE6na.js +36 -0
- package/dist/LookupField-BcS3LRKc.js +901 -0
- package/dist/{MasterDetailField-I1A9oEGC.js → MasterDetailField-BF6_-X3A.js} +20 -19
- package/dist/NumberField-Dj2rYmrS.js +27 -0
- package/dist/ObjectField-BymIojwd.js +50 -0
- package/dist/{PasswordField-DBtluGJ1.js → PasswordField-ED_Xgqz-.js} +8 -7
- package/dist/PercentField-D-JKOxKC.js +61 -0
- package/dist/PhoneField-DSCaGYq7.js +26 -0
- package/dist/QRCodeField-CtcOUapi.js +73 -0
- package/dist/{RatingField-B_Mnr63i.js → RatingField-BDnyQFWy.js} +10 -9
- package/dist/RichTextField-CH6LVZQA.js +33 -0
- package/dist/SelectField-DE4dpkMV.js +36 -0
- package/dist/{SignatureField-CddhEK9u.js → SignatureField-B1wh3f5A.js} +18 -17
- package/dist/{SliderField-Df5hMzNc.js → SliderField-zoTCKh9n.js} +2 -1
- package/dist/SummaryField-BeBVT6VN.js +22 -0
- package/dist/TextAreaField-rfUGrRxh.js +37 -0
- package/dist/TextField-C_yM7ATQ.js +30 -0
- package/dist/TimeField-BcQmBZi9.js +22 -0
- package/dist/UrlField-BakaF6NI.js +31 -0
- package/dist/UserField-zS7y3eKb.js +76 -0
- package/dist/VectorField-CTZ4myDM.js +34 -0
- package/dist/index.d.ts +1 -1
- package/dist/index.js +1741 -1504
- package/dist/index.umd.cjs +43 -51
- package/dist/packages/plugin-detail/src/ActivityTimeline.d.ts.map +1 -0
- package/dist/packages/plugin-detail/src/CommentAttachment.d.ts.map +1 -0
- package/dist/packages/plugin-detail/src/CommentInput.d.ts.map +1 -0
- package/dist/packages/plugin-detail/src/DetailSection.d.ts.map +1 -0
- package/dist/packages/plugin-detail/src/DetailTabs.d.ts.map +1 -0
- package/dist/packages/plugin-detail/src/DetailView.d.ts +47 -0
- package/dist/packages/plugin-detail/src/DetailView.d.ts.map +1 -0
- package/dist/packages/plugin-detail/src/DetailView.stories.d.ts.map +1 -0
- package/dist/packages/plugin-detail/src/DiffView.d.ts.map +1 -0
- package/dist/packages/plugin-detail/src/FieldChangeItem.d.ts.map +1 -0
- package/dist/packages/plugin-detail/src/HeaderHighlight.d.ts.map +1 -0
- package/dist/packages/plugin-detail/src/InlineCreateRelated.d.ts.map +1 -0
- package/dist/packages/plugin-detail/src/MentionAutocomplete.d.ts.map +1 -0
- package/dist/packages/plugin-detail/src/PointInTimeRestore.d.ts.map +1 -0
- package/dist/packages/plugin-detail/src/ReactionPicker.d.ts.map +1 -0
- package/dist/packages/plugin-detail/src/RecordActivityTimeline.d.ts.map +1 -0
- package/dist/packages/plugin-detail/src/RecordChatterPanel.d.ts.map +1 -0
- package/dist/packages/plugin-detail/src/RecordComments.d.ts.map +1 -0
- package/dist/packages/plugin-detail/src/RecordNavigationEnhanced.d.ts.map +1 -0
- package/dist/{src → packages/plugin-detail/src}/RelatedList.d.ts +8 -0
- package/dist/packages/plugin-detail/src/RelatedList.d.ts.map +1 -0
- package/dist/packages/plugin-detail/src/RelationshipGraph.d.ts.map +1 -0
- package/dist/packages/plugin-detail/src/RichTextCommentInput.d.ts.map +1 -0
- package/dist/packages/plugin-detail/src/SectionGroup.d.ts.map +1 -0
- package/dist/packages/plugin-detail/src/SubscriptionToggle.d.ts.map +1 -0
- package/dist/packages/plugin-detail/src/ThreadedReplies.d.ts.map +1 -0
- package/dist/packages/plugin-detail/src/autoLayout.d.ts.map +1 -0
- package/dist/packages/plugin-detail/src/index.d.ts.map +1 -0
- package/dist/packages/plugin-detail/src/useDetailTranslation.d.ts.map +1 -0
- package/dist/plugin-detail.css +1 -2
- package/dist/rolldown-runtime-DnwLefa7.js +23 -0
- package/dist/{src-CXr1-vVl.js → src-DyUKLvMN.js} +29788 -37711
- package/dist/useFieldTranslation-BRgjC1oq.js +9 -0
- package/package.json +34 -12
- package/.turbo/turbo-build.log +0 -61
- package/dist/AddressField-DBkEyMcG.js +0 -93
- package/dist/AutoNumberField-Baa191z-.js +0 -14
- package/dist/CodeField-BU51nl1L.js +0 -22
- package/dist/ColorField-Cnf6ZM7c.js +0 -37
- package/dist/CurrencyField-Wg-XOId2.js +0 -51
- package/dist/DateField-Cth1ky_m.js +0 -21
- package/dist/DateTimeField-B0m6FhHL.js +0 -32
- package/dist/EmailField-Do7qT_L_.js +0 -28
- package/dist/FileField-aRJAdbQb.js +0 -151
- package/dist/FormulaField-DTMkagFx.js +0 -14
- package/dist/GeolocationField-RqpHWTEv.js +0 -113
- package/dist/GridField-D4IH0cpo.js +0 -51
- package/dist/ImageField-BYCFajjr.js +0 -75
- package/dist/LocationField-Bi_ew9sd.js +0 -35
- package/dist/LookupField-BjwlDPtt.js +0 -902
- package/dist/NumberField-D_NucQlp.js +0 -26
- package/dist/ObjectField-CG-LaM65.js +0 -52
- package/dist/PercentField-B6sO_J3i.js +0 -63
- package/dist/PhoneField-CcQAWwR6.js +0 -28
- package/dist/QRCodeField-CEjWs-J5.js +0 -72
- package/dist/RichTextField-qOEJl5Ai.js +0 -32
- package/dist/SelectField-C8hWu3gm.js +0 -30
- package/dist/SummaryField-DgiFm-Cr.js +0 -19
- package/dist/TextAreaField-DuriTqsD.js +0 -36
- package/dist/TextField-CGNSl7RU.js +0 -29
- package/dist/TimeField-YO58ctFg.js +0 -21
- package/dist/UrlField-1-BMM1jn.js +0 -33
- package/dist/UserField-B6GqxP_S.js +0 -78
- package/dist/VectorField-BkEjbSt0.js +0 -36
- package/dist/src/ActivityTimeline.d.ts.map +0 -1
- package/dist/src/CommentAttachment.d.ts.map +0 -1
- package/dist/src/CommentInput.d.ts.map +0 -1
- package/dist/src/DetailSection.d.ts.map +0 -1
- package/dist/src/DetailTabs.d.ts.map +0 -1
- package/dist/src/DetailView.d.ts +0 -23
- package/dist/src/DetailView.d.ts.map +0 -1
- package/dist/src/DetailView.stories.d.ts.map +0 -1
- package/dist/src/DiffView.d.ts.map +0 -1
- package/dist/src/FieldChangeItem.d.ts.map +0 -1
- package/dist/src/HeaderHighlight.d.ts.map +0 -1
- package/dist/src/InlineCreateRelated.d.ts.map +0 -1
- package/dist/src/MentionAutocomplete.d.ts.map +0 -1
- package/dist/src/PointInTimeRestore.d.ts.map +0 -1
- package/dist/src/ReactionPicker.d.ts.map +0 -1
- package/dist/src/RecordActivityTimeline.d.ts.map +0 -1
- package/dist/src/RecordChatterPanel.d.ts.map +0 -1
- package/dist/src/RecordComments.d.ts.map +0 -1
- package/dist/src/RecordNavigationEnhanced.d.ts.map +0 -1
- package/dist/src/RelatedList.d.ts.map +0 -1
- package/dist/src/RelationshipGraph.d.ts.map +0 -1
- package/dist/src/RichTextCommentInput.d.ts.map +0 -1
- package/dist/src/SectionGroup.d.ts.map +0 -1
- package/dist/src/SubscriptionToggle.d.ts.map +0 -1
- package/dist/src/ThreadedReplies.d.ts.map +0 -1
- package/dist/src/autoLayout.d.ts.map +0 -1
- package/dist/src/index.d.ts.map +0 -1
- package/dist/src/useDetailTranslation.d.ts.map +0 -1
- package/src/ActivityTimeline.tsx +0 -184
- package/src/CommentAttachment.tsx +0 -192
- package/src/CommentInput.tsx +0 -81
- package/src/DetailSection.tsx +0 -340
- package/src/DetailTabs.tsx +0 -73
- package/src/DetailView.stories.tsx +0 -334
- package/src/DetailView.tsx +0 -823
- package/src/DiffView.tsx +0 -231
- package/src/FieldChangeItem.tsx +0 -46
- package/src/HeaderHighlight.tsx +0 -88
- package/src/InlineCreateRelated.tsx +0 -291
- package/src/MentionAutocomplete.tsx +0 -123
- package/src/PointInTimeRestore.tsx +0 -261
- package/src/ReactionPicker.tsx +0 -106
- package/src/RecordActivityTimeline.tsx +0 -429
- package/src/RecordChatterPanel.tsx +0 -207
- package/src/RecordComments.tsx +0 -215
- package/src/RecordNavigationEnhanced.tsx +0 -211
- package/src/RelatedList.tsx +0 -413
- package/src/RelationshipGraph.tsx +0 -286
- package/src/RichTextCommentInput.tsx +0 -348
- package/src/SectionGroup.tsx +0 -101
- package/src/SubscriptionToggle.tsx +0 -60
- package/src/ThreadedReplies.tsx +0 -161
- package/src/__tests__/ActivityTimeline.test.tsx +0 -119
- package/src/__tests__/ActivityTimelineFiltering.test.tsx +0 -143
- package/src/__tests__/CommentInput.test.tsx +0 -57
- package/src/__tests__/DetailSection.test.tsx +0 -490
- package/src/__tests__/DetailView.test.tsx +0 -694
- package/src/__tests__/FieldChangeItem.test.tsx +0 -119
- package/src/__tests__/HeaderHighlight.test.tsx +0 -213
- package/src/__tests__/MentionAutocomplete.test.tsx +0 -97
- package/src/__tests__/ReactionPicker.test.tsx +0 -113
- package/src/__tests__/RecordActivityTimeline.test.tsx +0 -395
- package/src/__tests__/RecordChatterPanel.test.tsx +0 -265
- package/src/__tests__/RecordComments.test.tsx +0 -96
- package/src/__tests__/RecordCommentsPinSearch.test.tsx +0 -133
- package/src/__tests__/RelatedList.test.tsx +0 -160
- package/src/__tests__/SectionGroup.test.tsx +0 -101
- package/src/__tests__/SubscriptionToggle.test.tsx +0 -84
- package/src/__tests__/ThreadedReplies.test.tsx +0 -212
- package/src/__tests__/autoLayout.test.ts +0 -228
- package/src/__tests__/phase12-features.test.tsx +0 -583
- package/src/__tests__/roadmap-features.test.tsx +0 -478
- package/src/autoLayout.ts +0 -128
- package/src/index.tsx +0 -149
- package/src/useDetailTranslation.ts +0 -114
- package/tsconfig.json +0 -18
- package/vite.config.ts +0 -56
- package/vitest.config.ts +0 -13
- package/vitest.setup.ts +0 -1
- /package/dist/{src → packages/plugin-detail/src}/ActivityTimeline.d.ts +0 -0
- /package/dist/{src → packages/plugin-detail/src}/CommentAttachment.d.ts +0 -0
- /package/dist/{src → packages/plugin-detail/src}/CommentInput.d.ts +0 -0
- /package/dist/{src → packages/plugin-detail/src}/DetailSection.d.ts +0 -0
- /package/dist/{src → packages/plugin-detail/src}/DetailTabs.d.ts +0 -0
- /package/dist/{src → packages/plugin-detail/src}/DetailView.stories.d.ts +0 -0
- /package/dist/{src → packages/plugin-detail/src}/DiffView.d.ts +0 -0
- /package/dist/{src → packages/plugin-detail/src}/FieldChangeItem.d.ts +0 -0
- /package/dist/{src → packages/plugin-detail/src}/HeaderHighlight.d.ts +0 -0
- /package/dist/{src → packages/plugin-detail/src}/InlineCreateRelated.d.ts +0 -0
- /package/dist/{src → packages/plugin-detail/src}/MentionAutocomplete.d.ts +0 -0
- /package/dist/{src → packages/plugin-detail/src}/PointInTimeRestore.d.ts +0 -0
- /package/dist/{src → packages/plugin-detail/src}/ReactionPicker.d.ts +0 -0
- /package/dist/{src → packages/plugin-detail/src}/RecordActivityTimeline.d.ts +0 -0
- /package/dist/{src → packages/plugin-detail/src}/RecordChatterPanel.d.ts +0 -0
- /package/dist/{src → packages/plugin-detail/src}/RecordComments.d.ts +0 -0
- /package/dist/{src → packages/plugin-detail/src}/RecordNavigationEnhanced.d.ts +0 -0
- /package/dist/{src → packages/plugin-detail/src}/RelationshipGraph.d.ts +0 -0
- /package/dist/{src → packages/plugin-detail/src}/RichTextCommentInput.d.ts +0 -0
- /package/dist/{src → packages/plugin-detail/src}/SectionGroup.d.ts +0 -0
- /package/dist/{src → packages/plugin-detail/src}/SubscriptionToggle.d.ts +0 -0
- /package/dist/{src → packages/plugin-detail/src}/ThreadedReplies.d.ts +0 -0
- /package/dist/{src → packages/plugin-detail/src}/autoLayout.d.ts +0 -0
- /package/dist/{src → packages/plugin-detail/src}/index.d.ts +0 -0
- /package/dist/{src → packages/plugin-detail/src}/useDetailTranslation.d.ts +0 -0
|
@@ -1,10 +1,11 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { n as e } from "./rolldown-runtime-DnwLefa7.js";
|
|
2
|
+
import { Nt as t, U as n, X as r, an as i, dt as a, q as o } from "./src-DyUKLvMN.js";
|
|
2
3
|
import "react";
|
|
3
4
|
import { jsx as s, jsxs as c } from "react/jsx-runtime";
|
|
4
5
|
//#region ../fields/src/widgets/MasterDetailField.tsx
|
|
5
|
-
var l = /* @__PURE__ */
|
|
6
|
-
function u({ value:
|
|
7
|
-
let m =
|
|
6
|
+
var l = /* @__PURE__ */ e({ MasterDetailField: () => u });
|
|
7
|
+
function u({ value: e, onChange: l, field: u, readonly: d, className: f, ...p }) {
|
|
8
|
+
let m = e || [], h = u || p.schema, g = () => {
|
|
8
9
|
let e = {
|
|
9
10
|
id: `new-${Date.now()}`,
|
|
10
11
|
label: "New Related Record"
|
|
@@ -16,7 +17,7 @@ function u({ value: r, onChange: l, field: u, readonly: d, className: f, ...p })
|
|
|
16
17
|
console.log("View detail:", e);
|
|
17
18
|
};
|
|
18
19
|
return d ? /* @__PURE__ */ c("div", {
|
|
19
|
-
className:
|
|
20
|
+
className: i("space-y-2", f),
|
|
20
21
|
children: [m.length === 0 ? /* @__PURE__ */ s("span", {
|
|
21
22
|
className: "text-sm text-muted-foreground",
|
|
22
23
|
children: "No related records"
|
|
@@ -25,7 +26,7 @@ function u({ value: r, onChange: l, field: u, readonly: d, className: f, ...p })
|
|
|
25
26
|
children: [/* @__PURE__ */ s("span", {
|
|
26
27
|
className: "text-sm",
|
|
27
28
|
children: e.label
|
|
28
|
-
}), /* @__PURE__ */ s(
|
|
29
|
+
}), /* @__PURE__ */ s(o, {
|
|
29
30
|
type: "button",
|
|
30
31
|
variant: "ghost",
|
|
31
32
|
size: "sm",
|
|
@@ -41,49 +42,49 @@ function u({ value: r, onChange: l, field: u, readonly: d, className: f, ...p })
|
|
|
41
42
|
]
|
|
42
43
|
})]
|
|
43
44
|
}) : /* @__PURE__ */ c("div", {
|
|
44
|
-
className:
|
|
45
|
+
className: i("space-y-3", f),
|
|
45
46
|
children: [/* @__PURE__ */ c("div", {
|
|
46
47
|
className: "space-y-2",
|
|
47
|
-
children: [m.map((
|
|
48
|
+
children: [m.map((e) => /* @__PURE__ */ c("div", {
|
|
48
49
|
className: "flex items-center justify-between gap-2 p-2 border rounded hover:bg-muted/50",
|
|
49
50
|
children: [/* @__PURE__ */ c("div", {
|
|
50
51
|
className: "flex items-center gap-2 flex-1",
|
|
51
|
-
children: [/* @__PURE__ */ s(
|
|
52
|
+
children: [/* @__PURE__ */ s(n, {
|
|
52
53
|
variant: "outline",
|
|
53
|
-
children:
|
|
54
|
+
children: e.id
|
|
54
55
|
}), /* @__PURE__ */ s("span", {
|
|
55
56
|
className: "text-sm flex-1",
|
|
56
|
-
children:
|
|
57
|
+
children: e.label
|
|
57
58
|
})]
|
|
58
59
|
}), /* @__PURE__ */ c("div", {
|
|
59
60
|
className: "flex items-center gap-1",
|
|
60
|
-
children: [/* @__PURE__ */ s(
|
|
61
|
+
children: [/* @__PURE__ */ s(o, {
|
|
61
62
|
type: "button",
|
|
62
63
|
variant: "ghost",
|
|
63
64
|
size: "sm",
|
|
64
|
-
onClick: () => v(
|
|
65
|
+
onClick: () => v(e),
|
|
65
66
|
children: /* @__PURE__ */ s(t, { className: "w-4 h-4" })
|
|
66
|
-
}), /* @__PURE__ */ s(
|
|
67
|
+
}), /* @__PURE__ */ s(o, {
|
|
67
68
|
type: "button",
|
|
68
69
|
variant: "ghost",
|
|
69
70
|
size: "sm",
|
|
70
|
-
onClick: () => _(
|
|
71
|
+
onClick: () => _(e.id),
|
|
71
72
|
disabled: p.disabled,
|
|
72
|
-
children: /* @__PURE__ */ s(
|
|
73
|
+
children: /* @__PURE__ */ s(r, { className: "w-4 h-4" })
|
|
73
74
|
})]
|
|
74
75
|
})]
|
|
75
|
-
},
|
|
76
|
+
}, e.id)), m.length === 0 && /* @__PURE__ */ s("div", {
|
|
76
77
|
className: "text-sm text-muted-foreground text-center py-4 border border-dashed rounded bg-muted/20",
|
|
77
78
|
children: "No related records"
|
|
78
79
|
})]
|
|
79
|
-
}), /* @__PURE__ */ c(
|
|
80
|
+
}), /* @__PURE__ */ c(o, {
|
|
80
81
|
type: "button",
|
|
81
82
|
variant: "outline",
|
|
82
83
|
className: "w-full",
|
|
83
84
|
onClick: g,
|
|
84
85
|
disabled: p.disabled,
|
|
85
86
|
children: [
|
|
86
|
-
/* @__PURE__ */ s(
|
|
87
|
+
/* @__PURE__ */ s(a, { className: "w-4 h-4 mr-2" }),
|
|
87
88
|
"Add ",
|
|
88
89
|
h?.label || "Record"
|
|
89
90
|
]
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { n as e } from "./rolldown-runtime-DnwLefa7.js";
|
|
2
|
+
import { O as t, t as n } from "./src-DyUKLvMN.js";
|
|
3
|
+
import "react";
|
|
4
|
+
import { jsx as r } from "react/jsx-runtime";
|
|
5
|
+
//#region ../fields/src/widgets/NumberField.tsx
|
|
6
|
+
var i = /* @__PURE__ */ e({ NumberField: () => a });
|
|
7
|
+
function a({ value: e, onChange: i, field: a, readonly: o, ...s }) {
|
|
8
|
+
if (o) return e == null ? /* @__PURE__ */ r(n, {}) : /* @__PURE__ */ r("span", {
|
|
9
|
+
className: "text-sm",
|
|
10
|
+
children: e
|
|
11
|
+
});
|
|
12
|
+
let c = a || s.schema, l = c?.precision, { inputType: u, ...d } = s;
|
|
13
|
+
return /* @__PURE__ */ r(t, {
|
|
14
|
+
...d,
|
|
15
|
+
type: "number",
|
|
16
|
+
value: e ?? "",
|
|
17
|
+
onChange: (e) => {
|
|
18
|
+
let t = e.target.value;
|
|
19
|
+
i(t === "" ? null : Number(t));
|
|
20
|
+
},
|
|
21
|
+
placeholder: c?.placeholder,
|
|
22
|
+
disabled: o || d.disabled,
|
|
23
|
+
step: l ? 10 ** -l : "any"
|
|
24
|
+
});
|
|
25
|
+
}
|
|
26
|
+
//#endregion
|
|
27
|
+
export { i as t };
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import { n as e } from "./rolldown-runtime-DnwLefa7.js";
|
|
2
|
+
import { an as t, n, t as r } from "./src-DyUKLvMN.js";
|
|
3
|
+
import { useEffect as i, useState as a } from "react";
|
|
4
|
+
import { jsx as o, jsxs as s } from "react/jsx-runtime";
|
|
5
|
+
//#region ../fields/src/widgets/ObjectField.tsx
|
|
6
|
+
var c = /* @__PURE__ */ e({ ObjectField: () => l });
|
|
7
|
+
function l({ value: e, onChange: c, field: l, readonly: u, ...d }) {
|
|
8
|
+
let f = l || d.schema, [p, m] = a(() => e == null ? "" : JSON.stringify(e, null, 2)), [h, g] = a(null);
|
|
9
|
+
return i(() => {
|
|
10
|
+
try {
|
|
11
|
+
if (e == null) {
|
|
12
|
+
m("");
|
|
13
|
+
return;
|
|
14
|
+
}
|
|
15
|
+
let t = p ? JSON.parse(p) : null;
|
|
16
|
+
JSON.stringify(t) !== JSON.stringify(e) && m(JSON.stringify(e, null, 2));
|
|
17
|
+
} catch {
|
|
18
|
+
m(JSON.stringify(e, null, 2));
|
|
19
|
+
}
|
|
20
|
+
}, [e, p]), u ? e ? /* @__PURE__ */ o("pre", {
|
|
21
|
+
className: t("text-xs bg-gray-50 p-2 rounded border border-gray-200 overflow-auto max-h-40", d.className),
|
|
22
|
+
children: JSON.stringify(e, null, 2)
|
|
23
|
+
}) : /* @__PURE__ */ o(r, {}) : /* @__PURE__ */ s("div", {
|
|
24
|
+
className: "space-y-1",
|
|
25
|
+
children: [/* @__PURE__ */ o(n, {
|
|
26
|
+
value: p,
|
|
27
|
+
onChange: (e) => {
|
|
28
|
+
let t = e.target.value;
|
|
29
|
+
if (m(t), g(null), !t.trim()) {
|
|
30
|
+
c(null);
|
|
31
|
+
return;
|
|
32
|
+
}
|
|
33
|
+
try {
|
|
34
|
+
c(JSON.parse(t));
|
|
35
|
+
} catch {
|
|
36
|
+
g("Invalid JSON");
|
|
37
|
+
}
|
|
38
|
+
},
|
|
39
|
+
placeholder: f?.placeholder || "{\n \"key\": \"value\"\n}",
|
|
40
|
+
disabled: u || d.disabled,
|
|
41
|
+
className: t("font-mono text-xs", h ? "border-red-500 focus-visible:ring-red-500" : "", d.className),
|
|
42
|
+
rows: 6
|
|
43
|
+
}), h && /* @__PURE__ */ o("p", {
|
|
44
|
+
className: "text-xs text-red-500",
|
|
45
|
+
children: h
|
|
46
|
+
})]
|
|
47
|
+
});
|
|
48
|
+
}
|
|
49
|
+
//#endregion
|
|
50
|
+
export { c as t };
|
|
@@ -1,9 +1,10 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { n as e } from "./rolldown-runtime-DnwLefa7.js";
|
|
2
|
+
import { Mt as t, O as n, jt as r, q as i } from "./src-DyUKLvMN.js";
|
|
2
3
|
import { useState as a } from "react";
|
|
3
4
|
import { jsx as o, jsxs as s } from "react/jsx-runtime";
|
|
4
5
|
//#region ../fields/src/widgets/PasswordField.tsx
|
|
5
|
-
var c = /* @__PURE__ */
|
|
6
|
-
function l({ value:
|
|
6
|
+
var c = /* @__PURE__ */ e({ PasswordField: () => l });
|
|
7
|
+
function l({ value: e, onChange: c, field: l, readonly: u, className: d, ...f }) {
|
|
7
8
|
let [p, m] = a(!1), h = l || f.schema;
|
|
8
9
|
if (u) return /* @__PURE__ */ o("span", {
|
|
9
10
|
className: "text-sm",
|
|
@@ -12,22 +13,22 @@ function l({ value: i, onChange: c, field: l, readonly: u, className: d, ...f })
|
|
|
12
13
|
let { inputType: g, ..._ } = f;
|
|
13
14
|
return /* @__PURE__ */ s("div", {
|
|
14
15
|
className: "relative",
|
|
15
|
-
children: [/* @__PURE__ */ o(
|
|
16
|
+
children: [/* @__PURE__ */ o(n, {
|
|
16
17
|
..._,
|
|
17
18
|
type: p ? "text" : "password",
|
|
18
|
-
value:
|
|
19
|
+
value: e || "",
|
|
19
20
|
onChange: (e) => c(e.target.value),
|
|
20
21
|
placeholder: h?.placeholder,
|
|
21
22
|
disabled: u || _.disabled,
|
|
22
23
|
className: `pr-10 ${d || ""}`
|
|
23
|
-
}), /* @__PURE__ */ o(
|
|
24
|
+
}), /* @__PURE__ */ o(i, {
|
|
24
25
|
type: "button",
|
|
25
26
|
variant: "ghost",
|
|
26
27
|
size: "sm",
|
|
27
28
|
className: "absolute right-0 top-0 h-full px-3 py-2 hover:bg-transparent",
|
|
28
29
|
onClick: () => m(!p),
|
|
29
30
|
tabIndex: -1,
|
|
30
|
-
children: o(p ? t :
|
|
31
|
+
children: o(p ? t : r, { className: "size-4 text-gray-500" })
|
|
31
32
|
})]
|
|
32
33
|
});
|
|
33
34
|
}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import { n as e } from "./rolldown-runtime-DnwLefa7.js";
|
|
2
|
+
import { O as t, m as n, t as r } from "./src-DyUKLvMN.js";
|
|
3
|
+
import "react";
|
|
4
|
+
import { jsx as i, jsxs as a } from "react/jsx-runtime";
|
|
5
|
+
//#region ../fields/src/widgets/PercentField.tsx
|
|
6
|
+
var o = /* @__PURE__ */ e({ PercentField: () => s });
|
|
7
|
+
function s({ value: e, onChange: o, field: s, readonly: c, errorMessage: l, className: u, ...d }) {
|
|
8
|
+
let f = s || d.schema, p = f?.precision ?? 2;
|
|
9
|
+
if (c) return e == null ? /* @__PURE__ */ i(r, {}) : /* @__PURE__ */ a("span", {
|
|
10
|
+
className: "text-sm font-medium tabular-nums",
|
|
11
|
+
children: [(e * 100).toFixed(p), "%"]
|
|
12
|
+
});
|
|
13
|
+
let m = e == null ? "" : e * 100, h = e == null ? 0 : e * 100, g = (e) => {
|
|
14
|
+
if (e.target.value === "") {
|
|
15
|
+
o(null);
|
|
16
|
+
return;
|
|
17
|
+
}
|
|
18
|
+
let t = parseFloat(e.target.value);
|
|
19
|
+
o(isNaN(t) ? null : t / 100);
|
|
20
|
+
}, _ = (e) => {
|
|
21
|
+
if (c || d.disabled) return;
|
|
22
|
+
if (!Array.isArray(e) || e.length === 0) {
|
|
23
|
+
o(null);
|
|
24
|
+
return;
|
|
25
|
+
}
|
|
26
|
+
let t = e[0];
|
|
27
|
+
o(typeof t == "number" ? t / 100 : null);
|
|
28
|
+
}, v = 10 ** -p;
|
|
29
|
+
return /* @__PURE__ */ a("div", {
|
|
30
|
+
className: "space-y-2",
|
|
31
|
+
children: [/* @__PURE__ */ a("div", {
|
|
32
|
+
className: "relative",
|
|
33
|
+
children: [/* @__PURE__ */ i(t, {
|
|
34
|
+
...d,
|
|
35
|
+
type: "number",
|
|
36
|
+
value: m,
|
|
37
|
+
onChange: g,
|
|
38
|
+
placeholder: f?.placeholder || "0",
|
|
39
|
+
disabled: c || d.disabled,
|
|
40
|
+
className: `pr-8 ${u || ""}`,
|
|
41
|
+
step: (10 ** -p).toFixed(p),
|
|
42
|
+
"aria-invalid": !!l
|
|
43
|
+
}), /* @__PURE__ */ i("span", {
|
|
44
|
+
className: "absolute right-3 top-1/2 -translate-y-1/2 text-sm text-gray-500",
|
|
45
|
+
children: "%"
|
|
46
|
+
})]
|
|
47
|
+
}), /* @__PURE__ */ i(n, {
|
|
48
|
+
value: [h],
|
|
49
|
+
onValueChange: _,
|
|
50
|
+
min: 0,
|
|
51
|
+
max: 100,
|
|
52
|
+
step: v,
|
|
53
|
+
disabled: c || d.disabled,
|
|
54
|
+
className: "w-full",
|
|
55
|
+
"aria-label": "Percentage",
|
|
56
|
+
"data-testid": "percent-slider"
|
|
57
|
+
})]
|
|
58
|
+
});
|
|
59
|
+
}
|
|
60
|
+
//#endregion
|
|
61
|
+
export { o as t };
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { n as e } from "./rolldown-runtime-DnwLefa7.js";
|
|
2
|
+
import { O as t, t as n } from "./src-DyUKLvMN.js";
|
|
3
|
+
import "react";
|
|
4
|
+
import { jsx as r } from "react/jsx-runtime";
|
|
5
|
+
//#region ../fields/src/widgets/PhoneField.tsx
|
|
6
|
+
var i = /* @__PURE__ */ e({ PhoneField: () => a });
|
|
7
|
+
function a({ value: e, onChange: i, field: a, readonly: o, errorMessage: s, ...c }) {
|
|
8
|
+
let l = a || c.schema;
|
|
9
|
+
if (o) return e ? /* @__PURE__ */ r("a", {
|
|
10
|
+
href: `tel:${e}`,
|
|
11
|
+
className: "text-sm text-blue-600 hover:text-blue-800 hover:underline",
|
|
12
|
+
children: e
|
|
13
|
+
}) : /* @__PURE__ */ r(n, {});
|
|
14
|
+
let { inputType: u, ...d } = c;
|
|
15
|
+
return /* @__PURE__ */ r(t, {
|
|
16
|
+
...d,
|
|
17
|
+
type: "tel",
|
|
18
|
+
value: e || "",
|
|
19
|
+
onChange: (e) => i(e.target.value),
|
|
20
|
+
placeholder: l?.placeholder || "(555) 123-4567",
|
|
21
|
+
disabled: o || d.disabled,
|
|
22
|
+
"aria-invalid": !!s
|
|
23
|
+
});
|
|
24
|
+
}
|
|
25
|
+
//#endregion
|
|
26
|
+
export { i as t };
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
import { n as e } from "./rolldown-runtime-DnwLefa7.js";
|
|
2
|
+
import { It as t, O as n, q as r, t as i, ut as a } from "./src-DyUKLvMN.js";
|
|
3
|
+
import o from "react";
|
|
4
|
+
import { Fragment as s, jsx as c, jsxs as l } from "react/jsx-runtime";
|
|
5
|
+
//#region ../fields/src/widgets/QRCodeField.tsx
|
|
6
|
+
var u = /* @__PURE__ */ e({ QRCodeField: () => d });
|
|
7
|
+
function d({ value: e, onChange: u, field: d, readonly: f, ...p }) {
|
|
8
|
+
let [m, h] = o.useState(!1), g = d || p.schema;
|
|
9
|
+
return f ? /* @__PURE__ */ l("div", {
|
|
10
|
+
className: "flex items-center gap-3",
|
|
11
|
+
children: [/* @__PURE__ */ c("span", {
|
|
12
|
+
className: "text-sm flex-1 truncate",
|
|
13
|
+
children: e || /* @__PURE__ */ c(i, {})
|
|
14
|
+
}), e && /* @__PURE__ */ l(r, {
|
|
15
|
+
type: "button",
|
|
16
|
+
variant: "outline",
|
|
17
|
+
size: "sm",
|
|
18
|
+
onClick: () => h(!m),
|
|
19
|
+
children: [
|
|
20
|
+
/* @__PURE__ */ c(a, { className: "w-4 h-4 mr-2" }),
|
|
21
|
+
m ? "Hide" : "Show",
|
|
22
|
+
" QR"
|
|
23
|
+
]
|
|
24
|
+
})]
|
|
25
|
+
}) : /* @__PURE__ */ l("div", {
|
|
26
|
+
className: "space-y-3",
|
|
27
|
+
children: [
|
|
28
|
+
/* @__PURE__ */ l("div", {
|
|
29
|
+
className: "flex items-center gap-2",
|
|
30
|
+
children: [/* @__PURE__ */ c(n, {
|
|
31
|
+
type: "text",
|
|
32
|
+
value: e || "",
|
|
33
|
+
onChange: (e) => u(e.target.value),
|
|
34
|
+
placeholder: g?.placeholder || "Enter text for QR code",
|
|
35
|
+
disabled: f || p.disabled,
|
|
36
|
+
className: p.className
|
|
37
|
+
}), e && /* @__PURE__ */ l(s, { children: [/* @__PURE__ */ c(r, {
|
|
38
|
+
type: "button",
|
|
39
|
+
variant: "outline",
|
|
40
|
+
size: "sm",
|
|
41
|
+
onClick: () => {
|
|
42
|
+
e && navigator.clipboard.writeText(e);
|
|
43
|
+
},
|
|
44
|
+
children: /* @__PURE__ */ c(t, { className: "w-4 h-4" })
|
|
45
|
+
}), /* @__PURE__ */ c(r, {
|
|
46
|
+
type: "button",
|
|
47
|
+
variant: "outline",
|
|
48
|
+
size: "sm",
|
|
49
|
+
onClick: () => h(!m),
|
|
50
|
+
children: /* @__PURE__ */ c(a, { className: "w-4 h-4" })
|
|
51
|
+
})] })]
|
|
52
|
+
}),
|
|
53
|
+
m && e && /* @__PURE__ */ c("div", {
|
|
54
|
+
className: "border rounded p-4 bg-white flex justify-center",
|
|
55
|
+
children: /* @__PURE__ */ c("img", {
|
|
56
|
+
src: ((e) => `https://api.qrserver.com/v1/create-qr-code/?size=200x200&data=${encodeURIComponent(e)}`)(e),
|
|
57
|
+
alt: "QR Code",
|
|
58
|
+
className: "w-48 h-48"
|
|
59
|
+
})
|
|
60
|
+
}),
|
|
61
|
+
e && /* @__PURE__ */ l("p", {
|
|
62
|
+
className: "text-xs text-muted-foreground",
|
|
63
|
+
children: [
|
|
64
|
+
"QR code contains: ",
|
|
65
|
+
e.length,
|
|
66
|
+
" characters"
|
|
67
|
+
]
|
|
68
|
+
})
|
|
69
|
+
]
|
|
70
|
+
});
|
|
71
|
+
}
|
|
72
|
+
//#endregion
|
|
73
|
+
export { u as t };
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { n as e } from "./rolldown-runtime-DnwLefa7.js";
|
|
2
|
+
import { an as t, et as n } from "./src-DyUKLvMN.js";
|
|
2
3
|
import r from "react";
|
|
3
4
|
import { jsx as i, jsxs as a } from "react/jsx-runtime";
|
|
4
5
|
//#region ../fields/src/widgets/RatingField.tsx
|
|
@@ -6,8 +7,8 @@ var o = /* @__PURE__ */ e({ RatingField: () => s });
|
|
|
6
7
|
function s({ value: e, onChange: o, field: s, readonly: c, className: l, ...u }) {
|
|
7
8
|
let d = (s || u.schema)?.max ?? 5, f = e ?? 0, [p, m] = r.useState(null), h = p === null ? f : p;
|
|
8
9
|
return c ? /* @__PURE__ */ a("div", {
|
|
9
|
-
className:
|
|
10
|
-
children: [Array.from({ length: d }, (e,
|
|
10
|
+
className: t("flex items-center gap-1", l),
|
|
11
|
+
children: [Array.from({ length: d }, (e, t) => /* @__PURE__ */ i(n, { className: `w-5 h-5 ${t < f ? "fill-yellow-400 text-yellow-400" : "text-muted-foreground"}` }, t)), /* @__PURE__ */ a("span", {
|
|
11
12
|
className: "ml-2 text-sm text-muted-foreground",
|
|
12
13
|
children: [
|
|
13
14
|
f,
|
|
@@ -16,16 +17,16 @@ function s({ value: e, onChange: o, field: s, readonly: c, className: l, ...u })
|
|
|
16
17
|
]
|
|
17
18
|
})]
|
|
18
19
|
}) : /* @__PURE__ */ a("div", {
|
|
19
|
-
className:
|
|
20
|
-
children: [Array.from({ length: d }, (e,
|
|
20
|
+
className: t("flex items-center gap-1", l),
|
|
21
|
+
children: [Array.from({ length: d }, (e, t) => /* @__PURE__ */ i("button", {
|
|
21
22
|
type: "button",
|
|
22
|
-
onClick: () => o(
|
|
23
|
-
onMouseEnter: () => m(
|
|
23
|
+
onClick: () => o(t + 1),
|
|
24
|
+
onMouseEnter: () => m(t + 1),
|
|
24
25
|
onMouseLeave: () => m(null),
|
|
25
26
|
className: "focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 rounded",
|
|
26
27
|
disabled: c || u.disabled,
|
|
27
|
-
children: /* @__PURE__ */ i(
|
|
28
|
-
},
|
|
28
|
+
children: /* @__PURE__ */ i(n, { className: `w-5 h-5 transition-colors ${t < h ? "fill-yellow-400 text-yellow-400 hover:fill-yellow-500 hover:text-yellow-500" : "text-muted-foreground hover:text-yellow-400"}` })
|
|
29
|
+
}, t)), /* @__PURE__ */ a("span", {
|
|
29
30
|
className: "ml-2 text-sm text-muted-foreground",
|
|
30
31
|
children: [
|
|
31
32
|
f,
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { n as e } from "./rolldown-runtime-DnwLefa7.js";
|
|
2
|
+
import { n as t, t as n } from "./src-DyUKLvMN.js";
|
|
3
|
+
import "react";
|
|
4
|
+
import { jsx as r, jsxs as i } from "react/jsx-runtime";
|
|
5
|
+
//#region ../fields/src/widgets/RichTextField.tsx
|
|
6
|
+
var a = /* @__PURE__ */ e({ RichTextField: () => o });
|
|
7
|
+
function o({ value: e, onChange: a, field: o, readonly: s, errorMessage: c, ...l }) {
|
|
8
|
+
if (s) return /* @__PURE__ */ r("div", {
|
|
9
|
+
className: "text-sm prose prose-sm max-w-none",
|
|
10
|
+
children: e || /* @__PURE__ */ r(n, {})
|
|
11
|
+
});
|
|
12
|
+
let u = o || l.schema, d = u?.rows || 8;
|
|
13
|
+
return /* @__PURE__ */ i("div", {
|
|
14
|
+
className: "space-y-2",
|
|
15
|
+
children: [/* @__PURE__ */ i("div", {
|
|
16
|
+
className: "flex items-center justify-between text-xs text-gray-500",
|
|
17
|
+
children: [/* @__PURE__ */ i("span", { children: ["Format: ", u?.format || "markdown"] }), /* @__PURE__ */ r("span", {
|
|
18
|
+
className: "italic",
|
|
19
|
+
children: "Rich text editor (basic)"
|
|
20
|
+
})]
|
|
21
|
+
}), /* @__PURE__ */ r(t, {
|
|
22
|
+
value: e || "",
|
|
23
|
+
onChange: (e) => a(e.target.value),
|
|
24
|
+
placeholder: u?.placeholder || "Enter text...",
|
|
25
|
+
disabled: s || l.disabled,
|
|
26
|
+
rows: d,
|
|
27
|
+
className: `font-mono text-sm ${l.className || ""}`,
|
|
28
|
+
"aria-invalid": !!c
|
|
29
|
+
})]
|
|
30
|
+
});
|
|
31
|
+
}
|
|
32
|
+
//#endregion
|
|
33
|
+
export { a as t };
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { n as e } from "./rolldown-runtime-DnwLefa7.js";
|
|
2
|
+
import { C as t, S as n, b as r, t as i, w as a, x as o } from "./src-DyUKLvMN.js";
|
|
3
|
+
import { t as s } from "./useFieldTranslation-BRgjC1oq.js";
|
|
4
|
+
import "react";
|
|
5
|
+
import { jsx as c, jsxs as l } from "react/jsx-runtime";
|
|
6
|
+
//#region ../fields/src/widgets/SelectField.tsx
|
|
7
|
+
var u = /* @__PURE__ */ e({ SelectField: () => d });
|
|
8
|
+
function d({ value: e, onChange: u, field: d, readonly: f, ...p }) {
|
|
9
|
+
let m = d || p.schema, h = m?.options || [], { t: g } = s();
|
|
10
|
+
if (f) {
|
|
11
|
+
let t = h.find((t) => t.value === e)?.label || e;
|
|
12
|
+
return t ? /* @__PURE__ */ c("span", {
|
|
13
|
+
className: "text-sm",
|
|
14
|
+
children: t
|
|
15
|
+
}) : /* @__PURE__ */ c(i, {});
|
|
16
|
+
}
|
|
17
|
+
return /* @__PURE__ */ l(r, {
|
|
18
|
+
...p,
|
|
19
|
+
value: e,
|
|
20
|
+
onValueChange: u,
|
|
21
|
+
disabled: f || p.disabled,
|
|
22
|
+
children: [/* @__PURE__ */ c(t, {
|
|
23
|
+
className: p.className,
|
|
24
|
+
id: p.id,
|
|
25
|
+
children: /* @__PURE__ */ c(a, { placeholder: m?.placeholder || g("common.selectOption") })
|
|
26
|
+
}), /* @__PURE__ */ c(o, {
|
|
27
|
+
position: "popper",
|
|
28
|
+
children: h.map((e) => /* @__PURE__ */ c(n, {
|
|
29
|
+
value: e.value,
|
|
30
|
+
children: e.label
|
|
31
|
+
}, e.value))
|
|
32
|
+
})]
|
|
33
|
+
});
|
|
34
|
+
}
|
|
35
|
+
//#endregion
|
|
36
|
+
export { u as t };
|
|
@@ -1,21 +1,22 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { n as e } from "./rolldown-runtime-DnwLefa7.js";
|
|
2
|
+
import { Pt as t, q as n } from "./src-DyUKLvMN.js";
|
|
2
3
|
import r, { useEffect as i, useRef as a } from "react";
|
|
3
4
|
import { jsx as o, jsxs as s } from "react/jsx-runtime";
|
|
4
5
|
//#region ../fields/src/widgets/SignatureField.tsx
|
|
5
|
-
var c = /* @__PURE__ */
|
|
6
|
-
function l({ value:
|
|
7
|
-
let u = a(null), [d, f] = r.useState(!1), [p, m] = r.useState(!
|
|
6
|
+
var c = /* @__PURE__ */ e({ SignatureField: () => l });
|
|
7
|
+
function l({ value: e, onChange: c, readonly: l }) {
|
|
8
|
+
let u = a(null), [d, f] = r.useState(!1), [p, m] = r.useState(!e);
|
|
8
9
|
i(() => {
|
|
9
|
-
if (
|
|
10
|
-
let
|
|
11
|
-
if (
|
|
12
|
-
let
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
},
|
|
10
|
+
if (e && u.current) {
|
|
11
|
+
let t = u.current.getContext("2d");
|
|
12
|
+
if (t) {
|
|
13
|
+
let n = new Image();
|
|
14
|
+
n.onload = () => {
|
|
15
|
+
t.drawImage(n, 0, 0), m(!1);
|
|
16
|
+
}, n.src = e;
|
|
16
17
|
}
|
|
17
18
|
}
|
|
18
|
-
}, [
|
|
19
|
+
}, [e]);
|
|
19
20
|
let h = (e) => {
|
|
20
21
|
if (l) return;
|
|
21
22
|
f(!0), m(!1);
|
|
@@ -39,15 +40,15 @@ function l({ value: n, onChange: c, readonly: l }) {
|
|
|
39
40
|
let e = u.current;
|
|
40
41
|
e && c(e.toDataURL("image/png"));
|
|
41
42
|
};
|
|
42
|
-
return l &&
|
|
43
|
+
return l && e ? /* @__PURE__ */ o("div", {
|
|
43
44
|
className: "border rounded p-2 bg-white",
|
|
44
45
|
children: /* @__PURE__ */ o("img", {
|
|
45
|
-
src:
|
|
46
|
+
src: e,
|
|
46
47
|
alt: "Signature",
|
|
47
48
|
loading: "lazy",
|
|
48
49
|
className: "max-w-full h-auto"
|
|
49
50
|
})
|
|
50
|
-
}) : l && !
|
|
51
|
+
}) : l && !e ? /* @__PURE__ */ o("span", {
|
|
51
52
|
className: "text-sm text-muted-foreground",
|
|
52
53
|
children: "No signature"
|
|
53
54
|
}) : /* @__PURE__ */ s("div", {
|
|
@@ -72,7 +73,7 @@ function l({ value: n, onChange: c, readonly: l }) {
|
|
|
72
73
|
children: [/* @__PURE__ */ o("p", {
|
|
73
74
|
className: "text-xs text-muted-foreground",
|
|
74
75
|
children: p ? "Sign above" : "Signature captured"
|
|
75
|
-
}), /* @__PURE__ */ s(
|
|
76
|
+
}), /* @__PURE__ */ s(n, {
|
|
76
77
|
type: "button",
|
|
77
78
|
variant: "outline",
|
|
78
79
|
size: "sm",
|
|
@@ -83,7 +84,7 @@ function l({ value: n, onChange: c, readonly: l }) {
|
|
|
83
84
|
t && (t.clearRect(0, 0, e.width, e.height), m(!0), c(""));
|
|
84
85
|
},
|
|
85
86
|
disabled: l || p,
|
|
86
|
-
children: [/* @__PURE__ */ o(
|
|
87
|
+
children: [/* @__PURE__ */ o(t, { className: "w-4 h-4 mr-2" }), "Clear"]
|
|
87
88
|
})]
|
|
88
89
|
})]
|
|
89
90
|
});
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { n as e } from "./rolldown-runtime-DnwLefa7.js";
|
|
2
|
+
import { m as t } from "./src-DyUKLvMN.js";
|
|
2
3
|
import "react";
|
|
3
4
|
import { jsx as n, jsxs as r } from "react/jsx-runtime";
|
|
4
5
|
//#region ../fields/src/widgets/SliderField.tsx
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { n as e } from "./rolldown-runtime-DnwLefa7.js";
|
|
2
|
+
import { t } from "./src-DyUKLvMN.js";
|
|
3
|
+
import "react";
|
|
4
|
+
import { jsx as n } from "react/jsx-runtime";
|
|
5
|
+
//#region ../fields/src/widgets/SummaryField.tsx
|
|
6
|
+
var r = /* @__PURE__ */ e({ SummaryField: () => i });
|
|
7
|
+
function i({ value: e, field: r, ...i }) {
|
|
8
|
+
let a = (r || i.schema)?.summary_type || "count";
|
|
9
|
+
if (e == null) return /* @__PURE__ */ n(t, { className: i.className });
|
|
10
|
+
let o;
|
|
11
|
+
return o = a === "count" ? String(e) : [
|
|
12
|
+
"sum",
|
|
13
|
+
"avg",
|
|
14
|
+
"min",
|
|
15
|
+
"max"
|
|
16
|
+
].includes(a) && typeof e == "number" ? e.toFixed(2) : String(e), /* @__PURE__ */ n("span", {
|
|
17
|
+
className: `text-sm font-medium tabular-nums text-gray-700 ${i.className || ""}`,
|
|
18
|
+
children: o
|
|
19
|
+
});
|
|
20
|
+
}
|
|
21
|
+
//#endregion
|
|
22
|
+
export { r as t };
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { n as e } from "./rolldown-runtime-DnwLefa7.js";
|
|
2
|
+
import { n as t, t as n } from "./src-DyUKLvMN.js";
|
|
3
|
+
import "react";
|
|
4
|
+
import { jsx as r, jsxs as i } from "react/jsx-runtime";
|
|
5
|
+
//#region ../fields/src/widgets/TextAreaField.tsx
|
|
6
|
+
var a = /* @__PURE__ */ e({ TextAreaField: () => o });
|
|
7
|
+
function o({ value: e, onChange: a, field: o, readonly: s, errorMessage: c, ...l }) {
|
|
8
|
+
if (s) return /* @__PURE__ */ r("div", {
|
|
9
|
+
className: "text-sm whitespace-pre-wrap",
|
|
10
|
+
children: e || /* @__PURE__ */ r(n, {})
|
|
11
|
+
});
|
|
12
|
+
let u = o || l.schema, d = u?.rows || 4, f = u?.max_length, { inputType: p, ...m } = l;
|
|
13
|
+
return /* @__PURE__ */ i("div", {
|
|
14
|
+
className: "relative",
|
|
15
|
+
children: [/* @__PURE__ */ r(t, {
|
|
16
|
+
...m,
|
|
17
|
+
value: e || "",
|
|
18
|
+
onChange: (e) => a(e.target.value),
|
|
19
|
+
placeholder: u?.placeholder,
|
|
20
|
+
disabled: s || m.disabled,
|
|
21
|
+
rows: d,
|
|
22
|
+
maxLength: f,
|
|
23
|
+
"aria-invalid": !!c
|
|
24
|
+
}), f && /* @__PURE__ */ i("div", {
|
|
25
|
+
className: "absolute bottom-2 right-2 text-xs text-gray-400",
|
|
26
|
+
"aria-live": "polite",
|
|
27
|
+
"aria-label": `Character count: ${(e || "").length} of ${f}`,
|
|
28
|
+
children: [
|
|
29
|
+
(e || "").length,
|
|
30
|
+
"/",
|
|
31
|
+
f
|
|
32
|
+
]
|
|
33
|
+
})]
|
|
34
|
+
});
|
|
35
|
+
}
|
|
36
|
+
//#endregion
|
|
37
|
+
export { a as t };
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { n as e } from "./rolldown-runtime-DnwLefa7.js";
|
|
2
|
+
import { O as t, n, t as r } from "./src-DyUKLvMN.js";
|
|
3
|
+
import "react";
|
|
4
|
+
import { jsx as i } from "react/jsx-runtime";
|
|
5
|
+
//#region ../fields/src/widgets/TextField.tsx
|
|
6
|
+
var a = /* @__PURE__ */ e({ TextField: () => o });
|
|
7
|
+
function o({ value: e, onChange: a, field: o, readonly: s, ...c }) {
|
|
8
|
+
let l = o || c.schema;
|
|
9
|
+
if (s) return /* @__PURE__ */ i("span", {
|
|
10
|
+
className: "text-sm",
|
|
11
|
+
children: e || /* @__PURE__ */ i(r, {})
|
|
12
|
+
});
|
|
13
|
+
let u = l?.rows, { inputType: d, ...f } = c;
|
|
14
|
+
return u && u > 1 ? /* @__PURE__ */ i(n, {
|
|
15
|
+
...f,
|
|
16
|
+
value: e || "",
|
|
17
|
+
onChange: (e) => a(e.target.value),
|
|
18
|
+
placeholder: l?.placeholder,
|
|
19
|
+
disabled: s || f.disabled
|
|
20
|
+
}) : /* @__PURE__ */ i(t, {
|
|
21
|
+
...f,
|
|
22
|
+
type: l?.type === "password" ? "password" : "text",
|
|
23
|
+
value: e || "",
|
|
24
|
+
onChange: (e) => a(e.target.value),
|
|
25
|
+
placeholder: l?.placeholder,
|
|
26
|
+
disabled: s || f.disabled
|
|
27
|
+
});
|
|
28
|
+
}
|
|
29
|
+
//#endregion
|
|
30
|
+
export { a as t };
|