@multiplatform.one/frappe-ui 7.7.6 → 7.8.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 (491) 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.native.js.map +1 -1
  5. package/dist/cjs/FileBrowser/types.native.js.map +1 -1
  6. package/dist/cjs/FileBrowser/viewPersistence.native.js.map +1 -1
  7. package/dist/cjs/FormSidebar.native.js.map +1 -1
  8. package/dist/cjs/FrappeAssignment.native.js.map +1 -1
  9. package/dist/cjs/FrappeCalendar.cjs +20 -17
  10. package/dist/cjs/FrappeCalendar.native.js +22 -21
  11. package/dist/cjs/FrappeCalendar.native.js.map +1 -1
  12. package/dist/cjs/FrappeChartCard.native.js.map +1 -1
  13. package/dist/cjs/FrappeConnectionIndicator.native.js.map +1 -1
  14. package/dist/cjs/FrappeDashboard.native.js.map +1 -1
  15. package/dist/cjs/FrappeForm.cjs +1 -1
  16. package/dist/cjs/FrappeForm.native.js +2 -2
  17. package/dist/cjs/FrappeForm.native.js.map +1 -1
  18. package/dist/cjs/FrappeGantt.cjs +25 -34
  19. package/dist/cjs/FrappeGantt.native.js +27 -38
  20. package/dist/cjs/FrappeGantt.native.js.map +1 -1
  21. package/dist/cjs/FrappeImageView.cjs +4 -2
  22. package/dist/cjs/FrappeImageView.native.js +8 -4
  23. package/dist/cjs/FrappeImageView.native.js.map +1 -1
  24. package/dist/cjs/FrappeKPICard.cjs +26 -1
  25. package/dist/cjs/FrappeKPICard.native.js +26 -1
  26. package/dist/cjs/FrappeKPICard.native.js.map +1 -1
  27. package/dist/cjs/FrappeKanban.cjs +16 -17
  28. package/dist/cjs/FrappeKanban.native.js +18 -21
  29. package/dist/cjs/FrappeKanban.native.js.map +1 -1
  30. package/dist/cjs/FrappeLikedBy.cjs +1 -1
  31. package/dist/cjs/FrappeLikedBy.native.js +1 -1
  32. package/dist/cjs/FrappeLikedBy.native.js.map +1 -1
  33. package/dist/cjs/FrappeList.cjs +2 -2
  34. package/dist/cjs/FrappeList.native.js +2 -2
  35. package/dist/cjs/FrappeList.native.js.map +1 -1
  36. package/dist/cjs/FrappeListView.native.js.map +1 -1
  37. package/dist/cjs/FrappeProvider.native.js.map +1 -1
  38. package/dist/cjs/FrappeReconnectIndicator.native.js.map +1 -1
  39. package/dist/cjs/FrappeReportBuilder.cjs +2 -2
  40. package/dist/cjs/FrappeReportBuilder.native.js +2 -2
  41. package/dist/cjs/FrappeReportBuilder.native.js.map +1 -1
  42. package/dist/cjs/FrappeReportView.native.js +3 -3
  43. package/dist/cjs/FrappeReportView.native.js.map +1 -1
  44. package/dist/cjs/FrappeTable.cjs +35 -38
  45. package/dist/cjs/FrappeTable.native.js +38 -39
  46. package/dist/cjs/FrappeTable.native.js.map +1 -1
  47. package/dist/cjs/FrappeTreeView.cjs +85 -50
  48. package/dist/cjs/FrappeTreeView.native.js +129 -50
  49. package/dist/cjs/FrappeTreeView.native.js.map +1 -1
  50. package/dist/cjs/SyncErrorNotice.native.js.map +1 -1
  51. package/dist/cjs/commentActions.cjs +1 -1
  52. package/dist/cjs/commentActions.native.js +1 -1
  53. package/dist/cjs/commentActions.native.js.map +1 -1
  54. package/dist/cjs/components/attachments.native.js.map +1 -1
  55. package/dist/cjs/components/tags.native.js.map +1 -1
  56. package/dist/cjs/components/timeline.cjs +1 -1
  57. package/dist/cjs/components/timeline.native.js +1 -1
  58. package/dist/cjs/components/timeline.native.js.map +1 -1
  59. package/dist/cjs/dependsOn.native.js.map +1 -1
  60. package/dist/cjs/desk/DeskFormPage.native.js.map +1 -1
  61. package/dist/cjs/desk/DeskFormSidebar.native.js.map +1 -1
  62. package/dist/cjs/desk/DeskListPage.native.js.map +1 -1
  63. package/dist/cjs/desk/DeskShell.cjs +2 -0
  64. package/dist/cjs/desk/DeskShell.native.js +2 -0
  65. package/dist/cjs/desk/DeskShell.native.js.map +1 -1
  66. package/dist/cjs/desk/DeskSidebar.native.js.map +1 -1
  67. package/dist/cjs/desk/awesomebar.cjs +1 -1
  68. package/dist/cjs/desk/awesomebar.native.js +1 -1
  69. package/dist/cjs/desk/awesomebar.native.js.map +1 -1
  70. package/dist/cjs/fieldOverrides.native.js.map +1 -1
  71. package/dist/cjs/fieldRegistry.native.js +31 -31
  72. package/dist/cjs/fieldRegistry.native.js.map +1 -1
  73. package/dist/cjs/fields/Barcode/index.native.js.map +1 -1
  74. package/dist/cjs/fields/Check/index.native.js.map +1 -1
  75. package/dist/cjs/fields/CodeEditor/index.native.js.map +1 -1
  76. package/dist/cjs/fields/Color/index.native.js.map +1 -1
  77. package/dist/cjs/fields/Data/index.native.js.map +1 -1
  78. package/dist/cjs/fields/Date/sheetKeyboard.native.js.map +1 -1
  79. package/dist/cjs/fields/Date/types.native.js.map +1 -1
  80. package/dist/cjs/fields/Date/wire.native.js.map +1 -1
  81. package/dist/cjs/fields/DateRange/index.native.js.map +1 -1
  82. package/dist/cjs/fields/Duration/index.native.js.map +1 -1
  83. package/dist/cjs/fields/DynamicLink.native.js.map +1 -1
  84. package/dist/cjs/fields/FileUpload.native.js.map +1 -1
  85. package/dist/cjs/fields/FileUploadField/index.native.js.map +1 -1
  86. package/dist/cjs/fields/Geolocation/index.native.js.map +1 -1
  87. package/dist/cjs/fields/HTML/index.native.js.map +1 -1
  88. package/dist/cjs/fields/Heading/index.native.js.map +1 -1
  89. package/dist/cjs/fields/Icon/index.native.js.map +1 -1
  90. package/dist/cjs/fields/Link.native.js.map +1 -1
  91. package/dist/cjs/fields/LinkTree.native.js.map +1 -1
  92. package/dist/cjs/fields/LongText/index.native.js.map +1 -1
  93. package/dist/cjs/fields/MentionInput/index.cjs +4 -1
  94. package/dist/cjs/fields/MentionInput/index.native.js +4 -1
  95. package/dist/cjs/fields/MentionInput/index.native.js.map +1 -1
  96. package/dist/cjs/fields/Numeric/index.native.js.map +1 -1
  97. package/dist/cjs/fields/OTPInput/index.native.js.map +1 -1
  98. package/dist/cjs/fields/Password/index.native.js.map +1 -1
  99. package/dist/cjs/fields/Phone/index.native.js.map +1 -1
  100. package/dist/cjs/fields/Progress/index.native.js.map +1 -1
  101. package/dist/cjs/fields/RadioGroup/index.native.js.map +1 -1
  102. package/dist/cjs/fields/Rating/index.native.js.map +1 -1
  103. package/dist/cjs/fields/ReadOnly/index.native.js.map +1 -1
  104. package/dist/cjs/fields/Select/index.native.js.map +1 -1
  105. package/dist/cjs/fields/Signature/index.native.js.map +1 -1
  106. package/dist/cjs/fields/Slider/index.native.js.map +1 -1
  107. package/dist/cjs/fields/SmallText/index.native.js.map +1 -1
  108. package/dist/cjs/fields/Switch/index.native.js.map +1 -1
  109. package/dist/cjs/fields/TableMultiSelect.native.js.map +1 -1
  110. package/dist/cjs/fields/TextEditor/types.native.js.map +1 -1
  111. package/dist/cjs/fields/TimePicker/index.native.js.map +1 -1
  112. package/dist/cjs/fields/ToggleGroup/index.native.js.map +1 -1
  113. package/dist/cjs/fields/shared/EditorPreviewPanes.native.js.map +1 -1
  114. package/dist/cjs/filterFields.native.js.map +1 -1
  115. package/dist/cjs/formEngine/createPrefill.native.js.map +1 -1
  116. package/dist/cjs/formEngine/dirtyTracking.native.js.map +1 -1
  117. package/dist/cjs/formEngine/doctypeMeta.native.js.map +1 -1
  118. package/dist/cjs/formEngine/fetchFrom.native.js.map +1 -1
  119. package/dist/cjs/formEngine/fieldPermissions.native.js.map +1 -1
  120. package/dist/cjs/formEngine/formActions.native.js.map +1 -1
  121. package/dist/cjs/formEngine/formLayout.native.js.map +1 -1
  122. package/dist/cjs/formEngine/index.native.js.map +1 -1
  123. package/dist/cjs/formEngine/useFormEngine.native.js.map +1 -1
  124. package/dist/cjs/frappeEventColor.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 +4 -0
  128. package/dist/cjs/index.native.js +38 -34
  129. package/dist/cjs/index.native.js.map +1 -1
  130. package/dist/cjs/liveErrors.native.js.map +1 -1
  131. package/dist/cjs/resolveControl.native.js.map +1 -1
  132. package/dist/cjs/schemaForm/SchemaWizard.native.js.map +1 -1
  133. package/dist/cjs/schemaForm/applyFieldOrder.native.js.map +1 -1
  134. package/dist/cjs/schemaForm/index.cjs +10 -9
  135. package/dist/cjs/schemaForm/index.native.js +11 -10
  136. package/dist/cjs/schemaForm/index.native.js.map +1 -1
  137. package/dist/cjs/shared/devWarn.cjs +40 -0
  138. package/dist/cjs/shared/devWarn.native.js +45 -0
  139. package/dist/cjs/shared/devWarn.native.js.map +1 -0
  140. package/dist/cjs/shared/useKeyboardInset.native.js.map +1 -1
  141. package/dist/cjs/syncError.native.js.map +1 -1
  142. package/dist/cjs/useFrappeAggregate.cjs +15 -8
  143. package/dist/cjs/useFrappeAggregate.native.js +15 -9
  144. package/dist/cjs/useFrappeAggregate.native.js.map +1 -1
  145. package/dist/cjs/useFrappeFacets.cjs +10 -9
  146. package/dist/cjs/useFrappeFacets.native.js +10 -10
  147. package/dist/cjs/useFrappeFacets.native.js.map +1 -1
  148. package/dist/cjs/useFrappePagination.native.js.map +1 -1
  149. package/dist/cjs/useFrappeRows.cjs +113 -0
  150. package/dist/cjs/useFrappeRows.native.js +129 -0
  151. package/dist/cjs/useFrappeRows.native.js.map +1 -0
  152. package/dist/esm/ChartCard.native.js.map +1 -1
  153. package/dist/esm/FileBrowser/AttachLibrary.native.js.map +1 -1
  154. package/dist/esm/FileBrowser/folderTree.native.js.map +1 -1
  155. package/dist/esm/FileBrowser/index.native.js.map +1 -1
  156. package/dist/esm/FileBrowser/types.native.js.map +1 -1
  157. package/dist/esm/FileBrowser/viewPersistence.native.js.map +1 -1
  158. package/dist/esm/FormSidebar.native.js.map +1 -1
  159. package/dist/esm/FrappeAssignment.native.js.map +1 -1
  160. package/dist/esm/FrappeCalendar.mjs +20 -17
  161. package/dist/esm/FrappeCalendar.mjs.map +1 -1
  162. package/dist/esm/FrappeCalendar.native.js +22 -21
  163. package/dist/esm/FrappeCalendar.native.js.map +1 -1
  164. package/dist/esm/FrappeChartCard.native.js.map +1 -1
  165. package/dist/esm/FrappeConnectionIndicator.native.js.map +1 -1
  166. package/dist/esm/FrappeDashboard.native.js.map +1 -1
  167. package/dist/esm/FrappeForm.mjs +1 -1
  168. package/dist/esm/FrappeForm.mjs.map +1 -1
  169. package/dist/esm/FrappeForm.native.js +1 -1
  170. package/dist/esm/FrappeForm.native.js.map +1 -1
  171. package/dist/esm/FrappeGantt.mjs +27 -36
  172. package/dist/esm/FrappeGantt.mjs.map +1 -1
  173. package/dist/esm/FrappeGantt.native.js +29 -40
  174. package/dist/esm/FrappeGantt.native.js.map +1 -1
  175. package/dist/esm/FrappeImageView.mjs +5 -3
  176. package/dist/esm/FrappeImageView.mjs.map +1 -1
  177. package/dist/esm/FrappeImageView.native.js +9 -5
  178. package/dist/esm/FrappeImageView.native.js.map +1 -1
  179. package/dist/esm/FrappeKPICard.mjs +27 -2
  180. package/dist/esm/FrappeKPICard.mjs.map +1 -1
  181. package/dist/esm/FrappeKPICard.native.js +27 -2
  182. package/dist/esm/FrappeKPICard.native.js.map +1 -1
  183. package/dist/esm/FrappeKanban.mjs +16 -17
  184. package/dist/esm/FrappeKanban.mjs.map +1 -1
  185. package/dist/esm/FrappeKanban.native.js +18 -21
  186. package/dist/esm/FrappeKanban.native.js.map +1 -1
  187. package/dist/esm/FrappeLikedBy.mjs +1 -1
  188. package/dist/esm/FrappeLikedBy.mjs.map +1 -1
  189. package/dist/esm/FrappeLikedBy.native.js +1 -1
  190. package/dist/esm/FrappeLikedBy.native.js.map +1 -1
  191. package/dist/esm/FrappeList.mjs +2 -2
  192. package/dist/esm/FrappeList.mjs.map +1 -1
  193. package/dist/esm/FrappeList.native.js +2 -2
  194. package/dist/esm/FrappeList.native.js.map +1 -1
  195. package/dist/esm/FrappeListView.native.js.map +1 -1
  196. package/dist/esm/FrappeProvider.mjs.map +1 -1
  197. package/dist/esm/FrappeProvider.native.js.map +1 -1
  198. package/dist/esm/FrappeReconnectIndicator.native.js.map +1 -1
  199. package/dist/esm/FrappeReportBuilder.mjs +2 -2
  200. package/dist/esm/FrappeReportBuilder.mjs.map +1 -1
  201. package/dist/esm/FrappeReportBuilder.native.js +2 -2
  202. package/dist/esm/FrappeReportBuilder.native.js.map +1 -1
  203. package/dist/esm/FrappeReportView.native.js.map +1 -1
  204. package/dist/esm/FrappeTable.mjs +36 -39
  205. package/dist/esm/FrappeTable.mjs.map +1 -1
  206. package/dist/esm/FrappeTable.native.js +39 -40
  207. package/dist/esm/FrappeTable.native.js.map +1 -1
  208. package/dist/esm/FrappeTreeView.mjs +89 -55
  209. package/dist/esm/FrappeTreeView.mjs.map +1 -1
  210. package/dist/esm/FrappeTreeView.native.js +133 -55
  211. package/dist/esm/FrappeTreeView.native.js.map +1 -1
  212. package/dist/esm/SyncErrorNotice.native.js.map +1 -1
  213. package/dist/esm/commentActions.mjs +1 -1
  214. package/dist/esm/commentActions.mjs.map +1 -1
  215. package/dist/esm/commentActions.native.js +1 -1
  216. package/dist/esm/commentActions.native.js.map +1 -1
  217. package/dist/esm/components/attachments.native.js.map +1 -1
  218. package/dist/esm/components/tags.native.js.map +1 -1
  219. package/dist/esm/components/timeline.mjs +1 -1
  220. package/dist/esm/components/timeline.mjs.map +1 -1
  221. package/dist/esm/components/timeline.native.js +1 -1
  222. package/dist/esm/components/timeline.native.js.map +1 -1
  223. package/dist/esm/dependsOn.native.js.map +1 -1
  224. package/dist/esm/desk/DeskFormPage.native.js.map +1 -1
  225. package/dist/esm/desk/DeskFormSidebar.native.js.map +1 -1
  226. package/dist/esm/desk/DeskListPage.native.js.map +1 -1
  227. package/dist/esm/desk/DeskShell.mjs +2 -0
  228. package/dist/esm/desk/DeskShell.mjs.map +1 -1
  229. package/dist/esm/desk/DeskShell.native.js +2 -0
  230. package/dist/esm/desk/DeskShell.native.js.map +1 -1
  231. package/dist/esm/desk/DeskSidebar.native.js.map +1 -1
  232. package/dist/esm/desk/awesomebar.mjs +1 -1
  233. package/dist/esm/desk/awesomebar.mjs.map +1 -1
  234. package/dist/esm/desk/awesomebar.native.js +1 -1
  235. package/dist/esm/desk/awesomebar.native.js.map +1 -1
  236. package/dist/esm/fieldOverrides.native.js.map +1 -1
  237. package/dist/esm/fieldRegistry.native.js.map +1 -1
  238. package/dist/esm/fields/Barcode/index.native.js.map +1 -1
  239. package/dist/esm/fields/Check/index.native.js.map +1 -1
  240. package/dist/esm/fields/CodeEditor/index.native.js.map +1 -1
  241. package/dist/esm/fields/Color/index.native.js.map +1 -1
  242. package/dist/esm/fields/Data/index.native.js.map +1 -1
  243. package/dist/esm/fields/Date/sheetKeyboard.native.js.map +1 -1
  244. package/dist/esm/fields/Date/types.native.js.map +1 -1
  245. package/dist/esm/fields/Date/wire.native.js.map +1 -1
  246. package/dist/esm/fields/DateRange/index.native.js.map +1 -1
  247. package/dist/esm/fields/Duration/index.native.js.map +1 -1
  248. package/dist/esm/fields/DynamicLink.native.js.map +1 -1
  249. package/dist/esm/fields/FileUpload.native.js.map +1 -1
  250. package/dist/esm/fields/FileUploadField/index.native.js.map +1 -1
  251. package/dist/esm/fields/Geolocation/index.native.js.map +1 -1
  252. package/dist/esm/fields/HTML/index.native.js.map +1 -1
  253. package/dist/esm/fields/Heading/index.native.js.map +1 -1
  254. package/dist/esm/fields/Icon/index.native.js.map +1 -1
  255. package/dist/esm/fields/Link.native.js.map +1 -1
  256. package/dist/esm/fields/LinkTree.native.js.map +1 -1
  257. package/dist/esm/fields/LongText/index.native.js.map +1 -1
  258. package/dist/esm/fields/MentionInput/index.mjs +4 -1
  259. package/dist/esm/fields/MentionInput/index.mjs.map +1 -1
  260. package/dist/esm/fields/MentionInput/index.native.js +4 -1
  261. package/dist/esm/fields/MentionInput/index.native.js.map +1 -1
  262. package/dist/esm/fields/Numeric/index.native.js.map +1 -1
  263. package/dist/esm/fields/OTPInput/index.native.js.map +1 -1
  264. package/dist/esm/fields/Password/index.native.js.map +1 -1
  265. package/dist/esm/fields/Phone/index.native.js.map +1 -1
  266. package/dist/esm/fields/Progress/index.native.js.map +1 -1
  267. package/dist/esm/fields/RadioGroup/index.native.js.map +1 -1
  268. package/dist/esm/fields/Rating/index.native.js.map +1 -1
  269. package/dist/esm/fields/ReadOnly/index.native.js.map +1 -1
  270. package/dist/esm/fields/Select/index.native.js.map +1 -1
  271. package/dist/esm/fields/Signature/index.native.js.map +1 -1
  272. package/dist/esm/fields/Slider/index.native.js.map +1 -1
  273. package/dist/esm/fields/SmallText/index.native.js.map +1 -1
  274. package/dist/esm/fields/Switch/index.native.js.map +1 -1
  275. package/dist/esm/fields/TableMultiSelect.native.js.map +1 -1
  276. package/dist/esm/fields/TextEditor/types.native.js.map +1 -1
  277. package/dist/esm/fields/TimePicker/index.native.js.map +1 -1
  278. package/dist/esm/fields/ToggleGroup/index.native.js.map +1 -1
  279. package/dist/esm/fields/shared/EditorPreviewPanes.native.js.map +1 -1
  280. package/dist/esm/filterFields.native.js.map +1 -1
  281. package/dist/esm/formEngine/createPrefill.native.js.map +1 -1
  282. package/dist/esm/formEngine/dirtyTracking.native.js.map +1 -1
  283. package/dist/esm/formEngine/doctypeMeta.native.js.map +1 -1
  284. package/dist/esm/formEngine/fetchFrom.native.js.map +1 -1
  285. package/dist/esm/formEngine/fieldPermissions.native.js.map +1 -1
  286. package/dist/esm/formEngine/formActions.native.js.map +1 -1
  287. package/dist/esm/formEngine/formLayout.native.js.map +1 -1
  288. package/dist/esm/formEngine/index.native.js.map +1 -1
  289. package/dist/esm/formEngine/useFormEngine.native.js.map +1 -1
  290. package/dist/esm/frappeEventColor.native.js.map +1 -1
  291. package/dist/esm/frappeStoryTarget.native.js.map +1 -1
  292. package/dist/esm/frappeUsers.native.js.map +1 -1
  293. package/dist/esm/index.mjs +2 -1
  294. package/dist/esm/index.mjs.map +1 -1
  295. package/dist/esm/index.native.js +2 -1
  296. package/dist/esm/index.native.js.map +1 -1
  297. package/dist/esm/liveErrors.native.js.map +1 -1
  298. package/dist/esm/resolveControl.native.js.map +1 -1
  299. package/dist/esm/schemaForm/SchemaWizard.native.js.map +1 -1
  300. package/dist/esm/schemaForm/applyFieldOrder.native.js.map +1 -1
  301. package/dist/esm/schemaForm/index.mjs +8 -7
  302. package/dist/esm/schemaForm/index.mjs.map +1 -1
  303. package/dist/esm/schemaForm/index.native.js +8 -7
  304. package/dist/esm/schemaForm/index.native.js.map +1 -1
  305. package/dist/esm/shared/devWarn.mjs +14 -0
  306. package/dist/esm/shared/devWarn.mjs.map +1 -0
  307. package/dist/esm/shared/devWarn.native.js +16 -0
  308. package/dist/esm/shared/devWarn.native.js.map +1 -0
  309. package/dist/esm/shared/useKeyboardInset.native.js.map +1 -1
  310. package/dist/esm/syncError.native.js.map +1 -1
  311. package/dist/esm/useFrappeAggregate.mjs +15 -8
  312. package/dist/esm/useFrappeAggregate.mjs.map +1 -1
  313. package/dist/esm/useFrappeAggregate.native.js +15 -9
  314. package/dist/esm/useFrappeAggregate.native.js.map +1 -1
  315. package/dist/esm/useFrappeFacets.mjs +10 -9
  316. package/dist/esm/useFrappeFacets.mjs.map +1 -1
  317. package/dist/esm/useFrappeFacets.native.js +10 -10
  318. package/dist/esm/useFrappeFacets.native.js.map +1 -1
  319. package/dist/esm/useFrappePagination.native.js.map +1 -1
  320. package/dist/esm/useFrappeRows.mjs +86 -0
  321. package/dist/esm/useFrappeRows.mjs.map +1 -0
  322. package/dist/esm/useFrappeRows.native.js +99 -0
  323. package/dist/esm/useFrappeRows.native.js.map +1 -0
  324. package/dist/jsx/FrappeCalendar.mjs +20 -17
  325. package/dist/jsx/FrappeCalendar.mjs.map +1 -1
  326. package/dist/jsx/FrappeCalendar.native.js +22 -21
  327. package/dist/jsx/FrappeCalendar.native.js.map +1 -1
  328. package/dist/jsx/FrappeForm.mjs +1 -1
  329. package/dist/jsx/FrappeForm.mjs.map +1 -1
  330. package/dist/jsx/FrappeForm.native.js +1 -1
  331. package/dist/jsx/FrappeForm.native.js.map +1 -1
  332. package/dist/jsx/FrappeGantt.mjs +27 -36
  333. package/dist/jsx/FrappeGantt.mjs.map +1 -1
  334. package/dist/jsx/FrappeGantt.native.js +27 -38
  335. package/dist/jsx/FrappeGantt.native.js.map +1 -1
  336. package/dist/jsx/FrappeImageView.mjs +5 -3
  337. package/dist/jsx/FrappeImageView.mjs.map +1 -1
  338. package/dist/jsx/FrappeImageView.native.js +8 -4
  339. package/dist/jsx/FrappeImageView.native.js.map +1 -1
  340. package/dist/jsx/FrappeKPICard.mjs +27 -2
  341. package/dist/jsx/FrappeKPICard.mjs.map +1 -1
  342. package/dist/jsx/FrappeKPICard.native.js +26 -1
  343. package/dist/jsx/FrappeKPICard.native.js.map +1 -1
  344. package/dist/jsx/FrappeKanban.mjs +16 -17
  345. package/dist/jsx/FrappeKanban.mjs.map +1 -1
  346. package/dist/jsx/FrappeKanban.native.js +18 -21
  347. package/dist/jsx/FrappeKanban.native.js.map +1 -1
  348. package/dist/jsx/FrappeLikedBy.mjs +1 -1
  349. package/dist/jsx/FrappeLikedBy.mjs.map +1 -1
  350. package/dist/jsx/FrappeLikedBy.native.js +1 -1
  351. package/dist/jsx/FrappeLikedBy.native.js.map +1 -1
  352. package/dist/jsx/FrappeList.mjs +2 -2
  353. package/dist/jsx/FrappeList.mjs.map +1 -1
  354. package/dist/jsx/FrappeList.native.js +2 -2
  355. package/dist/jsx/FrappeList.native.js.map +1 -1
  356. package/dist/jsx/FrappeProvider.mjs.map +1 -1
  357. package/dist/jsx/FrappeProvider.native.js.map +1 -1
  358. package/dist/jsx/FrappeReportBuilder.mjs +2 -2
  359. package/dist/jsx/FrappeReportBuilder.mjs.map +1 -1
  360. package/dist/jsx/FrappeReportBuilder.native.js +2 -2
  361. package/dist/jsx/FrappeReportBuilder.native.js.map +1 -1
  362. package/dist/jsx/FrappeTable.mjs +36 -39
  363. package/dist/jsx/FrappeTable.mjs.map +1 -1
  364. package/dist/jsx/FrappeTable.native.js +38 -39
  365. package/dist/jsx/FrappeTable.native.js.map +1 -1
  366. package/dist/jsx/FrappeTreeView.mjs +89 -55
  367. package/dist/jsx/FrappeTreeView.mjs.map +1 -1
  368. package/dist/jsx/FrappeTreeView.native.js +129 -50
  369. package/dist/jsx/FrappeTreeView.native.js.map +1 -1
  370. package/dist/jsx/commentActions.mjs +1 -1
  371. package/dist/jsx/commentActions.mjs.map +1 -1
  372. package/dist/jsx/commentActions.native.js +1 -1
  373. package/dist/jsx/commentActions.native.js.map +1 -1
  374. package/dist/jsx/components/timeline.mjs +1 -1
  375. package/dist/jsx/components/timeline.mjs.map +1 -1
  376. package/dist/jsx/components/timeline.native.js +1 -1
  377. package/dist/jsx/desk/DeskShell.mjs +2 -0
  378. package/dist/jsx/desk/DeskShell.mjs.map +1 -1
  379. package/dist/jsx/desk/DeskShell.native.js +2 -0
  380. package/dist/jsx/desk/DeskShell.native.js.map +1 -1
  381. package/dist/jsx/desk/awesomebar.mjs +1 -1
  382. package/dist/jsx/desk/awesomebar.mjs.map +1 -1
  383. package/dist/jsx/desk/awesomebar.native.js +1 -1
  384. package/dist/jsx/desk/awesomebar.native.js.map +1 -1
  385. package/dist/jsx/fields/MentionInput/index.mjs +4 -1
  386. package/dist/jsx/fields/MentionInput/index.mjs.map +1 -1
  387. package/dist/jsx/fields/MentionInput/index.native.js +4 -1
  388. package/dist/jsx/fields/MentionInput/index.native.js.map +1 -1
  389. package/dist/jsx/index.js +2 -1
  390. package/dist/jsx/index.js.map +1 -1
  391. package/dist/jsx/index.mjs +2 -1
  392. package/dist/jsx/index.mjs.map +1 -1
  393. package/dist/jsx/index.native.js +4 -0
  394. package/dist/jsx/index.native.js.map +1 -1
  395. package/dist/jsx/schemaForm/index.mjs +8 -7
  396. package/dist/jsx/schemaForm/index.mjs.map +1 -1
  397. package/dist/jsx/schemaForm/index.native.js +10 -9
  398. package/dist/jsx/schemaForm/index.native.js.map +1 -1
  399. package/dist/jsx/shared/devWarn.mjs +14 -0
  400. package/dist/jsx/shared/devWarn.mjs.map +1 -0
  401. package/dist/jsx/shared/devWarn.native.js +45 -0
  402. package/dist/jsx/shared/devWarn.native.js.map +1 -0
  403. package/dist/jsx/useFrappeAggregate.mjs +15 -8
  404. package/dist/jsx/useFrappeAggregate.mjs.map +1 -1
  405. package/dist/jsx/useFrappeAggregate.native.js +15 -9
  406. package/dist/jsx/useFrappeAggregate.native.js.map +1 -1
  407. package/dist/jsx/useFrappeFacets.mjs +10 -9
  408. package/dist/jsx/useFrappeFacets.mjs.map +1 -1
  409. package/dist/jsx/useFrappeFacets.native.js +10 -10
  410. package/dist/jsx/useFrappeFacets.native.js.map +1 -1
  411. package/dist/jsx/useFrappeRows.mjs +86 -0
  412. package/dist/jsx/useFrappeRows.mjs.map +1 -0
  413. package/dist/jsx/useFrappeRows.native.js +129 -0
  414. package/dist/jsx/useFrappeRows.native.js.map +1 -0
  415. package/package.json +17 -16
  416. package/src/FileBrowser/FileBrowser.spec.tsx +11 -1
  417. package/src/FrappeCalendar.tsx +25 -22
  418. package/src/FrappeForm.tsx +7 -3
  419. package/src/FrappeGantt.tsx +29 -39
  420. package/src/FrappeImageView.tsx +5 -3
  421. package/src/FrappeKPICard.spec.tsx +128 -0
  422. package/src/FrappeKPICard.tsx +44 -4
  423. package/src/FrappeKanban.tsx +24 -17
  424. package/src/FrappeLikedBy.tsx +1 -1
  425. package/src/FrappeList.tsx +3 -2
  426. package/src/FrappeProvider.fixturesOnly.spec.tsx +129 -0
  427. package/src/FrappeProvider.tsx +16 -6
  428. package/src/FrappeReportBuilder.tsx +4 -2
  429. package/src/FrappeTable.autoHeight.spec.tsx +142 -0
  430. package/src/FrappeTable.rowAccumulator.spec.tsx +110 -0
  431. package/src/FrappeTable.tsx +75 -48
  432. package/src/FrappeTreeView.stories.tsx +59 -0
  433. package/src/FrappeTreeView.tsx +166 -56
  434. package/src/commentActions.ts +1 -1
  435. package/src/components/timeline.tsx +1 -1
  436. package/src/desk/DeskShell.tsx +2 -0
  437. package/src/desk/awesomebar.tsx +5 -2
  438. package/src/fields/CodeEditor/CodeEditor.spec.tsx +10 -9
  439. package/src/fields/Date/typeParity.spec.tsx +19 -9
  440. package/src/fields/Duration/Duration.spec.tsx +73 -0
  441. package/src/fields/MentionInput/MentionInput.spec.tsx +110 -0
  442. package/src/fields/MentionInput/index.tsx +4 -1
  443. package/src/fields/Password/index.tsx +1 -1
  444. package/src/fields/Progress/Progress.spec.tsx +9 -0
  445. package/src/fields/RadioGroup/RadioGroup.spec.tsx +93 -0
  446. package/src/fields/Signature/Signature.spec.tsx +105 -0
  447. package/src/fields/Slider/Slider.spec.tsx +73 -0
  448. package/src/fields/Switch/Switch.spec.tsx +65 -0
  449. package/src/fields/TextEditor/TextEditor.spec.tsx +2 -3
  450. package/src/fields/TextEditor/TextEditor.stories.tsx +31 -1
  451. package/src/fields/ToggleGroup/ToggleGroup.spec.tsx +110 -0
  452. package/src/frappeViews.designLaw.spec.ts +11 -7
  453. package/src/index.ts +13 -0
  454. package/src/schemaForm/index.tsx +6 -7
  455. package/src/shared/devWarn.ts +42 -0
  456. package/src/useFrappeAggregate.ts +17 -11
  457. package/src/useFrappeFacets.ts +17 -10
  458. package/src/useFrappeRows.spec.tsx +176 -0
  459. package/src/useFrappeRows.ts +293 -0
  460. package/types/FrappeCalendar.d.ts.map +1 -1
  461. package/types/FrappeForm.d.ts +6 -2
  462. package/types/FrappeForm.d.ts.map +1 -1
  463. package/types/FrappeGantt.d.ts.map +1 -1
  464. package/types/FrappeImageView.d.ts.map +1 -1
  465. package/types/FrappeKPICard.d.ts +9 -1
  466. package/types/FrappeKPICard.d.ts.map +1 -1
  467. package/types/FrappeKanban.d.ts.map +1 -1
  468. package/types/FrappeList.d.ts.map +1 -1
  469. package/types/FrappeProvider.d.ts +16 -6
  470. package/types/FrappeProvider.d.ts.map +1 -1
  471. package/types/FrappeReportBuilder.d.ts.map +1 -1
  472. package/types/FrappeTable.d.ts +20 -1
  473. package/types/FrappeTable.d.ts.map +1 -1
  474. package/types/FrappeTreeView.d.ts +38 -1
  475. package/types/FrappeTreeView.d.ts.map +1 -1
  476. package/types/desk/DeskShell.d.ts.map +1 -1
  477. package/types/desk/awesomebar.d.ts.map +1 -1
  478. package/types/fields/MentionInput/index.d.ts.map +1 -1
  479. package/types/fields/Password/index.d.ts +1 -1
  480. package/types/fields/Password/index.d.ts.map +1 -1
  481. package/types/index.d.ts +1 -0
  482. package/types/index.d.ts.map +1 -1
  483. package/types/schemaForm/index.d.ts.map +1 -1
  484. package/types/shared/devWarn.d.ts +23 -0
  485. package/types/shared/devWarn.d.ts.map +1 -0
  486. package/types/useFrappeAggregate.d.ts +2 -1
  487. package/types/useFrappeAggregate.d.ts.map +1 -1
  488. package/types/useFrappeFacets.d.ts +2 -1
  489. package/types/useFrappeFacets.d.ts.map +1 -1
  490. package/types/useFrappeRows.d.ts +186 -0
  491. package/types/useFrappeRows.d.ts.map +1 -0
@@ -1,14 +1,14 @@
1
- import { useDocTypeMeta, useFrappeCollection, useLiveQuery } from "@multiplatform.one/frappe";
2
- import { AsyncBoundary, TreeView } from "@multiplatform.one/components";
1
+ import { useDocTypeMeta } from "@multiplatform.one/frappe";
2
+ import { AsyncBoundary, EmptyState, TreeView } from "@multiplatform.one/components";
3
3
  import { TreeStructureIcon } from "@phosphor-icons/react";
4
- import { useCallback, useEffect, useMemo, useState } from "react";
4
+ import { useCallback, useMemo, useState } from "react";
5
5
  import { useTranslation } from "react-i18next";
6
6
  import { Text, YStack } from "tamagui";
7
- import { useResolvedKnobs } from "@multiplatform.one/theme";
7
+ import { useGlyphColor, useResolvedKnobs } from "@multiplatform.one/theme";
8
8
  import { formCommonColors } from "@multiplatform.one/forms";
9
9
  import { useFrappeConfig } from "./FrappeProvider.mjs";
10
10
  import { FrappeReconnectIndicator } from "./FrappeReconnectIndicator.mjs";
11
- import { toLiveLoadError } from "./liveErrors.mjs";
11
+ import { useFrappeRows } from "./useFrappeRows.mjs";
12
12
  import { Fragment, jsx, jsxs } from "react/jsx-runtime";
13
13
  function isRootParent(value) {
14
14
  return value == null || value === "";
@@ -48,14 +48,56 @@ function buildTreeNodes(docs, parentField, titleField) {
48
48
  };
49
49
  return sortDocs(roots).map(buildNode);
50
50
  }
51
+ function buildPathTreeNodes(docs, pathField, separator) {
52
+ const roots = /* @__PURE__ */new Map();
53
+ const splitPath = doc => {
54
+ const raw = doc[pathField];
55
+ const value = raw == null ? "" : String(raw);
56
+ const segments = separator ? value.split(separator) : [value];
57
+ const cleaned = segments.map(segment => segment.trim()).filter(segment => segment !== "");
58
+ return cleaned.length > 0 ? cleaned : [doc.name];
59
+ };
60
+ for (const doc of docs) {
61
+ let level = roots;
62
+ let prefix = "";
63
+ let bucket;
64
+ for (const segment of splitPath(doc)) {
65
+ prefix = prefix ? `${prefix}${separator}${segment}` : segment;
66
+ bucket = level.get(segment);
67
+ if (!bucket) {
68
+ bucket = {
69
+ path: prefix,
70
+ segment,
71
+ children: /* @__PURE__ */new Map()
72
+ };
73
+ level.set(segment, bucket);
74
+ }
75
+ level = bucket.children;
76
+ }
77
+ if (bucket && !bucket.doc) bucket.doc = doc;
78
+ }
79
+ const toNodes = level => Array.from(level.values()).sort((a, b) => a.segment.localeCompare(b.segment)).map(bucket => {
80
+ const children = toNodes(bucket.children);
81
+ return {
82
+ id: bucket.path,
83
+ label: bucket.segment,
84
+ data: bucket.doc,
85
+ children: children.length > 0 ? children : void 0
86
+ };
87
+ });
88
+ return toNodes(roots);
89
+ }
51
90
  function FrappeTreeView({
52
91
  doctype,
53
92
  parentField: parentFieldProp,
93
+ pathSeparator,
94
+ pathField,
54
95
  titleField: titleFieldProp,
55
96
  valueField,
56
97
  fields,
57
98
  filters,
58
99
  onNodeClick,
100
+ onPathSelect,
59
101
  enableDragDrop: _enableDragDrop = false,
60
102
  expandByDefault = false,
61
103
  display = "default",
@@ -71,6 +113,7 @@ function FrappeTreeView({
71
113
  const {
72
114
  knobProps
73
115
  } = useResolvedKnobs();
116
+ const emptyIconColor = useGlyphColor(formCommonColors.muted);
74
117
  const {
75
118
  t
76
119
  } = useTranslation();
@@ -78,8 +121,8 @@ function FrappeTreeView({
78
121
  const finalBaseURL = baseURL ?? config?.baseURL;
79
122
  const finalAuth = auth ?? config?.auth;
80
123
  const finalSyncOptions = syncOptions ?? config?.syncOptions;
81
- if (!finalBaseURL) {
82
- throw new Error("FrappeTreeView requires baseURL prop or FrappeProvider with baseURL");
124
+ if (!finalBaseURL && !config?.fixtures) {
125
+ throw new Error("FrappeTreeView requires baseURL prop or FrappeProvider with baseURL or fixtures");
83
126
  }
84
127
  const appConfig = useMemo(() => ({
85
128
  baseURL: finalBaseURL,
@@ -96,54 +139,50 @@ function FrappeTreeView({
96
139
  isLoading: isMetaLoading,
97
140
  error: metaError
98
141
  } = useDocTypeMeta(appConfig, doctype);
142
+ const isPathMode = !!pathSeparator;
143
+ const effectivePathField = pathField ?? "name";
99
144
  const effectiveTitleField = titleFieldProp ?? meta?.title_field ?? "name";
100
145
  const effectiveParentField = parentFieldProp ?? `parent_${doctype.toLowerCase().replace(/ /g, "_")}`;
101
- const isKnownNotTree = !!meta && !meta.is_tree;
102
- const canProceed = !!meta?.is_tree || !!metaError && !meta && !!parentFieldProp;
146
+ const isKnownNotTree = !isPathMode && !!meta && !meta.is_tree;
147
+ const canProceed = isPathMode || !!meta?.is_tree || !!metaError && !meta && !!parentFieldProp;
103
148
  const effectiveFields = useMemo(() => {
104
149
  const fieldSet = new Set(fields);
105
150
  fieldSet.add("name");
106
- fieldSet.add(effectiveTitleField);
107
- fieldSet.add(effectiveParentField);
151
+ if (isPathMode) {
152
+ fieldSet.add(effectivePathField);
153
+ } else {
154
+ fieldSet.add(effectiveTitleField);
155
+ fieldSet.add(effectiveParentField);
156
+ }
108
157
  if (valueField) fieldSet.add(valueField);
109
158
  return Array.from(fieldSet);
110
- }, [fields, effectiveTitleField, effectiveParentField, valueField]);
111
- const [syncError, setSyncError] = useState(null);
112
- const handleSyncError = useCallback(err => {
113
- setSyncError(toLiveLoadError(err, {
114
- permissionMessage: t("You do not have permission to view {{doctype}}", {
115
- doctype
116
- }),
117
- genericMessage: t("Failed to load {{doctype}} tree", {
118
- doctype
119
- })
120
- }));
121
- }, [doctype, t]);
122
- const collection = useFrappeCollection(canProceed && !isKnownNotTree ? appConfig : void 0, doctype, {
159
+ }, [fields, isPathMode, effectivePathField, effectiveTitleField, effectiveParentField, valueField]);
160
+ const rowsMessages = useMemo(() => ({
161
+ permission: t("You do not have permission to view {{doctype}}", {
162
+ doctype
163
+ }),
164
+ generic: t("Failed to load {{doctype}} tree", {
165
+ doctype
166
+ })
167
+ }), [doctype, t]);
168
+ const {
169
+ rows: docs,
170
+ isQueryLoading: isDataLoading,
171
+ error: queryError
172
+ } = useFrappeRows(appConfig, doctype, {
123
173
  fields: effectiveFields,
124
174
  filters,
125
- onSyncError: handleSyncError
175
+ limit: null,
176
+ enabled: canProceed && !isKnownNotTree,
177
+ messages: rowsMessages
126
178
  });
127
- useEffect(() => {
128
- setSyncError(null);
129
- }, [collection]);
130
- const {
131
- data: rawData,
132
- isLoading: isDataLoading,
133
- isError
134
- } = useLiveQuery(q => collection ? q.from({
135
- _list: collection
136
- }) : null, [collection]);
137
- const docs = useMemo(() => rawData ?? [], [rawData]);
138
- const treeNodes = useMemo(() => buildTreeNodes(docs, effectiveParentField, effectiveTitleField), [docs, effectiveParentField, effectiveTitleField]);
139
- const queryError = syncError ?? (isError ? new Error(t("Failed to load {{doctype}} tree", {
140
- doctype
141
- })) : null);
179
+ const treeNodes = useMemo(() => pathSeparator ? buildPathTreeNodes(docs, effectivePathField, pathSeparator) : buildTreeNodes(docs, effectiveParentField, effectiveTitleField), [docs, pathSeparator, effectivePathField, effectiveParentField, effectiveTitleField]);
142
180
  const handleNodeSelect = useCallback(node => {
143
181
  setSelectedId(node.id);
182
+ if (isPathMode) onPathSelect?.(node.id, node.data);
144
183
  if (!node.data) return;
145
184
  onNodeClick?.(node.data);
146
- }, [onNodeClick]);
185
+ }, [isPathMode, onNodeClick, onPathSelect]);
147
186
  if (isMetaLoading) {
148
187
  if (loading) return /* @__PURE__ */jsx(Fragment, {
149
188
  children: loading
@@ -154,7 +193,7 @@ function FrappeTreeView({
154
193
  ...stackProps
155
194
  });
156
195
  }
157
- if (metaError && !meta && !parentFieldProp) {
196
+ if (metaError && !meta && !parentFieldProp && !isPathMode) {
158
197
  if (error) return /* @__PURE__ */jsx(Fragment, {
159
198
  children: error(metaError)
160
199
  });
@@ -169,19 +208,14 @@ function FrappeTreeView({
169
208
  }
170
209
  if (isKnownNotTree) {
171
210
  const iconSize = Number(knobProps.controlIcon?.width) || 16;
172
- return /* @__PURE__ */jsxs(YStack, {
173
- ...knobProps.panelPadding,
174
- alignItems: "center",
175
- ...knobProps.gap,
176
- ...stackProps,
177
- children: [/* @__PURE__ */jsx(TreeStructureIcon, {
211
+ return /* @__PURE__ */jsx(EmptyState, {
212
+ title: t("This DocType does not support tree view"),
213
+ description: t("Pass pathSeparator and pathField to build the hierarchy from a path-shaped value on each row. parentField alone does not, because a flat DocType has no parent field."),
214
+ icon: /* @__PURE__ */jsx(TreeStructureIcon, {
178
215
  size: iconSize * 2,
179
- color: formCommonColors.muted
180
- }), /* @__PURE__ */jsx(Text, {
181
- color: formCommonColors.muted,
182
- ...knobProps.body,
183
- children: t("This DocType does not support tree view")
184
- })]
216
+ color: emptyIconColor
217
+ }),
218
+ ...stackProps
185
219
  });
186
220
  }
187
221
  if (queryError) {
@@ -238,5 +272,5 @@ function FrappeTreeView({
238
272
  })]
239
273
  });
240
274
  }
241
- export { FrappeTreeView, buildTreeNodes };
275
+ export { FrappeTreeView, buildPathTreeNodes, buildTreeNodes };
242
276
  //# sourceMappingURL=FrappeTreeView.mjs.map
@@ -1 +1 @@
1
- {"version":3,"names":["useDocTypeMeta","useFrappeCollection","useLiveQuery","AsyncBoundary","TreeView","TreeStructureIcon","useCallback","useEffect","useMemo","useState","useTranslation","Text","YStack","useResolvedKnobs","formCommonColors","useFrappeConfig","FrappeReconnectIndicator","toLiveLoadError","Fragment","jsx","jsxs","isRootParent","value","buildTreeNodes","docs","parentField","titleField","byName","Map","childrenByParent","doc","set","name","roots","parentRaw","push","parentName","String","has","siblings","get","sortDocs","items","sort","a","b","localeCompare","buildNode","childDocs","title","id","label","data","children","length","map","FrappeTreeView","doctype","parentFieldProp","titleFieldProp","valueField","fields","filters","onNodeClick","enableDragDrop","_enableDragDrop","expandByDefault","display","baseURL","auth","syncOptions","loading","error","stackProps","config","knobProps","t","selectedId","setSelectedId","finalBaseURL","finalAuth","finalSyncOptions","Error","appConfig","socketPort","siteName","socketBaseURL","realtime","fixtures","meta","isLoading","isMetaLoading","metaError","effectiveTitleField","title_field","effectiveParentField","toLowerCase","replace","isKnownNotTree","is_tree","canProceed","effectiveFields","fieldSet","Set","add","Array","from","syncError","setSyncError","handleSyncError","err","permissionMessage","genericMessage","collection","onSyncError","rawData","isDataLoading","isError","q","_list","treeNodes","queryError","handleNodeSelect","node","layout","errorTitle","iconSize","Number","controlIcon","width","panelPadding","alignItems","gap","size","color","muted","body","flex","containerRadius","nodes","ariaLabel","showExpansionArrows","renderNode","numberOfLines","marginInlineStart","onNodeSelect","emptyMessage"],"sources":["../../src/FrappeTreeView.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["useDocTypeMeta","AsyncBoundary","EmptyState","TreeView","TreeStructureIcon","useCallback","useMemo","useState","useTranslation","Text","YStack","useGlyphColor","useResolvedKnobs","formCommonColors","useFrappeConfig","FrappeReconnectIndicator","useFrappeRows","Fragment","jsx","jsxs","isRootParent","value","buildTreeNodes","docs","parentField","titleField","byName","Map","childrenByParent","doc","set","name","roots","parentRaw","push","parentName","String","has","siblings","get","sortDocs","items","sort","a","b","localeCompare","buildNode","childDocs","title","id","label","data","children","length","map","buildPathTreeNodes","pathField","separator","splitPath","raw","segments","split","cleaned","segment","trim","filter","level","prefix","bucket","path","toNodes","Array","from","values","FrappeTreeView","doctype","parentFieldProp","pathSeparator","titleFieldProp","valueField","fields","filters","onNodeClick","onPathSelect","enableDragDrop","_enableDragDrop","expandByDefault","display","baseURL","auth","syncOptions","loading","error","stackProps","config","knobProps","emptyIconColor","muted","t","selectedId","setSelectedId","finalBaseURL","finalAuth","finalSyncOptions","fixtures","Error","appConfig","socketPort","siteName","socketBaseURL","realtime","meta","isLoading","isMetaLoading","metaError","isPathMode","effectivePathField","effectiveTitleField","title_field","effectiveParentField","toLowerCase","replace","isKnownNotTree","is_tree","canProceed","effectiveFields","fieldSet","Set","add","rowsMessages","permission","generic","rows","isQueryLoading","isDataLoading","queryError","limit","enabled","messages","treeNodes","handleNodeSelect","node","layout","errorTitle","iconSize","Number","controlIcon","width","description","icon","size","color","gap","flex","containerRadius","nodes","ariaLabel","showExpansionArrows","renderNode","numberOfLines","marginInlineStart","onNodeSelect","emptyMessage"],"sources":["../../src/FrappeTreeView.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -1,15 +1,15 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
- import { useDocTypeMeta, useFrappeCollection, useLiveQuery } from "@multiplatform.one/frappe";
3
- import { AsyncBoundary, TreeView } from "@multiplatform.one/components";
2
+ import { useDocTypeMeta } from "@multiplatform.one/frappe";
3
+ import { AsyncBoundary, EmptyState, TreeView } from "@multiplatform.one/components";
4
4
  import { TreeStructureIcon } from "@phosphor-icons/react";
5
- import React, { useCallback, useEffect, useMemo, useState } from "react";
5
+ import React, { useCallback, useMemo, useState } from "react";
6
6
  import { useTranslation } from "react-i18next";
7
7
  import { Text, YStack } from "tamagui";
8
- import { useResolvedKnobs } from "@multiplatform.one/theme";
8
+ import { useGlyphColor, useResolvedKnobs } from "@multiplatform.one/theme";
9
9
  import { formCommonColors } from "@multiplatform.one/forms";
10
10
  import { useFrappeConfig } from "./FrappeProvider.native.js";
11
11
  import { FrappeReconnectIndicator } from "./FrappeReconnectIndicator.native.js";
12
- import { toLiveLoadError } from "./liveErrors.native.js";
12
+ import { useFrappeRows } from "./useFrappeRows.native.js";
13
13
  function isRootParent(value) {
14
14
  return value == null || value === "";
15
15
  }
@@ -92,15 +92,103 @@ function buildTreeNodes(docs, parentField, titleField) {
92
92
  };
93
93
  return sortDocs(roots).map(buildNode);
94
94
  }
95
+ function buildPathTreeNodes(docs, pathField, separator) {
96
+ var roots = /* @__PURE__ */new Map();
97
+ var splitPath = function splitPath2(doc2) {
98
+ var raw = doc2[pathField];
99
+ var value = raw == null ? "" : String(raw);
100
+ var segments = separator ? value.split(separator) : [value];
101
+ var cleaned = segments.map(function (segment2) {
102
+ return segment2.trim();
103
+ }).filter(function (segment2) {
104
+ return segment2 !== "";
105
+ });
106
+ return cleaned.length > 0 ? cleaned : [doc2.name];
107
+ };
108
+ var _iteratorNormalCompletion = true,
109
+ _didIteratorError = false,
110
+ _iteratorError = void 0;
111
+ try {
112
+ for (var _iterator = docs[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
113
+ var doc = _step.value;
114
+ var level = roots;
115
+ var prefix = "";
116
+ var bucket = void 0;
117
+ var _iteratorNormalCompletion1 = true,
118
+ _didIteratorError1 = false,
119
+ _iteratorError1 = void 0;
120
+ try {
121
+ for (var _iterator1 = splitPath(doc)[Symbol.iterator](), _step1; !(_iteratorNormalCompletion1 = (_step1 = _iterator1.next()).done); _iteratorNormalCompletion1 = true) {
122
+ var segment = _step1.value;
123
+ prefix = prefix ? `${prefix}${separator}${segment}` : segment;
124
+ bucket = level.get(segment);
125
+ if (!bucket) {
126
+ bucket = {
127
+ path: prefix,
128
+ segment,
129
+ children: /* @__PURE__ */new Map()
130
+ };
131
+ level.set(segment, bucket);
132
+ }
133
+ level = bucket.children;
134
+ }
135
+ } catch (err) {
136
+ _didIteratorError1 = true;
137
+ _iteratorError1 = err;
138
+ } finally {
139
+ try {
140
+ if (!_iteratorNormalCompletion1 && _iterator1.return != null) {
141
+ _iterator1.return();
142
+ }
143
+ } finally {
144
+ if (_didIteratorError1) {
145
+ throw _iteratorError1;
146
+ }
147
+ }
148
+ }
149
+ if (bucket && !bucket.doc) bucket.doc = doc;
150
+ }
151
+ } catch (err) {
152
+ _didIteratorError = true;
153
+ _iteratorError = err;
154
+ } finally {
155
+ try {
156
+ if (!_iteratorNormalCompletion && _iterator.return != null) {
157
+ _iterator.return();
158
+ }
159
+ } finally {
160
+ if (_didIteratorError) {
161
+ throw _iteratorError;
162
+ }
163
+ }
164
+ }
165
+ var toNodes = function toNodes1(level2) {
166
+ return Array.from(level2.values()).sort(function (a, b) {
167
+ return a.segment.localeCompare(b.segment);
168
+ }).map(function (bucket2) {
169
+ var children = toNodes(bucket2.children);
170
+ return {
171
+ id: bucket2.path,
172
+ label: bucket2.segment,
173
+ data: bucket2.doc,
174
+ children: children.length > 0 ? children : void 0
175
+ };
176
+ });
177
+ };
178
+ return toNodes(roots);
179
+ }
95
180
  function FrappeTreeView(param) {
96
181
  var {
97
182
  doctype,
98
183
  parentField: parentFieldProp,
184
+ pathSeparator,
185
+ pathField,
99
186
  titleField: titleFieldProp,
100
187
  valueField,
101
188
  fields,
102
189
  filters,
103
190
  onNodeClick,
191
+ onPathSelect,
104
192
  enableDragDrop: _enableDragDrop = false,
105
193
  expandByDefault = false,
106
194
  display = "default",
@@ -117,6 +205,7 @@ function FrappeTreeView(param) {
117
205
  var {
118
206
  knobProps
119
207
  } = useResolvedKnobs();
208
+ var emptyIconColor = useGlyphColor(formCommonColors.muted);
120
209
  var {
121
210
  t
122
211
  } = useTranslation();
@@ -124,8 +213,8 @@ function FrappeTreeView(param) {
124
213
  var finalBaseURL = baseURL !== null && baseURL !== void 0 ? baseURL : config === null || config === void 0 ? void 0 : config.baseURL;
125
214
  var finalAuth = auth !== null && auth !== void 0 ? auth : config === null || config === void 0 ? void 0 : config.auth;
126
215
  var finalSyncOptions = syncOptions !== null && syncOptions !== void 0 ? syncOptions : config === null || config === void 0 ? void 0 : config.syncOptions;
127
- if (!finalBaseURL) {
128
- throw new Error("FrappeTreeView requires baseURL prop or FrappeProvider with baseURL");
216
+ if (!finalBaseURL && !(config === null || config === void 0 ? void 0 : config.fixtures)) {
217
+ throw new Error("FrappeTreeView requires baseURL prop or FrappeProvider with baseURL or fixtures");
129
218
  }
130
219
  var appConfig = useMemo(function () {
131
220
  return {
@@ -144,60 +233,54 @@ function FrappeTreeView(param) {
144
233
  isLoading: isMetaLoading,
145
234
  error: metaError
146
235
  } = useDocTypeMeta(appConfig, doctype);
236
+ var isPathMode = !!pathSeparator;
237
+ var effectivePathField = pathField !== null && pathField !== void 0 ? pathField : "name";
147
238
  var effectiveTitleField = (_ref = titleFieldProp !== null && titleFieldProp !== void 0 ? titleFieldProp : meta === null || meta === void 0 ? void 0 : meta.title_field) !== null && _ref !== void 0 ? _ref : "name";
148
239
  var effectiveParentField = parentFieldProp !== null && parentFieldProp !== void 0 ? parentFieldProp : `parent_${doctype.toLowerCase().replace(/ /g, "_")}`;
149
- var isKnownNotTree = !!meta && !meta.is_tree;
150
- var canProceed = !!(meta === null || meta === void 0 ? void 0 : meta.is_tree) || !!metaError && !meta && !!parentFieldProp;
240
+ var isKnownNotTree = !isPathMode && !!meta && !meta.is_tree;
241
+ var canProceed = isPathMode || !!(meta === null || meta === void 0 ? void 0 : meta.is_tree) || !!metaError && !meta && !!parentFieldProp;
151
242
  var effectiveFields = useMemo(function () {
152
243
  var fieldSet = new Set(fields);
153
244
  fieldSet.add("name");
154
- fieldSet.add(effectiveTitleField);
155
- fieldSet.add(effectiveParentField);
245
+ if (isPathMode) {
246
+ fieldSet.add(effectivePathField);
247
+ } else {
248
+ fieldSet.add(effectiveTitleField);
249
+ fieldSet.add(effectiveParentField);
250
+ }
156
251
  if (valueField) fieldSet.add(valueField);
157
252
  return Array.from(fieldSet);
158
- }, [fields, effectiveTitleField, effectiveParentField, valueField]);
159
- var [syncError, setSyncError] = useState(null);
160
- var handleSyncError = useCallback(function (err) {
161
- setSyncError(toLiveLoadError(err, {
162
- permissionMessage: t("You do not have permission to view {{doctype}}", {
253
+ }, [fields, isPathMode, effectivePathField, effectiveTitleField, effectiveParentField, valueField]);
254
+ var rowsMessages = useMemo(function () {
255
+ return {
256
+ permission: t("You do not have permission to view {{doctype}}", {
163
257
  doctype
164
258
  }),
165
- genericMessage: t("Failed to load {{doctype}} tree", {
259
+ generic: t("Failed to load {{doctype}} tree", {
166
260
  doctype
167
261
  })
168
- }));
262
+ };
169
263
  }, [doctype, t]);
170
- var collection = useFrappeCollection(canProceed && !isKnownNotTree ? appConfig : void 0, doctype, {
264
+ var {
265
+ rows: docs,
266
+ isQueryLoading: isDataLoading,
267
+ error: queryError
268
+ } = useFrappeRows(appConfig, doctype, {
171
269
  fields: effectiveFields,
172
270
  filters,
173
- onSyncError: handleSyncError
271
+ limit: null,
272
+ enabled: canProceed && !isKnownNotTree,
273
+ messages: rowsMessages
174
274
  });
175
- useEffect(function () {
176
- setSyncError(null);
177
- }, [collection]);
178
- var {
179
- data: rawData,
180
- isLoading: isDataLoading,
181
- isError
182
- } = useLiveQuery(function (q) {
183
- return collection ? q.from({
184
- _list: collection
185
- }) : null;
186
- }, [collection]);
187
- var docs = useMemo(function () {
188
- return rawData !== null && rawData !== void 0 ? rawData : [];
189
- }, [rawData]);
190
275
  var treeNodes = useMemo(function () {
191
- return buildTreeNodes(docs, effectiveParentField, effectiveTitleField);
192
- }, [docs, effectiveParentField, effectiveTitleField]);
193
- var queryError = syncError !== null && syncError !== void 0 ? syncError : isError ? new Error(t("Failed to load {{doctype}} tree", {
194
- doctype
195
- })) : null;
276
+ return pathSeparator ? buildPathTreeNodes(docs, effectivePathField, pathSeparator) : buildTreeNodes(docs, effectiveParentField, effectiveTitleField);
277
+ }, [docs, pathSeparator, effectivePathField, effectiveParentField, effectiveTitleField]);
196
278
  var handleNodeSelect = useCallback(function (node) {
197
279
  setSelectedId(node.id);
280
+ if (isPathMode) onPathSelect === null || onPathSelect === void 0 ? void 0 : onPathSelect(node.id, node.data);
198
281
  if (!node.data) return;
199
282
  onNodeClick === null || onNodeClick === void 0 ? void 0 : onNodeClick(node.data);
200
- }, [onNodeClick]);
283
+ }, [isPathMode, onNodeClick, onPathSelect]);
201
284
  if (isMetaLoading) {
202
285
  if (loading) return /* @__PURE__ */_jsx(_Fragment, {
203
286
  children: loading
@@ -208,7 +291,7 @@ function FrappeTreeView(param) {
208
291
  ...stackProps
209
292
  });
210
293
  }
211
- if (metaError && !meta && !parentFieldProp) {
294
+ if (metaError && !meta && !parentFieldProp && !isPathMode) {
212
295
  if (error) return /* @__PURE__ */_jsx(_Fragment, {
213
296
  children: error(metaError)
214
297
  });
@@ -224,19 +307,14 @@ function FrappeTreeView(param) {
224
307
  if (isKnownNotTree) {
225
308
  var _knobProps_controlIcon;
226
309
  var iconSize = Number((_knobProps_controlIcon = knobProps.controlIcon) === null || _knobProps_controlIcon === void 0 ? void 0 : _knobProps_controlIcon.width) || 16;
227
- return /* @__PURE__ */_jsxs(YStack, {
228
- ...knobProps.panelPadding,
229
- alignItems: "center",
230
- ...knobProps.gap,
231
- ...stackProps,
232
- children: [/* @__PURE__ */_jsx(TreeStructureIcon, {
310
+ return /* @__PURE__ */_jsx(EmptyState, {
311
+ title: t("This DocType does not support tree view"),
312
+ description: t("Pass pathSeparator and pathField to build the hierarchy from a path-shaped value on each row. parentField alone does not, because a flat DocType has no parent field."),
313
+ icon: /* @__PURE__ */_jsx(TreeStructureIcon, {
233
314
  size: iconSize * 2,
234
- color: formCommonColors.muted
235
- }), /* @__PURE__ */_jsx(Text, {
236
- color: formCommonColors.muted,
237
- ...knobProps.body,
238
- children: t("This DocType does not support tree view")
239
- })]
315
+ color: emptyIconColor
316
+ }),
317
+ ...stackProps
240
318
  });
241
319
  }
242
320
  if (queryError) {
@@ -295,5 +373,5 @@ function FrappeTreeView(param) {
295
373
  })]
296
374
  });
297
375
  }
298
- export { FrappeTreeView, buildTreeNodes };
376
+ export { FrappeTreeView, buildPathTreeNodes, buildTreeNodes };
299
377
  //# sourceMappingURL=FrappeTreeView.native.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","useDocTypeMeta","useFrappeCollection","useLiveQuery","AsyncBoundary","TreeView","TreeStructureIcon","React","useCallback","useEffect","useMemo","useState","useTranslation","Text","YStack","useResolvedKnobs","formCommonColors","useFrappeConfig","FrappeReconnectIndicator","toLiveLoadError","isRootParent","value","buildTreeNodes","docs","parentField","titleField","byName","Map","childrenByParent","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_iterator","Symbol","iterator","_step","next","done","doc","set","name","err","return","roots","_iteratorNormalCompletion1","_didIteratorError1","_iteratorError1","_iterator1","_step1","doc1","_childrenByParent_get","parentRaw","push","parentName","String","has","siblings","get","sortDocs","sortDocs2","items","sort","a","b","localeCompare","buildNode","buildNode1","doc2","_childrenByParent_get2","childDocs","title","id","label","data","children","length","map","FrappeTreeView","param","doctype","parentFieldProp","titleFieldProp","valueField","fields","filters","onNodeClick","enableDragDrop","_enableDragDrop","expandByDefault","display","baseURL","auth","syncOptions","loading","error","stackProps","_ref","config","knobProps","t","selectedId","setSelectedId","finalBaseURL","finalAuth","finalSyncOptions","Error","appConfig","socketPort","siteName","socketBaseURL","realtime","fixtures","meta","isLoading","isMetaLoading","metaError","effectiveTitleField","title_field","effectiveParentField","toLowerCase","replace","isKnownNotTree","is_tree","canProceed","effectiveFields","fieldSet","Set","add","Array","from","syncError","setSyncError","handleSyncError","permissionMessage","genericMessage","collection","onSyncError","rawData","isDataLoading","isError","q","_list","treeNodes","queryError","handleNodeSelect","node","layout","errorTitle","_knobProps_controlIcon","iconSize","Number","controlIcon","width","panelPadding","alignItems","gap","size","color","muted","body","flex","containerRadius","nodes","ariaLabel","showExpansionArrows","renderNode","numberOfLines","marginInlineStart","onNodeSelect","emptyMessage"],"sources":["FrappeTreeView.native.js"],"sourcesContent":["import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from \"react/jsx-runtime\";\nimport { useDocTypeMeta, useFrappeCollection, useLiveQuery } from \"@multiplatform.one/frappe\";\nimport { AsyncBoundary, TreeView } from \"@multiplatform.one/components\";\nimport { TreeStructureIcon } from \"@phosphor-icons/react\";\nimport React, { useCallback, useEffect, useMemo, useState } from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { Text, YStack } from \"tamagui\";\nimport { useResolvedKnobs } from \"@multiplatform.one/theme\";\nimport { formCommonColors } from \"@multiplatform.one/forms\";\nimport { useFrappeConfig } from \"./FrappeProvider\";\nimport { FrappeReconnectIndicator } from \"./FrappeReconnectIndicator\";\nimport { toLiveLoadError } from \"./liveErrors\";\nfunction isRootParent(value) {\n return value == null || value === \"\";\n}\nfunction buildTreeNodes(docs, parentField, titleField) {\n var byName = /* @__PURE__ */ new Map();\n var childrenByParent = /* @__PURE__ */ new Map();\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;\n try {\n for (var _iterator = docs[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var doc = _step.value;\n byName.set(doc.name, doc);\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return != null) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n var roots = [];\n var _iteratorNormalCompletion1 = true, _didIteratorError1 = false, _iteratorError1 = void 0;\n try {\n for (var _iterator1 = docs[Symbol.iterator](), _step1; !(_iteratorNormalCompletion1 = (_step1 = _iterator1.next()).done); _iteratorNormalCompletion1 = true) {\n var doc1 = _step1.value;\n var _childrenByParent_get;\n var parentRaw = doc1[parentField];\n if (isRootParent(parentRaw)) {\n roots.push(doc1);\n continue;\n }\n var parentName = String(parentRaw);\n if (!byName.has(parentName)) {\n roots.push(doc1);\n continue;\n }\n var siblings = (_childrenByParent_get = childrenByParent.get(parentName)) !== null && _childrenByParent_get !== void 0 ? _childrenByParent_get : [];\n siblings.push(doc1);\n childrenByParent.set(parentName, siblings);\n }\n } catch (err) {\n _didIteratorError1 = true;\n _iteratorError1 = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion1 && _iterator1.return != null) {\n _iterator1.return();\n }\n } finally {\n if (_didIteratorError1) {\n throw _iteratorError1;\n }\n }\n }\n var sortDocs = function sortDocs2(items) {\n return [\n ...items\n ].sort(function(a, b) {\n return a.name.localeCompare(b.name);\n });\n };\n var buildNode = function buildNode1(doc2) {\n var _childrenByParent_get2;\n var childDocs = sortDocs((_childrenByParent_get2 = childrenByParent.get(doc2.name)) !== null && _childrenByParent_get2 !== void 0 ? _childrenByParent_get2 : []);\n var title = String(doc2[titleField] || doc2.name);\n return {\n id: doc2.name,\n label: title,\n data: doc2,\n children: childDocs.length > 0 ? childDocs.map(buildNode) : void 0\n };\n };\n return sortDocs(roots).map(buildNode);\n}\nfunction FrappeTreeView(param) {\n var { doctype, parentField: parentFieldProp, titleField: titleFieldProp, valueField, fields, filters, onNodeClick, enableDragDrop: _enableDragDrop = false, expandByDefault = false, display = \"default\", baseURL, auth, syncOptions, loading, error, ...stackProps } = param;\n var _ref;\n void _enableDragDrop;\n var config = useFrappeConfig();\n var { knobProps } = useResolvedKnobs();\n var { t } = useTranslation();\n var [selectedId, setSelectedId] = useState();\n var finalBaseURL = baseURL !== null && baseURL !== void 0 ? baseURL : config === null || config === void 0 ? void 0 : config.baseURL;\n var finalAuth = auth !== null && auth !== void 0 ? auth : config === null || config === void 0 ? void 0 : config.auth;\n var finalSyncOptions = syncOptions !== null && syncOptions !== void 0 ? syncOptions : config === null || config === void 0 ? void 0 : config.syncOptions;\n if (!finalBaseURL) {\n throw new Error(\"FrappeTreeView requires baseURL prop or FrappeProvider with baseURL\");\n }\n var appConfig = useMemo(function() {\n return {\n baseURL: finalBaseURL,\n socketPort: config === null || config === void 0 ? void 0 : config.socketPort,\n siteName: config === null || config === void 0 ? void 0 : config.siteName,\n socketBaseURL: config === null || config === void 0 ? void 0 : config.socketBaseURL,\n auth: finalAuth,\n syncOptions: finalSyncOptions,\n realtime: config === null || config === void 0 ? void 0 : config.realtime,\n fixtures: config === null || config === void 0 ? void 0 : config.fixtures\n };\n }, [\n finalBaseURL,\n config === null || config === void 0 ? void 0 : config.socketPort,\n config === null || config === void 0 ? void 0 : config.siteName,\n config === null || config === void 0 ? void 0 : config.socketBaseURL,\n config === null || config === void 0 ? void 0 : config.realtime,\n finalAuth,\n finalSyncOptions,\n config === null || config === void 0 ? void 0 : config.fixtures\n ]);\n var { meta, isLoading: isMetaLoading, error: metaError } = useDocTypeMeta(appConfig, doctype);\n var effectiveTitleField = (_ref = titleFieldProp !== null && titleFieldProp !== void 0 ? titleFieldProp : meta === null || meta === void 0 ? void 0 : meta.title_field) !== null && _ref !== void 0 ? _ref : \"name\";\n var effectiveParentField = parentFieldProp !== null && parentFieldProp !== void 0 ? parentFieldProp : `parent_${doctype.toLowerCase().replace(/ /g, \"_\")}`;\n var isKnownNotTree = !!meta && !meta.is_tree;\n var canProceed = !!(meta === null || meta === void 0 ? void 0 : meta.is_tree) || !!metaError && !meta && !!parentFieldProp;\n var effectiveFields = useMemo(function() {\n var fieldSet = new Set(fields);\n fieldSet.add(\"name\");\n fieldSet.add(effectiveTitleField);\n fieldSet.add(effectiveParentField);\n if (valueField) fieldSet.add(valueField);\n return Array.from(fieldSet);\n }, [\n fields,\n effectiveTitleField,\n effectiveParentField,\n valueField\n ]);\n var [syncError, setSyncError] = useState(null);\n var handleSyncError = useCallback(function(err) {\n setSyncError(toLiveLoadError(err, {\n permissionMessage: t(\"You do not have permission to view {{doctype}}\", {\n doctype\n }),\n genericMessage: t(\"Failed to load {{doctype}} tree\", {\n doctype\n })\n }));\n }, [\n doctype,\n t\n ]);\n var collection = useFrappeCollection(canProceed && !isKnownNotTree ? appConfig : void 0, doctype, {\n fields: effectiveFields,\n filters,\n onSyncError: handleSyncError\n });\n useEffect(function() {\n setSyncError(null);\n }, [\n collection\n ]);\n var { data: rawData, isLoading: isDataLoading, isError } = useLiveQuery(function(q) {\n return collection ? q.from({\n _list: collection\n }) : null;\n }, [\n collection\n ]);\n var docs = useMemo(function() {\n return rawData !== null && rawData !== void 0 ? rawData : [];\n }, [\n rawData\n ]);\n var treeNodes = useMemo(function() {\n return buildTreeNodes(docs, effectiveParentField, effectiveTitleField);\n }, [\n docs,\n effectiveParentField,\n effectiveTitleField\n ]);\n var queryError = syncError !== null && syncError !== void 0 ? syncError : isError ? new Error(t(\"Failed to load {{doctype}} tree\", {\n doctype\n })) : null;\n var handleNodeSelect = useCallback(function(node) {\n setSelectedId(node.id);\n if (!node.data) return;\n onNodeClick === null || onNodeClick === void 0 ? void 0 : onNodeClick(node.data);\n }, [\n onNodeClick\n ]);\n if (isMetaLoading) {\n if (loading) return /* @__PURE__ */ _jsx(_Fragment, {\n children: loading\n });\n return /* @__PURE__ */ _jsx(AsyncBoundary, {\n layout: \"list\",\n loading: true,\n ...stackProps\n });\n }\n if (metaError && !meta && !parentFieldProp) {\n if (error) return /* @__PURE__ */ _jsx(_Fragment, {\n children: error(metaError)\n });\n return /* @__PURE__ */ _jsx(AsyncBoundary, {\n layout: \"list\",\n error: metaError,\n errorTitle: t(\"Failed to load {{doctype}} schema\", {\n doctype\n }),\n ...stackProps\n });\n }\n if (isKnownNotTree) {\n var _knobProps_controlIcon;\n var iconSize = Number((_knobProps_controlIcon = knobProps.controlIcon) === null || _knobProps_controlIcon === void 0 ? void 0 : _knobProps_controlIcon.width) || 16;\n return /* @__PURE__ */ _jsxs(YStack, {\n ...knobProps.panelPadding,\n alignItems: \"center\",\n ...knobProps.gap,\n ...stackProps,\n children: [\n /* @__PURE__ */ _jsx(TreeStructureIcon, {\n size: iconSize * 2,\n color: formCommonColors.muted\n }),\n /* @__PURE__ */ _jsx(Text, {\n color: formCommonColors.muted,\n ...knobProps.body,\n children: t(\"This DocType does not support tree view\")\n })\n ]\n });\n }\n if (queryError) {\n if (error) return /* @__PURE__ */ _jsx(_Fragment, {\n children: error(queryError)\n });\n return /* @__PURE__ */ _jsx(AsyncBoundary, {\n layout: \"list\",\n error: queryError,\n errorTitle: t(\"Failed to load {{doctype}} tree\", {\n doctype\n }),\n ...stackProps\n });\n }\n if (isDataLoading) {\n if (loading) return /* @__PURE__ */ _jsx(_Fragment, {\n children: loading\n });\n return /* @__PURE__ */ _jsx(AsyncBoundary, {\n layout: \"list\",\n loading: true,\n ...stackProps\n });\n }\n return /* @__PURE__ */ _jsxs(YStack, {\n ...knobProps.gap,\n flex: 1,\n ...stackProps,\n children: [\n /* @__PURE__ */ _jsx(FrappeReconnectIndicator, {\n config: appConfig\n }),\n /* @__PURE__ */ _jsx(TreeView, {\n ...knobProps.containerRadius,\n nodes: treeNodes,\n ariaLabel: t(\"{{doctype}} tree\", {\n doctype\n }),\n expandByDefault,\n display,\n showExpansionArrows: true,\n selectedId,\n renderNode: function renderNode(node) {\n return /* @__PURE__ */ _jsxs(Text, {\n ...knobProps.label,\n numberOfLines: 1,\n children: [\n node.label,\n valueField && node.data && node.data[valueField] != null && /* @__PURE__ */ _jsx(Text, {\n color: formCommonColors.muted,\n ...knobProps.label,\n marginInlineStart: \"$2\",\n children: String(node.data[valueField])\n })\n ]\n });\n },\n onNodeSelect: handleNodeSelect,\n emptyMessage: t(\"No items found\")\n })\n ]\n });\n}\nexport {\n FrappeTreeView,\n buildTreeNodes\n};\n//# sourceMappingURL=FrappeTreeView.js.map\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","useDocTypeMeta","AsyncBoundary","EmptyState","TreeView","TreeStructureIcon","React","useCallback","useMemo","useState","useTranslation","Text","YStack","useGlyphColor","useResolvedKnobs","formCommonColors","useFrappeConfig","FrappeReconnectIndicator","useFrappeRows","isRootParent","value","buildTreeNodes","docs","parentField","titleField","byName","Map","childrenByParent","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_iterator","Symbol","iterator","_step","next","done","doc","set","name","err","return","roots","_iteratorNormalCompletion1","_didIteratorError1","_iteratorError1","_iterator1","_step1","doc1","_childrenByParent_get","parentRaw","push","parentName","String","has","siblings","get","sortDocs","sortDocs2","items","sort","a","b","localeCompare","buildNode","buildNode1","doc2","_childrenByParent_get2","childDocs","title","id","label","data","children","length","map","buildPathTreeNodes","pathField","separator","splitPath","splitPath2","raw","segments","split","cleaned","segment2","trim","filter","level","prefix","bucket","segment","path","toNodes","toNodes1","level2","Array","from","values","bucket2","FrappeTreeView","param","doctype","parentFieldProp","pathSeparator","titleFieldProp","valueField","fields","filters","onNodeClick","onPathSelect","enableDragDrop","_enableDragDrop","expandByDefault","display","baseURL","auth","syncOptions","loading","error","stackProps","_ref","config","knobProps","emptyIconColor","muted","t","selectedId","setSelectedId","finalBaseURL","finalAuth","finalSyncOptions","fixtures","Error","appConfig","socketPort","siteName","socketBaseURL","realtime","meta","isLoading","isMetaLoading","metaError","isPathMode","effectivePathField","effectiveTitleField","title_field","effectiveParentField","toLowerCase","replace","isKnownNotTree","is_tree","canProceed","effectiveFields","fieldSet","Set","add","rowsMessages","permission","generic","rows","isQueryLoading","isDataLoading","queryError","limit","enabled","messages","treeNodes"],"sources":["../../src/FrappeTreeView.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}