@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.
Files changed (209) hide show
  1. package/CHANGELOG.md +31 -0
  2. package/README.md +21 -1
  3. package/dist/AddressField-LgHnO2Lk.js +98 -0
  4. package/dist/AutoNumberField-xZCrU0eW.js +14 -0
  5. package/dist/{AvatarField-YGj51ozd.js → AvatarField-Dy2XGlPz.js} +16 -15
  6. package/dist/{BooleanField-CaA898Tk.js → BooleanField-C0Clfka5.js} +11 -10
  7. package/dist/CodeField-CHUa07B6.js +23 -0
  8. package/dist/ColorField-vxHqEhcS.js +38 -0
  9. package/dist/CurrencyField-DiWjYWDo.js +49 -0
  10. package/dist/DateField-DGaRPM4P.js +22 -0
  11. package/dist/DateTimeField-8QnpsI_h.js +30 -0
  12. package/dist/EmailField-CkVgMbpI.js +26 -0
  13. package/dist/FileField-5UPV7uek.js +149 -0
  14. package/dist/FormulaField-BUgt6-Pi.js +17 -0
  15. package/dist/GeolocationField-D9T_jgG6.js +118 -0
  16. package/dist/GridField-DE_HwiIN.js +49 -0
  17. package/dist/ImageField-Dswnqtzf.js +73 -0
  18. package/dist/LocationField-gjqbE6na.js +36 -0
  19. package/dist/LookupField-BcS3LRKc.js +901 -0
  20. package/dist/{MasterDetailField-I1A9oEGC.js → MasterDetailField-BF6_-X3A.js} +20 -19
  21. package/dist/NumberField-Dj2rYmrS.js +27 -0
  22. package/dist/ObjectField-BymIojwd.js +50 -0
  23. package/dist/{PasswordField-DBtluGJ1.js → PasswordField-ED_Xgqz-.js} +8 -7
  24. package/dist/PercentField-D-JKOxKC.js +61 -0
  25. package/dist/PhoneField-DSCaGYq7.js +26 -0
  26. package/dist/QRCodeField-CtcOUapi.js +73 -0
  27. package/dist/{RatingField-B_Mnr63i.js → RatingField-BDnyQFWy.js} +10 -9
  28. package/dist/RichTextField-CH6LVZQA.js +33 -0
  29. package/dist/SelectField-DE4dpkMV.js +36 -0
  30. package/dist/{SignatureField-CddhEK9u.js → SignatureField-B1wh3f5A.js} +18 -17
  31. package/dist/{SliderField-Df5hMzNc.js → SliderField-zoTCKh9n.js} +2 -1
  32. package/dist/SummaryField-BeBVT6VN.js +22 -0
  33. package/dist/TextAreaField-rfUGrRxh.js +37 -0
  34. package/dist/TextField-C_yM7ATQ.js +30 -0
  35. package/dist/TimeField-BcQmBZi9.js +22 -0
  36. package/dist/UrlField-BakaF6NI.js +31 -0
  37. package/dist/UserField-zS7y3eKb.js +76 -0
  38. package/dist/VectorField-CTZ4myDM.js +34 -0
  39. package/dist/index.d.ts +1 -1
  40. package/dist/index.js +1741 -1504
  41. package/dist/index.umd.cjs +43 -51
  42. package/dist/packages/plugin-detail/src/ActivityTimeline.d.ts.map +1 -0
  43. package/dist/packages/plugin-detail/src/CommentAttachment.d.ts.map +1 -0
  44. package/dist/packages/plugin-detail/src/CommentInput.d.ts.map +1 -0
  45. package/dist/packages/plugin-detail/src/DetailSection.d.ts.map +1 -0
  46. package/dist/packages/plugin-detail/src/DetailTabs.d.ts.map +1 -0
  47. package/dist/packages/plugin-detail/src/DetailView.d.ts +47 -0
  48. package/dist/packages/plugin-detail/src/DetailView.d.ts.map +1 -0
  49. package/dist/packages/plugin-detail/src/DetailView.stories.d.ts.map +1 -0
  50. package/dist/packages/plugin-detail/src/DiffView.d.ts.map +1 -0
  51. package/dist/packages/plugin-detail/src/FieldChangeItem.d.ts.map +1 -0
  52. package/dist/packages/plugin-detail/src/HeaderHighlight.d.ts.map +1 -0
  53. package/dist/packages/plugin-detail/src/InlineCreateRelated.d.ts.map +1 -0
  54. package/dist/packages/plugin-detail/src/MentionAutocomplete.d.ts.map +1 -0
  55. package/dist/packages/plugin-detail/src/PointInTimeRestore.d.ts.map +1 -0
  56. package/dist/packages/plugin-detail/src/ReactionPicker.d.ts.map +1 -0
  57. package/dist/packages/plugin-detail/src/RecordActivityTimeline.d.ts.map +1 -0
  58. package/dist/packages/plugin-detail/src/RecordChatterPanel.d.ts.map +1 -0
  59. package/dist/packages/plugin-detail/src/RecordComments.d.ts.map +1 -0
  60. package/dist/packages/plugin-detail/src/RecordNavigationEnhanced.d.ts.map +1 -0
  61. package/dist/{src → packages/plugin-detail/src}/RelatedList.d.ts +8 -0
  62. package/dist/packages/plugin-detail/src/RelatedList.d.ts.map +1 -0
  63. package/dist/packages/plugin-detail/src/RelationshipGraph.d.ts.map +1 -0
  64. package/dist/packages/plugin-detail/src/RichTextCommentInput.d.ts.map +1 -0
  65. package/dist/packages/plugin-detail/src/SectionGroup.d.ts.map +1 -0
  66. package/dist/packages/plugin-detail/src/SubscriptionToggle.d.ts.map +1 -0
  67. package/dist/packages/plugin-detail/src/ThreadedReplies.d.ts.map +1 -0
  68. package/dist/packages/plugin-detail/src/autoLayout.d.ts.map +1 -0
  69. package/dist/packages/plugin-detail/src/index.d.ts.map +1 -0
  70. package/dist/packages/plugin-detail/src/useDetailTranslation.d.ts.map +1 -0
  71. package/dist/plugin-detail.css +1 -2
  72. package/dist/rolldown-runtime-DnwLefa7.js +23 -0
  73. package/dist/{src-CXr1-vVl.js → src-DyUKLvMN.js} +29788 -37711
  74. package/dist/useFieldTranslation-BRgjC1oq.js +9 -0
  75. package/package.json +34 -12
  76. package/.turbo/turbo-build.log +0 -61
  77. package/dist/AddressField-DBkEyMcG.js +0 -93
  78. package/dist/AutoNumberField-Baa191z-.js +0 -14
  79. package/dist/CodeField-BU51nl1L.js +0 -22
  80. package/dist/ColorField-Cnf6ZM7c.js +0 -37
  81. package/dist/CurrencyField-Wg-XOId2.js +0 -51
  82. package/dist/DateField-Cth1ky_m.js +0 -21
  83. package/dist/DateTimeField-B0m6FhHL.js +0 -32
  84. package/dist/EmailField-Do7qT_L_.js +0 -28
  85. package/dist/FileField-aRJAdbQb.js +0 -151
  86. package/dist/FormulaField-DTMkagFx.js +0 -14
  87. package/dist/GeolocationField-RqpHWTEv.js +0 -113
  88. package/dist/GridField-D4IH0cpo.js +0 -51
  89. package/dist/ImageField-BYCFajjr.js +0 -75
  90. package/dist/LocationField-Bi_ew9sd.js +0 -35
  91. package/dist/LookupField-BjwlDPtt.js +0 -902
  92. package/dist/NumberField-D_NucQlp.js +0 -26
  93. package/dist/ObjectField-CG-LaM65.js +0 -52
  94. package/dist/PercentField-B6sO_J3i.js +0 -63
  95. package/dist/PhoneField-CcQAWwR6.js +0 -28
  96. package/dist/QRCodeField-CEjWs-J5.js +0 -72
  97. package/dist/RichTextField-qOEJl5Ai.js +0 -32
  98. package/dist/SelectField-C8hWu3gm.js +0 -30
  99. package/dist/SummaryField-DgiFm-Cr.js +0 -19
  100. package/dist/TextAreaField-DuriTqsD.js +0 -36
  101. package/dist/TextField-CGNSl7RU.js +0 -29
  102. package/dist/TimeField-YO58ctFg.js +0 -21
  103. package/dist/UrlField-1-BMM1jn.js +0 -33
  104. package/dist/UserField-B6GqxP_S.js +0 -78
  105. package/dist/VectorField-BkEjbSt0.js +0 -36
  106. package/dist/src/ActivityTimeline.d.ts.map +0 -1
  107. package/dist/src/CommentAttachment.d.ts.map +0 -1
  108. package/dist/src/CommentInput.d.ts.map +0 -1
  109. package/dist/src/DetailSection.d.ts.map +0 -1
  110. package/dist/src/DetailTabs.d.ts.map +0 -1
  111. package/dist/src/DetailView.d.ts +0 -23
  112. package/dist/src/DetailView.d.ts.map +0 -1
  113. package/dist/src/DetailView.stories.d.ts.map +0 -1
  114. package/dist/src/DiffView.d.ts.map +0 -1
  115. package/dist/src/FieldChangeItem.d.ts.map +0 -1
  116. package/dist/src/HeaderHighlight.d.ts.map +0 -1
  117. package/dist/src/InlineCreateRelated.d.ts.map +0 -1
  118. package/dist/src/MentionAutocomplete.d.ts.map +0 -1
  119. package/dist/src/PointInTimeRestore.d.ts.map +0 -1
  120. package/dist/src/ReactionPicker.d.ts.map +0 -1
  121. package/dist/src/RecordActivityTimeline.d.ts.map +0 -1
  122. package/dist/src/RecordChatterPanel.d.ts.map +0 -1
  123. package/dist/src/RecordComments.d.ts.map +0 -1
  124. package/dist/src/RecordNavigationEnhanced.d.ts.map +0 -1
  125. package/dist/src/RelatedList.d.ts.map +0 -1
  126. package/dist/src/RelationshipGraph.d.ts.map +0 -1
  127. package/dist/src/RichTextCommentInput.d.ts.map +0 -1
  128. package/dist/src/SectionGroup.d.ts.map +0 -1
  129. package/dist/src/SubscriptionToggle.d.ts.map +0 -1
  130. package/dist/src/ThreadedReplies.d.ts.map +0 -1
  131. package/dist/src/autoLayout.d.ts.map +0 -1
  132. package/dist/src/index.d.ts.map +0 -1
  133. package/dist/src/useDetailTranslation.d.ts.map +0 -1
  134. package/src/ActivityTimeline.tsx +0 -184
  135. package/src/CommentAttachment.tsx +0 -192
  136. package/src/CommentInput.tsx +0 -81
  137. package/src/DetailSection.tsx +0 -340
  138. package/src/DetailTabs.tsx +0 -73
  139. package/src/DetailView.stories.tsx +0 -334
  140. package/src/DetailView.tsx +0 -823
  141. package/src/DiffView.tsx +0 -231
  142. package/src/FieldChangeItem.tsx +0 -46
  143. package/src/HeaderHighlight.tsx +0 -88
  144. package/src/InlineCreateRelated.tsx +0 -291
  145. package/src/MentionAutocomplete.tsx +0 -123
  146. package/src/PointInTimeRestore.tsx +0 -261
  147. package/src/ReactionPicker.tsx +0 -106
  148. package/src/RecordActivityTimeline.tsx +0 -429
  149. package/src/RecordChatterPanel.tsx +0 -207
  150. package/src/RecordComments.tsx +0 -215
  151. package/src/RecordNavigationEnhanced.tsx +0 -211
  152. package/src/RelatedList.tsx +0 -413
  153. package/src/RelationshipGraph.tsx +0 -286
  154. package/src/RichTextCommentInput.tsx +0 -348
  155. package/src/SectionGroup.tsx +0 -101
  156. package/src/SubscriptionToggle.tsx +0 -60
  157. package/src/ThreadedReplies.tsx +0 -161
  158. package/src/__tests__/ActivityTimeline.test.tsx +0 -119
  159. package/src/__tests__/ActivityTimelineFiltering.test.tsx +0 -143
  160. package/src/__tests__/CommentInput.test.tsx +0 -57
  161. package/src/__tests__/DetailSection.test.tsx +0 -490
  162. package/src/__tests__/DetailView.test.tsx +0 -694
  163. package/src/__tests__/FieldChangeItem.test.tsx +0 -119
  164. package/src/__tests__/HeaderHighlight.test.tsx +0 -213
  165. package/src/__tests__/MentionAutocomplete.test.tsx +0 -97
  166. package/src/__tests__/ReactionPicker.test.tsx +0 -113
  167. package/src/__tests__/RecordActivityTimeline.test.tsx +0 -395
  168. package/src/__tests__/RecordChatterPanel.test.tsx +0 -265
  169. package/src/__tests__/RecordComments.test.tsx +0 -96
  170. package/src/__tests__/RecordCommentsPinSearch.test.tsx +0 -133
  171. package/src/__tests__/RelatedList.test.tsx +0 -160
  172. package/src/__tests__/SectionGroup.test.tsx +0 -101
  173. package/src/__tests__/SubscriptionToggle.test.tsx +0 -84
  174. package/src/__tests__/ThreadedReplies.test.tsx +0 -212
  175. package/src/__tests__/autoLayout.test.ts +0 -228
  176. package/src/__tests__/phase12-features.test.tsx +0 -583
  177. package/src/__tests__/roadmap-features.test.tsx +0 -478
  178. package/src/autoLayout.ts +0 -128
  179. package/src/index.tsx +0 -149
  180. package/src/useDetailTranslation.ts +0 -114
  181. package/tsconfig.json +0 -18
  182. package/vite.config.ts +0 -56
  183. package/vitest.config.ts +0 -13
  184. package/vitest.setup.ts +0 -1
  185. /package/dist/{src → packages/plugin-detail/src}/ActivityTimeline.d.ts +0 -0
  186. /package/dist/{src → packages/plugin-detail/src}/CommentAttachment.d.ts +0 -0
  187. /package/dist/{src → packages/plugin-detail/src}/CommentInput.d.ts +0 -0
  188. /package/dist/{src → packages/plugin-detail/src}/DetailSection.d.ts +0 -0
  189. /package/dist/{src → packages/plugin-detail/src}/DetailTabs.d.ts +0 -0
  190. /package/dist/{src → packages/plugin-detail/src}/DetailView.stories.d.ts +0 -0
  191. /package/dist/{src → packages/plugin-detail/src}/DiffView.d.ts +0 -0
  192. /package/dist/{src → packages/plugin-detail/src}/FieldChangeItem.d.ts +0 -0
  193. /package/dist/{src → packages/plugin-detail/src}/HeaderHighlight.d.ts +0 -0
  194. /package/dist/{src → packages/plugin-detail/src}/InlineCreateRelated.d.ts +0 -0
  195. /package/dist/{src → packages/plugin-detail/src}/MentionAutocomplete.d.ts +0 -0
  196. /package/dist/{src → packages/plugin-detail/src}/PointInTimeRestore.d.ts +0 -0
  197. /package/dist/{src → packages/plugin-detail/src}/ReactionPicker.d.ts +0 -0
  198. /package/dist/{src → packages/plugin-detail/src}/RecordActivityTimeline.d.ts +0 -0
  199. /package/dist/{src → packages/plugin-detail/src}/RecordChatterPanel.d.ts +0 -0
  200. /package/dist/{src → packages/plugin-detail/src}/RecordComments.d.ts +0 -0
  201. /package/dist/{src → packages/plugin-detail/src}/RecordNavigationEnhanced.d.ts +0 -0
  202. /package/dist/{src → packages/plugin-detail/src}/RelationshipGraph.d.ts +0 -0
  203. /package/dist/{src → packages/plugin-detail/src}/RichTextCommentInput.d.ts +0 -0
  204. /package/dist/{src → packages/plugin-detail/src}/SectionGroup.d.ts +0 -0
  205. /package/dist/{src → packages/plugin-detail/src}/SubscriptionToggle.d.ts +0 -0
  206. /package/dist/{src → packages/plugin-detail/src}/ThreadedReplies.d.ts +0 -0
  207. /package/dist/{src → packages/plugin-detail/src}/autoLayout.d.ts +0 -0
  208. /package/dist/{src → packages/plugin-detail/src}/index.d.ts +0 -0
  209. /package/dist/{src → packages/plugin-detail/src}/useDetailTranslation.d.ts +0 -0
@@ -1,10 +1,11 @@
1
- import { $ as e, It as t, Z as n, hn as r, ht as i, q as a, un as o } from "./src-CXr1-vVl.js";
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__ */ r({ MasterDetailField: () => u });
6
- function u({ value: r, onChange: l, field: u, readonly: d, className: f, ...p }) {
7
- let m = r || [], h = u || p.schema, g = () => {
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: o("space-y-2", f),
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(n, {
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: o("space-y-3", f),
45
+ className: i("space-y-3", f),
45
46
  children: [/* @__PURE__ */ c("div", {
46
47
  className: "space-y-2",
47
- children: [m.map((r) => /* @__PURE__ */ c("div", {
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(a, {
52
+ children: [/* @__PURE__ */ s(n, {
52
53
  variant: "outline",
53
- children: r.id
54
+ children: e.id
54
55
  }), /* @__PURE__ */ s("span", {
55
56
  className: "text-sm flex-1",
56
- children: r.label
57
+ children: e.label
57
58
  })]
58
59
  }), /* @__PURE__ */ c("div", {
59
60
  className: "flex items-center gap-1",
60
- children: [/* @__PURE__ */ s(n, {
61
+ children: [/* @__PURE__ */ s(o, {
61
62
  type: "button",
62
63
  variant: "ghost",
63
64
  size: "sm",
64
- onClick: () => v(r),
65
+ onClick: () => v(e),
65
66
  children: /* @__PURE__ */ s(t, { className: "w-4 h-4" })
66
- }), /* @__PURE__ */ s(n, {
67
+ }), /* @__PURE__ */ s(o, {
67
68
  type: "button",
68
69
  variant: "ghost",
69
70
  size: "sm",
70
- onClick: () => _(r.id),
71
+ onClick: () => _(e.id),
71
72
  disabled: p.disabled,
72
- children: /* @__PURE__ */ s(e, { className: "w-4 h-4" })
73
+ children: /* @__PURE__ */ s(r, { className: "w-4 h-4" })
73
74
  })]
74
75
  })]
75
- }, r.id)), m.length === 0 && /* @__PURE__ */ s("div", {
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(n, {
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(i, { className: "w-4 h-4 mr-2" }),
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 { D as e, Ft as t, Pt as n, Z as r, hn as i } from "./src-CXr1-vVl.js";
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__ */ i({ PasswordField: () => l });
6
- function l({ value: i, onChange: c, field: l, readonly: u, className: d, ...f }) {
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(e, {
16
+ children: [/* @__PURE__ */ o(n, {
16
17
  ..._,
17
18
  type: p ? "text" : "password",
18
- value: i || "",
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(r, {
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 : n, { className: "size-4 text-gray-500" })
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 { hn as e, rt as t, un as n } from "./src-CXr1-vVl.js";
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: n("flex items-center gap-1", l),
10
- children: [Array.from({ length: d }, (e, n) => /* @__PURE__ */ i(t, { className: `w-5 h-5 ${n < f ? "fill-yellow-400 text-yellow-400" : "text-muted-foreground"}` }, n)), /* @__PURE__ */ a("span", {
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: n("flex items-center gap-1", l),
20
- children: [Array.from({ length: d }, (e, n) => /* @__PURE__ */ i("button", {
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(n + 1),
23
- onMouseEnter: () => m(n + 1),
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(t, { className: `w-5 h-5 transition-colors ${n < h ? "fill-yellow-400 text-yellow-400 hover:fill-yellow-500 hover:text-yellow-500" : "text-muted-foreground hover:text-yellow-400"}` })
28
- }, n)), /* @__PURE__ */ a("span", {
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 { Lt as e, Z as t, hn as n } from "./src-CXr1-vVl.js";
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__ */ n({ SignatureField: () => l });
6
- function l({ value: n, onChange: c, readonly: l }) {
7
- let u = a(null), [d, f] = r.useState(!1), [p, m] = r.useState(!n);
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 (n && u.current) {
10
- let e = u.current.getContext("2d");
11
- if (e) {
12
- let t = new Image();
13
- t.onload = () => {
14
- e.drawImage(t, 0, 0), m(!1);
15
- }, t.src = n;
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
- }, [n]);
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 && n ? /* @__PURE__ */ o("div", {
43
+ return l && e ? /* @__PURE__ */ o("div", {
43
44
  className: "border rounded p-2 bg-white",
44
45
  children: /* @__PURE__ */ o("img", {
45
- src: n,
46
+ src: e,
46
47
  alt: "Signature",
47
48
  loading: "lazy",
48
49
  className: "max-w-full h-auto"
49
50
  })
50
- }) : l && !n ? /* @__PURE__ */ o("span", {
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(t, {
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(e, { className: "w-4 h-4 mr-2" }), "Clear"]
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 { hn as e, p as t } from "./src-CXr1-vVl.js";
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 };