@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,113 +0,0 @@
1
- import { Bt as e, Ct as t, D as n, O as r, Z as i, hn as a } from "./src-CXr1-vVl.js";
2
- import o from "react";
3
- import { jsx as s, jsxs as c } from "react/jsx-runtime";
4
- //#region ../fields/src/widgets/GeolocationField.tsx
5
- var l = /* @__PURE__ */ a({ GeolocationField: () => u });
6
- function u({ value: a, onChange: l, field: u, readonly: d, ...f }) {
7
- let [p, m] = o.useState(!1), h = a || {}, g = (e, t) => {
8
- l({
9
- ...h,
10
- [e]: t ? Number(t) : void 0
11
- });
12
- }, _ = () => {
13
- if (!navigator.geolocation) {
14
- console.error("Geolocation is not supported by this browser");
15
- return;
16
- }
17
- m(!0), navigator.geolocation.getCurrentPosition((e) => {
18
- l({
19
- latitude: e.coords.latitude,
20
- longitude: e.coords.longitude,
21
- accuracy: e.coords.accuracy
22
- }), m(!1);
23
- }, (e) => {
24
- console.error("Error getting location:", e.message), m(!1);
25
- }, {
26
- enableHighAccuracy: !0,
27
- timeout: 5e3,
28
- maximumAge: 0
29
- });
30
- }, v = (e) => !e.latitude || !e.longitude ? "-" : `${e.latitude.toFixed(6)}, ${e.longitude.toFixed(6)}`, y = () => {
31
- if (!h.latitude || !h.longitude) return;
32
- let e = `https://www.google.com/maps?q=${h.latitude},${h.longitude}`;
33
- window.open(e, "_blank");
34
- };
35
- return d ? /* @__PURE__ */ c("div", {
36
- className: "flex items-center gap-2",
37
- children: [
38
- /* @__PURE__ */ s(t, { className: "w-4 h-4 text-muted-foreground" }),
39
- /* @__PURE__ */ s("span", {
40
- className: "text-sm",
41
- children: v(h)
42
- }),
43
- h.latitude && h.longitude && /* @__PURE__ */ s(i, {
44
- type: "button",
45
- variant: "link",
46
- size: "sm",
47
- onClick: y,
48
- className: "p-0 h-auto",
49
- children: "View on map"
50
- })
51
- ]
52
- }) : /* @__PURE__ */ c("div", {
53
- className: "space-y-3",
54
- children: [
55
- /* @__PURE__ */ c("div", {
56
- className: "flex items-center gap-2",
57
- children: [/* @__PURE__ */ c(i, {
58
- type: "button",
59
- variant: "outline",
60
- size: "sm",
61
- onClick: _,
62
- disabled: d || p,
63
- children: [/* @__PURE__ */ s(e, { className: "w-4 h-4 mr-2" }), p ? "Getting location..." : "Use Current Location"]
64
- }), h.latitude && h.longitude && /* @__PURE__ */ c(i, {
65
- type: "button",
66
- variant: "link",
67
- size: "sm",
68
- onClick: y,
69
- children: [/* @__PURE__ */ s(t, { className: "w-4 h-4 mr-2" }), "View on map"]
70
- })]
71
- }),
72
- /* @__PURE__ */ c("div", {
73
- className: "grid grid-cols-2 gap-3",
74
- children: [/* @__PURE__ */ c("div", { children: [/* @__PURE__ */ s(r, {
75
- htmlFor: "latitude",
76
- className: "text-xs",
77
- children: "Latitude"
78
- }), /* @__PURE__ */ s(n, {
79
- id: "latitude",
80
- type: "number",
81
- value: h.latitude ?? "",
82
- onChange: (e) => g("latitude", e.target.value),
83
- placeholder: "37.7749",
84
- disabled: d || f.disabled,
85
- step: "any",
86
- className: f.className
87
- })] }), /* @__PURE__ */ c("div", { children: [/* @__PURE__ */ s(r, {
88
- htmlFor: "longitude",
89
- className: "text-xs",
90
- children: "Longitude"
91
- }), /* @__PURE__ */ s(n, {
92
- id: "longitude",
93
- type: "number",
94
- value: h.longitude ?? "",
95
- onChange: (e) => g("longitude", e.target.value),
96
- placeholder: "-122.4194",
97
- disabled: d || f.disabled,
98
- step: "any"
99
- })] })]
100
- }),
101
- h.accuracy && /* @__PURE__ */ c("p", {
102
- className: "text-xs text-muted-foreground",
103
- children: [
104
- "Accuracy: ±",
105
- h.accuracy.toFixed(0),
106
- "m"
107
- ]
108
- })
109
- ]
110
- });
111
- }
112
- //#endregion
113
- export { l as t };
@@ -1,51 +0,0 @@
1
- import { hn as e, un as t } from "./src-CXr1-vVl.js";
2
- import "react";
3
- import { jsx as n, jsxs as r } from "react/jsx-runtime";
4
- //#region ../fields/src/widgets/GridField.tsx
5
- var i = /* @__PURE__ */ e({ GridField: () => a });
6
- function a({ value: e, field: i, readonly: a, ...o }) {
7
- let s = (i || o.schema)?.columns || [];
8
- return !e || !Array.isArray(e) ? /* @__PURE__ */ n("span", {
9
- className: "text-sm text-muted-foreground",
10
- children: "-"
11
- }) : a ? /* @__PURE__ */ n("div", {
12
- className: t("text-sm", o.className),
13
- children: /* @__PURE__ */ r("span", {
14
- className: "text-foreground",
15
- children: [e.length, " rows"]
16
- })
17
- }) : /* @__PURE__ */ r("div", {
18
- className: t("border border-border rounded-lg overflow-hidden", o.className),
19
- children: [/* @__PURE__ */ n("div", {
20
- className: "overflow-auto max-h-60",
21
- children: /* @__PURE__ */ r("table", {
22
- className: "w-full text-sm",
23
- children: [/* @__PURE__ */ n("thead", {
24
- className: "bg-muted border-b border-border",
25
- children: /* @__PURE__ */ n("tr", { children: s.map((e, t) => /* @__PURE__ */ n("th", {
26
- className: "px-3 py-2 text-left text-xs font-medium text-muted-foreground",
27
- children: e.label || e.name
28
- }, t)) })
29
- }), /* @__PURE__ */ n("tbody", {
30
- className: "divide-y divide-border",
31
- children: e.slice(0, 5).map((e, t) => /* @__PURE__ */ n("tr", {
32
- className: "hover:bg-muted/50 transition-colors",
33
- children: s.map((t, r) => /* @__PURE__ */ n("td", {
34
- className: "px-3 py-2 text-foreground",
35
- children: e[t.name] == null ? "-" : String(e[t.name])
36
- }, r))
37
- }, t))
38
- })]
39
- })
40
- }), e.length > 5 && /* @__PURE__ */ r("div", {
41
- className: "bg-muted px-3 py-2 text-xs text-muted-foreground border-t border-border",
42
- children: [
43
- "Showing 5 of ",
44
- e.length,
45
- " rows"
46
- ]
47
- })]
48
- });
49
- }
50
- //#endregion
51
- export { i as t };
@@ -1,75 +0,0 @@
1
- import { $ as e, Z as t, hn as n, kt as r } from "./src-CXr1-vVl.js";
2
- import { useRef as i } from "react";
3
- import { jsx as a, jsxs as o } from "react/jsx-runtime";
4
- //#region ../fields/src/widgets/ImageField.tsx
5
- var s = /* @__PURE__ */ n({ ImageField: () => c });
6
- function c({ value: n, onChange: s, field: c, readonly: l, ...u }) {
7
- let d = i(null), f = c || u.schema, p = f?.multiple || !1, m = f?.accept ? f.accept.join(",") : "image/*";
8
- if (l) return n ? /* @__PURE__ */ a("div", {
9
- className: "flex flex-wrap gap-2",
10
- children: (Array.isArray(n) ? n : [n]).map((e, t) => /* @__PURE__ */ a("img", {
11
- src: e.url || "",
12
- alt: e.name || `Image ${t + 1}`,
13
- className: "size-20 rounded-md object-cover border border-gray-200"
14
- }, t))
15
- }) : /* @__PURE__ */ a("span", {
16
- className: "text-sm",
17
- children: "-"
18
- });
19
- let h = n ? Array.isArray(n) ? n : [n] : [], g = (e) => {
20
- let t = Array.from(e.target.files || []);
21
- if (t.length === 0) return;
22
- let n = t.map((e) => ({
23
- name: e.name,
24
- original_name: e.name,
25
- size: e.size,
26
- mime_type: e.type,
27
- url: URL.createObjectURL(e)
28
- }));
29
- s(p ? [...h, ...n] : n[0]);
30
- }, _ = (e) => {
31
- if (p) {
32
- let t = h.filter((t, n) => n !== e);
33
- s(t.length > 0 ? t : null);
34
- } else s(null);
35
- };
36
- return /* @__PURE__ */ o("div", {
37
- className: u.className,
38
- children: [/* @__PURE__ */ a("input", {
39
- ref: d,
40
- type: "file",
41
- multiple: p,
42
- accept: m,
43
- onChange: g,
44
- className: "hidden"
45
- }), /* @__PURE__ */ o("div", {
46
- className: "space-y-2",
47
- children: [h.length > 0 && /* @__PURE__ */ a("div", {
48
- className: "grid grid-cols-4 gap-2",
49
- children: h.map((n, r) => /* @__PURE__ */ o("div", {
50
- className: "relative group",
51
- children: [/* @__PURE__ */ a("img", {
52
- src: n.url || "",
53
- alt: n.name || `Image ${r + 1}`,
54
- className: "size-20 rounded-md object-cover border border-gray-200"
55
- }), /* @__PURE__ */ a(t, {
56
- type: "button",
57
- variant: "destructive",
58
- size: "sm",
59
- onClick: () => _(r),
60
- className: "absolute top-1 right-1 h-6 w-6 p-0 opacity-0 group-hover:opacity-100 transition-opacity",
61
- children: /* @__PURE__ */ a(e, { className: "size-3" })
62
- })]
63
- }, r))
64
- }), /* @__PURE__ */ o(t, {
65
- type: "button",
66
- variant: "outline",
67
- onClick: () => d.current?.click(),
68
- className: "w-full",
69
- children: [/* @__PURE__ */ a(r, { className: "size-4 mr-2" }), h.length > 0 ? "Add More Images" : "Upload Image"]
70
- })]
71
- })]
72
- });
73
- }
74
- //#endregion
75
- export { s as t };
@@ -1,35 +0,0 @@
1
- import { D as e, hn as t } from "./src-CXr1-vVl.js";
2
- import "react";
3
- import { jsx as n } from "react/jsx-runtime";
4
- //#region ../fields/src/widgets/LocationField.tsx
5
- var r = /* @__PURE__ */ t({ LocationField: () => i });
6
- function i({ value: t, onChange: r, field: i, readonly: a, ...o }) {
7
- let s = i || o.schema, c = t && typeof t == "object" ? `${t.latitude || 0}, ${t.longitude || 0}` : "";
8
- return a ? /* @__PURE__ */ n("span", {
9
- className: "text-sm",
10
- children: c || "-"
11
- }) : /* @__PURE__ */ n(e, {
12
- type: "text",
13
- value: c,
14
- onChange: (e) => {
15
- let t = e.target.value;
16
- if (!t.trim()) {
17
- r(null);
18
- return;
19
- }
20
- let n = t.split(",").map((e) => e.trim());
21
- if (n.length === 2) {
22
- let e = parseFloat(n[0]), t = parseFloat(n[1]);
23
- !isNaN(e) && !isNaN(t) && r({
24
- latitude: e,
25
- longitude: t
26
- });
27
- }
28
- },
29
- placeholder: s?.placeholder || "latitude, longitude",
30
- disabled: a || o.disabled,
31
- className: o.className
32
- });
33
- }
34
- //#endregion
35
- export { r as t };