@multiplatform.one/frappe-ui 6.0.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 (883) hide show
  1. package/LICENSE +201 -0
  2. package/dist/cjs/FormSidebar.cjs +178 -0
  3. package/dist/cjs/FormSidebar.native.js +194 -0
  4. package/dist/cjs/FormSidebar.native.js.map +1 -0
  5. package/dist/cjs/FrappeCalendar.cjs +174 -0
  6. package/dist/cjs/FrappeCalendar.native.js +203 -0
  7. package/dist/cjs/FrappeCalendar.native.js.map +1 -0
  8. package/dist/cjs/FrappeCalendar.stories.cjs +252 -0
  9. package/dist/cjs/FrappeCalendar.stories.native.js +271 -0
  10. package/dist/cjs/FrappeCalendar.stories.native.js.map +1 -0
  11. package/dist/cjs/FrappeDashboard.cjs +163 -0
  12. package/dist/cjs/FrappeDashboard.native.js +190 -0
  13. package/dist/cjs/FrappeDashboard.native.js.map +1 -0
  14. package/dist/cjs/FrappeDashboard.stories.cjs +231 -0
  15. package/dist/cjs/FrappeDashboard.stories.native.js +240 -0
  16. package/dist/cjs/FrappeDashboard.stories.native.js.map +1 -0
  17. package/dist/cjs/FrappeForm.cjs +410 -0
  18. package/dist/cjs/FrappeForm.native.js +471 -0
  19. package/dist/cjs/FrappeForm.native.js.map +1 -0
  20. package/dist/cjs/FrappeForm.stories.cjs +254 -0
  21. package/dist/cjs/FrappeForm.stories.native.js +304 -0
  22. package/dist/cjs/FrappeForm.stories.native.js.map +1 -0
  23. package/dist/cjs/FrappeImageView.cjs +301 -0
  24. package/dist/cjs/FrappeImageView.native.js +332 -0
  25. package/dist/cjs/FrappeImageView.native.js.map +1 -0
  26. package/dist/cjs/FrappeKanban.cjs +147 -0
  27. package/dist/cjs/FrappeKanban.native.js +206 -0
  28. package/dist/cjs/FrappeKanban.native.js.map +1 -0
  29. package/dist/cjs/FrappeKanban.stories.cjs +220 -0
  30. package/dist/cjs/FrappeKanban.stories.native.js +229 -0
  31. package/dist/cjs/FrappeKanban.stories.native.js.map +1 -0
  32. package/dist/cjs/FrappeList.cjs +81 -0
  33. package/dist/cjs/FrappeList.native.js +85 -0
  34. package/dist/cjs/FrappeList.native.js.map +1 -0
  35. package/dist/cjs/FrappeList.stories.cjs +245 -0
  36. package/dist/cjs/FrappeList.stories.native.js +262 -0
  37. package/dist/cjs/FrappeList.stories.native.js.map +1 -0
  38. package/dist/cjs/FrappeListView.cjs +363 -0
  39. package/dist/cjs/FrappeListView.native.js +402 -0
  40. package/dist/cjs/FrappeListView.native.js.map +1 -0
  41. package/dist/cjs/FrappeProvider.cjs +69 -0
  42. package/dist/cjs/FrappeProvider.native.js +75 -0
  43. package/dist/cjs/FrappeProvider.native.js.map +1 -0
  44. package/dist/cjs/FrappeReportBuilder.cjs +351 -0
  45. package/dist/cjs/FrappeReportBuilder.native.js +415 -0
  46. package/dist/cjs/FrappeReportBuilder.native.js.map +1 -0
  47. package/dist/cjs/FrappeTable.cjs +328 -0
  48. package/dist/cjs/FrappeTable.native.js +403 -0
  49. package/dist/cjs/FrappeTable.native.js.map +1 -0
  50. package/dist/cjs/FrappeTable.stories.cjs +232 -0
  51. package/dist/cjs/FrappeTable.stories.native.js +244 -0
  52. package/dist/cjs/FrappeTable.stories.native.js.map +1 -0
  53. package/dist/cjs/FrappeTreeView.cjs +277 -0
  54. package/dist/cjs/FrappeTreeView.native.js +337 -0
  55. package/dist/cjs/FrappeTreeView.native.js.map +1 -0
  56. package/dist/cjs/components/attachments.cjs +72 -0
  57. package/dist/cjs/components/attachments.native.js +80 -0
  58. package/dist/cjs/components/attachments.native.js.map +1 -0
  59. package/dist/cjs/components/tags.cjs +88 -0
  60. package/dist/cjs/components/tags.native.js +106 -0
  61. package/dist/cjs/components/tags.native.js.map +1 -0
  62. package/dist/cjs/components/timeline.cjs +170 -0
  63. package/dist/cjs/components/timeline.native.js +196 -0
  64. package/dist/cjs/components/timeline.native.js.map +1 -0
  65. package/dist/cjs/desk/DeskFormPage.cjs +113 -0
  66. package/dist/cjs/desk/DeskFormPage.native.js +134 -0
  67. package/dist/cjs/desk/DeskFormPage.native.js.map +1 -0
  68. package/dist/cjs/desk/DeskListPage.cjs +103 -0
  69. package/dist/cjs/desk/DeskListPage.native.js +121 -0
  70. package/dist/cjs/desk/DeskListPage.native.js.map +1 -0
  71. package/dist/cjs/desk/DeskShell.cjs +107 -0
  72. package/dist/cjs/desk/DeskShell.native.js +125 -0
  73. package/dist/cjs/desk/DeskShell.native.js.map +1 -0
  74. package/dist/cjs/desk/DeskSidebar.cjs +149 -0
  75. package/dist/cjs/desk/DeskSidebar.native.js +201 -0
  76. package/dist/cjs/desk/DeskSidebar.native.js.map +1 -0
  77. package/dist/cjs/desk/awesomebar.cjs +276 -0
  78. package/dist/cjs/desk/awesomebar.native.js +357 -0
  79. package/dist/cjs/desk/awesomebar.native.js.map +1 -0
  80. package/dist/cjs/fieldRegistry.cjs +454 -0
  81. package/dist/cjs/fieldRegistry.native.js +497 -0
  82. package/dist/cjs/fieldRegistry.native.js.map +1 -0
  83. package/dist/cjs/fields/Barcode/index.cjs +75 -0
  84. package/dist/cjs/fields/Barcode/index.native.js +78 -0
  85. package/dist/cjs/fields/Barcode/index.native.js.map +1 -0
  86. package/dist/cjs/fields/Check/Check.stories.cjs +114 -0
  87. package/dist/cjs/fields/Check/Check.stories.native.js +121 -0
  88. package/dist/cjs/fields/Check/Check.stories.native.js.map +1 -0
  89. package/dist/cjs/fields/Check/index.cjs +64 -0
  90. package/dist/cjs/fields/Check/index.native.js +69 -0
  91. package/dist/cjs/fields/Check/index.native.js.map +1 -0
  92. package/dist/cjs/fields/Color/Color.stories.cjs +131 -0
  93. package/dist/cjs/fields/Color/Color.stories.native.js +138 -0
  94. package/dist/cjs/fields/Color/Color.stories.native.js.map +1 -0
  95. package/dist/cjs/fields/Color/index.cjs +70 -0
  96. package/dist/cjs/fields/Color/index.native.js +73 -0
  97. package/dist/cjs/fields/Color/index.native.js.map +1 -0
  98. package/dist/cjs/fields/Data/Data.stories.cjs +133 -0
  99. package/dist/cjs/fields/Data/Data.stories.native.js +140 -0
  100. package/dist/cjs/fields/Data/Data.stories.native.js.map +1 -0
  101. package/dist/cjs/fields/Data/index.cjs +71 -0
  102. package/dist/cjs/fields/Data/index.native.js +74 -0
  103. package/dist/cjs/fields/Data/index.native.js.map +1 -0
  104. package/dist/cjs/fields/Date/Date.stories.cjs +244 -0
  105. package/dist/cjs/fields/Date/Date.stories.native.js +267 -0
  106. package/dist/cjs/fields/Date/Date.stories.native.js.map +1 -0
  107. package/dist/cjs/fields/Date/date.native.js +314 -0
  108. package/dist/cjs/fields/Date/date.native.js.map +1 -0
  109. package/dist/cjs/fields/Date/index.cjs +65 -0
  110. package/dist/cjs/fields/Date/index.native.js +68 -0
  111. package/dist/cjs/fields/Date/index.native.js.map +1 -0
  112. package/dist/cjs/fields/DateRange/index.cjs +61 -0
  113. package/dist/cjs/fields/DateRange/index.native.js +64 -0
  114. package/dist/cjs/fields/DateRange/index.native.js.map +1 -0
  115. package/dist/cjs/fields/Duration/index.cjs +40 -0
  116. package/dist/cjs/fields/Duration/index.native.js +43 -0
  117. package/dist/cjs/fields/Duration/index.native.js.map +1 -0
  118. package/dist/cjs/fields/DynamicLink.cjs +152 -0
  119. package/dist/cjs/fields/DynamicLink.native.js +172 -0
  120. package/dist/cjs/fields/DynamicLink.native.js.map +1 -0
  121. package/dist/cjs/fields/FileUpload.cjs +188 -0
  122. package/dist/cjs/fields/FileUpload.native.js +203 -0
  123. package/dist/cjs/fields/FileUpload.native.js.map +1 -0
  124. package/dist/cjs/fields/FileUploadField/index.cjs +65 -0
  125. package/dist/cjs/fields/FileUploadField/index.native.js +68 -0
  126. package/dist/cjs/fields/FileUploadField/index.native.js.map +1 -0
  127. package/dist/cjs/fields/Geolocation/index.cjs +66 -0
  128. package/dist/cjs/fields/Geolocation/index.native.js +69 -0
  129. package/dist/cjs/fields/Geolocation/index.native.js.map +1 -0
  130. package/dist/cjs/fields/HTML/index.cjs +82 -0
  131. package/dist/cjs/fields/HTML/index.native.js +89 -0
  132. package/dist/cjs/fields/HTML/index.native.js.map +1 -0
  133. package/dist/cjs/fields/Heading/Heading.stories.cjs +183 -0
  134. package/dist/cjs/fields/Heading/Heading.stories.native.js +196 -0
  135. package/dist/cjs/fields/Heading/Heading.stories.native.js.map +1 -0
  136. package/dist/cjs/fields/Heading/index.cjs +112 -0
  137. package/dist/cjs/fields/Heading/index.native.js +117 -0
  138. package/dist/cjs/fields/Heading/index.native.js.map +1 -0
  139. package/dist/cjs/fields/Link.cjs +269 -0
  140. package/dist/cjs/fields/Link.native.js +285 -0
  141. package/dist/cjs/fields/Link.native.js.map +1 -0
  142. package/dist/cjs/fields/LongText/index.cjs +70 -0
  143. package/dist/cjs/fields/LongText/index.native.js +73 -0
  144. package/dist/cjs/fields/LongText/index.native.js.map +1 -0
  145. package/dist/cjs/fields/MentionInput/index.cjs +63 -0
  146. package/dist/cjs/fields/MentionInput/index.native.js +66 -0
  147. package/dist/cjs/fields/MentionInput/index.native.js.map +1 -0
  148. package/dist/cjs/fields/Numeric/Numeric.stories.cjs +163 -0
  149. package/dist/cjs/fields/Numeric/Numeric.stories.native.js +170 -0
  150. package/dist/cjs/fields/Numeric/Numeric.stories.native.js.map +1 -0
  151. package/dist/cjs/fields/Numeric/index.cjs +80 -0
  152. package/dist/cjs/fields/Numeric/index.native.js +83 -0
  153. package/dist/cjs/fields/Numeric/index.native.js.map +1 -0
  154. package/dist/cjs/fields/OTPInput/index.cjs +68 -0
  155. package/dist/cjs/fields/OTPInput/index.native.js +71 -0
  156. package/dist/cjs/fields/OTPInput/index.native.js.map +1 -0
  157. package/dist/cjs/fields/Password/index.cjs +67 -0
  158. package/dist/cjs/fields/Password/index.native.js +70 -0
  159. package/dist/cjs/fields/Password/index.native.js.map +1 -0
  160. package/dist/cjs/fields/Phone/index.cjs +67 -0
  161. package/dist/cjs/fields/Phone/index.native.js +70 -0
  162. package/dist/cjs/fields/Phone/index.native.js.map +1 -0
  163. package/dist/cjs/fields/Progress/index.cjs +60 -0
  164. package/dist/cjs/fields/Progress/index.native.js +63 -0
  165. package/dist/cjs/fields/Progress/index.native.js.map +1 -0
  166. package/dist/cjs/fields/RadioGroup/index.cjs +70 -0
  167. package/dist/cjs/fields/RadioGroup/index.native.js +73 -0
  168. package/dist/cjs/fields/RadioGroup/index.native.js.map +1 -0
  169. package/dist/cjs/fields/Rating/index.cjs +66 -0
  170. package/dist/cjs/fields/Rating/index.native.js +69 -0
  171. package/dist/cjs/fields/Rating/index.native.js.map +1 -0
  172. package/dist/cjs/fields/ReadOnly/ReadOnly.stories.cjs +185 -0
  173. package/dist/cjs/fields/ReadOnly/ReadOnly.stories.native.js +192 -0
  174. package/dist/cjs/fields/ReadOnly/ReadOnly.stories.native.js.map +1 -0
  175. package/dist/cjs/fields/ReadOnly/index.cjs +242 -0
  176. package/dist/cjs/fields/ReadOnly/index.native.js +244 -0
  177. package/dist/cjs/fields/ReadOnly/index.native.js.map +1 -0
  178. package/dist/cjs/fields/Select/Select.stories.cjs +149 -0
  179. package/dist/cjs/fields/Select/Select.stories.native.js +157 -0
  180. package/dist/cjs/fields/Select/Select.stories.native.js.map +1 -0
  181. package/dist/cjs/fields/Select/index.cjs +70 -0
  182. package/dist/cjs/fields/Select/index.native.js +78 -0
  183. package/dist/cjs/fields/Select/index.native.js.map +1 -0
  184. package/dist/cjs/fields/Signature/index.cjs +74 -0
  185. package/dist/cjs/fields/Signature/index.native.js +77 -0
  186. package/dist/cjs/fields/Signature/index.native.js.map +1 -0
  187. package/dist/cjs/fields/Slider/index.cjs +70 -0
  188. package/dist/cjs/fields/Slider/index.native.js +75 -0
  189. package/dist/cjs/fields/Slider/index.native.js.map +1 -0
  190. package/dist/cjs/fields/SmallText/index.cjs +69 -0
  191. package/dist/cjs/fields/SmallText/index.native.js +72 -0
  192. package/dist/cjs/fields/SmallText/index.native.js.map +1 -0
  193. package/dist/cjs/fields/Switch/index.cjs +64 -0
  194. package/dist/cjs/fields/Switch/index.native.js +69 -0
  195. package/dist/cjs/fields/Switch/index.native.js.map +1 -0
  196. package/dist/cjs/fields/TableMultiSelect.cjs +168 -0
  197. package/dist/cjs/fields/TableMultiSelect.native.js +202 -0
  198. package/dist/cjs/fields/TableMultiSelect.native.js.map +1 -0
  199. package/dist/cjs/fields/TextEditor/index.cjs +280 -0
  200. package/dist/cjs/fields/TextEditor/index.native.js +61 -0
  201. package/dist/cjs/fields/TextEditor/index.native.js.map +1 -0
  202. package/dist/cjs/fields/TextEditor/tiptap.css +109 -0
  203. package/dist/cjs/fields/TextEditor/tiptap.css.map +6 -0
  204. package/dist/cjs/fields/TextEditor/types.cjs +18 -0
  205. package/dist/cjs/fields/TextEditor/types.native.js +21 -0
  206. package/dist/cjs/fields/TextEditor/types.native.js.map +1 -0
  207. package/dist/cjs/fields/TimePicker/index.cjs +40 -0
  208. package/dist/cjs/fields/TimePicker/index.native.js +43 -0
  209. package/dist/cjs/fields/TimePicker/index.native.js.map +1 -0
  210. package/dist/cjs/fields/ToggleGroup/index.cjs +70 -0
  211. package/dist/cjs/fields/ToggleGroup/index.native.js +73 -0
  212. package/dist/cjs/fields/ToggleGroup/index.native.js.map +1 -0
  213. package/dist/cjs/index.cjs +145 -0
  214. package/dist/cjs/index.native.js +148 -0
  215. package/dist/cjs/index.native.js.map +1 -0
  216. package/dist/cjs/schemaForm/index.cjs +201 -0
  217. package/dist/cjs/schemaForm/index.native.js +243 -0
  218. package/dist/cjs/schemaForm/index.native.js.map +1 -0
  219. package/dist/cjs/useFrappePagination.cjs +61 -0
  220. package/dist/cjs/useFrappePagination.native.js +73 -0
  221. package/dist/cjs/useFrappePagination.native.js.map +1 -0
  222. package/dist/esm/FormSidebar.mjs +142 -0
  223. package/dist/esm/FormSidebar.mjs.map +1 -0
  224. package/dist/esm/FormSidebar.native.js +155 -0
  225. package/dist/esm/FormSidebar.native.js.map +1 -0
  226. package/dist/esm/FrappeCalendar.mjs +149 -0
  227. package/dist/esm/FrappeCalendar.mjs.map +1 -0
  228. package/dist/esm/FrappeCalendar.native.js +164 -0
  229. package/dist/esm/FrappeCalendar.native.js.map +1 -0
  230. package/dist/esm/FrappeCalendar.stories.mjs +221 -0
  231. package/dist/esm/FrappeCalendar.stories.mjs.map +1 -0
  232. package/dist/esm/FrappeCalendar.stories.native.js +237 -0
  233. package/dist/esm/FrappeCalendar.stories.native.js.map +1 -0
  234. package/dist/esm/FrappeDashboard.mjs +133 -0
  235. package/dist/esm/FrappeDashboard.mjs.map +1 -0
  236. package/dist/esm/FrappeDashboard.native.js +146 -0
  237. package/dist/esm/FrappeDashboard.native.js.map +1 -0
  238. package/dist/esm/FrappeDashboard.stories.mjs +203 -0
  239. package/dist/esm/FrappeDashboard.stories.mjs.map +1 -0
  240. package/dist/esm/FrappeDashboard.stories.native.js +209 -0
  241. package/dist/esm/FrappeDashboard.stories.native.js.map +1 -0
  242. package/dist/esm/FrappeForm.mjs +385 -0
  243. package/dist/esm/FrappeForm.mjs.map +1 -0
  244. package/dist/esm/FrappeForm.native.js +443 -0
  245. package/dist/esm/FrappeForm.native.js.map +1 -0
  246. package/dist/esm/FrappeForm.stories.mjs +226 -0
  247. package/dist/esm/FrappeForm.stories.mjs.map +1 -0
  248. package/dist/esm/FrappeForm.stories.native.js +273 -0
  249. package/dist/esm/FrappeForm.stories.native.js.map +1 -0
  250. package/dist/esm/FrappeImageView.mjs +275 -0
  251. package/dist/esm/FrappeImageView.mjs.map +1 -0
  252. package/dist/esm/FrappeImageView.native.js +292 -0
  253. package/dist/esm/FrappeImageView.native.js.map +1 -0
  254. package/dist/esm/FrappeKanban.mjs +122 -0
  255. package/dist/esm/FrappeKanban.mjs.map +1 -0
  256. package/dist/esm/FrappeKanban.native.js +167 -0
  257. package/dist/esm/FrappeKanban.native.js.map +1 -0
  258. package/dist/esm/FrappeKanban.stories.mjs +192 -0
  259. package/dist/esm/FrappeKanban.stories.mjs.map +1 -0
  260. package/dist/esm/FrappeKanban.stories.native.js +198 -0
  261. package/dist/esm/FrappeKanban.stories.native.js.map +1 -0
  262. package/dist/esm/FrappeList.mjs +56 -0
  263. package/dist/esm/FrappeList.mjs.map +1 -0
  264. package/dist/esm/FrappeList.native.js +57 -0
  265. package/dist/esm/FrappeList.native.js.map +1 -0
  266. package/dist/esm/FrappeList.stories.mjs +217 -0
  267. package/dist/esm/FrappeList.stories.mjs.map +1 -0
  268. package/dist/esm/FrappeList.stories.native.js +231 -0
  269. package/dist/esm/FrappeList.stories.native.js.map +1 -0
  270. package/dist/esm/FrappeListView.mjs +338 -0
  271. package/dist/esm/FrappeListView.mjs.map +1 -0
  272. package/dist/esm/FrappeListView.native.js +363 -0
  273. package/dist/esm/FrappeListView.native.js.map +1 -0
  274. package/dist/esm/FrappeProvider.mjs +31 -0
  275. package/dist/esm/FrappeProvider.mjs.map +1 -0
  276. package/dist/esm/FrappeProvider.native.js +34 -0
  277. package/dist/esm/FrappeProvider.native.js.map +1 -0
  278. package/dist/esm/FrappeReportBuilder.mjs +326 -0
  279. package/dist/esm/FrappeReportBuilder.mjs.map +1 -0
  280. package/dist/esm/FrappeReportBuilder.native.js +376 -0
  281. package/dist/esm/FrappeReportBuilder.native.js.map +1 -0
  282. package/dist/esm/FrappeTable.mjs +292 -0
  283. package/dist/esm/FrappeTable.mjs.map +1 -0
  284. package/dist/esm/FrappeTable.native.js +364 -0
  285. package/dist/esm/FrappeTable.native.js.map +1 -0
  286. package/dist/esm/FrappeTable.stories.mjs +203 -0
  287. package/dist/esm/FrappeTable.stories.mjs.map +1 -0
  288. package/dist/esm/FrappeTable.stories.native.js +212 -0
  289. package/dist/esm/FrappeTable.stories.native.js.map +1 -0
  290. package/dist/esm/FrappeTreeView.mjs +252 -0
  291. package/dist/esm/FrappeTreeView.mjs.map +1 -0
  292. package/dist/esm/FrappeTreeView.native.js +298 -0
  293. package/dist/esm/FrappeTreeView.native.js.map +1 -0
  294. package/dist/esm/components/attachments.mjs +47 -0
  295. package/dist/esm/components/attachments.mjs.map +1 -0
  296. package/dist/esm/components/attachments.native.js +52 -0
  297. package/dist/esm/components/attachments.native.js.map +1 -0
  298. package/dist/esm/components/tags.mjs +63 -0
  299. package/dist/esm/components/tags.mjs.map +1 -0
  300. package/dist/esm/components/tags.native.js +78 -0
  301. package/dist/esm/components/tags.native.js.map +1 -0
  302. package/dist/esm/components/timeline.mjs +145 -0
  303. package/dist/esm/components/timeline.mjs.map +1 -0
  304. package/dist/esm/components/timeline.native.js +168 -0
  305. package/dist/esm/components/timeline.native.js.map +1 -0
  306. package/dist/esm/desk/DeskFormPage.mjs +88 -0
  307. package/dist/esm/desk/DeskFormPage.mjs.map +1 -0
  308. package/dist/esm/desk/DeskFormPage.native.js +95 -0
  309. package/dist/esm/desk/DeskFormPage.native.js.map +1 -0
  310. package/dist/esm/desk/DeskListPage.mjs +78 -0
  311. package/dist/esm/desk/DeskListPage.mjs.map +1 -0
  312. package/dist/esm/desk/DeskListPage.native.js +82 -0
  313. package/dist/esm/desk/DeskListPage.native.js.map +1 -0
  314. package/dist/esm/desk/DeskShell.mjs +82 -0
  315. package/dist/esm/desk/DeskShell.mjs.map +1 -0
  316. package/dist/esm/desk/DeskShell.native.js +97 -0
  317. package/dist/esm/desk/DeskShell.native.js.map +1 -0
  318. package/dist/esm/desk/DeskSidebar.mjs +121 -0
  319. package/dist/esm/desk/DeskSidebar.mjs.map +1 -0
  320. package/dist/esm/desk/DeskSidebar.native.js +159 -0
  321. package/dist/esm/desk/DeskSidebar.native.js.map +1 -0
  322. package/dist/esm/desk/awesomebar.mjs +251 -0
  323. package/dist/esm/desk/awesomebar.mjs.map +1 -0
  324. package/dist/esm/desk/awesomebar.native.js +329 -0
  325. package/dist/esm/desk/awesomebar.native.js.map +1 -0
  326. package/dist/esm/fieldRegistry.mjs +416 -0
  327. package/dist/esm/fieldRegistry.mjs.map +1 -0
  328. package/dist/esm/fieldRegistry.native.js +456 -0
  329. package/dist/esm/fieldRegistry.native.js.map +1 -0
  330. package/dist/esm/fields/Barcode/index.mjs +50 -0
  331. package/dist/esm/fields/Barcode/index.mjs.map +1 -0
  332. package/dist/esm/fields/Barcode/index.native.js +50 -0
  333. package/dist/esm/fields/Barcode/index.native.js.map +1 -0
  334. package/dist/esm/fields/Check/Check.stories.mjs +87 -0
  335. package/dist/esm/fields/Check/Check.stories.mjs.map +1 -0
  336. package/dist/esm/fields/Check/Check.stories.native.js +91 -0
  337. package/dist/esm/fields/Check/Check.stories.native.js.map +1 -0
  338. package/dist/esm/fields/Check/index.mjs +39 -0
  339. package/dist/esm/fields/Check/index.mjs.map +1 -0
  340. package/dist/esm/fields/Check/index.native.js +41 -0
  341. package/dist/esm/fields/Check/index.native.js.map +1 -0
  342. package/dist/esm/fields/Color/Color.stories.mjs +104 -0
  343. package/dist/esm/fields/Color/Color.stories.mjs.map +1 -0
  344. package/dist/esm/fields/Color/Color.stories.native.js +108 -0
  345. package/dist/esm/fields/Color/Color.stories.native.js.map +1 -0
  346. package/dist/esm/fields/Color/index.mjs +45 -0
  347. package/dist/esm/fields/Color/index.mjs.map +1 -0
  348. package/dist/esm/fields/Color/index.native.js +45 -0
  349. package/dist/esm/fields/Color/index.native.js.map +1 -0
  350. package/dist/esm/fields/Data/Data.stories.mjs +106 -0
  351. package/dist/esm/fields/Data/Data.stories.mjs.map +1 -0
  352. package/dist/esm/fields/Data/Data.stories.native.js +110 -0
  353. package/dist/esm/fields/Data/Data.stories.native.js.map +1 -0
  354. package/dist/esm/fields/Data/index.mjs +46 -0
  355. package/dist/esm/fields/Data/index.mjs.map +1 -0
  356. package/dist/esm/fields/Data/index.native.js +46 -0
  357. package/dist/esm/fields/Data/index.native.js.map +1 -0
  358. package/dist/esm/fields/Date/Date.stories.mjs +209 -0
  359. package/dist/esm/fields/Date/Date.stories.mjs.map +1 -0
  360. package/dist/esm/fields/Date/Date.stories.native.js +229 -0
  361. package/dist/esm/fields/Date/Date.stories.native.js.map +1 -0
  362. package/dist/esm/fields/Date/date.native.js +275 -0
  363. package/dist/esm/fields/Date/date.native.js.map +1 -0
  364. package/dist/esm/fields/Date/index.mjs +40 -0
  365. package/dist/esm/fields/Date/index.mjs.map +1 -0
  366. package/dist/esm/fields/Date/index.native.js +40 -0
  367. package/dist/esm/fields/Date/index.native.js.map +1 -0
  368. package/dist/esm/fields/DateRange/index.mjs +36 -0
  369. package/dist/esm/fields/DateRange/index.mjs.map +1 -0
  370. package/dist/esm/fields/DateRange/index.native.js +36 -0
  371. package/dist/esm/fields/DateRange/index.native.js.map +1 -0
  372. package/dist/esm/fields/Duration/index.mjs +15 -0
  373. package/dist/esm/fields/Duration/index.mjs.map +1 -0
  374. package/dist/esm/fields/Duration/index.native.js +15 -0
  375. package/dist/esm/fields/Duration/index.native.js.map +1 -0
  376. package/dist/esm/fields/DynamicLink.mjs +127 -0
  377. package/dist/esm/fields/DynamicLink.mjs.map +1 -0
  378. package/dist/esm/fields/DynamicLink.native.js +133 -0
  379. package/dist/esm/fields/DynamicLink.native.js.map +1 -0
  380. package/dist/esm/fields/FileUpload.mjs +163 -0
  381. package/dist/esm/fields/FileUpload.mjs.map +1 -0
  382. package/dist/esm/fields/FileUpload.native.js +175 -0
  383. package/dist/esm/fields/FileUpload.native.js.map +1 -0
  384. package/dist/esm/fields/FileUploadField/index.mjs +40 -0
  385. package/dist/esm/fields/FileUploadField/index.mjs.map +1 -0
  386. package/dist/esm/fields/FileUploadField/index.native.js +40 -0
  387. package/dist/esm/fields/FileUploadField/index.native.js.map +1 -0
  388. package/dist/esm/fields/Geolocation/index.mjs +41 -0
  389. package/dist/esm/fields/Geolocation/index.mjs.map +1 -0
  390. package/dist/esm/fields/Geolocation/index.native.js +41 -0
  391. package/dist/esm/fields/Geolocation/index.native.js.map +1 -0
  392. package/dist/esm/fields/HTML/index.mjs +57 -0
  393. package/dist/esm/fields/HTML/index.mjs.map +1 -0
  394. package/dist/esm/fields/HTML/index.native.js +61 -0
  395. package/dist/esm/fields/HTML/index.native.js.map +1 -0
  396. package/dist/esm/fields/Heading/Heading.stories.mjs +155 -0
  397. package/dist/esm/fields/Heading/Heading.stories.mjs.map +1 -0
  398. package/dist/esm/fields/Heading/Heading.stories.native.js +165 -0
  399. package/dist/esm/fields/Heading/Heading.stories.native.js.map +1 -0
  400. package/dist/esm/fields/Heading/index.mjs +87 -0
  401. package/dist/esm/fields/Heading/index.mjs.map +1 -0
  402. package/dist/esm/fields/Heading/index.native.js +89 -0
  403. package/dist/esm/fields/Heading/index.native.js.map +1 -0
  404. package/dist/esm/fields/Link.mjs +244 -0
  405. package/dist/esm/fields/Link.mjs.map +1 -0
  406. package/dist/esm/fields/Link.native.js +257 -0
  407. package/dist/esm/fields/Link.native.js.map +1 -0
  408. package/dist/esm/fields/LongText/index.mjs +45 -0
  409. package/dist/esm/fields/LongText/index.mjs.map +1 -0
  410. package/dist/esm/fields/LongText/index.native.js +45 -0
  411. package/dist/esm/fields/LongText/index.native.js.map +1 -0
  412. package/dist/esm/fields/MentionInput/index.mjs +38 -0
  413. package/dist/esm/fields/MentionInput/index.mjs.map +1 -0
  414. package/dist/esm/fields/MentionInput/index.native.js +38 -0
  415. package/dist/esm/fields/MentionInput/index.native.js.map +1 -0
  416. package/dist/esm/fields/Numeric/Numeric.stories.mjs +136 -0
  417. package/dist/esm/fields/Numeric/Numeric.stories.mjs.map +1 -0
  418. package/dist/esm/fields/Numeric/Numeric.stories.native.js +140 -0
  419. package/dist/esm/fields/Numeric/Numeric.stories.native.js.map +1 -0
  420. package/dist/esm/fields/Numeric/index.mjs +55 -0
  421. package/dist/esm/fields/Numeric/index.mjs.map +1 -0
  422. package/dist/esm/fields/Numeric/index.native.js +55 -0
  423. package/dist/esm/fields/Numeric/index.native.js.map +1 -0
  424. package/dist/esm/fields/OTPInput/index.mjs +43 -0
  425. package/dist/esm/fields/OTPInput/index.mjs.map +1 -0
  426. package/dist/esm/fields/OTPInput/index.native.js +43 -0
  427. package/dist/esm/fields/OTPInput/index.native.js.map +1 -0
  428. package/dist/esm/fields/Password/index.mjs +42 -0
  429. package/dist/esm/fields/Password/index.mjs.map +1 -0
  430. package/dist/esm/fields/Password/index.native.js +42 -0
  431. package/dist/esm/fields/Password/index.native.js.map +1 -0
  432. package/dist/esm/fields/Phone/index.mjs +42 -0
  433. package/dist/esm/fields/Phone/index.mjs.map +1 -0
  434. package/dist/esm/fields/Phone/index.native.js +42 -0
  435. package/dist/esm/fields/Phone/index.native.js.map +1 -0
  436. package/dist/esm/fields/Progress/index.mjs +35 -0
  437. package/dist/esm/fields/Progress/index.mjs.map +1 -0
  438. package/dist/esm/fields/Progress/index.native.js +35 -0
  439. package/dist/esm/fields/Progress/index.native.js.map +1 -0
  440. package/dist/esm/fields/RadioGroup/index.mjs +45 -0
  441. package/dist/esm/fields/RadioGroup/index.mjs.map +1 -0
  442. package/dist/esm/fields/RadioGroup/index.native.js +45 -0
  443. package/dist/esm/fields/RadioGroup/index.native.js.map +1 -0
  444. package/dist/esm/fields/Rating/index.mjs +41 -0
  445. package/dist/esm/fields/Rating/index.mjs.map +1 -0
  446. package/dist/esm/fields/Rating/index.native.js +41 -0
  447. package/dist/esm/fields/Rating/index.native.js.map +1 -0
  448. package/dist/esm/fields/ReadOnly/ReadOnly.stories.mjs +158 -0
  449. package/dist/esm/fields/ReadOnly/ReadOnly.stories.mjs.map +1 -0
  450. package/dist/esm/fields/ReadOnly/ReadOnly.stories.native.js +162 -0
  451. package/dist/esm/fields/ReadOnly/ReadOnly.stories.native.js.map +1 -0
  452. package/dist/esm/fields/ReadOnly/index.mjs +217 -0
  453. package/dist/esm/fields/ReadOnly/index.mjs.map +1 -0
  454. package/dist/esm/fields/ReadOnly/index.native.js +216 -0
  455. package/dist/esm/fields/ReadOnly/index.native.js.map +1 -0
  456. package/dist/esm/fields/Select/Select.stories.mjs +122 -0
  457. package/dist/esm/fields/Select/Select.stories.mjs.map +1 -0
  458. package/dist/esm/fields/Select/Select.stories.native.js +127 -0
  459. package/dist/esm/fields/Select/Select.stories.native.js.map +1 -0
  460. package/dist/esm/fields/Select/index.mjs +45 -0
  461. package/dist/esm/fields/Select/index.mjs.map +1 -0
  462. package/dist/esm/fields/Select/index.native.js +50 -0
  463. package/dist/esm/fields/Select/index.native.js.map +1 -0
  464. package/dist/esm/fields/Signature/index.mjs +49 -0
  465. package/dist/esm/fields/Signature/index.mjs.map +1 -0
  466. package/dist/esm/fields/Signature/index.native.js +49 -0
  467. package/dist/esm/fields/Signature/index.native.js.map +1 -0
  468. package/dist/esm/fields/Slider/index.mjs +45 -0
  469. package/dist/esm/fields/Slider/index.mjs.map +1 -0
  470. package/dist/esm/fields/Slider/index.native.js +47 -0
  471. package/dist/esm/fields/Slider/index.native.js.map +1 -0
  472. package/dist/esm/fields/SmallText/index.mjs +44 -0
  473. package/dist/esm/fields/SmallText/index.mjs.map +1 -0
  474. package/dist/esm/fields/SmallText/index.native.js +44 -0
  475. package/dist/esm/fields/SmallText/index.native.js.map +1 -0
  476. package/dist/esm/fields/Switch/index.mjs +39 -0
  477. package/dist/esm/fields/Switch/index.mjs.map +1 -0
  478. package/dist/esm/fields/Switch/index.native.js +41 -0
  479. package/dist/esm/fields/Switch/index.native.js.map +1 -0
  480. package/dist/esm/fields/TableMultiSelect.mjs +143 -0
  481. package/dist/esm/fields/TableMultiSelect.mjs.map +1 -0
  482. package/dist/esm/fields/TableMultiSelect.native.js +163 -0
  483. package/dist/esm/fields/TableMultiSelect.native.js.map +1 -0
  484. package/dist/esm/fields/TextEditor/index.mjs +244 -0
  485. package/dist/esm/fields/TextEditor/index.mjs.map +1 -0
  486. package/dist/esm/fields/TextEditor/index.native.js +33 -0
  487. package/dist/esm/fields/TextEditor/index.native.js.map +1 -0
  488. package/dist/esm/fields/TextEditor/tiptap.css +109 -0
  489. package/dist/esm/fields/TextEditor/tiptap.css.map +6 -0
  490. package/dist/esm/fields/TextEditor/types.mjs +2 -0
  491. package/dist/esm/fields/TextEditor/types.mjs.map +1 -0
  492. package/dist/esm/fields/TextEditor/types.native.js +2 -0
  493. package/dist/esm/fields/TextEditor/types.native.js.map +1 -0
  494. package/dist/esm/fields/TimePicker/index.mjs +15 -0
  495. package/dist/esm/fields/TimePicker/index.mjs.map +1 -0
  496. package/dist/esm/fields/TimePicker/index.native.js +15 -0
  497. package/dist/esm/fields/TimePicker/index.native.js.map +1 -0
  498. package/dist/esm/fields/ToggleGroup/index.mjs +45 -0
  499. package/dist/esm/fields/ToggleGroup/index.mjs.map +1 -0
  500. package/dist/esm/fields/ToggleGroup/index.native.js +45 -0
  501. package/dist/esm/fields/ToggleGroup/index.native.js.map +1 -0
  502. package/dist/esm/index.mjs +55 -0
  503. package/dist/esm/index.mjs.map +1 -0
  504. package/dist/esm/index.native.js +55 -0
  505. package/dist/esm/index.native.js.map +1 -0
  506. package/dist/esm/schemaForm/index.mjs +165 -0
  507. package/dist/esm/schemaForm/index.mjs.map +1 -0
  508. package/dist/esm/schemaForm/index.native.js +204 -0
  509. package/dist/esm/schemaForm/index.native.js.map +1 -0
  510. package/dist/esm/useFrappePagination.mjs +36 -0
  511. package/dist/esm/useFrappePagination.mjs.map +1 -0
  512. package/dist/esm/useFrappePagination.native.js +45 -0
  513. package/dist/esm/useFrappePagination.native.js.map +1 -0
  514. package/dist/jsx/FormSidebar.mjs +142 -0
  515. package/dist/jsx/FormSidebar.mjs.map +1 -0
  516. package/dist/jsx/FormSidebar.native.js +194 -0
  517. package/dist/jsx/FormSidebar.native.js.map +1 -0
  518. package/dist/jsx/FrappeCalendar.mjs +149 -0
  519. package/dist/jsx/FrappeCalendar.mjs.map +1 -0
  520. package/dist/jsx/FrappeCalendar.native.js +203 -0
  521. package/dist/jsx/FrappeCalendar.native.js.map +1 -0
  522. package/dist/jsx/FrappeCalendar.stories.mjs +221 -0
  523. package/dist/jsx/FrappeCalendar.stories.mjs.map +1 -0
  524. package/dist/jsx/FrappeCalendar.stories.native.js +271 -0
  525. package/dist/jsx/FrappeCalendar.stories.native.js.map +1 -0
  526. package/dist/jsx/FrappeDashboard.mjs +133 -0
  527. package/dist/jsx/FrappeDashboard.mjs.map +1 -0
  528. package/dist/jsx/FrappeDashboard.native.js +190 -0
  529. package/dist/jsx/FrappeDashboard.native.js.map +1 -0
  530. package/dist/jsx/FrappeDashboard.stories.mjs +203 -0
  531. package/dist/jsx/FrappeDashboard.stories.mjs.map +1 -0
  532. package/dist/jsx/FrappeDashboard.stories.native.js +240 -0
  533. package/dist/jsx/FrappeDashboard.stories.native.js.map +1 -0
  534. package/dist/jsx/FrappeForm.mjs +385 -0
  535. package/dist/jsx/FrappeForm.mjs.map +1 -0
  536. package/dist/jsx/FrappeForm.native.js +471 -0
  537. package/dist/jsx/FrappeForm.native.js.map +1 -0
  538. package/dist/jsx/FrappeForm.stories.mjs +226 -0
  539. package/dist/jsx/FrappeForm.stories.mjs.map +1 -0
  540. package/dist/jsx/FrappeForm.stories.native.js +304 -0
  541. package/dist/jsx/FrappeForm.stories.native.js.map +1 -0
  542. package/dist/jsx/FrappeImageView.mjs +275 -0
  543. package/dist/jsx/FrappeImageView.mjs.map +1 -0
  544. package/dist/jsx/FrappeImageView.native.js +332 -0
  545. package/dist/jsx/FrappeImageView.native.js.map +1 -0
  546. package/dist/jsx/FrappeKanban.mjs +122 -0
  547. package/dist/jsx/FrappeKanban.mjs.map +1 -0
  548. package/dist/jsx/FrappeKanban.native.js +206 -0
  549. package/dist/jsx/FrappeKanban.native.js.map +1 -0
  550. package/dist/jsx/FrappeKanban.stories.mjs +192 -0
  551. package/dist/jsx/FrappeKanban.stories.mjs.map +1 -0
  552. package/dist/jsx/FrappeKanban.stories.native.js +229 -0
  553. package/dist/jsx/FrappeKanban.stories.native.js.map +1 -0
  554. package/dist/jsx/FrappeList.mjs +56 -0
  555. package/dist/jsx/FrappeList.mjs.map +1 -0
  556. package/dist/jsx/FrappeList.native.js +85 -0
  557. package/dist/jsx/FrappeList.native.js.map +1 -0
  558. package/dist/jsx/FrappeList.stories.mjs +217 -0
  559. package/dist/jsx/FrappeList.stories.mjs.map +1 -0
  560. package/dist/jsx/FrappeList.stories.native.js +262 -0
  561. package/dist/jsx/FrappeList.stories.native.js.map +1 -0
  562. package/dist/jsx/FrappeListView.mjs +338 -0
  563. package/dist/jsx/FrappeListView.mjs.map +1 -0
  564. package/dist/jsx/FrappeListView.native.js +402 -0
  565. package/dist/jsx/FrappeListView.native.js.map +1 -0
  566. package/dist/jsx/FrappeProvider.mjs +31 -0
  567. package/dist/jsx/FrappeProvider.mjs.map +1 -0
  568. package/dist/jsx/FrappeProvider.native.js +75 -0
  569. package/dist/jsx/FrappeProvider.native.js.map +1 -0
  570. package/dist/jsx/FrappeReportBuilder.mjs +326 -0
  571. package/dist/jsx/FrappeReportBuilder.mjs.map +1 -0
  572. package/dist/jsx/FrappeReportBuilder.native.js +415 -0
  573. package/dist/jsx/FrappeReportBuilder.native.js.map +1 -0
  574. package/dist/jsx/FrappeTable.mjs +292 -0
  575. package/dist/jsx/FrappeTable.mjs.map +1 -0
  576. package/dist/jsx/FrappeTable.native.js +403 -0
  577. package/dist/jsx/FrappeTable.native.js.map +1 -0
  578. package/dist/jsx/FrappeTable.stories.mjs +203 -0
  579. package/dist/jsx/FrappeTable.stories.mjs.map +1 -0
  580. package/dist/jsx/FrappeTable.stories.native.js +244 -0
  581. package/dist/jsx/FrappeTable.stories.native.js.map +1 -0
  582. package/dist/jsx/FrappeTreeView.mjs +252 -0
  583. package/dist/jsx/FrappeTreeView.mjs.map +1 -0
  584. package/dist/jsx/FrappeTreeView.native.js +337 -0
  585. package/dist/jsx/FrappeTreeView.native.js.map +1 -0
  586. package/dist/jsx/components/attachments.mjs +47 -0
  587. package/dist/jsx/components/attachments.mjs.map +1 -0
  588. package/dist/jsx/components/attachments.native.js +80 -0
  589. package/dist/jsx/components/attachments.native.js.map +1 -0
  590. package/dist/jsx/components/tags.mjs +63 -0
  591. package/dist/jsx/components/tags.mjs.map +1 -0
  592. package/dist/jsx/components/tags.native.js +106 -0
  593. package/dist/jsx/components/tags.native.js.map +1 -0
  594. package/dist/jsx/components/timeline.mjs +145 -0
  595. package/dist/jsx/components/timeline.mjs.map +1 -0
  596. package/dist/jsx/components/timeline.native.js +196 -0
  597. package/dist/jsx/components/timeline.native.js.map +1 -0
  598. package/dist/jsx/desk/DeskFormPage.mjs +88 -0
  599. package/dist/jsx/desk/DeskFormPage.mjs.map +1 -0
  600. package/dist/jsx/desk/DeskFormPage.native.js +134 -0
  601. package/dist/jsx/desk/DeskFormPage.native.js.map +1 -0
  602. package/dist/jsx/desk/DeskListPage.mjs +78 -0
  603. package/dist/jsx/desk/DeskListPage.mjs.map +1 -0
  604. package/dist/jsx/desk/DeskListPage.native.js +121 -0
  605. package/dist/jsx/desk/DeskListPage.native.js.map +1 -0
  606. package/dist/jsx/desk/DeskShell.mjs +82 -0
  607. package/dist/jsx/desk/DeskShell.mjs.map +1 -0
  608. package/dist/jsx/desk/DeskShell.native.js +125 -0
  609. package/dist/jsx/desk/DeskShell.native.js.map +1 -0
  610. package/dist/jsx/desk/DeskSidebar.mjs +121 -0
  611. package/dist/jsx/desk/DeskSidebar.mjs.map +1 -0
  612. package/dist/jsx/desk/DeskSidebar.native.js +201 -0
  613. package/dist/jsx/desk/DeskSidebar.native.js.map +1 -0
  614. package/dist/jsx/desk/awesomebar.mjs +251 -0
  615. package/dist/jsx/desk/awesomebar.mjs.map +1 -0
  616. package/dist/jsx/desk/awesomebar.native.js +357 -0
  617. package/dist/jsx/desk/awesomebar.native.js.map +1 -0
  618. package/dist/jsx/fieldRegistry.mjs +416 -0
  619. package/dist/jsx/fieldRegistry.mjs.map +1 -0
  620. package/dist/jsx/fieldRegistry.native.js +497 -0
  621. package/dist/jsx/fieldRegistry.native.js.map +1 -0
  622. package/dist/jsx/fields/Barcode/index.mjs +50 -0
  623. package/dist/jsx/fields/Barcode/index.mjs.map +1 -0
  624. package/dist/jsx/fields/Barcode/index.native.js +78 -0
  625. package/dist/jsx/fields/Barcode/index.native.js.map +1 -0
  626. package/dist/jsx/fields/Check/Check.stories.mjs +87 -0
  627. package/dist/jsx/fields/Check/Check.stories.mjs.map +1 -0
  628. package/dist/jsx/fields/Check/Check.stories.native.js +121 -0
  629. package/dist/jsx/fields/Check/Check.stories.native.js.map +1 -0
  630. package/dist/jsx/fields/Check/index.mjs +39 -0
  631. package/dist/jsx/fields/Check/index.mjs.map +1 -0
  632. package/dist/jsx/fields/Check/index.native.js +69 -0
  633. package/dist/jsx/fields/Check/index.native.js.map +1 -0
  634. package/dist/jsx/fields/Color/Color.stories.mjs +104 -0
  635. package/dist/jsx/fields/Color/Color.stories.mjs.map +1 -0
  636. package/dist/jsx/fields/Color/Color.stories.native.js +138 -0
  637. package/dist/jsx/fields/Color/Color.stories.native.js.map +1 -0
  638. package/dist/jsx/fields/Color/index.mjs +45 -0
  639. package/dist/jsx/fields/Color/index.mjs.map +1 -0
  640. package/dist/jsx/fields/Color/index.native.js +73 -0
  641. package/dist/jsx/fields/Color/index.native.js.map +1 -0
  642. package/dist/jsx/fields/Data/Data.stories.mjs +106 -0
  643. package/dist/jsx/fields/Data/Data.stories.mjs.map +1 -0
  644. package/dist/jsx/fields/Data/Data.stories.native.js +140 -0
  645. package/dist/jsx/fields/Data/Data.stories.native.js.map +1 -0
  646. package/dist/jsx/fields/Data/index.mjs +46 -0
  647. package/dist/jsx/fields/Data/index.mjs.map +1 -0
  648. package/dist/jsx/fields/Data/index.native.js +74 -0
  649. package/dist/jsx/fields/Data/index.native.js.map +1 -0
  650. package/dist/jsx/fields/Date/Date.stories.mjs +209 -0
  651. package/dist/jsx/fields/Date/Date.stories.mjs.map +1 -0
  652. package/dist/jsx/fields/Date/Date.stories.native.js +267 -0
  653. package/dist/jsx/fields/Date/Date.stories.native.js.map +1 -0
  654. package/dist/jsx/fields/Date/date.native.js +314 -0
  655. package/dist/jsx/fields/Date/date.native.js.map +1 -0
  656. package/dist/jsx/fields/Date/index.mjs +40 -0
  657. package/dist/jsx/fields/Date/index.mjs.map +1 -0
  658. package/dist/jsx/fields/Date/index.native.js +68 -0
  659. package/dist/jsx/fields/Date/index.native.js.map +1 -0
  660. package/dist/jsx/fields/DateRange/index.mjs +36 -0
  661. package/dist/jsx/fields/DateRange/index.mjs.map +1 -0
  662. package/dist/jsx/fields/DateRange/index.native.js +64 -0
  663. package/dist/jsx/fields/DateRange/index.native.js.map +1 -0
  664. package/dist/jsx/fields/Duration/index.mjs +15 -0
  665. package/dist/jsx/fields/Duration/index.mjs.map +1 -0
  666. package/dist/jsx/fields/Duration/index.native.js +43 -0
  667. package/dist/jsx/fields/Duration/index.native.js.map +1 -0
  668. package/dist/jsx/fields/DynamicLink.mjs +127 -0
  669. package/dist/jsx/fields/DynamicLink.mjs.map +1 -0
  670. package/dist/jsx/fields/DynamicLink.native.js +172 -0
  671. package/dist/jsx/fields/DynamicLink.native.js.map +1 -0
  672. package/dist/jsx/fields/FileUpload.mjs +163 -0
  673. package/dist/jsx/fields/FileUpload.mjs.map +1 -0
  674. package/dist/jsx/fields/FileUpload.native.js +203 -0
  675. package/dist/jsx/fields/FileUpload.native.js.map +1 -0
  676. package/dist/jsx/fields/FileUploadField/index.mjs +40 -0
  677. package/dist/jsx/fields/FileUploadField/index.mjs.map +1 -0
  678. package/dist/jsx/fields/FileUploadField/index.native.js +68 -0
  679. package/dist/jsx/fields/FileUploadField/index.native.js.map +1 -0
  680. package/dist/jsx/fields/Geolocation/index.mjs +41 -0
  681. package/dist/jsx/fields/Geolocation/index.mjs.map +1 -0
  682. package/dist/jsx/fields/Geolocation/index.native.js +69 -0
  683. package/dist/jsx/fields/Geolocation/index.native.js.map +1 -0
  684. package/dist/jsx/fields/HTML/index.mjs +57 -0
  685. package/dist/jsx/fields/HTML/index.mjs.map +1 -0
  686. package/dist/jsx/fields/HTML/index.native.js +89 -0
  687. package/dist/jsx/fields/HTML/index.native.js.map +1 -0
  688. package/dist/jsx/fields/Heading/Heading.stories.mjs +155 -0
  689. package/dist/jsx/fields/Heading/Heading.stories.mjs.map +1 -0
  690. package/dist/jsx/fields/Heading/Heading.stories.native.js +196 -0
  691. package/dist/jsx/fields/Heading/Heading.stories.native.js.map +1 -0
  692. package/dist/jsx/fields/Heading/index.mjs +87 -0
  693. package/dist/jsx/fields/Heading/index.mjs.map +1 -0
  694. package/dist/jsx/fields/Heading/index.native.js +117 -0
  695. package/dist/jsx/fields/Heading/index.native.js.map +1 -0
  696. package/dist/jsx/fields/Link.mjs +244 -0
  697. package/dist/jsx/fields/Link.mjs.map +1 -0
  698. package/dist/jsx/fields/Link.native.js +285 -0
  699. package/dist/jsx/fields/Link.native.js.map +1 -0
  700. package/dist/jsx/fields/LongText/index.mjs +45 -0
  701. package/dist/jsx/fields/LongText/index.mjs.map +1 -0
  702. package/dist/jsx/fields/LongText/index.native.js +73 -0
  703. package/dist/jsx/fields/LongText/index.native.js.map +1 -0
  704. package/dist/jsx/fields/MentionInput/index.mjs +38 -0
  705. package/dist/jsx/fields/MentionInput/index.mjs.map +1 -0
  706. package/dist/jsx/fields/MentionInput/index.native.js +66 -0
  707. package/dist/jsx/fields/MentionInput/index.native.js.map +1 -0
  708. package/dist/jsx/fields/Numeric/Numeric.stories.mjs +136 -0
  709. package/dist/jsx/fields/Numeric/Numeric.stories.mjs.map +1 -0
  710. package/dist/jsx/fields/Numeric/Numeric.stories.native.js +170 -0
  711. package/dist/jsx/fields/Numeric/Numeric.stories.native.js.map +1 -0
  712. package/dist/jsx/fields/Numeric/index.mjs +55 -0
  713. package/dist/jsx/fields/Numeric/index.mjs.map +1 -0
  714. package/dist/jsx/fields/Numeric/index.native.js +83 -0
  715. package/dist/jsx/fields/Numeric/index.native.js.map +1 -0
  716. package/dist/jsx/fields/OTPInput/index.mjs +43 -0
  717. package/dist/jsx/fields/OTPInput/index.mjs.map +1 -0
  718. package/dist/jsx/fields/OTPInput/index.native.js +71 -0
  719. package/dist/jsx/fields/OTPInput/index.native.js.map +1 -0
  720. package/dist/jsx/fields/Password/index.mjs +42 -0
  721. package/dist/jsx/fields/Password/index.mjs.map +1 -0
  722. package/dist/jsx/fields/Password/index.native.js +70 -0
  723. package/dist/jsx/fields/Password/index.native.js.map +1 -0
  724. package/dist/jsx/fields/Phone/index.mjs +42 -0
  725. package/dist/jsx/fields/Phone/index.mjs.map +1 -0
  726. package/dist/jsx/fields/Phone/index.native.js +70 -0
  727. package/dist/jsx/fields/Phone/index.native.js.map +1 -0
  728. package/dist/jsx/fields/Progress/index.mjs +35 -0
  729. package/dist/jsx/fields/Progress/index.mjs.map +1 -0
  730. package/dist/jsx/fields/Progress/index.native.js +63 -0
  731. package/dist/jsx/fields/Progress/index.native.js.map +1 -0
  732. package/dist/jsx/fields/RadioGroup/index.mjs +45 -0
  733. package/dist/jsx/fields/RadioGroup/index.mjs.map +1 -0
  734. package/dist/jsx/fields/RadioGroup/index.native.js +73 -0
  735. package/dist/jsx/fields/RadioGroup/index.native.js.map +1 -0
  736. package/dist/jsx/fields/Rating/index.mjs +41 -0
  737. package/dist/jsx/fields/Rating/index.mjs.map +1 -0
  738. package/dist/jsx/fields/Rating/index.native.js +69 -0
  739. package/dist/jsx/fields/Rating/index.native.js.map +1 -0
  740. package/dist/jsx/fields/ReadOnly/ReadOnly.stories.mjs +158 -0
  741. package/dist/jsx/fields/ReadOnly/ReadOnly.stories.mjs.map +1 -0
  742. package/dist/jsx/fields/ReadOnly/ReadOnly.stories.native.js +192 -0
  743. package/dist/jsx/fields/ReadOnly/ReadOnly.stories.native.js.map +1 -0
  744. package/dist/jsx/fields/ReadOnly/index.mjs +217 -0
  745. package/dist/jsx/fields/ReadOnly/index.mjs.map +1 -0
  746. package/dist/jsx/fields/ReadOnly/index.native.js +244 -0
  747. package/dist/jsx/fields/ReadOnly/index.native.js.map +1 -0
  748. package/dist/jsx/fields/Select/Select.stories.mjs +122 -0
  749. package/dist/jsx/fields/Select/Select.stories.mjs.map +1 -0
  750. package/dist/jsx/fields/Select/Select.stories.native.js +157 -0
  751. package/dist/jsx/fields/Select/Select.stories.native.js.map +1 -0
  752. package/dist/jsx/fields/Select/index.mjs +45 -0
  753. package/dist/jsx/fields/Select/index.mjs.map +1 -0
  754. package/dist/jsx/fields/Select/index.native.js +78 -0
  755. package/dist/jsx/fields/Select/index.native.js.map +1 -0
  756. package/dist/jsx/fields/Signature/index.mjs +49 -0
  757. package/dist/jsx/fields/Signature/index.mjs.map +1 -0
  758. package/dist/jsx/fields/Signature/index.native.js +77 -0
  759. package/dist/jsx/fields/Signature/index.native.js.map +1 -0
  760. package/dist/jsx/fields/Slider/index.mjs +45 -0
  761. package/dist/jsx/fields/Slider/index.mjs.map +1 -0
  762. package/dist/jsx/fields/Slider/index.native.js +75 -0
  763. package/dist/jsx/fields/Slider/index.native.js.map +1 -0
  764. package/dist/jsx/fields/SmallText/index.mjs +44 -0
  765. package/dist/jsx/fields/SmallText/index.mjs.map +1 -0
  766. package/dist/jsx/fields/SmallText/index.native.js +72 -0
  767. package/dist/jsx/fields/SmallText/index.native.js.map +1 -0
  768. package/dist/jsx/fields/Switch/index.mjs +39 -0
  769. package/dist/jsx/fields/Switch/index.mjs.map +1 -0
  770. package/dist/jsx/fields/Switch/index.native.js +69 -0
  771. package/dist/jsx/fields/Switch/index.native.js.map +1 -0
  772. package/dist/jsx/fields/TableMultiSelect.mjs +143 -0
  773. package/dist/jsx/fields/TableMultiSelect.mjs.map +1 -0
  774. package/dist/jsx/fields/TableMultiSelect.native.js +202 -0
  775. package/dist/jsx/fields/TableMultiSelect.native.js.map +1 -0
  776. package/dist/jsx/fields/TextEditor/index.mjs +244 -0
  777. package/dist/jsx/fields/TextEditor/index.mjs.map +1 -0
  778. package/dist/jsx/fields/TextEditor/index.native.js +61 -0
  779. package/dist/jsx/fields/TextEditor/index.native.js.map +1 -0
  780. package/dist/jsx/fields/TextEditor/tiptap.css +109 -0
  781. package/dist/jsx/fields/TextEditor/tiptap.css.map +6 -0
  782. package/dist/jsx/fields/TextEditor/types.mjs +2 -0
  783. package/dist/jsx/fields/TextEditor/types.mjs.map +1 -0
  784. package/dist/jsx/fields/TextEditor/types.native.js +21 -0
  785. package/dist/jsx/fields/TextEditor/types.native.js.map +1 -0
  786. package/dist/jsx/fields/TimePicker/index.mjs +15 -0
  787. package/dist/jsx/fields/TimePicker/index.mjs.map +1 -0
  788. package/dist/jsx/fields/TimePicker/index.native.js +43 -0
  789. package/dist/jsx/fields/TimePicker/index.native.js.map +1 -0
  790. package/dist/jsx/fields/ToggleGroup/index.mjs +45 -0
  791. package/dist/jsx/fields/ToggleGroup/index.mjs.map +1 -0
  792. package/dist/jsx/fields/ToggleGroup/index.native.js +73 -0
  793. package/dist/jsx/fields/ToggleGroup/index.native.js.map +1 -0
  794. package/dist/jsx/index.js +55 -0
  795. package/dist/jsx/index.js.map +1 -0
  796. package/dist/jsx/index.mjs +55 -0
  797. package/dist/jsx/index.mjs.map +1 -0
  798. package/dist/jsx/index.native.js +148 -0
  799. package/dist/jsx/index.native.js.map +1 -0
  800. package/dist/jsx/schemaForm/index.mjs +165 -0
  801. package/dist/jsx/schemaForm/index.mjs.map +1 -0
  802. package/dist/jsx/schemaForm/index.native.js +243 -0
  803. package/dist/jsx/schemaForm/index.native.js.map +1 -0
  804. package/dist/jsx/useFrappePagination.mjs +36 -0
  805. package/dist/jsx/useFrappePagination.mjs.map +1 -0
  806. package/dist/jsx/useFrappePagination.native.js +73 -0
  807. package/dist/jsx/useFrappePagination.native.js.map +1 -0
  808. package/package.json +120 -0
  809. package/src/FormSidebar.tsx +215 -0
  810. package/src/FrappeCalendar.stories.tsx +246 -0
  811. package/src/FrappeCalendar.tsx +201 -0
  812. package/src/FrappeDashboard.stories.tsx +196 -0
  813. package/src/FrappeDashboard.tsx +199 -0
  814. package/src/FrappeForm.stories.tsx +250 -0
  815. package/src/FrappeForm.tsx +485 -0
  816. package/src/FrappeImageView.tsx +360 -0
  817. package/src/FrappeKanban.stories.tsx +172 -0
  818. package/src/FrappeKanban.tsx +190 -0
  819. package/src/FrappeList.stories.tsx +178 -0
  820. package/src/FrappeList.tsx +79 -0
  821. package/src/FrappeListView.tsx +421 -0
  822. package/src/FrappeProvider.tsx +144 -0
  823. package/src/FrappeReportBuilder.tsx +405 -0
  824. package/src/FrappeTable.stories.tsx +220 -0
  825. package/src/FrappeTable.tsx +402 -0
  826. package/src/FrappeTreeView.tsx +332 -0
  827. package/src/components/attachments.tsx +86 -0
  828. package/src/components/tags.tsx +108 -0
  829. package/src/components/timeline.tsx +226 -0
  830. package/src/desk/DeskFormPage.tsx +114 -0
  831. package/src/desk/DeskListPage.tsx +104 -0
  832. package/src/desk/DeskShell.tsx +123 -0
  833. package/src/desk/DeskSidebar.tsx +185 -0
  834. package/src/desk/awesomebar.tsx +370 -0
  835. package/src/fieldRegistry.ts +589 -0
  836. package/src/fields/Barcode/index.tsx +82 -0
  837. package/src/fields/Check/Check.stories.tsx +60 -0
  838. package/src/fields/Check/index.tsx +76 -0
  839. package/src/fields/Color/Color.stories.tsx +70 -0
  840. package/src/fields/Color/index.tsx +84 -0
  841. package/src/fields/Data/Data.stories.tsx +75 -0
  842. package/src/fields/Data/index.tsx +86 -0
  843. package/src/fields/Date/Date.stories.tsx +154 -0
  844. package/src/fields/Date/date.native.tsx +346 -0
  845. package/src/fields/Date/index.tsx +80 -0
  846. package/src/fields/DateRange/index.tsx +73 -0
  847. package/src/fields/Duration/index.tsx +11 -0
  848. package/src/fields/DynamicLink.tsx +139 -0
  849. package/src/fields/FileUpload.tsx +204 -0
  850. package/src/fields/FileUploadField/index.tsx +80 -0
  851. package/src/fields/Geolocation/index.tsx +76 -0
  852. package/src/fields/HTML/index.tsx +50 -0
  853. package/src/fields/Heading/Heading.stories.tsx +112 -0
  854. package/src/fields/Heading/index.tsx +103 -0
  855. package/src/fields/Link.tsx +271 -0
  856. package/src/fields/LongText/index.tsx +85 -0
  857. package/src/fields/MentionInput/index.tsx +105 -0
  858. package/src/fields/Numeric/Numeric.stories.tsx +81 -0
  859. package/src/fields/Numeric/index.tsx +103 -0
  860. package/src/fields/OTPInput/index.tsx +83 -0
  861. package/src/fields/Password/index.tsx +80 -0
  862. package/src/fields/Phone/index.tsx +77 -0
  863. package/src/fields/Progress/index.tsx +71 -0
  864. package/src/fields/RadioGroup/index.tsx +87 -0
  865. package/src/fields/Rating/index.tsx +78 -0
  866. package/src/fields/ReadOnly/ReadOnly.stories.tsx +96 -0
  867. package/src/fields/ReadOnly/index.tsx +281 -0
  868. package/src/fields/Select/Select.stories.tsx +75 -0
  869. package/src/fields/Select/index.tsx +83 -0
  870. package/src/fields/Signature/index.tsx +88 -0
  871. package/src/fields/Slider/index.tsx +85 -0
  872. package/src/fields/SmallText/index.tsx +83 -0
  873. package/src/fields/Switch/index.tsx +76 -0
  874. package/src/fields/TableMultiSelect.tsx +184 -0
  875. package/src/fields/TextEditor/index.native.tsx +40 -0
  876. package/src/fields/TextEditor/index.tsx +262 -0
  877. package/src/fields/TextEditor/tiptap.css +126 -0
  878. package/src/fields/TextEditor/types.ts +14 -0
  879. package/src/fields/TimePicker/index.tsx +11 -0
  880. package/src/fields/ToggleGroup/index.tsx +87 -0
  881. package/src/index.ts +184 -0
  882. package/src/schemaForm/index.tsx +252 -0
  883. package/src/useFrappePagination.ts +85 -0
@@ -0,0 +1,376 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { useDocTypeMeta, useFrappeCollection, useLiveQuery } from "@multiplatform.one/frappe";
3
+ import { downloadBlob } from "@multiplatform.one/platform";
4
+ import { ReportBuilder } from "@multiplatform.one/components";
5
+ import { storage } from "@multiplatform.one/store";
6
+ import React, { useMemo, useState, useCallback, useEffect } from "react";
7
+ import { useTranslation } from "react-i18next";
8
+ import { Button, Popover, Separator, Spinner, Text, XStack, YStack, Input } from "tamagui";
9
+ import { FloppyDiskIcon, FolderOpenIcon, TrashIcon } from "@phosphor-icons/react";
10
+ import { useResolvedKnobs } from "@multiplatform.one/theme";
11
+ import { useFrappeConfig } from "./FrappeProvider.native.js";
12
+ function getSavedReportsKey(doctype) {
13
+ return `frappe-report-${doctype}`;
14
+ }
15
+ async function loadSavedReports(doctype) {
16
+ try {
17
+ var raw = await Promise.resolve(storage.getItem(getSavedReportsKey(doctype)));
18
+ if (raw) return JSON.parse(raw);
19
+ } catch (unused) {}
20
+ return [];
21
+ }
22
+ async function persistSavedReports(doctype, reports) {
23
+ try {
24
+ await Promise.resolve(storage.setItem(getSavedReportsKey(doctype), JSON.stringify(reports)));
25
+ } catch (unused) {}
26
+ }
27
+ function FrappeReportBuilder(param) {
28
+ var {
29
+ doctype,
30
+ initialColumns,
31
+ initialGroupBy,
32
+ filters,
33
+ showChart = false,
34
+ onExport,
35
+ baseURL,
36
+ auth,
37
+ syncOptions,
38
+ ...stackProps
39
+ } = param;
40
+ var config = useFrappeConfig();
41
+ var {
42
+ knobProps
43
+ } = useResolvedKnobs();
44
+ var {
45
+ t
46
+ } = useTranslation();
47
+ var finalBaseURL = baseURL !== null && baseURL !== void 0 ? baseURL : config === null || config === void 0 ? void 0 : config.baseURL;
48
+ var finalAuth = auth !== null && auth !== void 0 ? auth : config === null || config === void 0 ? void 0 : config.auth;
49
+ var finalSyncOptions = syncOptions !== null && syncOptions !== void 0 ? syncOptions : config === null || config === void 0 ? void 0 : config.syncOptions;
50
+ if (!finalBaseURL) {
51
+ throw new Error("FrappeReportBuilder requires baseURL prop or FrappeProvider with baseURL");
52
+ }
53
+ var connectionConfig = {
54
+ baseURL: finalBaseURL,
55
+ socketPort: config === null || config === void 0 ? void 0 : config.socketPort,
56
+ auth: finalAuth,
57
+ syncOptions: finalSyncOptions,
58
+ fixtures: config === null || config === void 0 ? void 0 : config.fixtures
59
+ };
60
+ var {
61
+ meta,
62
+ isLoading: isMetaLoading
63
+ } = useDocTypeMeta(connectionConfig, doctype);
64
+ var allColumns = useMemo(function () {
65
+ if (initialColumns) return initialColumns;
66
+ if (!meta) return [];
67
+ return meta.fields.filter(function (f) {
68
+ return f.fieldtype !== "Section Break" && f.fieldtype !== "Column Break" && f.fieldtype !== "Tab Break";
69
+ }).map(function (f) {
70
+ var _f_in_list_view;
71
+ return {
72
+ fieldname: f.fieldname,
73
+ label: f.label || f.fieldname,
74
+ fieldtype: f.fieldtype,
75
+ enabled: (_f_in_list_view = f.in_list_view) !== null && _f_in_list_view !== void 0 ? _f_in_list_view : false
76
+ };
77
+ });
78
+ }, [initialColumns, meta]);
79
+ var fetchFields = useMemo(function () {
80
+ var fieldNames = allColumns.map(function (c) {
81
+ return c.fieldname;
82
+ });
83
+ if (!fieldNames.includes("name")) {
84
+ fieldNames.unshift("name");
85
+ }
86
+ return fieldNames;
87
+ }, [allColumns]);
88
+ var collection = useFrappeCollection(connectionConfig, doctype, {
89
+ fields: fetchFields,
90
+ filters
91
+ });
92
+ var {
93
+ data: rawData,
94
+ isLoading
95
+ } = useLiveQuery(function (q) {
96
+ return collection ? q.from({
97
+ _list: collection
98
+ }) : null;
99
+ }, [collection]);
100
+ var data = useMemo(function () {
101
+ return rawData !== null && rawData !== void 0 ? rawData : [];
102
+ }, [rawData]);
103
+ var [groupBy, setGroupBy] = useState(initialGroupBy !== null && initialGroupBy !== void 0 ? initialGroupBy : null);
104
+ var [enabledColumns, setEnabledColumns] = useState([]);
105
+ useEffect(function () {
106
+ if (allColumns.length > 0 && enabledColumns.length === 0) {
107
+ var initial = allColumns.filter(function (c) {
108
+ return c.enabled;
109
+ }).map(function (c) {
110
+ return c.fieldname;
111
+ });
112
+ if (initial.length === 0) {
113
+ setEnabledColumns(allColumns.slice(0, 5).map(function (c) {
114
+ return c.fieldname;
115
+ }));
116
+ } else {
117
+ setEnabledColumns(initial);
118
+ }
119
+ }
120
+ }, [allColumns, enabledColumns.length]);
121
+ var [savedReports, setSavedReports] = useState([]);
122
+ var [saveDialogOpen, setSaveDialogOpen] = useState(false);
123
+ var [saveReportName, setSaveReportName] = useState("");
124
+ useEffect(function () {
125
+ var cancelled = false;
126
+ void async function () {
127
+ var reports = await loadSavedReports(doctype);
128
+ if (!cancelled) {
129
+ setSavedReports(reports);
130
+ }
131
+ }();
132
+ return function () {
133
+ cancelled = true;
134
+ };
135
+ }, [doctype]);
136
+ var handleSaveReport = useCallback(function () {
137
+ if (!saveReportName.trim()) return;
138
+ var report = {
139
+ name: saveReportName.trim(),
140
+ columns: enabledColumns,
141
+ groupBy,
142
+ filters
143
+ };
144
+ var updated = [...savedReports.filter(function (r) {
145
+ return r.name !== report.name;
146
+ }), report];
147
+ setSavedReports(updated);
148
+ void persistSavedReports(doctype, updated);
149
+ setSaveDialogOpen(false);
150
+ setSaveReportName("");
151
+ }, [saveReportName, enabledColumns, groupBy, filters, savedReports, doctype]);
152
+ var handleLoadReport = useCallback(function (report) {
153
+ setEnabledColumns(report.columns);
154
+ setGroupBy(report.groupBy);
155
+ }, []);
156
+ var handleDeleteReport = useCallback(function (name) {
157
+ var updated = savedReports.filter(function (r) {
158
+ return r.name !== name;
159
+ });
160
+ setSavedReports(updated);
161
+ void persistSavedReports(doctype, updated);
162
+ }, [savedReports, doctype]);
163
+ var handleExport = useCallback(function (exportData) {
164
+ if (onExport) {
165
+ onExport(exportData);
166
+ return;
167
+ }
168
+ var cols = allColumns.filter(function (c) {
169
+ return enabledColumns.includes(c.fieldname);
170
+ });
171
+ var headers = cols.map(function (c) {
172
+ return c.label;
173
+ });
174
+ var csvRows = [headers.join(",")];
175
+ var _iteratorNormalCompletion = true,
176
+ _didIteratorError = false,
177
+ _iteratorError = void 0;
178
+ try {
179
+ var _loop = function () {
180
+ var row = _step.value;
181
+ var values = cols.map(function (col) {
182
+ var val = row[col.fieldname];
183
+ if (val === null || val === void 0) return "";
184
+ var str = String(val);
185
+ if (str.includes(",") || str.includes('"') || str.includes("\n")) {
186
+ return `"${str.replace(/"/g, '""')}"`;
187
+ }
188
+ return str;
189
+ });
190
+ csvRows.push(values.join(","));
191
+ };
192
+ for (var _iterator = exportData[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) _loop();
193
+ } catch (err) {
194
+ _didIteratorError = true;
195
+ _iteratorError = err;
196
+ } finally {
197
+ try {
198
+ if (!_iteratorNormalCompletion && _iterator.return != null) {
199
+ _iterator.return();
200
+ }
201
+ } finally {
202
+ if (_didIteratorError) {
203
+ throw _iteratorError;
204
+ }
205
+ }
206
+ }
207
+ var csvContent = csvRows.join("\n");
208
+ var blob = new Blob([csvContent], {
209
+ type: "text/csv;charset=utf-8;"
210
+ });
211
+ downloadBlob(blob, `${doctype}_report.csv`);
212
+ }, [allColumns, enabledColumns, onExport, doctype]);
213
+ if (isMetaLoading) {
214
+ return /* @__PURE__ */_jsxs(YStack, {
215
+ ...knobProps.panelPadding,
216
+ alignItems: "center",
217
+ justifyContent: "center",
218
+ ...stackProps,
219
+ children: [/* @__PURE__ */_jsx(Spinner, {
220
+ size: "large"
221
+ }), /* @__PURE__ */_jsx(Text, {
222
+ color: "$color10",
223
+ marginTop: "$2",
224
+ children: t("Loading {{doctype}} schema...", {
225
+ doctype
226
+ })
227
+ })]
228
+ });
229
+ }
230
+ if (isLoading) {
231
+ return /* @__PURE__ */_jsxs(YStack, {
232
+ ...knobProps.panelPadding,
233
+ alignItems: "center",
234
+ ...stackProps,
235
+ children: [/* @__PURE__ */_jsx(Spinner, {
236
+ size: "small"
237
+ }), /* @__PURE__ */_jsx(Text, {
238
+ color: "$color10",
239
+ fontSize: "$2",
240
+ marginTop: "$1",
241
+ children: t("Loading data...")
242
+ })]
243
+ });
244
+ }
245
+ return /* @__PURE__ */_jsxs(YStack, {
246
+ flex: 1,
247
+ ...knobProps.borderRadius,
248
+ ...stackProps,
249
+ children: [/* Frappe-specific toolbar: Save/Load reports */
250
+ /* @__PURE__ */_jsxs(XStack, {
251
+ ...knobProps.panelPadding,
252
+ ...knobProps.surface,
253
+ ...knobProps.gap,
254
+ alignItems: "center",
255
+ borderBottomWidth: 1,
256
+ borderBottomColor: "$borderColor",
257
+ children: [/* @__PURE__ */_jsx(XStack, {
258
+ flex: 1
259
+ }), /* Save */
260
+ /* @__PURE__ */_jsxs(Popover, {
261
+ placement: "bottom-end",
262
+ open: saveDialogOpen,
263
+ onOpenChange: setSaveDialogOpen,
264
+ children: [/* @__PURE__ */_jsx(Popover.Trigger, {
265
+ asChild: true,
266
+ children: /* @__PURE__ */_jsx(Button, {
267
+ size: "$2",
268
+ icon: FloppyDiskIcon,
269
+ children: t("Save")
270
+ })
271
+ }), /* @__PURE__ */_jsxs(Popover.Content, {
272
+ backgroundColor: "$background",
273
+ ...knobProps.borderRadius,
274
+ ...knobProps.panelPadding,
275
+ borderColor: "$borderColor",
276
+ children: [/* @__PURE__ */_jsx(Popover.Arrow, {
277
+ borderWidth: 1,
278
+ borderColor: "$borderColor"
279
+ }), /* @__PURE__ */_jsxs(YStack, {
280
+ ...knobProps.gap,
281
+ minWidth: 220,
282
+ children: [/* @__PURE__ */_jsx(Text, {
283
+ fontWeight: "600",
284
+ fontSize: "$2",
285
+ children: t("Save Report")
286
+ }), /* @__PURE__ */_jsx(Input, {
287
+ size: "$3",
288
+ placeholder: t("Report name"),
289
+ value: saveReportName,
290
+ onChangeText: setSaveReportName,
291
+ onSubmitEditing: handleSaveReport
292
+ }), /* @__PURE__ */_jsx(Button, {
293
+ size: "$2",
294
+ theme: "active",
295
+ onPress: handleSaveReport,
296
+ disabled: !saveReportName.trim(),
297
+ children: t("Save")
298
+ })]
299
+ })]
300
+ })]
301
+ }), /* Load */
302
+ savedReports.length > 0 && /* @__PURE__ */_jsxs(Popover, {
303
+ placement: "bottom-end",
304
+ children: [/* @__PURE__ */_jsx(Popover.Trigger, {
305
+ asChild: true,
306
+ children: /* @__PURE__ */_jsx(Button, {
307
+ size: "$2",
308
+ icon: FolderOpenIcon,
309
+ children: t("Load")
310
+ })
311
+ }), /* @__PURE__ */_jsxs(Popover.Content, {
312
+ backgroundColor: "$background",
313
+ ...knobProps.borderRadius,
314
+ ...knobProps.panelPadding,
315
+ borderColor: "$borderColor",
316
+ children: [/* @__PURE__ */_jsx(Popover.Arrow, {
317
+ borderWidth: 1,
318
+ borderColor: "$borderColor"
319
+ }), /* @__PURE__ */_jsxs(YStack, {
320
+ gap: "$1",
321
+ minWidth: 180,
322
+ children: [/* @__PURE__ */_jsx(Text, {
323
+ fontWeight: "600",
324
+ fontSize: "$2",
325
+ color: "$color10",
326
+ padding: "$1",
327
+ children: t("Saved Reports")
328
+ }), /* @__PURE__ */_jsx(Separator, {}), savedReports.map(function (report) {
329
+ return /* @__PURE__ */_jsxs(XStack, {
330
+ alignItems: "center",
331
+ justifyContent: "space-between",
332
+ padding: "$2",
333
+ ...knobProps.borderRadius,
334
+ hoverStyle: {
335
+ backgroundColor: "$color2"
336
+ },
337
+ cursor: "pointer",
338
+ onPress: function onPress() {
339
+ return handleLoadReport(report);
340
+ },
341
+ children: [/* @__PURE__ */_jsx(Text, {
342
+ fontSize: "$2",
343
+ flex: 1,
344
+ children: report.name
345
+ }), /* @__PURE__ */_jsx(Button, {
346
+ size: "$1",
347
+ chromeless: true,
348
+ icon: TrashIcon,
349
+ onPress: function onPress(e) {
350
+ e.stopPropagation();
351
+ handleDeleteReport(report.name);
352
+ },
353
+ "aria-label": t("Delete {{name}}", {
354
+ name: report.name
355
+ })
356
+ })]
357
+ }, report.name);
358
+ })]
359
+ })]
360
+ })]
361
+ })]
362
+ }), /* Delegate to generic ReportBuilder */
363
+ /* @__PURE__ */_jsx(ReportBuilder, {
364
+ columns: allColumns,
365
+ data,
366
+ groupBy: groupBy !== null && groupBy !== void 0 ? groupBy : void 0,
367
+ onGroupByChange: setGroupBy,
368
+ onColumnsChange: setEnabledColumns,
369
+ onExport: handleExport,
370
+ showChart,
371
+ flex: 1
372
+ })]
373
+ });
374
+ }
375
+ export { FrappeReportBuilder };
376
+ //# sourceMappingURL=FrappeReportBuilder.native.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["jsx","_jsx","jsxs","_jsxs","useDocTypeMeta","useFrappeCollection","useLiveQuery","downloadBlob","ReportBuilder","storage","React","useMemo","useState","useCallback","useEffect","useTranslation","Button","Popover","Separator","Spinner","Text","XStack","YStack","Input","FloppyDiskIcon","FolderOpenIcon","TrashIcon","useResolvedKnobs","useFrappeConfig","getSavedReportsKey","doctype","loadSavedReports","raw","Promise","resolve","getItem","JSON","parse","unused","persistSavedReports","reports","setItem","stringify","FrappeReportBuilder","param","initialColumns","initialGroupBy","filters","showChart","onExport","baseURL","auth","syncOptions","stackProps","config","knobProps","t","finalBaseURL","finalAuth","finalSyncOptions","Error","connectionConfig","socketPort","fixtures","meta","isLoading","isMetaLoading","allColumns","fields","filter","f","fieldtype","map","_f_in_list_view","fieldname","label","enabled","in_list_view","fetchFields","fieldNames","c","includes","unshift","collection","data","rawData","q","from","_list","groupBy","setGroupBy","enabledColumns","setEnabledColumns","length","initial","slice","savedReports","setSavedReports","saveDialogOpen","setSaveDialogOpen","saveReportName","setSaveReportName","cancelled","handleSaveReport","trim","report","name","columns","updated","r","handleLoadReport","handleDeleteReport","handleExport","exportData","cols","headers","csvRows","join","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_loop","row","_step","value","values","col","val","str","String","replace","push","_iterator","Symbol","iterator","next","done","err","return","csvContent","blob","Blob","type","panelPadding","alignItems","justifyContent","children","size","color","marginTop","fontSize","flex","borderRadius","surface","gap","borderBottomWidth","borderBottomColor","placement","open","onOpenChange","Trigger","asChild","icon","Content","backgroundColor","borderColor","Arrow","borderWidth","minWidth","fontWeight"],"sources":["../../src/FrappeReportBuilder.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,292 @@
1
+ import { FrappeApp, Order, useFrappeCollection, useLiveQuery } from "@multiplatform.one/frappe";
2
+ import { DataTable } from "@multiplatform.one/table";
3
+ import { useResolvedKnobs } from "@multiplatform.one/theme";
4
+ import React, { useCallback, useEffect, useMemo, useRef, useState } from "react";
5
+ import { useTranslation } from "react-i18next";
6
+ import { Spinner, Text, View, XStack, YStack } from "tamagui";
7
+ import { FilterManager, SavedFilterDropdown, useSavedFilters } from "@multiplatform.one/table";
8
+ import { useFrappeConfig } from "./FrappeProvider.mjs";
9
+ import { Fragment, jsx, jsxs } from "react/jsx-runtime";
10
+ function mapFilterOperator(op) {
11
+ const m = {
12
+ contains: "like",
13
+ doesNotContain: "not like",
14
+ is: "=",
15
+ isNot: "!=",
16
+ startsWith: "like",
17
+ endsWith: "like",
18
+ isEmpty: "=",
19
+ isNotEmpty: "!=",
20
+ isLessThan: "<",
21
+ isGreaterThan: ">",
22
+ isLessThanOrEqual: "<=",
23
+ isGreaterThanOrEqual: ">="
24
+ };
25
+ return m[op] ?? "=";
26
+ }
27
+ function stateToFrappeParams(state) {
28
+ const {
29
+ pagination,
30
+ sorting,
31
+ filters,
32
+ columnFilters,
33
+ globalFilter
34
+ } = state;
35
+ const limitStart = pagination.pageIndex * pagination.pageSize;
36
+ const limit = pagination.pageSize;
37
+ const frappeFilters = [];
38
+ if (filters?.length) {
39
+ for (const f of filters) {
40
+ const op = mapFilterOperator(f.value?.operator ?? "is");
41
+ const val = f.value?.value;
42
+ if (op === "like" && typeof val === "string" && !val.includes("%")) {
43
+ frappeFilters.push([f.columnId, op, `%${val}%`]);
44
+ } else {
45
+ frappeFilters.push([f.columnId, op, val]);
46
+ }
47
+ }
48
+ }
49
+ for (const cf of columnFilters ?? []) {
50
+ if (cf.value != null && cf.value !== "") {
51
+ frappeFilters.push([cf.id, "=", cf.value]);
52
+ }
53
+ }
54
+ if (globalFilter && typeof globalFilter === "string" && globalFilter.trim()) {
55
+ frappeFilters.push(["name", "like", `%${globalFilter}%`]);
56
+ }
57
+ const orderBy = sorting?.length && sorting[0] ? sorting.map(s => ({
58
+ field: s.id,
59
+ order: s.desc ? Order.Desc : Order.Asc
60
+ })) : void 0;
61
+ return {
62
+ limitStart,
63
+ limit,
64
+ filters: frappeFilters,
65
+ orderBy
66
+ };
67
+ }
68
+ function FrappeTable({
69
+ baseURL,
70
+ auth,
71
+ syncOptions,
72
+ doctype,
73
+ columns,
74
+ fields,
75
+ filters: initialFilters,
76
+ onRowClick,
77
+ loading,
78
+ error,
79
+ savedFilters = false,
80
+ canCreateGlobalFilters = false,
81
+ userId,
82
+ serverSide = false,
83
+ onStateChange: onStateChangeProp,
84
+ ...dataTableProps
85
+ }) {
86
+ const {
87
+ knobProps
88
+ } = useResolvedKnobs();
89
+ const {
90
+ t
91
+ } = useTranslation();
92
+ const [errorState, setErrorState] = React.useState(null);
93
+ const [activeFilters, setActiveFilters] = React.useState(initialFilters);
94
+ const config = useFrappeConfig();
95
+ const finalBaseURL = baseURL ?? config?.baseURL;
96
+ const finalAuth = auth ?? config?.auth;
97
+ const finalSyncOptions = syncOptions ?? config?.syncOptions;
98
+ if (!finalBaseURL) {
99
+ throw new Error("FrappeTable requires baseURL prop or FrappeProvider with baseURL");
100
+ }
101
+ const frappeApp = useMemo(() => {
102
+ if (!serverSide || !finalBaseURL) return null;
103
+ return new FrappeApp(finalBaseURL, finalAuth ?? {});
104
+ }, [serverSide, finalBaseURL, finalAuth]);
105
+ const [serverData, setServerData] = useState([]);
106
+ const [serverRowCount, setServerRowCount] = useState(0);
107
+ const [serverLoading, setServerLoading] = useState(serverSide);
108
+ const lastFetchKey = useRef("");
109
+ const fetchServerData = useCallback(async state => {
110
+ if (!frappeApp || !serverSide) return;
111
+ const params = stateToFrappeParams(state);
112
+ const key = JSON.stringify(params);
113
+ if (key === lastFetchKey.current) return;
114
+ lastFetchKey.current = key;
115
+ setServerLoading(true);
116
+ try {
117
+ const [data, count] = await Promise.all([frappeApp.db().getDocList(doctype, {
118
+ fields: fields ?? ["name"],
119
+ filters: params.filters.length ? params.filters : void 0,
120
+ limitStart: params.limitStart,
121
+ limit: params.limit,
122
+ orderBy: params.orderBy
123
+ }), frappeApp.db().getCount(doctype, params.filters.length ? params.filters : void 0)]);
124
+ setServerData(data);
125
+ setServerRowCount(count);
126
+ setErrorState(null);
127
+ } catch (err) {
128
+ setErrorState(err instanceof Error ? err : new Error(String(err)));
129
+ setServerData([]);
130
+ setServerRowCount(0);
131
+ } finally {
132
+ setServerLoading(false);
133
+ }
134
+ }, [frappeApp, serverSide, doctype, fields]);
135
+ const handleStateChange = useCallback(state => {
136
+ onStateChangeProp?.(state);
137
+ if (serverSide) fetchServerData(state);
138
+ }, [onStateChangeProp, serverSide, fetchServerData]);
139
+ useEffect(() => {
140
+ if (serverSide && frappeApp) {
141
+ lastFetchKey.current = "";
142
+ fetchServerData({
143
+ data: [],
144
+ columns,
145
+ pagination: {
146
+ pageIndex: 0,
147
+ pageSize: 10
148
+ },
149
+ sorting: [],
150
+ filters: [],
151
+ columnFilters: [],
152
+ columnVisibility: {},
153
+ columnOrder: columns.map(c => c.id ?? ""),
154
+ columnSizing: {}
155
+ });
156
+ }
157
+ }, [serverSide, !!frappeApp, fetchServerData]);
158
+ const savedFiltersHook = savedFilters ? useSavedFilters({
159
+ userId
160
+ }) : null;
161
+ const collection = useFrappeCollection(serverSide ? void 0 : {
162
+ baseURL: finalBaseURL,
163
+ socketPort: config?.socketPort,
164
+ auth: finalAuth,
165
+ syncOptions: finalSyncOptions,
166
+ fixtures: config?.fixtures
167
+ }, serverSide ? "" : doctype, serverSide ? void 0 : {
168
+ fields,
169
+ filters: activeFilters
170
+ });
171
+ const {
172
+ data: rawData,
173
+ isLoading: isRowsLoading
174
+ } = useLiveQuery(q => collection ? q.from({
175
+ _list: collection
176
+ }) : null, [collection]);
177
+ const clientRows = useMemo(() => rawData ?? [], [rawData]);
178
+ const rows = serverSide ? serverData : clientRows;
179
+ const isRowsLoadingResolved = serverSide ? serverLoading : isRowsLoading;
180
+ const handleSelectFilter = filter => {
181
+ if (filter) {
182
+ setActiveFilters(filter.filters);
183
+ } else {
184
+ setActiveFilters(initialFilters);
185
+ }
186
+ };
187
+ const handleSaveFilter = async (filterName, isGlobal) => {
188
+ if (!savedFiltersHook || !activeFilters) return;
189
+ const filterArray = Array.isArray(activeFilters) ? activeFilters : Object.entries(activeFilters).map(([key, value]) => [key, "=", value]);
190
+ await savedFiltersHook.saveFilter(filterName, filterArray, isGlobal);
191
+ };
192
+ const handleDeleteFilter = async name => {
193
+ if (!savedFiltersHook) return;
194
+ await savedFiltersHook.deleteFilter(name);
195
+ };
196
+ if (errorState && error) {
197
+ return /* @__PURE__ */jsx(Fragment, {
198
+ children: error(errorState)
199
+ });
200
+ }
201
+ if (errorState) {
202
+ return /* @__PURE__ */jsxs(YStack, {
203
+ ...knobProps.panelPadding,
204
+ alignItems: "center",
205
+ children: [/* @__PURE__ */jsx(Text, {
206
+ color: "$red10",
207
+ children: t("Error loading {{doctype}}", {
208
+ doctype
209
+ })
210
+ }), /* @__PURE__ */jsx(Text, {
211
+ color: "$color10",
212
+ fontSize: "$2",
213
+ children: errorState.message
214
+ })]
215
+ });
216
+ }
217
+ if (isRowsLoadingResolved) {
218
+ if (loading) {
219
+ return /* @__PURE__ */jsx(Fragment, {
220
+ children: loading
221
+ });
222
+ }
223
+ return /* @__PURE__ */jsxs(YStack, {
224
+ ...knobProps.panelPadding,
225
+ alignItems: "center",
226
+ children: [/* @__PURE__ */jsx(Spinner, {
227
+ size: "large"
228
+ }), /* @__PURE__ */jsx(Text, {
229
+ color: "$color10",
230
+ marginTop: "$2",
231
+ children: t("Loading {{doctype}}...", {
232
+ doctype
233
+ })
234
+ })]
235
+ });
236
+ }
237
+ const rowData = rows ?? [];
238
+ if (rowData.length === 0) {
239
+ return /* @__PURE__ */jsx(YStack, {
240
+ ...knobProps.panelPadding,
241
+ alignItems: "center",
242
+ children: /* @__PURE__ */jsx(Text, {
243
+ color: "$color10",
244
+ children: t("No {{doctype}} records found", {
245
+ doctype
246
+ })
247
+ })
248
+ });
249
+ }
250
+ const columnsWithClick = onRowClick ? columns.map(col => ({
251
+ ...col,
252
+ cell: props => /* @__PURE__ */jsx(View, {
253
+ onPress: () => onRowClick(props.row.original),
254
+ cursor: "pointer",
255
+ hoverStyle: {
256
+ backgroundColor: "$color2"
257
+ },
258
+ children: typeof col.cell === "function" ? col.cell(props) : props.getValue()
259
+ })
260
+ })) : columns;
261
+ return /* @__PURE__ */jsxs(YStack, {
262
+ ...knobProps.gap,
263
+ flex: 1,
264
+ children: [savedFilters && savedFiltersHook && /* @__PURE__ */jsxs(XStack, {
265
+ ...knobProps.gap,
266
+ padding: "$2",
267
+ children: [/* @__PURE__ */jsx(SavedFilterDropdown, {
268
+ filters: savedFiltersHook.filters,
269
+ selectedFilter: null,
270
+ onSelectFilter: handleSelectFilter,
271
+ onDeleteFilter: handleDeleteFilter
272
+ }), /* @__PURE__ */jsx(FilterManager, {
273
+ currentFilters: Array.isArray(activeFilters) ? activeFilters : activeFilters ? Object.entries(activeFilters).map(([key, value]) => [key, "=", value]) : [],
274
+ onSaveFilter: handleSaveFilter,
275
+ canCreateGlobal: canCreateGlobalFilters
276
+ })]
277
+ }), /* @__PURE__ */jsx(DataTable, {
278
+ data: rowData,
279
+ columns: columnsWithClick,
280
+ ...(serverSide && {
281
+ manualFiltering: true,
282
+ manualPagination: true,
283
+ manualSorting: true,
284
+ rowCount: serverRowCount,
285
+ onStateChange: handleStateChange
286
+ }),
287
+ ...dataTableProps
288
+ })]
289
+ });
290
+ }
291
+ export { FrappeTable };
292
+ //# sourceMappingURL=FrappeTable.mjs.map