@multiplatform.one/frappe-ui 7.4.1 → 7.5.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 (722) hide show
  1. package/dist/cjs/FileBrowser/AttachLibrary.cjs +111 -0
  2. package/dist/cjs/FileBrowser/AttachLibrary.native.js +115 -0
  3. package/dist/cjs/FileBrowser/AttachLibrary.native.js.map +1 -0
  4. package/dist/cjs/FileBrowser/folderTree.cjs +84 -0
  5. package/dist/cjs/FileBrowser/folderTree.native.js +94 -0
  6. package/dist/cjs/FileBrowser/folderTree.native.js.map +1 -0
  7. package/dist/cjs/FileBrowser/index.cjs +661 -0
  8. package/dist/cjs/FileBrowser/index.native.js +735 -0
  9. package/dist/cjs/FileBrowser/index.native.js.map +1 -0
  10. package/dist/cjs/FileBrowser/types.cjs +18 -0
  11. package/dist/cjs/FileBrowser/types.native.js +21 -0
  12. package/dist/cjs/FileBrowser/types.native.js.map +1 -0
  13. package/dist/cjs/FileBrowser/viewPersistence.cjs +55 -0
  14. package/dist/cjs/FileBrowser/viewPersistence.native.js +60 -0
  15. package/dist/cjs/FileBrowser/viewPersistence.native.js.map +1 -0
  16. package/dist/cjs/FormSidebar.cjs +47 -47
  17. package/dist/cjs/FormSidebar.native.js +48 -50
  18. package/dist/cjs/FormSidebar.native.js.map +1 -1
  19. package/dist/cjs/FrappeAssignment.cjs +18 -13
  20. package/dist/cjs/FrappeAssignment.native.js +19 -13
  21. package/dist/cjs/FrappeAssignment.native.js.map +1 -1
  22. package/dist/cjs/FrappeCalendar.cjs +11 -10
  23. package/dist/cjs/FrappeCalendar.native.js +11 -10
  24. package/dist/cjs/FrappeCalendar.native.js.map +1 -1
  25. package/dist/cjs/FrappeChartCard.cjs +6 -15
  26. package/dist/cjs/FrappeChartCard.native.js +6 -15
  27. package/dist/cjs/FrappeChartCard.native.js.map +1 -1
  28. package/dist/cjs/FrappeDashboard.cjs +12 -9
  29. package/dist/cjs/FrappeDashboard.native.js +12 -9
  30. package/dist/cjs/FrappeDashboard.native.js.map +1 -1
  31. package/dist/cjs/FrappeForm.cjs +36 -25
  32. package/dist/cjs/FrappeForm.native.js +36 -25
  33. package/dist/cjs/FrappeForm.native.js.map +1 -1
  34. package/dist/cjs/FrappeGantt.cjs +7 -5
  35. package/dist/cjs/FrappeGantt.native.js +7 -5
  36. package/dist/cjs/FrappeGantt.native.js.map +1 -1
  37. package/dist/cjs/FrappeImageView.cjs +22 -22
  38. package/dist/cjs/FrappeImageView.native.js +24 -22
  39. package/dist/cjs/FrappeImageView.native.js.map +1 -1
  40. package/dist/cjs/FrappeKPICard.cjs +7 -29
  41. package/dist/cjs/FrappeKPICard.native.js +7 -29
  42. package/dist/cjs/FrappeKPICard.native.js.map +1 -1
  43. package/dist/cjs/FrappeKanban.cjs +11 -13
  44. package/dist/cjs/FrappeKanban.native.js +11 -13
  45. package/dist/cjs/FrappeKanban.native.js.map +1 -1
  46. package/dist/cjs/FrappeLikedBy.cjs +5 -5
  47. package/dist/cjs/FrappeLikedBy.native.js +6 -6
  48. package/dist/cjs/FrappeLikedBy.native.js.map +1 -1
  49. package/dist/cjs/FrappeListView.cjs +32 -33
  50. package/dist/cjs/FrappeListView.native.js +37 -39
  51. package/dist/cjs/FrappeListView.native.js.map +1 -1
  52. package/dist/cjs/FrappeReportBuilder.cjs +30 -46
  53. package/dist/cjs/FrappeReportBuilder.native.js +30 -42
  54. package/dist/cjs/FrappeReportBuilder.native.js.map +1 -1
  55. package/dist/cjs/FrappeReportView.cjs +5 -5
  56. package/dist/cjs/FrappeReportView.native.js +5 -5
  57. package/dist/cjs/FrappeReportView.native.js.map +1 -1
  58. package/dist/cjs/FrappeTreeView.cjs +9 -6
  59. package/dist/cjs/FrappeTreeView.native.js +10 -6
  60. package/dist/cjs/FrappeTreeView.native.js.map +1 -1
  61. package/dist/cjs/desk/DeskFormPage.cjs +3 -3
  62. package/dist/cjs/desk/DeskFormPage.native.js +3 -3
  63. package/dist/cjs/desk/DeskFormPage.native.js.map +1 -1
  64. package/dist/cjs/desk/DeskListPage.cjs +2 -2
  65. package/dist/cjs/desk/DeskListPage.native.js +2 -2
  66. package/dist/cjs/desk/DeskListPage.native.js.map +1 -1
  67. package/dist/cjs/desk/DeskShell.cjs +58 -38
  68. package/dist/cjs/desk/DeskShell.native.js +63 -44
  69. package/dist/cjs/desk/DeskShell.native.js.map +1 -1
  70. package/dist/cjs/desk/awesomebar.cjs +28 -16
  71. package/dist/cjs/desk/awesomebar.native.js +28 -16
  72. package/dist/cjs/desk/awesomebar.native.js.map +1 -1
  73. package/dist/cjs/fieldRegistry.cjs +15 -3
  74. package/dist/cjs/fieldRegistry.native.js +15 -3
  75. package/dist/cjs/fieldRegistry.native.js.map +1 -1
  76. package/dist/cjs/fields/Check/index.cjs +1 -1
  77. package/dist/cjs/fields/Check/index.native.js +1 -1
  78. package/dist/cjs/fields/Check/index.native.js.map +1 -1
  79. package/dist/cjs/fields/Color/index.cjs +1 -1
  80. package/dist/cjs/fields/Color/index.native.js +1 -1
  81. package/dist/cjs/fields/Color/index.native.js.map +1 -1
  82. package/dist/cjs/fields/Data/index.native.js.map +1 -1
  83. package/dist/cjs/fields/Date/index.native.js +47 -34
  84. package/dist/cjs/fields/Date/index.native.js.map +1 -1
  85. package/dist/cjs/fields/Date/sheetKeyboard.cjs +54 -0
  86. package/dist/cjs/fields/Date/sheetKeyboard.native.js +57 -0
  87. package/dist/cjs/fields/Date/sheetKeyboard.native.js.map +1 -0
  88. package/dist/cjs/fields/DynamicLink.cjs +37 -128
  89. package/dist/cjs/fields/DynamicLink.native.js +40 -138
  90. package/dist/cjs/fields/DynamicLink.native.js.map +1 -1
  91. package/dist/cjs/fields/FileUpload.cjs +233 -50
  92. package/dist/cjs/fields/FileUpload.native.js +242 -51
  93. package/dist/cjs/fields/FileUpload.native.js.map +1 -1
  94. package/dist/cjs/fields/FileUploadField/index.cjs +53 -20
  95. package/dist/cjs/fields/FileUploadField/index.native.js +56 -20
  96. package/dist/cjs/fields/FileUploadField/index.native.js.map +1 -1
  97. package/dist/cjs/fields/HTML/index.cjs +30 -51
  98. package/dist/cjs/fields/HTML/index.native.js +30 -51
  99. package/dist/cjs/fields/HTML/index.native.js.map +1 -1
  100. package/dist/cjs/fields/Icon/index.cjs +73 -0
  101. package/dist/cjs/fields/Icon/index.native.js +76 -0
  102. package/dist/cjs/fields/Icon/index.native.js.map +1 -0
  103. package/dist/cjs/fields/Link.cjs +34 -8
  104. package/dist/cjs/fields/Link.native.js +35 -9
  105. package/dist/cjs/fields/Link.native.js.map +1 -1
  106. package/dist/cjs/fields/LinkTree.cjs +114 -0
  107. package/dist/cjs/fields/LinkTree.native.js +125 -0
  108. package/dist/cjs/fields/LinkTree.native.js.map +1 -0
  109. package/dist/cjs/fields/LongText/index.cjs +6 -4
  110. package/dist/cjs/fields/LongText/index.native.js +6 -4
  111. package/dist/cjs/fields/LongText/index.native.js.map +1 -1
  112. package/dist/cjs/fields/Numeric/index.native.js.map +1 -1
  113. package/dist/cjs/fields/Password/index.cjs +178 -16
  114. package/dist/cjs/fields/Password/index.native.js +197 -16
  115. package/dist/cjs/fields/Password/index.native.js.map +1 -1
  116. package/dist/cjs/fields/Phone/index.native.js.map +1 -1
  117. package/dist/cjs/fields/ReadOnly/index.cjs +34 -48
  118. package/dist/cjs/fields/ReadOnly/index.native.js +34 -46
  119. package/dist/cjs/fields/ReadOnly/index.native.js.map +1 -1
  120. package/dist/cjs/fields/Select/index.cjs +1 -1
  121. package/dist/cjs/fields/Select/index.native.js +1 -1
  122. package/dist/cjs/fields/Select/index.native.js.map +1 -1
  123. package/dist/cjs/fields/SmallText/index.cjs +4 -3
  124. package/dist/cjs/fields/SmallText/index.native.js +4 -3
  125. package/dist/cjs/fields/SmallText/index.native.js.map +1 -1
  126. package/dist/cjs/fields/TableMultiSelect.cjs +39 -150
  127. package/dist/cjs/fields/TableMultiSelect.native.js +44 -171
  128. package/dist/cjs/fields/TableMultiSelect.native.js.map +1 -1
  129. package/dist/cjs/fields/TextEditor/index.cjs +26 -293
  130. package/dist/cjs/index.cjs +9 -0
  131. package/dist/cjs/index.native.js +9 -0
  132. package/dist/cjs/index.native.js.map +1 -1
  133. package/dist/cjs/schemaForm/SchemaWizard.cjs +182 -0
  134. package/dist/cjs/schemaForm/SchemaWizard.native.js +232 -0
  135. package/dist/cjs/schemaForm/SchemaWizard.native.js.map +1 -0
  136. package/dist/cjs/schemaForm/index.cjs +1 -1
  137. package/dist/cjs/schemaForm/index.native.js +1 -1
  138. package/dist/cjs/schemaForm/index.native.js.map +1 -1
  139. package/dist/cjs/shared/useKeyboardInset.cjs +48 -0
  140. package/dist/cjs/shared/useKeyboardInset.native.js +53 -0
  141. package/dist/cjs/shared/useKeyboardInset.native.js.map +1 -0
  142. package/dist/esm/FileBrowser/AttachLibrary.mjs +86 -0
  143. package/dist/esm/FileBrowser/AttachLibrary.mjs.map +1 -0
  144. package/dist/esm/FileBrowser/AttachLibrary.native.js +87 -0
  145. package/dist/esm/FileBrowser/AttachLibrary.native.js.map +1 -0
  146. package/dist/esm/FileBrowser/folderTree.mjs +52 -0
  147. package/dist/esm/FileBrowser/folderTree.mjs.map +1 -0
  148. package/dist/esm/FileBrowser/folderTree.native.js +59 -0
  149. package/dist/esm/FileBrowser/folderTree.native.js.map +1 -0
  150. package/dist/esm/FileBrowser/index.mjs +636 -0
  151. package/dist/esm/FileBrowser/index.mjs.map +1 -0
  152. package/dist/esm/FileBrowser/index.native.js +707 -0
  153. package/dist/esm/FileBrowser/index.native.js.map +1 -0
  154. package/dist/esm/FileBrowser/types.mjs +2 -0
  155. package/dist/esm/FileBrowser/types.mjs.map +1 -0
  156. package/dist/esm/FileBrowser/types.native.js +2 -0
  157. package/dist/esm/FileBrowser/types.native.js.map +1 -0
  158. package/dist/esm/FileBrowser/viewPersistence.mjs +29 -0
  159. package/dist/esm/FileBrowser/viewPersistence.mjs.map +1 -0
  160. package/dist/esm/FileBrowser/viewPersistence.native.js +31 -0
  161. package/dist/esm/FileBrowser/viewPersistence.native.js.map +1 -0
  162. package/dist/esm/FormSidebar.mjs +46 -46
  163. package/dist/esm/FormSidebar.mjs.map +1 -1
  164. package/dist/esm/FormSidebar.native.js +47 -49
  165. package/dist/esm/FormSidebar.native.js.map +1 -1
  166. package/dist/esm/FrappeAssignment.mjs +19 -14
  167. package/dist/esm/FrappeAssignment.mjs.map +1 -1
  168. package/dist/esm/FrappeAssignment.native.js +20 -14
  169. package/dist/esm/FrappeAssignment.native.js.map +1 -1
  170. package/dist/esm/FrappeCalendar.mjs +12 -11
  171. package/dist/esm/FrappeCalendar.mjs.map +1 -1
  172. package/dist/esm/FrappeCalendar.native.js +12 -11
  173. package/dist/esm/FrappeCalendar.native.js.map +1 -1
  174. package/dist/esm/FrappeChartCard.mjs +7 -16
  175. package/dist/esm/FrappeChartCard.mjs.map +1 -1
  176. package/dist/esm/FrappeChartCard.native.js +7 -16
  177. package/dist/esm/FrappeChartCard.native.js.map +1 -1
  178. package/dist/esm/FrappeDashboard.mjs +12 -9
  179. package/dist/esm/FrappeDashboard.mjs.map +1 -1
  180. package/dist/esm/FrappeDashboard.native.js +12 -9
  181. package/dist/esm/FrappeDashboard.native.js.map +1 -1
  182. package/dist/esm/FrappeForm.mjs +35 -24
  183. package/dist/esm/FrappeForm.mjs.map +1 -1
  184. package/dist/esm/FrappeForm.native.js +35 -24
  185. package/dist/esm/FrappeForm.native.js.map +1 -1
  186. package/dist/esm/FrappeGantt.mjs +7 -5
  187. package/dist/esm/FrappeGantt.mjs.map +1 -1
  188. package/dist/esm/FrappeGantt.native.js +7 -5
  189. package/dist/esm/FrappeGantt.native.js.map +1 -1
  190. package/dist/esm/FrappeImageView.mjs +23 -23
  191. package/dist/esm/FrappeImageView.mjs.map +1 -1
  192. package/dist/esm/FrappeImageView.native.js +25 -23
  193. package/dist/esm/FrappeImageView.native.js.map +1 -1
  194. package/dist/esm/FrappeKPICard.mjs +7 -29
  195. package/dist/esm/FrappeKPICard.mjs.map +1 -1
  196. package/dist/esm/FrappeKPICard.native.js +7 -29
  197. package/dist/esm/FrappeKPICard.native.js.map +1 -1
  198. package/dist/esm/FrappeKanban.mjs +13 -15
  199. package/dist/esm/FrappeKanban.mjs.map +1 -1
  200. package/dist/esm/FrappeKanban.native.js +13 -15
  201. package/dist/esm/FrappeKanban.native.js.map +1 -1
  202. package/dist/esm/FrappeLikedBy.mjs +6 -6
  203. package/dist/esm/FrappeLikedBy.mjs.map +1 -1
  204. package/dist/esm/FrappeLikedBy.native.js +7 -7
  205. package/dist/esm/FrappeLikedBy.native.js.map +1 -1
  206. package/dist/esm/FrappeListView.mjs +33 -34
  207. package/dist/esm/FrappeListView.mjs.map +1 -1
  208. package/dist/esm/FrappeListView.native.js +38 -40
  209. package/dist/esm/FrappeListView.native.js.map +1 -1
  210. package/dist/esm/FrappeReportBuilder.mjs +27 -43
  211. package/dist/esm/FrappeReportBuilder.mjs.map +1 -1
  212. package/dist/esm/FrappeReportBuilder.native.js +27 -39
  213. package/dist/esm/FrappeReportBuilder.native.js.map +1 -1
  214. package/dist/esm/FrappeReportView.mjs +6 -6
  215. package/dist/esm/FrappeReportView.mjs.map +1 -1
  216. package/dist/esm/FrappeReportView.native.js +6 -6
  217. package/dist/esm/FrappeReportView.native.js.map +1 -1
  218. package/dist/esm/FrappeTreeView.mjs +9 -6
  219. package/dist/esm/FrappeTreeView.mjs.map +1 -1
  220. package/dist/esm/FrappeTreeView.native.js +10 -6
  221. package/dist/esm/FrappeTreeView.native.js.map +1 -1
  222. package/dist/esm/desk/DeskFormPage.mjs +3 -3
  223. package/dist/esm/desk/DeskFormPage.mjs.map +1 -1
  224. package/dist/esm/desk/DeskFormPage.native.js +3 -3
  225. package/dist/esm/desk/DeskFormPage.native.js.map +1 -1
  226. package/dist/esm/desk/DeskListPage.mjs +2 -2
  227. package/dist/esm/desk/DeskListPage.mjs.map +1 -1
  228. package/dist/esm/desk/DeskListPage.native.js +2 -2
  229. package/dist/esm/desk/DeskListPage.native.js.map +1 -1
  230. package/dist/esm/desk/DeskShell.mjs +48 -28
  231. package/dist/esm/desk/DeskShell.mjs.map +1 -1
  232. package/dist/esm/desk/DeskShell.native.js +52 -33
  233. package/dist/esm/desk/DeskShell.native.js.map +1 -1
  234. package/dist/esm/desk/awesomebar.mjs +29 -17
  235. package/dist/esm/desk/awesomebar.mjs.map +1 -1
  236. package/dist/esm/desk/awesomebar.native.js +29 -17
  237. package/dist/esm/desk/awesomebar.native.js.map +1 -1
  238. package/dist/esm/fieldRegistry.mjs +16 -4
  239. package/dist/esm/fieldRegistry.mjs.map +1 -1
  240. package/dist/esm/fieldRegistry.native.js +16 -4
  241. package/dist/esm/fieldRegistry.native.js.map +1 -1
  242. package/dist/esm/fields/Check/index.mjs +1 -1
  243. package/dist/esm/fields/Check/index.mjs.map +1 -1
  244. package/dist/esm/fields/Check/index.native.js +1 -1
  245. package/dist/esm/fields/Check/index.native.js.map +1 -1
  246. package/dist/esm/fields/Color/index.mjs +1 -1
  247. package/dist/esm/fields/Color/index.mjs.map +1 -1
  248. package/dist/esm/fields/Color/index.native.js +1 -1
  249. package/dist/esm/fields/Color/index.native.js.map +1 -1
  250. package/dist/esm/fields/Data/index.mjs.map +1 -1
  251. package/dist/esm/fields/Data/index.native.js.map +1 -1
  252. package/dist/esm/fields/Date/index.native.js +46 -33
  253. package/dist/esm/fields/Date/index.native.js.map +1 -1
  254. package/dist/esm/fields/Date/sheetKeyboard.mjs +21 -0
  255. package/dist/esm/fields/Date/sheetKeyboard.mjs.map +1 -0
  256. package/dist/esm/fields/Date/sheetKeyboard.native.js +21 -0
  257. package/dist/esm/fields/Date/sheetKeyboard.native.js.map +1 -0
  258. package/dist/esm/fields/DynamicLink.mjs +37 -128
  259. package/dist/esm/fields/DynamicLink.mjs.map +1 -1
  260. package/dist/esm/fields/DynamicLink.native.js +40 -138
  261. package/dist/esm/fields/DynamicLink.native.js.map +1 -1
  262. package/dist/esm/fields/FileUpload.mjs +234 -51
  263. package/dist/esm/fields/FileUpload.mjs.map +1 -1
  264. package/dist/esm/fields/FileUpload.native.js +243 -52
  265. package/dist/esm/fields/FileUpload.native.js.map +1 -1
  266. package/dist/esm/fields/FileUploadField/index.mjs +55 -22
  267. package/dist/esm/fields/FileUploadField/index.mjs.map +1 -1
  268. package/dist/esm/fields/FileUploadField/index.native.js +58 -22
  269. package/dist/esm/fields/FileUploadField/index.native.js.map +1 -1
  270. package/dist/esm/fields/HTML/index.mjs +33 -54
  271. package/dist/esm/fields/HTML/index.mjs.map +1 -1
  272. package/dist/esm/fields/HTML/index.native.js +33 -54
  273. package/dist/esm/fields/HTML/index.native.js.map +1 -1
  274. package/dist/esm/fields/Icon/index.mjs +48 -0
  275. package/dist/esm/fields/Icon/index.mjs.map +1 -0
  276. package/dist/esm/fields/Icon/index.native.js +48 -0
  277. package/dist/esm/fields/Icon/index.native.js.map +1 -0
  278. package/dist/esm/fields/Link.mjs +35 -9
  279. package/dist/esm/fields/Link.mjs.map +1 -1
  280. package/dist/esm/fields/Link.native.js +36 -10
  281. package/dist/esm/fields/Link.native.js.map +1 -1
  282. package/dist/esm/fields/LinkTree.mjs +89 -0
  283. package/dist/esm/fields/LinkTree.mjs.map +1 -0
  284. package/dist/esm/fields/LinkTree.native.js +97 -0
  285. package/dist/esm/fields/LinkTree.native.js.map +1 -0
  286. package/dist/esm/fields/LongText/index.mjs +7 -5
  287. package/dist/esm/fields/LongText/index.mjs.map +1 -1
  288. package/dist/esm/fields/LongText/index.native.js +7 -5
  289. package/dist/esm/fields/LongText/index.native.js.map +1 -1
  290. package/dist/esm/fields/Numeric/index.mjs.map +1 -1
  291. package/dist/esm/fields/Numeric/index.native.js.map +1 -1
  292. package/dist/esm/fields/Password/index.mjs +180 -18
  293. package/dist/esm/fields/Password/index.mjs.map +1 -1
  294. package/dist/esm/fields/Password/index.native.js +199 -18
  295. package/dist/esm/fields/Password/index.native.js.map +1 -1
  296. package/dist/esm/fields/Phone/index.mjs.map +1 -1
  297. package/dist/esm/fields/Phone/index.native.js.map +1 -1
  298. package/dist/esm/fields/ReadOnly/index.mjs +36 -50
  299. package/dist/esm/fields/ReadOnly/index.mjs.map +1 -1
  300. package/dist/esm/fields/ReadOnly/index.native.js +36 -48
  301. package/dist/esm/fields/ReadOnly/index.native.js.map +1 -1
  302. package/dist/esm/fields/Select/index.mjs +1 -1
  303. package/dist/esm/fields/Select/index.mjs.map +1 -1
  304. package/dist/esm/fields/Select/index.native.js +1 -1
  305. package/dist/esm/fields/Select/index.native.js.map +1 -1
  306. package/dist/esm/fields/SmallText/index.mjs +5 -4
  307. package/dist/esm/fields/SmallText/index.mjs.map +1 -1
  308. package/dist/esm/fields/SmallText/index.native.js +5 -4
  309. package/dist/esm/fields/SmallText/index.native.js.map +1 -1
  310. package/dist/esm/fields/TableMultiSelect.mjs +41 -152
  311. package/dist/esm/fields/TableMultiSelect.mjs.map +1 -1
  312. package/dist/esm/fields/TableMultiSelect.native.js +46 -173
  313. package/dist/esm/fields/TableMultiSelect.native.js.map +1 -1
  314. package/dist/esm/fields/TextEditor/index.mjs +28 -284
  315. package/dist/esm/fields/TextEditor/index.mjs.map +1 -1
  316. package/dist/esm/index.mjs +5 -1
  317. package/dist/esm/index.mjs.map +1 -1
  318. package/dist/esm/index.native.js +5 -1
  319. package/dist/esm/index.native.js.map +1 -1
  320. package/dist/esm/schemaForm/SchemaWizard.mjs +156 -0
  321. package/dist/esm/schemaForm/SchemaWizard.mjs.map +1 -0
  322. package/dist/esm/schemaForm/SchemaWizard.native.js +203 -0
  323. package/dist/esm/schemaForm/SchemaWizard.native.js.map +1 -0
  324. package/dist/esm/schemaForm/index.mjs +1 -1
  325. package/dist/esm/schemaForm/index.mjs.map +1 -1
  326. package/dist/esm/schemaForm/index.native.js +1 -1
  327. package/dist/esm/schemaForm/index.native.js.map +1 -1
  328. package/dist/esm/shared/useKeyboardInset.mjs +23 -0
  329. package/dist/esm/shared/useKeyboardInset.mjs.map +1 -0
  330. package/dist/esm/shared/useKeyboardInset.native.js +25 -0
  331. package/dist/esm/shared/useKeyboardInset.native.js.map +1 -0
  332. package/dist/jsx/FileBrowser/AttachLibrary.mjs +86 -0
  333. package/dist/jsx/FileBrowser/AttachLibrary.mjs.map +1 -0
  334. package/dist/jsx/FileBrowser/AttachLibrary.native.js +115 -0
  335. package/dist/jsx/FileBrowser/AttachLibrary.native.js.map +1 -0
  336. package/dist/jsx/FileBrowser/folderTree.mjs +52 -0
  337. package/dist/jsx/FileBrowser/folderTree.mjs.map +1 -0
  338. package/dist/jsx/FileBrowser/folderTree.native.js +94 -0
  339. package/dist/jsx/FileBrowser/folderTree.native.js.map +1 -0
  340. package/dist/jsx/FileBrowser/index.mjs +636 -0
  341. package/dist/jsx/FileBrowser/index.mjs.map +1 -0
  342. package/dist/jsx/FileBrowser/index.native.js +735 -0
  343. package/dist/jsx/FileBrowser/index.native.js.map +1 -0
  344. package/dist/jsx/FileBrowser/types.mjs +2 -0
  345. package/dist/jsx/FileBrowser/types.mjs.map +1 -0
  346. package/dist/jsx/FileBrowser/types.native.js +21 -0
  347. package/dist/jsx/FileBrowser/types.native.js.map +1 -0
  348. package/dist/jsx/FileBrowser/viewPersistence.mjs +29 -0
  349. package/dist/jsx/FileBrowser/viewPersistence.mjs.map +1 -0
  350. package/dist/jsx/FileBrowser/viewPersistence.native.js +60 -0
  351. package/dist/jsx/FileBrowser/viewPersistence.native.js.map +1 -0
  352. package/dist/jsx/FormSidebar.mjs +46 -46
  353. package/dist/jsx/FormSidebar.mjs.map +1 -1
  354. package/dist/jsx/FormSidebar.native.js +48 -50
  355. package/dist/jsx/FormSidebar.native.js.map +1 -1
  356. package/dist/jsx/FrappeAssignment.mjs +19 -14
  357. package/dist/jsx/FrappeAssignment.mjs.map +1 -1
  358. package/dist/jsx/FrappeAssignment.native.js +19 -13
  359. package/dist/jsx/FrappeAssignment.native.js.map +1 -1
  360. package/dist/jsx/FrappeCalendar.mjs +12 -11
  361. package/dist/jsx/FrappeCalendar.mjs.map +1 -1
  362. package/dist/jsx/FrappeCalendar.native.js +11 -10
  363. package/dist/jsx/FrappeCalendar.native.js.map +1 -1
  364. package/dist/jsx/FrappeChartCard.mjs +7 -16
  365. package/dist/jsx/FrappeChartCard.mjs.map +1 -1
  366. package/dist/jsx/FrappeChartCard.native.js +6 -15
  367. package/dist/jsx/FrappeChartCard.native.js.map +1 -1
  368. package/dist/jsx/FrappeDashboard.mjs +12 -9
  369. package/dist/jsx/FrappeDashboard.mjs.map +1 -1
  370. package/dist/jsx/FrappeDashboard.native.js +12 -9
  371. package/dist/jsx/FrappeDashboard.native.js.map +1 -1
  372. package/dist/jsx/FrappeForm.mjs +35 -24
  373. package/dist/jsx/FrappeForm.mjs.map +1 -1
  374. package/dist/jsx/FrappeForm.native.js +36 -25
  375. package/dist/jsx/FrappeForm.native.js.map +1 -1
  376. package/dist/jsx/FrappeGantt.mjs +7 -5
  377. package/dist/jsx/FrappeGantt.mjs.map +1 -1
  378. package/dist/jsx/FrappeGantt.native.js +7 -5
  379. package/dist/jsx/FrappeGantt.native.js.map +1 -1
  380. package/dist/jsx/FrappeImageView.mjs +23 -23
  381. package/dist/jsx/FrappeImageView.mjs.map +1 -1
  382. package/dist/jsx/FrappeImageView.native.js +24 -22
  383. package/dist/jsx/FrappeImageView.native.js.map +1 -1
  384. package/dist/jsx/FrappeKPICard.mjs +7 -29
  385. package/dist/jsx/FrappeKPICard.mjs.map +1 -1
  386. package/dist/jsx/FrappeKPICard.native.js +7 -29
  387. package/dist/jsx/FrappeKPICard.native.js.map +1 -1
  388. package/dist/jsx/FrappeKanban.mjs +13 -15
  389. package/dist/jsx/FrappeKanban.mjs.map +1 -1
  390. package/dist/jsx/FrappeKanban.native.js +11 -13
  391. package/dist/jsx/FrappeKanban.native.js.map +1 -1
  392. package/dist/jsx/FrappeLikedBy.mjs +6 -6
  393. package/dist/jsx/FrappeLikedBy.mjs.map +1 -1
  394. package/dist/jsx/FrappeLikedBy.native.js +6 -6
  395. package/dist/jsx/FrappeLikedBy.native.js.map +1 -1
  396. package/dist/jsx/FrappeListView.mjs +33 -34
  397. package/dist/jsx/FrappeListView.mjs.map +1 -1
  398. package/dist/jsx/FrappeListView.native.js +37 -39
  399. package/dist/jsx/FrappeListView.native.js.map +1 -1
  400. package/dist/jsx/FrappeReportBuilder.mjs +27 -43
  401. package/dist/jsx/FrappeReportBuilder.mjs.map +1 -1
  402. package/dist/jsx/FrappeReportBuilder.native.js +30 -42
  403. package/dist/jsx/FrappeReportBuilder.native.js.map +1 -1
  404. package/dist/jsx/FrappeReportView.mjs +6 -6
  405. package/dist/jsx/FrappeReportView.mjs.map +1 -1
  406. package/dist/jsx/FrappeReportView.native.js +5 -5
  407. package/dist/jsx/FrappeReportView.native.js.map +1 -1
  408. package/dist/jsx/FrappeTreeView.mjs +9 -6
  409. package/dist/jsx/FrappeTreeView.mjs.map +1 -1
  410. package/dist/jsx/FrappeTreeView.native.js +10 -6
  411. package/dist/jsx/FrappeTreeView.native.js.map +1 -1
  412. package/dist/jsx/desk/DeskFormPage.mjs +3 -3
  413. package/dist/jsx/desk/DeskFormPage.mjs.map +1 -1
  414. package/dist/jsx/desk/DeskFormPage.native.js +3 -3
  415. package/dist/jsx/desk/DeskFormPage.native.js.map +1 -1
  416. package/dist/jsx/desk/DeskListPage.mjs +2 -2
  417. package/dist/jsx/desk/DeskListPage.mjs.map +1 -1
  418. package/dist/jsx/desk/DeskListPage.native.js +2 -2
  419. package/dist/jsx/desk/DeskListPage.native.js.map +1 -1
  420. package/dist/jsx/desk/DeskShell.mjs +48 -28
  421. package/dist/jsx/desk/DeskShell.mjs.map +1 -1
  422. package/dist/jsx/desk/DeskShell.native.js +63 -44
  423. package/dist/jsx/desk/DeskShell.native.js.map +1 -1
  424. package/dist/jsx/desk/awesomebar.mjs +29 -17
  425. package/dist/jsx/desk/awesomebar.mjs.map +1 -1
  426. package/dist/jsx/desk/awesomebar.native.js +28 -16
  427. package/dist/jsx/desk/awesomebar.native.js.map +1 -1
  428. package/dist/jsx/fieldRegistry.mjs +16 -4
  429. package/dist/jsx/fieldRegistry.mjs.map +1 -1
  430. package/dist/jsx/fieldRegistry.native.js +15 -3
  431. package/dist/jsx/fieldRegistry.native.js.map +1 -1
  432. package/dist/jsx/fields/Check/index.mjs +1 -1
  433. package/dist/jsx/fields/Check/index.mjs.map +1 -1
  434. package/dist/jsx/fields/Check/index.native.js +1 -1
  435. package/dist/jsx/fields/Check/index.native.js.map +1 -1
  436. package/dist/jsx/fields/Color/index.mjs +1 -1
  437. package/dist/jsx/fields/Color/index.mjs.map +1 -1
  438. package/dist/jsx/fields/Color/index.native.js +1 -1
  439. package/dist/jsx/fields/Color/index.native.js.map +1 -1
  440. package/dist/jsx/fields/Data/index.mjs.map +1 -1
  441. package/dist/jsx/fields/Data/index.native.js.map +1 -1
  442. package/dist/jsx/fields/Date/index.native.js +47 -34
  443. package/dist/jsx/fields/Date/index.native.js.map +1 -1
  444. package/dist/jsx/fields/Date/sheetKeyboard.mjs +21 -0
  445. package/dist/jsx/fields/Date/sheetKeyboard.mjs.map +1 -0
  446. package/dist/jsx/fields/Date/sheetKeyboard.native.js +57 -0
  447. package/dist/jsx/fields/Date/sheetKeyboard.native.js.map +1 -0
  448. package/dist/jsx/fields/DynamicLink.mjs +37 -128
  449. package/dist/jsx/fields/DynamicLink.mjs.map +1 -1
  450. package/dist/jsx/fields/DynamicLink.native.js +40 -138
  451. package/dist/jsx/fields/DynamicLink.native.js.map +1 -1
  452. package/dist/jsx/fields/FileUpload.mjs +234 -51
  453. package/dist/jsx/fields/FileUpload.mjs.map +1 -1
  454. package/dist/jsx/fields/FileUpload.native.js +242 -51
  455. package/dist/jsx/fields/FileUpload.native.js.map +1 -1
  456. package/dist/jsx/fields/FileUploadField/index.mjs +55 -22
  457. package/dist/jsx/fields/FileUploadField/index.mjs.map +1 -1
  458. package/dist/jsx/fields/FileUploadField/index.native.js +56 -20
  459. package/dist/jsx/fields/FileUploadField/index.native.js.map +1 -1
  460. package/dist/jsx/fields/HTML/index.mjs +33 -54
  461. package/dist/jsx/fields/HTML/index.mjs.map +1 -1
  462. package/dist/jsx/fields/HTML/index.native.js +30 -51
  463. package/dist/jsx/fields/HTML/index.native.js.map +1 -1
  464. package/dist/jsx/fields/Icon/index.mjs +48 -0
  465. package/dist/jsx/fields/Icon/index.mjs.map +1 -0
  466. package/dist/jsx/fields/Icon/index.native.js +76 -0
  467. package/dist/jsx/fields/Icon/index.native.js.map +1 -0
  468. package/dist/jsx/fields/Link.mjs +35 -9
  469. package/dist/jsx/fields/Link.mjs.map +1 -1
  470. package/dist/jsx/fields/Link.native.js +35 -9
  471. package/dist/jsx/fields/Link.native.js.map +1 -1
  472. package/dist/jsx/fields/LinkTree.mjs +89 -0
  473. package/dist/jsx/fields/LinkTree.mjs.map +1 -0
  474. package/dist/jsx/fields/LinkTree.native.js +125 -0
  475. package/dist/jsx/fields/LinkTree.native.js.map +1 -0
  476. package/dist/jsx/fields/LongText/index.mjs +7 -5
  477. package/dist/jsx/fields/LongText/index.mjs.map +1 -1
  478. package/dist/jsx/fields/LongText/index.native.js +6 -4
  479. package/dist/jsx/fields/LongText/index.native.js.map +1 -1
  480. package/dist/jsx/fields/Numeric/index.mjs.map +1 -1
  481. package/dist/jsx/fields/Numeric/index.native.js.map +1 -1
  482. package/dist/jsx/fields/Password/index.mjs +180 -18
  483. package/dist/jsx/fields/Password/index.mjs.map +1 -1
  484. package/dist/jsx/fields/Password/index.native.js +197 -16
  485. package/dist/jsx/fields/Password/index.native.js.map +1 -1
  486. package/dist/jsx/fields/Phone/index.mjs.map +1 -1
  487. package/dist/jsx/fields/Phone/index.native.js.map +1 -1
  488. package/dist/jsx/fields/ReadOnly/index.mjs +36 -50
  489. package/dist/jsx/fields/ReadOnly/index.mjs.map +1 -1
  490. package/dist/jsx/fields/ReadOnly/index.native.js +34 -46
  491. package/dist/jsx/fields/ReadOnly/index.native.js.map +1 -1
  492. package/dist/jsx/fields/Select/index.mjs +1 -1
  493. package/dist/jsx/fields/Select/index.mjs.map +1 -1
  494. package/dist/jsx/fields/Select/index.native.js +1 -1
  495. package/dist/jsx/fields/Select/index.native.js.map +1 -1
  496. package/dist/jsx/fields/SmallText/index.mjs +5 -4
  497. package/dist/jsx/fields/SmallText/index.mjs.map +1 -1
  498. package/dist/jsx/fields/SmallText/index.native.js +4 -3
  499. package/dist/jsx/fields/SmallText/index.native.js.map +1 -1
  500. package/dist/jsx/fields/TableMultiSelect.mjs +41 -152
  501. package/dist/jsx/fields/TableMultiSelect.mjs.map +1 -1
  502. package/dist/jsx/fields/TableMultiSelect.native.js +44 -171
  503. package/dist/jsx/fields/TableMultiSelect.native.js.map +1 -1
  504. package/dist/jsx/fields/TextEditor/index.mjs +28 -284
  505. package/dist/jsx/fields/TextEditor/index.mjs.map +1 -1
  506. package/dist/jsx/index.js +5 -1
  507. package/dist/jsx/index.js.map +1 -1
  508. package/dist/jsx/index.mjs +5 -1
  509. package/dist/jsx/index.mjs.map +1 -1
  510. package/dist/jsx/index.native.js +9 -0
  511. package/dist/jsx/index.native.js.map +1 -1
  512. package/dist/jsx/schemaForm/SchemaWizard.mjs +156 -0
  513. package/dist/jsx/schemaForm/SchemaWizard.mjs.map +1 -0
  514. package/dist/jsx/schemaForm/SchemaWizard.native.js +232 -0
  515. package/dist/jsx/schemaForm/SchemaWizard.native.js.map +1 -0
  516. package/dist/jsx/schemaForm/index.mjs +1 -1
  517. package/dist/jsx/schemaForm/index.mjs.map +1 -1
  518. package/dist/jsx/schemaForm/index.native.js +1 -1
  519. package/dist/jsx/schemaForm/index.native.js.map +1 -1
  520. package/dist/jsx/shared/useKeyboardInset.mjs +23 -0
  521. package/dist/jsx/shared/useKeyboardInset.mjs.map +1 -0
  522. package/dist/jsx/shared/useKeyboardInset.native.js +53 -0
  523. package/dist/jsx/shared/useKeyboardInset.native.js.map +1 -0
  524. package/package.json +16 -16
  525. package/src/FileBrowser/AttachLibrary.tsx +90 -0
  526. package/src/FileBrowser/FileBrowser.spec.tsx +268 -0
  527. package/src/FileBrowser/FileBrowser.stories.tsx +93 -0
  528. package/src/FileBrowser/folderTree.ts +62 -0
  529. package/src/FileBrowser/index.tsx +724 -0
  530. package/src/FileBrowser/types.ts +61 -0
  531. package/src/FileBrowser/viewPersistence.ts +37 -0
  532. package/src/FormSidebar.stories.tsx +82 -25
  533. package/src/FormSidebar.tsx +51 -37
  534. package/src/FrappeAssignment.stories.tsx +158 -12
  535. package/src/FrappeAssignment.tsx +11 -9
  536. package/src/FrappeCalendar.stories.tsx +85 -9
  537. package/src/FrappeCalendar.tsx +9 -9
  538. package/src/FrappeChartCard.stories.tsx +107 -14
  539. package/src/FrappeChartCard.tsx +5 -12
  540. package/src/FrappeDashboard.stories.tsx +79 -9
  541. package/src/FrappeDashboard.tsx +8 -8
  542. package/src/FrappeForm.tsx +36 -24
  543. package/src/FrappeGantt.stories.tsx +73 -4
  544. package/src/FrappeGantt.tsx +7 -4
  545. package/src/FrappeImageView.tsx +23 -22
  546. package/src/FrappeKPICard.stories.tsx +110 -10
  547. package/src/FrappeKPICard.tsx +6 -22
  548. package/src/FrappeKanban.stories.tsx +115 -9
  549. package/src/FrappeKanban.tsx +10 -9
  550. package/src/FrappeLikedBy.stories.tsx +82 -10
  551. package/src/FrappeLikedBy.tsx +6 -6
  552. package/src/FrappeList.stories.tsx +85 -8
  553. package/src/FrappeListView.spec.tsx +59 -0
  554. package/src/FrappeListView.tsx +27 -30
  555. package/src/FrappeProvider.stories.tsx +53 -2
  556. package/src/FrappeReportBuilder.tsx +21 -34
  557. package/src/FrappeReportView.tsx +4 -4
  558. package/src/FrappeTreeView.tsx +8 -4
  559. package/src/components/attachments.stories.tsx +79 -7
  560. package/src/components/tags.stories.tsx +131 -6
  561. package/src/components/timeline.stories.tsx +128 -7
  562. package/src/desk/Awesomebar.stories.tsx +3 -2
  563. package/src/desk/DeskFormPage.tsx +3 -2
  564. package/src/desk/DeskListPage.tsx +2 -1
  565. package/src/desk/DeskShell.stories.tsx +21 -2
  566. package/src/desk/DeskShell.tsx +56 -39
  567. package/src/desk/awesomebar.tsx +33 -22
  568. package/src/fieldRegistry.spec.tsx +17 -1
  569. package/src/fieldRegistry.ts +14 -4
  570. package/src/fields/Barcode/Barcode.stories.tsx +32 -0
  571. package/src/fields/Check/Check.spec.tsx +27 -0
  572. package/src/fields/Check/Check.stories.tsx +58 -0
  573. package/src/fields/Check/index.tsx +7 -1
  574. package/src/fields/CodeEditor/CodeEditor.stories.tsx +32 -0
  575. package/src/fields/Color/Color.spec.tsx +21 -0
  576. package/src/fields/Color/Color.stories.tsx +33 -0
  577. package/src/fields/Color/index.tsx +7 -1
  578. package/src/fields/Data/Data.spec.tsx +26 -0
  579. package/src/fields/Data/Data.stories.tsx +58 -0
  580. package/src/fields/Data/index.tsx +6 -0
  581. package/src/fields/Date/Date.stories.tsx +32 -0
  582. package/src/fields/Date/Datetime.stories.tsx +32 -0
  583. package/src/fields/Date/index.native.tsx +45 -33
  584. package/src/fields/Date/nativePresentation.spec.tsx +20 -0
  585. package/src/fields/Date/sheetKeyboard.spec.ts +51 -0
  586. package/src/fields/Date/sheetKeyboard.ts +37 -0
  587. package/src/fields/DateRange/DateRange.stories.tsx +41 -0
  588. package/src/fields/Duration/Duration.stories.tsx +32 -0
  589. package/src/fields/DynamicLink.stories.tsx +115 -14
  590. package/src/fields/DynamicLink.tsx +43 -125
  591. package/src/fields/FileUpload.tsx +273 -54
  592. package/src/fields/FileUploadField/FileUploadField.stories.tsx +87 -0
  593. package/src/fields/FileUploadField/index.tsx +73 -25
  594. package/src/fields/FrappeFileUpload.stories.tsx +32 -0
  595. package/src/fields/Geolocation/Geolocation.stories.tsx +33 -0
  596. package/src/fields/HTML/Html.stories.tsx +59 -0
  597. package/src/fields/HTML/index.tsx +25 -34
  598. package/src/fields/Heading/Heading.stories.tsx +63 -2
  599. package/src/fields/Icon/index.tsx +90 -0
  600. package/src/fields/Link.spec.tsx +10 -0
  601. package/src/fields/Link.stories.tsx +161 -2
  602. package/src/fields/Link.tree.spec.tsx +111 -0
  603. package/src/fields/Link.tsx +36 -19
  604. package/src/fields/LinkTree.tsx +102 -0
  605. package/src/fields/LongText/LongText.stories.tsx +66 -0
  606. package/src/fields/LongText/index.tsx +13 -5
  607. package/src/fields/MarkdownEditor/MarkdownEditor.stories.tsx +36 -0
  608. package/src/fields/MentionInput/MentionInput.stories.tsx +44 -0
  609. package/src/fields/Numeric/Numeric.spec.tsx +7 -0
  610. package/src/fields/Numeric/Numeric.stories.tsx +32 -0
  611. package/src/fields/Numeric/index.tsx +7 -0
  612. package/src/fields/OTPInput/OTPInput.stories.tsx +33 -0
  613. package/src/fields/Password/Password.spec.tsx +119 -0
  614. package/src/fields/Password/Password.stories.tsx +58 -0
  615. package/src/fields/Password/index.tsx +243 -23
  616. package/src/fields/Phone/Phone.stories.tsx +33 -0
  617. package/src/fields/Phone/index.tsx +4 -0
  618. package/src/fields/Progress/Progress.stories.tsx +32 -0
  619. package/src/fields/RadioGroup/RadioGroup.stories.tsx +37 -0
  620. package/src/fields/Rating/Rating.stories.tsx +33 -0
  621. package/src/fields/ReadOnly/ReadOnly.stories.tsx +54 -0
  622. package/src/fields/ReadOnly/index.tsx +41 -55
  623. package/src/fields/Select/Select.stories.tsx +43 -0
  624. package/src/fields/Select/index.tsx +5 -1
  625. package/src/fields/Signature/Signature.stories.tsx +32 -0
  626. package/src/fields/Slider/Slider.stories.tsx +32 -0
  627. package/src/fields/SmallText/SmallText.stories.tsx +58 -0
  628. package/src/fields/SmallText/index.tsx +9 -4
  629. package/src/fields/Switch/Switch.stories.tsx +33 -0
  630. package/src/fields/TableMultiSelect.spec.tsx +26 -5
  631. package/src/fields/TableMultiSelect.stories.tsx +90 -14
  632. package/src/fields/TableMultiSelect.tsx +55 -177
  633. package/src/fields/TextEditor/TextEditor.spec.tsx +5 -3
  634. package/src/fields/TextEditor/TextEditor.stories.tsx +66 -0
  635. package/src/fields/TextEditor/index.tsx +32 -299
  636. package/src/fields/TimePicker/TimePicker.stories.tsx +32 -0
  637. package/src/fields/ToggleGroup/ToggleGroup.stories.tsx +35 -0
  638. package/src/frappeRemainder.designLaw.spec.ts +176 -0
  639. package/src/frappeViews.designLaw.spec.ts +94 -0
  640. package/src/index.ts +18 -1
  641. package/src/schemaForm/SchemaForm.spec.tsx +154 -0
  642. package/src/schemaForm/SchemaForm.stories.tsx +27 -0
  643. package/src/schemaForm/SchemaWizard.spec.tsx +134 -0
  644. package/src/schemaForm/SchemaWizard.stories.tsx +94 -0
  645. package/src/schemaForm/SchemaWizard.tsx +192 -0
  646. package/src/schemaForm/index.tsx +3 -4
  647. package/src/shared/useKeyboardInset.ts +45 -0
  648. package/types/FileBrowser/AttachLibrary.d.ts +13 -0
  649. package/types/FileBrowser/AttachLibrary.d.ts.map +1 -0
  650. package/types/FileBrowser/folderTree.d.ts +15 -0
  651. package/types/FileBrowser/folderTree.d.ts.map +1 -0
  652. package/types/FileBrowser/index.d.ts +4 -0
  653. package/types/FileBrowser/index.d.ts.map +1 -0
  654. package/types/FileBrowser/types.d.ts +59 -0
  655. package/types/FileBrowser/types.d.ts.map +1 -0
  656. package/types/FileBrowser/viewPersistence.d.ts +4 -0
  657. package/types/FileBrowser/viewPersistence.d.ts.map +1 -0
  658. package/types/FormSidebar.d.ts.map +1 -1
  659. package/types/FrappeAssignment.d.ts.map +1 -1
  660. package/types/FrappeChartCard.d.ts.map +1 -1
  661. package/types/FrappeDashboard.d.ts.map +1 -1
  662. package/types/FrappeForm.d.ts.map +1 -1
  663. package/types/FrappeGantt.d.ts.map +1 -1
  664. package/types/FrappeImageView.d.ts.map +1 -1
  665. package/types/FrappeKPICard.d.ts.map +1 -1
  666. package/types/FrappeKanban.d.ts.map +1 -1
  667. package/types/FrappeListView.d.ts.map +1 -1
  668. package/types/FrappeReportBuilder.d.ts.map +1 -1
  669. package/types/FrappeReportView.d.ts.map +1 -1
  670. package/types/FrappeTreeView.d.ts.map +1 -1
  671. package/types/desk/DeskFormPage.d.ts.map +1 -1
  672. package/types/desk/DeskListPage.d.ts.map +1 -1
  673. package/types/desk/DeskShell.d.ts +4 -2
  674. package/types/desk/DeskShell.d.ts.map +1 -1
  675. package/types/desk/awesomebar.d.ts.map +1 -1
  676. package/types/fieldRegistry.d.ts.map +1 -1
  677. package/types/fields/Check/index.d.ts +6 -0
  678. package/types/fields/Check/index.d.ts.map +1 -1
  679. package/types/fields/Color/index.d.ts +6 -0
  680. package/types/fields/Color/index.d.ts.map +1 -1
  681. package/types/fields/Data/index.d.ts +6 -0
  682. package/types/fields/Data/index.d.ts.map +1 -1
  683. package/types/fields/Date/index.native.d.ts +5 -0
  684. package/types/fields/Date/index.native.d.ts.map +1 -1
  685. package/types/fields/Date/sheetKeyboard.d.ts +19 -0
  686. package/types/fields/Date/sheetKeyboard.d.ts.map +1 -0
  687. package/types/fields/DynamicLink.d.ts.map +1 -1
  688. package/types/fields/FileUpload.d.ts +11 -1
  689. package/types/fields/FileUpload.d.ts.map +1 -1
  690. package/types/fields/FileUploadField/index.d.ts +8 -1
  691. package/types/fields/FileUploadField/index.d.ts.map +1 -1
  692. package/types/fields/HTML/index.d.ts.map +1 -1
  693. package/types/fields/Icon/index.d.ts +15 -0
  694. package/types/fields/Icon/index.d.ts.map +1 -0
  695. package/types/fields/Link.d.ts +6 -1
  696. package/types/fields/Link.d.ts.map +1 -1
  697. package/types/fields/LinkTree.d.ts +3 -0
  698. package/types/fields/LinkTree.d.ts.map +1 -0
  699. package/types/fields/LongText/index.d.ts +4 -0
  700. package/types/fields/LongText/index.d.ts.map +1 -1
  701. package/types/fields/Numeric/index.d.ts +7 -0
  702. package/types/fields/Numeric/index.d.ts.map +1 -1
  703. package/types/fields/Password/index.d.ts +1 -0
  704. package/types/fields/Password/index.d.ts.map +1 -1
  705. package/types/fields/Phone/index.d.ts +4 -0
  706. package/types/fields/Phone/index.d.ts.map +1 -1
  707. package/types/fields/ReadOnly/index.d.ts.map +1 -1
  708. package/types/fields/Select/index.d.ts +4 -0
  709. package/types/fields/Select/index.d.ts.map +1 -1
  710. package/types/fields/SmallText/index.d.ts +4 -0
  711. package/types/fields/SmallText/index.d.ts.map +1 -1
  712. package/types/fields/TableMultiSelect.d.ts +2 -1
  713. package/types/fields/TableMultiSelect.d.ts.map +1 -1
  714. package/types/fields/TextEditor/index.d.ts +2 -3
  715. package/types/fields/TextEditor/index.d.ts.map +1 -1
  716. package/types/index.d.ts +7 -1
  717. package/types/index.d.ts.map +1 -1
  718. package/types/schemaForm/SchemaWizard.d.ts +20 -0
  719. package/types/schemaForm/SchemaWizard.d.ts.map +1 -0
  720. package/types/schemaForm/index.d.ts.map +1 -1
  721. package/types/shared/useKeyboardInset.d.ts +18 -0
  722. package/types/shared/useKeyboardInset.d.ts.map +1 -0
@@ -14,12 +14,96 @@ export default {
14
14
  docs: {
15
15
  description: {
16
16
  component:
17
- "Assignment (ToDo) management for one document: live assignee list from ToDo docs filtered by reference_type/reference_name, add via the backend-searching User combobox, complete (status Closed) and remove (status Cancelled) per row — assign_to parity over plain ToDo CRUD.",
17
+ "Assignment (ToDo) management for one document: live assignee list from ToDo docs filtered by reference_type/reference_name, add via the backend-searching User combobox, complete (status Closed) and remove (status Cancelled) per row — assign_to parity over plain ToDo CRUD. Fixture stories are network-hermetic (G-15/D-05): documents come from InMemoryFixtureProvider and DocType meta / search_link from an in-story fetch mock, so nothing leaves the machine. The separately-named Live story is the live-bench arm.",
18
18
  },
19
19
  },
20
20
  },
21
21
  };
22
22
 
23
+ // ---------------------------------------------------------------------------
24
+ // Hermetic story host (G-15 story honesty / D-05, closes UX-P18).
25
+ //
26
+ // Fixture-backed stories previously pointed at https://demo.frappe.cloud. The
27
+ // fixture provider serves the *collection*, but DocType meta and the add
28
+ // flow's search_link still resolve over HTTP — so those stories fired real
29
+ // cross-origin requests the browser rejected with CORS, poisoning the console
30
+ // for every automated probe. MOCK_HOST keeps the same code path (real fetch,
31
+ // real meta/search shape) without leaving the machine; ERR_HOST is the
32
+ // deliberate failure host for the error-state story.
33
+ // ---------------------------------------------------------------------------
34
+
35
+ const MOCK_HOST = "https://frappeassignment.mock.test";
36
+ const ERR_HOST = "https://forbidden.frappeassignment.mock.test";
37
+
38
+ function assignmentMetaRaw(name: string) {
39
+ if (name === "User") {
40
+ return {
41
+ name: "User",
42
+ module: "Core",
43
+ title_field: "full_name",
44
+ fields: [
45
+ { fieldname: "full_name", fieldtype: "Data", label: "Full Name", in_list_view: 1 },
46
+ { fieldname: "user_image", fieldtype: "Attach Image", label: "User Image" },
47
+ ],
48
+ permissions: [{ role: "All", read: 1, write: 1, create: 1 }],
49
+ };
50
+ }
51
+ if (name === "Task") {
52
+ return {
53
+ name: "Task",
54
+ module: "Projects",
55
+ title_field: "subject",
56
+ fields: [{ fieldname: "subject", fieldtype: "Data", label: "Subject", in_list_view: 1 }],
57
+ permissions: [{ role: "All", read: 1, write: 1, create: 1 }],
58
+ };
59
+ }
60
+ return {
61
+ name: name || "ToDo",
62
+ module: "Desk",
63
+ title_field: "description",
64
+ fields: [
65
+ { fieldname: "description", fieldtype: "Text", label: "Description", in_list_view: 1 },
66
+ {
67
+ fieldname: "allocated_to",
68
+ fieldtype: "Link",
69
+ label: "Allocated To",
70
+ options: "User",
71
+ in_list_view: 1,
72
+ },
73
+ { fieldname: "assigned_by", fieldtype: "Link", label: "Assigned By", options: "User" },
74
+ {
75
+ fieldname: "reference_type",
76
+ fieldtype: "Link",
77
+ label: "Reference Type",
78
+ options: "DocType",
79
+ },
80
+ { fieldname: "reference_name", fieldtype: "Dynamic Link", label: "Reference Name" },
81
+ {
82
+ fieldname: "status",
83
+ fieldtype: "Select",
84
+ label: "Status",
85
+ options: "Open\nClosed\nCancelled",
86
+ in_list_view: 1,
87
+ },
88
+ {
89
+ fieldname: "priority",
90
+ fieldtype: "Select",
91
+ label: "Priority",
92
+ options: "Low\nMedium\nHigh",
93
+ },
94
+ { fieldname: "date", fieldtype: "Date", label: "Due Date" },
95
+ ],
96
+ permissions: [{ role: "All", read: 1, write: 1, create: 1 }],
97
+ };
98
+ }
99
+
100
+ function jsonResponse(body: unknown, status = 200): Response {
101
+ return new Response(JSON.stringify(body), {
102
+ status,
103
+ headers: { "Content-Type": "application/json" },
104
+ });
105
+ }
106
+
23
107
  const todoFixtures: FrappeToDo[] = [
24
108
  {
25
109
  name: "TODO-001",
@@ -86,15 +170,77 @@ const userFixtures: FrappeUserDoc[] = [
86
170
  { name: "maria@example.com", doctype: "User", full_name: "Maria Garcia" },
87
171
  ];
88
172
 
89
- const makeFixtures = () => new InMemoryFixtureProvider({ ToDo: todoFixtures, User: userFixtures });
173
+ (() => {
174
+ if (typeof window === "undefined") return;
175
+ const w = window as unknown as Record<string, unknown>;
176
+ if (w.__frappeAssignmentMockFetch) return;
177
+ w.__frappeAssignmentMockFetch = true;
178
+ const realFetch = window.fetch.bind(window);
179
+ window.fetch = async (input: RequestInfo | URL, init?: RequestInit): Promise<Response> => {
180
+ const urlStr =
181
+ typeof input === "string" ? input : input instanceof URL ? input.toString() : input.url;
182
+ if (urlStr.startsWith(ERR_HOST)) return jsonResponse({ message: "Not permitted" }, 403);
183
+ if (urlStr.startsWith(MOCK_HOST)) {
184
+ const url = new URL(urlStr);
185
+ if (url.pathname === "/api/method/frappe.desk.form.load.getdoctype") {
186
+ const doctype = url.searchParams.get("doctype") || "ToDo";
187
+ return jsonResponse({ docs: [assignmentMetaRaw(doctype)] });
188
+ }
189
+ if (url.pathname === "/api/method/frappe.desk.search.search_link") {
190
+ const txt = (url.searchParams.get("txt") || "").toLowerCase();
191
+ const hits = userFixtures.filter(
192
+ (user) =>
193
+ !txt ||
194
+ user.name.toLowerCase().includes(txt) ||
195
+ (user.full_name ?? "").toLowerCase().includes(txt),
196
+ );
197
+ return jsonResponse({
198
+ message: hits.map((user) => ({
199
+ value: user.name,
200
+ description: user.full_name,
201
+ })),
202
+ });
203
+ }
204
+ const metaMatch = url.pathname.match(/^\/api\/resource\/DocType\/(.+)$/);
205
+ if (metaMatch)
206
+ return jsonResponse({ data: assignmentMetaRaw(decodeURIComponent(metaMatch[1])) });
207
+ if (url.pathname === "/api/resource/DocType") {
208
+ return jsonResponse({
209
+ data: [
210
+ { name: "ToDo", module: "Desk" },
211
+ { name: "User", module: "Core" },
212
+ { name: "Task", module: "Projects" },
213
+ ],
214
+ });
215
+ }
216
+ // Everything else (guest field-peek, counts): empty, never the network.
217
+ return jsonResponse({ data: [] });
218
+ }
219
+ return realFetch(input as RequestInfo, init);
220
+ };
221
+ })();
222
+
223
+ const doctypeFixtures = [
224
+ { ...assignmentMetaRaw("ToDo"), doctype: "DocType" },
225
+ { ...assignmentMetaRaw("User"), doctype: "DocType" },
226
+ { ...assignmentMetaRaw("Task"), doctype: "DocType" },
227
+ ];
228
+
229
+ const makeFixtures = () =>
230
+ new InMemoryFixtureProvider({
231
+ ToDo: todoFixtures,
232
+ User: userFixtures,
233
+ DocType: doctypeFixtures,
234
+ });
90
235
 
91
236
  /**
92
237
  * Two open assignees + one completed. The cancelled ToDo (TODO-005) and the
93
238
  * other document's ToDo (TODO-004) must not render. The add flow's user
94
- * search hits the backend (`search_link`) and is exercised in the Live story.
239
+ * search is served hermetically via the in-story search_link mock; the Live
240
+ * story exercises the real bench search.
95
241
  */
96
242
  export const Main = () => (
97
- <FrappeProvider baseURL="https://demo.frappe.cloud" fixtures={makeFixtures()}>
243
+ <FrappeProvider baseURL={MOCK_HOST} fixtures={makeFixtures()}>
98
244
  <FrappeAssignment
99
245
  doctype="Task"
100
246
  name="TASK-001"
@@ -109,21 +255,21 @@ Main.storyName = "Main";
109
255
 
110
256
  /** Completed section hidden via showCompleted={false}. */
111
257
  export const OpenOnly = () => (
112
- <FrappeProvider baseURL="https://demo.frappe.cloud" fixtures={makeFixtures()}>
258
+ <FrappeProvider baseURL={MOCK_HOST} fixtures={makeFixtures()}>
113
259
  <FrappeAssignment doctype="Task" name="TASK-001" showCompleted={false} />
114
260
  </FrappeProvider>
115
261
  );
116
262
 
117
263
  /** No assignments match: the compact empty state must show. */
118
264
  export const Empty = () => (
119
- <FrappeProvider baseURL="https://demo.frappe.cloud" fixtures={makeFixtures()}>
265
+ <FrappeProvider baseURL={MOCK_HOST} fixtures={makeFixtures()}>
120
266
  <FrappeAssignment doctype="Task" name="TASK-NO-ASSIGNMENTS" />
121
267
  </FrappeProvider>
122
268
  );
123
269
 
124
270
  /** disabled hides add and per-row mutation affordances. */
125
271
  export const Disabled = () => (
126
- <FrappeProvider baseURL="https://demo.frappe.cloud" fixtures={makeFixtures()}>
272
+ <FrappeProvider baseURL={MOCK_HOST} fixtures={makeFixtures()}>
127
273
  <FrappeAssignment doctype="Task" name="TASK-001" disabled />
128
274
  </FrappeProvider>
129
275
  );
@@ -143,18 +289,18 @@ class PendingFixtureProvider extends InMemoryFixtureProvider {
143
289
  * (LC-20 / DG-ST-02).
144
290
  */
145
291
  export const Loading = () => (
146
- <FrappeProvider baseURL="https://demo.frappe.cloud" fixtures={new PendingFixtureProvider()}>
292
+ <FrappeProvider baseURL={MOCK_HOST} fixtures={new PendingFixtureProvider()}>
147
293
  <FrappeAssignment doctype="Task" name="TASK-001" />
148
294
  </FrappeProvider>
149
295
  );
150
296
 
151
297
  /**
152
- * Live ToDo subscription against an unreachable host with no fixtures: the
153
- * failed initial sync surfaces as error chrome with Retry instead of
154
- * masquerading as "no one assigned" (DG-ST-01 / Axiom 6).
298
+ * Collection that fails with no fixtures: error chrome with Retry instead of
299
+ * masquerading as "no one assigned" (DG-ST-01 / Axiom 6). The failure is
300
+ * served hermetically the in-story mock answers ERR_HOST with 403.
155
301
  */
156
302
  export const LoadError = () => (
157
- <FrappeProvider baseURL="https://frappe-assignment-error.mock.test">
303
+ <FrappeProvider baseURL={ERR_HOST}>
158
304
  <FrappeAssignment doctype="Task" name="TASK-001" />
159
305
  </FrappeProvider>
160
306
  );
@@ -15,7 +15,7 @@
15
15
  */
16
16
  import { AsyncBoundary, Avatar } from "@multiplatform.one/components";
17
17
  import { useFrappeCollection, useLiveQuery } from "@multiplatform.one/frappe";
18
- import { Button } from "@multiplatform.one/forms";
18
+ import { Button, formCommonColors } from "@multiplatform.one/forms";
19
19
  import { useResolvedKnobs } from "@multiplatform.one/theme";
20
20
  import { CheckIcon, PlusIcon, XIcon } from "@phosphor-icons/react";
21
21
  import { useCallback, useMemo, useState } from "react";
@@ -168,6 +168,8 @@ function AssignmentRow({
168
168
  onRemove?: (todo: FrappeToDo) => void;
169
169
  }) {
170
170
  const { t } = useTranslation();
171
+ const { knobProps } = useResolvedKnobs();
172
+ const iconSize = Number(knobProps.controlIcon?.width) || 14;
171
173
  return (
172
174
  <XStack
173
175
  role="listitem"
@@ -178,17 +180,17 @@ function AssignmentRow({
178
180
  >
179
181
  <Avatar size="$2" src={image} name={label} />
180
182
  <YStack flex={1} minWidth={0}>
181
- <Text fontSize="$3" numberOfLines={1}>
183
+ <Text {...knobProps.body} numberOfLines={1}>
182
184
  {label}
183
185
  </Text>
184
186
  {todo.allocated_to && todo.allocated_to !== label ? (
185
- <Text fontSize="$1" color="$color10" numberOfLines={1}>
187
+ <Text {...knobProps.label} color={formCommonColors.muted} numberOfLines={1}>
186
188
  {todo.allocated_to}
187
189
  </Text>
188
190
  ) : null}
189
191
  </YStack>
190
192
  {completed ? (
191
- <CheckIcon size={14} aria-label={t("Completed")} />
193
+ <CheckIcon size={iconSize} aria-label={t("Completed")} />
192
194
  ) : (
193
195
  <>
194
196
  {onComplete ? (
@@ -199,7 +201,7 @@ function AssignmentRow({
199
201
  disabled={disabled}
200
202
  aria-label={t("Mark assignment complete")}
201
203
  onPress={() => onComplete(todo)}
202
- icon={<CheckIcon size={14} />}
204
+ icon={<CheckIcon size={iconSize} />}
203
205
  />
204
206
  ) : null}
205
207
  {onRemove ? (
@@ -210,7 +212,7 @@ function AssignmentRow({
210
212
  disabled={disabled}
211
213
  aria-label={t("Remove assignment")}
212
214
  onPress={() => onRemove(todo)}
213
- icon={<XIcon size={14} />}
215
+ icon={<XIcon size={iconSize} />}
214
216
  />
215
217
  ) : null}
216
218
  </>
@@ -377,7 +379,7 @@ function FrappeAssignmentBody({
377
379
  <YStack {...knobProps.gap} testID="frappe-assignment" {...stackProps}>
378
380
  <FrappeReconnectIndicator config={connectionConfig} />
379
381
  <XStack alignItems="center" gap="$2">
380
- <Text flex={1} fontSize="$2" fontWeight="600" color="$color11">
382
+ <Text flex={1} {...knobProps.label} fontWeight="400" color={formCommonColors.muted}>
381
383
  {label ?? t("Assigned To")}
382
384
  </Text>
383
385
  {canMutate ? (
@@ -428,7 +430,7 @@ function FrappeAssignmentBody({
428
430
  })}
429
431
  {showCompleted && completed.length > 0 ? (
430
432
  <YStack gap="$2">
431
- <Text fontSize="$1" color="$color10">
433
+ <Text {...knobProps.label} color={formCommonColors.muted} fontWeight="400">
432
434
  {t("Completed")}
433
435
  </Text>
434
436
  {completed.map((todo) => {
@@ -448,7 +450,7 @@ function FrappeAssignmentBody({
448
450
  </YStack>
449
451
  </AsyncBoundary>
450
452
  {actionError ? (
451
- <Text role="alert" fontSize="$2" color="$red11">
453
+ <Text role="alert" {...knobProps.label} color={formCommonColors.error}>
452
454
  {actionError}
453
455
  </Text>
454
456
  ) : null}
@@ -15,12 +15,88 @@ export default {
15
15
  docs: {
16
16
  description: {
17
17
  component:
18
- "Calendar over useFrappeCollection / useLiveQuery. Stories use InMemoryFixtureProvider so the live path runs against fixtures. Events support pointer drag-and-drop rescheduling (web only): moves persist via collection.update and then fire onEventMove(name, fromDate, toDate). Set enableEventDrag={false} to opt out.",
18
+ "Calendar over useFrappeCollection / useLiveQuery. Fixture stories are network-hermetic (G-15/D-05): documents come from InMemoryFixtureProvider and DocType meta from an in-story fetch mock, so nothing leaves the machine. The separately-named Live story is the live-bench arm it targets STORYBOOK_FRAPPE_URL when reachable and falls back to fixtures otherwise. Events support pointer drag-and-drop rescheduling (web only): moves persist via collection.update and then fire onEventMove(name, fromDate, toDate). Set enableEventDrag={false} to opt out.",
19
19
  },
20
20
  },
21
21
  },
22
22
  };
23
23
 
24
+ // ---------------------------------------------------------------------------
25
+ // Hermetic story host (G-15 story honesty / D-05, closes UX-P18).
26
+ //
27
+ // Fixture-backed stories previously pointed at https://demo.frappe.cloud. The
28
+ // fixture provider serves the *collection*, but DocType meta still resolves
29
+ // over HTTP — so those stories fired a real cross-origin request the browser
30
+ // rejected with CORS, poisoning the console. MOCK_HOST keeps the same code
31
+ // path (real fetch, real meta shape) without leaving the machine.
32
+ // ---------------------------------------------------------------------------
33
+
34
+ const MOCK_HOST = "https://frappecalendar.mock.test";
35
+
36
+ function eventMetaRaw(name: string) {
37
+ const isLeave = name === "LeaveApplication";
38
+ return {
39
+ name,
40
+ module: isLeave ? "HR" : "Desk",
41
+ title_field: "subject",
42
+ fields: isLeave
43
+ ? [
44
+ { fieldname: "subject", fieldtype: "Data", label: "Subject", in_list_view: 1 },
45
+ { fieldname: "from_date", fieldtype: "Date", label: "From Date", in_list_view: 1 },
46
+ { fieldname: "to_date", fieldtype: "Date", label: "To Date", in_list_view: 1 },
47
+ { fieldname: "color", fieldtype: "Color", label: "Color" },
48
+ ]
49
+ : [
50
+ { fieldname: "subject", fieldtype: "Data", label: "Subject", in_list_view: 1 },
51
+ { fieldname: "starts_on", fieldtype: "Datetime", label: "Starts On", in_list_view: 1 },
52
+ { fieldname: "ends_on", fieldtype: "Datetime", label: "Ends On" },
53
+ { fieldname: "color", fieldtype: "Color", label: "Color" },
54
+ { fieldname: "description", fieldtype: "Small Text", label: "Description" },
55
+ ],
56
+ permissions: [{ role: "All", read: 1, write: 1, create: 1 }],
57
+ };
58
+ }
59
+
60
+ function jsonResponse(body: unknown, status = 200): Response {
61
+ return new Response(JSON.stringify(body), {
62
+ status,
63
+ headers: { "Content-Type": "application/json" },
64
+ });
65
+ }
66
+
67
+ (() => {
68
+ if (typeof window === "undefined") return;
69
+ const w = window as unknown as Record<string, unknown>;
70
+ if (w.__frappeCalendarMockFetch) return;
71
+ w.__frappeCalendarMockFetch = true;
72
+ const realFetch = window.fetch.bind(window);
73
+ window.fetch = async (input: RequestInfo | URL, init?: RequestInit): Promise<Response> => {
74
+ const urlStr =
75
+ typeof input === "string" ? input : input instanceof URL ? input.toString() : input.url;
76
+ if (urlStr.startsWith(MOCK_HOST)) {
77
+ const url = new URL(urlStr);
78
+ if (url.pathname === "/api/method/frappe.desk.form.load.getdoctype") {
79
+ const doctype = url.searchParams.get("doctype") ?? "CalEvent";
80
+ return jsonResponse({ docs: [eventMetaRaw(doctype)] });
81
+ }
82
+ const metaMatch = url.pathname.match(/^\/api\/resource\/DocType\/(.+)$/);
83
+ if (metaMatch)
84
+ return jsonResponse({ data: eventMetaRaw(decodeURIComponent(metaMatch[1])) });
85
+ if (url.pathname === "/api/resource/DocType") {
86
+ return jsonResponse({
87
+ data: [
88
+ { name: "CalEvent", module: "Desk" },
89
+ { name: "LeaveApplication", module: "HR" },
90
+ ],
91
+ });
92
+ }
93
+ // Everything else (guest field-peek, counts): empty, never the network.
94
+ return jsonResponse({ data: [] });
95
+ }
96
+ return realFetch(input as RequestInfo, init);
97
+ };
98
+ })();
99
+
24
100
  interface CalEvent {
25
101
  name: string;
26
102
  doctype: string;
@@ -96,7 +172,7 @@ const eventFixtures: CalEvent[] = [
96
172
 
97
173
  export const MonthView = () => (
98
174
  <FrappeProvider
99
- baseURL="https://demo.frappe.cloud"
175
+ baseURL={MOCK_HOST}
100
176
  fixtures={new InMemoryFixtureProvider({ CalEvent: eventFixtures })}
101
177
  >
102
178
  <FrappeCalendar<CalEvent>
@@ -124,7 +200,7 @@ MonthView.parameters = {
124
200
  MonthView.storyName = "Main";
125
201
  export const WeekView = () => (
126
202
  <FrappeProvider
127
- baseURL="https://demo.frappe.cloud"
203
+ baseURL={MOCK_HOST}
128
204
  fixtures={new InMemoryFixtureProvider({ CalEvent: eventFixtures })}
129
205
  >
130
206
  <FrappeCalendar<CalEvent>
@@ -150,7 +226,7 @@ WeekView.parameters = {
150
226
 
151
227
  export const DayView = () => (
152
228
  <FrappeProvider
153
- baseURL="https://demo.frappe.cloud"
229
+ baseURL={MOCK_HOST}
154
230
  fixtures={new InMemoryFixtureProvider({ CalEvent: eventFixtures })}
155
231
  >
156
232
  <FrappeCalendar<CalEvent>
@@ -176,7 +252,7 @@ DayView.parameters = {
176
252
 
177
253
  export const WithCustomEventRenderer = () => (
178
254
  <FrappeProvider
179
- baseURL="https://demo.frappe.cloud"
255
+ baseURL={MOCK_HOST}
180
256
  fixtures={new InMemoryFixtureProvider({ CalEvent: eventFixtures })}
181
257
  >
182
258
  <FrappeCalendar<CalEvent>
@@ -209,7 +285,7 @@ WithCustomEventRenderer.parameters = {
209
285
 
210
286
  export const MondayFirstDay = () => (
211
287
  <FrappeProvider
212
- baseURL="https://demo.frappe.cloud"
288
+ baseURL={MOCK_HOST}
213
289
  fixtures={new InMemoryFixtureProvider({ CalEvent: eventFixtures })}
214
290
  >
215
291
  <FrappeCalendar<CalEvent>
@@ -333,7 +409,7 @@ const dateOnlyFixtures: LeaveRequest[] = [
333
409
  */
334
410
  export const DateOnlyFields = () => (
335
411
  <FrappeProvider
336
- baseURL="https://demo.frappe.cloud"
412
+ baseURL={MOCK_HOST}
337
413
  fixtures={new InMemoryFixtureProvider({ LeaveApplication: dateOnlyFixtures })}
338
414
  >
339
415
  <FrappeCalendar<LeaveRequest>
@@ -422,7 +498,7 @@ const namedColorFixtures: CalEvent[] = [
422
498
 
423
499
  export const NamedColors = () => (
424
500
  <FrappeProvider
425
- baseURL="https://demo.frappe.cloud"
501
+ baseURL={MOCK_HOST}
426
502
  fixtures={new InMemoryFixtureProvider({ CalEvent: namedColorFixtures })}
427
503
  >
428
504
  <FrappeCalendar<CalEvent>
@@ -448,7 +524,7 @@ NamedColors.parameters = {
448
524
 
449
525
  export const WithEventMove = () => (
450
526
  <FrappeProvider
451
- baseURL="https://demo.frappe.cloud"
527
+ baseURL={MOCK_HOST}
452
528
  fixtures={new InMemoryFixtureProvider({ CalEvent: eventFixtures })}
453
529
  >
454
530
  <FrappeCalendar<CalEvent>
@@ -5,7 +5,7 @@ import {
5
5
  type CalendarEvent,
6
6
  type CalendarEventMoveRange,
7
7
  } from "@multiplatform.one/components";
8
- import { Spinner } from "@multiplatform.one/forms";
8
+ import { Spinner, formCommonColors } from "@multiplatform.one/forms";
9
9
  import React, { useMemo, useCallback, useState, type ReactNode } from "react";
10
10
  import { Text, YStack, type YStackProps } from "tamagui";
11
11
  import { useTranslation } from "react-i18next";
@@ -214,11 +214,11 @@ export function FrappeCalendar<TDoc extends { name: string; doctype: string }>({
214
214
  // was invisible on light fills and failed AA on mid-tone doc colors.
215
215
  const defaultEventContent = useCallback(
216
216
  (calEvent: CalendarEvent): ReactNode => (
217
- <Text fontSize="$2" numberOfLines={2} color={eventChipTextColor(calEvent.color)}>
217
+ <Text numberOfLines={2} color={eventChipTextColor(calEvent.color)} {...knobProps.label}>
218
218
  {calEvent.title}
219
219
  </Text>
220
220
  ),
221
- [],
221
+ [knobProps.label],
222
222
  );
223
223
 
224
224
  // Bridge renderEvent from Frappe doc to generic CalendarEvent
@@ -271,7 +271,7 @@ export function FrappeCalendar<TDoc extends { name: string; doctype: string }>({
271
271
  return (
272
272
  <YStack {...knobProps.panelPadding} alignItems="center" {...stackProps}>
273
273
  <Spinner size="large" />
274
- <Text color="$color10" marginTop="$2">
274
+ <Text color={formCommonColors.muted} marginTop="$2" {...knobProps.body}>
275
275
  {t("Loading {{doctype}}...", { doctype })}
276
276
  </Text>
277
277
  </YStack>
@@ -282,8 +282,8 @@ export function FrappeCalendar<TDoc extends { name: string; doctype: string }>({
282
282
  if (error) return <>{error(queryError)}</>;
283
283
  return (
284
284
  <YStack {...knobProps.panelPadding} alignItems="center" {...stackProps} {...knobProps.gap}>
285
- <Text color="$red11">{t("Error loading {{doctype}}", { doctype })}</Text>
286
- <Text color="$color10" fontSize="$2">
285
+ <Text color={formCommonColors.error}>{t("Error loading {{doctype}}", { doctype })}</Text>
286
+ <Text color={formCommonColors.muted} {...knobProps.body}>
287
287
  {queryError.message}
288
288
  </Text>
289
289
  </YStack>
@@ -296,13 +296,13 @@ export function FrappeCalendar<TDoc extends { name: string; doctype: string }>({
296
296
  {actionError && (
297
297
  <YStack
298
298
  {...knobProps.panelPadding}
299
- {...knobProps.borderRadius}
299
+ {...knobProps.containerRadius}
300
300
  backgroundColor="$red2"
301
301
  borderColor="$red7"
302
302
  borderWidth={1}
303
303
  >
304
- <Text color="$red11">{t("Action failed")}</Text>
305
- <Text color="$color10" fontSize="$2">
304
+ <Text color={formCommonColors.error}>{t("Action failed")}</Text>
305
+ <Text color={formCommonColors.muted} {...knobProps.body}>
306
306
  {actionError.message}
307
307
  </Text>
308
308
  </YStack>