@multiplatform.one/frappe-ui 7.7.4 → 7.7.6

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 (392) hide show
  1. package/dist/cjs/FrappeAssignment.cjs +1 -0
  2. package/dist/cjs/FrappeAssignment.native.js +1 -0
  3. package/dist/cjs/FrappeAssignment.native.js.map +1 -1
  4. package/dist/cjs/FrappeCalendar.cjs +2 -1
  5. package/dist/cjs/FrappeCalendar.native.js +2 -1
  6. package/dist/cjs/FrappeCalendar.native.js.map +1 -1
  7. package/dist/cjs/FrappeChartCard.cjs +1 -0
  8. package/dist/cjs/FrappeChartCard.native.js +1 -0
  9. package/dist/cjs/FrappeChartCard.native.js.map +1 -1
  10. package/dist/cjs/FrappeDashboard.cjs +1 -0
  11. package/dist/cjs/FrappeDashboard.native.js +1 -0
  12. package/dist/cjs/FrappeDashboard.native.js.map +1 -1
  13. package/dist/cjs/FrappeForm.cjs +2 -1
  14. package/dist/cjs/FrappeForm.native.js +2 -1
  15. package/dist/cjs/FrappeForm.native.js.map +1 -1
  16. package/dist/cjs/FrappeGantt.cjs +2 -1
  17. package/dist/cjs/FrappeGantt.native.js +2 -1
  18. package/dist/cjs/FrappeGantt.native.js.map +1 -1
  19. package/dist/cjs/FrappeImageView.cjs +2 -1
  20. package/dist/cjs/FrappeImageView.native.js +2 -1
  21. package/dist/cjs/FrappeImageView.native.js.map +1 -1
  22. package/dist/cjs/FrappeKPICard.cjs +1 -0
  23. package/dist/cjs/FrappeKPICard.native.js +1 -0
  24. package/dist/cjs/FrappeKPICard.native.js.map +1 -1
  25. package/dist/cjs/FrappeKanban.cjs +2 -1
  26. package/dist/cjs/FrappeKanban.native.js +2 -1
  27. package/dist/cjs/FrappeKanban.native.js.map +1 -1
  28. package/dist/cjs/FrappeLikedBy.cjs +1 -0
  29. package/dist/cjs/FrappeLikedBy.native.js +1 -0
  30. package/dist/cjs/FrappeLikedBy.native.js.map +1 -1
  31. package/dist/cjs/FrappeList.cjs +2 -1
  32. package/dist/cjs/FrappeList.native.js +2 -1
  33. package/dist/cjs/FrappeList.native.js.map +1 -1
  34. package/dist/cjs/FrappeListView.cjs +1 -0
  35. package/dist/cjs/FrappeListView.native.js +1 -0
  36. package/dist/cjs/FrappeListView.native.js.map +1 -1
  37. package/dist/cjs/FrappeProvider.cjs +3 -1
  38. package/dist/cjs/FrappeProvider.native.js +3 -1
  39. package/dist/cjs/FrappeProvider.native.js.map +1 -1
  40. package/dist/cjs/FrappeReportBuilder.cjs +1 -0
  41. package/dist/cjs/FrappeReportBuilder.native.js +1 -0
  42. package/dist/cjs/FrappeReportBuilder.native.js.map +1 -1
  43. package/dist/cjs/FrappeReportView.cjs +2 -1
  44. package/dist/cjs/FrappeReportView.native.js +2 -1
  45. package/dist/cjs/FrappeReportView.native.js.map +1 -1
  46. package/dist/cjs/FrappeTable.cjs +2 -1
  47. package/dist/cjs/FrappeTable.native.js +2 -1
  48. package/dist/cjs/FrappeTable.native.js.map +1 -1
  49. package/dist/cjs/FrappeTreeView.cjs +2 -1
  50. package/dist/cjs/FrappeTreeView.native.js +2 -1
  51. package/dist/cjs/FrappeTreeView.native.js.map +1 -1
  52. package/dist/cjs/components/attachments.cjs +1 -0
  53. package/dist/cjs/components/attachments.native.js +1 -0
  54. package/dist/cjs/components/attachments.native.js.map +1 -1
  55. package/dist/cjs/components/tags.cjs +1 -0
  56. package/dist/cjs/components/tags.native.js +1 -0
  57. package/dist/cjs/components/tags.native.js.map +1 -1
  58. package/dist/cjs/components/timeline.cjs +1 -0
  59. package/dist/cjs/components/timeline.native.js +1 -0
  60. package/dist/cjs/components/timeline.native.js.map +1 -1
  61. package/dist/cjs/desk/DeskFormSidebar.cjs +1 -0
  62. package/dist/cjs/desk/DeskFormSidebar.native.js +1 -0
  63. package/dist/cjs/desk/DeskFormSidebar.native.js.map +1 -1
  64. package/dist/cjs/desk/DeskSidebar.cjs +1 -0
  65. package/dist/cjs/desk/DeskSidebar.native.js +1 -0
  66. package/dist/cjs/desk/DeskSidebar.native.js.map +1 -1
  67. package/dist/cjs/desk/awesomebar.cjs +1 -0
  68. package/dist/cjs/desk/awesomebar.native.js +1 -0
  69. package/dist/cjs/desk/awesomebar.native.js.map +1 -1
  70. package/dist/cjs/fieldRegistry.cjs +1 -0
  71. package/dist/cjs/fieldRegistry.native.js +1 -0
  72. package/dist/cjs/fieldRegistry.native.js.map +1 -1
  73. package/dist/cjs/fields/FileUpload.cjs +1 -0
  74. package/dist/cjs/fields/FileUpload.native.js +1 -0
  75. package/dist/cjs/fields/FileUpload.native.js.map +1 -1
  76. package/dist/cjs/fields/Link.cjs +1 -0
  77. package/dist/cjs/fields/Link.native.js +1 -0
  78. package/dist/cjs/fields/Link.native.js.map +1 -1
  79. package/dist/cjs/fields/LinkTree.cjs +2 -1
  80. package/dist/cjs/fields/LinkTree.native.js +2 -1
  81. package/dist/cjs/fields/LinkTree.native.js.map +1 -1
  82. package/dist/cjs/fields/TableMultiSelect.cjs +1 -0
  83. package/dist/cjs/fields/TableMultiSelect.native.js +1 -0
  84. package/dist/cjs/fields/TableMultiSelect.native.js.map +1 -1
  85. package/dist/cjs/frappeUsers.cjs +1 -0
  86. package/dist/cjs/frappeUsers.native.js +1 -0
  87. package/dist/cjs/frappeUsers.native.js.map +1 -1
  88. package/dist/esm/FrappeAssignment.mjs +1 -0
  89. package/dist/esm/FrappeAssignment.mjs.map +1 -1
  90. package/dist/esm/FrappeAssignment.native.js +1 -0
  91. package/dist/esm/FrappeAssignment.native.js.map +1 -1
  92. package/dist/esm/FrappeCalendar.mjs +2 -1
  93. package/dist/esm/FrappeCalendar.mjs.map +1 -1
  94. package/dist/esm/FrappeCalendar.native.js +2 -1
  95. package/dist/esm/FrappeCalendar.native.js.map +1 -1
  96. package/dist/esm/FrappeChartCard.mjs +1 -0
  97. package/dist/esm/FrappeChartCard.mjs.map +1 -1
  98. package/dist/esm/FrappeChartCard.native.js +1 -0
  99. package/dist/esm/FrappeChartCard.native.js.map +1 -1
  100. package/dist/esm/FrappeDashboard.mjs +1 -0
  101. package/dist/esm/FrappeDashboard.mjs.map +1 -1
  102. package/dist/esm/FrappeDashboard.native.js +1 -0
  103. package/dist/esm/FrappeDashboard.native.js.map +1 -1
  104. package/dist/esm/FrappeForm.mjs +2 -1
  105. package/dist/esm/FrappeForm.mjs.map +1 -1
  106. package/dist/esm/FrappeForm.native.js +2 -1
  107. package/dist/esm/FrappeForm.native.js.map +1 -1
  108. package/dist/esm/FrappeGantt.mjs +2 -1
  109. package/dist/esm/FrappeGantt.mjs.map +1 -1
  110. package/dist/esm/FrappeGantt.native.js +2 -1
  111. package/dist/esm/FrappeGantt.native.js.map +1 -1
  112. package/dist/esm/FrappeImageView.mjs +2 -1
  113. package/dist/esm/FrappeImageView.mjs.map +1 -1
  114. package/dist/esm/FrappeImageView.native.js +2 -1
  115. package/dist/esm/FrappeImageView.native.js.map +1 -1
  116. package/dist/esm/FrappeKPICard.mjs +1 -0
  117. package/dist/esm/FrappeKPICard.mjs.map +1 -1
  118. package/dist/esm/FrappeKPICard.native.js +1 -0
  119. package/dist/esm/FrappeKPICard.native.js.map +1 -1
  120. package/dist/esm/FrappeKanban.mjs +2 -1
  121. package/dist/esm/FrappeKanban.mjs.map +1 -1
  122. package/dist/esm/FrappeKanban.native.js +2 -1
  123. package/dist/esm/FrappeKanban.native.js.map +1 -1
  124. package/dist/esm/FrappeLikedBy.mjs +1 -0
  125. package/dist/esm/FrappeLikedBy.mjs.map +1 -1
  126. package/dist/esm/FrappeLikedBy.native.js +1 -0
  127. package/dist/esm/FrappeLikedBy.native.js.map +1 -1
  128. package/dist/esm/FrappeList.mjs +2 -1
  129. package/dist/esm/FrappeList.mjs.map +1 -1
  130. package/dist/esm/FrappeList.native.js +2 -1
  131. package/dist/esm/FrappeList.native.js.map +1 -1
  132. package/dist/esm/FrappeListView.mjs +1 -0
  133. package/dist/esm/FrappeListView.mjs.map +1 -1
  134. package/dist/esm/FrappeListView.native.js +1 -0
  135. package/dist/esm/FrappeListView.native.js.map +1 -1
  136. package/dist/esm/FrappeProvider.mjs +3 -1
  137. package/dist/esm/FrappeProvider.mjs.map +1 -1
  138. package/dist/esm/FrappeProvider.native.js +3 -1
  139. package/dist/esm/FrappeProvider.native.js.map +1 -1
  140. package/dist/esm/FrappeReportBuilder.mjs +1 -0
  141. package/dist/esm/FrappeReportBuilder.mjs.map +1 -1
  142. package/dist/esm/FrappeReportBuilder.native.js +1 -0
  143. package/dist/esm/FrappeReportBuilder.native.js.map +1 -1
  144. package/dist/esm/FrappeReportView.mjs +2 -1
  145. package/dist/esm/FrappeReportView.mjs.map +1 -1
  146. package/dist/esm/FrappeReportView.native.js +2 -1
  147. package/dist/esm/FrappeReportView.native.js.map +1 -1
  148. package/dist/esm/FrappeTable.mjs +2 -1
  149. package/dist/esm/FrappeTable.mjs.map +1 -1
  150. package/dist/esm/FrappeTable.native.js +2 -1
  151. package/dist/esm/FrappeTable.native.js.map +1 -1
  152. package/dist/esm/FrappeTreeView.mjs +2 -1
  153. package/dist/esm/FrappeTreeView.mjs.map +1 -1
  154. package/dist/esm/FrappeTreeView.native.js +2 -1
  155. package/dist/esm/FrappeTreeView.native.js.map +1 -1
  156. package/dist/esm/components/attachments.mjs +1 -0
  157. package/dist/esm/components/attachments.mjs.map +1 -1
  158. package/dist/esm/components/attachments.native.js +1 -0
  159. package/dist/esm/components/attachments.native.js.map +1 -1
  160. package/dist/esm/components/tags.mjs +1 -0
  161. package/dist/esm/components/tags.mjs.map +1 -1
  162. package/dist/esm/components/tags.native.js +1 -0
  163. package/dist/esm/components/tags.native.js.map +1 -1
  164. package/dist/esm/components/timeline.mjs +1 -0
  165. package/dist/esm/components/timeline.mjs.map +1 -1
  166. package/dist/esm/components/timeline.native.js +1 -0
  167. package/dist/esm/components/timeline.native.js.map +1 -1
  168. package/dist/esm/desk/DeskFormSidebar.mjs +1 -0
  169. package/dist/esm/desk/DeskFormSidebar.mjs.map +1 -1
  170. package/dist/esm/desk/DeskFormSidebar.native.js +1 -0
  171. package/dist/esm/desk/DeskFormSidebar.native.js.map +1 -1
  172. package/dist/esm/desk/DeskSidebar.mjs +1 -0
  173. package/dist/esm/desk/DeskSidebar.mjs.map +1 -1
  174. package/dist/esm/desk/DeskSidebar.native.js +1 -0
  175. package/dist/esm/desk/DeskSidebar.native.js.map +1 -1
  176. package/dist/esm/desk/awesomebar.mjs +1 -0
  177. package/dist/esm/desk/awesomebar.mjs.map +1 -1
  178. package/dist/esm/desk/awesomebar.native.js +1 -0
  179. package/dist/esm/desk/awesomebar.native.js.map +1 -1
  180. package/dist/esm/fieldRegistry.mjs +1 -0
  181. package/dist/esm/fieldRegistry.mjs.map +1 -1
  182. package/dist/esm/fieldRegistry.native.js +1 -0
  183. package/dist/esm/fieldRegistry.native.js.map +1 -1
  184. package/dist/esm/fields/FileUpload.mjs +1 -0
  185. package/dist/esm/fields/FileUpload.mjs.map +1 -1
  186. package/dist/esm/fields/FileUpload.native.js +1 -0
  187. package/dist/esm/fields/FileUpload.native.js.map +1 -1
  188. package/dist/esm/fields/Link.mjs +1 -0
  189. package/dist/esm/fields/Link.mjs.map +1 -1
  190. package/dist/esm/fields/Link.native.js +1 -0
  191. package/dist/esm/fields/Link.native.js.map +1 -1
  192. package/dist/esm/fields/LinkTree.mjs +2 -1
  193. package/dist/esm/fields/LinkTree.mjs.map +1 -1
  194. package/dist/esm/fields/LinkTree.native.js +2 -1
  195. package/dist/esm/fields/LinkTree.native.js.map +1 -1
  196. package/dist/esm/fields/TableMultiSelect.mjs +1 -0
  197. package/dist/esm/fields/TableMultiSelect.mjs.map +1 -1
  198. package/dist/esm/fields/TableMultiSelect.native.js +1 -0
  199. package/dist/esm/fields/TableMultiSelect.native.js.map +1 -1
  200. package/dist/esm/formEngine/formActions.mjs.map +1 -1
  201. package/dist/esm/frappeUsers.mjs +1 -0
  202. package/dist/esm/frappeUsers.mjs.map +1 -1
  203. package/dist/esm/frappeUsers.native.js +1 -0
  204. package/dist/esm/frappeUsers.native.js.map +1 -1
  205. package/dist/esm/useFrappeAggregate.mjs.map +1 -1
  206. package/dist/jsx/FrappeAssignment.mjs +1 -0
  207. package/dist/jsx/FrappeAssignment.mjs.map +1 -1
  208. package/dist/jsx/FrappeAssignment.native.js +1 -0
  209. package/dist/jsx/FrappeAssignment.native.js.map +1 -1
  210. package/dist/jsx/FrappeCalendar.mjs +2 -1
  211. package/dist/jsx/FrappeCalendar.mjs.map +1 -1
  212. package/dist/jsx/FrappeCalendar.native.js +2 -1
  213. package/dist/jsx/FrappeCalendar.native.js.map +1 -1
  214. package/dist/jsx/FrappeChartCard.mjs +1 -0
  215. package/dist/jsx/FrappeChartCard.mjs.map +1 -1
  216. package/dist/jsx/FrappeChartCard.native.js +1 -0
  217. package/dist/jsx/FrappeChartCard.native.js.map +1 -1
  218. package/dist/jsx/FrappeDashboard.mjs +1 -0
  219. package/dist/jsx/FrappeDashboard.mjs.map +1 -1
  220. package/dist/jsx/FrappeDashboard.native.js +1 -0
  221. package/dist/jsx/FrappeDashboard.native.js.map +1 -1
  222. package/dist/jsx/FrappeForm.mjs +2 -1
  223. package/dist/jsx/FrappeForm.mjs.map +1 -1
  224. package/dist/jsx/FrappeForm.native.js +2 -1
  225. package/dist/jsx/FrappeForm.native.js.map +1 -1
  226. package/dist/jsx/FrappeGantt.mjs +2 -1
  227. package/dist/jsx/FrappeGantt.mjs.map +1 -1
  228. package/dist/jsx/FrappeGantt.native.js +2 -1
  229. package/dist/jsx/FrappeGantt.native.js.map +1 -1
  230. package/dist/jsx/FrappeImageView.mjs +2 -1
  231. package/dist/jsx/FrappeImageView.mjs.map +1 -1
  232. package/dist/jsx/FrappeImageView.native.js +2 -1
  233. package/dist/jsx/FrappeImageView.native.js.map +1 -1
  234. package/dist/jsx/FrappeKPICard.mjs +1 -0
  235. package/dist/jsx/FrappeKPICard.mjs.map +1 -1
  236. package/dist/jsx/FrappeKPICard.native.js +1 -0
  237. package/dist/jsx/FrappeKPICard.native.js.map +1 -1
  238. package/dist/jsx/FrappeKanban.mjs +2 -1
  239. package/dist/jsx/FrappeKanban.mjs.map +1 -1
  240. package/dist/jsx/FrappeKanban.native.js +2 -1
  241. package/dist/jsx/FrappeKanban.native.js.map +1 -1
  242. package/dist/jsx/FrappeLikedBy.mjs +1 -0
  243. package/dist/jsx/FrappeLikedBy.mjs.map +1 -1
  244. package/dist/jsx/FrappeLikedBy.native.js +1 -0
  245. package/dist/jsx/FrappeLikedBy.native.js.map +1 -1
  246. package/dist/jsx/FrappeList.mjs +2 -1
  247. package/dist/jsx/FrappeList.mjs.map +1 -1
  248. package/dist/jsx/FrappeList.native.js +2 -1
  249. package/dist/jsx/FrappeList.native.js.map +1 -1
  250. package/dist/jsx/FrappeListView.mjs +1 -0
  251. package/dist/jsx/FrappeListView.mjs.map +1 -1
  252. package/dist/jsx/FrappeListView.native.js +1 -0
  253. package/dist/jsx/FrappeListView.native.js.map +1 -1
  254. package/dist/jsx/FrappeProvider.mjs +3 -1
  255. package/dist/jsx/FrappeProvider.mjs.map +1 -1
  256. package/dist/jsx/FrappeProvider.native.js +3 -1
  257. package/dist/jsx/FrappeProvider.native.js.map +1 -1
  258. package/dist/jsx/FrappeReportBuilder.mjs +1 -0
  259. package/dist/jsx/FrappeReportBuilder.mjs.map +1 -1
  260. package/dist/jsx/FrappeReportBuilder.native.js +1 -0
  261. package/dist/jsx/FrappeReportBuilder.native.js.map +1 -1
  262. package/dist/jsx/FrappeReportView.mjs +2 -1
  263. package/dist/jsx/FrappeReportView.mjs.map +1 -1
  264. package/dist/jsx/FrappeReportView.native.js +2 -1
  265. package/dist/jsx/FrappeReportView.native.js.map +1 -1
  266. package/dist/jsx/FrappeTable.mjs +2 -1
  267. package/dist/jsx/FrappeTable.mjs.map +1 -1
  268. package/dist/jsx/FrappeTable.native.js +2 -1
  269. package/dist/jsx/FrappeTable.native.js.map +1 -1
  270. package/dist/jsx/FrappeTreeView.mjs +2 -1
  271. package/dist/jsx/FrappeTreeView.mjs.map +1 -1
  272. package/dist/jsx/FrappeTreeView.native.js +2 -1
  273. package/dist/jsx/FrappeTreeView.native.js.map +1 -1
  274. package/dist/jsx/components/attachments.mjs +1 -0
  275. package/dist/jsx/components/attachments.mjs.map +1 -1
  276. package/dist/jsx/components/attachments.native.js +1 -0
  277. package/dist/jsx/components/attachments.native.js.map +1 -1
  278. package/dist/jsx/components/tags.mjs +1 -0
  279. package/dist/jsx/components/tags.mjs.map +1 -1
  280. package/dist/jsx/components/tags.native.js +1 -0
  281. package/dist/jsx/components/tags.native.js.map +1 -1
  282. package/dist/jsx/components/timeline.mjs +1 -0
  283. package/dist/jsx/components/timeline.mjs.map +1 -1
  284. package/dist/jsx/components/timeline.native.js +1 -0
  285. package/dist/jsx/components/timeline.native.js.map +1 -1
  286. package/dist/jsx/desk/DeskFormSidebar.mjs +1 -0
  287. package/dist/jsx/desk/DeskFormSidebar.mjs.map +1 -1
  288. package/dist/jsx/desk/DeskFormSidebar.native.js +1 -0
  289. package/dist/jsx/desk/DeskFormSidebar.native.js.map +1 -1
  290. package/dist/jsx/desk/DeskSidebar.mjs +1 -0
  291. package/dist/jsx/desk/DeskSidebar.mjs.map +1 -1
  292. package/dist/jsx/desk/DeskSidebar.native.js +1 -0
  293. package/dist/jsx/desk/DeskSidebar.native.js.map +1 -1
  294. package/dist/jsx/desk/awesomebar.mjs +1 -0
  295. package/dist/jsx/desk/awesomebar.mjs.map +1 -1
  296. package/dist/jsx/desk/awesomebar.native.js +1 -0
  297. package/dist/jsx/desk/awesomebar.native.js.map +1 -1
  298. package/dist/jsx/fieldRegistry.mjs +1 -0
  299. package/dist/jsx/fieldRegistry.mjs.map +1 -1
  300. package/dist/jsx/fieldRegistry.native.js +1 -0
  301. package/dist/jsx/fieldRegistry.native.js.map +1 -1
  302. package/dist/jsx/fields/FileUpload.mjs +1 -0
  303. package/dist/jsx/fields/FileUpload.mjs.map +1 -1
  304. package/dist/jsx/fields/FileUpload.native.js +1 -0
  305. package/dist/jsx/fields/FileUpload.native.js.map +1 -1
  306. package/dist/jsx/fields/Link.mjs +1 -0
  307. package/dist/jsx/fields/Link.mjs.map +1 -1
  308. package/dist/jsx/fields/Link.native.js +1 -0
  309. package/dist/jsx/fields/Link.native.js.map +1 -1
  310. package/dist/jsx/fields/LinkTree.mjs +2 -1
  311. package/dist/jsx/fields/LinkTree.mjs.map +1 -1
  312. package/dist/jsx/fields/LinkTree.native.js +2 -1
  313. package/dist/jsx/fields/LinkTree.native.js.map +1 -1
  314. package/dist/jsx/fields/TableMultiSelect.mjs +1 -0
  315. package/dist/jsx/fields/TableMultiSelect.mjs.map +1 -1
  316. package/dist/jsx/fields/TableMultiSelect.native.js +1 -0
  317. package/dist/jsx/fields/TableMultiSelect.native.js.map +1 -1
  318. package/dist/jsx/formEngine/formActions.mjs.map +1 -1
  319. package/dist/jsx/formEngine/formActions.native.js.map +1 -1
  320. package/dist/jsx/frappeUsers.mjs +1 -0
  321. package/dist/jsx/frappeUsers.mjs.map +1 -1
  322. package/dist/jsx/frappeUsers.native.js +1 -0
  323. package/dist/jsx/frappeUsers.native.js.map +1 -1
  324. package/dist/jsx/index.native.js.map +1 -1
  325. package/dist/jsx/useFrappeAggregate.mjs.map +1 -1
  326. package/dist/jsx/useFrappeAggregate.native.js.map +1 -1
  327. package/package.json +16 -16
  328. package/src/FrappeAssignment.tsx +1 -0
  329. package/src/FrappeCalendar.tsx +2 -0
  330. package/src/FrappeChartCard.tsx +1 -0
  331. package/src/FrappeDashboard.tsx +3 -0
  332. package/src/FrappeForm.tsx +2 -0
  333. package/src/FrappeGantt.tsx +2 -0
  334. package/src/FrappeImageView.tsx +2 -0
  335. package/src/FrappeKPICard.tsx +1 -0
  336. package/src/FrappeKanban.tsx +2 -0
  337. package/src/FrappeLikedBy.tsx +1 -0
  338. package/src/FrappeList.tsx +2 -0
  339. package/src/FrappeListView.tsx +1 -0
  340. package/src/FrappeProvider.realtime.spec.tsx +59 -0
  341. package/src/FrappeProvider.tsx +17 -1
  342. package/src/FrappeReportBuilder.tsx +1 -0
  343. package/src/FrappeReportView.tsx +5 -2
  344. package/src/FrappeTable.tsx +2 -0
  345. package/src/FrappeTreeView.tsx +2 -0
  346. package/src/components/attachments.tsx +1 -0
  347. package/src/components/tags.tsx +1 -0
  348. package/src/components/timeline.tsx +1 -0
  349. package/src/desk/DeskFormSidebar.tsx +1 -0
  350. package/src/desk/DeskSidebar.tsx +6 -1
  351. package/src/desk/awesomebar.tsx +6 -1
  352. package/src/fieldRegistry.ts +1 -0
  353. package/src/fields/FileUpload.tsx +1 -0
  354. package/src/fields/Link.tsx +6 -1
  355. package/src/fields/LinkTree.tsx +2 -1
  356. package/src/fields/TableMultiSelect.tsx +1 -0
  357. package/src/formEngine/formActions.ts +2 -0
  358. package/src/frappeUsers.ts +1 -0
  359. package/src/useFrappeAggregate.ts +2 -0
  360. package/types/FrappeAssignment.d.ts.map +1 -1
  361. package/types/FrappeCalendar.d.ts.map +1 -1
  362. package/types/FrappeChartCard.d.ts.map +1 -1
  363. package/types/FrappeDashboard.d.ts.map +1 -1
  364. package/types/FrappeForm.d.ts.map +1 -1
  365. package/types/FrappeGantt.d.ts.map +1 -1
  366. package/types/FrappeKPICard.d.ts.map +1 -1
  367. package/types/FrappeKanban.d.ts.map +1 -1
  368. package/types/FrappeLikedBy.d.ts.map +1 -1
  369. package/types/FrappeList.d.ts.map +1 -1
  370. package/types/FrappeListView.d.ts.map +1 -1
  371. package/types/FrappeProvider.d.ts +5 -1
  372. package/types/FrappeProvider.d.ts.map +1 -1
  373. package/types/FrappeReportBuilder.d.ts.map +1 -1
  374. package/types/FrappeReportView.d.ts.map +1 -1
  375. package/types/FrappeTable.d.ts.map +1 -1
  376. package/types/FrappeTreeView.d.ts.map +1 -1
  377. package/types/components/attachments.d.ts.map +1 -1
  378. package/types/components/tags.d.ts.map +1 -1
  379. package/types/components/timeline.d.ts.map +1 -1
  380. package/types/desk/DeskFormSidebar.d.ts.map +1 -1
  381. package/types/desk/DeskSidebar.d.ts.map +1 -1
  382. package/types/desk/awesomebar.d.ts.map +1 -1
  383. package/types/fieldRegistry.d.ts.map +1 -1
  384. package/types/fields/FileUpload.d.ts.map +1 -1
  385. package/types/fields/Link.d.ts.map +1 -1
  386. package/types/fields/LinkTree.d.ts.map +1 -1
  387. package/types/fields/TableMultiSelect.d.ts.map +1 -1
  388. package/types/formEngine/formActions.d.ts +2 -0
  389. package/types/formEngine/formActions.d.ts.map +1 -1
  390. package/types/frappeUsers.d.ts.map +1 -1
  391. package/types/useFrappeAggregate.d.ts +2 -0
  392. package/types/useFrappeAggregate.d.ts.map +1 -1
@@ -1 +1 @@
1
- {"version":3,"names":["__create","Object","create","__defProp","defineProperty","__getOwnPropDesc","getOwnPropertyDescriptor","__getOwnPropNames","getOwnPropertyNames","__getProtoOf","getPrototypeOf","__hasOwnProp","prototype","hasOwnProperty","__export","target","all","name","get","enumerable","__copyProps","to","from","except","desc","key","call","__toESM","mod","isNodeMode","__esModule","value","__toCommonJS","FrappeDashboard_exports","ChartCard","import_ChartCard","FrappeDashboard","module","exports","import_jsx_runtime","require","import_frappe","import_components","import_forms","import_react","import_react2","import_react_i18next","import_tamagui","import_theme","import_FrappeProvider","LiveDashboardContent","param","connectionConfig","dataSource","transformData","staticWidgets","title","description","columns","gap","padding","showRefresh","lastRefresh","isRefreshing","onRefresh","loading","error","stackProps","_knobProps_gap","_knobProps_panelPadding","knobProps","useResolvedKnobs","t","useTranslation","collection","useFrappeCollection","doctype","fields","filters","data","rawData","isLoading","isLiveLoading","isError","useLiveQuery","q","_list","liveData","useMemo","isLiveStale","setIsLiveStale","useState","dataUpdatedAt","setDataUpdatedAt","staleTimerRef","useRef","clearStaleTimer","useCallback","current","clearTimeout","useFrappeDoctypeEvents","event","type","setTimeout","isFirstData","useEffect","Date","widgets","length","jsx","Fragment","children","jsxs","YStack","panelPadding","alignItems","Spinner","size","Text","color","textAccentColor","marginTop","body","err","Error","formCommonColors","message","containerRadius","flex","XStack","justifyContent","paddingBottom","H3","heading","label","time","formatTimeOfDay","Button","circular","icon","ArrowsClockwiseIcon","onPress","chromeless","Dashboard","baseURL","auth","syncOptions","autoRefresh","refreshInterval","config","useFrappeConfig","finalBaseURL","finalAuth","finalSyncOptions","setLastRefresh","setIsRefreshing","refreshKey","setRefreshKey","socketPort","siteName","socketBaseURL","fixtures","bumpRefresh","k","interval","setInterval","clearInterval","Content"],"sources":["FrappeDashboard.native.js"],"sourcesContent":["\"use strict\";\nvar __create = Object.create;\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __getProtoOf = Object.getPrototypeOf;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(\n // If the importer is in node compatibility mode or this is not an ESM\n // file that has been converted to a CommonJS file using a Babel-\n // compatible transform (i.e. \"__esModule\" has not been set), then set\n // \"default\" to the CommonJS \"module.exports\" for node compatibility.\n isNodeMode || !mod || !mod.__esModule ? __defProp(target, \"default\", { value: mod, enumerable: true }) : target,\n mod\n));\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\nvar FrappeDashboard_exports = {};\n__export(FrappeDashboard_exports, {\n ChartCard: () => import_ChartCard.ChartCard,\n FrappeDashboard: () => FrappeDashboard\n});\nmodule.exports = __toCommonJS(FrappeDashboard_exports);\nvar import_jsx_runtime = require(\"react/jsx-runtime\");\nvar import_frappe = require(\"@multiplatform.one/frappe\");\nvar import_components = require(\"@multiplatform.one/components\");\nvar import_forms = require(\"@multiplatform.one/forms\");\nvar import_react = require(\"@phosphor-icons/react\");\nvar import_react2 = __toESM(require(\"react\"));\nvar import_react_i18next = require(\"react-i18next\");\nvar import_tamagui = require(\"tamagui\");\nvar import_theme = require(\"@multiplatform.one/theme\");\nvar import_FrappeProvider = require(\"./FrappeProvider\");\nvar import_ChartCard = require(\"./ChartCard\");\nfunction LiveDashboardContent(param) {\n var { connectionConfig, dataSource, transformData, staticWidgets, title, description, columns, gap, padding, showRefresh, lastRefresh, isRefreshing, onRefresh, loading, error, stackProps } = param;\n var _knobProps_gap, _knobProps_panelPadding;\n var { knobProps } = (0, import_theme.useResolvedKnobs)();\n var { t } = (0, import_react_i18next.useTranslation)();\n var collection = (0, import_frappe.useFrappeCollection)(connectionConfig, dataSource.doctype, {\n fields: dataSource.fields,\n filters: dataSource.filters\n });\n var { data: rawData, isLoading: isLiveLoading, isError } = (0, import_frappe.useLiveQuery)(function(q) {\n return collection ? q.from({\n _list: collection\n }) : null;\n }, [\n collection\n ]);\n var liveData = (0, import_react2.useMemo)(function() {\n return rawData !== null && rawData !== void 0 ? rawData : [];\n }, [\n rawData\n ]);\n var [isLiveStale, setIsLiveStale] = (0, import_react2.useState)(false);\n var [dataUpdatedAt, setDataUpdatedAt] = (0, import_react2.useState)(void 0);\n var staleTimerRef = (0, import_react2.useRef)(void 0);\n var clearStaleTimer = (0, import_react2.useCallback)(function() {\n if (staleTimerRef.current) {\n clearTimeout(staleTimerRef.current);\n staleTimerRef.current = void 0;\n }\n }, []);\n (0, import_frappe.useFrappeDoctypeEvents)(connectionConfig, dataSource.doctype, function(event) {\n if (event.type !== \"doc_update\" && event.type !== \"list_update\" && event.type !== \"doc_deleted\" && event.type !== \"doc_changed\") {\n return;\n }\n setIsLiveStale(true);\n clearStaleTimer();\n staleTimerRef.current = setTimeout(function() {\n return setIsLiveStale(false);\n }, 2500);\n });\n var isFirstData = (0, import_react2.useRef)(true);\n (0, import_react2.useEffect)(function() {\n if (isFirstData.current) {\n isFirstData.current = false;\n return;\n }\n setDataUpdatedAt(/* @__PURE__ */ new Date());\n setIsLiveStale(false);\n clearStaleTimer();\n }, [\n liveData,\n clearStaleTimer\n ]);\n (0, import_react2.useEffect)(function() {\n return clearStaleTimer;\n }, [\n clearStaleTimer\n ]);\n var widgets = (0, import_react2.useMemo)(function() {\n if (transformData && liveData.length > 0) {\n return transformData(liveData);\n }\n return staticWidgets;\n }, [\n transformData,\n liveData,\n staticWidgets\n ]);\n if (isLiveLoading && liveData.length === 0) {\n if (loading) return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_jsx_runtime.Fragment, {\n children: loading\n });\n return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_tamagui.YStack, {\n ...knobProps.panelPadding,\n alignItems: \"center\",\n ...stackProps,\n children: [\n /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_forms.Spinner, {\n size: \"large\"\n }),\n /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_tamagui.Text, {\n color: knobProps.textAccentColor,\n marginTop: \"$2\",\n ...knobProps.body,\n children: t(\"Loading dashboard...\")\n })\n ]\n });\n }\n if (isError) {\n var err = new Error(t(\"Failed to load dashboard data\"));\n if (error) return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_jsx_runtime.Fragment, {\n children: error(err)\n });\n return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_tamagui.YStack, {\n ...knobProps.panelPadding,\n alignItems: \"center\",\n ...stackProps,\n ...knobProps.gap,\n children: [\n /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_tamagui.Text, {\n color: import_forms.formCommonColors.error,\n children: t(\"Failed to load dashboard\")\n }),\n /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_tamagui.Text, {\n color: knobProps.textAccentColor,\n ...knobProps.body,\n children: err.message\n })\n ]\n });\n }\n return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_tamagui.YStack, {\n ...knobProps.containerRadius,\n flex: 1,\n ...stackProps,\n children: [\n (title || showRefresh) && /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_tamagui.XStack, {\n ...knobProps.panelPadding,\n justifyContent: \"space-between\",\n alignItems: \"center\",\n paddingBottom: 0,\n children: [\n title ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_tamagui.H3, {\n ...knobProps.heading,\n children: title\n }) : /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_tamagui.YStack, {\n flex: 1\n }),\n showRefresh && /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_tamagui.XStack, {\n ...knobProps.gap,\n alignItems: \"center\",\n children: [\n isLiveStale && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_forms.Spinner, {\n size: \"small\",\n \"aria-label\": t(\"Updating\")\n }),\n /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_tamagui.Text, {\n color: knobProps.textAccentColor,\n ...knobProps.label,\n children: t(\"Last updated: {{time}}\", {\n time: (0, import_theme.formatTimeOfDay)(dataUpdatedAt !== null && dataUpdatedAt !== void 0 ? dataUpdatedAt : lastRefresh)\n })\n }),\n /* LC-54 (amendment 2026-08-13): house Button, own-box floor —\n the raw tamagui Button + grown transparent target painted\n its hover fill across the escaped 44px floor. `circular`\n makes the painted box ITSELF the 44×44 control (box-is-\n control mechanism), so feedback stays inside its own slot.\n `loading` (not bare `disabled`) is the derived busy state. */\n /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_forms.Button, {\n size: \"$2\",\n circular: true,\n icon: import_react.ArrowsClockwiseIcon,\n onPress: onRefresh,\n loading: isRefreshing || isLiveLoading,\n chromeless: true,\n \"aria-label\": t(\"Refresh\")\n })\n ]\n })\n ]\n }),\n /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_components.Dashboard, {\n widgets,\n description,\n columns,\n gap: typeof ((_knobProps_gap = knobProps.gap) === null || _knobProps_gap === void 0 ? void 0 : _knobProps_gap.gap) === \"number\" ? knobProps.gap.gap : gap,\n padding: typeof ((_knobProps_panelPadding = knobProps.panelPadding) === null || _knobProps_panelPadding === void 0 ? void 0 : _knobProps_panelPadding.padding) === \"number\" ? knobProps.panelPadding.padding : padding\n })\n ]\n });\n}\nfunction FrappeDashboard(param) {\n var { baseURL, auth, syncOptions, title, description, widgets: staticWidgets, dataSource, transformData, columns = 4, gap = 16, padding = 16, autoRefresh = false, refreshInterval = 60, loading, error, ...stackProps } = param;\n var config = (0, import_FrappeProvider.useFrappeConfig)();\n var { knobProps } = (0, import_theme.useResolvedKnobs)();\n var { t } = (0, import_react_i18next.useTranslation)();\n var finalBaseURL = baseURL !== null && baseURL !== void 0 ? baseURL : config === null || config === void 0 ? void 0 : config.baseURL;\n var finalAuth = auth !== null && auth !== void 0 ? auth : config === null || config === void 0 ? void 0 : config.auth;\n var finalSyncOptions = syncOptions !== null && syncOptions !== void 0 ? syncOptions : config === null || config === void 0 ? void 0 : config.syncOptions;\n var [lastRefresh, setLastRefresh] = (0, import_react2.useState)(/* @__PURE__ */ new Date());\n var [isRefreshing, setIsRefreshing] = (0, import_react2.useState)(false);\n var [refreshKey, setRefreshKey] = (0, import_react2.useState)(0);\n var connectionConfig = finalBaseURL && (dataSource === null || dataSource === void 0 ? void 0 : dataSource.doctype) ? {\n baseURL: finalBaseURL,\n socketPort: config === null || config === void 0 ? void 0 : config.socketPort,\n siteName: config === null || config === void 0 ? void 0 : config.siteName,\n socketBaseURL: config === null || config === void 0 ? void 0 : config.socketBaseURL,\n auth: finalAuth,\n syncOptions: finalSyncOptions,\n fixtures: config === null || config === void 0 ? void 0 : config.fixtures\n } : void 0;\n var bumpRefresh = (0, import_react2.useCallback)(function() {\n setIsRefreshing(true);\n setLastRefresh(/* @__PURE__ */ new Date());\n setRefreshKey(function(k) {\n return k + 1;\n });\n setTimeout(function() {\n return setIsRefreshing(false);\n }, 500);\n }, []);\n (0, import_react2.useEffect)(function() {\n if (!autoRefresh || refreshInterval <= 0 || !dataSource) return;\n var interval = setInterval(function() {\n bumpRefresh();\n }, refreshInterval * 1e3);\n return function() {\n return clearInterval(interval);\n };\n }, [\n autoRefresh,\n refreshInterval,\n dataSource,\n bumpRefresh\n ]);\n if (!dataSource || !connectionConfig) {\n var _knobProps_gap, _knobProps_panelPadding;\n return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_tamagui.YStack, {\n ...knobProps.containerRadius,\n flex: 1,\n ...stackProps,\n children: [\n (title || autoRefresh) && /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_tamagui.XStack, {\n ...knobProps.panelPadding,\n justifyContent: \"space-between\",\n alignItems: \"center\",\n paddingBottom: 0,\n children: [\n title ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_tamagui.H3, {\n ...knobProps.heading,\n children: title\n }) : /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_tamagui.YStack, {\n flex: 1\n }),\n /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_tamagui.XStack, {\n ...knobProps.gap,\n alignItems: \"center\",\n children: [\n autoRefresh && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_tamagui.Text, {\n color: knobProps.textAccentColor,\n ...knobProps.label,\n children: t(\"Last updated: {{time}}\", {\n time: (0, import_theme.formatTimeOfDay)(lastRefresh)\n })\n }),\n /* LC-54: house Button, own-box floor (see the live-path refresh). */\n /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_forms.Button, {\n size: \"$2\",\n circular: true,\n icon: import_react.ArrowsClockwiseIcon,\n onPress: bumpRefresh,\n loading: isRefreshing,\n chromeless: true,\n \"aria-label\": t(\"Refresh\")\n })\n ]\n })\n ]\n }),\n /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_components.Dashboard, {\n widgets: staticWidgets,\n description,\n columns,\n gap: typeof ((_knobProps_gap = knobProps.gap) === null || _knobProps_gap === void 0 ? void 0 : _knobProps_gap.gap) === \"number\" ? knobProps.gap.gap : gap,\n padding: typeof ((_knobProps_panelPadding = knobProps.panelPadding) === null || _knobProps_panelPadding === void 0 ? void 0 : _knobProps_panelPadding.padding) === \"number\" ? knobProps.panelPadding.padding : padding\n })\n ]\n });\n }\n var Content = LiveDashboardContent;\n return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Content, {\n connectionConfig,\n dataSource,\n transformData,\n staticWidgets,\n title,\n description,\n columns,\n gap,\n padding,\n showRefresh: true,\n lastRefresh,\n isRefreshing,\n onRefresh: bumpRefresh,\n loading,\n error,\n stackProps\n }, refreshKey);\n}\n//# sourceMappingURL=FrappeDashboard.js.map\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["__create","Object","create","__defProp","defineProperty","__getOwnPropDesc","getOwnPropertyDescriptor","__getOwnPropNames","getOwnPropertyNames","__getProtoOf","getPrototypeOf","__hasOwnProp","prototype","hasOwnProperty","__export","target","all","name","get","enumerable","__copyProps","to","from","except","desc","key","call","__toESM","mod","isNodeMode","__esModule","value","__toCommonJS","FrappeDashboard_exports","ChartCard","import_ChartCard","FrappeDashboard","module","exports","import_jsx_runtime","require","import_frappe","import_components","import_forms","import_react","import_react2","import_react_i18next","import_tamagui","import_theme","import_FrappeProvider","LiveDashboardContent","param","connectionConfig","dataSource","transformData","staticWidgets","title","description","columns","gap","padding","showRefresh","lastRefresh","isRefreshing","onRefresh","loading","error","stackProps","_knobProps_gap","_knobProps_panelPadding","knobProps","useResolvedKnobs","t","useTranslation","collection","useFrappeCollection","doctype","fields","filters","data","rawData","isLoading","isLiveLoading","isError","useLiveQuery","q","_list","liveData","useMemo","isLiveStale","setIsLiveStale","useState","dataUpdatedAt","setDataUpdatedAt","staleTimerRef","useRef","clearStaleTimer","useCallback","current","clearTimeout","useFrappeDoctypeEvents","event","type","setTimeout","isFirstData","useEffect","Date","widgets","length","jsx","Fragment","children","jsxs","YStack","panelPadding","alignItems","Spinner","size","Text","color","textAccentColor","marginTop","body","err","Error","formCommonColors","message","containerRadius","flex","XStack","justifyContent","paddingBottom","H3","heading","label","time","formatTimeOfDay","Button","circular","icon","ArrowsClockwiseIcon","onPress","chromeless","Dashboard","baseURL","auth","syncOptions","autoRefresh","refreshInterval","config","useFrappeConfig","finalBaseURL","finalAuth","finalSyncOptions","setLastRefresh","setIsRefreshing","refreshKey","setRefreshKey","socketPort","siteName","socketBaseURL","realtime","fixtures","bumpRefresh","k","interval","setInterval","clearInterval","Content"],"sources":["FrappeDashboard.native.js"],"sourcesContent":["\"use strict\";\nvar __create = Object.create;\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __getProtoOf = Object.getPrototypeOf;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(\n // If the importer is in node compatibility mode or this is not an ESM\n // file that has been converted to a CommonJS file using a Babel-\n // compatible transform (i.e. \"__esModule\" has not been set), then set\n // \"default\" to the CommonJS \"module.exports\" for node compatibility.\n isNodeMode || !mod || !mod.__esModule ? __defProp(target, \"default\", { value: mod, enumerable: true }) : target,\n mod\n));\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\nvar FrappeDashboard_exports = {};\n__export(FrappeDashboard_exports, {\n ChartCard: () => import_ChartCard.ChartCard,\n FrappeDashboard: () => FrappeDashboard\n});\nmodule.exports = __toCommonJS(FrappeDashboard_exports);\nvar import_jsx_runtime = require(\"react/jsx-runtime\");\nvar import_frappe = require(\"@multiplatform.one/frappe\");\nvar import_components = require(\"@multiplatform.one/components\");\nvar import_forms = require(\"@multiplatform.one/forms\");\nvar import_react = require(\"@phosphor-icons/react\");\nvar import_react2 = __toESM(require(\"react\"));\nvar import_react_i18next = require(\"react-i18next\");\nvar import_tamagui = require(\"tamagui\");\nvar import_theme = require(\"@multiplatform.one/theme\");\nvar import_FrappeProvider = require(\"./FrappeProvider\");\nvar import_ChartCard = require(\"./ChartCard\");\nfunction LiveDashboardContent(param) {\n var { connectionConfig, dataSource, transformData, staticWidgets, title, description, columns, gap, padding, showRefresh, lastRefresh, isRefreshing, onRefresh, loading, error, stackProps } = param;\n var _knobProps_gap, _knobProps_panelPadding;\n var { knobProps } = (0, import_theme.useResolvedKnobs)();\n var { t } = (0, import_react_i18next.useTranslation)();\n var collection = (0, import_frappe.useFrappeCollection)(connectionConfig, dataSource.doctype, {\n fields: dataSource.fields,\n filters: dataSource.filters\n });\n var { data: rawData, isLoading: isLiveLoading, isError } = (0, import_frappe.useLiveQuery)(function(q) {\n return collection ? q.from({\n _list: collection\n }) : null;\n }, [\n collection\n ]);\n var liveData = (0, import_react2.useMemo)(function() {\n return rawData !== null && rawData !== void 0 ? rawData : [];\n }, [\n rawData\n ]);\n var [isLiveStale, setIsLiveStale] = (0, import_react2.useState)(false);\n var [dataUpdatedAt, setDataUpdatedAt] = (0, import_react2.useState)(void 0);\n var staleTimerRef = (0, import_react2.useRef)(void 0);\n var clearStaleTimer = (0, import_react2.useCallback)(function() {\n if (staleTimerRef.current) {\n clearTimeout(staleTimerRef.current);\n staleTimerRef.current = void 0;\n }\n }, []);\n (0, import_frappe.useFrappeDoctypeEvents)(connectionConfig, dataSource.doctype, function(event) {\n if (event.type !== \"doc_update\" && event.type !== \"list_update\" && event.type !== \"doc_deleted\" && event.type !== \"doc_changed\") {\n return;\n }\n setIsLiveStale(true);\n clearStaleTimer();\n staleTimerRef.current = setTimeout(function() {\n return setIsLiveStale(false);\n }, 2500);\n });\n var isFirstData = (0, import_react2.useRef)(true);\n (0, import_react2.useEffect)(function() {\n if (isFirstData.current) {\n isFirstData.current = false;\n return;\n }\n setDataUpdatedAt(/* @__PURE__ */ new Date());\n setIsLiveStale(false);\n clearStaleTimer();\n }, [\n liveData,\n clearStaleTimer\n ]);\n (0, import_react2.useEffect)(function() {\n return clearStaleTimer;\n }, [\n clearStaleTimer\n ]);\n var widgets = (0, import_react2.useMemo)(function() {\n if (transformData && liveData.length > 0) {\n return transformData(liveData);\n }\n return staticWidgets;\n }, [\n transformData,\n liveData,\n staticWidgets\n ]);\n if (isLiveLoading && liveData.length === 0) {\n if (loading) return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_jsx_runtime.Fragment, {\n children: loading\n });\n return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_tamagui.YStack, {\n ...knobProps.panelPadding,\n alignItems: \"center\",\n ...stackProps,\n children: [\n /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_forms.Spinner, {\n size: \"large\"\n }),\n /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_tamagui.Text, {\n color: knobProps.textAccentColor,\n marginTop: \"$2\",\n ...knobProps.body,\n children: t(\"Loading dashboard...\")\n })\n ]\n });\n }\n if (isError) {\n var err = new Error(t(\"Failed to load dashboard data\"));\n if (error) return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_jsx_runtime.Fragment, {\n children: error(err)\n });\n return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_tamagui.YStack, {\n ...knobProps.panelPadding,\n alignItems: \"center\",\n ...stackProps,\n ...knobProps.gap,\n children: [\n /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_tamagui.Text, {\n color: import_forms.formCommonColors.error,\n children: t(\"Failed to load dashboard\")\n }),\n /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_tamagui.Text, {\n color: knobProps.textAccentColor,\n ...knobProps.body,\n children: err.message\n })\n ]\n });\n }\n return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_tamagui.YStack, {\n ...knobProps.containerRadius,\n flex: 1,\n ...stackProps,\n children: [\n (title || showRefresh) && /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_tamagui.XStack, {\n ...knobProps.panelPadding,\n justifyContent: \"space-between\",\n alignItems: \"center\",\n paddingBottom: 0,\n children: [\n title ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_tamagui.H3, {\n ...knobProps.heading,\n children: title\n }) : /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_tamagui.YStack, {\n flex: 1\n }),\n showRefresh && /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_tamagui.XStack, {\n ...knobProps.gap,\n alignItems: \"center\",\n children: [\n isLiveStale && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_forms.Spinner, {\n size: \"small\",\n \"aria-label\": t(\"Updating\")\n }),\n /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_tamagui.Text, {\n color: knobProps.textAccentColor,\n ...knobProps.label,\n children: t(\"Last updated: {{time}}\", {\n time: (0, import_theme.formatTimeOfDay)(dataUpdatedAt !== null && dataUpdatedAt !== void 0 ? dataUpdatedAt : lastRefresh)\n })\n }),\n /* LC-54 (amendment 2026-08-13): house Button, own-box floor —\n the raw tamagui Button + grown transparent target painted\n its hover fill across the escaped 44px floor. `circular`\n makes the painted box ITSELF the 44×44 control (box-is-\n control mechanism), so feedback stays inside its own slot.\n `loading` (not bare `disabled`) is the derived busy state. */\n /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_forms.Button, {\n size: \"$2\",\n circular: true,\n icon: import_react.ArrowsClockwiseIcon,\n onPress: onRefresh,\n loading: isRefreshing || isLiveLoading,\n chromeless: true,\n \"aria-label\": t(\"Refresh\")\n })\n ]\n })\n ]\n }),\n /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_components.Dashboard, {\n widgets,\n description,\n columns,\n gap: typeof ((_knobProps_gap = knobProps.gap) === null || _knobProps_gap === void 0 ? void 0 : _knobProps_gap.gap) === \"number\" ? knobProps.gap.gap : gap,\n padding: typeof ((_knobProps_panelPadding = knobProps.panelPadding) === null || _knobProps_panelPadding === void 0 ? void 0 : _knobProps_panelPadding.padding) === \"number\" ? knobProps.panelPadding.padding : padding\n })\n ]\n });\n}\nfunction FrappeDashboard(param) {\n var { baseURL, auth, syncOptions, title, description, widgets: staticWidgets, dataSource, transformData, columns = 4, gap = 16, padding = 16, autoRefresh = false, refreshInterval = 60, loading, error, ...stackProps } = param;\n var config = (0, import_FrappeProvider.useFrappeConfig)();\n var { knobProps } = (0, import_theme.useResolvedKnobs)();\n var { t } = (0, import_react_i18next.useTranslation)();\n var finalBaseURL = baseURL !== null && baseURL !== void 0 ? baseURL : config === null || config === void 0 ? void 0 : config.baseURL;\n var finalAuth = auth !== null && auth !== void 0 ? auth : config === null || config === void 0 ? void 0 : config.auth;\n var finalSyncOptions = syncOptions !== null && syncOptions !== void 0 ? syncOptions : config === null || config === void 0 ? void 0 : config.syncOptions;\n var [lastRefresh, setLastRefresh] = (0, import_react2.useState)(/* @__PURE__ */ new Date());\n var [isRefreshing, setIsRefreshing] = (0, import_react2.useState)(false);\n var [refreshKey, setRefreshKey] = (0, import_react2.useState)(0);\n var connectionConfig = finalBaseURL && (dataSource === null || dataSource === void 0 ? void 0 : dataSource.doctype) ? {\n baseURL: finalBaseURL,\n socketPort: config === null || config === void 0 ? void 0 : config.socketPort,\n siteName: config === null || config === void 0 ? void 0 : config.siteName,\n socketBaseURL: config === null || config === void 0 ? void 0 : config.socketBaseURL,\n auth: finalAuth,\n syncOptions: finalSyncOptions,\n realtime: config === null || config === void 0 ? void 0 : config.realtime,\n fixtures: config === null || config === void 0 ? void 0 : config.fixtures\n } : void 0;\n var bumpRefresh = (0, import_react2.useCallback)(function() {\n setIsRefreshing(true);\n setLastRefresh(/* @__PURE__ */ new Date());\n setRefreshKey(function(k) {\n return k + 1;\n });\n setTimeout(function() {\n return setIsRefreshing(false);\n }, 500);\n }, []);\n (0, import_react2.useEffect)(function() {\n if (!autoRefresh || refreshInterval <= 0 || !dataSource) return;\n var interval = setInterval(function() {\n bumpRefresh();\n }, refreshInterval * 1e3);\n return function() {\n return clearInterval(interval);\n };\n }, [\n autoRefresh,\n refreshInterval,\n dataSource,\n bumpRefresh\n ]);\n if (!dataSource || !connectionConfig) {\n var _knobProps_gap, _knobProps_panelPadding;\n return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_tamagui.YStack, {\n ...knobProps.containerRadius,\n flex: 1,\n ...stackProps,\n children: [\n (title || autoRefresh) && /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_tamagui.XStack, {\n ...knobProps.panelPadding,\n justifyContent: \"space-between\",\n alignItems: \"center\",\n paddingBottom: 0,\n children: [\n title ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_tamagui.H3, {\n ...knobProps.heading,\n children: title\n }) : /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_tamagui.YStack, {\n flex: 1\n }),\n /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_tamagui.XStack, {\n ...knobProps.gap,\n alignItems: \"center\",\n children: [\n autoRefresh && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_tamagui.Text, {\n color: knobProps.textAccentColor,\n ...knobProps.label,\n children: t(\"Last updated: {{time}}\", {\n time: (0, import_theme.formatTimeOfDay)(lastRefresh)\n })\n }),\n /* LC-54: house Button, own-box floor (see the live-path refresh). */\n /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_forms.Button, {\n size: \"$2\",\n circular: true,\n icon: import_react.ArrowsClockwiseIcon,\n onPress: bumpRefresh,\n loading: isRefreshing,\n chromeless: true,\n \"aria-label\": t(\"Refresh\")\n })\n ]\n })\n ]\n }),\n /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_components.Dashboard, {\n widgets: staticWidgets,\n description,\n columns,\n gap: typeof ((_knobProps_gap = knobProps.gap) === null || _knobProps_gap === void 0 ? void 0 : _knobProps_gap.gap) === \"number\" ? knobProps.gap.gap : gap,\n padding: typeof ((_knobProps_panelPadding = knobProps.panelPadding) === null || _knobProps_panelPadding === void 0 ? void 0 : _knobProps_panelPadding.padding) === \"number\" ? knobProps.panelPadding.padding : padding\n })\n ]\n });\n }\n var Content = LiveDashboardContent;\n return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Content, {\n connectionConfig,\n dataSource,\n transformData,\n staticWidgets,\n title,\n description,\n columns,\n gap,\n padding,\n showRefresh: true,\n lastRefresh,\n isRefreshing,\n onRefresh: bumpRefresh,\n loading,\n error,\n stackProps\n }, refreshKey);\n}\n//# sourceMappingURL=FrappeDashboard.js.map\n"],"mappings":"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","ignoreList":[]}
@@ -201,8 +201,9 @@ function FrappeForm({
201
201
  socketBaseURL: config?.socketBaseURL,
202
202
  auth: finalAuth,
203
203
  syncOptions: finalSyncOptions,
204
+ realtime: config?.realtime,
204
205
  fixtures: config?.fixtures
205
- }), [finalBaseURL, config?.socketPort, config?.siteName, config?.socketBaseURL, finalAuth, finalSyncOptions, config?.fixtures]);
206
+ }), [finalBaseURL, config?.socketPort, config?.siteName, config?.socketBaseURL, config?.realtime, finalAuth, finalSyncOptions, config?.fixtures]);
206
207
  const {
207
208
  meta,
208
209
  isLoading: isMetaLoading,
@@ -218,9 +218,10 @@ function FrappeForm(param) {
218
218
  socketBaseURL: config === null || config === void 0 ? void 0 : config.socketBaseURL,
219
219
  auth: finalAuth,
220
220
  syncOptions: finalSyncOptions,
221
+ realtime: config === null || config === void 0 ? void 0 : config.realtime,
221
222
  fixtures: config === null || config === void 0 ? void 0 : config.fixtures
222
223
  };
223
- }, [finalBaseURL, config === null || config === void 0 ? void 0 : config.socketPort, config === null || config === void 0 ? void 0 : config.siteName, config === null || config === void 0 ? void 0 : config.socketBaseURL, finalAuth, finalSyncOptions, config === null || config === void 0 ? void 0 : config.fixtures]);
224
+ }, [finalBaseURL, config === null || config === void 0 ? void 0 : config.socketPort, config === null || config === void 0 ? void 0 : config.siteName, config === null || config === void 0 ? void 0 : config.socketBaseURL, config === null || config === void 0 ? void 0 : config.realtime, finalAuth, finalSyncOptions, config === null || config === void 0 ? void 0 : config.fixtures]);
224
225
  var {
225
226
  meta,
226
227
  isLoading: isMetaLoading,
@@ -1 +1 @@
1
- {"version":3,"names":["__defProp","Object","defineProperty","__getOwnPropDesc","getOwnPropertyDescriptor","__getOwnPropNames","getOwnPropertyNames","__hasOwnProp","prototype","hasOwnProperty","__export","target","all","name","get","enumerable","__copyProps","to","from","except","desc","key","call","__toCommonJS","mod","value","FrappeForm_exports","FrappeForm","buildSidebarSections","mapDocToSidebarMetadata","resolveFileUrl","module","exports","import_jsx_runtime","require","import_frappe","import_components","import_schemaForm","import_FormSidebar","import_db","import_react","import_react2","import_react_i18next","import_forms","import_tamagui","import_theme","import_FrappeProvider","import_FrappeReconnectIndicator","import_timeline","import_desktop","LAYOUT_FIELDTYPES","Set","isEmptyFieldValue","trim","Array","isArray","length","mapFieldToGenericSchema","field","type","fieldtype","fieldname","label","options","required","reqd","hidden","readOnly","read_only","precision","depends_on","in_list_view","in_standard_filter","mapMetaToFormSchema","meta","sectionOverrides","sections","genericSections","map","section","collapsible","columns","col","fields","allFields","baseURL","startsWith","replace","doc","shares","t","assignments","assignees","row","allocated_to","filter","user","Boolean","_assign","JSON","parse","unused","push","title","items","email","id","emptyText","share","_share_user","everyone","sublabel","write","read","metadata","owner","modified_by","creation","date","param","auth","syncOptions","doctype","children","overrides","hideFields","readOnlyFields","order","onSave","onCancel","onDelete","showToolbar","showSidebar","showTimeline","disabled","sectionHeadingLevel","config","useFrappeConfig","knobProps","useResolvedKnobs","useTranslation","localDoc","setLocalDoc","useState","baselineDoc","setBaselineDoc","conflictFields","setConflictFields","wasDeleted","setWasDeleted","isSubmitting","setIsSubmitting","errors","setErrors","everLoadedRef","useRef","localDocRef","current","baselineRef","finalBaseURL","finalAuth","finalSyncOptions","Error","frappeConfig","useMemo","socketPort","siteName","socketBaseURL","fixtures","isLoading","isMetaLoading","error","metaError","useDocTypeMeta","formSchema","hideFieldSet","docCollection","useFrappeCollection","filters","data","rawDocData","isDocLoading","useLiveQuery","q","_doc","where","param2","eq","liveDoc","_arr_","arr","collection","shareCollection","share_doctype","share_name","rawShareRows","_share","shareRows","assignmentCollection","reference_type","reference_name","status","rawAssignmentRows","_assignment","assignmentRows","useEffect","useFrappeDoctypeEvents","event","payload","incoming","baseline","local","merged","newConflicts","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_iterator","keys","Symbol","iterator","_step","next","done","localValue","remote","err","return","prev","dirtyFieldNames","base","dirty","hasUnsavedChanges","setValue","setValue2","newErrors","String","validateRequiredFields","validateRequiredFields2","validationErrors","has","handleSave","handleSave2","requiredErrors","changedFields","tx","update","draft","_iteratorNormalCompletion2","_didIteratorError2","_iteratorError2","_iterator2","_step2","isPersisted","promise","_localDoc_name","docToInsert","Date","now","tx1","insert","err1","e","exc_type","_server_messages","messages","msg","parsed","message","general","handleCancel","handleCancel2","handleDelete","handleDelete2","dialog","confirm","delete","jsx","YStack","panelPadding","testID","AsyncSkeleton","layout","jsxs","alignItems","gap","Text","color","formCommonColors","body","muted","effectiveDisabled","imageFieldName","image_field","sidebarImageUrl","conflictLabels","find","metaField","join","gapLg","flexGrow","flexShrink","flexBasis","FrappeReconnectIndicator","XStack","role","containerRadius","backgroundColor","FormSidebar","imageUrl","flex","SchemaForm","schema","setValue1","justifyContent","paddingTop","marginInlineEnd","Button","outlined","icon","TrashIcon","loading","disabledReason","disabledReasonPlacement","onPress","XIcon","accent","FloppyDiskIcon","Timeline","docname"],"sources":["FrappeForm.native.js"],"sourcesContent":["\"use strict\";\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\nvar FrappeForm_exports = {};\n__export(FrappeForm_exports, {\n FrappeForm: () => FrappeForm,\n buildSidebarSections: () => buildSidebarSections,\n mapDocToSidebarMetadata: () => mapDocToSidebarMetadata,\n resolveFileUrl: () => resolveFileUrl\n});\nmodule.exports = __toCommonJS(FrappeForm_exports);\nvar import_jsx_runtime = require(\"react/jsx-runtime\");\nvar import_frappe = require(\"@multiplatform.one/frappe\");\nvar import_components = require(\"@multiplatform.one/components\");\nvar import_schemaForm = require(\"./schemaForm\");\nvar import_FormSidebar = require(\"./FormSidebar\");\nvar import_db = require(\"@tanstack/db\");\nvar import_react = require(\"@phosphor-icons/react\");\nvar import_react2 = require(\"react\");\nvar import_react_i18next = require(\"react-i18next\");\nvar import_forms = require(\"@multiplatform.one/forms\");\nvar import_tamagui = require(\"tamagui\");\nvar import_theme = require(\"@multiplatform.one/theme\");\nvar import_FrappeProvider = require(\"./FrappeProvider\");\nvar import_FrappeReconnectIndicator = require(\"./FrappeReconnectIndicator\");\nvar import_timeline = require(\"./components/timeline\");\nvar import_desktop = require(\"@multiplatform.one/desktop\");\nvar LAYOUT_FIELDTYPES = /* @__PURE__ */ new Set([\n \"Section Break\",\n \"Column Break\",\n \"Tab Break\"\n]);\nfunction isEmptyFieldValue(value) {\n if (value === void 0 || value === null) return true;\n if (typeof value === \"string\" && value.trim() === \"\") return true;\n if (Array.isArray(value) && value.length === 0) return true;\n return false;\n}\nfunction mapFieldToGenericSchema(field) {\n return {\n type: field.fieldtype,\n name: field.fieldname,\n label: field.label,\n options: field.options,\n required: !!field.reqd,\n hidden: !!field.hidden,\n readOnly: !!field.read_only,\n precision: field.precision,\n depends_on: field.depends_on,\n // Pass through additional Frappe-specific metadata\n fieldtype: field.fieldtype,\n fieldname: field.fieldname,\n in_list_view: field.in_list_view,\n in_standard_filter: field.in_standard_filter\n };\n}\nfunction mapMetaToFormSchema(meta, sectionOverrides) {\n var sections = sectionOverrides !== null && sectionOverrides !== void 0 ? sectionOverrides : meta.sections;\n var genericSections = sections.map(function(section) {\n return {\n label: section.label,\n collapsible: section.collapsible,\n columns: section.columns.map(function(col) {\n return {\n fields: col.fields.map(mapFieldToGenericSchema)\n };\n })\n };\n });\n var allFields = meta.fields.map(mapFieldToGenericSchema);\n return {\n sections: genericSections,\n fields: allFields\n };\n}\nfunction resolveFileUrl(value, baseURL) {\n if (!value || typeof value !== \"string\") return void 0;\n if (value.startsWith(\"http://\") || value.startsWith(\"https://\")) return value;\n if (value.startsWith(\"/\")) return `${baseURL.replace(/\\/$/, \"\")}${value}`;\n return value;\n}\nfunction buildSidebarSections(doc, shares, t, assignments) {\n var sections = [];\n var assignees = [];\n if (assignments) {\n assignees = assignments.map(function(row) {\n return row.allocated_to;\n }).filter(function(user) {\n return Boolean(user);\n });\n } else if (doc._assign && typeof doc._assign === \"string\") {\n try {\n assignees = JSON.parse(doc._assign || \"[]\");\n } catch (unused) {\n }\n }\n sections.push({\n key: \"assignments\",\n title: t(\"Assigned To\"),\n items: assignees.map(function(email) {\n return {\n id: email,\n label: email\n };\n }),\n emptyText: t(\"No one assigned\")\n });\n if (shares) {\n sections.push({\n key: \"shares\",\n title: t(\"Shared With\"),\n items: shares.map(function(share) {\n var _share_user;\n return {\n id: share.name,\n label: share.everyone ? t(\"Everyone\") : (_share_user = share.user) !== null && _share_user !== void 0 ? _share_user : share.name,\n sublabel: share.write ? t(\"Can edit\") : share.read ? t(\"Can view\") : void 0\n };\n }),\n emptyText: t(\"Not shared\")\n });\n }\n return sections;\n}\nfunction mapDocToSidebarMetadata(doc, t) {\n var metadata = [];\n if (doc.owner) {\n metadata.push({\n label: t(\"Created by {{user}}\", {\n user: doc.owner\n })\n });\n }\n if (doc.modified_by) {\n metadata.push({\n label: t(\"Modified by {{user}}\", {\n user: doc.modified_by\n })\n });\n }\n if (doc.creation) {\n metadata.push({\n label: t(\"Created on {{date}}\", {\n date: doc.creation\n })\n });\n }\n return metadata;\n}\nfunction FrappeForm(param) {\n var { baseURL, auth, syncOptions, doctype, name, fields, children, overrides, hideFields, readOnlyFields, sections, order, onSave, onCancel, onDelete, showToolbar = true, showSidebar = true, showTimeline = true, disabled = false, sectionHeadingLevel } = param;\n var config = (0, import_FrappeProvider.useFrappeConfig)();\n var { knobProps } = (0, import_theme.useResolvedKnobs)();\n var { t } = (0, import_react_i18next.useTranslation)();\n var [localDoc, setLocalDoc] = (0, import_react2.useState)({});\n var [baselineDoc, setBaselineDoc] = (0, import_react2.useState)(void 0);\n var [conflictFields, setConflictFields] = (0, import_react2.useState)([]);\n var [wasDeleted, setWasDeleted] = (0, import_react2.useState)(false);\n var [isSubmitting, setIsSubmitting] = (0, import_react2.useState)(false);\n var [errors, setErrors] = (0, import_react2.useState)({});\n var everLoadedRef = (0, import_react2.useRef)(false);\n var localDocRef = (0, import_react2.useRef)(localDoc);\n localDocRef.current = localDoc;\n var baselineRef = (0, import_react2.useRef)(baselineDoc);\n baselineRef.current = baselineDoc;\n var finalBaseURL = baseURL !== null && baseURL !== void 0 ? baseURL : config === null || config === void 0 ? void 0 : config.baseURL;\n var finalAuth = auth !== null && auth !== void 0 ? auth : config === null || config === void 0 ? void 0 : config.auth;\n var finalSyncOptions = syncOptions !== null && syncOptions !== void 0 ? syncOptions : config === null || config === void 0 ? void 0 : config.syncOptions;\n if (!finalBaseURL) {\n throw new Error(\"FrappeForm requires baseURL prop or FrappeProvider with baseURL\");\n }\n var frappeConfig = (0, import_react2.useMemo)(function() {\n return {\n baseURL: finalBaseURL,\n socketPort: config === null || config === void 0 ? void 0 : config.socketPort,\n siteName: config === null || config === void 0 ? void 0 : config.siteName,\n socketBaseURL: config === null || config === void 0 ? void 0 : config.socketBaseURL,\n auth: finalAuth,\n syncOptions: finalSyncOptions,\n fixtures: config === null || config === void 0 ? void 0 : config.fixtures\n };\n }, [\n finalBaseURL,\n config === null || config === void 0 ? void 0 : config.socketPort,\n config === null || config === void 0 ? void 0 : config.siteName,\n config === null || config === void 0 ? void 0 : config.socketBaseURL,\n finalAuth,\n finalSyncOptions,\n config === null || config === void 0 ? void 0 : config.fixtures\n ]);\n var { meta, isLoading: isMetaLoading, error: metaError } = (0, import_frappe.useDocTypeMeta)(frappeConfig, doctype);\n var formSchema = (0, import_react2.useMemo)(function() {\n if (!meta) return void 0;\n return mapMetaToFormSchema(meta, sections);\n }, [\n meta,\n sections\n ]);\n var hideFieldSet = (0, import_react2.useMemo)(function() {\n return new Set(hideFields !== null && hideFields !== void 0 ? hideFields : []);\n }, [\n hideFields\n ]);\n var docCollection = (0, import_frappe.useFrappeCollection)(name ? frappeConfig : void 0, doctype, {\n fields,\n filters: name ? {\n name\n } : void 0\n });\n var { data: rawDocData, isLoading: isDocLoading } = (0, import_frappe.useLiveQuery)(function(q) {\n if (!docCollection || !name) return null;\n return q.from({\n _doc: docCollection\n }).where(function(param2) {\n var { _doc } = param2;\n if (!_doc) return (0, import_db.eq)(name, name);\n return (0, import_db.eq)(_doc.name, name);\n });\n }, [\n docCollection,\n name\n ]);\n var liveDoc = (0, import_react2.useMemo)(function() {\n var _arr_;\n var arr = Array.isArray(rawDocData) ? rawDocData : rawDocData ? [\n rawDocData\n ] : [];\n var doc = (_arr_ = arr[0]) !== null && _arr_ !== void 0 ? _arr_ : null;\n return doc ? {\n data: doc,\n isLoading: isDocLoading\n } : name ? {\n data: null,\n isLoading: isDocLoading\n } : null;\n }, [\n rawDocData,\n isDocLoading,\n name\n ]);\n var collection = (0, import_frappe.useFrappeCollection)(name ? void 0 : frappeConfig, doctype, {\n fields\n });\n var shareCollection = (0, import_frappe.useFrappeCollection)(showSidebar && name ? frappeConfig : void 0, \"DocShare\", {\n fields: [\n \"name\",\n \"user\",\n \"everyone\",\n \"read\",\n \"write\",\n \"share\"\n ],\n filters: {\n share_doctype: doctype,\n share_name: name\n }\n });\n var { data: rawShareRows } = (0, import_frappe.useLiveQuery)(function(q) {\n return shareCollection ? q.from({\n _share: shareCollection\n }) : null;\n }, [\n shareCollection\n ]);\n var shareRows = (0, import_react2.useMemo)(function() {\n return shareCollection ? rawShareRows !== null && rawShareRows !== void 0 ? rawShareRows : [] : void 0;\n }, [\n shareCollection,\n rawShareRows\n ]);\n var assignmentCollection = (0, import_frappe.useFrappeCollection)(showSidebar && name && !frappeConfig.fixtures ? frappeConfig : void 0, \"ToDo\", {\n fields: [\n \"name\",\n \"allocated_to\",\n \"status\",\n \"reference_type\",\n \"reference_name\"\n ],\n filters: {\n reference_type: doctype,\n reference_name: name,\n status: \"Open\"\n }\n });\n var { data: rawAssignmentRows } = (0, import_frappe.useLiveQuery)(function(q) {\n return assignmentCollection ? q.from({\n _assignment: assignmentCollection\n }) : null;\n }, [\n assignmentCollection\n ]);\n var assignmentRows = (0, import_react2.useMemo)(function() {\n return assignmentCollection ? rawAssignmentRows !== null && rawAssignmentRows !== void 0 ? rawAssignmentRows : [] : void 0;\n }, [\n assignmentCollection,\n rawAssignmentRows\n ]);\n (0, import_react2.useEffect)(function() {\n everLoadedRef.current = false;\n setWasDeleted(false);\n setConflictFields([]);\n setBaselineDoc(void 0);\n }, [\n doctype,\n name\n ]);\n (0, import_frappe.useFrappeDoctypeEvents)(name ? frappeConfig : void 0, doctype, function(event) {\n if (event.type !== \"doc_deleted\") return;\n var payload = event.payload;\n if ((payload === null || payload === void 0 ? void 0 : payload.name) === name) setWasDeleted(true);\n }, Boolean(name));\n (0, import_react2.useEffect)(function() {\n var incoming = liveDoc === null || liveDoc === void 0 ? void 0 : liveDoc.data;\n if (incoming) {\n everLoadedRef.current = true;\n setWasDeleted(false);\n var baseline = baselineRef.current;\n if (!baseline) {\n setBaselineDoc(incoming);\n setLocalDoc(incoming);\n return;\n }\n var local = localDocRef.current;\n var merged = {\n ...incoming\n };\n var newConflicts = [];\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;\n try {\n for (var _iterator = Object.keys(local)[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var key = _step.value;\n var localValue = local[key];\n if (localValue === baseline[key]) continue;\n merged[key] = localValue;\n var remote = incoming[key];\n if (remote !== baseline[key] && remote !== localValue) newConflicts.push(key);\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return != null) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n setBaselineDoc(incoming);\n setLocalDoc(merged);\n if (newConflicts.length > 0) {\n setConflictFields(function(prev) {\n return Array.from(/* @__PURE__ */ new Set([\n ...prev,\n ...newConflicts\n ]));\n });\n }\n } else if (name && everLoadedRef.current && !(liveDoc === null || liveDoc === void 0 ? void 0 : liveDoc.isLoading)) {\n setWasDeleted(true);\n } else if (!name) {\n setLocalDoc({\n doctype\n });\n }\n }, [\n liveDoc === null || liveDoc === void 0 ? void 0 : liveDoc.data,\n liveDoc === null || liveDoc === void 0 ? void 0 : liveDoc.isLoading,\n doctype,\n name\n ]);\n var dirtyFieldNames = (0, import_react2.useMemo)(function() {\n var local = localDoc;\n var base = baselineDoc;\n var dirty = [];\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;\n try {\n for (var _iterator = Object.keys(local)[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var key = _step.value;\n if (key === \"doctype\" || key === \"name\") continue;\n if (base ? local[key] !== base[key] : local[key] !== void 0) dirty.push(key);\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return != null) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n return dirty;\n }, [\n localDoc,\n baselineDoc\n ]);\n var hasUnsavedChanges = dirtyFieldNames.length > 0;\n var setValue = function setValue2(field, value) {\n setLocalDoc(function(prev) {\n return {\n ...prev,\n [field]: value\n };\n });\n setErrors(function(prev) {\n var newErrors = {\n ...prev\n };\n delete newErrors[String(field)];\n return newErrors;\n });\n };\n var validateRequiredFields = function validateRequiredFields2() {\n if (!meta) return {};\n var validationErrors = {};\n var doc = localDoc;\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;\n try {\n for (var _iterator = meta.fields[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var field = _step.value;\n if (!field.reqd) continue;\n if (field.hidden || LAYOUT_FIELDTYPES.has(field.fieldtype)) continue;\n if (hideFieldSet.has(field.fieldname)) continue;\n if (isEmptyFieldValue(doc[field.fieldname])) {\n validationErrors[field.fieldname] = t(\"{{label}} is required\", {\n label: field.label || field.fieldname\n });\n }\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return != null) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n return validationErrors;\n };\n var handleSave = async function handleSave2() {\n if (wasDeleted) return;\n var requiredErrors = validateRequiredFields();\n if (Object.keys(requiredErrors).length > 0) {\n setErrors(requiredErrors);\n return;\n }\n setIsSubmitting(true);\n setErrors({});\n try {\n if (name) {\n if (!docCollection) return;\n var changedFields = dirtyFieldNames;\n if (changedFields.length > 0) {\n var local = localDoc;\n var tx = docCollection.update(name, function(draft) {\n var _iteratorNormalCompletion2 = true, _didIteratorError2 = false, _iteratorError2 = void 0;\n try {\n for (var _iterator2 = changedFields[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) {\n var key = _step2.value;\n draft[key] = local[key];\n }\n } catch (err) {\n _didIteratorError2 = true;\n _iteratorError2 = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion2 && _iterator2.return != null) {\n _iterator2.return();\n }\n } finally {\n if (_didIteratorError2) {\n throw _iteratorError2;\n }\n }\n }\n });\n await tx.isPersisted.promise;\n }\n setConflictFields([]);\n } else {\n var _localDoc_name;\n if (!collection) return;\n var docToInsert = {\n ...localDoc,\n doctype,\n name: (_localDoc_name = localDoc.name) !== null && _localDoc_name !== void 0 ? _localDoc_name : `new-${Date.now()}`\n };\n var tx1 = collection.insert(docToInsert);\n await tx1.isPersisted.promise;\n }\n onSave === null || onSave === void 0 ? void 0 : onSave(localDoc);\n } catch (err1) {\n var e = err1;\n if ((e === null || e === void 0 ? void 0 : e.exc_type) === \"ValidationError\") {\n var validationErrors = {};\n if (e._server_messages) {\n try {\n var messages = JSON.parse(e._server_messages);\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;\n try {\n for (var _iterator = messages[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var msg = _step.value;\n var parsed = typeof msg === \"string\" ? JSON.parse(msg) : msg;\n if (parsed.message) {\n validationErrors.general = parsed.message;\n }\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return != null) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n } catch (unused) {\n validationErrors.general = t(\"Validation error occurred\");\n }\n }\n setErrors(validationErrors);\n } else {\n setErrors({\n general: (e === null || e === void 0 ? void 0 : e.message) || t(\"Failed to save document\")\n });\n }\n } finally {\n setIsSubmitting(false);\n }\n };\n var handleCancel = function handleCancel2() {\n if (baselineDoc) {\n setLocalDoc(baselineDoc);\n } else if (liveDoc === null || liveDoc === void 0 ? void 0 : liveDoc.data) {\n setLocalDoc(liveDoc.data);\n } else {\n setLocalDoc({\n doctype\n });\n }\n setConflictFields([]);\n setErrors({});\n onCancel === null || onCancel === void 0 ? void 0 : onCancel();\n };\n var handleDelete = async function handleDelete2() {\n if (!docCollection || !name || wasDeleted) return;\n if (!await import_desktop.dialog.confirm(t(\"Delete this {{doctype}}?\", {\n doctype\n }))) return;\n setIsSubmitting(true);\n setErrors({});\n try {\n var tx = docCollection.delete(name);\n await tx.isPersisted.promise;\n onDelete === null || onDelete === void 0 ? void 0 : onDelete(localDoc);\n } catch (err) {\n setErrors({\n general: (err === null || err === void 0 ? void 0 : err.message) || t(\"Failed to delete\")\n });\n } finally {\n setIsSubmitting(false);\n }\n };\n if (!children && isMetaLoading && !meta) {\n return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_tamagui.YStack, {\n ...knobProps.panelPadding,\n testID: \"frappe-form-skeleton\",\n children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_components.AsyncSkeleton, {\n layout: \"generic\"\n })\n });\n }\n if (!children && metaError && !meta) {\n return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_tamagui.YStack, {\n ...knobProps.panelPadding,\n alignItems: \"center\",\n ...knobProps.gap,\n children: [\n /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_tamagui.Text, {\n color: import_forms.formCommonColors.error,\n ...knobProps.body,\n children: t(\"Failed to load {{doctype}} form\", {\n doctype\n })\n }),\n /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_tamagui.Text, {\n color: import_forms.formCommonColors.muted,\n ...knobProps.body,\n children: metaError.message\n })\n ]\n });\n }\n if (name && (liveDoc === null || liveDoc === void 0 ? void 0 : liveDoc.isLoading) && !wasDeleted) {\n return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_tamagui.YStack, {\n ...knobProps.panelPadding,\n testID: \"frappe-form-skeleton\",\n children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_components.AsyncSkeleton, {\n layout: \"generic\"\n })\n });\n }\n if (name && !(liveDoc === null || liveDoc === void 0 ? void 0 : liveDoc.isLoading) && !(liveDoc === null || liveDoc === void 0 ? void 0 : liveDoc.data) && !wasDeleted) {\n return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_tamagui.YStack, {\n ...knobProps.panelPadding,\n alignItems: \"center\",\n ...knobProps.gap,\n children: [\n /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_tamagui.Text, {\n color: import_forms.formCommonColors.error,\n ...knobProps.body,\n children: t(\"{{doctype}} not found\", {\n doctype\n })\n }),\n /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_tamagui.Text, {\n color: import_forms.formCommonColors.muted,\n ...knobProps.body,\n children: t(\"Document {{name}} does not exist or could not be loaded.\", {\n name\n })\n })\n ]\n });\n }\n var effectiveDisabled = disabled || wasDeleted;\n var imageFieldName = meta === null || meta === void 0 ? void 0 : meta.image_field;\n var sidebarImageUrl = imageFieldName ? resolveFileUrl(localDoc[imageFieldName], finalBaseURL) : void 0;\n var conflictLabels = conflictFields.map(function(fieldname) {\n var field = meta === null || meta === void 0 ? void 0 : meta.fields.find(function(metaField) {\n return metaField.fieldname === fieldname;\n });\n return (field === null || field === void 0 ? void 0 : field.label) || fieldname;\n }).join(\", \");\n return (\n // flexBasis auto (not the flex:1 shorthand's 0%): inside scroll-flow page\n // scaffolds (LC-29 templates) the parent is auto-height, and a 0% basis\n // collapses this stack to zero height on web — content then paints over\n // whatever follows. Bounded parents still fill (grow 1) exactly as before.\n /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_tamagui.YStack, {\n ...knobProps.gapLg,\n flexGrow: 1,\n flexShrink: 1,\n flexBasis: \"auto\",\n children: [\n /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_FrappeReconnectIndicator.FrappeReconnectIndicator, {\n config: frappeConfig\n }),\n wasDeleted && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_tamagui.XStack, {\n role: \"alert\",\n alignItems: \"center\",\n ...knobProps.containerRadius,\n ...knobProps.panelPadding,\n backgroundColor: \"$red3\",\n testID: \"frappe-form-deleted-banner\",\n children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_tamagui.Text, {\n color: import_forms.formCommonColors.error,\n ...knobProps.body,\n children: hasUnsavedChanges ? t(\"This {{doctype}} was deleted on the server. Fields are read-only and your unsaved edits can no longer be saved.\", {\n doctype\n }) : t(\"This {{doctype}} was deleted on the server. Fields are read-only.\", {\n doctype\n })\n })\n }),\n !wasDeleted && conflictFields.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_tamagui.XStack, {\n role: \"status\",\n alignItems: \"center\",\n ...knobProps.containerRadius,\n ...knobProps.panelPadding,\n backgroundColor: \"$orange3\",\n testID: \"frappe-form-conflict-banner\",\n children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_tamagui.Text, {\n color: \"$orange11\",\n ...knobProps.body,\n children: t(\"Changed elsewhere while you were editing: {{fields}}. Your edits are kept \\u2014 saving will overwrite the newer server values.\", {\n fields: conflictLabels\n })\n })\n }),\n /* flexBasis auto — see the root stack note (zero-height collapse in\n auto-height scroll flows would paint the Timeline over the form). */\n /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_tamagui.XStack, {\n flexGrow: 1,\n flexShrink: 1,\n flexBasis: \"auto\",\n ...knobProps.gapLg,\n children: [\n /* Sidebar (edit mode only) — assignments/shares/image are live */\n showSidebar && name && meta && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_FormSidebar.FormSidebar, {\n imageUrl: sidebarImageUrl,\n sections: buildSidebarSections(localDoc, shareRows, t, assignmentRows),\n metadata: mapDocToSidebarMetadata(localDoc, t)\n }),\n /* Form body */\n /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_tamagui.YStack, {\n flex: 1,\n ...knobProps.gapLg,\n children: [\n children ? (\n // Render-prop mode\n children({\n doc: localDoc,\n setValue,\n isSubmitting,\n errors,\n meta,\n disabled: effectiveDisabled\n })\n ) : formSchema ? (\n // Schema-driven mode using generic SchemaForm from @multiplatform.one/forms\n /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_schemaForm.SchemaForm, {\n schema: formSchema,\n doc: localDoc,\n setValue: function setValue1(field, value) {\n return setValue(field, value);\n },\n errors,\n disabled: effectiveDisabled,\n overrides,\n hideFields,\n readOnlyFields,\n sectionHeadingLevel,\n order\n })\n ) : (\n // Metadata unavailable (should be covered by metaError branch above)\n /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_tamagui.YStack, {\n ...knobProps.panelPadding,\n alignItems: \"center\",\n children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_tamagui.Text, {\n color: import_forms.formCommonColors.muted,\n ...knobProps.body,\n children: t(\"Form schema unavailable\")\n })\n })\n ),\n errors.general && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_tamagui.Text, {\n color: import_forms.formCommonColors.error,\n ...knobProps.body,\n children: errors.general\n }),\n showToolbar && /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_tamagui.XStack, {\n ...knobProps.gap,\n justifyContent: \"flex-end\",\n alignItems: \"center\",\n paddingTop: \"$3\",\n children: [\n hasUnsavedChanges && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_tamagui.Text, {\n color: \"$orange11\",\n marginInlineEnd: \"auto\",\n ...knobProps.body,\n children: t(\"Not Saved\")\n }),\n name && onDelete && !wasDeleted && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_forms.Button, {\n outlined: true,\n error: true,\n icon: import_react.TrashIcon,\n loading: isSubmitting,\n disabled: effectiveDisabled,\n disabledReason: t(\"Form is read-only\"),\n disabledReasonPlacement: \"inline\",\n onPress: handleDelete,\n children: t(\"Delete\")\n }),\n onCancel && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_forms.Button, {\n outlined: true,\n icon: import_react.XIcon,\n disabled: isSubmitting || disabled,\n disabledReason: t(\"Form is read-only\"),\n disabledReasonPlacement: \"inline\",\n onPress: handleCancel,\n children: t(\"Cancel\")\n }),\n /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_forms.Button, {\n accent: true,\n icon: import_react.FloppyDiskIcon,\n loading: isSubmitting,\n disabled: effectiveDisabled,\n disabledReason: t(\"Form is read-only\"),\n disabledReasonPlacement: \"inline\",\n onPress: handleSave,\n children: isSubmitting ? t(\"Saving...\") : t(\"Save\")\n })\n ]\n })\n ]\n })\n ]\n }),\n /* Timeline (edit mode only) — live Comment/Version via useFrappeCollection */\n showTimeline && name && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_timeline.Timeline, {\n doctype,\n docname: name,\n label: t(\"Activity\")\n })\n ]\n })\n );\n}\n//# sourceMappingURL=FrappeForm.js.map\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["__defProp","Object","defineProperty","__getOwnPropDesc","getOwnPropertyDescriptor","__getOwnPropNames","getOwnPropertyNames","__hasOwnProp","prototype","hasOwnProperty","__export","target","all","name","get","enumerable","__copyProps","to","from","except","desc","key","call","__toCommonJS","mod","value","FrappeForm_exports","FrappeForm","buildSidebarSections","mapDocToSidebarMetadata","resolveFileUrl","module","exports","import_jsx_runtime","require","import_frappe","import_components","import_schemaForm","import_FormSidebar","import_db","import_react","import_react2","import_react_i18next","import_forms","import_tamagui","import_theme","import_FrappeProvider","import_FrappeReconnectIndicator","import_timeline","import_desktop","LAYOUT_FIELDTYPES","Set","isEmptyFieldValue","trim","Array","isArray","length","mapFieldToGenericSchema","field","type","fieldtype","fieldname","label","options","required","reqd","hidden","readOnly","read_only","precision","depends_on","in_list_view","in_standard_filter","mapMetaToFormSchema","meta","sectionOverrides","sections","genericSections","map","section","collapsible","columns","col","fields","allFields","baseURL","startsWith","replace","doc","shares","t","assignments","assignees","row","allocated_to","filter","user","Boolean","_assign","JSON","parse","unused","push","title","items","email","id","emptyText","share","_share_user","everyone","sublabel","write","read","metadata","owner","modified_by","creation","date","param","auth","syncOptions","doctype","children","overrides","hideFields","readOnlyFields","order","onSave","onCancel","onDelete","showToolbar","showSidebar","showTimeline","disabled","sectionHeadingLevel","config","useFrappeConfig","knobProps","useResolvedKnobs","useTranslation","localDoc","setLocalDoc","useState","baselineDoc","setBaselineDoc","conflictFields","setConflictFields","wasDeleted","setWasDeleted","isSubmitting","setIsSubmitting","errors","setErrors","everLoadedRef","useRef","localDocRef","current","baselineRef","finalBaseURL","finalAuth","finalSyncOptions","Error","frappeConfig","useMemo","socketPort","siteName","socketBaseURL","realtime","fixtures","isLoading","isMetaLoading","error","metaError","useDocTypeMeta","formSchema","hideFieldSet","docCollection","useFrappeCollection","filters","data","rawDocData","isDocLoading","useLiveQuery","q","_doc","where","param2","eq","liveDoc","_arr_","arr","collection","shareCollection","share_doctype","share_name","rawShareRows","_share","shareRows","assignmentCollection","reference_type","reference_name","status","rawAssignmentRows","_assignment","assignmentRows","useEffect","useFrappeDoctypeEvents","event","payload","incoming","baseline","local","merged","newConflicts","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_iterator","keys","Symbol","iterator","_step","next","done","localValue","remote","err","return","prev","dirtyFieldNames","base","dirty","hasUnsavedChanges","setValue","setValue2","newErrors","String","validateRequiredFields","validateRequiredFields2","validationErrors","has","handleSave","handleSave2","requiredErrors","changedFields","tx","update","draft","_iteratorNormalCompletion2","_didIteratorError2","_iteratorError2","_iterator2","_step2","isPersisted","promise","_localDoc_name","docToInsert","Date","now","tx1","insert","err1","e","exc_type","_server_messages","messages","msg","parsed","message","general","handleCancel","handleCancel2","handleDelete","handleDelete2","dialog","confirm","delete","jsx","YStack","panelPadding","testID","AsyncSkeleton","layout","jsxs","alignItems","gap","Text","color","formCommonColors","body","muted","effectiveDisabled","imageFieldName","image_field","sidebarImageUrl","conflictLabels","find","metaField","join","gapLg","flexGrow","flexShrink","flexBasis","FrappeReconnectIndicator","XStack","role","containerRadius","backgroundColor","FormSidebar","imageUrl","flex","SchemaForm","schema","setValue1","justifyContent","paddingTop","marginInlineEnd","Button","outlined","icon","TrashIcon","loading","disabledReason","disabledReasonPlacement","onPress","XIcon","accent","FloppyDiskIcon","Timeline","docname"],"sources":["FrappeForm.native.js"],"sourcesContent":["\"use strict\";\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\nvar FrappeForm_exports = {};\n__export(FrappeForm_exports, {\n FrappeForm: () => FrappeForm,\n buildSidebarSections: () => buildSidebarSections,\n mapDocToSidebarMetadata: () => mapDocToSidebarMetadata,\n resolveFileUrl: () => resolveFileUrl\n});\nmodule.exports = __toCommonJS(FrappeForm_exports);\nvar import_jsx_runtime = require(\"react/jsx-runtime\");\nvar import_frappe = require(\"@multiplatform.one/frappe\");\nvar import_components = require(\"@multiplatform.one/components\");\nvar import_schemaForm = require(\"./schemaForm\");\nvar import_FormSidebar = require(\"./FormSidebar\");\nvar import_db = require(\"@tanstack/db\");\nvar import_react = require(\"@phosphor-icons/react\");\nvar import_react2 = require(\"react\");\nvar import_react_i18next = require(\"react-i18next\");\nvar import_forms = require(\"@multiplatform.one/forms\");\nvar import_tamagui = require(\"tamagui\");\nvar import_theme = require(\"@multiplatform.one/theme\");\nvar import_FrappeProvider = require(\"./FrappeProvider\");\nvar import_FrappeReconnectIndicator = require(\"./FrappeReconnectIndicator\");\nvar import_timeline = require(\"./components/timeline\");\nvar import_desktop = require(\"@multiplatform.one/desktop\");\nvar LAYOUT_FIELDTYPES = /* @__PURE__ */ new Set([\n \"Section Break\",\n \"Column Break\",\n \"Tab Break\"\n]);\nfunction isEmptyFieldValue(value) {\n if (value === void 0 || value === null) return true;\n if (typeof value === \"string\" && value.trim() === \"\") return true;\n if (Array.isArray(value) && value.length === 0) return true;\n return false;\n}\nfunction mapFieldToGenericSchema(field) {\n return {\n type: field.fieldtype,\n name: field.fieldname,\n label: field.label,\n options: field.options,\n required: !!field.reqd,\n hidden: !!field.hidden,\n readOnly: !!field.read_only,\n precision: field.precision,\n depends_on: field.depends_on,\n // Pass through additional Frappe-specific metadata\n fieldtype: field.fieldtype,\n fieldname: field.fieldname,\n in_list_view: field.in_list_view,\n in_standard_filter: field.in_standard_filter\n };\n}\nfunction mapMetaToFormSchema(meta, sectionOverrides) {\n var sections = sectionOverrides !== null && sectionOverrides !== void 0 ? sectionOverrides : meta.sections;\n var genericSections = sections.map(function(section) {\n return {\n label: section.label,\n collapsible: section.collapsible,\n columns: section.columns.map(function(col) {\n return {\n fields: col.fields.map(mapFieldToGenericSchema)\n };\n })\n };\n });\n var allFields = meta.fields.map(mapFieldToGenericSchema);\n return {\n sections: genericSections,\n fields: allFields\n };\n}\nfunction resolveFileUrl(value, baseURL) {\n if (!value || typeof value !== \"string\") return void 0;\n if (value.startsWith(\"http://\") || value.startsWith(\"https://\")) return value;\n if (value.startsWith(\"/\")) return `${baseURL.replace(/\\/$/, \"\")}${value}`;\n return value;\n}\nfunction buildSidebarSections(doc, shares, t, assignments) {\n var sections = [];\n var assignees = [];\n if (assignments) {\n assignees = assignments.map(function(row) {\n return row.allocated_to;\n }).filter(function(user) {\n return Boolean(user);\n });\n } else if (doc._assign && typeof doc._assign === \"string\") {\n try {\n assignees = JSON.parse(doc._assign || \"[]\");\n } catch (unused) {\n }\n }\n sections.push({\n key: \"assignments\",\n title: t(\"Assigned To\"),\n items: assignees.map(function(email) {\n return {\n id: email,\n label: email\n };\n }),\n emptyText: t(\"No one assigned\")\n });\n if (shares) {\n sections.push({\n key: \"shares\",\n title: t(\"Shared With\"),\n items: shares.map(function(share) {\n var _share_user;\n return {\n id: share.name,\n label: share.everyone ? t(\"Everyone\") : (_share_user = share.user) !== null && _share_user !== void 0 ? _share_user : share.name,\n sublabel: share.write ? t(\"Can edit\") : share.read ? t(\"Can view\") : void 0\n };\n }),\n emptyText: t(\"Not shared\")\n });\n }\n return sections;\n}\nfunction mapDocToSidebarMetadata(doc, t) {\n var metadata = [];\n if (doc.owner) {\n metadata.push({\n label: t(\"Created by {{user}}\", {\n user: doc.owner\n })\n });\n }\n if (doc.modified_by) {\n metadata.push({\n label: t(\"Modified by {{user}}\", {\n user: doc.modified_by\n })\n });\n }\n if (doc.creation) {\n metadata.push({\n label: t(\"Created on {{date}}\", {\n date: doc.creation\n })\n });\n }\n return metadata;\n}\nfunction FrappeForm(param) {\n var { baseURL, auth, syncOptions, doctype, name, fields, children, overrides, hideFields, readOnlyFields, sections, order, onSave, onCancel, onDelete, showToolbar = true, showSidebar = true, showTimeline = true, disabled = false, sectionHeadingLevel } = param;\n var config = (0, import_FrappeProvider.useFrappeConfig)();\n var { knobProps } = (0, import_theme.useResolvedKnobs)();\n var { t } = (0, import_react_i18next.useTranslation)();\n var [localDoc, setLocalDoc] = (0, import_react2.useState)({});\n var [baselineDoc, setBaselineDoc] = (0, import_react2.useState)(void 0);\n var [conflictFields, setConflictFields] = (0, import_react2.useState)([]);\n var [wasDeleted, setWasDeleted] = (0, import_react2.useState)(false);\n var [isSubmitting, setIsSubmitting] = (0, import_react2.useState)(false);\n var [errors, setErrors] = (0, import_react2.useState)({});\n var everLoadedRef = (0, import_react2.useRef)(false);\n var localDocRef = (0, import_react2.useRef)(localDoc);\n localDocRef.current = localDoc;\n var baselineRef = (0, import_react2.useRef)(baselineDoc);\n baselineRef.current = baselineDoc;\n var finalBaseURL = baseURL !== null && baseURL !== void 0 ? baseURL : config === null || config === void 0 ? void 0 : config.baseURL;\n var finalAuth = auth !== null && auth !== void 0 ? auth : config === null || config === void 0 ? void 0 : config.auth;\n var finalSyncOptions = syncOptions !== null && syncOptions !== void 0 ? syncOptions : config === null || config === void 0 ? void 0 : config.syncOptions;\n if (!finalBaseURL) {\n throw new Error(\"FrappeForm requires baseURL prop or FrappeProvider with baseURL\");\n }\n var frappeConfig = (0, import_react2.useMemo)(function() {\n return {\n baseURL: finalBaseURL,\n socketPort: config === null || config === void 0 ? void 0 : config.socketPort,\n siteName: config === null || config === void 0 ? void 0 : config.siteName,\n socketBaseURL: config === null || config === void 0 ? void 0 : config.socketBaseURL,\n auth: finalAuth,\n syncOptions: finalSyncOptions,\n realtime: config === null || config === void 0 ? void 0 : config.realtime,\n fixtures: config === null || config === void 0 ? void 0 : config.fixtures\n };\n }, [\n finalBaseURL,\n config === null || config === void 0 ? void 0 : config.socketPort,\n config === null || config === void 0 ? void 0 : config.siteName,\n config === null || config === void 0 ? void 0 : config.socketBaseURL,\n config === null || config === void 0 ? void 0 : config.realtime,\n finalAuth,\n finalSyncOptions,\n config === null || config === void 0 ? void 0 : config.fixtures\n ]);\n var { meta, isLoading: isMetaLoading, error: metaError } = (0, import_frappe.useDocTypeMeta)(frappeConfig, doctype);\n var formSchema = (0, import_react2.useMemo)(function() {\n if (!meta) return void 0;\n return mapMetaToFormSchema(meta, sections);\n }, [\n meta,\n sections\n ]);\n var hideFieldSet = (0, import_react2.useMemo)(function() {\n return new Set(hideFields !== null && hideFields !== void 0 ? hideFields : []);\n }, [\n hideFields\n ]);\n var docCollection = (0, import_frappe.useFrappeCollection)(name ? frappeConfig : void 0, doctype, {\n fields,\n filters: name ? {\n name\n } : void 0\n });\n var { data: rawDocData, isLoading: isDocLoading } = (0, import_frappe.useLiveQuery)(function(q) {\n if (!docCollection || !name) return null;\n return q.from({\n _doc: docCollection\n }).where(function(param2) {\n var { _doc } = param2;\n if (!_doc) return (0, import_db.eq)(name, name);\n return (0, import_db.eq)(_doc.name, name);\n });\n }, [\n docCollection,\n name\n ]);\n var liveDoc = (0, import_react2.useMemo)(function() {\n var _arr_;\n var arr = Array.isArray(rawDocData) ? rawDocData : rawDocData ? [\n rawDocData\n ] : [];\n var doc = (_arr_ = arr[0]) !== null && _arr_ !== void 0 ? _arr_ : null;\n return doc ? {\n data: doc,\n isLoading: isDocLoading\n } : name ? {\n data: null,\n isLoading: isDocLoading\n } : null;\n }, [\n rawDocData,\n isDocLoading,\n name\n ]);\n var collection = (0, import_frappe.useFrappeCollection)(name ? void 0 : frappeConfig, doctype, {\n fields\n });\n var shareCollection = (0, import_frappe.useFrappeCollection)(showSidebar && name ? frappeConfig : void 0, \"DocShare\", {\n fields: [\n \"name\",\n \"user\",\n \"everyone\",\n \"read\",\n \"write\",\n \"share\"\n ],\n filters: {\n share_doctype: doctype,\n share_name: name\n }\n });\n var { data: rawShareRows } = (0, import_frappe.useLiveQuery)(function(q) {\n return shareCollection ? q.from({\n _share: shareCollection\n }) : null;\n }, [\n shareCollection\n ]);\n var shareRows = (0, import_react2.useMemo)(function() {\n return shareCollection ? rawShareRows !== null && rawShareRows !== void 0 ? rawShareRows : [] : void 0;\n }, [\n shareCollection,\n rawShareRows\n ]);\n var assignmentCollection = (0, import_frappe.useFrappeCollection)(showSidebar && name && !frappeConfig.fixtures ? frappeConfig : void 0, \"ToDo\", {\n fields: [\n \"name\",\n \"allocated_to\",\n \"status\",\n \"reference_type\",\n \"reference_name\"\n ],\n filters: {\n reference_type: doctype,\n reference_name: name,\n status: \"Open\"\n }\n });\n var { data: rawAssignmentRows } = (0, import_frappe.useLiveQuery)(function(q) {\n return assignmentCollection ? q.from({\n _assignment: assignmentCollection\n }) : null;\n }, [\n assignmentCollection\n ]);\n var assignmentRows = (0, import_react2.useMemo)(function() {\n return assignmentCollection ? rawAssignmentRows !== null && rawAssignmentRows !== void 0 ? rawAssignmentRows : [] : void 0;\n }, [\n assignmentCollection,\n rawAssignmentRows\n ]);\n (0, import_react2.useEffect)(function() {\n everLoadedRef.current = false;\n setWasDeleted(false);\n setConflictFields([]);\n setBaselineDoc(void 0);\n }, [\n doctype,\n name\n ]);\n (0, import_frappe.useFrappeDoctypeEvents)(name ? frappeConfig : void 0, doctype, function(event) {\n if (event.type !== \"doc_deleted\") return;\n var payload = event.payload;\n if ((payload === null || payload === void 0 ? void 0 : payload.name) === name) setWasDeleted(true);\n }, Boolean(name));\n (0, import_react2.useEffect)(function() {\n var incoming = liveDoc === null || liveDoc === void 0 ? void 0 : liveDoc.data;\n if (incoming) {\n everLoadedRef.current = true;\n setWasDeleted(false);\n var baseline = baselineRef.current;\n if (!baseline) {\n setBaselineDoc(incoming);\n setLocalDoc(incoming);\n return;\n }\n var local = localDocRef.current;\n var merged = {\n ...incoming\n };\n var newConflicts = [];\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;\n try {\n for (var _iterator = Object.keys(local)[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var key = _step.value;\n var localValue = local[key];\n if (localValue === baseline[key]) continue;\n merged[key] = localValue;\n var remote = incoming[key];\n if (remote !== baseline[key] && remote !== localValue) newConflicts.push(key);\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return != null) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n setBaselineDoc(incoming);\n setLocalDoc(merged);\n if (newConflicts.length > 0) {\n setConflictFields(function(prev) {\n return Array.from(/* @__PURE__ */ new Set([\n ...prev,\n ...newConflicts\n ]));\n });\n }\n } else if (name && everLoadedRef.current && !(liveDoc === null || liveDoc === void 0 ? void 0 : liveDoc.isLoading)) {\n setWasDeleted(true);\n } else if (!name) {\n setLocalDoc({\n doctype\n });\n }\n }, [\n liveDoc === null || liveDoc === void 0 ? void 0 : liveDoc.data,\n liveDoc === null || liveDoc === void 0 ? void 0 : liveDoc.isLoading,\n doctype,\n name\n ]);\n var dirtyFieldNames = (0, import_react2.useMemo)(function() {\n var local = localDoc;\n var base = baselineDoc;\n var dirty = [];\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;\n try {\n for (var _iterator = Object.keys(local)[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var key = _step.value;\n if (key === \"doctype\" || key === \"name\") continue;\n if (base ? local[key] !== base[key] : local[key] !== void 0) dirty.push(key);\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return != null) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n return dirty;\n }, [\n localDoc,\n baselineDoc\n ]);\n var hasUnsavedChanges = dirtyFieldNames.length > 0;\n var setValue = function setValue2(field, value) {\n setLocalDoc(function(prev) {\n return {\n ...prev,\n [field]: value\n };\n });\n setErrors(function(prev) {\n var newErrors = {\n ...prev\n };\n delete newErrors[String(field)];\n return newErrors;\n });\n };\n var validateRequiredFields = function validateRequiredFields2() {\n if (!meta) return {};\n var validationErrors = {};\n var doc = localDoc;\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;\n try {\n for (var _iterator = meta.fields[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var field = _step.value;\n if (!field.reqd) continue;\n if (field.hidden || LAYOUT_FIELDTYPES.has(field.fieldtype)) continue;\n if (hideFieldSet.has(field.fieldname)) continue;\n if (isEmptyFieldValue(doc[field.fieldname])) {\n validationErrors[field.fieldname] = t(\"{{label}} is required\", {\n label: field.label || field.fieldname\n });\n }\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return != null) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n return validationErrors;\n };\n var handleSave = async function handleSave2() {\n if (wasDeleted) return;\n var requiredErrors = validateRequiredFields();\n if (Object.keys(requiredErrors).length > 0) {\n setErrors(requiredErrors);\n return;\n }\n setIsSubmitting(true);\n setErrors({});\n try {\n if (name) {\n if (!docCollection) return;\n var changedFields = dirtyFieldNames;\n if (changedFields.length > 0) {\n var local = localDoc;\n var tx = docCollection.update(name, function(draft) {\n var _iteratorNormalCompletion2 = true, _didIteratorError2 = false, _iteratorError2 = void 0;\n try {\n for (var _iterator2 = changedFields[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) {\n var key = _step2.value;\n draft[key] = local[key];\n }\n } catch (err) {\n _didIteratorError2 = true;\n _iteratorError2 = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion2 && _iterator2.return != null) {\n _iterator2.return();\n }\n } finally {\n if (_didIteratorError2) {\n throw _iteratorError2;\n }\n }\n }\n });\n await tx.isPersisted.promise;\n }\n setConflictFields([]);\n } else {\n var _localDoc_name;\n if (!collection) return;\n var docToInsert = {\n ...localDoc,\n doctype,\n name: (_localDoc_name = localDoc.name) !== null && _localDoc_name !== void 0 ? _localDoc_name : `new-${Date.now()}`\n };\n var tx1 = collection.insert(docToInsert);\n await tx1.isPersisted.promise;\n }\n onSave === null || onSave === void 0 ? void 0 : onSave(localDoc);\n } catch (err1) {\n var e = err1;\n if ((e === null || e === void 0 ? void 0 : e.exc_type) === \"ValidationError\") {\n var validationErrors = {};\n if (e._server_messages) {\n try {\n var messages = JSON.parse(e._server_messages);\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;\n try {\n for (var _iterator = messages[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var msg = _step.value;\n var parsed = typeof msg === \"string\" ? JSON.parse(msg) : msg;\n if (parsed.message) {\n validationErrors.general = parsed.message;\n }\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return != null) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n } catch (unused) {\n validationErrors.general = t(\"Validation error occurred\");\n }\n }\n setErrors(validationErrors);\n } else {\n setErrors({\n general: (e === null || e === void 0 ? void 0 : e.message) || t(\"Failed to save document\")\n });\n }\n } finally {\n setIsSubmitting(false);\n }\n };\n var handleCancel = function handleCancel2() {\n if (baselineDoc) {\n setLocalDoc(baselineDoc);\n } else if (liveDoc === null || liveDoc === void 0 ? void 0 : liveDoc.data) {\n setLocalDoc(liveDoc.data);\n } else {\n setLocalDoc({\n doctype\n });\n }\n setConflictFields([]);\n setErrors({});\n onCancel === null || onCancel === void 0 ? void 0 : onCancel();\n };\n var handleDelete = async function handleDelete2() {\n if (!docCollection || !name || wasDeleted) return;\n if (!await import_desktop.dialog.confirm(t(\"Delete this {{doctype}}?\", {\n doctype\n }))) return;\n setIsSubmitting(true);\n setErrors({});\n try {\n var tx = docCollection.delete(name);\n await tx.isPersisted.promise;\n onDelete === null || onDelete === void 0 ? void 0 : onDelete(localDoc);\n } catch (err) {\n setErrors({\n general: (err === null || err === void 0 ? void 0 : err.message) || t(\"Failed to delete\")\n });\n } finally {\n setIsSubmitting(false);\n }\n };\n if (!children && isMetaLoading && !meta) {\n return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_tamagui.YStack, {\n ...knobProps.panelPadding,\n testID: \"frappe-form-skeleton\",\n children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_components.AsyncSkeleton, {\n layout: \"generic\"\n })\n });\n }\n if (!children && metaError && !meta) {\n return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_tamagui.YStack, {\n ...knobProps.panelPadding,\n alignItems: \"center\",\n ...knobProps.gap,\n children: [\n /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_tamagui.Text, {\n color: import_forms.formCommonColors.error,\n ...knobProps.body,\n children: t(\"Failed to load {{doctype}} form\", {\n doctype\n })\n }),\n /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_tamagui.Text, {\n color: import_forms.formCommonColors.muted,\n ...knobProps.body,\n children: metaError.message\n })\n ]\n });\n }\n if (name && (liveDoc === null || liveDoc === void 0 ? void 0 : liveDoc.isLoading) && !wasDeleted) {\n return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_tamagui.YStack, {\n ...knobProps.panelPadding,\n testID: \"frappe-form-skeleton\",\n children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_components.AsyncSkeleton, {\n layout: \"generic\"\n })\n });\n }\n if (name && !(liveDoc === null || liveDoc === void 0 ? void 0 : liveDoc.isLoading) && !(liveDoc === null || liveDoc === void 0 ? void 0 : liveDoc.data) && !wasDeleted) {\n return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_tamagui.YStack, {\n ...knobProps.panelPadding,\n alignItems: \"center\",\n ...knobProps.gap,\n children: [\n /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_tamagui.Text, {\n color: import_forms.formCommonColors.error,\n ...knobProps.body,\n children: t(\"{{doctype}} not found\", {\n doctype\n })\n }),\n /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_tamagui.Text, {\n color: import_forms.formCommonColors.muted,\n ...knobProps.body,\n children: t(\"Document {{name}} does not exist or could not be loaded.\", {\n name\n })\n })\n ]\n });\n }\n var effectiveDisabled = disabled || wasDeleted;\n var imageFieldName = meta === null || meta === void 0 ? void 0 : meta.image_field;\n var sidebarImageUrl = imageFieldName ? resolveFileUrl(localDoc[imageFieldName], finalBaseURL) : void 0;\n var conflictLabels = conflictFields.map(function(fieldname) {\n var field = meta === null || meta === void 0 ? void 0 : meta.fields.find(function(metaField) {\n return metaField.fieldname === fieldname;\n });\n return (field === null || field === void 0 ? void 0 : field.label) || fieldname;\n }).join(\", \");\n return (\n // flexBasis auto (not the flex:1 shorthand's 0%): inside scroll-flow page\n // scaffolds (LC-29 templates) the parent is auto-height, and a 0% basis\n // collapses this stack to zero height on web — content then paints over\n // whatever follows. Bounded parents still fill (grow 1) exactly as before.\n /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_tamagui.YStack, {\n ...knobProps.gapLg,\n flexGrow: 1,\n flexShrink: 1,\n flexBasis: \"auto\",\n children: [\n /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_FrappeReconnectIndicator.FrappeReconnectIndicator, {\n config: frappeConfig\n }),\n wasDeleted && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_tamagui.XStack, {\n role: \"alert\",\n alignItems: \"center\",\n ...knobProps.containerRadius,\n ...knobProps.panelPadding,\n backgroundColor: \"$red3\",\n testID: \"frappe-form-deleted-banner\",\n children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_tamagui.Text, {\n color: import_forms.formCommonColors.error,\n ...knobProps.body,\n children: hasUnsavedChanges ? t(\"This {{doctype}} was deleted on the server. Fields are read-only and your unsaved edits can no longer be saved.\", {\n doctype\n }) : t(\"This {{doctype}} was deleted on the server. Fields are read-only.\", {\n doctype\n })\n })\n }),\n !wasDeleted && conflictFields.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_tamagui.XStack, {\n role: \"status\",\n alignItems: \"center\",\n ...knobProps.containerRadius,\n ...knobProps.panelPadding,\n backgroundColor: \"$orange3\",\n testID: \"frappe-form-conflict-banner\",\n children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_tamagui.Text, {\n color: \"$orange11\",\n ...knobProps.body,\n children: t(\"Changed elsewhere while you were editing: {{fields}}. Your edits are kept \\u2014 saving will overwrite the newer server values.\", {\n fields: conflictLabels\n })\n })\n }),\n /* flexBasis auto — see the root stack note (zero-height collapse in\n auto-height scroll flows would paint the Timeline over the form). */\n /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_tamagui.XStack, {\n flexGrow: 1,\n flexShrink: 1,\n flexBasis: \"auto\",\n ...knobProps.gapLg,\n children: [\n /* Sidebar (edit mode only) — assignments/shares/image are live */\n showSidebar && name && meta && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_FormSidebar.FormSidebar, {\n imageUrl: sidebarImageUrl,\n sections: buildSidebarSections(localDoc, shareRows, t, assignmentRows),\n metadata: mapDocToSidebarMetadata(localDoc, t)\n }),\n /* Form body */\n /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_tamagui.YStack, {\n flex: 1,\n ...knobProps.gapLg,\n children: [\n children ? (\n // Render-prop mode\n children({\n doc: localDoc,\n setValue,\n isSubmitting,\n errors,\n meta,\n disabled: effectiveDisabled\n })\n ) : formSchema ? (\n // Schema-driven mode using generic SchemaForm from @multiplatform.one/forms\n /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_schemaForm.SchemaForm, {\n schema: formSchema,\n doc: localDoc,\n setValue: function setValue1(field, value) {\n return setValue(field, value);\n },\n errors,\n disabled: effectiveDisabled,\n overrides,\n hideFields,\n readOnlyFields,\n sectionHeadingLevel,\n order\n })\n ) : (\n // Metadata unavailable (should be covered by metaError branch above)\n /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_tamagui.YStack, {\n ...knobProps.panelPadding,\n alignItems: \"center\",\n children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_tamagui.Text, {\n color: import_forms.formCommonColors.muted,\n ...knobProps.body,\n children: t(\"Form schema unavailable\")\n })\n })\n ),\n errors.general && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_tamagui.Text, {\n color: import_forms.formCommonColors.error,\n ...knobProps.body,\n children: errors.general\n }),\n showToolbar && /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_tamagui.XStack, {\n ...knobProps.gap,\n justifyContent: \"flex-end\",\n alignItems: \"center\",\n paddingTop: \"$3\",\n children: [\n hasUnsavedChanges && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_tamagui.Text, {\n color: \"$orange11\",\n marginInlineEnd: \"auto\",\n ...knobProps.body,\n children: t(\"Not Saved\")\n }),\n name && onDelete && !wasDeleted && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_forms.Button, {\n outlined: true,\n error: true,\n icon: import_react.TrashIcon,\n loading: isSubmitting,\n disabled: effectiveDisabled,\n disabledReason: t(\"Form is read-only\"),\n disabledReasonPlacement: \"inline\",\n onPress: handleDelete,\n children: t(\"Delete\")\n }),\n onCancel && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_forms.Button, {\n outlined: true,\n icon: import_react.XIcon,\n disabled: isSubmitting || disabled,\n disabledReason: t(\"Form is read-only\"),\n disabledReasonPlacement: \"inline\",\n onPress: handleCancel,\n children: t(\"Cancel\")\n }),\n /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_forms.Button, {\n accent: true,\n icon: import_react.FloppyDiskIcon,\n loading: isSubmitting,\n disabled: effectiveDisabled,\n disabledReason: t(\"Form is read-only\"),\n disabledReasonPlacement: \"inline\",\n onPress: handleSave,\n children: isSubmitting ? t(\"Saving...\") : t(\"Save\")\n })\n ]\n })\n ]\n })\n ]\n }),\n /* Timeline (edit mode only) — live Comment/Version via useFrappeCollection */\n showTimeline && name && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_timeline.Timeline, {\n doctype,\n docname: name,\n label: t(\"Activity\")\n })\n ]\n })\n );\n}\n//# sourceMappingURL=FrappeForm.js.map\n"],"mappings":"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","ignoreList":[]}
@@ -100,8 +100,9 @@ function FrappeGantt({
100
100
  auth: finalAuth,
101
101
  syncOptions: finalSyncOptions,
102
102
  socketOptions: config?.socketOptions,
103
+ realtime: config?.realtime,
103
104
  fixtures: config?.fixtures
104
- }), [finalBaseURL, config?.socketPort, config?.siteName, config?.socketBaseURL, finalAuth, finalSyncOptions, config?.socketOptions, config?.fixtures]);
105
+ }), [finalBaseURL, config?.socketPort, config?.siteName, config?.socketBaseURL, config?.realtime, finalAuth, finalSyncOptions, config?.socketOptions, config?.fixtures]);
105
106
  const collection = (0, import_frappe.useFrappeCollection)(connectionConfig, doctype, {
106
107
  fields: effectiveFields,
107
108
  filters,
@@ -124,9 +124,10 @@ function FrappeGantt(param) {
124
124
  auth: finalAuth,
125
125
  syncOptions: finalSyncOptions,
126
126
  socketOptions: config === null || config === void 0 ? void 0 : config.socketOptions,
127
+ realtime: config === null || config === void 0 ? void 0 : config.realtime,
127
128
  fixtures: config === null || config === void 0 ? void 0 : config.fixtures
128
129
  };
129
- }, [finalBaseURL, config === null || config === void 0 ? void 0 : config.socketPort, config === null || config === void 0 ? void 0 : config.siteName, config === null || config === void 0 ? void 0 : config.socketBaseURL, finalAuth, finalSyncOptions, config === null || config === void 0 ? void 0 : config.socketOptions, config === null || config === void 0 ? void 0 : config.fixtures]);
130
+ }, [finalBaseURL, config === null || config === void 0 ? void 0 : config.socketPort, config === null || config === void 0 ? void 0 : config.siteName, config === null || config === void 0 ? void 0 : config.socketBaseURL, config === null || config === void 0 ? void 0 : config.realtime, finalAuth, finalSyncOptions, config === null || config === void 0 ? void 0 : config.socketOptions, config === null || config === void 0 ? void 0 : config.fixtures]);
130
131
  var collection = (0, import_frappe.useFrappeCollection)(connectionConfig, doctype, {
131
132
  fields: effectiveFields,
132
133
  filters,