@multiplatform.one/frappe-ui 7.28.0 → 7.29.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (618) hide show
  1. package/dist/cjs/ChartCard.native.js.map +1 -1
  2. package/dist/cjs/FileBrowser/AttachLibrary.native.js.map +1 -1
  3. package/dist/cjs/FileBrowser/folderTree.native.js.map +1 -1
  4. package/dist/cjs/FileBrowser/index.cjs +20 -3
  5. package/dist/cjs/FileBrowser/index.native.js +20 -3
  6. package/dist/cjs/FileBrowser/index.native.js.map +1 -1
  7. package/dist/cjs/FileBrowser/types.native.js.map +1 -1
  8. package/dist/cjs/FileBrowser/viewPersistence.native.js.map +1 -1
  9. package/dist/cjs/FormSidebar.native.js.map +1 -1
  10. package/dist/cjs/FrappeAssignment.native.js.map +1 -1
  11. package/dist/cjs/FrappeCalendar.cjs +3 -2
  12. package/dist/cjs/FrappeCalendar.native.js +3 -2
  13. package/dist/cjs/FrappeCalendar.native.js.map +1 -1
  14. package/dist/cjs/FrappeChartCard.native.js.map +1 -1
  15. package/dist/cjs/FrappeConnectionIndicator.native.js.map +1 -1
  16. package/dist/cjs/FrappeDashboard.native.js.map +1 -1
  17. package/dist/cjs/FrappeForm.cjs +148 -464
  18. package/dist/cjs/FrappeForm.native.js +153 -634
  19. package/dist/cjs/FrappeForm.native.js.map +1 -1
  20. package/dist/cjs/FrappeFormActions.native.js.map +1 -1
  21. package/dist/cjs/FrappeFormConnections.native.js.map +1 -1
  22. package/dist/cjs/FrappeGantt.native.js.map +1 -1
  23. package/dist/cjs/FrappeImageView.native.js.map +1 -1
  24. package/dist/cjs/FrappeInsights.native.js.map +1 -1
  25. package/dist/cjs/FrappeKPICard.native.js.map +1 -1
  26. package/dist/cjs/FrappeKanban.native.js.map +1 -1
  27. package/dist/cjs/FrappeLikedBy.native.js.map +1 -1
  28. package/dist/cjs/FrappeList.native.js.map +1 -1
  29. package/dist/cjs/FrappeListView.cjs +5 -27
  30. package/dist/cjs/FrappeListView.native.js +11 -32
  31. package/dist/cjs/FrappeListView.native.js.map +1 -1
  32. package/dist/cjs/FrappeNotConfigured.native.js.map +1 -1
  33. package/dist/cjs/FrappeProvider.native.js.map +1 -1
  34. package/dist/cjs/FrappeReconnectIndicator.native.js.map +1 -1
  35. package/dist/cjs/FrappeRecordView.native.js.map +1 -1
  36. package/dist/cjs/FrappeReportBuilder.cjs +523 -309
  37. package/dist/cjs/FrappeReportBuilder.native.js +658 -353
  38. package/dist/cjs/FrappeReportBuilder.native.js.map +1 -1
  39. package/dist/cjs/FrappeReportView.cjs +35 -234
  40. package/dist/cjs/FrappeReportView.native.js +42 -286
  41. package/dist/cjs/FrappeReportView.native.js.map +1 -1
  42. package/dist/cjs/FrappeRowsReader.native.js.map +1 -1
  43. package/dist/cjs/FrappeTable.native.js.map +1 -1
  44. package/dist/cjs/FrappeTreeView.native.js.map +1 -1
  45. package/dist/cjs/SyncErrorNotice.native.js.map +1 -1
  46. package/dist/cjs/commentActions.native.js.map +1 -1
  47. package/dist/cjs/components/attachments.native.js.map +1 -1
  48. package/dist/cjs/components/tags.native.js.map +1 -1
  49. package/dist/cjs/components/timeline.native.js.map +1 -1
  50. package/dist/cjs/dependsOn.cjs +2 -2
  51. package/dist/cjs/dependsOn.native.js +1 -2
  52. package/dist/cjs/dependsOn.native.js.map +1 -1
  53. package/dist/cjs/desk/DeskFormPage.native.js.map +1 -1
  54. package/dist/cjs/desk/DeskFormSidebar.native.js.map +1 -1
  55. package/dist/cjs/desk/DeskListPage.native.js.map +1 -1
  56. package/dist/cjs/desk/DeskShell.native.js.map +1 -1
  57. package/dist/cjs/desk/DeskSidebar.native.js.map +1 -1
  58. package/dist/cjs/desk/awesomebar.native.js.map +1 -1
  59. package/dist/cjs/fieldOverrides.native.js.map +1 -1
  60. package/dist/cjs/fieldRegistry.native.js +31 -31
  61. package/dist/cjs/fieldRegistry.native.js.map +1 -1
  62. package/dist/cjs/fields/Barcode/index.native.js.map +1 -1
  63. package/dist/cjs/fields/Check/index.native.js.map +1 -1
  64. package/dist/cjs/fields/CodeEditor/index.native.js.map +1 -1
  65. package/dist/cjs/fields/Color/index.native.js.map +1 -1
  66. package/dist/cjs/fields/Data/index.native.js.map +1 -1
  67. package/dist/cjs/fields/Date/sheetKeyboard.native.js.map +1 -1
  68. package/dist/cjs/fields/Date/types.native.js.map +1 -1
  69. package/dist/cjs/fields/Date/wire.native.js.map +1 -1
  70. package/dist/cjs/fields/DateRange/index.native.js.map +1 -1
  71. package/dist/cjs/fields/Duration/index.native.js.map +1 -1
  72. package/dist/cjs/fields/DynamicLink.native.js.map +1 -1
  73. package/dist/cjs/fields/FileUpload.native.js.map +1 -1
  74. package/dist/cjs/fields/FileUploadField/index.native.js.map +1 -1
  75. package/dist/cjs/fields/Geolocation/index.native.js.map +1 -1
  76. package/dist/cjs/fields/HTML/index.native.js.map +1 -1
  77. package/dist/cjs/fields/Heading/index.native.js.map +1 -1
  78. package/dist/cjs/fields/Icon/index.native.js.map +1 -1
  79. package/dist/cjs/fields/Link.native.js.map +1 -1
  80. package/dist/cjs/fields/LinkTree.native.js.map +1 -1
  81. package/dist/cjs/fields/LongText/index.native.js.map +1 -1
  82. package/dist/cjs/fields/MentionInput/index.native.js.map +1 -1
  83. package/dist/cjs/fields/Numeric/index.native.js.map +1 -1
  84. package/dist/cjs/fields/OTPInput/index.native.js.map +1 -1
  85. package/dist/cjs/fields/Password/index.native.js.map +1 -1
  86. package/dist/cjs/fields/Phone/index.native.js.map +1 -1
  87. package/dist/cjs/fields/Progress/index.native.js.map +1 -1
  88. package/dist/cjs/fields/RadioGroup/index.native.js.map +1 -1
  89. package/dist/cjs/fields/Rating/index.native.js.map +1 -1
  90. package/dist/cjs/fields/ReadOnly/index.native.js.map +1 -1
  91. package/dist/cjs/fields/Select/index.native.js.map +1 -1
  92. package/dist/cjs/fields/Signature/index.native.js.map +1 -1
  93. package/dist/cjs/fields/Slider/index.native.js.map +1 -1
  94. package/dist/cjs/fields/SmallText/index.native.js.map +1 -1
  95. package/dist/cjs/fields/Switch/index.native.js.map +1 -1
  96. package/dist/cjs/fields/TableMultiSelect.native.js.map +1 -1
  97. package/dist/cjs/fields/TextEditor/types.native.js.map +1 -1
  98. package/dist/cjs/fields/TimePicker/index.native.js.map +1 -1
  99. package/dist/cjs/fields/ToggleGroup/index.native.js.map +1 -1
  100. package/dist/cjs/fields/shared/EditorPreviewPanes.cjs +2 -2
  101. package/dist/cjs/fields/shared/EditorPreviewPanes.native.js +2 -2
  102. package/dist/cjs/fields/shared/EditorPreviewPanes.native.js.map +1 -1
  103. package/dist/cjs/filterFields.native.js.map +1 -1
  104. package/dist/cjs/formEngine/createPrefill.native.js.map +1 -1
  105. package/dist/cjs/formEngine/dirtyTracking.native.js.map +1 -1
  106. package/dist/cjs/formEngine/docLifecycle.native.js.map +1 -1
  107. package/dist/cjs/formEngine/docPermissions.cjs +20 -0
  108. package/dist/cjs/formEngine/docPermissions.native.js +69 -0
  109. package/dist/cjs/formEngine/docPermissions.native.js.map +1 -1
  110. package/dist/cjs/formEngine/doctypeMeta.native.js.map +1 -1
  111. package/dist/cjs/formEngine/fetchFrom.native.js.map +1 -1
  112. package/dist/cjs/formEngine/fieldPermissions.native.js.map +1 -1
  113. package/dist/cjs/formEngine/formActions.native.js.map +1 -1
  114. package/dist/cjs/formEngine/formLayout.native.js.map +1 -1
  115. package/dist/cjs/formEngine/index.cjs +2 -0
  116. package/dist/cjs/formEngine/index.native.js +2 -0
  117. package/dist/cjs/formEngine/index.native.js.map +1 -1
  118. package/dist/cjs/formEngine/useAmendedAs.native.js.map +1 -1
  119. package/dist/cjs/formEngine/useDocRights.native.js.map +1 -1
  120. package/dist/cjs/formEngine/useFormEngine.native.js.map +1 -1
  121. package/dist/cjs/formEngine/useSessionRoles.native.js.map +1 -1
  122. package/dist/cjs/frappeConnections.native.js.map +1 -1
  123. package/dist/cjs/frappeEventColor.native.js.map +1 -1
  124. package/dist/cjs/frappeNavigation.native.js.map +1 -1
  125. package/dist/cjs/frappeStoryTarget.native.js.map +1 -1
  126. package/dist/cjs/frappeUsers.native.js.map +1 -1
  127. package/dist/cjs/index.cjs +67 -7
  128. package/dist/cjs/index.native.js +101 -41
  129. package/dist/cjs/index.native.js.map +1 -1
  130. package/dist/cjs/insights/InsightsFacetTags.native.js.map +1 -1
  131. package/dist/cjs/insights/InsightsKpiBand.native.js.map +1 -1
  132. package/dist/cjs/insights/InsightsLeaders.native.js.map +1 -1
  133. package/dist/cjs/insights/InsightsRecords.native.js.map +1 -1
  134. package/dist/cjs/insights/InsightsTable.native.js.map +1 -1
  135. package/dist/cjs/insights/insightsData.native.js.map +1 -1
  136. package/dist/cjs/insights/insightsRecord.native.js.map +1 -1
  137. package/dist/cjs/list/FacetBadge.native.js.map +1 -1
  138. package/dist/cjs/list/FacetRail.native.js.map +1 -1
  139. package/dist/cjs/list/ImageWell.native.js.map +1 -1
  140. package/dist/cjs/list/ListControls.native.js.map +1 -1
  141. package/dist/cjs/list/ListToastHost.native.js.map +1 -1
  142. package/dist/cjs/list/RangeFilter.native.js.map +1 -1
  143. package/dist/cjs/list/ShufflePanel.native.js.map +1 -1
  144. package/dist/cjs/list/facetReading.native.js.map +1 -1
  145. package/dist/cjs/list/favorites.native.js.map +1 -1
  146. package/dist/cjs/list/listColumns.native.js.map +1 -1
  147. package/dist/cjs/list/listFields.native.js.map +1 -1
  148. package/dist/cjs/list/listFormat.native.js.map +1 -1
  149. package/dist/cjs/list/listState.native.js.map +1 -1
  150. package/dist/cjs/list/recordLook.native.js.map +1 -1
  151. package/dist/cjs/list/statusColors.native.js.map +1 -1
  152. package/dist/cjs/list/useListControls.native.js.map +1 -1
  153. package/dist/cjs/liveErrors.cjs +8 -2
  154. package/dist/cjs/liveErrors.native.js +8 -2
  155. package/dist/cjs/liveErrors.native.js.map +1 -1
  156. package/dist/cjs/measures.cjs +31 -0
  157. package/dist/cjs/measures.native.js +34 -0
  158. package/dist/cjs/measures.native.js.map +1 -0
  159. package/dist/cjs/record/RecordBars.native.js.map +1 -1
  160. package/dist/cjs/record/RecordGallery.native.js.map +1 -1
  161. package/dist/cjs/record/RecordHero.native.js.map +1 -1
  162. package/dist/cjs/record/RecordPage.native.js.map +1 -1
  163. package/dist/cjs/record/RecordPager.native.js.map +1 -1
  164. package/dist/cjs/record/RecordRows.native.js.map +1 -1
  165. package/dist/cjs/record/recordData.native.js.map +1 -1
  166. package/dist/cjs/record/recordSections.native.js.map +1 -1
  167. package/dist/cjs/recordShape.cjs +103 -0
  168. package/dist/cjs/recordShape.native.js +115 -0
  169. package/dist/cjs/recordShape.native.js.map +1 -0
  170. package/dist/cjs/report/ReportGrid.cjs +453 -0
  171. package/dist/cjs/report/ReportGrid.native.js +510 -0
  172. package/dist/cjs/report/ReportGrid.native.js.map +1 -0
  173. package/dist/cjs/report/ReportViewToolbar.cjs +253 -0
  174. package/dist/cjs/report/ReportViewToolbar.native.js +303 -0
  175. package/dist/cjs/report/ReportViewToolbar.native.js.map +1 -0
  176. package/dist/cjs/report/queryReport.cjs +444 -0
  177. package/dist/cjs/report/queryReport.native.js +588 -0
  178. package/dist/cjs/report/queryReport.native.js.map +1 -0
  179. package/dist/cjs/report/queryReportColumns.cjs +131 -0
  180. package/dist/cjs/report/queryReportColumns.native.js +159 -0
  181. package/dist/cjs/report/queryReportColumns.native.js.map +1 -0
  182. package/dist/cjs/report/reportViewModel.cjs +386 -0
  183. package/dist/cjs/report/reportViewModel.native.js +657 -0
  184. package/dist/cjs/report/reportViewModel.native.js.map +1 -0
  185. package/dist/cjs/report/savedReports.cjs +137 -0
  186. package/dist/cjs/report/savedReports.native.js +169 -0
  187. package/dist/cjs/report/savedReports.native.js.map +1 -0
  188. package/dist/cjs/report/useFrappeReport.cjs +184 -0
  189. package/dist/cjs/report/useFrappeReport.native.js +214 -0
  190. package/dist/cjs/report/useFrappeReport.native.js.map +1 -0
  191. package/dist/cjs/report/useQueryReport.cjs +201 -0
  192. package/dist/cjs/report/useQueryReport.native.js +233 -0
  193. package/dist/cjs/report/useQueryReport.native.js.map +1 -0
  194. package/dist/cjs/resolveControl.native.js.map +1 -1
  195. package/dist/cjs/schemaForm/SchemaWizard.native.js.map +1 -1
  196. package/dist/cjs/schemaForm/applyFieldOrder.native.js.map +1 -1
  197. package/dist/cjs/schemaForm/index.native.js +1 -1
  198. package/dist/cjs/schemaForm/index.native.js.map +1 -1
  199. package/dist/cjs/shared/devWarn.native.js.map +1 -1
  200. package/dist/cjs/shared/useKeyboardInset.native.js.map +1 -1
  201. package/dist/cjs/syncError.native.js.map +1 -1
  202. package/dist/cjs/useConnectionFilters.native.js.map +1 -1
  203. package/dist/cjs/useFrappeAggregate.native.js.map +1 -1
  204. package/dist/cjs/useFrappeFacets.native.js.map +1 -1
  205. package/dist/cjs/useFrappeForm.cjs +558 -0
  206. package/dist/cjs/useFrappeForm.native.js +714 -0
  207. package/dist/cjs/useFrappeForm.native.js.map +1 -0
  208. package/dist/cjs/useFrappePagination.native.js.map +1 -1
  209. package/dist/cjs/useFrappeRows.native.js.map +1 -1
  210. package/dist/esm/ChartCard.native.js.map +1 -1
  211. package/dist/esm/FileBrowser/AttachLibrary.native.js.map +1 -1
  212. package/dist/esm/FileBrowser/folderTree.native.js.map +1 -1
  213. package/dist/esm/FileBrowser/index.mjs +20 -3
  214. package/dist/esm/FileBrowser/index.mjs.map +1 -1
  215. package/dist/esm/FileBrowser/index.native.js +20 -3
  216. package/dist/esm/FileBrowser/index.native.js.map +1 -1
  217. package/dist/esm/FileBrowser/types.native.js.map +1 -1
  218. package/dist/esm/FileBrowser/viewPersistence.native.js.map +1 -1
  219. package/dist/esm/FormSidebar.native.js.map +1 -1
  220. package/dist/esm/FrappeAssignment.native.js.map +1 -1
  221. package/dist/esm/FrappeCalendar.mjs +4 -3
  222. package/dist/esm/FrappeCalendar.mjs.map +1 -1
  223. package/dist/esm/FrappeCalendar.native.js +4 -3
  224. package/dist/esm/FrappeCalendar.native.js.map +1 -1
  225. package/dist/esm/FrappeChartCard.native.js.map +1 -1
  226. package/dist/esm/FrappeConnectionIndicator.native.js.map +1 -1
  227. package/dist/esm/FrappeDashboard.native.js.map +1 -1
  228. package/dist/esm/FrappeForm.mjs +151 -467
  229. package/dist/esm/FrappeForm.mjs.map +1 -1
  230. package/dist/esm/FrappeForm.native.js +155 -636
  231. package/dist/esm/FrappeForm.native.js.map +1 -1
  232. package/dist/esm/FrappeFormActions.native.js.map +1 -1
  233. package/dist/esm/FrappeFormConnections.native.js.map +1 -1
  234. package/dist/esm/FrappeGantt.native.js.map +1 -1
  235. package/dist/esm/FrappeImageView.native.js.map +1 -1
  236. package/dist/esm/FrappeInsights.native.js.map +1 -1
  237. package/dist/esm/FrappeKPICard.native.js.map +1 -1
  238. package/dist/esm/FrappeKanban.native.js.map +1 -1
  239. package/dist/esm/FrappeLikedBy.native.js.map +1 -1
  240. package/dist/esm/FrappeList.native.js.map +1 -1
  241. package/dist/esm/FrappeListView.mjs +6 -28
  242. package/dist/esm/FrappeListView.mjs.map +1 -1
  243. package/dist/esm/FrappeListView.native.js +12 -33
  244. package/dist/esm/FrappeListView.native.js.map +1 -1
  245. package/dist/esm/FrappeNotConfigured.native.js.map +1 -1
  246. package/dist/esm/FrappeProvider.native.js.map +1 -1
  247. package/dist/esm/FrappeReconnectIndicator.native.js.map +1 -1
  248. package/dist/esm/FrappeRecordView.native.js.map +1 -1
  249. package/dist/esm/FrappeReportBuilder.mjs +526 -312
  250. package/dist/esm/FrappeReportBuilder.mjs.map +1 -1
  251. package/dist/esm/FrappeReportBuilder.native.js +661 -356
  252. package/dist/esm/FrappeReportBuilder.native.js.map +1 -1
  253. package/dist/esm/FrappeReportView.mjs +30 -229
  254. package/dist/esm/FrappeReportView.mjs.map +1 -1
  255. package/dist/esm/FrappeReportView.native.js +34 -278
  256. package/dist/esm/FrappeReportView.native.js.map +1 -1
  257. package/dist/esm/FrappeRowsReader.native.js.map +1 -1
  258. package/dist/esm/FrappeTable.native.js.map +1 -1
  259. package/dist/esm/FrappeTreeView.native.js.map +1 -1
  260. package/dist/esm/SyncErrorNotice.native.js.map +1 -1
  261. package/dist/esm/commentActions.native.js.map +1 -1
  262. package/dist/esm/components/attachments.native.js.map +1 -1
  263. package/dist/esm/components/tags.native.js.map +1 -1
  264. package/dist/esm/components/timeline.native.js.map +1 -1
  265. package/dist/esm/dependsOn.mjs +2 -2
  266. package/dist/esm/dependsOn.mjs.map +1 -1
  267. package/dist/esm/dependsOn.native.js +1 -2
  268. package/dist/esm/dependsOn.native.js.map +1 -1
  269. package/dist/esm/desk/DeskFormPage.native.js.map +1 -1
  270. package/dist/esm/desk/DeskFormSidebar.native.js.map +1 -1
  271. package/dist/esm/desk/DeskListPage.native.js.map +1 -1
  272. package/dist/esm/desk/DeskShell.native.js.map +1 -1
  273. package/dist/esm/desk/DeskSidebar.native.js.map +1 -1
  274. package/dist/esm/desk/awesomebar.native.js.map +1 -1
  275. package/dist/esm/fieldOverrides.native.js.map +1 -1
  276. package/dist/esm/fieldRegistry.native.js.map +1 -1
  277. package/dist/esm/fields/Barcode/index.native.js.map +1 -1
  278. package/dist/esm/fields/Check/index.native.js.map +1 -1
  279. package/dist/esm/fields/CodeEditor/index.native.js.map +1 -1
  280. package/dist/esm/fields/Color/index.native.js.map +1 -1
  281. package/dist/esm/fields/Data/index.native.js.map +1 -1
  282. package/dist/esm/fields/Date/sheetKeyboard.native.js.map +1 -1
  283. package/dist/esm/fields/Date/types.native.js.map +1 -1
  284. package/dist/esm/fields/Date/wire.native.js.map +1 -1
  285. package/dist/esm/fields/DateRange/index.native.js.map +1 -1
  286. package/dist/esm/fields/Duration/index.native.js.map +1 -1
  287. package/dist/esm/fields/DynamicLink.native.js.map +1 -1
  288. package/dist/esm/fields/FileUpload.native.js.map +1 -1
  289. package/dist/esm/fields/FileUploadField/index.native.js.map +1 -1
  290. package/dist/esm/fields/Geolocation/index.native.js.map +1 -1
  291. package/dist/esm/fields/HTML/index.native.js.map +1 -1
  292. package/dist/esm/fields/Heading/index.native.js.map +1 -1
  293. package/dist/esm/fields/Icon/index.native.js.map +1 -1
  294. package/dist/esm/fields/Link.native.js.map +1 -1
  295. package/dist/esm/fields/LinkTree.native.js.map +1 -1
  296. package/dist/esm/fields/LongText/index.native.js.map +1 -1
  297. package/dist/esm/fields/MentionInput/index.native.js.map +1 -1
  298. package/dist/esm/fields/Numeric/index.native.js.map +1 -1
  299. package/dist/esm/fields/OTPInput/index.native.js.map +1 -1
  300. package/dist/esm/fields/Password/index.native.js.map +1 -1
  301. package/dist/esm/fields/Phone/index.native.js.map +1 -1
  302. package/dist/esm/fields/Progress/index.native.js.map +1 -1
  303. package/dist/esm/fields/RadioGroup/index.native.js.map +1 -1
  304. package/dist/esm/fields/Rating/index.native.js.map +1 -1
  305. package/dist/esm/fields/ReadOnly/index.native.js.map +1 -1
  306. package/dist/esm/fields/Select/index.native.js.map +1 -1
  307. package/dist/esm/fields/Signature/index.native.js.map +1 -1
  308. package/dist/esm/fields/Slider/index.native.js.map +1 -1
  309. package/dist/esm/fields/SmallText/index.native.js.map +1 -1
  310. package/dist/esm/fields/Switch/index.native.js.map +1 -1
  311. package/dist/esm/fields/TableMultiSelect.native.js.map +1 -1
  312. package/dist/esm/fields/TextEditor/types.native.js.map +1 -1
  313. package/dist/esm/fields/TimePicker/index.native.js.map +1 -1
  314. package/dist/esm/fields/ToggleGroup/index.native.js.map +1 -1
  315. package/dist/esm/fields/shared/EditorPreviewPanes.mjs +2 -2
  316. package/dist/esm/fields/shared/EditorPreviewPanes.mjs.map +1 -1
  317. package/dist/esm/fields/shared/EditorPreviewPanes.native.js +2 -2
  318. package/dist/esm/fields/shared/EditorPreviewPanes.native.js.map +1 -1
  319. package/dist/esm/filterFields.native.js.map +1 -1
  320. package/dist/esm/formEngine/createPrefill.native.js.map +1 -1
  321. package/dist/esm/formEngine/dirtyTracking.native.js.map +1 -1
  322. package/dist/esm/formEngine/docLifecycle.native.js.map +1 -1
  323. package/dist/esm/formEngine/docPermissions.mjs +19 -1
  324. package/dist/esm/formEngine/docPermissions.mjs.map +1 -1
  325. package/dist/esm/formEngine/docPermissions.native.js +68 -1
  326. package/dist/esm/formEngine/docPermissions.native.js.map +1 -1
  327. package/dist/esm/formEngine/doctypeMeta.native.js.map +1 -1
  328. package/dist/esm/formEngine/fetchFrom.native.js.map +1 -1
  329. package/dist/esm/formEngine/fieldPermissions.native.js.map +1 -1
  330. package/dist/esm/formEngine/formActions.native.js.map +1 -1
  331. package/dist/esm/formEngine/formLayout.native.js.map +1 -1
  332. package/dist/esm/formEngine/index.mjs +2 -2
  333. package/dist/esm/formEngine/index.mjs.map +1 -1
  334. package/dist/esm/formEngine/index.native.js +2 -2
  335. package/dist/esm/formEngine/index.native.js.map +1 -1
  336. package/dist/esm/formEngine/useAmendedAs.native.js.map +1 -1
  337. package/dist/esm/formEngine/useDocRights.native.js.map +1 -1
  338. package/dist/esm/formEngine/useFormEngine.native.js.map +1 -1
  339. package/dist/esm/formEngine/useSessionRoles.native.js.map +1 -1
  340. package/dist/esm/frappeConnections.native.js.map +1 -1
  341. package/dist/esm/frappeEventColor.native.js.map +1 -1
  342. package/dist/esm/frappeNavigation.native.js.map +1 -1
  343. package/dist/esm/frappeStoryTarget.native.js.map +1 -1
  344. package/dist/esm/frappeUsers.native.js.map +1 -1
  345. package/dist/esm/index.mjs +16 -4
  346. package/dist/esm/index.mjs.map +1 -1
  347. package/dist/esm/index.native.js +16 -4
  348. package/dist/esm/index.native.js.map +1 -1
  349. package/dist/esm/insights/InsightsFacetTags.native.js.map +1 -1
  350. package/dist/esm/insights/InsightsKpiBand.native.js.map +1 -1
  351. package/dist/esm/insights/InsightsLeaders.native.js.map +1 -1
  352. package/dist/esm/insights/InsightsRecords.native.js.map +1 -1
  353. package/dist/esm/insights/InsightsTable.native.js.map +1 -1
  354. package/dist/esm/insights/insightsData.native.js.map +1 -1
  355. package/dist/esm/insights/insightsRecord.native.js.map +1 -1
  356. package/dist/esm/list/FacetBadge.native.js.map +1 -1
  357. package/dist/esm/list/FacetRail.native.js.map +1 -1
  358. package/dist/esm/list/ImageWell.native.js.map +1 -1
  359. package/dist/esm/list/ListControls.native.js.map +1 -1
  360. package/dist/esm/list/ListToastHost.native.js.map +1 -1
  361. package/dist/esm/list/RangeFilter.native.js.map +1 -1
  362. package/dist/esm/list/ShufflePanel.native.js.map +1 -1
  363. package/dist/esm/list/facetReading.native.js.map +1 -1
  364. package/dist/esm/list/favorites.native.js.map +1 -1
  365. package/dist/esm/list/listColumns.native.js.map +1 -1
  366. package/dist/esm/list/listFields.native.js.map +1 -1
  367. package/dist/esm/list/listFormat.native.js.map +1 -1
  368. package/dist/esm/list/listState.native.js.map +1 -1
  369. package/dist/esm/list/recordLook.native.js.map +1 -1
  370. package/dist/esm/list/statusColors.native.js.map +1 -1
  371. package/dist/esm/list/useListControls.native.js.map +1 -1
  372. package/dist/esm/liveErrors.mjs +8 -3
  373. package/dist/esm/liveErrors.mjs.map +1 -1
  374. package/dist/esm/liveErrors.native.js +8 -3
  375. package/dist/esm/liveErrors.native.js.map +1 -1
  376. package/dist/esm/measures.mjs +5 -0
  377. package/dist/esm/measures.mjs.map +1 -0
  378. package/dist/esm/measures.native.js +5 -0
  379. package/dist/esm/measures.native.js.map +1 -0
  380. package/dist/esm/record/RecordBars.native.js.map +1 -1
  381. package/dist/esm/record/RecordGallery.native.js.map +1 -1
  382. package/dist/esm/record/RecordHero.native.js.map +1 -1
  383. package/dist/esm/record/RecordPage.native.js.map +1 -1
  384. package/dist/esm/record/RecordPager.native.js.map +1 -1
  385. package/dist/esm/record/RecordRows.native.js.map +1 -1
  386. package/dist/esm/record/recordData.native.js.map +1 -1
  387. package/dist/esm/record/recordSections.native.js.map +1 -1
  388. package/dist/esm/recordShape.mjs +74 -0
  389. package/dist/esm/recordShape.mjs.map +1 -0
  390. package/dist/esm/recordShape.native.js +83 -0
  391. package/dist/esm/recordShape.native.js.map +1 -0
  392. package/dist/esm/report/ReportGrid.mjs +428 -0
  393. package/dist/esm/report/ReportGrid.mjs.map +1 -0
  394. package/dist/esm/report/ReportGrid.native.js +471 -0
  395. package/dist/esm/report/ReportGrid.native.js.map +1 -0
  396. package/dist/esm/report/ReportViewToolbar.mjs +228 -0
  397. package/dist/esm/report/ReportViewToolbar.mjs.map +1 -0
  398. package/dist/esm/report/ReportViewToolbar.native.js +264 -0
  399. package/dist/esm/report/ReportViewToolbar.native.js.map +1 -0
  400. package/dist/esm/report/queryReport.mjs +404 -0
  401. package/dist/esm/report/queryReport.mjs.map +1 -0
  402. package/dist/esm/report/queryReport.native.js +545 -0
  403. package/dist/esm/report/queryReport.native.js.map +1 -0
  404. package/dist/esm/report/queryReportColumns.mjs +105 -0
  405. package/dist/esm/report/queryReportColumns.mjs.map +1 -0
  406. package/dist/esm/report/queryReportColumns.native.js +119 -0
  407. package/dist/esm/report/queryReportColumns.native.js.map +1 -0
  408. package/dist/esm/report/reportViewModel.mjs +343 -0
  409. package/dist/esm/report/reportViewModel.mjs.map +1 -0
  410. package/dist/esm/report/reportViewModel.native.js +611 -0
  411. package/dist/esm/report/reportViewModel.native.js.map +1 -0
  412. package/dist/esm/report/savedReports.mjs +112 -0
  413. package/dist/esm/report/savedReports.mjs.map +1 -0
  414. package/dist/esm/report/savedReports.native.js +141 -0
  415. package/dist/esm/report/savedReports.native.js.map +1 -0
  416. package/dist/esm/report/useFrappeReport.mjs +158 -0
  417. package/dist/esm/report/useFrappeReport.mjs.map +1 -0
  418. package/dist/esm/report/useFrappeReport.native.js +185 -0
  419. package/dist/esm/report/useFrappeReport.native.js.map +1 -0
  420. package/dist/esm/report/useQueryReport.mjs +176 -0
  421. package/dist/esm/report/useQueryReport.mjs.map +1 -0
  422. package/dist/esm/report/useQueryReport.native.js +205 -0
  423. package/dist/esm/report/useQueryReport.native.js.map +1 -0
  424. package/dist/esm/resolveControl.native.js.map +1 -1
  425. package/dist/esm/schemaForm/SchemaWizard.native.js.map +1 -1
  426. package/dist/esm/schemaForm/applyFieldOrder.native.js.map +1 -1
  427. package/dist/esm/schemaForm/index.native.js.map +1 -1
  428. package/dist/esm/shared/devWarn.native.js.map +1 -1
  429. package/dist/esm/shared/useKeyboardInset.native.js.map +1 -1
  430. package/dist/esm/syncError.native.js.map +1 -1
  431. package/dist/esm/useConnectionFilters.native.js.map +1 -1
  432. package/dist/esm/useFrappeAggregate.native.js.map +1 -1
  433. package/dist/esm/useFrappeFacets.native.js.map +1 -1
  434. package/dist/esm/useFrappeForm.mjs +533 -0
  435. package/dist/esm/useFrappeForm.mjs.map +1 -0
  436. package/dist/esm/useFrappeForm.native.js +686 -0
  437. package/dist/esm/useFrappeForm.native.js.map +1 -0
  438. package/dist/esm/useFrappePagination.native.js.map +1 -1
  439. package/dist/esm/useFrappeRows.native.js.map +1 -1
  440. package/dist/jsx/FileBrowser/index.mjs +20 -3
  441. package/dist/jsx/FileBrowser/index.mjs.map +1 -1
  442. package/dist/jsx/FileBrowser/index.native.js +20 -3
  443. package/dist/jsx/FileBrowser/index.native.js.map +1 -1
  444. package/dist/jsx/FrappeCalendar.mjs +4 -3
  445. package/dist/jsx/FrappeCalendar.mjs.map +1 -1
  446. package/dist/jsx/FrappeCalendar.native.js +3 -2
  447. package/dist/jsx/FrappeCalendar.native.js.map +1 -1
  448. package/dist/jsx/FrappeForm.mjs +151 -467
  449. package/dist/jsx/FrappeForm.mjs.map +1 -1
  450. package/dist/jsx/FrappeForm.native.js +152 -633
  451. package/dist/jsx/FrappeForm.native.js.map +1 -1
  452. package/dist/jsx/FrappeListView.mjs +6 -28
  453. package/dist/jsx/FrappeListView.mjs.map +1 -1
  454. package/dist/jsx/FrappeListView.native.js +11 -32
  455. package/dist/jsx/FrappeListView.native.js.map +1 -1
  456. package/dist/jsx/FrappeReportBuilder.mjs +526 -312
  457. package/dist/jsx/FrappeReportBuilder.mjs.map +1 -1
  458. package/dist/jsx/FrappeReportBuilder.native.js +658 -353
  459. package/dist/jsx/FrappeReportBuilder.native.js.map +1 -1
  460. package/dist/jsx/FrappeReportView.mjs +30 -229
  461. package/dist/jsx/FrappeReportView.mjs.map +1 -1
  462. package/dist/jsx/FrappeReportView.native.js +39 -283
  463. package/dist/jsx/FrappeReportView.native.js.map +1 -1
  464. package/dist/jsx/dependsOn.mjs +2 -2
  465. package/dist/jsx/dependsOn.mjs.map +1 -1
  466. package/dist/jsx/dependsOn.native.js +1 -2
  467. package/dist/jsx/dependsOn.native.js.map +1 -1
  468. package/dist/jsx/fields/shared/EditorPreviewPanes.mjs +2 -2
  469. package/dist/jsx/fields/shared/EditorPreviewPanes.mjs.map +1 -1
  470. package/dist/jsx/fields/shared/EditorPreviewPanes.native.js +2 -2
  471. package/dist/jsx/fields/shared/EditorPreviewPanes.native.js.map +1 -1
  472. package/dist/jsx/formEngine/docPermissions.mjs +19 -1
  473. package/dist/jsx/formEngine/docPermissions.mjs.map +1 -1
  474. package/dist/jsx/formEngine/docPermissions.native.js +69 -0
  475. package/dist/jsx/formEngine/docPermissions.native.js.map +1 -1
  476. package/dist/jsx/formEngine/index.mjs +2 -2
  477. package/dist/jsx/formEngine/index.mjs.map +1 -1
  478. package/dist/jsx/formEngine/index.native.js +2 -0
  479. package/dist/jsx/formEngine/index.native.js.map +1 -1
  480. package/dist/jsx/index.js +16 -4
  481. package/dist/jsx/index.js.map +1 -1
  482. package/dist/jsx/index.mjs +16 -4
  483. package/dist/jsx/index.mjs.map +1 -1
  484. package/dist/jsx/index.native.js +67 -7
  485. package/dist/jsx/index.native.js.map +1 -1
  486. package/dist/jsx/liveErrors.mjs +8 -3
  487. package/dist/jsx/liveErrors.mjs.map +1 -1
  488. package/dist/jsx/liveErrors.native.js +8 -2
  489. package/dist/jsx/liveErrors.native.js.map +1 -1
  490. package/dist/jsx/measures.mjs +5 -0
  491. package/dist/jsx/measures.mjs.map +1 -0
  492. package/dist/jsx/measures.native.js +34 -0
  493. package/dist/jsx/measures.native.js.map +1 -0
  494. package/dist/jsx/recordShape.mjs +74 -0
  495. package/dist/jsx/recordShape.mjs.map +1 -0
  496. package/dist/jsx/recordShape.native.js +115 -0
  497. package/dist/jsx/recordShape.native.js.map +1 -0
  498. package/dist/jsx/report/ReportGrid.mjs +428 -0
  499. package/dist/jsx/report/ReportGrid.mjs.map +1 -0
  500. package/dist/jsx/report/ReportGrid.native.js +510 -0
  501. package/dist/jsx/report/ReportGrid.native.js.map +1 -0
  502. package/dist/jsx/report/ReportViewToolbar.mjs +228 -0
  503. package/dist/jsx/report/ReportViewToolbar.mjs.map +1 -0
  504. package/dist/jsx/report/ReportViewToolbar.native.js +303 -0
  505. package/dist/jsx/report/ReportViewToolbar.native.js.map +1 -0
  506. package/dist/jsx/report/queryReport.mjs +404 -0
  507. package/dist/jsx/report/queryReport.mjs.map +1 -0
  508. package/dist/jsx/report/queryReport.native.js +588 -0
  509. package/dist/jsx/report/queryReport.native.js.map +1 -0
  510. package/dist/jsx/report/queryReportColumns.mjs +105 -0
  511. package/dist/jsx/report/queryReportColumns.mjs.map +1 -0
  512. package/dist/jsx/report/queryReportColumns.native.js +159 -0
  513. package/dist/jsx/report/queryReportColumns.native.js.map +1 -0
  514. package/dist/jsx/report/reportViewModel.mjs +343 -0
  515. package/dist/jsx/report/reportViewModel.mjs.map +1 -0
  516. package/dist/jsx/report/reportViewModel.native.js +657 -0
  517. package/dist/jsx/report/reportViewModel.native.js.map +1 -0
  518. package/dist/jsx/report/savedReports.mjs +112 -0
  519. package/dist/jsx/report/savedReports.mjs.map +1 -0
  520. package/dist/jsx/report/savedReports.native.js +169 -0
  521. package/dist/jsx/report/savedReports.native.js.map +1 -0
  522. package/dist/jsx/report/useFrappeReport.mjs +158 -0
  523. package/dist/jsx/report/useFrappeReport.mjs.map +1 -0
  524. package/dist/jsx/report/useFrappeReport.native.js +214 -0
  525. package/dist/jsx/report/useFrappeReport.native.js.map +1 -0
  526. package/dist/jsx/report/useQueryReport.mjs +176 -0
  527. package/dist/jsx/report/useQueryReport.mjs.map +1 -0
  528. package/dist/jsx/report/useQueryReport.native.js +233 -0
  529. package/dist/jsx/report/useQueryReport.native.js.map +1 -0
  530. package/dist/jsx/useFrappeForm.mjs +533 -0
  531. package/dist/jsx/useFrappeForm.mjs.map +1 -0
  532. package/dist/jsx/useFrappeForm.native.js +714 -0
  533. package/dist/jsx/useFrappeForm.native.js.map +1 -0
  534. package/package.json +16 -16
  535. package/src/FileBrowser/FileBrowser.spec.tsx +21 -0
  536. package/src/FileBrowser/FileBrowser.stories.tsx +27 -0
  537. package/src/FileBrowser/index.tsx +25 -2
  538. package/src/FrappeCalendar.tsx +8 -2
  539. package/src/FrappeForm.stories.tsx +52 -0
  540. package/src/FrappeForm.tsx +176 -565
  541. package/src/FrappeListView.cards.stories.tsx +3 -6
  542. package/src/FrappeListView.tsx +15 -55
  543. package/src/FrappeReportBuilder.stories.tsx +34 -7
  544. package/src/FrappeReportBuilder.tsx +790 -380
  545. package/src/FrappeReportView.spec.tsx +10 -6
  546. package/src/FrappeReportView.stories.tsx +20 -1
  547. package/src/FrappeReportView.tsx +89 -415
  548. package/src/dependsOn.ts +4 -1
  549. package/src/fields/shared/EditorPreviewPanes.tsx +2 -2
  550. package/src/formEngine/docPermissions.spec.ts +36 -1
  551. package/src/formEngine/docPermissions.ts +34 -0
  552. package/src/formEngine/index.ts +8 -1
  553. package/src/frappeRemainder.designLaw.spec.ts +9 -1
  554. package/src/frappeRoutes.spec.tsx +9 -0
  555. package/src/frappeViews.designLaw.spec.ts +15 -2
  556. package/src/guestFallback.spec.tsx +236 -0
  557. package/src/index.ts +117 -16
  558. package/src/liveErrors.spec.ts +10 -0
  559. package/src/liveErrors.ts +16 -3
  560. package/src/measures.ts +11 -0
  561. package/src/recordShape.spec.ts +100 -0
  562. package/src/recordShape.ts +133 -0
  563. package/src/report/ReportGrid.spec.tsx +175 -0
  564. package/src/report/ReportGrid.tsx +530 -0
  565. package/src/report/ReportViewToolbar.spec.tsx +90 -0
  566. package/src/report/ReportViewToolbar.tsx +314 -0
  567. package/src/report/queryReport.spec.ts +483 -0
  568. package/src/report/queryReport.ts +722 -0
  569. package/src/report/queryReportColumns.tsx +123 -0
  570. package/src/report/reportViewModel.spec.ts +393 -0
  571. package/src/report/reportViewModel.ts +617 -0
  572. package/src/report/savedReports.ts +172 -0
  573. package/src/report/seam.spec.ts +216 -0
  574. package/src/report/useFrappeReport.ts +241 -0
  575. package/src/report/useQueryReport.spec.tsx +131 -0
  576. package/src/report/useQueryReport.ts +309 -0
  577. package/src/useFrappeForm.spec.tsx +209 -0
  578. package/src/useFrappeForm.ts +778 -0
  579. package/types/FileBrowser/index.d.ts.map +1 -1
  580. package/types/FrappeCalendar.d.ts.map +1 -1
  581. package/types/FrappeForm.d.ts +21 -1
  582. package/types/FrappeForm.d.ts.map +1 -1
  583. package/types/FrappeListView.d.ts.map +1 -1
  584. package/types/FrappeReportBuilder.d.ts +66 -16
  585. package/types/FrappeReportBuilder.d.ts.map +1 -1
  586. package/types/FrappeReportView.d.ts +9 -127
  587. package/types/FrappeReportView.d.ts.map +1 -1
  588. package/types/dependsOn.d.ts.map +1 -1
  589. package/types/formEngine/docPermissions.d.ts +14 -0
  590. package/types/formEngine/docPermissions.d.ts.map +1 -1
  591. package/types/formEngine/index.d.ts +1 -1
  592. package/types/formEngine/index.d.ts.map +1 -1
  593. package/types/index.d.ts +15 -3
  594. package/types/index.d.ts.map +1 -1
  595. package/types/liveErrors.d.ts +9 -1
  596. package/types/liveErrors.d.ts.map +1 -1
  597. package/types/measures.d.ts +3 -0
  598. package/types/measures.d.ts.map +1 -0
  599. package/types/recordShape.d.ts +45 -0
  600. package/types/recordShape.d.ts.map +1 -0
  601. package/types/report/ReportGrid.d.ts +20 -0
  602. package/types/report/ReportGrid.d.ts.map +1 -0
  603. package/types/report/ReportViewToolbar.d.ts +31 -0
  604. package/types/report/ReportViewToolbar.d.ts.map +1 -0
  605. package/types/report/queryReport.d.ts +181 -0
  606. package/types/report/queryReport.d.ts.map +1 -0
  607. package/types/report/queryReportColumns.d.ts +12 -0
  608. package/types/report/queryReportColumns.d.ts.map +1 -0
  609. package/types/report/reportViewModel.d.ts +146 -0
  610. package/types/report/reportViewModel.d.ts.map +1 -0
  611. package/types/report/savedReports.d.ts +27 -0
  612. package/types/report/savedReports.d.ts.map +1 -0
  613. package/types/report/useFrappeReport.d.ts +60 -0
  614. package/types/report/useFrappeReport.d.ts.map +1 -0
  615. package/types/report/useQueryReport.d.ts +37 -0
  616. package/types/report/useQueryReport.d.ts.map +1 -0
  617. package/types/useFrappeForm.d.ts +142 -0
  618. package/types/useFrappeForm.d.ts.map +1 -0
@@ -0,0 +1,714 @@
1
+ "use strict";
2
+
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
7
+ var __export = (target, all) => {
8
+ for (var name in all) __defProp(target, name, {
9
+ get: all[name],
10
+ enumerable: true
11
+ });
12
+ };
13
+ var __copyProps = (to, from, except, desc) => {
14
+ if (from && typeof from === "object" || typeof from === "function") {
15
+ for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
16
+ get: () => from[key],
17
+ enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
18
+ });
19
+ }
20
+ return to;
21
+ };
22
+ var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
23
+ value: true
24
+ }), mod);
25
+ var useFrappeForm_exports = {};
26
+ __export(useFrappeForm_exports, {
27
+ useFrappeForm: () => useFrappeForm
28
+ });
29
+ module.exports = __toCommonJS(useFrappeForm_exports);
30
+ var import_frappe = require("@multiplatform.one/frappe");
31
+ var import_db = require("@tanstack/db");
32
+ var import_react = require("react");
33
+ var import_react_i18next = require("react-i18next");
34
+ var import_FrappeProvider = require("./FrappeProvider.native.js");
35
+ var import_createPrefill = require("./formEngine/createPrefill.native.js");
36
+ var import_dirtyTracking = require("./formEngine/dirtyTracking.native.js");
37
+ var import_docLifecycle = require("./formEngine/docLifecycle.native.js");
38
+ var import_fetchFrom = require("./formEngine/fetchFrom.native.js");
39
+ var import_fieldPermissions = require("./formEngine/fieldPermissions.native.js");
40
+ var import_formActions = require("./formEngine/formActions.native.js");
41
+ var import_formLayout = require("./formEngine/formLayout.native.js");
42
+ var import_useAmendedAs = require("./formEngine/useAmendedAs.native.js");
43
+ var import_useDocRights = require("./formEngine/useDocRights.native.js");
44
+ var import_useFormEngine = require("./formEngine/useFormEngine.native.js");
45
+ function _instanceof(left, right) {
46
+ "@swc/helpers - instanceof";
47
+
48
+ if (right != null && typeof Symbol !== "undefined" && right[Symbol.hasInstance]) {
49
+ return !!right[Symbol.hasInstance](left);
50
+ } else {
51
+ return left instanceof right;
52
+ }
53
+ }
54
+ function sectionsToLayoutFields(sections) {
55
+ var fields = [];
56
+ sections.forEach(function (section, sectionIndex) {
57
+ fields.push({
58
+ fieldname: `__section_${sectionIndex}`,
59
+ fieldtype: section.tab ? "Tab Break" : "Section Break",
60
+ label: section.label,
61
+ collapsible: section.collapsible ? 1 : 0
62
+ });
63
+ section.columns.forEach(function (column, columnIndex) {
64
+ if (columnIndex > 0) {
65
+ fields.push({
66
+ fieldname: `__column_${sectionIndex}_${columnIndex}`,
67
+ fieldtype: "Column Break"
68
+ });
69
+ }
70
+ fields.push(...column.fields);
71
+ });
72
+ });
73
+ return fields;
74
+ }
75
+ function isConflictError(err) {
76
+ var _e_message;
77
+ var e = err;
78
+ if (!e) return false;
79
+ if (e.status === 409) return true;
80
+ if (e.exc_type === "TimestampMismatchError") return true;
81
+ return /TimestampMismatch|has been modified/i.test((_e_message = e.message) !== null && _e_message !== void 0 ? _e_message : "");
82
+ }
83
+ function useFrappeForm(options) {
84
+ var _ref;
85
+ var {
86
+ doctype,
87
+ name,
88
+ baseURL,
89
+ auth,
90
+ syncOptions,
91
+ fields,
92
+ sections,
93
+ hideFields,
94
+ hideSections,
95
+ roles,
96
+ rights: rightsOverride,
97
+ shares: sharesOverride,
98
+ readShares = true,
99
+ disabled = false,
100
+ initialDoc,
101
+ meta: metaSource
102
+ } = options;
103
+ var config = (0, import_FrappeProvider.useFrappeConfig)();
104
+ var {
105
+ t
106
+ } = (0, import_react_i18next.useTranslation)();
107
+ var isCreate = !name;
108
+ var seedDoc = name && initialDoc && initialDoc.name === name ? initialDoc : void 0;
109
+ var seedRef = (0, import_react.useRef)(seedDoc);
110
+ seedRef.current = seedDoc;
111
+ var [localDoc, setLocalDoc] = (0, import_react.useState)(function () {
112
+ return seedDoc !== null && seedDoc !== void 0 ? seedDoc : {};
113
+ });
114
+ var [baselineDoc, setBaselineDoc] = (0, import_react.useState)(function () {
115
+ return seedDoc;
116
+ });
117
+ var [docError, setDocError] = (0, import_react.useState)(null);
118
+ var [conflictFields, setConflictFields] = (0, import_react.useState)([]);
119
+ var [saveConflict, setSaveConflict] = (0, import_react.useState)(false);
120
+ var [wasDeleted, setWasDeleted] = (0, import_react.useState)(false);
121
+ var [isSubmitting, setIsSubmitting] = (0, import_react.useState)(false);
122
+ var [errors, setErrors] = (0, import_react.useState)({});
123
+ var [activeTab, setActiveTab] = (0, import_react.useState)(void 0);
124
+ var everLoadedRef = (0, import_react.useRef)(false);
125
+ var localDocRef = (0, import_react.useRef)(localDoc);
126
+ localDocRef.current = localDoc;
127
+ var baselineRef = (0, import_react.useRef)(baselineDoc);
128
+ baselineRef.current = baselineDoc;
129
+ var createDraftRef = (0, import_react.useRef)(void 0);
130
+ var createSeededRef = (0, import_react.useRef)(void 0);
131
+ var finalBaseURL = baseURL !== null && baseURL !== void 0 ? baseURL : config === null || config === void 0 ? void 0 : config.baseURL;
132
+ var finalAuth = auth !== null && auth !== void 0 ? auth : config === null || config === void 0 ? void 0 : config.auth;
133
+ var finalSyncOptions = syncOptions !== null && syncOptions !== void 0 ? syncOptions : config === null || config === void 0 ? void 0 : config.syncOptions;
134
+ var frappeConfig = (0, import_react.useMemo)(function () {
135
+ return finalBaseURL ? {
136
+ baseURL: finalBaseURL,
137
+ socketPort: config === null || config === void 0 ? void 0 : config.socketPort,
138
+ siteName: config === null || config === void 0 ? void 0 : config.siteName,
139
+ socketBaseURL: config === null || config === void 0 ? void 0 : config.socketBaseURL,
140
+ auth: finalAuth,
141
+ syncOptions: finalSyncOptions,
142
+ realtime: config === null || config === void 0 ? void 0 : config.realtime,
143
+ fixtures: config === null || config === void 0 ? void 0 : config.fixtures
144
+ } : void 0;
145
+ }, [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]);
146
+ var ownMeta = (0, import_frappe.useDocTypeMeta)(metaSource ? void 0 : frappeConfig, doctype);
147
+ var meta = metaSource ? metaSource.meta : ownMeta.meta;
148
+ var isMetaLoading = metaSource ? metaSource.isLoading : ownMeta.isLoading;
149
+ var metaError = metaSource ? metaSource.error : ownMeta.error;
150
+ var isSubmittable = !!(meta === null || meta === void 0 ? void 0 : meta.is_submittable);
151
+ var docstatus = Number((_ref = baselineDoc === null || baselineDoc === void 0 ? void 0 : baselineDoc.docstatus) !== null && _ref !== void 0 ? _ref : 0);
152
+ var layoutFields = (0, import_react.useMemo)(function () {
153
+ if (!meta) return void 0;
154
+ return sections ? sectionsToLayoutFields(sections) : meta.fields;
155
+ }, [meta, sections]);
156
+ var amendedAs = (0, import_useAmendedAs.useAmendedAs)(isSubmittable && docstatus === 2 ? frappeConfig : void 0, doctype, name);
157
+ var promptNamed = isCreate && !!meta && (0, import_formLayout.isPromptNamed)(meta.autoname, meta.naming_rule);
158
+ var fetchMap = (0, import_react.useMemo)(function () {
159
+ return meta ? (0, import_fetchFrom.buildFetchMap)(meta.fields) : void 0;
160
+ }, [meta]);
161
+ var handleDocSyncError = (0, import_react.useCallback)(function (err) {
162
+ setDocError(_instanceof(err, Error) ? err : new Error(String(err)));
163
+ }, []);
164
+ var docCollection = (0, import_frappe.useFrappeCollection)(name ? frappeConfig : void 0, doctype, {
165
+ fields,
166
+ filters: name ? {
167
+ name
168
+ } : void 0,
169
+ onSyncError: handleDocSyncError
170
+ });
171
+ var {
172
+ data: rawDocData,
173
+ isLoading: isDocLoading
174
+ } = (0, import_frappe.useLiveQuery)(function (q) {
175
+ if (!docCollection || !name) return null;
176
+ return q.from({
177
+ _doc: docCollection
178
+ }).where(function (param) {
179
+ var {
180
+ _doc
181
+ } = param;
182
+ if (!_doc) return (0, import_db.eq)(name, name);
183
+ return (0, import_db.eq)(_doc.name, name);
184
+ });
185
+ }, [docCollection, name]);
186
+ var liveDoc = (0, import_react.useMemo)(function () {
187
+ var _arr_;
188
+ var arr = Array.isArray(rawDocData) ? rawDocData : rawDocData ? [rawDocData] : [];
189
+ var doc = (_arr_ = arr[0]) !== null && _arr_ !== void 0 ? _arr_ : null;
190
+ return doc ? {
191
+ data: doc,
192
+ isLoading: isDocLoading
193
+ } : name ? {
194
+ data: null,
195
+ isLoading: isDocLoading
196
+ } : null;
197
+ }, [rawDocData, isDocLoading, name]);
198
+ var collection = (0, import_frappe.useFrappeCollection)(name ? void 0 : frappeConfig, doctype, {
199
+ fields
200
+ });
201
+ var shareCollection = (0, import_frappe.useFrappeCollection)(readShares && !sharesOverride && name ? frappeConfig : void 0, "DocShare", {
202
+ fields: ["name", "user", "everyone", "read", "write", "share"],
203
+ filters: {
204
+ share_doctype: doctype,
205
+ share_name: name
206
+ }
207
+ });
208
+ var {
209
+ data: rawShareRows
210
+ } = (0, import_frappe.useLiveQuery)(function (q) {
211
+ return shareCollection ? q.from({
212
+ _share: shareCollection
213
+ }) : null;
214
+ }, [shareCollection]);
215
+ var shareRows = (0, import_react.useMemo)(function () {
216
+ return sharesOverride !== null && sharesOverride !== void 0 ? sharesOverride : shareCollection ? rawShareRows !== null && rawShareRows !== void 0 ? rawShareRows : [] : void 0;
217
+ }, [sharesOverride, shareCollection, rawShareRows]);
218
+ var owner = baselineDoc === null || baselineDoc === void 0 ? void 0 : baselineDoc.owner;
219
+ var {
220
+ rights: sessionRights,
221
+ pending: sessionPending,
222
+ roles: effectiveRoles,
223
+ user
224
+ } = (0, import_useDocRights.useDocRights)(frappeConfig, meta, {
225
+ roles,
226
+ owner: typeof owner === "string" ? owner : void 0,
227
+ shares: shareRows
228
+ });
229
+ var rights = rightsOverride !== null && rightsOverride !== void 0 ? rightsOverride : sessionRights;
230
+ var rightsPending = rightsOverride ? false : sessionPending;
231
+ var permLevels = (0, import_react.useMemo)(function () {
232
+ return (0, import_fieldPermissions.buildPermLevelMatrix)(meta === null || meta === void 0 ? void 0 : meta.permissions, effectiveRoles);
233
+ }, [meta === null || meta === void 0 ? void 0 : meta.permissions, effectiveRoles]);
234
+ var tabs = (0, import_react.useMemo)(function () {
235
+ if (!layoutFields) return void 0;
236
+ return (0, import_formLayout.buildFormTabs)({
237
+ fields: layoutFields,
238
+ doc: {
239
+ ...localDoc,
240
+ __islocal: isCreate ? 1 : 0,
241
+ ...(user ? {
242
+ __session_user: user
243
+ } : {})
244
+ },
245
+ docstatus,
246
+ formReadOnly: !!(meta === null || meta === void 0 ? void 0 : meta.read_only),
247
+ isCreate,
248
+ detailsLabel: t("Details"),
249
+ permLevels,
250
+ hiddenFields: hideFields,
251
+ hiddenSections: hideSections
252
+ });
253
+ }, [layoutFields, localDoc, isCreate, user, docstatus, meta === null || meta === void 0 ? void 0 : meta.read_only, permLevels, hideFields, hideSections, t]);
254
+ (0, import_react.useEffect)(function () {
255
+ everLoadedRef.current = false;
256
+ if (name) createDraftRef.current = void 0;
257
+ createSeededRef.current = void 0;
258
+ setWasDeleted(false);
259
+ setConflictFields([]);
260
+ setSaveConflict(false);
261
+ setDocError(null);
262
+ var seed = seedRef.current;
263
+ setBaselineDoc(seed);
264
+ if (seed) setLocalDoc(seed);
265
+ }, [doctype, name]);
266
+ (0, import_frappe.useFrappeDoctypeEvents)(name ? frappeConfig : void 0, doctype, function (event) {
267
+ if (event.type !== "doc_deleted") return;
268
+ var payload = event.payload;
269
+ if ((payload === null || payload === void 0 ? void 0 : payload.name) === name) setWasDeleted(true);
270
+ }, Boolean(name));
271
+ (0, import_react.useEffect)(function () {
272
+ var incoming = liveDoc === null || liveDoc === void 0 ? void 0 : liveDoc.data;
273
+ if (incoming) {
274
+ everLoadedRef.current = true;
275
+ setWasDeleted(false);
276
+ var baseline = baselineRef.current;
277
+ if (!baseline) {
278
+ setBaselineDoc(incoming);
279
+ setLocalDoc(incoming);
280
+ return;
281
+ }
282
+ var local = localDocRef.current;
283
+ var merged = {
284
+ ...incoming
285
+ };
286
+ var newConflicts = [];
287
+ var _iteratorNormalCompletion = true,
288
+ _didIteratorError = false,
289
+ _iteratorError = void 0;
290
+ try {
291
+ for (var _iterator = Object.keys(local)[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
292
+ var key = _step.value;
293
+ var localValue = local[key];
294
+ if ((0, import_dirtyTracking.isSameValue)(localValue, baseline[key])) continue;
295
+ merged[key] = localValue;
296
+ var remote = incoming[key];
297
+ if (!(0, import_dirtyTracking.isSameValue)(remote, baseline[key]) && !(0, import_dirtyTracking.isSameValue)(remote, localValue)) {
298
+ newConflicts.push(key);
299
+ }
300
+ }
301
+ } catch (err) {
302
+ _didIteratorError = true;
303
+ _iteratorError = err;
304
+ } finally {
305
+ try {
306
+ if (!_iteratorNormalCompletion && _iterator.return != null) {
307
+ _iterator.return();
308
+ }
309
+ } finally {
310
+ if (_didIteratorError) {
311
+ throw _iteratorError;
312
+ }
313
+ }
314
+ }
315
+ setBaselineDoc(incoming);
316
+ setLocalDoc(merged);
317
+ if (newConflicts.length > 0) {
318
+ setConflictFields(function (prev) {
319
+ return Array.from(/* @__PURE__ */new Set([...prev, ...newConflicts]));
320
+ });
321
+ }
322
+ } else if (name && everLoadedRef.current && !(liveDoc === null || liveDoc === void 0 ? void 0 : liveDoc.isLoading)) {
323
+ setWasDeleted(true);
324
+ }
325
+ }, [liveDoc === null || liveDoc === void 0 ? void 0 : liveDoc.data, liveDoc === null || liveDoc === void 0 ? void 0 : liveDoc.isLoading, doctype, name]);
326
+ (0, import_react.useEffect)(function () {
327
+ var _createDraftRef_current;
328
+ if (name) return;
329
+ if (((_createDraftRef_current = createDraftRef.current) === null || _createDraftRef_current === void 0 ? void 0 : _createDraftRef_current.doctype) !== doctype) {
330
+ createDraftRef.current = {
331
+ doctype,
332
+ values: (0, import_createPrefill.takeCreatePrefill)(doctype)
333
+ };
334
+ }
335
+ var draft = createDraftRef.current.values;
336
+ var defaults = meta ? (0, import_formLayout.buildCreateDefaults)(meta.fields, user) : {};
337
+ var fresh = createSeededRef.current !== doctype;
338
+ createSeededRef.current = doctype;
339
+ setLocalDoc(function (prev) {
340
+ return {
341
+ ...defaults,
342
+ ...draft,
343
+ ...(fresh ? {} : prev),
344
+ doctype
345
+ };
346
+ });
347
+ }, [name, doctype, meta, user]);
348
+ var dirtyFields = (0, import_react.useMemo)(function () {
349
+ return (0, import_dirtyTracking.computeDirtyFields)(localDoc, baselineDoc);
350
+ }, [localDoc, baselineDoc]);
351
+ var isDirty = dirtyFields.length > 0;
352
+ var runFetchFrom = function runFetchFrom2(field, value) {
353
+ var rules = fetchMap === null || fetchMap === void 0 ? void 0 : fetchMap.get(field);
354
+ if (!rules || rules.length === 0 || !frappeConfig) return;
355
+ var applyPatch = function applyPatch2(fetched2) {
356
+ setLocalDoc(function (prev) {
357
+ var current = prev;
358
+ if (current[field] !== value) return prev;
359
+ var patch = (0, import_fetchFrom.applyFetchedValues)(rules, fetched2, current);
360
+ return Object.keys(patch).length > 0 ? {
361
+ ...current,
362
+ ...patch
363
+ } : prev;
364
+ });
365
+ };
366
+ if ((0, import_dirtyTracking.isEmptyValue)(value)) {
367
+ applyPatch({});
368
+ return;
369
+ }
370
+ var linkField = meta === null || meta === void 0 ? void 0 : meta.fields.find(function (metaField) {
371
+ return metaField.fieldname === field;
372
+ });
373
+ var targetDoctype = typeof (linkField === null || linkField === void 0 ? void 0 : linkField.options) === "string" ? linkField.options : "";
374
+ if (!targetDoctype) return;
375
+ var sources = Array.from(new Set(rules.map(function (rule) {
376
+ return rule.source;
377
+ })));
378
+ var fixtures = frappeConfig.fixtures;
379
+ var fetched = fixtures ? fixtures.getDoc(targetDoctype, String(value), sources).then(function (doc) {
380
+ return doc !== null && doc !== void 0 ? doc : {};
381
+ }) : (0, import_formActions.validateLink)((0, import_formActions.createHttpClient)(frappeConfig), targetDoctype, String(value), sources);
382
+ fetched.then(applyPatch).catch(function () {
383
+ return void 0;
384
+ });
385
+ };
386
+ var setValue = function setValue2(field, value) {
387
+ setLocalDoc(function (prev) {
388
+ return {
389
+ ...prev,
390
+ [field]: value
391
+ };
392
+ });
393
+ setErrors(function (prev) {
394
+ if (!(String(field) in prev)) return prev;
395
+ var next = {
396
+ ...prev
397
+ };
398
+ delete next[String(field)];
399
+ return next;
400
+ });
401
+ runFetchFrom(String(field), value);
402
+ };
403
+ var validate = function validate2() {
404
+ if (!tabs) return {};
405
+ var validationErrors = {};
406
+ var doc = localDoc;
407
+ if (promptNamed && (0, import_dirtyTracking.isEmptyValue)(doc.name)) {
408
+ validationErrors.name = t("Name is required");
409
+ }
410
+ var _iteratorNormalCompletion = true,
411
+ _didIteratorError = false,
412
+ _iteratorError = void 0;
413
+ try {
414
+ for (var _iterator = tabs[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
415
+ var tab = _step.value;
416
+ var _iteratorNormalCompletion1 = true,
417
+ _didIteratorError1 = false,
418
+ _iteratorError1 = void 0;
419
+ try {
420
+ for (var _iterator1 = tab.schema.fields[Symbol.iterator](), _step1; !(_iteratorNormalCompletion1 = (_step1 = _iterator1.next()).done); _iteratorNormalCompletion1 = true) {
421
+ var field = _step1.value;
422
+ if (!field.required) continue;
423
+ if ((0, import_dirtyTracking.isEmptyValue)(doc[field.name])) {
424
+ validationErrors[field.name] = t("{{label}} is required", {
425
+ label: field.label || field.name
426
+ });
427
+ }
428
+ }
429
+ } catch (err) {
430
+ _didIteratorError1 = true;
431
+ _iteratorError1 = err;
432
+ } finally {
433
+ try {
434
+ if (!_iteratorNormalCompletion1 && _iterator1.return != null) {
435
+ _iterator1.return();
436
+ }
437
+ } finally {
438
+ if (_didIteratorError1) {
439
+ throw _iteratorError1;
440
+ }
441
+ }
442
+ }
443
+ }
444
+ } catch (err) {
445
+ _didIteratorError = true;
446
+ _iteratorError = err;
447
+ } finally {
448
+ try {
449
+ if (!_iteratorNormalCompletion && _iterator.return != null) {
450
+ _iterator.return();
451
+ }
452
+ } finally {
453
+ if (_didIteratorError) {
454
+ throw _iteratorError;
455
+ }
456
+ }
457
+ }
458
+ return validationErrors;
459
+ };
460
+ var canWrite = isCreate ? rights.create : rights.write;
461
+ var save = async function save2() {
462
+ if (wasDeleted || !canWrite || disabled) return void 0;
463
+ var requiredErrors = validate();
464
+ if (Object.keys(requiredErrors).length > 0) {
465
+ setErrors(requiredErrors);
466
+ return void 0;
467
+ }
468
+ setIsSubmitting(true);
469
+ setErrors({});
470
+ try {
471
+ var _localDoc_name, _ref2;
472
+ var _getFrappeSyncModule;
473
+ if (name) {
474
+ if (!docCollection) return void 0;
475
+ if (dirtyFields.length > 0) {
476
+ var local = localDoc;
477
+ var tx = docCollection.update(name, function (draft) {
478
+ var _iteratorNormalCompletion2 = true,
479
+ _didIteratorError2 = false,
480
+ _iteratorError2 = void 0;
481
+ try {
482
+ for (var _iterator2 = dirtyFields[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) {
483
+ var key = _step2.value;
484
+ draft[key] = local[key];
485
+ }
486
+ } catch (err) {
487
+ _didIteratorError2 = true;
488
+ _iteratorError2 = err;
489
+ } finally {
490
+ try {
491
+ if (!_iteratorNormalCompletion2 && _iterator2.return != null) {
492
+ _iterator2.return();
493
+ }
494
+ } finally {
495
+ if (_didIteratorError2) {
496
+ throw _iteratorError2;
497
+ }
498
+ }
499
+ }
500
+ });
501
+ await tx.isPersisted.promise;
502
+ }
503
+ setConflictFields([]);
504
+ setSaveConflict(false);
505
+ return name;
506
+ }
507
+ if (!collection || !frappeConfig) return void 0;
508
+ var temporaryName = (_localDoc_name = localDoc.name) !== null && _localDoc_name !== void 0 ? _localDoc_name : `new-${Date.now()}`;
509
+ var docToInsert = {
510
+ ...localDoc,
511
+ doctype,
512
+ name: temporaryName
513
+ };
514
+ var tx1 = collection.insert(docToInsert);
515
+ await tx1.isPersisted.promise;
516
+ return (_ref2 = (_getFrappeSyncModule = (0, import_frappe.getFrappeSyncModule)(frappeConfig)) === null || _getFrappeSyncModule === void 0 ? void 0 : _getFrappeSyncModule.createdName(temporaryName)) !== null && _ref2 !== void 0 ? _ref2 : temporaryName;
517
+ } catch (err1) {
518
+ var e = err1;
519
+ if (isConflictError(err1)) setSaveConflict(true);
520
+ if ((e === null || e === void 0 ? void 0 : e.exc_type) === "ValidationError") {
521
+ var validationErrors = {};
522
+ if (e._server_messages) {
523
+ try {
524
+ var messages = JSON.parse(e._server_messages);
525
+ var _iteratorNormalCompletion = true,
526
+ _didIteratorError = false,
527
+ _iteratorError = void 0;
528
+ try {
529
+ for (var _iterator = messages[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
530
+ var msg = _step.value;
531
+ var parsed = typeof msg === "string" ? JSON.parse(msg) : msg;
532
+ if (parsed.message) {
533
+ validationErrors.general = parsed.message;
534
+ }
535
+ }
536
+ } catch (err) {
537
+ _didIteratorError = true;
538
+ _iteratorError = err;
539
+ } finally {
540
+ try {
541
+ if (!_iteratorNormalCompletion && _iterator.return != null) {
542
+ _iterator.return();
543
+ }
544
+ } finally {
545
+ if (_didIteratorError) {
546
+ throw _iteratorError;
547
+ }
548
+ }
549
+ }
550
+ } catch (unused) {
551
+ validationErrors.general = t("Validation error occurred");
552
+ }
553
+ }
554
+ setErrors(validationErrors);
555
+ } else {
556
+ setErrors({
557
+ general: (e === null || e === void 0 ? void 0 : e.message) || t("Failed to save document")
558
+ });
559
+ }
560
+ return void 0;
561
+ } finally {
562
+ setIsSubmitting(false);
563
+ }
564
+ };
565
+ var reset = function reset2() {
566
+ if (baselineDoc) {
567
+ setLocalDoc(baselineDoc);
568
+ } else if (liveDoc === null || liveDoc === void 0 ? void 0 : liveDoc.data) {
569
+ setLocalDoc(liveDoc.data);
570
+ } else {
571
+ setLocalDoc({
572
+ doctype
573
+ });
574
+ }
575
+ setConflictFields([]);
576
+ setSaveConflict(false);
577
+ setErrors({});
578
+ };
579
+ var remove = async function remove2() {
580
+ if (!docCollection || !name || wasDeleted || !rights.delete) return false;
581
+ setIsSubmitting(true);
582
+ setErrors({});
583
+ try {
584
+ var tx = docCollection.delete(name);
585
+ await tx.isPersisted.promise;
586
+ return true;
587
+ } catch (err) {
588
+ setErrors({
589
+ general: (err === null || err === void 0 ? void 0 : err.message) || t("Failed to delete")
590
+ });
591
+ return false;
592
+ } finally {
593
+ setIsSubmitting(false);
594
+ }
595
+ };
596
+ var transitionDocstatus = async function transitionDocstatus2(to, failure) {
597
+ if (!docCollection || !name || wasDeleted || !rights[to === 1 ? "submit" : "cancel"]) {
598
+ return false;
599
+ }
600
+ if (to === 1) {
601
+ var requiredErrors = validate();
602
+ if (Object.keys(requiredErrors).length > 0) {
603
+ setErrors(requiredErrors);
604
+ return false;
605
+ }
606
+ }
607
+ setIsSubmitting(true);
608
+ setErrors({});
609
+ try {
610
+ var tx = docCollection.update(name, function (draft) {
611
+ draft.docstatus = to;
612
+ });
613
+ await tx.isPersisted.promise;
614
+ return true;
615
+ } catch (err) {
616
+ if (isConflictError(err)) setSaveConflict(true);
617
+ setErrors({
618
+ general: (0, import_useFormEngine.extractServerError)(err, failure)
619
+ });
620
+ return false;
621
+ } finally {
622
+ setIsSubmitting(false);
623
+ }
624
+ };
625
+ var submitDocument = function submitDocument2() {
626
+ return transitionDocstatus(1, t("Failed to submit"));
627
+ };
628
+ var cancelDocument = function cancelDocument2() {
629
+ return transitionDocstatus(2, t("Failed to cancel"));
630
+ };
631
+ var amend = function amend2() {
632
+ if (!meta || !name || !rights.amend) return void 0;
633
+ var draft = (0, import_docLifecycle.buildAmendValues)(meta.fields, localDoc, name);
634
+ (0, import_createPrefill.setCreatePrefill)(doctype, draft);
635
+ return draft;
636
+ };
637
+ var duplicate = function duplicate2() {
638
+ if (!meta) return void 0;
639
+ var values = (0, import_formLayout.buildCopyValues)(meta.fields, localDoc);
640
+ (0, import_createPrefill.setCreatePrefill)(doctype, values);
641
+ return values;
642
+ };
643
+ var fieldTargets = (0, import_react.useMemo)(function () {
644
+ return (tabs !== null && tabs !== void 0 ? tabs : []).flatMap(function (tab) {
645
+ return tab.schema.fields.map(function (field) {
646
+ return {
647
+ name: field.name,
648
+ label: field.label || field.name,
649
+ tabKey: tab.key,
650
+ tabLabel: tab.label
651
+ };
652
+ });
653
+ });
654
+ }, [tabs]);
655
+ var revealField = function revealField2(fieldName) {
656
+ var target = fieldTargets.find(function (field) {
657
+ return field.name === fieldName;
658
+ });
659
+ if (!target) return false;
660
+ setActiveTab(target.tabKey);
661
+ return true;
662
+ };
663
+ var isDocReading = Boolean(name) && (!docCollection || Boolean(liveDoc === null || liveDoc === void 0 ? void 0 : liveDoc.isLoading));
664
+ var showsSeed = Boolean(seedDoc) && isDocReading;
665
+ var status = !name ? "ready" : docError && !(liveDoc === null || liveDoc === void 0 ? void 0 : liveDoc.data) && !wasDeleted ? "error" : isDocReading && !showsSeed && !wasDeleted ? "loading" : !isDocReading && !(liveDoc === null || liveDoc === void 0 ? void 0 : liveDoc.data) && !wasDeleted ? "notFound" : "ready";
666
+ return {
667
+ doctype,
668
+ name,
669
+ isCreate,
670
+ connection: frappeConfig,
671
+ meta,
672
+ metaLoading: isMetaLoading,
673
+ metaError,
674
+ doc: localDoc,
675
+ baseline: baselineDoc,
676
+ setValue,
677
+ errors,
678
+ setErrors,
679
+ dirtyFields,
680
+ isDirty,
681
+ isSubmitting,
682
+ docstatus,
683
+ isSubmittable,
684
+ rights,
685
+ rightsPending,
686
+ roles: effectiveRoles,
687
+ user,
688
+ shareRows,
689
+ canWrite,
690
+ readOnly: disabled || wasDeleted || !!(meta === null || meta === void 0 ? void 0 : meta.read_only) || !canWrite,
691
+ wasDeleted,
692
+ conflictFields,
693
+ conflict: saveConflict || conflictFields.length > 0,
694
+ status,
695
+ docError,
696
+ showsSeed,
697
+ tabs,
698
+ promptNamed,
699
+ fieldTargets,
700
+ activeTab,
701
+ setActiveTab,
702
+ revealField,
703
+ amendedAs,
704
+ validate,
705
+ save,
706
+ submitDocument,
707
+ cancelDocument,
708
+ remove,
709
+ reset,
710
+ amend,
711
+ duplicate
712
+ };
713
+ }
714
+ //# sourceMappingURL=useFrappeForm.native.js.map