@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 @@
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","useQueryReport_exports","useQueryReport","module","exports","import_react","require","import_FrappeProvider","import_liveErrors","import_queryReport","import_useFrappeReport","SCRIPT_METHOD","EMPTY_COLUMNS","EMPTY_ROWS","fetchReportMeta","connection","reportName","_res_payload","res","reportCall","doctype","doc","payload","message","Error","fetchReportScript","_res_payload_message","report_name","script","options","arguments","length","_ref","_ref1","_fixture_meta","fixture","config","useFrappeConfig","baseURL","auth","useMemo","initialFiltersRef","useRef","initialFilters","current","meta","setMeta","useState","setScript","sourcesSettled","setSourcesSettled","filters","setFiltersState","seededFor","lastReport","useEffect","cancelled","Promise","allSettled","then","param","metaResult","scriptResult","status","scriptText","extraction","extractScriptFilters","merged","declared","normalizeFilterMeta","defaults","defaultFilterValues","keys","previous","scriptExtraction","docFilterMeta","_fixture_meta2","filterMeta","scriptFilterGap","declaredCount","missingRequired","filter","mandatory","isEmptyFilterValue","fieldname","hasMissingRequired","metaDisabled","disabled","runFilters","buildRunFilters","runEnabled","Boolean","run","useFrappeReport","ignorePreparedReport","debounceMs","enabled","refresh"],"sources":["../../../src/report/useQueryReport.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,533 @@
1
+ import { getFrappeSyncModule, useDocTypeMeta, useFrappeCollection, useFrappeDoctypeEvents, useLiveQuery } from "@multiplatform.one/frappe";
2
+ import { eq } from "@tanstack/db";
3
+ import { useCallback, useEffect, useMemo, useRef, useState } from "react";
4
+ import { useTranslation } from "react-i18next";
5
+ import { useFrappeConfig } from "./FrappeProvider.mjs";
6
+ import { setCreatePrefill, takeCreatePrefill } from "./formEngine/createPrefill.mjs";
7
+ import { computeDirtyFields, isEmptyValue, isSameValue } from "./formEngine/dirtyTracking.mjs";
8
+ import { buildAmendValues } from "./formEngine/docLifecycle.mjs";
9
+ import { applyFetchedValues, buildFetchMap } from "./formEngine/fetchFrom.mjs";
10
+ import { buildPermLevelMatrix } from "./formEngine/fieldPermissions.mjs";
11
+ import { createHttpClient, validateLink } from "./formEngine/formActions.mjs";
12
+ import { buildCopyValues, buildCreateDefaults, buildFormTabs, isPromptNamed } from "./formEngine/formLayout.mjs";
13
+ import { useAmendedAs } from "./formEngine/useAmendedAs.mjs";
14
+ import { useDocRights } from "./formEngine/useDocRights.mjs";
15
+ import { extractServerError } from "./formEngine/useFormEngine.mjs";
16
+ function sectionsToLayoutFields(sections) {
17
+ const fields = [];
18
+ sections.forEach((section, sectionIndex) => {
19
+ fields.push({
20
+ fieldname: `__section_${sectionIndex}`,
21
+ fieldtype: section.tab ? "Tab Break" : "Section Break",
22
+ label: section.label,
23
+ collapsible: section.collapsible ? 1 : 0
24
+ });
25
+ section.columns.forEach((column, columnIndex) => {
26
+ if (columnIndex > 0) {
27
+ fields.push({
28
+ fieldname: `__column_${sectionIndex}_${columnIndex}`,
29
+ fieldtype: "Column Break"
30
+ });
31
+ }
32
+ fields.push(...column.fields);
33
+ });
34
+ });
35
+ return fields;
36
+ }
37
+ function isConflictError(err) {
38
+ const e = err;
39
+ if (!e) return false;
40
+ if (e.status === 409) return true;
41
+ if (e.exc_type === "TimestampMismatchError") return true;
42
+ return /TimestampMismatch|has been modified/i.test(e.message ?? "");
43
+ }
44
+ function useFrappeForm(options) {
45
+ const {
46
+ doctype,
47
+ name,
48
+ baseURL,
49
+ auth,
50
+ syncOptions,
51
+ fields,
52
+ sections,
53
+ hideFields,
54
+ hideSections,
55
+ roles,
56
+ rights: rightsOverride,
57
+ shares: sharesOverride,
58
+ readShares = true,
59
+ disabled = false,
60
+ initialDoc,
61
+ meta: metaSource
62
+ } = options;
63
+ const config = useFrappeConfig();
64
+ const {
65
+ t
66
+ } = useTranslation();
67
+ const isCreate = !name;
68
+ const seedDoc = name && initialDoc && initialDoc.name === name ? initialDoc : void 0;
69
+ const seedRef = useRef(seedDoc);
70
+ seedRef.current = seedDoc;
71
+ const [localDoc, setLocalDoc] = useState(() => seedDoc ?? {});
72
+ const [baselineDoc, setBaselineDoc] = useState(() => seedDoc);
73
+ const [docError, setDocError] = useState(null);
74
+ const [conflictFields, setConflictFields] = useState([]);
75
+ const [saveConflict, setSaveConflict] = useState(false);
76
+ const [wasDeleted, setWasDeleted] = useState(false);
77
+ const [isSubmitting, setIsSubmitting] = useState(false);
78
+ const [errors, setErrors] = useState({});
79
+ const [activeTab, setActiveTab] = useState(void 0);
80
+ const everLoadedRef = useRef(false);
81
+ const localDocRef = useRef(localDoc);
82
+ localDocRef.current = localDoc;
83
+ const baselineRef = useRef(baselineDoc);
84
+ baselineRef.current = baselineDoc;
85
+ const createDraftRef = useRef(void 0);
86
+ const createSeededRef = useRef(void 0);
87
+ const finalBaseURL = baseURL ?? config?.baseURL;
88
+ const finalAuth = auth ?? config?.auth;
89
+ const finalSyncOptions = syncOptions ?? config?.syncOptions;
90
+ const frappeConfig = useMemo(() => finalBaseURL ? {
91
+ baseURL: finalBaseURL,
92
+ socketPort: config?.socketPort,
93
+ siteName: config?.siteName,
94
+ socketBaseURL: config?.socketBaseURL,
95
+ auth: finalAuth,
96
+ syncOptions: finalSyncOptions,
97
+ realtime: config?.realtime,
98
+ fixtures: config?.fixtures
99
+ } : void 0, [finalBaseURL, config?.socketPort, config?.siteName, config?.socketBaseURL, config?.realtime, finalAuth, finalSyncOptions, config?.fixtures]);
100
+ const ownMeta = useDocTypeMeta(metaSource ? void 0 : frappeConfig, doctype);
101
+ const meta = metaSource ? metaSource.meta : ownMeta.meta;
102
+ const isMetaLoading = metaSource ? metaSource.isLoading : ownMeta.isLoading;
103
+ const metaError = metaSource ? metaSource.error : ownMeta.error;
104
+ const isSubmittable = !!meta?.is_submittable;
105
+ const docstatus = Number(baselineDoc?.docstatus ?? 0);
106
+ const layoutFields = useMemo(() => {
107
+ if (!meta) return void 0;
108
+ return sections ? sectionsToLayoutFields(sections) : meta.fields;
109
+ }, [meta, sections]);
110
+ const amendedAs = useAmendedAs(isSubmittable && docstatus === 2 ? frappeConfig : void 0, doctype, name);
111
+ const promptNamed = isCreate && !!meta && isPromptNamed(meta.autoname, meta.naming_rule);
112
+ const fetchMap = useMemo(() => meta ? buildFetchMap(meta.fields) : void 0, [meta]);
113
+ const handleDocSyncError = useCallback(err => {
114
+ setDocError(err instanceof Error ? err : new Error(String(err)));
115
+ }, []);
116
+ const docCollection = useFrappeCollection(name ? frappeConfig : void 0, doctype, {
117
+ fields,
118
+ filters: name ? {
119
+ name
120
+ } : void 0,
121
+ onSyncError: handleDocSyncError
122
+ });
123
+ const {
124
+ data: rawDocData,
125
+ isLoading: isDocLoading
126
+ } = useLiveQuery(q => {
127
+ if (!docCollection || !name) return null;
128
+ return q.from({
129
+ _doc: docCollection
130
+ }).where(({
131
+ _doc
132
+ }) => {
133
+ if (!_doc) return eq(name, name);
134
+ return eq(_doc.name, name);
135
+ });
136
+ }, [docCollection, name]);
137
+ const liveDoc = useMemo(() => {
138
+ const arr = Array.isArray(rawDocData) ? rawDocData : rawDocData ? [rawDocData] : [];
139
+ const doc = arr[0] ?? null;
140
+ return doc ? {
141
+ data: doc,
142
+ isLoading: isDocLoading
143
+ } : name ? {
144
+ data: null,
145
+ isLoading: isDocLoading
146
+ } : null;
147
+ }, [rawDocData, isDocLoading, name]);
148
+ const collection = useFrappeCollection(name ? void 0 : frappeConfig, doctype, {
149
+ fields
150
+ });
151
+ const shareCollection = useFrappeCollection(readShares && !sharesOverride && name ? frappeConfig : void 0, "DocShare", {
152
+ fields: ["name", "user", "everyone", "read", "write", "share"],
153
+ filters: {
154
+ share_doctype: doctype,
155
+ share_name: name
156
+ }
157
+ });
158
+ const {
159
+ data: rawShareRows
160
+ } = useLiveQuery(q => shareCollection ? q.from({
161
+ _share: shareCollection
162
+ }) : null, [shareCollection]);
163
+ const shareRows = useMemo(() => sharesOverride ?? (shareCollection ? rawShareRows ?? [] : void 0), [sharesOverride, shareCollection, rawShareRows]);
164
+ const owner = baselineDoc?.owner;
165
+ const {
166
+ rights: sessionRights,
167
+ pending: sessionPending,
168
+ roles: effectiveRoles,
169
+ user
170
+ } = useDocRights(frappeConfig, meta, {
171
+ roles,
172
+ owner: typeof owner === "string" ? owner : void 0,
173
+ shares: shareRows
174
+ });
175
+ const rights = rightsOverride ?? sessionRights;
176
+ const rightsPending = rightsOverride ? false : sessionPending;
177
+ const permLevels = useMemo(() => buildPermLevelMatrix(meta?.permissions, effectiveRoles), [meta?.permissions, effectiveRoles]);
178
+ const tabs = useMemo(() => {
179
+ if (!layoutFields) return void 0;
180
+ return buildFormTabs({
181
+ fields: layoutFields,
182
+ doc: {
183
+ ...localDoc,
184
+ __islocal: isCreate ? 1 : 0,
185
+ ...(user ? {
186
+ __session_user: user
187
+ } : {})
188
+ },
189
+ docstatus,
190
+ formReadOnly: !!meta?.read_only,
191
+ isCreate,
192
+ detailsLabel: t("Details"),
193
+ permLevels,
194
+ hiddenFields: hideFields,
195
+ hiddenSections: hideSections
196
+ });
197
+ }, [layoutFields, localDoc, isCreate, user, docstatus, meta?.read_only, permLevels, hideFields, hideSections, t]);
198
+ useEffect(() => {
199
+ everLoadedRef.current = false;
200
+ if (name) createDraftRef.current = void 0;
201
+ createSeededRef.current = void 0;
202
+ setWasDeleted(false);
203
+ setConflictFields([]);
204
+ setSaveConflict(false);
205
+ setDocError(null);
206
+ const seed = seedRef.current;
207
+ setBaselineDoc(seed);
208
+ if (seed) setLocalDoc(seed);
209
+ }, [doctype, name]);
210
+ useFrappeDoctypeEvents(name ? frappeConfig : void 0, doctype, event => {
211
+ if (event.type !== "doc_deleted") return;
212
+ const payload = event.payload;
213
+ if (payload?.name === name) setWasDeleted(true);
214
+ }, Boolean(name));
215
+ useEffect(() => {
216
+ const incoming = liveDoc?.data;
217
+ if (incoming) {
218
+ everLoadedRef.current = true;
219
+ setWasDeleted(false);
220
+ const baseline = baselineRef.current;
221
+ if (!baseline) {
222
+ setBaselineDoc(incoming);
223
+ setLocalDoc(incoming);
224
+ return;
225
+ }
226
+ const local = localDocRef.current;
227
+ const merged = {
228
+ ...incoming
229
+ };
230
+ const newConflicts = [];
231
+ for (const key of Object.keys(local)) {
232
+ const localValue = local[key];
233
+ if (isSameValue(localValue, baseline[key])) continue;
234
+ merged[key] = localValue;
235
+ const remote = incoming[key];
236
+ if (!isSameValue(remote, baseline[key]) && !isSameValue(remote, localValue)) {
237
+ newConflicts.push(key);
238
+ }
239
+ }
240
+ setBaselineDoc(incoming);
241
+ setLocalDoc(merged);
242
+ if (newConflicts.length > 0) {
243
+ setConflictFields(prev => Array.from(/* @__PURE__ */new Set([...prev, ...newConflicts])));
244
+ }
245
+ } else if (name && everLoadedRef.current && !liveDoc?.isLoading) {
246
+ setWasDeleted(true);
247
+ }
248
+ }, [liveDoc?.data, liveDoc?.isLoading, doctype, name]);
249
+ useEffect(() => {
250
+ if (name) return;
251
+ if (createDraftRef.current?.doctype !== doctype) {
252
+ createDraftRef.current = {
253
+ doctype,
254
+ values: takeCreatePrefill(doctype)
255
+ };
256
+ }
257
+ const draft = createDraftRef.current.values;
258
+ const defaults = meta ? buildCreateDefaults(meta.fields, user) : {};
259
+ const fresh = createSeededRef.current !== doctype;
260
+ createSeededRef.current = doctype;
261
+ setLocalDoc(prev => ({
262
+ ...defaults,
263
+ ...draft,
264
+ ...(fresh ? {} : prev),
265
+ doctype
266
+ }));
267
+ }, [name, doctype, meta, user]);
268
+ const dirtyFields = useMemo(() => computeDirtyFields(localDoc, baselineDoc), [localDoc, baselineDoc]);
269
+ const isDirty = dirtyFields.length > 0;
270
+ const runFetchFrom = (field, value) => {
271
+ const rules = fetchMap?.get(field);
272
+ if (!rules || rules.length === 0 || !frappeConfig) return;
273
+ const applyPatch = fetched2 => {
274
+ setLocalDoc(prev => {
275
+ const current = prev;
276
+ if (current[field] !== value) return prev;
277
+ const patch = applyFetchedValues(rules, fetched2, current);
278
+ return Object.keys(patch).length > 0 ? {
279
+ ...current,
280
+ ...patch
281
+ } : prev;
282
+ });
283
+ };
284
+ if (isEmptyValue(value)) {
285
+ applyPatch({});
286
+ return;
287
+ }
288
+ const linkField = meta?.fields.find(metaField => metaField.fieldname === field);
289
+ const targetDoctype = typeof linkField?.options === "string" ? linkField.options : "";
290
+ if (!targetDoctype) return;
291
+ const sources = Array.from(new Set(rules.map(rule => rule.source)));
292
+ const fixtures = frappeConfig.fixtures;
293
+ const fetched = fixtures ? fixtures.getDoc(targetDoctype, String(value), sources).then(doc => doc ?? {}) : validateLink(createHttpClient(frappeConfig), targetDoctype, String(value), sources);
294
+ fetched.then(applyPatch).catch(() => void 0);
295
+ };
296
+ const setValue = (field, value) => {
297
+ setLocalDoc(prev => ({
298
+ ...prev,
299
+ [field]: value
300
+ }));
301
+ setErrors(prev => {
302
+ if (!(String(field) in prev)) return prev;
303
+ const next = {
304
+ ...prev
305
+ };
306
+ delete next[String(field)];
307
+ return next;
308
+ });
309
+ runFetchFrom(String(field), value);
310
+ };
311
+ const validate = () => {
312
+ if (!tabs) return {};
313
+ const validationErrors = {};
314
+ const doc = localDoc;
315
+ if (promptNamed && isEmptyValue(doc.name)) {
316
+ validationErrors.name = t("Name is required");
317
+ }
318
+ for (const tab of tabs) {
319
+ for (const field of tab.schema.fields) {
320
+ if (!field.required) continue;
321
+ if (isEmptyValue(doc[field.name])) {
322
+ validationErrors[field.name] = t("{{label}} is required", {
323
+ label: field.label || field.name
324
+ });
325
+ }
326
+ }
327
+ }
328
+ return validationErrors;
329
+ };
330
+ const canWrite = isCreate ? rights.create : rights.write;
331
+ const save = async () => {
332
+ if (wasDeleted || !canWrite || disabled) return void 0;
333
+ const requiredErrors = validate();
334
+ if (Object.keys(requiredErrors).length > 0) {
335
+ setErrors(requiredErrors);
336
+ return void 0;
337
+ }
338
+ setIsSubmitting(true);
339
+ setErrors({});
340
+ try {
341
+ if (name) {
342
+ if (!docCollection) return void 0;
343
+ if (dirtyFields.length > 0) {
344
+ const local = localDoc;
345
+ const tx2 = docCollection.update(name, draft => {
346
+ for (const key of dirtyFields) {
347
+ draft[key] = local[key];
348
+ }
349
+ });
350
+ await tx2.isPersisted.promise;
351
+ }
352
+ setConflictFields([]);
353
+ setSaveConflict(false);
354
+ return name;
355
+ }
356
+ if (!collection || !frappeConfig) return void 0;
357
+ const temporaryName = localDoc.name ?? `new-${Date.now()}`;
358
+ const docToInsert = {
359
+ ...localDoc,
360
+ doctype,
361
+ name: temporaryName
362
+ };
363
+ const tx = collection.insert(docToInsert);
364
+ await tx.isPersisted.promise;
365
+ return getFrappeSyncModule(frappeConfig)?.createdName(temporaryName) ?? temporaryName;
366
+ } catch (err) {
367
+ const e = err;
368
+ if (isConflictError(err)) setSaveConflict(true);
369
+ if (e?.exc_type === "ValidationError") {
370
+ const validationErrors = {};
371
+ if (e._server_messages) {
372
+ try {
373
+ const messages = JSON.parse(e._server_messages);
374
+ for (const msg of messages) {
375
+ const parsed = typeof msg === "string" ? JSON.parse(msg) : msg;
376
+ if (parsed.message) {
377
+ validationErrors.general = parsed.message;
378
+ }
379
+ }
380
+ } catch {
381
+ validationErrors.general = t("Validation error occurred");
382
+ }
383
+ }
384
+ setErrors(validationErrors);
385
+ } else {
386
+ setErrors({
387
+ general: e?.message || t("Failed to save document")
388
+ });
389
+ }
390
+ return void 0;
391
+ } finally {
392
+ setIsSubmitting(false);
393
+ }
394
+ };
395
+ const reset = () => {
396
+ if (baselineDoc) {
397
+ setLocalDoc(baselineDoc);
398
+ } else if (liveDoc?.data) {
399
+ setLocalDoc(liveDoc.data);
400
+ } else {
401
+ setLocalDoc({
402
+ doctype
403
+ });
404
+ }
405
+ setConflictFields([]);
406
+ setSaveConflict(false);
407
+ setErrors({});
408
+ };
409
+ const remove = async () => {
410
+ if (!docCollection || !name || wasDeleted || !rights.delete) return false;
411
+ setIsSubmitting(true);
412
+ setErrors({});
413
+ try {
414
+ const tx = docCollection.delete(name);
415
+ await tx.isPersisted.promise;
416
+ return true;
417
+ } catch (err) {
418
+ setErrors({
419
+ general: err?.message || t("Failed to delete")
420
+ });
421
+ return false;
422
+ } finally {
423
+ setIsSubmitting(false);
424
+ }
425
+ };
426
+ const transitionDocstatus = async (to, failure) => {
427
+ if (!docCollection || !name || wasDeleted || !rights[to === 1 ? "submit" : "cancel"]) {
428
+ return false;
429
+ }
430
+ if (to === 1) {
431
+ const requiredErrors = validate();
432
+ if (Object.keys(requiredErrors).length > 0) {
433
+ setErrors(requiredErrors);
434
+ return false;
435
+ }
436
+ }
437
+ setIsSubmitting(true);
438
+ setErrors({});
439
+ try {
440
+ const tx = docCollection.update(name, draft => {
441
+ draft.docstatus = to;
442
+ });
443
+ await tx.isPersisted.promise;
444
+ return true;
445
+ } catch (err) {
446
+ if (isConflictError(err)) setSaveConflict(true);
447
+ setErrors({
448
+ general: extractServerError(err, failure)
449
+ });
450
+ return false;
451
+ } finally {
452
+ setIsSubmitting(false);
453
+ }
454
+ };
455
+ const submitDocument = () => transitionDocstatus(1, t("Failed to submit"));
456
+ const cancelDocument = () => transitionDocstatus(2, t("Failed to cancel"));
457
+ const amend = () => {
458
+ if (!meta || !name || !rights.amend) return void 0;
459
+ const draft = buildAmendValues(meta.fields, localDoc, name);
460
+ setCreatePrefill(doctype, draft);
461
+ return draft;
462
+ };
463
+ const duplicate = () => {
464
+ if (!meta) return void 0;
465
+ const values = buildCopyValues(meta.fields, localDoc);
466
+ setCreatePrefill(doctype, values);
467
+ return values;
468
+ };
469
+ const fieldTargets = useMemo(() => (tabs ?? []).flatMap(tab => tab.schema.fields.map(field => ({
470
+ name: field.name,
471
+ label: field.label || field.name,
472
+ tabKey: tab.key,
473
+ tabLabel: tab.label
474
+ }))), [tabs]);
475
+ const revealField = fieldName => {
476
+ const target = fieldTargets.find(field => field.name === fieldName);
477
+ if (!target) return false;
478
+ setActiveTab(target.tabKey);
479
+ return true;
480
+ };
481
+ const isDocReading = Boolean(name) && (!docCollection || Boolean(liveDoc?.isLoading));
482
+ const showsSeed = Boolean(seedDoc) && isDocReading;
483
+ const status = !name ? "ready" : docError && !liveDoc?.data && !wasDeleted ? "error" : isDocReading && !showsSeed && !wasDeleted ? "loading" : !isDocReading && !liveDoc?.data && !wasDeleted ? "notFound" : "ready";
484
+ return {
485
+ doctype,
486
+ name,
487
+ isCreate,
488
+ connection: frappeConfig,
489
+ meta,
490
+ metaLoading: isMetaLoading,
491
+ metaError,
492
+ doc: localDoc,
493
+ baseline: baselineDoc,
494
+ setValue,
495
+ errors,
496
+ setErrors,
497
+ dirtyFields,
498
+ isDirty,
499
+ isSubmitting,
500
+ docstatus,
501
+ isSubmittable,
502
+ rights,
503
+ rightsPending,
504
+ roles: effectiveRoles,
505
+ user,
506
+ shareRows,
507
+ canWrite,
508
+ readOnly: disabled || wasDeleted || !!meta?.read_only || !canWrite,
509
+ wasDeleted,
510
+ conflictFields,
511
+ conflict: saveConflict || conflictFields.length > 0,
512
+ status,
513
+ docError,
514
+ showsSeed,
515
+ tabs,
516
+ promptNamed,
517
+ fieldTargets,
518
+ activeTab,
519
+ setActiveTab,
520
+ revealField,
521
+ amendedAs,
522
+ validate,
523
+ save,
524
+ submitDocument,
525
+ cancelDocument,
526
+ remove,
527
+ reset,
528
+ amend,
529
+ duplicate
530
+ };
531
+ }
532
+ export { useFrappeForm };
533
+ //# sourceMappingURL=useFrappeForm.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["getFrappeSyncModule","useDocTypeMeta","useFrappeCollection","useFrappeDoctypeEvents","useLiveQuery","eq","useCallback","useEffect","useMemo","useRef","useState","useTranslation","useFrappeConfig","setCreatePrefill","takeCreatePrefill","computeDirtyFields","isEmptyValue","isSameValue","buildAmendValues","applyFetchedValues","buildFetchMap","buildPermLevelMatrix","createHttpClient","validateLink","buildCopyValues","buildCreateDefaults","buildFormTabs","isPromptNamed","useAmendedAs","useDocRights","extractServerError","sectionsToLayoutFields","sections","fields","forEach","section","sectionIndex","push","fieldname","fieldtype","tab","label","collapsible","columns","column","columnIndex","isConflictError","err","e","status","exc_type","test","message","useFrappeForm","options","doctype","name","baseURL","auth","syncOptions","hideFields","hideSections","roles","rights","rightsOverride","shares","sharesOverride","readShares","disabled","initialDoc","meta","metaSource","config","t","isCreate","seedDoc","seedRef","current","localDoc","setLocalDoc","baselineDoc","setBaselineDoc","docError","setDocError","conflictFields","setConflictFields","saveConflict","setSaveConflict","wasDeleted","setWasDeleted","isSubmitting","setIsSubmitting","errors","setErrors","activeTab","setActiveTab","everLoadedRef","localDocRef","baselineRef","createDraftRef","createSeededRef","finalBaseURL","finalAuth","finalSyncOptions","frappeConfig","socketPort","siteName","socketBaseURL","realtime","fixtures","ownMeta","isMetaLoading","isLoading","metaError","error","isSubmittable","is_submittable","docstatus","Number","layoutFields","amendedAs","promptNamed","autoname","naming_rule","fetchMap","handleDocSyncError","Error","String","docCollection","filters","onSyncError","data","rawDocData","isDocLoading","q","from","_doc","where","liveDoc","arr","Array","isArray","doc","collection","shareCollection","share_doctype","share_name","rawShareRows","_share","shareRows","owner","sessionRights","pending","sessionPending","effectiveRoles","user","rightsPending","permLevels","permissions","tabs","__islocal","__session_user","formReadOnly","read_only","detailsLabel","hiddenFields","hiddenSections","seed","event","type","payload","Boolean","incoming","baseline","local","merged","newConflicts","key","Object","keys","localValue","remote","length","prev","Set","values","draft","defaults","fresh","dirtyFields","isDirty","runFetchFrom","field","value","rules","get","applyPatch","fetched","patch","linkField","find","metaField","targetDoctype","sources","map","rule","source","getDoc","then","catch","setValue","next","validate","validationErrors","schema","required","canWrite","create","write","save","requiredErrors","tx","update","isPersisted","promise","temporaryName","Date","now","docToInsert","insert","createdName","_server_messages","messages","JSON","parse","msg","parsed","general","reset","remove","delete","transitionDocstatus","to","failure","submitDocument","cancelDocument","amend","duplicate","fieldTargets","flatMap","tabKey","tabLabel","revealField","fieldName","target","isDocReading","showsSeed","connection","metaLoading","readOnly","conflict"],"sources":["../../src/useFrappeForm.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}