@multiplatform.one/frappe-ui 7.28.1 → 7.29.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (325) hide show
  1. package/dist/cjs/FrappeCalendar.cjs +3 -2
  2. package/dist/cjs/FrappeCalendar.native.js +3 -2
  3. package/dist/cjs/FrappeCalendar.native.js.map +1 -1
  4. package/dist/cjs/FrappeForm.cjs +148 -464
  5. package/dist/cjs/FrappeForm.native.js +152 -633
  6. package/dist/cjs/FrappeForm.native.js.map +1 -1
  7. package/dist/cjs/FrappeListView.cjs +5 -27
  8. package/dist/cjs/FrappeListView.native.js +11 -32
  9. package/dist/cjs/FrappeListView.native.js.map +1 -1
  10. package/dist/cjs/FrappeReportBuilder.cjs +523 -309
  11. package/dist/cjs/FrappeReportBuilder.native.js +658 -353
  12. package/dist/cjs/FrappeReportBuilder.native.js.map +1 -1
  13. package/dist/cjs/FrappeReportView.cjs +35 -234
  14. package/dist/cjs/FrappeReportView.native.js +39 -283
  15. package/dist/cjs/FrappeReportView.native.js.map +1 -1
  16. package/dist/cjs/dependsOn.cjs +2 -2
  17. package/dist/cjs/dependsOn.native.js +1 -2
  18. package/dist/cjs/dependsOn.native.js.map +1 -1
  19. package/dist/cjs/fields/shared/EditorPreviewPanes.cjs +2 -2
  20. package/dist/cjs/fields/shared/EditorPreviewPanes.native.js +2 -2
  21. package/dist/cjs/fields/shared/EditorPreviewPanes.native.js.map +1 -1
  22. package/dist/cjs/formEngine/docPermissions.cjs +20 -0
  23. package/dist/cjs/formEngine/docPermissions.native.js +69 -0
  24. package/dist/cjs/formEngine/docPermissions.native.js.map +1 -1
  25. package/dist/cjs/formEngine/index.cjs +2 -0
  26. package/dist/cjs/formEngine/index.native.js +2 -0
  27. package/dist/cjs/formEngine/index.native.js.map +1 -1
  28. package/dist/cjs/index.cjs +67 -7
  29. package/dist/cjs/index.native.js +67 -7
  30. package/dist/cjs/index.native.js.map +1 -1
  31. package/dist/cjs/liveErrors.cjs +8 -2
  32. package/dist/cjs/liveErrors.native.js +8 -2
  33. package/dist/cjs/liveErrors.native.js.map +1 -1
  34. package/dist/cjs/measures.cjs +31 -0
  35. package/dist/cjs/measures.native.js +34 -0
  36. package/dist/cjs/measures.native.js.map +1 -0
  37. package/dist/cjs/recordShape.cjs +103 -0
  38. package/dist/cjs/recordShape.native.js +115 -0
  39. package/dist/cjs/recordShape.native.js.map +1 -0
  40. package/dist/cjs/report/ReportGrid.cjs +453 -0
  41. package/dist/cjs/report/ReportGrid.native.js +510 -0
  42. package/dist/cjs/report/ReportGrid.native.js.map +1 -0
  43. package/dist/cjs/report/ReportViewToolbar.cjs +253 -0
  44. package/dist/cjs/report/ReportViewToolbar.native.js +303 -0
  45. package/dist/cjs/report/ReportViewToolbar.native.js.map +1 -0
  46. package/dist/cjs/report/queryReport.cjs +444 -0
  47. package/dist/cjs/report/queryReport.native.js +588 -0
  48. package/dist/cjs/report/queryReport.native.js.map +1 -0
  49. package/dist/cjs/report/queryReportColumns.cjs +131 -0
  50. package/dist/cjs/report/queryReportColumns.native.js +159 -0
  51. package/dist/cjs/report/queryReportColumns.native.js.map +1 -0
  52. package/dist/cjs/report/reportViewModel.cjs +386 -0
  53. package/dist/cjs/report/reportViewModel.native.js +657 -0
  54. package/dist/cjs/report/reportViewModel.native.js.map +1 -0
  55. package/dist/cjs/report/savedReports.cjs +137 -0
  56. package/dist/cjs/report/savedReports.native.js +169 -0
  57. package/dist/cjs/report/savedReports.native.js.map +1 -0
  58. package/dist/cjs/report/useFrappeReport.cjs +184 -0
  59. package/dist/cjs/report/useFrappeReport.native.js +214 -0
  60. package/dist/cjs/report/useFrappeReport.native.js.map +1 -0
  61. package/dist/cjs/report/useQueryReport.cjs +201 -0
  62. package/dist/cjs/report/useQueryReport.native.js +233 -0
  63. package/dist/cjs/report/useQueryReport.native.js.map +1 -0
  64. package/dist/cjs/useFrappeForm.cjs +558 -0
  65. package/dist/cjs/useFrappeForm.native.js +714 -0
  66. package/dist/cjs/useFrappeForm.native.js.map +1 -0
  67. package/dist/esm/FrappeCalendar.mjs +4 -3
  68. package/dist/esm/FrappeCalendar.mjs.map +1 -1
  69. package/dist/esm/FrappeCalendar.native.js +4 -3
  70. package/dist/esm/FrappeCalendar.native.js.map +1 -1
  71. package/dist/esm/FrappeForm.mjs +151 -467
  72. package/dist/esm/FrappeForm.mjs.map +1 -1
  73. package/dist/esm/FrappeForm.native.js +155 -636
  74. package/dist/esm/FrappeForm.native.js.map +1 -1
  75. package/dist/esm/FrappeListView.mjs +6 -28
  76. package/dist/esm/FrappeListView.mjs.map +1 -1
  77. package/dist/esm/FrappeListView.native.js +12 -33
  78. package/dist/esm/FrappeListView.native.js.map +1 -1
  79. package/dist/esm/FrappeReportBuilder.mjs +526 -312
  80. package/dist/esm/FrappeReportBuilder.mjs.map +1 -1
  81. package/dist/esm/FrappeReportBuilder.native.js +661 -356
  82. package/dist/esm/FrappeReportBuilder.native.js.map +1 -1
  83. package/dist/esm/FrappeReportView.mjs +30 -229
  84. package/dist/esm/FrappeReportView.mjs.map +1 -1
  85. package/dist/esm/FrappeReportView.native.js +34 -278
  86. package/dist/esm/FrappeReportView.native.js.map +1 -1
  87. package/dist/esm/dependsOn.mjs +2 -2
  88. package/dist/esm/dependsOn.mjs.map +1 -1
  89. package/dist/esm/dependsOn.native.js +1 -2
  90. package/dist/esm/dependsOn.native.js.map +1 -1
  91. package/dist/esm/fields/shared/EditorPreviewPanes.mjs +2 -2
  92. package/dist/esm/fields/shared/EditorPreviewPanes.mjs.map +1 -1
  93. package/dist/esm/fields/shared/EditorPreviewPanes.native.js +2 -2
  94. package/dist/esm/fields/shared/EditorPreviewPanes.native.js.map +1 -1
  95. package/dist/esm/formEngine/docPermissions.mjs +19 -1
  96. package/dist/esm/formEngine/docPermissions.mjs.map +1 -1
  97. package/dist/esm/formEngine/docPermissions.native.js +68 -1
  98. package/dist/esm/formEngine/docPermissions.native.js.map +1 -1
  99. package/dist/esm/formEngine/index.mjs +2 -2
  100. package/dist/esm/formEngine/index.mjs.map +1 -1
  101. package/dist/esm/formEngine/index.native.js +2 -2
  102. package/dist/esm/formEngine/index.native.js.map +1 -1
  103. package/dist/esm/index.mjs +16 -4
  104. package/dist/esm/index.mjs.map +1 -1
  105. package/dist/esm/index.native.js +16 -4
  106. package/dist/esm/index.native.js.map +1 -1
  107. package/dist/esm/liveErrors.mjs +8 -3
  108. package/dist/esm/liveErrors.mjs.map +1 -1
  109. package/dist/esm/liveErrors.native.js +8 -3
  110. package/dist/esm/liveErrors.native.js.map +1 -1
  111. package/dist/esm/measures.mjs +5 -0
  112. package/dist/esm/measures.mjs.map +1 -0
  113. package/dist/esm/measures.native.js +5 -0
  114. package/dist/esm/measures.native.js.map +1 -0
  115. package/dist/esm/recordShape.mjs +74 -0
  116. package/dist/esm/recordShape.mjs.map +1 -0
  117. package/dist/esm/recordShape.native.js +83 -0
  118. package/dist/esm/recordShape.native.js.map +1 -0
  119. package/dist/esm/report/ReportGrid.mjs +428 -0
  120. package/dist/esm/report/ReportGrid.mjs.map +1 -0
  121. package/dist/esm/report/ReportGrid.native.js +471 -0
  122. package/dist/esm/report/ReportGrid.native.js.map +1 -0
  123. package/dist/esm/report/ReportViewToolbar.mjs +228 -0
  124. package/dist/esm/report/ReportViewToolbar.mjs.map +1 -0
  125. package/dist/esm/report/ReportViewToolbar.native.js +264 -0
  126. package/dist/esm/report/ReportViewToolbar.native.js.map +1 -0
  127. package/dist/esm/report/queryReport.mjs +404 -0
  128. package/dist/esm/report/queryReport.mjs.map +1 -0
  129. package/dist/esm/report/queryReport.native.js +545 -0
  130. package/dist/esm/report/queryReport.native.js.map +1 -0
  131. package/dist/esm/report/queryReportColumns.mjs +105 -0
  132. package/dist/esm/report/queryReportColumns.mjs.map +1 -0
  133. package/dist/esm/report/queryReportColumns.native.js +119 -0
  134. package/dist/esm/report/queryReportColumns.native.js.map +1 -0
  135. package/dist/esm/report/reportViewModel.mjs +343 -0
  136. package/dist/esm/report/reportViewModel.mjs.map +1 -0
  137. package/dist/esm/report/reportViewModel.native.js +611 -0
  138. package/dist/esm/report/reportViewModel.native.js.map +1 -0
  139. package/dist/esm/report/savedReports.mjs +112 -0
  140. package/dist/esm/report/savedReports.mjs.map +1 -0
  141. package/dist/esm/report/savedReports.native.js +141 -0
  142. package/dist/esm/report/savedReports.native.js.map +1 -0
  143. package/dist/esm/report/useFrappeReport.mjs +158 -0
  144. package/dist/esm/report/useFrappeReport.mjs.map +1 -0
  145. package/dist/esm/report/useFrappeReport.native.js +185 -0
  146. package/dist/esm/report/useFrappeReport.native.js.map +1 -0
  147. package/dist/esm/report/useQueryReport.mjs +176 -0
  148. package/dist/esm/report/useQueryReport.mjs.map +1 -0
  149. package/dist/esm/report/useQueryReport.native.js +205 -0
  150. package/dist/esm/report/useQueryReport.native.js.map +1 -0
  151. package/dist/esm/useFrappeForm.mjs +533 -0
  152. package/dist/esm/useFrappeForm.mjs.map +1 -0
  153. package/dist/esm/useFrappeForm.native.js +686 -0
  154. package/dist/esm/useFrappeForm.native.js.map +1 -0
  155. package/dist/jsx/FrappeCalendar.mjs +4 -3
  156. package/dist/jsx/FrappeCalendar.mjs.map +1 -1
  157. package/dist/jsx/FrappeCalendar.native.js +3 -2
  158. package/dist/jsx/FrappeCalendar.native.js.map +1 -1
  159. package/dist/jsx/FrappeForm.mjs +151 -467
  160. package/dist/jsx/FrappeForm.mjs.map +1 -1
  161. package/dist/jsx/FrappeForm.native.js +152 -633
  162. package/dist/jsx/FrappeForm.native.js.map +1 -1
  163. package/dist/jsx/FrappeListView.mjs +6 -28
  164. package/dist/jsx/FrappeListView.mjs.map +1 -1
  165. package/dist/jsx/FrappeListView.native.js +11 -32
  166. package/dist/jsx/FrappeListView.native.js.map +1 -1
  167. package/dist/jsx/FrappeReportBuilder.mjs +526 -312
  168. package/dist/jsx/FrappeReportBuilder.mjs.map +1 -1
  169. package/dist/jsx/FrappeReportBuilder.native.js +658 -353
  170. package/dist/jsx/FrappeReportBuilder.native.js.map +1 -1
  171. package/dist/jsx/FrappeReportView.mjs +30 -229
  172. package/dist/jsx/FrappeReportView.mjs.map +1 -1
  173. package/dist/jsx/FrappeReportView.native.js +39 -283
  174. package/dist/jsx/FrappeReportView.native.js.map +1 -1
  175. package/dist/jsx/dependsOn.mjs +2 -2
  176. package/dist/jsx/dependsOn.mjs.map +1 -1
  177. package/dist/jsx/dependsOn.native.js +1 -2
  178. package/dist/jsx/dependsOn.native.js.map +1 -1
  179. package/dist/jsx/fields/shared/EditorPreviewPanes.mjs +2 -2
  180. package/dist/jsx/fields/shared/EditorPreviewPanes.mjs.map +1 -1
  181. package/dist/jsx/fields/shared/EditorPreviewPanes.native.js +2 -2
  182. package/dist/jsx/fields/shared/EditorPreviewPanes.native.js.map +1 -1
  183. package/dist/jsx/formEngine/docPermissions.mjs +19 -1
  184. package/dist/jsx/formEngine/docPermissions.mjs.map +1 -1
  185. package/dist/jsx/formEngine/docPermissions.native.js +69 -0
  186. package/dist/jsx/formEngine/docPermissions.native.js.map +1 -1
  187. package/dist/jsx/formEngine/index.mjs +2 -2
  188. package/dist/jsx/formEngine/index.mjs.map +1 -1
  189. package/dist/jsx/formEngine/index.native.js +2 -0
  190. package/dist/jsx/formEngine/index.native.js.map +1 -1
  191. package/dist/jsx/index.js +16 -4
  192. package/dist/jsx/index.js.map +1 -1
  193. package/dist/jsx/index.mjs +16 -4
  194. package/dist/jsx/index.mjs.map +1 -1
  195. package/dist/jsx/index.native.js +67 -7
  196. package/dist/jsx/index.native.js.map +1 -1
  197. package/dist/jsx/liveErrors.mjs +8 -3
  198. package/dist/jsx/liveErrors.mjs.map +1 -1
  199. package/dist/jsx/liveErrors.native.js +8 -2
  200. package/dist/jsx/liveErrors.native.js.map +1 -1
  201. package/dist/jsx/measures.mjs +5 -0
  202. package/dist/jsx/measures.mjs.map +1 -0
  203. package/dist/jsx/measures.native.js +34 -0
  204. package/dist/jsx/measures.native.js.map +1 -0
  205. package/dist/jsx/recordShape.mjs +74 -0
  206. package/dist/jsx/recordShape.mjs.map +1 -0
  207. package/dist/jsx/recordShape.native.js +115 -0
  208. package/dist/jsx/recordShape.native.js.map +1 -0
  209. package/dist/jsx/report/ReportGrid.mjs +428 -0
  210. package/dist/jsx/report/ReportGrid.mjs.map +1 -0
  211. package/dist/jsx/report/ReportGrid.native.js +510 -0
  212. package/dist/jsx/report/ReportGrid.native.js.map +1 -0
  213. package/dist/jsx/report/ReportViewToolbar.mjs +228 -0
  214. package/dist/jsx/report/ReportViewToolbar.mjs.map +1 -0
  215. package/dist/jsx/report/ReportViewToolbar.native.js +303 -0
  216. package/dist/jsx/report/ReportViewToolbar.native.js.map +1 -0
  217. package/dist/jsx/report/queryReport.mjs +404 -0
  218. package/dist/jsx/report/queryReport.mjs.map +1 -0
  219. package/dist/jsx/report/queryReport.native.js +588 -0
  220. package/dist/jsx/report/queryReport.native.js.map +1 -0
  221. package/dist/jsx/report/queryReportColumns.mjs +105 -0
  222. package/dist/jsx/report/queryReportColumns.mjs.map +1 -0
  223. package/dist/jsx/report/queryReportColumns.native.js +159 -0
  224. package/dist/jsx/report/queryReportColumns.native.js.map +1 -0
  225. package/dist/jsx/report/reportViewModel.mjs +343 -0
  226. package/dist/jsx/report/reportViewModel.mjs.map +1 -0
  227. package/dist/jsx/report/reportViewModel.native.js +657 -0
  228. package/dist/jsx/report/reportViewModel.native.js.map +1 -0
  229. package/dist/jsx/report/savedReports.mjs +112 -0
  230. package/dist/jsx/report/savedReports.mjs.map +1 -0
  231. package/dist/jsx/report/savedReports.native.js +169 -0
  232. package/dist/jsx/report/savedReports.native.js.map +1 -0
  233. package/dist/jsx/report/useFrappeReport.mjs +158 -0
  234. package/dist/jsx/report/useFrappeReport.mjs.map +1 -0
  235. package/dist/jsx/report/useFrappeReport.native.js +214 -0
  236. package/dist/jsx/report/useFrappeReport.native.js.map +1 -0
  237. package/dist/jsx/report/useQueryReport.mjs +176 -0
  238. package/dist/jsx/report/useQueryReport.mjs.map +1 -0
  239. package/dist/jsx/report/useQueryReport.native.js +233 -0
  240. package/dist/jsx/report/useQueryReport.native.js.map +1 -0
  241. package/dist/jsx/useFrappeForm.mjs +533 -0
  242. package/dist/jsx/useFrappeForm.mjs.map +1 -0
  243. package/dist/jsx/useFrappeForm.native.js +714 -0
  244. package/dist/jsx/useFrappeForm.native.js.map +1 -0
  245. package/package.json +16 -16
  246. package/src/FrappeCalendar.tsx +8 -2
  247. package/src/FrappeForm.stories.tsx +52 -0
  248. package/src/FrappeForm.tsx +176 -565
  249. package/src/FrappeListView.cards.stories.tsx +3 -6
  250. package/src/FrappeListView.tsx +15 -55
  251. package/src/FrappeReportBuilder.stories.tsx +34 -7
  252. package/src/FrappeReportBuilder.tsx +790 -380
  253. package/src/FrappeReportView.spec.tsx +10 -6
  254. package/src/FrappeReportView.stories.tsx +20 -1
  255. package/src/FrappeReportView.tsx +89 -415
  256. package/src/dependsOn.ts +4 -1
  257. package/src/fields/shared/EditorPreviewPanes.tsx +2 -2
  258. package/src/formEngine/docPermissions.spec.ts +36 -1
  259. package/src/formEngine/docPermissions.ts +34 -0
  260. package/src/formEngine/index.ts +8 -1
  261. package/src/frappeRemainder.designLaw.spec.ts +9 -1
  262. package/src/frappeRoutes.spec.tsx +9 -0
  263. package/src/frappeViews.designLaw.spec.ts +15 -2
  264. package/src/guestFallback.spec.tsx +236 -0
  265. package/src/index.ts +117 -16
  266. package/src/liveErrors.spec.ts +10 -0
  267. package/src/liveErrors.ts +16 -3
  268. package/src/measures.ts +11 -0
  269. package/src/recordShape.spec.ts +100 -0
  270. package/src/recordShape.ts +133 -0
  271. package/src/report/ReportGrid.spec.tsx +175 -0
  272. package/src/report/ReportGrid.tsx +530 -0
  273. package/src/report/ReportViewToolbar.spec.tsx +90 -0
  274. package/src/report/ReportViewToolbar.tsx +314 -0
  275. package/src/report/queryReport.spec.ts +483 -0
  276. package/src/report/queryReport.ts +722 -0
  277. package/src/report/queryReportColumns.tsx +123 -0
  278. package/src/report/reportViewModel.spec.ts +393 -0
  279. package/src/report/reportViewModel.ts +617 -0
  280. package/src/report/savedReports.ts +172 -0
  281. package/src/report/seam.spec.ts +216 -0
  282. package/src/report/useFrappeReport.ts +241 -0
  283. package/src/report/useQueryReport.spec.tsx +131 -0
  284. package/src/report/useQueryReport.ts +309 -0
  285. package/src/useFrappeForm.spec.tsx +209 -0
  286. package/src/useFrappeForm.ts +778 -0
  287. package/types/FrappeCalendar.d.ts.map +1 -1
  288. package/types/FrappeForm.d.ts +21 -1
  289. package/types/FrappeForm.d.ts.map +1 -1
  290. package/types/FrappeListView.d.ts.map +1 -1
  291. package/types/FrappeReportBuilder.d.ts +66 -16
  292. package/types/FrappeReportBuilder.d.ts.map +1 -1
  293. package/types/FrappeReportView.d.ts +9 -127
  294. package/types/FrappeReportView.d.ts.map +1 -1
  295. package/types/dependsOn.d.ts.map +1 -1
  296. package/types/formEngine/docPermissions.d.ts +14 -0
  297. package/types/formEngine/docPermissions.d.ts.map +1 -1
  298. package/types/formEngine/index.d.ts +1 -1
  299. package/types/formEngine/index.d.ts.map +1 -1
  300. package/types/index.d.ts +15 -3
  301. package/types/index.d.ts.map +1 -1
  302. package/types/liveErrors.d.ts +9 -1
  303. package/types/liveErrors.d.ts.map +1 -1
  304. package/types/measures.d.ts +3 -0
  305. package/types/measures.d.ts.map +1 -0
  306. package/types/recordShape.d.ts +45 -0
  307. package/types/recordShape.d.ts.map +1 -0
  308. package/types/report/ReportGrid.d.ts +20 -0
  309. package/types/report/ReportGrid.d.ts.map +1 -0
  310. package/types/report/ReportViewToolbar.d.ts +31 -0
  311. package/types/report/ReportViewToolbar.d.ts.map +1 -0
  312. package/types/report/queryReport.d.ts +181 -0
  313. package/types/report/queryReport.d.ts.map +1 -0
  314. package/types/report/queryReportColumns.d.ts +12 -0
  315. package/types/report/queryReportColumns.d.ts.map +1 -0
  316. package/types/report/reportViewModel.d.ts +146 -0
  317. package/types/report/reportViewModel.d.ts.map +1 -0
  318. package/types/report/savedReports.d.ts +27 -0
  319. package/types/report/savedReports.d.ts.map +1 -0
  320. package/types/report/useFrappeReport.d.ts +60 -0
  321. package/types/report/useFrappeReport.d.ts.map +1 -0
  322. package/types/report/useQueryReport.d.ts +37 -0
  323. package/types/report/useQueryReport.d.ts.map +1 -0
  324. package/types/useFrappeForm.d.ts +142 -0
  325. package/types/useFrappeForm.d.ts.map +1 -0
@@ -1,12 +1,17 @@
1
1
  function isPermissionError(error) {
2
- const status = error?.status;
3
- if (status === 403 || status === 401) return true;
2
+ const shaped = error;
3
+ if (shaped?.status === 403 || shaped?.status === 401) return true;
4
+ if (shaped?.exc_type === "PermissionError") return true;
4
5
  const message = error instanceof Error ? error.message : String(error ?? "");
5
6
  return /permission|not permitted|forbidden/i.test(message);
6
7
  }
7
8
  function isTracebackDetail(detail) {
8
9
  return /Traceback \(most recent call last\)/i.test(detail);
9
10
  }
11
+ function refusalReason(error) {
12
+ const detail = error instanceof Error ? error.message : String(error ?? "");
13
+ return detail && !isTracebackDetail(detail) ? detail : void 0;
14
+ }
10
15
  function toLiveLoadError(error, {
11
16
  permissionMessage,
12
17
  genericMessage
@@ -19,5 +24,5 @@ function toLiveLoadError(error, {
19
24
  if (error instanceof Error && error.stack) normalized.stack = error.stack;
20
25
  return normalized;
21
26
  }
22
- export { isPermissionError, toLiveLoadError };
27
+ export { isPermissionError, refusalReason, toLiveLoadError };
23
28
  //# sourceMappingURL=liveErrors.mjs.map
@@ -1 +1 @@
1
- {"version":3,"names":["isPermissionError","error","status","message","Error","String","test","isTracebackDetail","detail","toLiveLoadError","permissionMessage","genericMessage","lead","usable","normalized","stack"],"sources":["../../src/liveErrors.ts"],"sourcesContent":[null],"mappings":"AAYO,SAASA,kBAAkBC,KAAA,EAAyB;EACzD,MAAMC,MAAA,GAAUD,KAAA,EAA2CC,MAAA;EAC3D,IAAIA,MAAA,KAAW,OAAOA,MAAA,KAAW,KAAK,OAAO;EAC7C,MAAMC,OAAA,GAAUF,KAAA,YAAiBG,KAAA,GAAQH,KAAA,CAAME,OAAA,GAAUE,MAAA,CAAOJ,KAAA,IAAS,EAAE;EAC3E,OAAO,sCAAsCK,IAAA,CAAKH,OAAO;AAC3D;AAGA,SAASI,kBAAkBC,MAAA,EAAyB;EAClD,OAAO,uCAAuCF,IAAA,CAAKE,MAAM;AAC3D;AAWO,SAASC,gBACdR,KAAA,EACA;EAAES,iBAAA;EAAmBC;AAAe,GAC7B;EACP,MAAMH,MAAA,GAASP,KAAA,YAAiBG,KAAA,GAAQH,KAAA,CAAME,OAAA,GAAUE,MAAA,CAAOJ,KAAA,IAAS,EAAE;EAC1E,MAAMW,IAAA,GAAOZ,iBAAA,CAAkBC,KAAK,IAAIS,iBAAA,GAAoBC,cAAA;EAC5D,MAAME,MAAA,GAASL,MAAA,IAAUA,MAAA,KAAWI,IAAA,IAAQ,CAACL,iBAAA,CAAkBC,MAAM,IAAIA,MAAA,GAAS;EAClF,MAAML,OAAA,GAAUU,MAAA,GAAS,GAAGD,IAAI,KAAKC,MAAM,KAAKD,IAAA;EAChD,MAAME,UAAA,GAAa,IAAIV,KAAA,CAAMD,OAAO;EACpC,IAAIF,KAAA,YAAiBG,KAAA,IAASH,KAAA,CAAMc,KAAA,EAAOD,UAAA,CAAWC,KAAA,GAAQd,KAAA,CAAMc,KAAA;EACpE,OAAOD,UAAA;AACT","ignoreList":[]}
1
+ {"version":3,"names":["isPermissionError","error","shaped","status","exc_type","message","Error","String","test","isTracebackDetail","detail","refusalReason","toLiveLoadError","permissionMessage","genericMessage","lead","usable","normalized","stack"],"sources":["../../src/liveErrors.ts"],"sourcesContent":[null],"mappings":"AAeO,SAASA,kBAAkBC,KAAA,EAAyB;EACzD,MAAMC,MAAA,GAASD,KAAA;EACf,IAAIC,MAAA,EAAQC,MAAA,KAAW,OAAOD,MAAA,EAAQC,MAAA,KAAW,KAAK,OAAO;EAC7D,IAAID,MAAA,EAAQE,QAAA,KAAa,mBAAmB,OAAO;EACnD,MAAMC,OAAA,GAAUJ,KAAA,YAAiBK,KAAA,GAAQL,KAAA,CAAMI,OAAA,GAAUE,MAAA,CAAON,KAAA,IAAS,EAAE;EAC3E,OAAO,sCAAsCO,IAAA,CAAKH,OAAO;AAC3D;AAGA,SAASI,kBAAkBC,MAAA,EAAyB;EAClD,OAAO,uCAAuCF,IAAA,CAAKE,MAAM;AAC3D;AAMO,SAASC,cAAcV,KAAA,EAAoC;EAChE,MAAMS,MAAA,GAAST,KAAA,YAAiBK,KAAA,GAAQL,KAAA,CAAMI,OAAA,GAAUE,MAAA,CAAON,KAAA,IAAS,EAAE;EAC1E,OAAOS,MAAA,IAAU,CAACD,iBAAA,CAAkBC,MAAM,IAAIA,MAAA,GAAS;AACzD;AAWO,SAASE,gBACdX,KAAA,EACA;EAAEY,iBAAA;EAAmBC;AAAe,GAC7B;EACP,MAAMJ,MAAA,GAAST,KAAA,YAAiBK,KAAA,GAAQL,KAAA,CAAMI,OAAA,GAAUE,MAAA,CAAON,KAAA,IAAS,EAAE;EAC1E,MAAMc,IAAA,GAAOf,iBAAA,CAAkBC,KAAK,IAAIY,iBAAA,GAAoBC,cAAA;EAC5D,MAAME,MAAA,GAASN,MAAA,IAAUA,MAAA,KAAWK,IAAA,IAAQ,CAACN,iBAAA,CAAkBC,MAAM,IAAIA,MAAA,GAAS;EAClF,MAAML,OAAA,GAAUW,MAAA,GAAS,GAAGD,IAAI,KAAKC,MAAM,KAAKD,IAAA;EAChD,MAAME,UAAA,GAAa,IAAIX,KAAA,CAAMD,OAAO;EACpC,IAAIJ,KAAA,YAAiBK,KAAA,IAASL,KAAA,CAAMiB,KAAA,EAAOD,UAAA,CAAWC,KAAA,GAAQjB,KAAA,CAAMiB,KAAA;EACpE,OAAOD,UAAA;AACT","ignoreList":[]}
@@ -8,14 +8,19 @@ function _instanceof(left, right) {
8
8
  }
9
9
  }
10
10
  function isPermissionError(error) {
11
- var status = error === null || error === void 0 ? void 0 : error.status;
12
- if (status === 403 || status === 401) return true;
11
+ var shaped = error;
12
+ if ((shaped === null || shaped === void 0 ? void 0 : shaped.status) === 403 || (shaped === null || shaped === void 0 ? void 0 : shaped.status) === 401) return true;
13
+ if ((shaped === null || shaped === void 0 ? void 0 : shaped.exc_type) === "PermissionError") return true;
13
14
  var message = _instanceof(error, Error) ? error.message : String(error !== null && error !== void 0 ? error : "");
14
15
  return /permission|not permitted|forbidden/i.test(message);
15
16
  }
16
17
  function isTracebackDetail(detail) {
17
18
  return /Traceback \(most recent call last\)/i.test(detail);
18
19
  }
20
+ function refusalReason(error) {
21
+ var detail = _instanceof(error, Error) ? error.message : String(error !== null && error !== void 0 ? error : "");
22
+ return detail && !isTracebackDetail(detail) ? detail : void 0;
23
+ }
19
24
  function toLiveLoadError(error, param) {
20
25
  var {
21
26
  permissionMessage,
@@ -29,5 +34,5 @@ function toLiveLoadError(error, param) {
29
34
  if (_instanceof(error, Error) && error.stack) normalized.stack = error.stack;
30
35
  return normalized;
31
36
  }
32
- export { isPermissionError, toLiveLoadError };
37
+ export { isPermissionError, refusalReason, toLiveLoadError };
33
38
  //# sourceMappingURL=liveErrors.native.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_instanceof","left","right","Symbol","hasInstance","isPermissionError","error","status","message","Error","String","test","isTracebackDetail","detail","toLiveLoadError","param"],"sources":["../../src/liveErrors.ts"],"sourcesContent":[null],"mappings":"AAYO,SAASA,YAAAC,IAAA,EAAkBC,KAAA,EAAyB;EACzD,2BAA2D;;EAC3D,IAAIA,KAAA,QAAW,WAAOC,MAAW,KAAK,WAAO,IAAAD,KAAA,CAAAC,MAAA,CAAAC,WAAA;IAC7C,OAAM,EAAAF,KAAU,CAAAC,MAAA,CAAAC,WAAiB,EAAAH,IAAQ;EACzC,OAAO;IACT,OAAAA,IAAA,YAAAC,KAAA;EAGA;AACE;AACF,SAAAG,kBAAAC,KAAA;EAWO,IAAAC,MAAS,GAAAD,KAAA,KACd,QACAA,KAAE,mBAAmB,IAAAA,KAAA,CAAAC,MACd;EACP,IAAAA,MAAM,KAAS,OAAAA,MAAA,KAAiB,YAAQ,IAAM;EAC9C,IAAAC,OAAM,GAAOR,WAAA,CAAAM,KAAkB,EAAAG,KAAK,IAAIH,KAAA,CAAAE,OAAA,GAAAE,MAAoB,CAAAJ,KAAA,aAAAA,KAAA,cAAAA,KAAA;EAC5D,OAAM,qCAAsC,CAACK,IAAA,CAAAH,OAAA;AAC7C;AACA,SAAMI,iBAAiBA,CAAAC,MAAM;EAC7B,OAAI,sCAAuC,CAAAF,IAAA,CAAAE,MAAW;AACtD;AACF,SAAAC,gBAAAR,KAAA,EAAAS,KAAA","ignoreList":[]}
1
+ {"version":3,"names":["_instanceof","left","right","Symbol","hasInstance","isPermissionError","error","shaped","status","exc_type","message","Error","String","test","isTracebackDetail","detail","refusalReason","toLiveLoadError","param"],"sources":["../../src/liveErrors.ts"],"sourcesContent":[null],"mappings":"AAeO,SAASA,YAAAC,IAAA,EAAkBC,KAAA,EAAyB;EACzD,2BAAe;;EACf,IAAIA,KAAA,IAAQ,eAAWC,MAAO,KAAQ,WAAW,IAAKD,KAAA,CAAAC,MAAO,CAAAC,WAAA;IAC7D,OAAI,EAAAF,KAAQ,CAAAC,MAAA,CAAAC,WAAa,EAAAH,IAAA;EACzB,OAAM;IACN,OAAOA,IAAA,YAAAC,KAAA;EACT;AAGA;AACE,SAAOG,kBAAAC,KAAA;EACT,IAAAC,MAAA,GAAAD,KAAA;EAMO,KAAAC,MAAS,aAAcA,MAAoC,uBAAAA,MAAA,CAAAC,MAAA,cAAAD,MAAA,aAAAA,MAAA,uBAAAA,MAAA,CAAAC,MAAA;EAChE,KAAAD,MAAM,KAAS,QAAAA,MAAA,KAAiB,KAAQ,SAAM,IAAAA,MAAU,CAAAE,QAAO,MAAW;EAC1E,IAAAC,OAAO,GAAAV,WAAW,CAAAM,KAAA,EAAAK,KAAkB,IAAML,KAAI,CAAAI,OAAS,GAAAE,MAAA,CAAAN,KAAA,aAAAA,KAAA,cAAAA,KAAA;EACzD,6CAAAO,IAAA,CAAAH,OAAA;AAWO;AAIL,SAAMI,iBAASA,CAAAC,MAAA,EAAiB;EAChC,OAAM,sCAAkC,CAAAF,IAAA,CAAAE,MAAA;AACxC;AACA,SAAMC,aAAUA,CAAAV,KAAS,EAAG;EAC5B,IAAAS,MAAM,GAAAf,WAAiB,CAAAM,KAAM,EAAAK,KAAO,IAAAL,KAAA,CAAAI,OAAA,GAAAE,MAAA,CAAAN,KAAA,aAAAA,KAAA,cAAAA,KAAA;EACpC,OAAIS,MAAA,KAAAD,iBAA0B,CAAMC,MAAO,IAAAA,MAAA,GAAW;AACtD;AACF,SAAAE,gBAAAX,KAAA,EAAAY,KAAA","ignoreList":[]}
@@ -0,0 +1,5 @@
1
+ import { sizeRecipeEscape } from "@multiplatform.one/theme";
2
+ const dialogBodyMinWidth = sizeRecipeEscape(280, "dialog body floor: a reading width for the form inside a dialog or popover");
3
+ const overlayListMaxHeight = sizeRecipeEscape(360, "overlay list cap: a menu or popover list scrolls past this height instead of growing");
4
+ export { dialogBodyMinWidth, overlayListMaxHeight };
5
+ //# sourceMappingURL=measures.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["sizeRecipeEscape","dialogBodyMinWidth","overlayListMaxHeight"],"sources":["../../src/measures.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,gBAAA,QAAwB;AAE1B,MAAMC,kBAAA,GAAqBD,gBAAA,CAChC,KACA,4EACF;AAEO,MAAME,oBAAA,GAAuBF,gBAAA,CAClC,KACA,sFACF","ignoreList":[]}
@@ -0,0 +1,5 @@
1
+ import { sizeRecipeEscape } from "@multiplatform.one/theme";
2
+ var dialogBodyMinWidth = sizeRecipeEscape(280, "dialog body floor: a reading width for the form inside a dialog or popover");
3
+ var overlayListMaxHeight = sizeRecipeEscape(360, "overlay list cap: a menu or popover list scrolls past this height instead of growing");
4
+ export { dialogBodyMinWidth, overlayListMaxHeight };
5
+ //# sourceMappingURL=measures.native.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["sizeRecipeEscape","dialogBodyMinWidth","overlayListMaxHeight"],"sources":["../../src/measures.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,gBAAA,QAAwB;AAE1B,IAAAC,kBAAM,GAAAD,gBAAqB;AAAA,IAChCE,oBAAA,GAAAF,gBAAA;AAAA,SAEFC,kBAAA,EAEOC,oBAAM","ignoreList":[]}
@@ -0,0 +1,74 @@
1
+ import { HttpClient } from "@multiplatform.one/frappe";
2
+ import { useEffect, useMemo, useState } from "react";
3
+ const recordBookkeepingKeys = /* @__PURE__ */new Set(["name", "owner", "creation", "modified", "modified_by", "docstatus", "idx", "doctype", "_user_tags", "_comments", "_assign", "_liked_by", "_seen"]);
4
+ function isFieldValue(value) {
5
+ return value === null || typeof value === "string" || typeof value === "number";
6
+ }
7
+ function recordFieldKeys(record) {
8
+ return Object.entries(record).filter(([key, value]) => !key.startsWith("$") && !recordBookkeepingKeys.has(key) && isFieldValue(value)).map(([key]) => key);
9
+ }
10
+ function recordKeyLabel(key) {
11
+ return key.replace(/_/g, " ").replace(/(^|\s)\S/g, c => c.toUpperCase());
12
+ }
13
+ function fieldsFromRecord(record) {
14
+ return recordFieldKeys(record).map(key => {
15
+ const value = record[key];
16
+ return {
17
+ fieldname: key,
18
+ label: recordKeyLabel(key),
19
+ fieldtype: typeof value === "number" ? Number.isInteger(value) ? "Int" : "Float" : "Data",
20
+ read_only: 1
21
+ };
22
+ });
23
+ }
24
+ function useRecordShape(connection, doctype, enabled) {
25
+ const baseURL = connection?.baseURL;
26
+ const auth = connection?.auth;
27
+ const [sampled, setSampled] = useState();
28
+ const key = `${baseURL ?? ""}\0${doctype}`;
29
+ const reads = enabled && Boolean(baseURL);
30
+ useEffect(() => {
31
+ if (!reads || !baseURL) return;
32
+ let cancelled = false;
33
+ const http = new HttpClient(baseURL, auth);
34
+ void (async () => {
35
+ let fields;
36
+ try {
37
+ const response = await http.get(`/api/resource/${encodeURIComponent(doctype)}`, {
38
+ fields: ["*"],
39
+ limit_page_length: 1
40
+ });
41
+ const sample = response.payload?.data?.[0];
42
+ fields = sample ? fieldsFromRecord(sample) : void 0;
43
+ } catch {
44
+ fields = void 0;
45
+ }
46
+ if (!cancelled) setSampled({
47
+ key,
48
+ fields
49
+ });
50
+ })();
51
+ return () => {
52
+ cancelled = true;
53
+ };
54
+ }, [reads, baseURL, auth, doctype, key]);
55
+ return useMemo(() => {
56
+ if (!reads) return {
57
+ fields: void 0,
58
+ status: "idle"
59
+ };
60
+ if (sampled?.key !== key) return {
61
+ fields: void 0,
62
+ status: "pending"
63
+ };
64
+ return sampled.fields && sampled.fields.length > 0 ? {
65
+ fields: sampled.fields,
66
+ status: "ready"
67
+ } : {
68
+ fields: void 0,
69
+ status: "unreadable"
70
+ };
71
+ }, [reads, sampled, key]);
72
+ }
73
+ export { fieldsFromRecord, recordBookkeepingKeys, recordFieldKeys, recordKeyLabel, useRecordShape };
74
+ //# sourceMappingURL=recordShape.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["HttpClient","useEffect","useMemo","useState","recordBookkeepingKeys","Set","isFieldValue","value","recordFieldKeys","record","Object","entries","filter","key","startsWith","has","map","recordKeyLabel","replace","c","toUpperCase","fieldsFromRecord","fieldname","label","fieldtype","Number","isInteger","read_only","useRecordShape","connection","doctype","enabled","baseURL","auth","sampled","setSampled","reads","Boolean","cancelled","http","fields","response","get","encodeURIComponent","limit_page_length","sample","payload","data","status","length"],"sources":["../../src/recordShape.ts"],"sourcesContent":[null],"mappings":"AAUA,SAASA,UAAA,QAAsD;AAC/D,SAASC,SAAA,EAAWC,OAAA,EAASC,QAAA,QAAgB;AAGtC,MAAMC,qBAAA,GAA6C,mBAAIC,GAAA,CAAI,CAChE,QACA,SACA,YACA,YACA,eACA,aACA,OACA,WACA,cACA,aACA,WACA,aACA,QACD;AAED,SAASC,aAAaC,KAAA,EAAiD;EACrE,OAAOA,KAAA,KAAU,QAAQ,OAAOA,KAAA,KAAU,YAAY,OAAOA,KAAA,KAAU;AACzE;AAOO,SAASC,gBAAgBC,MAAA,EAA2C;EACzE,OAAOC,MAAA,CAAOC,OAAA,CAAQF,MAAM,EACzBG,MAAA,CACC,CAAC,CAACC,GAAA,EAAKN,KAAK,MACV,CAACM,GAAA,CAAIC,UAAA,CAAW,GAAG,KAAK,CAACV,qBAAA,CAAsBW,GAAA,CAAIF,GAAG,KAAKP,YAAA,CAAaC,KAAK,CACjF,EACCS,GAAA,CAAI,CAAC,CAACH,GAAG,MAAMA,GAAG;AACvB;AAGO,SAASI,eAAeJ,GAAA,EAAqB;EAClD,OAAOA,GAAA,CAAIK,OAAA,CAAQ,MAAM,GAAG,EAAEA,OAAA,CAAQ,aAAcC,CAAA,IAAMA,CAAA,CAAEC,WAAA,CAAY,CAAC;AAC3E;AAMO,SAASC,iBAAiBZ,MAAA,EAAiD;EAChF,OAAOD,eAAA,CAAgBC,MAAM,EAAEO,GAAA,CAAKH,GAAA,IAAQ;IAC1C,MAAMN,KAAA,GAAQE,MAAA,CAAOI,GAAG;IACxB,OAAO;MACLS,SAAA,EAAWT,GAAA;MACXU,KAAA,EAAON,cAAA,CAAeJ,GAAG;MACzBW,SAAA,EAAW,OAAOjB,KAAA,KAAU,WAAYkB,MAAA,CAAOC,SAAA,CAAUnB,KAAK,IAAI,QAAQ,UAAW;MACrFoB,SAAA,EAAW;IACb;EACF,CAAC;AACH;AAqBO,SAASC,eACdC,UAAA,EACAC,OAAA,EACAC,OAAA,EACa;EACb,MAAMC,OAAA,GAAUH,UAAA,EAAYG,OAAA;EAC5B,MAAMC,IAAA,GAAOJ,UAAA,EAAYI,IAAA;EACzB,MAAM,CAACC,OAAA,EAASC,UAAU,IAAIhC,QAAA,CAG3B;EACH,MAAMU,GAAA,GAAM,GAAGmB,OAAA,IAAW,EAAE,KAASF,OAAO;EAC5C,MAAMM,KAAA,GAAQL,OAAA,IAAWM,OAAA,CAAQL,OAAO;EAExC/B,SAAA,CAAU,MAAM;IACd,IAAI,CAACmC,KAAA,IAAS,CAACJ,OAAA,EAAS;IACxB,IAAIM,SAAA,GAAY;IAChB,MAAMC,IAAA,GAAO,IAAIvC,UAAA,CAAWgC,OAAA,EAASC,IAA8B;IACnE,MAAM,YAAY;MAChB,IAAIO,MAAA;MACJ,IAAI;QACF,MAAMC,QAAA,GAAW,MAAMF,IAAA,CAAKG,GAAA,CAC1B,iBAAiBC,kBAAA,CAAmBb,OAAO,CAAC,IAC5C;UAAEU,MAAA,EAAQ,CAAC,GAAG;UAAGI,iBAAA,EAAmB;QAAE,CACxC;QACA,MAAMC,MAAA,GAASJ,QAAA,CAASK,OAAA,EAASC,IAAA,GAAO,CAAC;QACzCP,MAAA,GAASK,MAAA,GAASxB,gBAAA,CAAiBwB,MAAM,IAAI;MAC/C,QAAQ;QACNL,MAAA,GAAS;MACX;MACA,IAAI,CAACF,SAAA,EAAWH,UAAA,CAAW;QAAEtB,GAAA;QAAK2B;MAAO,CAAC;IAC5C,GAAG;IACH,OAAO,MAAM;MACXF,SAAA,GAAY;IACd;EACF,GAAG,CAACF,KAAA,EAAOJ,OAAA,EAASC,IAAA,EAAMH,OAAA,EAASjB,GAAG,CAAC;EAEvC,OAAOX,OAAA,CAAQ,MAAmB;IAChC,IAAI,CAACkC,KAAA,EAAO,OAAO;MAAEI,MAAA,EAAQ;MAAWQ,MAAA,EAAQ;IAAO;IACvD,IAAId,OAAA,EAASrB,GAAA,KAAQA,GAAA,EAAK,OAAO;MAAE2B,MAAA,EAAQ;MAAWQ,MAAA,EAAQ;IAAU;IACxE,OAAOd,OAAA,CAAQM,MAAA,IAAUN,OAAA,CAAQM,MAAA,CAAOS,MAAA,GAAS,IAC7C;MAAET,MAAA,EAAQN,OAAA,CAAQM,MAAA;MAAQQ,MAAA,EAAQ;IAAQ,IAC1C;MAAER,MAAA,EAAQ;MAAWQ,MAAA,EAAQ;IAAa;EAChD,GAAG,CAACZ,KAAA,EAAOF,OAAA,EAASrB,GAAG,CAAC;AAC1B","ignoreList":[]}
@@ -0,0 +1,83 @@
1
+ import { HttpClient } from "@multiplatform.one/frappe";
2
+ import { useEffect, useMemo, useState } from "react";
3
+ var recordBookkeepingKeys = /* @__PURE__ */new Set(["name", "owner", "creation", "modified", "modified_by", "docstatus", "idx", "doctype", "_user_tags", "_comments", "_assign", "_liked_by", "_seen"]);
4
+ function isFieldValue(value) {
5
+ return value === null || typeof value === "string" || typeof value === "number";
6
+ }
7
+ function recordFieldKeys(record) {
8
+ return Object.entries(record).filter(function (param) {
9
+ var [key, value] = param;
10
+ return !key.startsWith("$") && !recordBookkeepingKeys.has(key) && isFieldValue(value);
11
+ }).map(function (param) {
12
+ var [key] = param;
13
+ return key;
14
+ });
15
+ }
16
+ function recordKeyLabel(key) {
17
+ return key.replace(/_/g, " ").replace(/(^|\s)\S/g, function (c) {
18
+ return c.toUpperCase();
19
+ });
20
+ }
21
+ function fieldsFromRecord(record) {
22
+ return recordFieldKeys(record).map(function (key) {
23
+ var value = record[key];
24
+ return {
25
+ fieldname: key,
26
+ label: recordKeyLabel(key),
27
+ fieldtype: typeof value === "number" ? Number.isInteger(value) ? "Int" : "Float" : "Data",
28
+ read_only: 1
29
+ };
30
+ });
31
+ }
32
+ function useRecordShape(connection, doctype, enabled) {
33
+ var baseURL = connection === null || connection === void 0 ? void 0 : connection.baseURL;
34
+ var auth = connection === null || connection === void 0 ? void 0 : connection.auth;
35
+ var [sampled, setSampled] = useState();
36
+ var key = `${baseURL !== null && baseURL !== void 0 ? baseURL : ""}\0${doctype}`;
37
+ var reads = enabled && Boolean(baseURL);
38
+ useEffect(function () {
39
+ if (!reads || !baseURL) return;
40
+ var cancelled = false;
41
+ var http = new HttpClient(baseURL, auth);
42
+ void async function () {
43
+ var fields;
44
+ try {
45
+ var _response_payload_data, _response_payload;
46
+ var response = await http.get(`/api/resource/${encodeURIComponent(doctype)}`, {
47
+ fields: ["*"],
48
+ limit_page_length: 1
49
+ });
50
+ var sample = (_response_payload = response.payload) === null || _response_payload === void 0 ? void 0 : (_response_payload_data = _response_payload.data) === null || _response_payload_data === void 0 ? void 0 : _response_payload_data[0];
51
+ fields = sample ? fieldsFromRecord(sample) : void 0;
52
+ } catch (unused) {
53
+ fields = void 0;
54
+ }
55
+ if (!cancelled) setSampled({
56
+ key,
57
+ fields
58
+ });
59
+ }();
60
+ return function () {
61
+ cancelled = true;
62
+ };
63
+ }, [reads, baseURL, auth, doctype, key]);
64
+ return useMemo(function () {
65
+ if (!reads) return {
66
+ fields: void 0,
67
+ status: "idle"
68
+ };
69
+ if ((sampled === null || sampled === void 0 ? void 0 : sampled.key) !== key) return {
70
+ fields: void 0,
71
+ status: "pending"
72
+ };
73
+ return sampled.fields && sampled.fields.length > 0 ? {
74
+ fields: sampled.fields,
75
+ status: "ready"
76
+ } : {
77
+ fields: void 0,
78
+ status: "unreadable"
79
+ };
80
+ }, [reads, sampled, key]);
81
+ }
82
+ export { fieldsFromRecord, recordBookkeepingKeys, recordFieldKeys, recordKeyLabel, useRecordShape };
83
+ //# sourceMappingURL=recordShape.native.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["HttpClient","useEffect","useMemo","useState","recordBookkeepingKeys","Set","isFieldValue","value","recordFieldKeys","record","Object","entries","filter","param","key","startsWith","has","map","recordKeyLabel","replace","c","toUpperCase","fieldsFromRecord","fieldname","label","fieldtype","Number","isInteger","read_only","useRecordShape","connection","doctype","enabled","baseURL","auth","sampled","setSampled","reads","Boolean","cancelled","http","fields","_response_payload_data","_response_payload","response","get","encodeURIComponent","limit_page_length","sample","payload","data","unused"],"sources":["../../src/recordShape.ts"],"sourcesContent":[null],"mappings":"AAUA,SAASA,UAAA,QAAsD;AAC/D,SAASC,SAAA,EAAWC,OAAA,EAASC,QAAA,QAAgB;AAGtC,IAAAC,qBAAM,kBAA6C,IAAAC,GAAI,EAC5D,QACA,SACA,YACA,YACA,eACA,aACA,OACA,WACA,cACA,aACA,WACA,aACA,QACD;AAED,SAASC,aAAaC,KAAA,EAAiD;EACrE,OAAOA,KAAA,KAAU,QAAQ,OAAOA,KAAA,KAAU,YAAY,OAAOA,KAAA,KAAU;AACzE;AAOO,SAASC,gBAAgBC,MAAA,EAA2C;EACzE,OAAOC,MAAA,CAAOC,OAAA,CAAQF,MAAM,EACzBG,MAAA,WAAAC,KAAA;IACC,IAAE,CAAAC,GAAK,EAAAP,KAAK,IACTM,KAAI;IAER,OAAM,CAAAC,GAAG,CAAAC,UAAS,UAAAX,qBAAA,CAAAY,GAAA,CAAAF,GAAA,KAAAR,YAAA,CAAAC,KAAA;EACvB,GAAAU,GAAA,WAAAJ,KAAA;IAGO,KAASC,GAAA,IAAAD,KAAA;IACd,OAAOC,GAAI;EACb;AAMO;AACL,SAAOI,eAAAJ,GAAgB;EACrB,OAAAA,GAAM,CAAAK,OAAQ,KAAO,KAAG,EAAAA,OAAA,wBAAAC,CAAA;IACxB,OAAOA,CAAA,CAAAC,WAAA;EAAA;AACM;AACc,SACzBC,gBAAkBA,CAAAb,MAAA,EAAU;EAAyD,OACrFD,eAAW,CAAAC,MAAA,EAAAQ,GAAA,WAAAH,GAAA;IACb,IAAAP,KAAA,GAAAE,MAAA,CAAAK,GAAA;IACD;MACHS,SAAA,EAAAT,GAAA;MAqBOU,KAAS,EAAAN,cACd,CAAAJ,GAAA;MAIAW,SAAM,SAAUlB,KAAA,KAAY,WAAAmB,MAAA,CAAAC,SAAA,CAAApB,KAAA;MAC5BqB,SAAa;IACb;EAIA;AACA;AAEA,SAAAC,cAAgBA,CAAAC,UAAA,EAAAC,OAAA,EAAAC,OAAA;EACd,IAAAC,OAAK,GAAAH,UAAU,KAAS,QAAAA,UAAA,uBAAAA,UAAA,CAAAG,OAAA;EACxB,IAAAC,IAAI,GAAAJ,UAAY,aAAAA,UAAA,uBAAAA,UAAA,CAAAI,IAAA;EAChB,KAAAC,OAAM,EAAAC,UAAW,IAAAjC,QAAW;EAC5B,IAAAW,GAAA,GAAM,GAAAmB,OAAY,aAAAA,OAAA,cAAAA,OAAA,UAAAF,OAAA;EAChB,IAAAM,KAAI,GAAAL,OAAA,IAAAM,OAAA,CAAAL,OAAA;EACJhC,SAAI;IACF,KAAAoC,KAAM,KAAAJ,OAAW;IAAW,IAAAM,SAC1B;IAA4C,IAAAC,IAC1C,OAAAxC,UAAe,CAAAiC,OAAA,EAAAC,IAAA;IAAqB,KACxC;MACA,IAAAO,MAAM;MACN;QACF,IAAAC,sBAAQ,EAAAC,iBAAA;QACN,IAAAC,QAAS,SAAAJ,IAAA,CAAAK,GAAA,kBAAAC,kBAAA,CAAAf,OAAA;UACXU,MAAA,GACK,IACJ;UACHM,iBAAa;QACX;QACF,IAAAC,MAAA,IAAAL,iBAAA,GAAAC,QAAA,CAAAK,OAAA,cAAAN,iBAAA,wBAAAD,sBAAA,GAAAC,iBAAA,CAAAO,IAAA,cAAAR,sBAAA,uBAAAA,sBAAA;QACED,MAAO,GAAAO,MAAS,GAAA1B,gBAAmB,CAAA0B,MAAA;MAEvC,SAAOG,MAAQ,EAAmB;QAC5BV,MAAC,GAAO,MAAO;MACnB;MACA,KAAOF,SAAQ,EAAAH,UAAU;QAGvBtB,GAAA;QACN2B","ignoreList":[]}