@multiplatform.one/frappe-ui 7.23.2 → 7.25.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 (692) 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 +1 -1
  10. package/dist/cjs/FrappeCalendar.native.js +1 -1
  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.cjs +1 -1
  15. package/dist/cjs/FrappeDashboard.native.js +1 -1
  16. package/dist/cjs/FrappeDashboard.native.js.map +1 -1
  17. package/dist/cjs/FrappeForm.native.js +1 -1
  18. package/dist/cjs/FrappeForm.native.js.map +1 -1
  19. package/dist/cjs/FrappeFormActions.native.js.map +1 -1
  20. package/dist/cjs/FrappeFormConnections.native.js.map +1 -1
  21. package/dist/cjs/FrappeGantt.native.js.map +1 -1
  22. package/dist/cjs/FrappeImageView.cjs +1 -1
  23. package/dist/cjs/FrappeImageView.native.js +1 -1
  24. package/dist/cjs/FrappeImageView.native.js.map +1 -1
  25. package/dist/cjs/FrappeInsights.cjs +380 -0
  26. package/dist/cjs/FrappeInsights.native.js +447 -0
  27. package/dist/cjs/FrappeInsights.native.js.map +1 -0
  28. package/dist/cjs/FrappeKPICard.native.js.map +1 -1
  29. package/dist/cjs/FrappeKanban.native.js.map +1 -1
  30. package/dist/cjs/FrappeLikedBy.cjs +5 -2
  31. package/dist/cjs/FrappeLikedBy.native.js +5 -2
  32. package/dist/cjs/FrappeLikedBy.native.js.map +1 -1
  33. package/dist/cjs/FrappeList.native.js.map +1 -1
  34. package/dist/cjs/FrappeListView.cjs +392 -38
  35. package/dist/cjs/FrappeListView.native.js +454 -41
  36. package/dist/cjs/FrappeListView.native.js.map +1 -1
  37. package/dist/cjs/FrappeNotConfigured.native.js.map +1 -1
  38. package/dist/cjs/FrappeProvider.native.js.map +1 -1
  39. package/dist/cjs/FrappeReconnectIndicator.native.js.map +1 -1
  40. package/dist/cjs/FrappeRecordView.cjs +199 -0
  41. package/dist/cjs/FrappeRecordView.native.js +218 -0
  42. package/dist/cjs/FrappeRecordView.native.js.map +1 -0
  43. package/dist/cjs/FrappeReportBuilder.cjs +2 -2
  44. package/dist/cjs/FrappeReportBuilder.native.js +2 -2
  45. package/dist/cjs/FrappeReportBuilder.native.js.map +1 -1
  46. package/dist/cjs/FrappeReportView.native.js +3 -3
  47. package/dist/cjs/FrappeReportView.native.js.map +1 -1
  48. package/dist/cjs/FrappeRowsReader.native.js.map +1 -1
  49. package/dist/cjs/FrappeTable.native.js.map +1 -1
  50. package/dist/cjs/FrappeTreeView.cjs +1 -1
  51. package/dist/cjs/FrappeTreeView.native.js +1 -1
  52. package/dist/cjs/FrappeTreeView.native.js.map +1 -1
  53. package/dist/cjs/SyncErrorNotice.native.js.map +1 -1
  54. package/dist/cjs/commentActions.native.js.map +1 -1
  55. package/dist/cjs/components/attachments.native.js.map +1 -1
  56. package/dist/cjs/components/tags.native.js.map +1 -1
  57. package/dist/cjs/components/timeline.native.js.map +1 -1
  58. package/dist/cjs/dependsOn.native.js.map +1 -1
  59. package/dist/cjs/desk/DeskFormPage.native.js.map +1 -1
  60. package/dist/cjs/desk/DeskFormSidebar.native.js.map +1 -1
  61. package/dist/cjs/desk/DeskListPage.native.js.map +1 -1
  62. package/dist/cjs/desk/DeskShell.native.js.map +1 -1
  63. package/dist/cjs/desk/DeskSidebar.native.js.map +1 -1
  64. package/dist/cjs/desk/awesomebar.cjs +1 -1
  65. package/dist/cjs/desk/awesomebar.native.js +3 -3
  66. package/dist/cjs/desk/awesomebar.native.js.map +1 -1
  67. package/dist/cjs/fieldOverrides.native.js.map +1 -1
  68. package/dist/cjs/fieldRegistry.native.js +31 -31
  69. package/dist/cjs/fieldRegistry.native.js.map +1 -1
  70. package/dist/cjs/fields/Barcode/index.native.js.map +1 -1
  71. package/dist/cjs/fields/Check/index.native.js.map +1 -1
  72. package/dist/cjs/fields/CodeEditor/index.native.js.map +1 -1
  73. package/dist/cjs/fields/Color/index.native.js.map +1 -1
  74. package/dist/cjs/fields/Data/index.native.js.map +1 -1
  75. package/dist/cjs/fields/Date/sheetKeyboard.native.js.map +1 -1
  76. package/dist/cjs/fields/Date/types.native.js.map +1 -1
  77. package/dist/cjs/fields/Date/wire.native.js.map +1 -1
  78. package/dist/cjs/fields/DateRange/index.native.js.map +1 -1
  79. package/dist/cjs/fields/Duration/index.native.js.map +1 -1
  80. package/dist/cjs/fields/DynamicLink.native.js.map +1 -1
  81. package/dist/cjs/fields/FileUpload.native.js.map +1 -1
  82. package/dist/cjs/fields/FileUploadField/index.native.js.map +1 -1
  83. package/dist/cjs/fields/Geolocation/index.native.js.map +1 -1
  84. package/dist/cjs/fields/HTML/index.native.js.map +1 -1
  85. package/dist/cjs/fields/Heading/index.cjs +18 -11
  86. package/dist/cjs/fields/Heading/index.native.js +21 -12
  87. package/dist/cjs/fields/Heading/index.native.js.map +1 -1
  88. package/dist/cjs/fields/Icon/index.native.js.map +1 -1
  89. package/dist/cjs/fields/Link.native.js.map +1 -1
  90. package/dist/cjs/fields/LinkTree.native.js.map +1 -1
  91. package/dist/cjs/fields/LongText/index.native.js.map +1 -1
  92. package/dist/cjs/fields/MentionInput/index.native.js.map +1 -1
  93. package/dist/cjs/fields/Numeric/index.native.js.map +1 -1
  94. package/dist/cjs/fields/OTPInput/index.native.js.map +1 -1
  95. package/dist/cjs/fields/Password/index.native.js.map +1 -1
  96. package/dist/cjs/fields/Phone/index.native.js.map +1 -1
  97. package/dist/cjs/fields/Progress/index.native.js.map +1 -1
  98. package/dist/cjs/fields/RadioGroup/index.native.js.map +1 -1
  99. package/dist/cjs/fields/Rating/index.native.js.map +1 -1
  100. package/dist/cjs/fields/ReadOnly/index.native.js.map +1 -1
  101. package/dist/cjs/fields/Select/index.native.js.map +1 -1
  102. package/dist/cjs/fields/Signature/index.native.js.map +1 -1
  103. package/dist/cjs/fields/Slider/index.native.js.map +1 -1
  104. package/dist/cjs/fields/SmallText/index.native.js.map +1 -1
  105. package/dist/cjs/fields/Switch/index.native.js.map +1 -1
  106. package/dist/cjs/fields/TableMultiSelect.native.js.map +1 -1
  107. package/dist/cjs/fields/TextEditor/types.native.js.map +1 -1
  108. package/dist/cjs/fields/TimePicker/index.native.js.map +1 -1
  109. package/dist/cjs/fields/ToggleGroup/index.native.js.map +1 -1
  110. package/dist/cjs/fields/shared/EditorPreviewPanes.native.js.map +1 -1
  111. package/dist/cjs/filterFields.native.js.map +1 -1
  112. package/dist/cjs/formEngine/createPrefill.native.js.map +1 -1
  113. package/dist/cjs/formEngine/dirtyTracking.native.js.map +1 -1
  114. package/dist/cjs/formEngine/docLifecycle.native.js.map +1 -1
  115. package/dist/cjs/formEngine/docPermissions.native.js.map +1 -1
  116. package/dist/cjs/formEngine/doctypeMeta.native.js.map +1 -1
  117. package/dist/cjs/formEngine/fetchFrom.native.js.map +1 -1
  118. package/dist/cjs/formEngine/fieldPermissions.native.js.map +1 -1
  119. package/dist/cjs/formEngine/formActions.native.js.map +1 -1
  120. package/dist/cjs/formEngine/formLayout.native.js.map +1 -1
  121. package/dist/cjs/formEngine/index.native.js.map +1 -1
  122. package/dist/cjs/formEngine/useAmendedAs.native.js.map +1 -1
  123. package/dist/cjs/formEngine/useDocRights.native.js.map +1 -1
  124. package/dist/cjs/formEngine/useFormEngine.native.js.map +1 -1
  125. package/dist/cjs/formEngine/useSessionRoles.native.js.map +1 -1
  126. package/dist/cjs/frappeConnections.native.js.map +1 -1
  127. package/dist/cjs/frappeEventColor.native.js.map +1 -1
  128. package/dist/cjs/frappeNavigation.cjs +12 -2
  129. package/dist/cjs/frappeNavigation.native.js +13 -2
  130. package/dist/cjs/frappeNavigation.native.js.map +1 -1
  131. package/dist/cjs/frappeStoryTarget.native.js.map +1 -1
  132. package/dist/cjs/frappeUsers.native.js.map +1 -1
  133. package/dist/cjs/index.cjs +34 -0
  134. package/dist/cjs/index.native.js +68 -34
  135. package/dist/cjs/index.native.js.map +1 -1
  136. package/dist/cjs/insights/InsightsFacetTags.cjs +147 -0
  137. package/dist/cjs/insights/InsightsFacetTags.native.js +165 -0
  138. package/dist/cjs/insights/InsightsFacetTags.native.js.map +1 -0
  139. package/dist/cjs/insights/InsightsKpiBand.cjs +124 -0
  140. package/dist/cjs/insights/InsightsKpiBand.native.js +133 -0
  141. package/dist/cjs/insights/InsightsKpiBand.native.js.map +1 -0
  142. package/dist/cjs/insights/InsightsLeaders.cjs +150 -0
  143. package/dist/cjs/insights/InsightsLeaders.native.js +178 -0
  144. package/dist/cjs/insights/InsightsLeaders.native.js.map +1 -0
  145. package/dist/cjs/insights/InsightsRecords.cjs +105 -0
  146. package/dist/cjs/insights/InsightsRecords.native.js +109 -0
  147. package/dist/cjs/insights/InsightsRecords.native.js.map +1 -0
  148. package/dist/cjs/insights/InsightsTable.cjs +157 -0
  149. package/dist/cjs/insights/InsightsTable.native.js +194 -0
  150. package/dist/cjs/insights/InsightsTable.native.js.map +1 -0
  151. package/dist/cjs/insights/insightsData.cjs +114 -0
  152. package/dist/cjs/insights/insightsData.native.js +220 -0
  153. package/dist/cjs/insights/insightsData.native.js.map +1 -0
  154. package/dist/cjs/insights/insightsRecord.cjs +35 -0
  155. package/dist/cjs/insights/insightsRecord.native.js +38 -0
  156. package/dist/cjs/insights/insightsRecord.native.js.map +1 -0
  157. package/dist/cjs/list/FacetBadge.cjs +62 -0
  158. package/dist/cjs/list/FacetBadge.native.js +66 -0
  159. package/dist/cjs/list/FacetBadge.native.js.map +1 -0
  160. package/dist/cjs/list/FacetRail.cjs +199 -0
  161. package/dist/cjs/list/FacetRail.native.js +223 -0
  162. package/dist/cjs/list/FacetRail.native.js.map +1 -0
  163. package/dist/cjs/list/ImageWell.cjs +111 -0
  164. package/dist/cjs/list/ImageWell.native.js +126 -0
  165. package/dist/cjs/list/ImageWell.native.js.map +1 -0
  166. package/dist/cjs/list/ListControls.cjs +226 -0
  167. package/dist/cjs/list/ListControls.native.js +252 -0
  168. package/dist/cjs/list/ListControls.native.js.map +1 -0
  169. package/dist/cjs/list/ListToastHost.cjs +54 -0
  170. package/dist/cjs/list/ListToastHost.native.js +59 -0
  171. package/dist/cjs/list/ListToastHost.native.js.map +1 -0
  172. package/dist/cjs/list/RangeFilter.cjs +122 -0
  173. package/dist/cjs/list/RangeFilter.native.js +135 -0
  174. package/dist/cjs/list/RangeFilter.native.js.map +1 -0
  175. package/dist/cjs/list/RecordCard.cjs +233 -0
  176. package/dist/cjs/list/RecordCard.native.js +173 -0
  177. package/dist/cjs/list/RecordCard.native.js.map +1 -0
  178. package/dist/cjs/list/ShufflePanel.cjs +112 -0
  179. package/dist/cjs/list/ShufflePanel.native.js +139 -0
  180. package/dist/cjs/list/ShufflePanel.native.js.map +1 -0
  181. package/dist/cjs/list/facetReading.cjs +71 -0
  182. package/dist/cjs/list/facetReading.native.js +163 -0
  183. package/dist/cjs/list/facetReading.native.js.map +1 -0
  184. package/dist/cjs/list/favorites.cjs +79 -0
  185. package/dist/cjs/list/favorites.native.js +91 -0
  186. package/dist/cjs/list/favorites.native.js.map +1 -0
  187. package/dist/cjs/list/listColumns.native.js.map +1 -1
  188. package/dist/cjs/list/listFields.native.js.map +1 -1
  189. package/dist/cjs/list/listFormat.native.js.map +1 -1
  190. package/dist/cjs/list/listState.cjs +100 -0
  191. package/dist/cjs/list/listState.native.js +234 -0
  192. package/dist/cjs/list/listState.native.js.map +1 -0
  193. package/dist/cjs/list/recordLook.cjs +35 -0
  194. package/dist/cjs/list/recordLook.native.js +39 -0
  195. package/dist/cjs/list/recordLook.native.js.map +1 -0
  196. package/dist/cjs/list/statusColors.native.js.map +1 -1
  197. package/dist/cjs/list/useListControls.cjs +189 -0
  198. package/dist/cjs/list/useListControls.native.js +272 -0
  199. package/dist/cjs/list/useListControls.native.js.map +1 -0
  200. package/dist/cjs/liveErrors.native.js.map +1 -1
  201. package/dist/cjs/record/RecordBars.cjs +200 -0
  202. package/dist/cjs/record/RecordBars.native.js +225 -0
  203. package/dist/cjs/record/RecordBars.native.js.map +1 -0
  204. package/dist/cjs/record/RecordGallery.cjs +67 -0
  205. package/dist/cjs/record/RecordGallery.native.js +75 -0
  206. package/dist/cjs/record/RecordGallery.native.js.map +1 -0
  207. package/dist/cjs/record/RecordHero.cjs +239 -0
  208. package/dist/cjs/record/RecordHero.native.js +250 -0
  209. package/dist/cjs/record/RecordHero.native.js.map +1 -0
  210. package/dist/cjs/record/RecordPage.cjs +330 -0
  211. package/dist/cjs/record/RecordPage.native.js +364 -0
  212. package/dist/cjs/record/RecordPage.native.js.map +1 -0
  213. package/dist/cjs/record/RecordPager.cjs +125 -0
  214. package/dist/cjs/record/RecordPager.native.js +130 -0
  215. package/dist/cjs/record/RecordPager.native.js.map +1 -0
  216. package/dist/cjs/record/RecordRows.cjs +126 -0
  217. package/dist/cjs/record/RecordRows.native.js +140 -0
  218. package/dist/cjs/record/RecordRows.native.js.map +1 -0
  219. package/dist/cjs/record/recordData.cjs +122 -0
  220. package/dist/cjs/record/recordData.native.js +189 -0
  221. package/dist/cjs/record/recordData.native.js.map +1 -0
  222. package/dist/cjs/record/recordSections.cjs +30 -0
  223. package/dist/cjs/record/recordSections.native.js +33 -0
  224. package/dist/cjs/record/recordSections.native.js.map +1 -0
  225. package/dist/cjs/resolveControl.native.js.map +1 -1
  226. package/dist/cjs/schemaForm/SchemaWizard.native.js.map +1 -1
  227. package/dist/cjs/schemaForm/applyFieldOrder.native.js.map +1 -1
  228. package/dist/cjs/schemaForm/index.native.js +1 -1
  229. package/dist/cjs/schemaForm/index.native.js.map +1 -1
  230. package/dist/cjs/shared/devWarn.native.js.map +1 -1
  231. package/dist/cjs/shared/useKeyboardInset.native.js.map +1 -1
  232. package/dist/cjs/syncError.native.js.map +1 -1
  233. package/dist/cjs/useConnectionFilters.native.js.map +1 -1
  234. package/dist/cjs/useFrappeAggregate.native.js.map +1 -1
  235. package/dist/cjs/useFrappeFacets.native.js.map +1 -1
  236. package/dist/cjs/useFrappePagination.native.js.map +1 -1
  237. package/dist/cjs/useFrappeRows.native.js.map +1 -1
  238. package/dist/esm/FrappeCalendar.mjs +1 -1
  239. package/dist/esm/FrappeCalendar.mjs.map +1 -1
  240. package/dist/esm/FrappeCalendar.native.js +1 -1
  241. package/dist/esm/FrappeCalendar.native.js.map +1 -1
  242. package/dist/esm/FrappeDashboard.mjs +1 -1
  243. package/dist/esm/FrappeDashboard.mjs.map +1 -1
  244. package/dist/esm/FrappeDashboard.native.js +1 -1
  245. package/dist/esm/FrappeDashboard.native.js.map +1 -1
  246. package/dist/esm/FrappeImageView.mjs +1 -1
  247. package/dist/esm/FrappeImageView.mjs.map +1 -1
  248. package/dist/esm/FrappeImageView.native.js +1 -1
  249. package/dist/esm/FrappeImageView.native.js.map +1 -1
  250. package/dist/esm/FrappeInsights.mjs +355 -0
  251. package/dist/esm/FrappeInsights.mjs.map +1 -0
  252. package/dist/esm/FrappeInsights.native.js +419 -0
  253. package/dist/esm/FrappeInsights.native.js.map +1 -0
  254. package/dist/esm/FrappeLikedBy.mjs +6 -3
  255. package/dist/esm/FrappeLikedBy.mjs.map +1 -1
  256. package/dist/esm/FrappeLikedBy.native.js +6 -3
  257. package/dist/esm/FrappeLikedBy.native.js.map +1 -1
  258. package/dist/esm/FrappeListView.mjs +396 -42
  259. package/dist/esm/FrappeListView.mjs.map +1 -1
  260. package/dist/esm/FrappeListView.native.js +458 -45
  261. package/dist/esm/FrappeListView.native.js.map +1 -1
  262. package/dist/esm/FrappeRecordView.mjs +174 -0
  263. package/dist/esm/FrappeRecordView.mjs.map +1 -0
  264. package/dist/esm/FrappeRecordView.native.js +190 -0
  265. package/dist/esm/FrappeRecordView.native.js.map +1 -0
  266. package/dist/esm/FrappeReportBuilder.mjs +2 -2
  267. package/dist/esm/FrappeReportBuilder.mjs.map +1 -1
  268. package/dist/esm/FrappeReportBuilder.native.js +2 -2
  269. package/dist/esm/FrappeReportBuilder.native.js.map +1 -1
  270. package/dist/esm/FrappeTreeView.mjs +1 -1
  271. package/dist/esm/FrappeTreeView.mjs.map +1 -1
  272. package/dist/esm/FrappeTreeView.native.js +1 -1
  273. package/dist/esm/desk/awesomebar.mjs +1 -1
  274. package/dist/esm/desk/awesomebar.mjs.map +1 -1
  275. package/dist/esm/desk/awesomebar.native.js +3 -3
  276. package/dist/esm/desk/awesomebar.native.js.map +1 -1
  277. package/dist/esm/fields/Heading/index.mjs +19 -12
  278. package/dist/esm/fields/Heading/index.mjs.map +1 -1
  279. package/dist/esm/fields/Heading/index.native.js +22 -13
  280. package/dist/esm/fields/Heading/index.native.js.map +1 -1
  281. package/dist/esm/frappeNavigation.mjs +11 -2
  282. package/dist/esm/frappeNavigation.mjs.map +1 -1
  283. package/dist/esm/frappeNavigation.native.js +12 -2
  284. package/dist/esm/frappeNavigation.native.js.map +1 -1
  285. package/dist/esm/index.mjs +14 -2
  286. package/dist/esm/index.mjs.map +1 -1
  287. package/dist/esm/index.native.js +14 -2
  288. package/dist/esm/index.native.js.map +1 -1
  289. package/dist/esm/insights/InsightsFacetTags.mjs +122 -0
  290. package/dist/esm/insights/InsightsFacetTags.mjs.map +1 -0
  291. package/dist/esm/insights/InsightsFacetTags.native.js +137 -0
  292. package/dist/esm/insights/InsightsFacetTags.native.js.map +1 -0
  293. package/dist/esm/insights/InsightsKpiBand.mjs +99 -0
  294. package/dist/esm/insights/InsightsKpiBand.mjs.map +1 -0
  295. package/dist/esm/insights/InsightsKpiBand.native.js +105 -0
  296. package/dist/esm/insights/InsightsKpiBand.native.js.map +1 -0
  297. package/dist/esm/insights/InsightsLeaders.mjs +125 -0
  298. package/dist/esm/insights/InsightsLeaders.mjs.map +1 -0
  299. package/dist/esm/insights/InsightsLeaders.native.js +150 -0
  300. package/dist/esm/insights/InsightsLeaders.native.js.map +1 -0
  301. package/dist/esm/insights/InsightsRecords.mjs +80 -0
  302. package/dist/esm/insights/InsightsRecords.mjs.map +1 -0
  303. package/dist/esm/insights/InsightsRecords.native.js +81 -0
  304. package/dist/esm/insights/InsightsRecords.native.js.map +1 -0
  305. package/dist/esm/insights/InsightsTable.mjs +132 -0
  306. package/dist/esm/insights/InsightsTable.mjs.map +1 -0
  307. package/dist/esm/insights/InsightsTable.native.js +166 -0
  308. package/dist/esm/insights/InsightsTable.native.js.map +1 -0
  309. package/dist/esm/insights/insightsData.mjs +82 -0
  310. package/dist/esm/insights/insightsData.mjs.map +1 -0
  311. package/dist/esm/insights/insightsData.native.js +185 -0
  312. package/dist/esm/insights/insightsData.native.js.map +1 -0
  313. package/dist/esm/insights/insightsRecord.mjs +9 -0
  314. package/dist/esm/insights/insightsRecord.mjs.map +1 -0
  315. package/dist/esm/insights/insightsRecord.native.js +9 -0
  316. package/dist/esm/insights/insightsRecord.native.js.map +1 -0
  317. package/dist/esm/list/FacetBadge.mjs +37 -0
  318. package/dist/esm/list/FacetBadge.mjs.map +1 -0
  319. package/dist/esm/list/FacetBadge.native.js +38 -0
  320. package/dist/esm/list/FacetBadge.native.js.map +1 -0
  321. package/dist/esm/list/FacetRail.mjs +174 -0
  322. package/dist/esm/list/FacetRail.mjs.map +1 -0
  323. package/dist/esm/list/FacetRail.native.js +195 -0
  324. package/dist/esm/list/FacetRail.native.js.map +1 -0
  325. package/dist/esm/list/ImageWell.mjs +86 -0
  326. package/dist/esm/list/ImageWell.mjs.map +1 -0
  327. package/dist/esm/list/ImageWell.native.js +98 -0
  328. package/dist/esm/list/ImageWell.native.js.map +1 -0
  329. package/dist/esm/list/ListControls.mjs +201 -0
  330. package/dist/esm/list/ListControls.mjs.map +1 -0
  331. package/dist/esm/list/ListControls.native.js +224 -0
  332. package/dist/esm/list/ListControls.native.js.map +1 -0
  333. package/dist/esm/list/ListToastHost.mjs +18 -0
  334. package/dist/esm/list/ListToastHost.mjs.map +1 -0
  335. package/dist/esm/list/ListToastHost.native.js +20 -0
  336. package/dist/esm/list/ListToastHost.native.js.map +1 -0
  337. package/dist/esm/list/RangeFilter.mjs +85 -0
  338. package/dist/esm/list/RangeFilter.mjs.map +1 -0
  339. package/dist/esm/list/RangeFilter.native.js +95 -0
  340. package/dist/esm/list/RangeFilter.native.js.map +1 -0
  341. package/dist/esm/list/RecordCard.mjs +208 -0
  342. package/dist/esm/list/RecordCard.mjs.map +1 -0
  343. package/dist/esm/list/RecordCard.native.js +145 -0
  344. package/dist/esm/list/RecordCard.native.js.map +1 -0
  345. package/dist/esm/list/ShufflePanel.mjs +87 -0
  346. package/dist/esm/list/ShufflePanel.mjs.map +1 -0
  347. package/dist/esm/list/ShufflePanel.native.js +111 -0
  348. package/dist/esm/list/ShufflePanel.native.js.map +1 -0
  349. package/dist/esm/list/facetReading.mjs +45 -0
  350. package/dist/esm/list/facetReading.mjs.map +1 -0
  351. package/dist/esm/list/facetReading.native.js +134 -0
  352. package/dist/esm/list/facetReading.native.js.map +1 -0
  353. package/dist/esm/list/favorites.mjs +50 -0
  354. package/dist/esm/list/favorites.mjs.map +1 -0
  355. package/dist/esm/list/favorites.native.js +59 -0
  356. package/dist/esm/list/favorites.native.js.map +1 -0
  357. package/dist/esm/list/listState.mjs +71 -0
  358. package/dist/esm/list/listState.mjs.map +1 -0
  359. package/dist/esm/list/listState.native.js +202 -0
  360. package/dist/esm/list/listState.native.js.map +1 -0
  361. package/dist/esm/list/recordLook.mjs +10 -0
  362. package/dist/esm/list/recordLook.mjs.map +1 -0
  363. package/dist/esm/list/recordLook.native.js +11 -0
  364. package/dist/esm/list/recordLook.native.js.map +1 -0
  365. package/dist/esm/list/useListControls.mjs +164 -0
  366. package/dist/esm/list/useListControls.mjs.map +1 -0
  367. package/dist/esm/list/useListControls.native.js +244 -0
  368. package/dist/esm/list/useListControls.native.js.map +1 -0
  369. package/dist/esm/record/RecordBars.mjs +175 -0
  370. package/dist/esm/record/RecordBars.mjs.map +1 -0
  371. package/dist/esm/record/RecordBars.native.js +197 -0
  372. package/dist/esm/record/RecordBars.native.js.map +1 -0
  373. package/dist/esm/record/RecordGallery.mjs +42 -0
  374. package/dist/esm/record/RecordGallery.mjs.map +1 -0
  375. package/dist/esm/record/RecordGallery.native.js +47 -0
  376. package/dist/esm/record/RecordGallery.native.js.map +1 -0
  377. package/dist/esm/record/RecordHero.mjs +205 -0
  378. package/dist/esm/record/RecordHero.mjs.map +1 -0
  379. package/dist/esm/record/RecordHero.native.js +213 -0
  380. package/dist/esm/record/RecordHero.native.js.map +1 -0
  381. package/dist/esm/record/RecordPage.mjs +305 -0
  382. package/dist/esm/record/RecordPage.mjs.map +1 -0
  383. package/dist/esm/record/RecordPage.native.js +336 -0
  384. package/dist/esm/record/RecordPage.native.js.map +1 -0
  385. package/dist/esm/record/RecordPager.mjs +100 -0
  386. package/dist/esm/record/RecordPager.mjs.map +1 -0
  387. package/dist/esm/record/RecordPager.native.js +102 -0
  388. package/dist/esm/record/RecordPager.native.js.map +1 -0
  389. package/dist/esm/record/RecordRows.mjs +101 -0
  390. package/dist/esm/record/RecordRows.mjs.map +1 -0
  391. package/dist/esm/record/RecordRows.native.js +112 -0
  392. package/dist/esm/record/RecordRows.native.js.map +1 -0
  393. package/dist/esm/record/recordData.mjs +92 -0
  394. package/dist/esm/record/recordData.mjs.map +1 -0
  395. package/dist/esm/record/recordData.native.js +156 -0
  396. package/dist/esm/record/recordData.native.js.map +1 -0
  397. package/dist/esm/record/recordSections.mjs +5 -0
  398. package/dist/esm/record/recordSections.mjs.map +1 -0
  399. package/dist/esm/record/recordSections.native.js +5 -0
  400. package/dist/esm/record/recordSections.native.js.map +1 -0
  401. package/dist/jsx/FrappeCalendar.mjs +1 -1
  402. package/dist/jsx/FrappeCalendar.mjs.map +1 -1
  403. package/dist/jsx/FrappeCalendar.native.js +1 -1
  404. package/dist/jsx/FrappeCalendar.native.js.map +1 -1
  405. package/dist/jsx/FrappeDashboard.mjs +1 -1
  406. package/dist/jsx/FrappeDashboard.mjs.map +1 -1
  407. package/dist/jsx/FrappeDashboard.native.js +1 -1
  408. package/dist/jsx/FrappeDashboard.native.js.map +1 -1
  409. package/dist/jsx/FrappeImageView.mjs +1 -1
  410. package/dist/jsx/FrappeImageView.mjs.map +1 -1
  411. package/dist/jsx/FrappeImageView.native.js +1 -1
  412. package/dist/jsx/FrappeImageView.native.js.map +1 -1
  413. package/dist/jsx/FrappeInsights.mjs +355 -0
  414. package/dist/jsx/FrappeInsights.mjs.map +1 -0
  415. package/dist/jsx/FrappeInsights.native.js +447 -0
  416. package/dist/jsx/FrappeInsights.native.js.map +1 -0
  417. package/dist/jsx/FrappeLikedBy.mjs +6 -3
  418. package/dist/jsx/FrappeLikedBy.mjs.map +1 -1
  419. package/dist/jsx/FrappeLikedBy.native.js +5 -2
  420. package/dist/jsx/FrappeLikedBy.native.js.map +1 -1
  421. package/dist/jsx/FrappeListView.mjs +396 -42
  422. package/dist/jsx/FrappeListView.mjs.map +1 -1
  423. package/dist/jsx/FrappeListView.native.js +454 -41
  424. package/dist/jsx/FrappeListView.native.js.map +1 -1
  425. package/dist/jsx/FrappeRecordView.mjs +174 -0
  426. package/dist/jsx/FrappeRecordView.mjs.map +1 -0
  427. package/dist/jsx/FrappeRecordView.native.js +218 -0
  428. package/dist/jsx/FrappeRecordView.native.js.map +1 -0
  429. package/dist/jsx/FrappeReportBuilder.mjs +2 -2
  430. package/dist/jsx/FrappeReportBuilder.mjs.map +1 -1
  431. package/dist/jsx/FrappeReportBuilder.native.js +2 -2
  432. package/dist/jsx/FrappeReportBuilder.native.js.map +1 -1
  433. package/dist/jsx/FrappeTreeView.mjs +1 -1
  434. package/dist/jsx/FrappeTreeView.mjs.map +1 -1
  435. package/dist/jsx/FrappeTreeView.native.js +1 -1
  436. package/dist/jsx/desk/awesomebar.mjs +1 -1
  437. package/dist/jsx/desk/awesomebar.mjs.map +1 -1
  438. package/dist/jsx/desk/awesomebar.native.js +3 -3
  439. package/dist/jsx/desk/awesomebar.native.js.map +1 -1
  440. package/dist/jsx/fields/Heading/index.mjs +19 -12
  441. package/dist/jsx/fields/Heading/index.mjs.map +1 -1
  442. package/dist/jsx/fields/Heading/index.native.js +21 -12
  443. package/dist/jsx/fields/Heading/index.native.js.map +1 -1
  444. package/dist/jsx/frappeNavigation.mjs +11 -2
  445. package/dist/jsx/frappeNavigation.mjs.map +1 -1
  446. package/dist/jsx/frappeNavigation.native.js +13 -2
  447. package/dist/jsx/frappeNavigation.native.js.map +1 -1
  448. package/dist/jsx/index.js +14 -2
  449. package/dist/jsx/index.js.map +1 -1
  450. package/dist/jsx/index.mjs +14 -2
  451. package/dist/jsx/index.mjs.map +1 -1
  452. package/dist/jsx/index.native.js +34 -0
  453. package/dist/jsx/index.native.js.map +1 -1
  454. package/dist/jsx/insights/InsightsFacetTags.mjs +122 -0
  455. package/dist/jsx/insights/InsightsFacetTags.mjs.map +1 -0
  456. package/dist/jsx/insights/InsightsFacetTags.native.js +165 -0
  457. package/dist/jsx/insights/InsightsFacetTags.native.js.map +1 -0
  458. package/dist/jsx/insights/InsightsKpiBand.mjs +99 -0
  459. package/dist/jsx/insights/InsightsKpiBand.mjs.map +1 -0
  460. package/dist/jsx/insights/InsightsKpiBand.native.js +133 -0
  461. package/dist/jsx/insights/InsightsKpiBand.native.js.map +1 -0
  462. package/dist/jsx/insights/InsightsLeaders.mjs +125 -0
  463. package/dist/jsx/insights/InsightsLeaders.mjs.map +1 -0
  464. package/dist/jsx/insights/InsightsLeaders.native.js +178 -0
  465. package/dist/jsx/insights/InsightsLeaders.native.js.map +1 -0
  466. package/dist/jsx/insights/InsightsRecords.mjs +80 -0
  467. package/dist/jsx/insights/InsightsRecords.mjs.map +1 -0
  468. package/dist/jsx/insights/InsightsRecords.native.js +109 -0
  469. package/dist/jsx/insights/InsightsRecords.native.js.map +1 -0
  470. package/dist/jsx/insights/InsightsTable.mjs +132 -0
  471. package/dist/jsx/insights/InsightsTable.mjs.map +1 -0
  472. package/dist/jsx/insights/InsightsTable.native.js +194 -0
  473. package/dist/jsx/insights/InsightsTable.native.js.map +1 -0
  474. package/dist/jsx/insights/insightsData.mjs +82 -0
  475. package/dist/jsx/insights/insightsData.mjs.map +1 -0
  476. package/dist/jsx/insights/insightsData.native.js +220 -0
  477. package/dist/jsx/insights/insightsData.native.js.map +1 -0
  478. package/dist/jsx/insights/insightsRecord.mjs +9 -0
  479. package/dist/jsx/insights/insightsRecord.mjs.map +1 -0
  480. package/dist/jsx/insights/insightsRecord.native.js +38 -0
  481. package/dist/jsx/insights/insightsRecord.native.js.map +1 -0
  482. package/dist/jsx/list/FacetBadge.mjs +37 -0
  483. package/dist/jsx/list/FacetBadge.mjs.map +1 -0
  484. package/dist/jsx/list/FacetBadge.native.js +66 -0
  485. package/dist/jsx/list/FacetBadge.native.js.map +1 -0
  486. package/dist/jsx/list/FacetRail.mjs +174 -0
  487. package/dist/jsx/list/FacetRail.mjs.map +1 -0
  488. package/dist/jsx/list/FacetRail.native.js +223 -0
  489. package/dist/jsx/list/FacetRail.native.js.map +1 -0
  490. package/dist/jsx/list/ImageWell.mjs +86 -0
  491. package/dist/jsx/list/ImageWell.mjs.map +1 -0
  492. package/dist/jsx/list/ImageWell.native.js +126 -0
  493. package/dist/jsx/list/ImageWell.native.js.map +1 -0
  494. package/dist/jsx/list/ListControls.mjs +201 -0
  495. package/dist/jsx/list/ListControls.mjs.map +1 -0
  496. package/dist/jsx/list/ListControls.native.js +252 -0
  497. package/dist/jsx/list/ListControls.native.js.map +1 -0
  498. package/dist/jsx/list/ListToastHost.mjs +18 -0
  499. package/dist/jsx/list/ListToastHost.mjs.map +1 -0
  500. package/dist/jsx/list/ListToastHost.native.js +59 -0
  501. package/dist/jsx/list/ListToastHost.native.js.map +1 -0
  502. package/dist/jsx/list/RangeFilter.mjs +85 -0
  503. package/dist/jsx/list/RangeFilter.mjs.map +1 -0
  504. package/dist/jsx/list/RangeFilter.native.js +135 -0
  505. package/dist/jsx/list/RangeFilter.native.js.map +1 -0
  506. package/dist/jsx/list/RecordCard.mjs +208 -0
  507. package/dist/jsx/list/RecordCard.mjs.map +1 -0
  508. package/dist/jsx/list/RecordCard.native.js +173 -0
  509. package/dist/jsx/list/RecordCard.native.js.map +1 -0
  510. package/dist/jsx/list/ShufflePanel.mjs +87 -0
  511. package/dist/jsx/list/ShufflePanel.mjs.map +1 -0
  512. package/dist/jsx/list/ShufflePanel.native.js +139 -0
  513. package/dist/jsx/list/ShufflePanel.native.js.map +1 -0
  514. package/dist/jsx/list/facetReading.mjs +45 -0
  515. package/dist/jsx/list/facetReading.mjs.map +1 -0
  516. package/dist/jsx/list/facetReading.native.js +163 -0
  517. package/dist/jsx/list/facetReading.native.js.map +1 -0
  518. package/dist/jsx/list/favorites.mjs +50 -0
  519. package/dist/jsx/list/favorites.mjs.map +1 -0
  520. package/dist/jsx/list/favorites.native.js +91 -0
  521. package/dist/jsx/list/favorites.native.js.map +1 -0
  522. package/dist/jsx/list/listState.mjs +71 -0
  523. package/dist/jsx/list/listState.mjs.map +1 -0
  524. package/dist/jsx/list/listState.native.js +234 -0
  525. package/dist/jsx/list/listState.native.js.map +1 -0
  526. package/dist/jsx/list/recordLook.mjs +10 -0
  527. package/dist/jsx/list/recordLook.mjs.map +1 -0
  528. package/dist/jsx/list/recordLook.native.js +39 -0
  529. package/dist/jsx/list/recordLook.native.js.map +1 -0
  530. package/dist/jsx/list/useListControls.mjs +164 -0
  531. package/dist/jsx/list/useListControls.mjs.map +1 -0
  532. package/dist/jsx/list/useListControls.native.js +272 -0
  533. package/dist/jsx/list/useListControls.native.js.map +1 -0
  534. package/dist/jsx/record/RecordBars.mjs +175 -0
  535. package/dist/jsx/record/RecordBars.mjs.map +1 -0
  536. package/dist/jsx/record/RecordBars.native.js +225 -0
  537. package/dist/jsx/record/RecordBars.native.js.map +1 -0
  538. package/dist/jsx/record/RecordGallery.mjs +42 -0
  539. package/dist/jsx/record/RecordGallery.mjs.map +1 -0
  540. package/dist/jsx/record/RecordGallery.native.js +75 -0
  541. package/dist/jsx/record/RecordGallery.native.js.map +1 -0
  542. package/dist/jsx/record/RecordHero.mjs +205 -0
  543. package/dist/jsx/record/RecordHero.mjs.map +1 -0
  544. package/dist/jsx/record/RecordHero.native.js +250 -0
  545. package/dist/jsx/record/RecordHero.native.js.map +1 -0
  546. package/dist/jsx/record/RecordPage.mjs +305 -0
  547. package/dist/jsx/record/RecordPage.mjs.map +1 -0
  548. package/dist/jsx/record/RecordPage.native.js +364 -0
  549. package/dist/jsx/record/RecordPage.native.js.map +1 -0
  550. package/dist/jsx/record/RecordPager.mjs +100 -0
  551. package/dist/jsx/record/RecordPager.mjs.map +1 -0
  552. package/dist/jsx/record/RecordPager.native.js +130 -0
  553. package/dist/jsx/record/RecordPager.native.js.map +1 -0
  554. package/dist/jsx/record/RecordRows.mjs +101 -0
  555. package/dist/jsx/record/RecordRows.mjs.map +1 -0
  556. package/dist/jsx/record/RecordRows.native.js +140 -0
  557. package/dist/jsx/record/RecordRows.native.js.map +1 -0
  558. package/dist/jsx/record/recordData.mjs +92 -0
  559. package/dist/jsx/record/recordData.mjs.map +1 -0
  560. package/dist/jsx/record/recordData.native.js +189 -0
  561. package/dist/jsx/record/recordData.native.js.map +1 -0
  562. package/dist/jsx/record/recordSections.mjs +5 -0
  563. package/dist/jsx/record/recordSections.mjs.map +1 -0
  564. package/dist/jsx/record/recordSections.native.js +33 -0
  565. package/dist/jsx/record/recordSections.native.js.map +1 -0
  566. package/package.json +16 -16
  567. package/src/FrappeCalendar.tsx +2 -2
  568. package/src/FrappeDashboard.tsx +2 -2
  569. package/src/FrappeImageView.tsx +2 -1
  570. package/src/FrappeInsights.spec.tsx +171 -0
  571. package/src/FrappeInsights.tsx +422 -0
  572. package/src/FrappeLikedBy.tsx +7 -5
  573. package/src/FrappeListView.card.spec.tsx +157 -0
  574. package/src/FrappeListView.controls.spec.tsx +225 -0
  575. package/src/FrappeListView.seed.spec.tsx +30 -0
  576. package/src/FrappeListView.tsx +575 -44
  577. package/src/FrappeRecordView.spec.tsx +276 -0
  578. package/src/FrappeRecordView.tsx +231 -0
  579. package/src/FrappeReportBuilder.tsx +4 -5
  580. package/src/FrappeTreeView.tsx +1 -1
  581. package/src/desk/awesomebar.auth.spec.tsx +77 -0
  582. package/src/desk/awesomebar.tsx +1 -1
  583. package/src/fields/Heading/index.tsx +33 -15
  584. package/src/frappeNavigation.loader.spec.tsx +45 -0
  585. package/src/frappeNavigation.tsx +32 -1
  586. package/src/index.ts +53 -1
  587. package/src/insights/InsightsFacetTags.tsx +131 -0
  588. package/src/insights/InsightsKpiBand.tsx +114 -0
  589. package/src/insights/InsightsLeaders.tsx +146 -0
  590. package/src/insights/InsightsRecords.tsx +71 -0
  591. package/src/insights/InsightsTable.tsx +169 -0
  592. package/src/insights/insightsData.spec.ts +143 -0
  593. package/src/insights/insightsData.ts +122 -0
  594. package/src/insights/insightsRecord.ts +36 -0
  595. package/src/list/FacetBadge.tsx +41 -0
  596. package/src/list/FacetRail.tsx +235 -0
  597. package/src/list/ImageWell.tsx +110 -0
  598. package/src/list/ListControls.tsx +208 -0
  599. package/src/list/ListToastHost.tsx +27 -0
  600. package/src/list/RangeFilter.tsx +83 -0
  601. package/src/list/RecordCard.native.tsx +126 -0
  602. package/src/list/RecordCard.tsx +260 -0
  603. package/src/list/ShufflePanel.tsx +107 -0
  604. package/src/list/facetReading.ts +79 -0
  605. package/src/list/favorites.spec.ts +80 -0
  606. package/src/list/favorites.ts +79 -0
  607. package/src/list/listState.spec.ts +156 -0
  608. package/src/list/listState.ts +184 -0
  609. package/src/list/recordLook.ts +37 -0
  610. package/src/list/useListControls.tsx +223 -0
  611. package/src/record/RecordBars.tsx +187 -0
  612. package/src/record/RecordGallery.tsx +47 -0
  613. package/src/record/RecordHero.tsx +186 -0
  614. package/src/record/RecordPage.tsx +358 -0
  615. package/src/record/RecordPager.tsx +97 -0
  616. package/src/record/RecordRows.tsx +90 -0
  617. package/src/record/recordData.spec.ts +148 -0
  618. package/src/record/recordData.ts +124 -0
  619. package/src/record/recordSections.ts +62 -0
  620. package/src/schemaForm/SchemaForm.stories.tsx +2 -2
  621. package/types/FrappeImageView.d.ts.map +1 -1
  622. package/types/FrappeInsights.d.ts +55 -0
  623. package/types/FrappeInsights.d.ts.map +1 -0
  624. package/types/FrappeLikedBy.d.ts.map +1 -1
  625. package/types/FrappeListView.d.ts +82 -2
  626. package/types/FrappeListView.d.ts.map +1 -1
  627. package/types/FrappeRecordView.d.ts +69 -0
  628. package/types/FrappeRecordView.d.ts.map +1 -0
  629. package/types/FrappeReportBuilder.d.ts.map +1 -1
  630. package/types/fields/Heading/index.d.ts.map +1 -1
  631. package/types/frappeNavigation.d.ts +21 -0
  632. package/types/frappeNavigation.d.ts.map +1 -1
  633. package/types/index.d.ts +14 -2
  634. package/types/index.d.ts.map +1 -1
  635. package/types/insights/InsightsFacetTags.d.ts +11 -0
  636. package/types/insights/InsightsFacetTags.d.ts.map +1 -0
  637. package/types/insights/InsightsKpiBand.d.ts +22 -0
  638. package/types/insights/InsightsKpiBand.d.ts.map +1 -0
  639. package/types/insights/InsightsLeaders.d.ts +16 -0
  640. package/types/insights/InsightsLeaders.d.ts.map +1 -0
  641. package/types/insights/InsightsRecords.d.ts +19 -0
  642. package/types/insights/InsightsRecords.d.ts.map +1 -0
  643. package/types/insights/InsightsTable.d.ts +17 -0
  644. package/types/insights/InsightsTable.d.ts.map +1 -0
  645. package/types/insights/insightsData.d.ts +45 -0
  646. package/types/insights/insightsData.d.ts.map +1 -0
  647. package/types/insights/insightsRecord.d.ts +29 -0
  648. package/types/insights/insightsRecord.d.ts.map +1 -0
  649. package/types/list/FacetBadge.d.ts +13 -0
  650. package/types/list/FacetBadge.d.ts.map +1 -0
  651. package/types/list/FacetRail.d.ts +26 -0
  652. package/types/list/FacetRail.d.ts.map +1 -0
  653. package/types/list/ImageWell.d.ts +24 -0
  654. package/types/list/ImageWell.d.ts.map +1 -0
  655. package/types/list/ListControls.d.ts +30 -0
  656. package/types/list/ListControls.d.ts.map +1 -0
  657. package/types/list/ListToastHost.d.ts +7 -0
  658. package/types/list/ListToastHost.d.ts.map +1 -0
  659. package/types/list/RangeFilter.d.ts +14 -0
  660. package/types/list/RangeFilter.d.ts.map +1 -0
  661. package/types/list/RecordCard.d.ts +38 -0
  662. package/types/list/RecordCard.d.ts.map +1 -0
  663. package/types/list/RecordCard.native.d.ts +9 -0
  664. package/types/list/RecordCard.native.d.ts.map +1 -0
  665. package/types/list/ShufflePanel.d.ts +24 -0
  666. package/types/list/ShufflePanel.d.ts.map +1 -0
  667. package/types/list/facetReading.d.ts +33 -0
  668. package/types/list/facetReading.d.ts.map +1 -0
  669. package/types/list/favorites.d.ts +26 -0
  670. package/types/list/favorites.d.ts.map +1 -0
  671. package/types/list/listState.d.ts +94 -0
  672. package/types/list/listState.d.ts.map +1 -0
  673. package/types/list/recordLook.d.ts +25 -0
  674. package/types/list/recordLook.d.ts.map +1 -0
  675. package/types/list/useListControls.d.ts +48 -0
  676. package/types/list/useListControls.d.ts.map +1 -0
  677. package/types/record/RecordBars.d.ts +11 -0
  678. package/types/record/RecordBars.d.ts.map +1 -0
  679. package/types/record/RecordGallery.d.ts +17 -0
  680. package/types/record/RecordGallery.d.ts.map +1 -0
  681. package/types/record/RecordHero.d.ts +42 -0
  682. package/types/record/RecordHero.d.ts.map +1 -0
  683. package/types/record/RecordPage.d.ts +54 -0
  684. package/types/record/RecordPage.d.ts.map +1 -0
  685. package/types/record/RecordPager.d.ts +13 -0
  686. package/types/record/RecordPager.d.ts.map +1 -0
  687. package/types/record/RecordRows.d.ts +13 -0
  688. package/types/record/RecordRows.d.ts.map +1 -0
  689. package/types/record/recordData.d.ts +46 -0
  690. package/types/record/recordData.d.ts.map +1 -0
  691. package/types/record/recordSections.d.ts +67 -0
  692. package/types/record/recordSections.d.ts.map +1 -0
@@ -0,0 +1,447 @@
1
+ "use strict";
2
+
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
7
+ var __export = (target, all) => {
8
+ for (var name in all) __defProp(target, name, {
9
+ get: all[name],
10
+ enumerable: true
11
+ });
12
+ };
13
+ var __copyProps = (to, from, except, desc) => {
14
+ if (from && typeof from === "object" || typeof from === "function") {
15
+ for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
16
+ get: () => from[key],
17
+ enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
18
+ });
19
+ }
20
+ return to;
21
+ };
22
+ var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
23
+ value: true
24
+ }), mod);
25
+ var FrappeInsights_exports = {};
26
+ __export(FrappeInsights_exports, {
27
+ FrappeInsights: () => FrappeInsights
28
+ });
29
+ module.exports = __toCommonJS(FrappeInsights_exports);
30
+ var import_jsx_runtime = require("react/jsx-runtime");
31
+ var import_components = require("@multiplatform.one/components");
32
+ var import_frappe = require("@multiplatform.one/frappe");
33
+ var import_theme = require("@multiplatform.one/theme");
34
+ var import_react = require("@phosphor-icons/react");
35
+ var import_react2 = require("react");
36
+ var import_react_i18next = require("react-i18next");
37
+ var import_frappeConnections = require("./frappeConnections.native.js");
38
+ var import_frappeNavigation = require("./frappeNavigation.native.js");
39
+ var import_FrappeNotConfigured = require("./FrappeNotConfigured.native.js");
40
+ var import_FrappeProvider = require("./FrappeProvider.native.js");
41
+ var import_FrappeReconnectIndicator = require("./FrappeReconnectIndicator.native.js");
42
+ var import_useDocRights = require("./formEngine/useDocRights.native.js");
43
+ var import_insightsData = require("./insights/insightsData.native.js");
44
+ var import_InsightsFacetTags = require("./insights/InsightsFacetTags.native.js");
45
+ var import_InsightsKpiBand = require("./insights/InsightsKpiBand.native.js");
46
+ var import_InsightsLeaders = require("./insights/InsightsLeaders.native.js");
47
+ var import_insightsRecord = require("./insights/insightsRecord.native.js");
48
+ var import_InsightsRecords = require("./insights/InsightsRecords.native.js");
49
+ var import_InsightsTable = require("./insights/InsightsTable.native.js");
50
+ var import_facetReading = require("./list/facetReading.native.js");
51
+ var import_favorites = require("./list/favorites.native.js");
52
+ var import_recordLook = require("./list/recordLook.native.js");
53
+ var import_useFrappeRows = require("./useFrappeRows.native.js");
54
+ var pieSlices = 7;
55
+ var noMetrics = [];
56
+ function FrappeInsights(param) {
57
+ var {
58
+ doctype,
59
+ route,
60
+ listTitle,
61
+ title,
62
+ subtitle,
63
+ fields,
64
+ limit,
65
+ orderBy,
66
+ connections,
67
+ facet: facetProp,
68
+ facetPlural,
69
+ metrics: metricsProp = noMetrics,
70
+ favorites,
71
+ look,
72
+ titleField,
73
+ pageSize = 5,
74
+ testID
75
+ } = param;
76
+ var _ref, _ref1;
77
+ var _useFrappeRouter;
78
+ var {
79
+ t
80
+ } = (0, import_react_i18next.useTranslation)();
81
+ var {
82
+ knobProps
83
+ } = (0, import_theme.useResolvedKnobs)();
84
+ var theme = (0, import_components.useTheme)();
85
+ var config = (0, import_FrappeProvider.useFrappeConfig)();
86
+ var connection = (0, import_useFrappeRows.useFrappeConnection)();
87
+ var navigate = (_useFrappeRouter = (0, import_frappeNavigation.useFrappeRouter)()) === null || _useFrappeRouter === void 0 ? void 0 : _useFrappeRouter.navigate;
88
+ var {
89
+ meta
90
+ } = (0, import_frappe.useDocTypeMeta)(connection, doctype);
91
+ var {
92
+ rights
93
+ } = (0, import_useDocRights.useDocRights)(connection, meta);
94
+ var listName = listTitle !== null && listTitle !== void 0 ? listTitle : doctype;
95
+ var pageTitle = title !== null && title !== void 0 ? title : t("Insights");
96
+ var latest = (0, import_react2.useRef)({
97
+ facet: facetProp,
98
+ metrics: metricsProp,
99
+ look,
100
+ navigate
101
+ });
102
+ latest.current = {
103
+ facet: facetProp,
104
+ metrics: metricsProp,
105
+ look,
106
+ navigate
107
+ };
108
+ var facetKey = JSON.stringify(facetProp !== null && facetProp !== void 0 ? facetProp : null);
109
+ var metricsKey = JSON.stringify(metricsProp);
110
+ var facet = (0, import_react2.useMemo)(function () {
111
+ return latest.current.facet;
112
+ }, [facetKey]);
113
+ var metrics = (0, import_react2.useMemo)(function () {
114
+ return latest.current.metrics;
115
+ }, [metricsKey]);
116
+ var {
117
+ rows: readRows,
118
+ isLoading,
119
+ error
120
+ } = (0, import_useFrappeRows.useFrappeRows)(connection, doctype, {
121
+ fields,
122
+ limit,
123
+ orderBy
124
+ });
125
+ var orderKey = JSON.stringify(orderBy !== null && orderBy !== void 0 ? orderBy : null);
126
+ var rows = (0, import_react2.useMemo)(function () {
127
+ return (0, import_insightsData.orderRows)(readRows, JSON.parse(orderKey));
128
+ }, [readRows, orderKey]);
129
+ var read = facet ? (0, import_facetReading.facetRead)(facet, doctype, connections !== null && connections !== void 0 ? connections : (0, import_frappeConnections.connectionsFromMeta)(meta), limit) : void 0;
130
+ var readKey = JSON.stringify(read !== null && read !== void 0 ? read : null);
131
+ var facetQuery = (0, import_react2.useMemo)(function () {
132
+ return JSON.parse(readKey);
133
+ }, [readKey]);
134
+ var facetOptions = (0, import_react2.useMemo)(function () {
135
+ return {
136
+ ...(facetQuery === null || facetQuery === void 0 ? void 0 : facetQuery.options),
137
+ enabled: Boolean(facetQuery === null || facetQuery === void 0 ? void 0 : facetQuery.ready)
138
+ };
139
+ }, [facetQuery]);
140
+ var {
141
+ rows: facetRows
142
+ } = (0, import_useFrappeRows.useFrappeRows)(connection, (_ref = facetQuery === null || facetQuery === void 0 ? void 0 : facetQuery.doctype) !== null && _ref !== void 0 ? _ref : "", facetOptions);
143
+ var values = (0, import_react2.useMemo)(function () {
144
+ return facet && facetQuery ? (0, import_facetReading.readFacet)(facet, facetQuery.linkField, facetRows).values : /* @__PURE__ */new Map();
145
+ }, [facet, facetQuery, facetRows]);
146
+ var {
147
+ count: favoritesCount
148
+ } = (0, import_favorites.useFavorites)(favorites ? typeof favorites === "string" ? favorites : (0, import_favorites.favoritesKey)(doctype) : void 0);
149
+ var nameField = titleField !== null && titleField !== void 0 ? titleField : meta === null || meta === void 0 ? void 0 : meta.title_field;
150
+ var baseURL = config === null || config === void 0 ? void 0 : config.baseURL;
151
+ var record = (0, import_react2.useMemo)(function () {
152
+ return {
153
+ title: function title2(doc) {
154
+ return (0, import_recordLook.recordTitle)(doc, latest.current.look, nameField);
155
+ },
156
+ code: function code(doc) {
157
+ var _latest_current_look_code, _latest_current_look;
158
+ return ((_latest_current_look = latest.current.look) === null || _latest_current_look === void 0 ? void 0 : (_latest_current_look_code = _latest_current_look.code) === null || _latest_current_look_code === void 0 ? void 0 : _latest_current_look_code.call(_latest_current_look, doc)) || void 0;
159
+ },
160
+ images: function images(doc) {
161
+ var _ref2;
162
+ var _latest_current_look_images, _latest_current_look;
163
+ return (_ref2 = (_latest_current_look = latest.current.look) === null || _latest_current_look === void 0 ? void 0 : (_latest_current_look_images = _latest_current_look.images) === null || _latest_current_look_images === void 0 ? void 0 : _latest_current_look_images.call(_latest_current_look, doc, baseURL)) !== null && _ref2 !== void 0 ? _ref2 : [];
164
+ },
165
+ values: function values1(doc) {
166
+ var _values_get;
167
+ return (_values_get = values.get(doc.name)) !== null && _values_get !== void 0 ? _values_get : [];
168
+ },
169
+ tints: function tints(doc) {
170
+ var _values_get;
171
+ return ((_values_get = values.get(doc.name)) !== null && _values_get !== void 0 ? _values_get : []).map(function (value) {
172
+ var _facet_tint;
173
+ return facet === null || facet === void 0 ? void 0 : (_facet_tint = facet.tint) === null || _facet_tint === void 0 ? void 0 : _facet_tint.call(facet, value);
174
+ });
175
+ },
176
+ valueLabel: function valueLabel(value) {
177
+ var _ref2;
178
+ var _facet_optionLabel;
179
+ return (_ref2 = facet === null || facet === void 0 ? void 0 : (_facet_optionLabel = facet.optionLabel) === null || _facet_optionLabel === void 0 ? void 0 : _facet_optionLabel.call(facet, value)) !== null && _ref2 !== void 0 ? _ref2 : value;
180
+ },
181
+ valueTint: function valueTint(value) {
182
+ var _facet_tint;
183
+ return facet === null || facet === void 0 ? void 0 : (_facet_tint = facet.tint) === null || _facet_tint === void 0 ? void 0 : _facet_tint.call(facet, value);
184
+ },
185
+ open: function open(doc) {
186
+ var _latest_current_navigate, _latest_current;
187
+ return (_latest_current_navigate = (_latest_current = latest.current).navigate) === null || _latest_current_navigate === void 0 ? void 0 : _latest_current_navigate.call(_latest_current, (0, import_frappeNavigation.frappeRouteHref)(route, {
188
+ mode: "view",
189
+ name: doc.name
190
+ }));
191
+ }
192
+ };
193
+ }, [nameField, baseURL, values, facet, route]);
194
+ var distribution = (0, import_react2.useMemo)(function () {
195
+ return (0, import_insightsData.facetDistribution)(values, rows);
196
+ }, [values, rows]);
197
+ var lead = metrics[0];
198
+ var plural = (_ref1 = facetPlural !== null && facetPlural !== void 0 ? facetPlural : facet === null || facet === void 0 ? void 0 : facet.label) !== null && _ref1 !== void 0 ? _ref1 : "";
199
+ var tiles = [];
200
+ if (favorites) {
201
+ tiles.push({
202
+ id: "favorites",
203
+ title: t("Favorites"),
204
+ value: favoritesCount,
205
+ hint: t("{{count}} of {{total}}", {
206
+ count: favoritesCount,
207
+ total: rows.length
208
+ })
209
+ });
210
+ }
211
+ if (facet) {
212
+ var several = (0, import_insightsData.multiValued)(values, rows);
213
+ tiles.push({
214
+ id: "facet",
215
+ title: t("Distinct {{facets}}", {
216
+ facets: plural
217
+ }),
218
+ value: distribution.length,
219
+ hint: several > 0 ? t("{{count}} with 2+", {
220
+ count: several
221
+ }) : distribution[0] ? record.valueLabel(distribution[0].value) : void 0
222
+ });
223
+ }
224
+ var buckets = lead ? (0, import_insightsData.histogram)(rows, lead.field, lead.bucket) : [];
225
+ if (lead) {
226
+ tiles.push({
227
+ id: "average",
228
+ title: t("Average {{metric}}", {
229
+ metric: lead.label
230
+ }),
231
+ value: (0, import_insightsRecord.formatMetric)(lead, Math.round((0, import_insightsData.average)(rows, lead.field))),
232
+ spark: buckets.map(function (bucket) {
233
+ return bucket.value;
234
+ })
235
+ });
236
+ }
237
+ var charts = [];
238
+ if (facet) {
239
+ charts.push({
240
+ id: "facet-distribution",
241
+ title: t("{{facet}} distribution", {
242
+ facet: facet.label
243
+ }),
244
+ type: "pie",
245
+ data: (0, import_insightsData.foldDistribution)(distribution, pieSlices).map(function (entry) {
246
+ var _theme_, _facet_tint;
247
+ return {
248
+ label: entry.other ? t("Other") : record.valueLabel(entry.value),
249
+ value: entry.count,
250
+ color: (_theme_ = theme[`${!entry.other && ((_facet_tint = facet.tint) === null || _facet_tint === void 0 ? void 0 : _facet_tint.call(facet, entry.value)) || "gray"}9`]) === null || _theme_ === void 0 ? void 0 : _theme_.val
251
+ };
252
+ })
253
+ });
254
+ }
255
+ if (lead) {
256
+ charts.push({
257
+ id: "metric-histogram",
258
+ title: t("{{metric}} distribution", {
259
+ metric: lead.label
260
+ }),
261
+ type: "bar",
262
+ data: buckets
263
+ });
264
+ }
265
+ var holders = metrics.filter(function (metric) {
266
+ return metric.record;
267
+ }).flatMap(function (metric) {
268
+ var doc = (0, import_insightsData.topBy)(rows, metric.field, 1)[0];
269
+ return doc ? [{
270
+ id: metric.field,
271
+ label: metric.record,
272
+ doc,
273
+ value: (0, import_insightsRecord.formatMetric)(metric, Number(doc[metric.field]) || 0)
274
+ }] : [];
275
+ });
276
+ var onAdd = rights.create && navigate ? function () {
277
+ return navigate((0, import_frappeNavigation.frappeRouteHref)(route, {
278
+ mode: "create"
279
+ }));
280
+ } : void 0;
281
+ var sectionId = function sectionId2(name) {
282
+ return testID ? `${testID}-${name}` : void 0;
283
+ };
284
+ if (!(config === null || config === void 0 ? void 0 : config.baseURL) && !(config === null || config === void 0 ? void 0 : config.fixtures)) {
285
+ return /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_FrappeNotConfigured.FrappeNotConfigured, {
286
+ doctype,
287
+ page: true
288
+ });
289
+ }
290
+ var header = /* @__PURE__ */(0, import_jsx_runtime.jsxs)(import_components.YStack, {
291
+ ...knobProps.gap,
292
+ children: [/* @__PURE__ */(0, import_jsx_runtime.jsx)(import_components.Breadcrumbs, {
293
+ items: [{
294
+ label: listName,
295
+ href: route
296
+ }, {
297
+ label: pageTitle
298
+ }],
299
+ onNavigate: function onNavigate(href) {
300
+ return navigate === null || navigate === void 0 ? void 0 : navigate(href);
301
+ }
302
+ }), /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_components.PageHeader, {
303
+ title: pageTitle,
304
+ subtitle: subtitle && !isLoading && !error && rows.length > 0 ? subtitle(rows.length) : void 0,
305
+ actions: /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_components.Button, {
306
+ variant: "outlined",
307
+ minHeight: knobProps.sizeToken,
308
+ onPress: function onPress() {
309
+ return navigate === null || navigate === void 0 ? void 0 : navigate(route);
310
+ },
311
+ icon: /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_react.ArrowLeftIcon, {
312
+ size: 16
313
+ }),
314
+ testID: sectionId("back"),
315
+ children: t("Back to {{title}}", {
316
+ title: listName
317
+ })
318
+ })
319
+ })]
320
+ });
321
+ if (error) {
322
+ return /* @__PURE__ */(0, import_jsx_runtime.jsxs)(import_components.Screen, {
323
+ scroll: false,
324
+ children: [header, /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_components.EmptyState, {
325
+ intent: "error",
326
+ title: t("Couldn't load {{title}}", {
327
+ title: listName
328
+ }),
329
+ description: t("Check the connection and try again.")
330
+ })]
331
+ });
332
+ }
333
+ if (isLoading) {
334
+ return /* @__PURE__ */(0, import_jsx_runtime.jsxs)(import_components.Screen, {
335
+ children: [header, /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_components.YStack, {
336
+ testID: sectionId("skeleton"),
337
+ children: /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_components.AsyncSkeleton, {
338
+ layout: "dashboard"
339
+ })
340
+ })]
341
+ });
342
+ }
343
+ if (rows.length === 0) {
344
+ return /* @__PURE__ */(0, import_jsx_runtime.jsxs)(import_components.Screen, {
345
+ scroll: false,
346
+ children: [header, /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_components.EmptyState, {
347
+ icon: /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_react.SparkleIcon, {
348
+ size: 28
349
+ }),
350
+ title: t("No {{title}} to analyze", {
351
+ title: listName
352
+ }),
353
+ description: t("Add a record and the analytics will light up."),
354
+ action: onAdd ? /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_components.Button, {
355
+ theme: "accent",
356
+ onPress: onAdd,
357
+ children: t("Add your first {{doctype}}", {
358
+ doctype
359
+ })
360
+ }) : void 0
361
+ })]
362
+ });
363
+ }
364
+ return /* @__PURE__ */(0, import_jsx_runtime.jsxs)(import_components.Screen, {
365
+ children: [/* @__PURE__ */(0, import_jsx_runtime.jsx)(import_FrappeReconnectIndicator.FrappeReconnectIndicator, {
366
+ config: connection
367
+ }), header, /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_InsightsKpiBand.InsightsKpiBand, {
368
+ hero: {
369
+ id: "total",
370
+ title: t("Total {{title}}", {
371
+ title: listName
372
+ }),
373
+ value: rows.length
374
+ },
375
+ tiles,
376
+ charts,
377
+ testID: sectionId("dashboard")
378
+ }), holders.length > 0 || metrics.length > 0 ? /* @__PURE__ */(0, import_jsx_runtime.jsxs)(import_components.XStack, {
379
+ flexWrap: "wrap",
380
+ alignItems: "flex-start",
381
+ ...knobProps.gapLg,
382
+ children: [holders.length > 0 ? /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_components.PageSection, {
383
+ title: t("Record holders"),
384
+ divider: false,
385
+ flexGrow: 1,
386
+ flexShrink: 1,
387
+ flexBasis: 280,
388
+ minWidth: 0,
389
+ children: /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_InsightsRecords.InsightsRecords, {
390
+ tiles: holders,
391
+ record,
392
+ testID: sectionId("records")
393
+ })
394
+ }) : null, metrics.length > 0 ? /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_components.PageSection, {
395
+ title: t("Leaders"),
396
+ description: t("The top five by the field you pick; open any row."),
397
+ divider: false,
398
+ flexGrow: 2,
399
+ flexShrink: 1,
400
+ flexBasis: 420,
401
+ minWidth: 0,
402
+ children: /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_InsightsLeaders.InsightsLeaders, {
403
+ rows,
404
+ metrics,
405
+ record,
406
+ testID: sectionId("leaderboard")
407
+ })
408
+ }) : null]
409
+ }) : null, /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_components.PageSection, {
410
+ title: t("All {{title}}", {
411
+ title: listName
412
+ }),
413
+ description: t("Every record, {{count}} per page; sort any column.", {
414
+ count: pageSize
415
+ }),
416
+ divider: false,
417
+ children: /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_InsightsTable.InsightsTable, {
418
+ rows,
419
+ metrics,
420
+ record,
421
+ facetLabel: facet ? plural : void 0,
422
+ pageSize,
423
+ label: t("All {{title}}", {
424
+ title: listName
425
+ }),
426
+ testID: sectionId("roster")
427
+ })
428
+ }), facet ? /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_components.PageSection, {
429
+ title: t("Browse by {{facet}}", {
430
+ facet: facet.label
431
+ }),
432
+ description: t("Open the list narrowed to one value."),
433
+ divider: false,
434
+ paddingBottom: "$6",
435
+ children: /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_InsightsFacetTags.InsightsFacetTags, {
436
+ distribution,
437
+ label: record.valueLabel,
438
+ tint: facet.tint,
439
+ onSelect: function onSelect(value) {
440
+ return navigate === null || navigate === void 0 ? void 0 : navigate(`${route}?${facet.param}=${encodeURIComponent(value)}`);
441
+ },
442
+ testID: sectionId("tag")
443
+ })
444
+ }) : null]
445
+ });
446
+ }
447
+ //# sourceMappingURL=FrappeInsights.native.js.map
@@ -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","FrappeInsights_exports","FrappeInsights","module","exports","import_jsx_runtime","require","import_components","import_frappe","import_theme","import_react","import_react2","import_react_i18next","import_frappeConnections","import_frappeNavigation","import_FrappeNotConfigured","import_FrappeProvider","import_FrappeReconnectIndicator","import_useDocRights","import_insightsData","import_InsightsFacetTags","import_InsightsKpiBand","import_InsightsLeaders","import_insightsRecord","import_InsightsRecords","import_InsightsTable","import_facetReading","import_favorites","import_recordLook","import_useFrappeRows","pieSlices","noMetrics","param","doctype","route","listTitle","title","subtitle","fields","limit","orderBy","connections","facet","facetProp","facetPlural","metrics","metricsProp","favorites","look","titleField","pageSize","testID","_ref","_ref1","_useFrappeRouter","t","useTranslation","knobProps","useResolvedKnobs","theme","useTheme","config","useFrappeConfig","connection","useFrappeConnection","navigate","useFrappeRouter","meta","useDocTypeMeta","rights","useDocRights","listName","pageTitle","latest","useRef","current","facetKey","JSON","stringify","metricsKey","useMemo","rows","readRows","isLoading","error","useFrappeRows","orderKey","orderRows","parse","read","facetRead","connectionsFromMeta","readKey","facetQuery","facetOptions","options","enabled","Boolean","ready","facetRows","values","readFacet","linkField","Map","count","favoritesCount","useFavorites","favoritesKey","nameField","title_field","baseURL","record","title2","doc","recordTitle","code","_latest_current_look_code","_latest_current_look","images","_ref2","_latest_current_look_images","values1","_values_get","tints","map","_facet_tint","tint","valueLabel","_facet_optionLabel","optionLabel","valueTint","open","_latest_current_navigate","_latest_current","frappeRouteHref","mode","distribution","facetDistribution","lead","plural","label","tiles","push","id","hint","total","length","several","multiValued","facets","buckets","histogram","field","bucket","metric","formatMetric","Math","round","average","spark","charts","type","data","foldDistribution","entry","_theme_","other","color","val","holders","filter","flatMap","topBy","Number","onAdd","create","sectionId","sectionId2","fixtures","jsx","FrappeNotConfigured","page","header","jsxs","YStack","gap","children","Breadcrumbs","items","href","onNavigate","PageHeader","actions","Button","variant","minHeight","sizeToken","onPress","icon","ArrowLeftIcon","size","Screen","scroll","EmptyState","intent","description","AsyncSkeleton","layout","SparkleIcon","action","FrappeReconnectIndicator","InsightsKpiBand","hero","XStack","flexWrap","alignItems","gapLg","PageSection","divider","flexGrow","flexShrink","flexBasis","minWidth","InsightsRecords","InsightsLeaders","InsightsTable","facetLabel","paddingBottom","InsightsFacetTags","onSelect","encodeURIComponent"],"sources":["FrappeInsights.native.js"],"sourcesContent":["\"use strict\";\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\nvar FrappeInsights_exports = {};\n__export(FrappeInsights_exports, {\n FrappeInsights: () => FrappeInsights\n});\nmodule.exports = __toCommonJS(FrappeInsights_exports);\nvar import_jsx_runtime = require(\"react/jsx-runtime\");\nvar import_components = require(\"@multiplatform.one/components\");\nvar import_frappe = require(\"@multiplatform.one/frappe\");\nvar import_theme = require(\"@multiplatform.one/theme\");\nvar import_react = require(\"@phosphor-icons/react\");\nvar import_react2 = require(\"react\");\nvar import_react_i18next = require(\"react-i18next\");\nvar import_frappeConnections = require(\"./frappeConnections\");\nvar import_frappeNavigation = require(\"./frappeNavigation\");\nvar import_FrappeNotConfigured = require(\"./FrappeNotConfigured\");\nvar import_FrappeProvider = require(\"./FrappeProvider\");\nvar import_FrappeReconnectIndicator = require(\"./FrappeReconnectIndicator\");\nvar import_useDocRights = require(\"./formEngine/useDocRights\");\nvar import_insightsData = require(\"./insights/insightsData\");\nvar import_InsightsFacetTags = require(\"./insights/InsightsFacetTags\");\nvar import_InsightsKpiBand = require(\"./insights/InsightsKpiBand\");\nvar import_InsightsLeaders = require(\"./insights/InsightsLeaders\");\nvar import_insightsRecord = require(\"./insights/insightsRecord\");\nvar import_InsightsRecords = require(\"./insights/InsightsRecords\");\nvar import_InsightsTable = require(\"./insights/InsightsTable\");\nvar import_facetReading = require(\"./list/facetReading\");\nvar import_favorites = require(\"./list/favorites\");\nvar import_recordLook = require(\"./list/recordLook\");\nvar import_useFrappeRows = require(\"./useFrappeRows\");\nvar pieSlices = 7;\nvar noMetrics = [];\nfunction FrappeInsights(param) {\n var { doctype, route, listTitle, title, subtitle, fields, limit, orderBy, connections, facet: facetProp, facetPlural, metrics: metricsProp = noMetrics, favorites, look, titleField, pageSize = 5, testID } = param;\n var _ref, _ref1;\n var _useFrappeRouter;\n var { t } = (0, import_react_i18next.useTranslation)();\n var { knobProps } = (0, import_theme.useResolvedKnobs)();\n var theme = (0, import_components.useTheme)();\n var config = (0, import_FrappeProvider.useFrappeConfig)();\n var connection = (0, import_useFrappeRows.useFrappeConnection)();\n var navigate = (_useFrappeRouter = (0, import_frappeNavigation.useFrappeRouter)()) === null || _useFrappeRouter === void 0 ? void 0 : _useFrappeRouter.navigate;\n var { meta } = (0, import_frappe.useDocTypeMeta)(connection, doctype);\n var { rights } = (0, import_useDocRights.useDocRights)(connection, meta);\n var listName = listTitle !== null && listTitle !== void 0 ? listTitle : doctype;\n var pageTitle = title !== null && title !== void 0 ? title : t(\"Insights\");\n var latest = (0, import_react2.useRef)({\n facet: facetProp,\n metrics: metricsProp,\n look,\n navigate\n });\n latest.current = {\n facet: facetProp,\n metrics: metricsProp,\n look,\n navigate\n };\n var facetKey = JSON.stringify(facetProp !== null && facetProp !== void 0 ? facetProp : null);\n var metricsKey = JSON.stringify(metricsProp);\n var facet = (0, import_react2.useMemo)(function() {\n return latest.current.facet;\n }, [\n facetKey\n ]);\n var metrics = (0, import_react2.useMemo)(function() {\n return latest.current.metrics;\n }, [\n metricsKey\n ]);\n var { rows: readRows, isLoading, error } = (0, import_useFrappeRows.useFrappeRows)(connection, doctype, {\n fields,\n limit,\n orderBy\n });\n var orderKey = JSON.stringify(orderBy !== null && orderBy !== void 0 ? orderBy : null);\n var rows = (0, import_react2.useMemo)(function() {\n return (0, import_insightsData.orderRows)(readRows, JSON.parse(orderKey));\n }, [\n readRows,\n orderKey\n ]);\n var read = facet ? (0, import_facetReading.facetRead)(facet, doctype, connections !== null && connections !== void 0 ? connections : (0, import_frappeConnections.connectionsFromMeta)(meta), limit) : void 0;\n var readKey = JSON.stringify(read !== null && read !== void 0 ? read : null);\n var facetQuery = (0, import_react2.useMemo)(function() {\n return JSON.parse(readKey);\n }, [\n readKey\n ]);\n var facetOptions = (0, import_react2.useMemo)(function() {\n return {\n ...facetQuery === null || facetQuery === void 0 ? void 0 : facetQuery.options,\n enabled: Boolean(facetQuery === null || facetQuery === void 0 ? void 0 : facetQuery.ready)\n };\n }, [\n facetQuery\n ]);\n var { rows: facetRows } = (0, import_useFrappeRows.useFrappeRows)(connection, (_ref = facetQuery === null || facetQuery === void 0 ? void 0 : facetQuery.doctype) !== null && _ref !== void 0 ? _ref : \"\", facetOptions);\n var values = (0, import_react2.useMemo)(function() {\n return facet && facetQuery ? (0, import_facetReading.readFacet)(facet, facetQuery.linkField, facetRows).values : /* @__PURE__ */ new Map();\n }, [\n facet,\n facetQuery,\n facetRows\n ]);\n var { count: favoritesCount } = (0, import_favorites.useFavorites)(favorites ? typeof favorites === \"string\" ? favorites : (0, import_favorites.favoritesKey)(doctype) : void 0);\n var nameField = titleField !== null && titleField !== void 0 ? titleField : meta === null || meta === void 0 ? void 0 : meta.title_field;\n var baseURL = config === null || config === void 0 ? void 0 : config.baseURL;\n var record = (0, import_react2.useMemo)(function() {\n return {\n title: function title2(doc) {\n return (0, import_recordLook.recordTitle)(doc, latest.current.look, nameField);\n },\n code: function code(doc) {\n var _latest_current_look_code, _latest_current_look;\n return ((_latest_current_look = latest.current.look) === null || _latest_current_look === void 0 ? void 0 : (_latest_current_look_code = _latest_current_look.code) === null || _latest_current_look_code === void 0 ? void 0 : _latest_current_look_code.call(_latest_current_look, doc)) || void 0;\n },\n images: function images(doc) {\n var _ref2;\n var _latest_current_look_images, _latest_current_look;\n return (_ref2 = (_latest_current_look = latest.current.look) === null || _latest_current_look === void 0 ? void 0 : (_latest_current_look_images = _latest_current_look.images) === null || _latest_current_look_images === void 0 ? void 0 : _latest_current_look_images.call(_latest_current_look, doc, baseURL)) !== null && _ref2 !== void 0 ? _ref2 : [];\n },\n values: function values1(doc) {\n var _values_get;\n return (_values_get = values.get(doc.name)) !== null && _values_get !== void 0 ? _values_get : [];\n },\n tints: function tints(doc) {\n var _values_get;\n return ((_values_get = values.get(doc.name)) !== null && _values_get !== void 0 ? _values_get : []).map(function(value) {\n var _facet_tint;\n return facet === null || facet === void 0 ? void 0 : (_facet_tint = facet.tint) === null || _facet_tint === void 0 ? void 0 : _facet_tint.call(facet, value);\n });\n },\n valueLabel: function valueLabel(value) {\n var _ref2;\n var _facet_optionLabel;\n return (_ref2 = facet === null || facet === void 0 ? void 0 : (_facet_optionLabel = facet.optionLabel) === null || _facet_optionLabel === void 0 ? void 0 : _facet_optionLabel.call(facet, value)) !== null && _ref2 !== void 0 ? _ref2 : value;\n },\n valueTint: function valueTint(value) {\n var _facet_tint;\n return facet === null || facet === void 0 ? void 0 : (_facet_tint = facet.tint) === null || _facet_tint === void 0 ? void 0 : _facet_tint.call(facet, value);\n },\n open: function open(doc) {\n var _latest_current_navigate, _latest_current;\n return (_latest_current_navigate = (_latest_current = latest.current).navigate) === null || _latest_current_navigate === void 0 ? void 0 : _latest_current_navigate.call(_latest_current, (0, import_frappeNavigation.frappeRouteHref)(route, {\n mode: \"view\",\n name: doc.name\n }));\n }\n };\n }, [\n nameField,\n baseURL,\n values,\n facet,\n route\n ]);\n var distribution = (0, import_react2.useMemo)(function() {\n return (0, import_insightsData.facetDistribution)(values, rows);\n }, [\n values,\n rows\n ]);\n var lead = metrics[0];\n var plural = (_ref1 = facetPlural !== null && facetPlural !== void 0 ? facetPlural : facet === null || facet === void 0 ? void 0 : facet.label) !== null && _ref1 !== void 0 ? _ref1 : \"\";\n var tiles = [];\n if (favorites) {\n tiles.push({\n id: \"favorites\",\n title: t(\"Favorites\"),\n value: favoritesCount,\n hint: t(\"{{count}} of {{total}}\", {\n count: favoritesCount,\n total: rows.length\n })\n });\n }\n if (facet) {\n var several = (0, import_insightsData.multiValued)(values, rows);\n tiles.push({\n id: \"facet\",\n title: t(\"Distinct {{facets}}\", {\n facets: plural\n }),\n value: distribution.length,\n hint: several > 0 ? t(\"{{count}} with 2+\", {\n count: several\n }) : distribution[0] ? record.valueLabel(distribution[0].value) : void 0\n });\n }\n var buckets = lead ? (0, import_insightsData.histogram)(rows, lead.field, lead.bucket) : [];\n if (lead) {\n tiles.push({\n id: \"average\",\n title: t(\"Average {{metric}}\", {\n metric: lead.label\n }),\n value: (0, import_insightsRecord.formatMetric)(lead, Math.round((0, import_insightsData.average)(rows, lead.field))),\n spark: buckets.map(function(bucket) {\n return bucket.value;\n })\n });\n }\n var charts = [];\n if (facet) {\n charts.push({\n id: \"facet-distribution\",\n title: t(\"{{facet}} distribution\", {\n facet: facet.label\n }),\n type: \"pie\",\n data: (0, import_insightsData.foldDistribution)(distribution, pieSlices).map(function(entry) {\n var _theme_, _facet_tint;\n return {\n label: entry.other ? t(\"Other\") : record.valueLabel(entry.value),\n value: entry.count,\n color: (_theme_ = theme[`${!entry.other && ((_facet_tint = facet.tint) === null || _facet_tint === void 0 ? void 0 : _facet_tint.call(facet, entry.value)) || \"gray\"}9`]) === null || _theme_ === void 0 ? void 0 : _theme_.val\n };\n })\n });\n }\n if (lead) {\n charts.push({\n id: \"metric-histogram\",\n title: t(\"{{metric}} distribution\", {\n metric: lead.label\n }),\n type: \"bar\",\n data: buckets\n });\n }\n var holders = metrics.filter(function(metric) {\n return metric.record;\n }).flatMap(function(metric) {\n var doc = (0, import_insightsData.topBy)(rows, metric.field, 1)[0];\n return doc ? [\n {\n id: metric.field,\n label: metric.record,\n doc,\n value: (0, import_insightsRecord.formatMetric)(metric, Number(doc[metric.field]) || 0)\n }\n ] : [];\n });\n var onAdd = rights.create && navigate ? function() {\n return navigate((0, import_frappeNavigation.frappeRouteHref)(route, {\n mode: \"create\"\n }));\n } : void 0;\n var sectionId = function sectionId2(name) {\n return testID ? `${testID}-${name}` : void 0;\n };\n if (!(config === null || config === void 0 ? void 0 : config.baseURL) && !(config === null || config === void 0 ? void 0 : config.fixtures)) {\n return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_FrappeNotConfigured.FrappeNotConfigured, {\n doctype,\n page: true\n });\n }\n var header = /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_components.YStack, {\n ...knobProps.gap,\n children: [\n /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_components.Breadcrumbs, {\n items: [\n {\n label: listName,\n href: route\n },\n {\n label: pageTitle\n }\n ],\n onNavigate: function onNavigate(href) {\n return navigate === null || navigate === void 0 ? void 0 : navigate(href);\n }\n }),\n /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_components.PageHeader, {\n title: pageTitle,\n subtitle: subtitle && !isLoading && !error && rows.length > 0 ? subtitle(rows.length) : void 0,\n actions: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_components.Button, {\n variant: \"outlined\",\n minHeight: knobProps.sizeToken,\n onPress: function onPress() {\n return navigate === null || navigate === void 0 ? void 0 : navigate(route);\n },\n icon: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_react.ArrowLeftIcon, {\n size: 16\n }),\n testID: sectionId(\"back\"),\n children: t(\"Back to {{title}}\", {\n title: listName\n })\n })\n })\n ]\n });\n if (error) {\n return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_components.Screen, {\n scroll: false,\n children: [\n header,\n /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_components.EmptyState, {\n intent: \"error\",\n title: t(\"Couldn't load {{title}}\", {\n title: listName\n }),\n description: t(\"Check the connection and try again.\")\n })\n ]\n });\n }\n if (isLoading) {\n return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_components.Screen, {\n children: [\n header,\n /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_components.YStack, {\n testID: sectionId(\"skeleton\"),\n children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_components.AsyncSkeleton, {\n layout: \"dashboard\"\n })\n })\n ]\n });\n }\n if (rows.length === 0) {\n return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_components.Screen, {\n scroll: false,\n children: [\n header,\n /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_components.EmptyState, {\n icon: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_react.SparkleIcon, {\n size: 28\n }),\n title: t(\"No {{title}} to analyze\", {\n title: listName\n }),\n description: t(\"Add a record and the analytics will light up.\"),\n action: onAdd ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_components.Button, {\n theme: \"accent\",\n onPress: onAdd,\n children: t(\"Add your first {{doctype}}\", {\n doctype\n })\n }) : void 0\n })\n ]\n });\n }\n return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_components.Screen, {\n children: [\n /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_FrappeReconnectIndicator.FrappeReconnectIndicator, {\n config: connection\n }),\n header,\n /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_InsightsKpiBand.InsightsKpiBand, {\n hero: {\n id: \"total\",\n title: t(\"Total {{title}}\", {\n title: listName\n }),\n value: rows.length\n },\n tiles,\n charts,\n testID: sectionId(\"dashboard\")\n }),\n holders.length > 0 || metrics.length > 0 ? /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_components.XStack, {\n flexWrap: \"wrap\",\n alignItems: \"flex-start\",\n ...knobProps.gapLg,\n children: [\n holders.length > 0 ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_components.PageSection, {\n title: t(\"Record holders\"),\n divider: false,\n flexGrow: 1,\n flexShrink: 1,\n flexBasis: 280,\n minWidth: 0,\n children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_InsightsRecords.InsightsRecords, {\n tiles: holders,\n record,\n testID: sectionId(\"records\")\n })\n }) : null,\n metrics.length > 0 ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_components.PageSection, {\n title: t(\"Leaders\"),\n description: t(\"The top five by the field you pick; open any row.\"),\n divider: false,\n flexGrow: 2,\n flexShrink: 1,\n flexBasis: 420,\n minWidth: 0,\n children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_InsightsLeaders.InsightsLeaders, {\n rows,\n metrics,\n record,\n testID: sectionId(\"leaderboard\")\n })\n }) : null\n ]\n }) : null,\n /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_components.PageSection, {\n title: t(\"All {{title}}\", {\n title: listName\n }),\n description: t(\"Every record, {{count}} per page; sort any column.\", {\n count: pageSize\n }),\n divider: false,\n children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_InsightsTable.InsightsTable, {\n rows,\n metrics,\n record,\n facetLabel: facet ? plural : void 0,\n pageSize,\n label: t(\"All {{title}}\", {\n title: listName\n }),\n testID: sectionId(\"roster\")\n })\n }),\n facet ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_components.PageSection, {\n title: t(\"Browse by {{facet}}\", {\n facet: facet.label\n }),\n description: t(\"Open the list narrowed to one value.\"),\n divider: false,\n paddingBottom: \"$6\",\n children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_InsightsFacetTags.InsightsFacetTags, {\n distribution,\n label: record.valueLabel,\n tint: facet.tint,\n onSelect: function onSelect(value) {\n return navigate === null || navigate === void 0 ? void 0 : navigate(`${route}?${facet.param}=${encodeURIComponent(value)}`);\n },\n testID: sectionId(\"tag\")\n })\n }) : null\n ]\n });\n}\n//# sourceMappingURL=FrappeInsights.js.map\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["to","__toESM","mod","isNodeMode","target","__create","__getProtoOf","__copyProps","__esModule","__defProp","value","enumerable","__toCommonJS","FrappeKPICard_exports","__export","FrappeKPICard","module","exports","import_jsx_runtime","require","import_components","import_react","import_react_i18next","import_FrappeProvider","import_devWarn","import_useFrappeAggregate","KPICardSkeleton","stackProps","t","useTranslation","jsxs","Card","children","jsx","Skeleton","width","param","config","dataSource","baseURL","auth","syncOptions","_ref","providerConfig","useFrappeConfig","finalBaseURL","fixtures","connection","socketPort","siteName","socketBaseURL","realtime","missingConnection","doctype","useEffect","frappeDevWarn","component","id","suggest","isLoading","isStale","error","isPermissionError","useFrappeAggregate","aggregate","field","filters","debounceMs","enabled","liveConfig","useMemo","KPICard","AsyncBoundary","compact","errorTitle","title","errorDescription"],"sources":["../../src/FrappeKPICard.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["__create","Object","create","__defProp","defineProperty","__getOwnPropDesc","getOwnPropertyDescriptor","__getOwnPropNames","getOwnPropertyNames","__getProtoOf","getPrototypeOf","__hasOwnProp","prototype","hasOwnProperty","__export","target","all","name","get","enumerable","__copyProps","to","from","except","desc","key","call","__toESM","mod","isNodeMode","__esModule","value","__toCommonJS","FrappeKPICard_exports","FrappeKPICard","module","exports","import_jsx_runtime","require","import_components","import_react","import_react_i18next","import_FrappeProvider","import_devWarn","import_useFrappeAggregate","KPICardSkeleton","stackProps","t","useTranslation","jsxs","Card","children","jsx","Skeleton","width","param","config","dataSource","baseURL","auth","syncOptions","_ref","providerConfig","useFrappeConfig","finalBaseURL","fixtures","connection","socketPort","siteName","socketBaseURL","realtime","missingConnection","doctype","useEffect","frappeDevWarn","component","id","suggest","isLoading","isStale","error","isPermissionError","useFrappeAggregate","aggregate","field","filters","debounceMs","enabled","liveConfig","useMemo","KPICard","AsyncBoundary","compact","errorTitle","title","errorDescription","opacity"],"sources":["FrappeKPICard.native.js"],"sourcesContent":["\"use strict\";\nvar __create = Object.create;\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __getProtoOf = Object.getPrototypeOf;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(\n // If the importer is in node compatibility mode or this is not an ESM\n // file that has been converted to a CommonJS file using a Babel-\n // compatible transform (i.e. \"__esModule\" has not been set), then set\n // \"default\" to the CommonJS \"module.exports\" for node compatibility.\n isNodeMode || !mod || !mod.__esModule ? __defProp(target, \"default\", { value: mod, enumerable: true }) : target,\n mod\n));\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\nvar FrappeKPICard_exports = {};\n__export(FrappeKPICard_exports, {\n FrappeKPICard: () => FrappeKPICard\n});\nmodule.exports = __toCommonJS(FrappeKPICard_exports);\nvar import_jsx_runtime = require(\"react/jsx-runtime\");\nvar import_components = require(\"@multiplatform.one/components\");\nvar import_react = __toESM(require(\"react\"));\nvar import_react_i18next = require(\"react-i18next\");\nvar import_FrappeProvider = require(\"./FrappeProvider\");\nvar import_devWarn = require(\"./shared/devWarn\");\nvar import_useFrappeAggregate = require(\"./useFrappeAggregate\");\nfunction KPICardSkeleton(stackProps) {\n var { t } = (0, import_react_i18next.useTranslation)();\n return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_components.Card, {\n \"aria-busy\": true,\n \"aria-label\": t(\"Loading\"),\n ...stackProps,\n children: [\n /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_components.Skeleton, {\n width: \"50%\"\n }),\n /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_components.Skeleton, {\n width: \"70%\"\n }),\n /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_components.Skeleton, {\n width: \"40%\"\n })\n ]\n });\n}\nfunction FrappeKPICard(param) {\n var { config, dataSource, baseURL, auth, syncOptions, ...stackProps } = param;\n var _ref;\n var providerConfig = (0, import_FrappeProvider.useFrappeConfig)();\n var { t } = (0, import_react_i18next.useTranslation)();\n var finalBaseURL = baseURL !== null && baseURL !== void 0 ? baseURL : providerConfig === null || providerConfig === void 0 ? void 0 : providerConfig.baseURL;\n var fixtures = providerConfig === null || providerConfig === void 0 ? void 0 : providerConfig.fixtures;\n var connection = dataSource && (finalBaseURL || fixtures) ? {\n baseURL: finalBaseURL,\n socketPort: providerConfig === null || providerConfig === void 0 ? void 0 : providerConfig.socketPort,\n siteName: providerConfig === null || providerConfig === void 0 ? void 0 : providerConfig.siteName,\n socketBaseURL: providerConfig === null || providerConfig === void 0 ? void 0 : providerConfig.socketBaseURL,\n auth: auth !== null && auth !== void 0 ? auth : providerConfig === null || providerConfig === void 0 ? void 0 : providerConfig.auth,\n syncOptions: syncOptions !== null && syncOptions !== void 0 ? syncOptions : providerConfig === null || providerConfig === void 0 ? void 0 : providerConfig.syncOptions,\n realtime: providerConfig === null || providerConfig === void 0 ? void 0 : providerConfig.realtime,\n fixtures\n } : void 0;\n var missingConnection = !!dataSource && !connection;\n var doctype = dataSource === null || dataSource === void 0 ? void 0 : dataSource.doctype;\n (0, import_react.useEffect)(function() {\n if (!missingConnection) return;\n (0, import_devWarn.frappeDevWarn)(\"kpi-datasource-without-baseurl\", {\n component: \"FrappeKPICard\",\n id: config.id,\n doctype,\n suggest: \"set baseURL on FrappeKPICard or on the FrappeProvider above it\"\n });\n }, [\n missingConnection,\n config.id,\n doctype\n ]);\n var { value, isLoading, isStale, error, isPermissionError } = (0, import_useFrappeAggregate.useFrappeAggregate)(connection, {\n doctype: (_ref = dataSource === null || dataSource === void 0 ? void 0 : dataSource.doctype) !== null && _ref !== void 0 ? _ref : \"\",\n aggregate: dataSource === null || dataSource === void 0 ? void 0 : dataSource.aggregate,\n field: dataSource === null || dataSource === void 0 ? void 0 : dataSource.field,\n filters: dataSource === null || dataSource === void 0 ? void 0 : dataSource.filters,\n debounceMs: dataSource === null || dataSource === void 0 ? void 0 : dataSource.debounceMs,\n enabled: !!dataSource\n });\n var liveConfig = (0, import_react.useMemo)(function() {\n if (!dataSource) return config;\n return {\n ...config,\n value: value !== null && value !== void 0 ? value : \"\\u2014\"\n };\n }, [\n config,\n dataSource,\n value\n ]);\n if (!dataSource) {\n return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_components.KPICard, {\n config,\n ...stackProps\n });\n }\n if (!connection) {\n return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_components.AsyncBoundary, {\n compact: true,\n error: true,\n errorTitle: t(\"{{title}} is not configured\", {\n title: config.title\n }),\n errorDescription: t(\"This card reads {{doctype}} live, but no Frappe baseURL is in scope, so the figure was never computed.\", {\n doctype: dataSource.doctype\n }),\n ...stackProps\n });\n }\n if (isLoading) {\n return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(KPICardSkeleton, {\n ...stackProps\n });\n }\n if (error) {\n return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_components.AsyncBoundary, {\n compact: true,\n error,\n errorTitle: isPermissionError ? t(\"No permission to read {{doctype}}\", {\n doctype: dataSource.doctype\n }) : t(\"Couldn't load {{title}}\", {\n title: config.title\n }),\n ...stackProps\n });\n }\n return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_components.KPICard, {\n config: liveConfig,\n // Subtle stale affordance: dim while a post-event refetch is in flight.\n opacity: isStale ? 0.6 : 1,\n \"aria-busy\": isStale || void 0,\n ...stackProps\n });\n}\n//# sourceMappingURL=FrappeKPICard.js.map\n"],"mappings":"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","ignoreList":[]}