@multiplatform.one/backoffice 7.34.4 → 7.36.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 (811) hide show
  1. package/dist/cjs/chrome/BackofficeAwesomebar.cjs +8 -3
  2. package/dist/cjs/chrome/BackofficeAwesomebar.native.js +8 -3
  3. package/dist/cjs/chrome/BackofficeAwesomebar.native.js.map +1 -1
  4. package/dist/cjs/chrome/CommandPalette.cjs +19 -15
  5. package/dist/cjs/chrome/CommandPalette.native.js +21 -15
  6. package/dist/cjs/chrome/CommandPalette.native.js.map +1 -1
  7. package/dist/cjs/chrome/NotificationsButton.cjs +2 -1
  8. package/dist/cjs/chrome/NotificationsButton.native.js +2 -1
  9. package/dist/cjs/chrome/NotificationsButton.native.js.map +1 -1
  10. package/dist/cjs/chrome/UserMenu.cjs +143 -77
  11. package/dist/cjs/chrome/UserMenu.native.js +157 -90
  12. package/dist/cjs/chrome/UserMenu.native.js.map +1 -1
  13. package/dist/cjs/chrome/notifications-panel.cjs +3 -4
  14. package/dist/cjs/chrome/notifications-panel.native.js +3 -4
  15. package/dist/cjs/chrome/notifications-panel.native.js.map +1 -1
  16. package/dist/cjs/chrome/user-session.cjs +2 -1
  17. package/dist/cjs/chrome/user-session.native.js +2 -1
  18. package/dist/cjs/chrome/user-session.native.js.map +1 -1
  19. package/dist/cjs/config/BackofficeProvider.cjs +3 -1
  20. package/dist/cjs/config/BackofficeProvider.native.js +3 -1
  21. package/dist/cjs/config/BackofficeProvider.native.js.map +1 -1
  22. package/dist/cjs/config/capabilities.cjs +3 -0
  23. package/dist/cjs/config/capabilities.native.js +3 -0
  24. package/dist/cjs/config/capabilities.native.js.map +1 -1
  25. package/dist/cjs/desk/Desk.cjs +17 -0
  26. package/dist/cjs/desk/Desk.native.js +17 -0
  27. package/dist/cjs/desk/Desk.native.js.map +1 -1
  28. package/dist/cjs/desk/DeskSurface.cjs +10 -0
  29. package/dist/cjs/desk/DeskSurface.native.js +10 -0
  30. package/dist/cjs/desk/DeskSurface.native.js.map +1 -1
  31. package/dist/cjs/desk/resolveDeskPath.cjs +6 -0
  32. package/dist/cjs/desk/resolveDeskPath.native.js +6 -0
  33. package/dist/cjs/desk/resolveDeskPath.native.js.map +1 -1
  34. package/dist/cjs/desk/target.cjs +5 -0
  35. package/dist/cjs/desk/target.native.js +5 -0
  36. package/dist/cjs/desk/target.native.js.map +1 -1
  37. package/dist/cjs/form/DocFormScreen.cjs +24 -3
  38. package/dist/cjs/form/DocFormScreen.native.js +27 -6
  39. package/dist/cjs/form/DocFormScreen.native.js.map +1 -1
  40. package/dist/cjs/form/FormConnections.cjs +2 -2
  41. package/dist/cjs/form/FormConnections.native.js +2 -2
  42. package/dist/cjs/form/FormConnections.native.js.map +1 -1
  43. package/dist/cjs/form/FormErrorBoundary.cjs +1 -1
  44. package/dist/cjs/form/FormErrorBoundary.native.js +1 -1
  45. package/dist/cjs/form/FormErrorBoundary.native.js.map +1 -1
  46. package/dist/cjs/form/FormSidebarPanel.cjs +1 -1
  47. package/dist/cjs/form/FormSidebarPanel.native.js +1 -1
  48. package/dist/cjs/form/FormSidebarPanel.native.js.map +1 -1
  49. package/dist/cjs/form/FormTimeline.cjs +1 -2
  50. package/dist/cjs/form/FormTimeline.native.js +1 -2
  51. package/dist/cjs/form/FormTimeline.native.js.map +1 -1
  52. package/dist/cjs/form/FormToolbar.cjs +97 -87
  53. package/dist/cjs/form/FormToolbar.native.js +98 -94
  54. package/dist/cjs/form/FormToolbar.native.js.map +1 -1
  55. package/dist/cjs/formBuilder/DoctypePicker.cjs +89 -0
  56. package/dist/cjs/formBuilder/DoctypePicker.native.js +98 -0
  57. package/dist/cjs/formBuilder/DoctypePicker.native.js.map +1 -0
  58. package/dist/cjs/formBuilder/FieldPalette.cjs +148 -0
  59. package/dist/cjs/formBuilder/FieldPalette.native.js +165 -0
  60. package/dist/cjs/formBuilder/FieldPalette.native.js.map +1 -0
  61. package/dist/cjs/formBuilder/FieldPropertiesPanel.cjs +186 -0
  62. package/dist/cjs/formBuilder/FieldPropertiesPanel.native.js +237 -0
  63. package/dist/cjs/formBuilder/FieldPropertiesPanel.native.js.map +1 -0
  64. package/dist/cjs/formBuilder/FormBuilderCanvas.cjs +407 -0
  65. package/dist/cjs/formBuilder/FormBuilderCanvas.native.js +472 -0
  66. package/dist/cjs/formBuilder/FormBuilderCanvas.native.js.map +1 -0
  67. package/dist/cjs/formBuilder/FormBuilderScreen.cjs +448 -0
  68. package/dist/cjs/formBuilder/FormBuilderScreen.native.js +537 -0
  69. package/dist/cjs/formBuilder/FormBuilderScreen.native.js.map +1 -0
  70. package/dist/cjs/formBuilder/api.cjs +160 -0
  71. package/dist/cjs/formBuilder/api.native.js +193 -0
  72. package/dist/cjs/formBuilder/api.native.js.map +1 -0
  73. package/dist/cjs/formBuilder/fieldtypes.cjs +114 -0
  74. package/dist/cjs/formBuilder/fieldtypes.native.js +133 -0
  75. package/dist/cjs/formBuilder/fieldtypes.native.js.map +1 -0
  76. package/dist/cjs/formBuilder/index.cjs +68 -0
  77. package/dist/cjs/formBuilder/index.native.js +71 -0
  78. package/dist/cjs/formBuilder/index.native.js.map +1 -0
  79. package/dist/cjs/formBuilder/model.cjs +466 -0
  80. package/dist/cjs/formBuilder/model.native.js +714 -0
  81. package/dist/cjs/formBuilder/model.native.js.map +1 -0
  82. package/dist/cjs/formBuilder/useFormBuilderDrag.cjs +399 -0
  83. package/dist/cjs/formBuilder/useFormBuilderDrag.native.js +434 -0
  84. package/dist/cjs/formBuilder/useFormBuilderDrag.native.js.map +1 -0
  85. package/dist/cjs/i18n/en.cjs +294 -4
  86. package/dist/cjs/i18n/en.native.js +294 -4
  87. package/dist/cjs/i18n/en.native.js.map +1 -1
  88. package/dist/cjs/index.cjs +41 -1
  89. package/dist/cjs/index.native.js +40 -0
  90. package/dist/cjs/index.native.js.map +1 -1
  91. package/dist/cjs/list/DoctypeListScreen.cjs +138 -40
  92. package/dist/cjs/list/DoctypeListScreen.native.js +155 -55
  93. package/dist/cjs/list/DoctypeListScreen.native.js.map +1 -1
  94. package/dist/cjs/list/ListFilterBar.cjs +8 -4
  95. package/dist/cjs/list/ListFilterBar.native.js +8 -4
  96. package/dist/cjs/list/ListFilterBar.native.js.map +1 -1
  97. package/dist/cjs/list/ListSidebar.cjs +4 -3
  98. package/dist/cjs/list/ListSidebar.native.js +4 -3
  99. package/dist/cjs/list/ListSidebar.native.js.map +1 -1
  100. package/dist/cjs/list/filter-chips.cjs +10 -4
  101. package/dist/cjs/list/filter-chips.native.js +10 -4
  102. package/dist/cjs/list/filter-chips.native.js.map +1 -1
  103. package/dist/cjs/list/filter-editor.cjs +1 -10
  104. package/dist/cjs/list/filter-editor.native.js +1 -10
  105. package/dist/cjs/list/filter-editor.native.js.map +1 -1
  106. package/dist/cjs/list/filter-saved.cjs +0 -1
  107. package/dist/cjs/list/filter-saved.native.js +0 -1
  108. package/dist/cjs/list/filter-saved.native.js.map +1 -1
  109. package/dist/cjs/list/filter-sort.cjs +0 -1
  110. package/dist/cjs/list/filter-sort.native.js +0 -1
  111. package/dist/cjs/list/filter-sort.native.js.map +1 -1
  112. package/dist/cjs/list/filter-standard.cjs +1 -3
  113. package/dist/cjs/list/filter-standard.native.js +1 -3
  114. package/dist/cjs/list/filter-standard.native.js.map +1 -1
  115. package/dist/cjs/list/list-tools-sheet.cjs +10 -3
  116. package/dist/cjs/list/list-tools-sheet.native.js +12 -3
  117. package/dist/cjs/list/list-tools-sheet.native.js.map +1 -1
  118. package/dist/cjs/navigation/paths.cjs +5 -0
  119. package/dist/cjs/navigation/paths.native.js +7 -0
  120. package/dist/cjs/navigation/paths.native.js.map +1 -1
  121. package/dist/cjs/report/QueryReportScreen.cjs +1 -1
  122. package/dist/cjs/report/QueryReportScreen.native.js +1 -1
  123. package/dist/cjs/report/QueryReportScreen.native.js.map +1 -1
  124. package/dist/cjs/report/queryReportFilterBar.cjs +3 -8
  125. package/dist/cjs/report/queryReportFilterBar.native.js +3 -8
  126. package/dist/cjs/report/queryReportFilterBar.native.js.map +1 -1
  127. package/dist/cjs/shared/sessionUser.cjs +21 -3
  128. package/dist/cjs/shared/sessionUser.native.js +44 -3
  129. package/dist/cjs/shared/sessionUser.native.js.map +1 -1
  130. package/dist/cjs/shell/BackofficeShell.cjs +127 -88
  131. package/dist/cjs/shell/BackofficeShell.native.js +144 -101
  132. package/dist/cjs/shell/BackofficeShell.native.js.map +1 -1
  133. package/dist/cjs/shell/HomeRedirect.cjs +17 -21
  134. package/dist/cjs/shell/HomeRedirect.native.js +17 -20
  135. package/dist/cjs/shell/HomeRedirect.native.js.map +1 -1
  136. package/dist/cjs/shell/WorkspaceSidebar.cjs +53 -25
  137. package/dist/cjs/shell/WorkspaceSidebar.native.js +55 -25
  138. package/dist/cjs/shell/WorkspaceSidebar.native.js.map +1 -1
  139. package/dist/cjs/shell/shellSidebarSlot.cjs +31 -0
  140. package/dist/cjs/shell/shellSidebarSlot.native.js +34 -0
  141. package/dist/cjs/shell/shellSidebarSlot.native.js.map +1 -0
  142. package/dist/cjs/shell/useWorkspaces.cjs +23 -6
  143. package/dist/cjs/shell/useWorkspaces.native.js +25 -6
  144. package/dist/cjs/shell/useWorkspaces.native.js.map +1 -1
  145. package/dist/cjs/views/DashboardView.cjs +2 -2
  146. package/dist/cjs/views/DashboardView.native.js +2 -2
  147. package/dist/cjs/views/DashboardView.native.js.map +1 -1
  148. package/dist/cjs/views/ImageView.cjs +14 -5
  149. package/dist/cjs/views/ImageView.native.js +14 -5
  150. package/dist/cjs/views/ImageView.native.js.map +1 -1
  151. package/dist/cjs/views/ViewHeader.cjs +17 -6
  152. package/dist/cjs/views/ViewHeader.native.js +17 -6
  153. package/dist/cjs/views/ViewHeader.native.js.map +1 -1
  154. package/dist/cjs/views/ViewSwitcherMenu.cjs +10 -9
  155. package/dist/cjs/views/ViewSwitcherMenu.native.js +10 -9
  156. package/dist/cjs/views/ViewSwitcherMenu.native.js.map +1 -1
  157. package/dist/cjs/views/viewAvailability.cjs +17 -9
  158. package/dist/cjs/views/viewAvailability.native.js +18 -8
  159. package/dist/cjs/views/viewAvailability.native.js.map +1 -1
  160. package/dist/cjs/views/viewMeta.cjs +24 -1
  161. package/dist/cjs/views/viewMeta.native.js +30 -1
  162. package/dist/cjs/views/viewMeta.native.js.map +1 -1
  163. package/dist/cjs/workspace/WorkspaceChartBlock.cjs +1 -1
  164. package/dist/cjs/workspace/WorkspaceChartBlock.native.js +1 -1
  165. package/dist/cjs/workspace/WorkspaceChartBlock.native.js.map +1 -1
  166. package/dist/cjs/workspace/WorkspaceLinkDirectory.cjs +2 -2
  167. package/dist/cjs/workspace/WorkspaceLinkDirectory.native.js +2 -2
  168. package/dist/cjs/workspace/WorkspaceLinkDirectory.native.js.map +1 -1
  169. package/dist/cjs/workspace/WorkspaceRecents.cjs +1 -1
  170. package/dist/cjs/workspace/WorkspaceRecents.native.js +1 -1
  171. package/dist/cjs/workspace/WorkspaceRecents.native.js.map +1 -1
  172. package/dist/cjs/workspace/WorkspaceShortcut.cjs +1 -1
  173. package/dist/cjs/workspace/WorkspaceShortcut.native.js +1 -1
  174. package/dist/cjs/workspace/WorkspaceShortcut.native.js.map +1 -1
  175. package/dist/esm/chrome/BackofficeAwesomebar.mjs +9 -4
  176. package/dist/esm/chrome/BackofficeAwesomebar.mjs.map +1 -1
  177. package/dist/esm/chrome/BackofficeAwesomebar.native.js +9 -4
  178. package/dist/esm/chrome/BackofficeAwesomebar.native.js.map +1 -1
  179. package/dist/esm/chrome/CommandPalette.mjs +21 -17
  180. package/dist/esm/chrome/CommandPalette.mjs.map +1 -1
  181. package/dist/esm/chrome/CommandPalette.native.js +23 -17
  182. package/dist/esm/chrome/CommandPalette.native.js.map +1 -1
  183. package/dist/esm/chrome/NotificationsButton.mjs +3 -2
  184. package/dist/esm/chrome/NotificationsButton.mjs.map +1 -1
  185. package/dist/esm/chrome/NotificationsButton.native.js +3 -2
  186. package/dist/esm/chrome/NotificationsButton.native.js.map +1 -1
  187. package/dist/esm/chrome/UserMenu.mjs +145 -79
  188. package/dist/esm/chrome/UserMenu.mjs.map +1 -1
  189. package/dist/esm/chrome/UserMenu.native.js +159 -92
  190. package/dist/esm/chrome/UserMenu.native.js.map +1 -1
  191. package/dist/esm/chrome/notifications-panel.mjs +4 -5
  192. package/dist/esm/chrome/notifications-panel.mjs.map +1 -1
  193. package/dist/esm/chrome/notifications-panel.native.js +4 -5
  194. package/dist/esm/chrome/notifications-panel.native.js.map +1 -1
  195. package/dist/esm/chrome/user-session.mjs +3 -2
  196. package/dist/esm/chrome/user-session.mjs.map +1 -1
  197. package/dist/esm/chrome/user-session.native.js +3 -2
  198. package/dist/esm/chrome/user-session.native.js.map +1 -1
  199. package/dist/esm/config/BackofficeProvider.mjs +3 -1
  200. package/dist/esm/config/BackofficeProvider.mjs.map +1 -1
  201. package/dist/esm/config/BackofficeProvider.native.js +3 -1
  202. package/dist/esm/config/BackofficeProvider.native.js.map +1 -1
  203. package/dist/esm/config/capabilities.mjs +3 -0
  204. package/dist/esm/config/capabilities.mjs.map +1 -1
  205. package/dist/esm/config/capabilities.native.js +3 -0
  206. package/dist/esm/config/capabilities.native.js.map +1 -1
  207. package/dist/esm/desk/Desk.mjs +17 -0
  208. package/dist/esm/desk/Desk.mjs.map +1 -1
  209. package/dist/esm/desk/Desk.native.js +17 -0
  210. package/dist/esm/desk/Desk.native.js.map +1 -1
  211. package/dist/esm/desk/DeskSurface.mjs +10 -0
  212. package/dist/esm/desk/DeskSurface.mjs.map +1 -1
  213. package/dist/esm/desk/DeskSurface.native.js +10 -0
  214. package/dist/esm/desk/DeskSurface.native.js.map +1 -1
  215. package/dist/esm/desk/resolveDeskPath.mjs +6 -0
  216. package/dist/esm/desk/resolveDeskPath.mjs.map +1 -1
  217. package/dist/esm/desk/resolveDeskPath.native.js +6 -0
  218. package/dist/esm/desk/resolveDeskPath.native.js.map +1 -1
  219. package/dist/esm/desk/target.mjs +5 -0
  220. package/dist/esm/desk/target.mjs.map +1 -1
  221. package/dist/esm/desk/target.native.js +5 -0
  222. package/dist/esm/desk/target.native.js.map +1 -1
  223. package/dist/esm/form/DocFormScreen.mjs +24 -3
  224. package/dist/esm/form/DocFormScreen.mjs.map +1 -1
  225. package/dist/esm/form/DocFormScreen.native.js +27 -6
  226. package/dist/esm/form/DocFormScreen.native.js.map +1 -1
  227. package/dist/esm/form/FormConnections.mjs +2 -2
  228. package/dist/esm/form/FormConnections.mjs.map +1 -1
  229. package/dist/esm/form/FormConnections.native.js +2 -2
  230. package/dist/esm/form/FormConnections.native.js.map +1 -1
  231. package/dist/esm/form/FormErrorBoundary.mjs +1 -1
  232. package/dist/esm/form/FormErrorBoundary.mjs.map +1 -1
  233. package/dist/esm/form/FormErrorBoundary.native.js +1 -1
  234. package/dist/esm/form/FormErrorBoundary.native.js.map +1 -1
  235. package/dist/esm/form/FormSidebarPanel.mjs +1 -1
  236. package/dist/esm/form/FormSidebarPanel.mjs.map +1 -1
  237. package/dist/esm/form/FormSidebarPanel.native.js +1 -1
  238. package/dist/esm/form/FormSidebarPanel.native.js.map +1 -1
  239. package/dist/esm/form/FormTimeline.mjs +1 -2
  240. package/dist/esm/form/FormTimeline.mjs.map +1 -1
  241. package/dist/esm/form/FormTimeline.native.js +1 -2
  242. package/dist/esm/form/FormTimeline.native.js.map +1 -1
  243. package/dist/esm/form/FormToolbar.mjs +99 -89
  244. package/dist/esm/form/FormToolbar.mjs.map +1 -1
  245. package/dist/esm/form/FormToolbar.native.js +100 -96
  246. package/dist/esm/form/FormToolbar.native.js.map +1 -1
  247. package/dist/esm/formBuilder/DoctypePicker.mjs +64 -0
  248. package/dist/esm/formBuilder/DoctypePicker.mjs.map +1 -0
  249. package/dist/esm/formBuilder/DoctypePicker.native.js +70 -0
  250. package/dist/esm/formBuilder/DoctypePicker.native.js.map +1 -0
  251. package/dist/esm/formBuilder/FieldPalette.mjs +123 -0
  252. package/dist/esm/formBuilder/FieldPalette.mjs.map +1 -0
  253. package/dist/esm/formBuilder/FieldPalette.native.js +137 -0
  254. package/dist/esm/formBuilder/FieldPalette.native.js.map +1 -0
  255. package/dist/esm/formBuilder/FieldPropertiesPanel.mjs +161 -0
  256. package/dist/esm/formBuilder/FieldPropertiesPanel.mjs.map +1 -0
  257. package/dist/esm/formBuilder/FieldPropertiesPanel.native.js +209 -0
  258. package/dist/esm/formBuilder/FieldPropertiesPanel.native.js.map +1 -0
  259. package/dist/esm/formBuilder/FormBuilderCanvas.mjs +382 -0
  260. package/dist/esm/formBuilder/FormBuilderCanvas.mjs.map +1 -0
  261. package/dist/esm/formBuilder/FormBuilderCanvas.native.js +444 -0
  262. package/dist/esm/formBuilder/FormBuilderCanvas.native.js.map +1 -0
  263. package/dist/esm/formBuilder/FormBuilderScreen.mjs +423 -0
  264. package/dist/esm/formBuilder/FormBuilderScreen.mjs.map +1 -0
  265. package/dist/esm/formBuilder/FormBuilderScreen.native.js +509 -0
  266. package/dist/esm/formBuilder/FormBuilderScreen.native.js.map +1 -0
  267. package/dist/esm/formBuilder/api.mjs +129 -0
  268. package/dist/esm/formBuilder/api.mjs.map +1 -0
  269. package/dist/esm/formBuilder/api.native.js +159 -0
  270. package/dist/esm/formBuilder/api.native.js.map +1 -0
  271. package/dist/esm/formBuilder/fieldtypes.mjs +82 -0
  272. package/dist/esm/formBuilder/fieldtypes.mjs.map +1 -0
  273. package/dist/esm/formBuilder/fieldtypes.native.js +98 -0
  274. package/dist/esm/formBuilder/fieldtypes.native.js.map +1 -0
  275. package/dist/esm/formBuilder/index.mjs +6 -0
  276. package/dist/esm/formBuilder/index.mjs.map +1 -0
  277. package/dist/esm/formBuilder/index.native.js +6 -0
  278. package/dist/esm/formBuilder/index.native.js.map +1 -0
  279. package/dist/esm/formBuilder/model.mjs +420 -0
  280. package/dist/esm/formBuilder/model.mjs.map +1 -0
  281. package/dist/esm/formBuilder/model.native.js +665 -0
  282. package/dist/esm/formBuilder/model.native.js.map +1 -0
  283. package/dist/esm/formBuilder/useFormBuilderDrag.mjs +374 -0
  284. package/dist/esm/formBuilder/useFormBuilderDrag.mjs.map +1 -0
  285. package/dist/esm/formBuilder/useFormBuilderDrag.native.js +406 -0
  286. package/dist/esm/formBuilder/useFormBuilderDrag.native.js.map +1 -0
  287. package/dist/esm/i18n/en.mjs +294 -4
  288. package/dist/esm/i18n/en.mjs.map +1 -1
  289. package/dist/esm/i18n/en.native.js +294 -4
  290. package/dist/esm/i18n/en.native.js.map +1 -1
  291. package/dist/esm/index.mjs +3 -2
  292. package/dist/esm/index.mjs.map +1 -1
  293. package/dist/esm/index.native.js +3 -2
  294. package/dist/esm/index.native.js.map +1 -1
  295. package/dist/esm/list/DoctypeListScreen.mjs +141 -43
  296. package/dist/esm/list/DoctypeListScreen.mjs.map +1 -1
  297. package/dist/esm/list/DoctypeListScreen.native.js +158 -58
  298. package/dist/esm/list/DoctypeListScreen.native.js.map +1 -1
  299. package/dist/esm/list/ListFilterBar.mjs +9 -5
  300. package/dist/esm/list/ListFilterBar.mjs.map +1 -1
  301. package/dist/esm/list/ListFilterBar.native.js +9 -5
  302. package/dist/esm/list/ListFilterBar.native.js.map +1 -1
  303. package/dist/esm/list/ListSidebar.mjs +4 -3
  304. package/dist/esm/list/ListSidebar.mjs.map +1 -1
  305. package/dist/esm/list/ListSidebar.native.js +4 -3
  306. package/dist/esm/list/ListSidebar.native.js.map +1 -1
  307. package/dist/esm/list/filter-chips.mjs +10 -4
  308. package/dist/esm/list/filter-chips.mjs.map +1 -1
  309. package/dist/esm/list/filter-chips.native.js +10 -4
  310. package/dist/esm/list/filter-chips.native.js.map +1 -1
  311. package/dist/esm/list/filter-editor.mjs +1 -10
  312. package/dist/esm/list/filter-editor.mjs.map +1 -1
  313. package/dist/esm/list/filter-editor.native.js +1 -10
  314. package/dist/esm/list/filter-editor.native.js.map +1 -1
  315. package/dist/esm/list/filter-saved.mjs +0 -1
  316. package/dist/esm/list/filter-saved.mjs.map +1 -1
  317. package/dist/esm/list/filter-saved.native.js +0 -1
  318. package/dist/esm/list/filter-saved.native.js.map +1 -1
  319. package/dist/esm/list/filter-sort.mjs +0 -1
  320. package/dist/esm/list/filter-sort.mjs.map +1 -1
  321. package/dist/esm/list/filter-sort.native.js +0 -1
  322. package/dist/esm/list/filter-sort.native.js.map +1 -1
  323. package/dist/esm/list/filter-standard.mjs +1 -3
  324. package/dist/esm/list/filter-standard.mjs.map +1 -1
  325. package/dist/esm/list/filter-standard.native.js +1 -3
  326. package/dist/esm/list/filter-standard.native.js.map +1 -1
  327. package/dist/esm/list/list-tools-sheet.mjs +10 -3
  328. package/dist/esm/list/list-tools-sheet.mjs.map +1 -1
  329. package/dist/esm/list/list-tools-sheet.native.js +12 -3
  330. package/dist/esm/list/list-tools-sheet.native.js.map +1 -1
  331. package/dist/esm/navigation/paths.mjs +5 -1
  332. package/dist/esm/navigation/paths.mjs.map +1 -1
  333. package/dist/esm/navigation/paths.native.js +7 -1
  334. package/dist/esm/navigation/paths.native.js.map +1 -1
  335. package/dist/esm/report/QueryReportScreen.mjs +1 -1
  336. package/dist/esm/report/QueryReportScreen.mjs.map +1 -1
  337. package/dist/esm/report/QueryReportScreen.native.js +1 -1
  338. package/dist/esm/report/QueryReportScreen.native.js.map +1 -1
  339. package/dist/esm/report/queryReportFilterBar.mjs +3 -8
  340. package/dist/esm/report/queryReportFilterBar.mjs.map +1 -1
  341. package/dist/esm/report/queryReportFilterBar.native.js +3 -8
  342. package/dist/esm/report/queryReportFilterBar.native.js.map +1 -1
  343. package/dist/esm/shared/sessionUser.mjs +21 -4
  344. package/dist/esm/shared/sessionUser.mjs.map +1 -1
  345. package/dist/esm/shared/sessionUser.native.js +44 -4
  346. package/dist/esm/shared/sessionUser.native.js.map +1 -1
  347. package/dist/esm/shell/BackofficeShell.mjs +130 -91
  348. package/dist/esm/shell/BackofficeShell.mjs.map +1 -1
  349. package/dist/esm/shell/BackofficeShell.native.js +147 -104
  350. package/dist/esm/shell/BackofficeShell.native.js.map +1 -1
  351. package/dist/esm/shell/HomeRedirect.mjs +20 -24
  352. package/dist/esm/shell/HomeRedirect.mjs.map +1 -1
  353. package/dist/esm/shell/HomeRedirect.native.js +20 -23
  354. package/dist/esm/shell/HomeRedirect.native.js.map +1 -1
  355. package/dist/esm/shell/WorkspaceSidebar.mjs +55 -27
  356. package/dist/esm/shell/WorkspaceSidebar.mjs.map +1 -1
  357. package/dist/esm/shell/WorkspaceSidebar.native.js +57 -27
  358. package/dist/esm/shell/WorkspaceSidebar.native.js.map +1 -1
  359. package/dist/esm/shell/shellSidebarSlot.mjs +3 -0
  360. package/dist/esm/shell/shellSidebarSlot.mjs.map +1 -0
  361. package/dist/esm/shell/shellSidebarSlot.native.js +3 -0
  362. package/dist/esm/shell/shellSidebarSlot.native.js.map +1 -0
  363. package/dist/esm/shell/useWorkspaces.mjs +25 -8
  364. package/dist/esm/shell/useWorkspaces.mjs.map +1 -1
  365. package/dist/esm/shell/useWorkspaces.native.js +27 -8
  366. package/dist/esm/shell/useWorkspaces.native.js.map +1 -1
  367. package/dist/esm/views/DashboardView.mjs +2 -2
  368. package/dist/esm/views/DashboardView.mjs.map +1 -1
  369. package/dist/esm/views/DashboardView.native.js +2 -2
  370. package/dist/esm/views/DashboardView.native.js.map +1 -1
  371. package/dist/esm/views/ImageView.mjs +15 -6
  372. package/dist/esm/views/ImageView.mjs.map +1 -1
  373. package/dist/esm/views/ImageView.native.js +15 -6
  374. package/dist/esm/views/ImageView.native.js.map +1 -1
  375. package/dist/esm/views/ViewHeader.mjs +18 -7
  376. package/dist/esm/views/ViewHeader.mjs.map +1 -1
  377. package/dist/esm/views/ViewHeader.native.js +18 -7
  378. package/dist/esm/views/ViewHeader.native.js.map +1 -1
  379. package/dist/esm/views/ViewSwitcherMenu.mjs +11 -10
  380. package/dist/esm/views/ViewSwitcherMenu.mjs.map +1 -1
  381. package/dist/esm/views/ViewSwitcherMenu.native.js +11 -10
  382. package/dist/esm/views/ViewSwitcherMenu.native.js.map +1 -1
  383. package/dist/esm/views/viewAvailability.mjs +17 -9
  384. package/dist/esm/views/viewAvailability.mjs.map +1 -1
  385. package/dist/esm/views/viewAvailability.native.js +18 -8
  386. package/dist/esm/views/viewAvailability.native.js.map +1 -1
  387. package/dist/esm/views/viewMeta.mjs +23 -1
  388. package/dist/esm/views/viewMeta.mjs.map +1 -1
  389. package/dist/esm/views/viewMeta.native.js +29 -1
  390. package/dist/esm/views/viewMeta.native.js.map +1 -1
  391. package/dist/esm/workspace/WorkspaceChartBlock.mjs +1 -1
  392. package/dist/esm/workspace/WorkspaceChartBlock.mjs.map +1 -1
  393. package/dist/esm/workspace/WorkspaceChartBlock.native.js +1 -1
  394. package/dist/esm/workspace/WorkspaceChartBlock.native.js.map +1 -1
  395. package/dist/esm/workspace/WorkspaceLinkDirectory.mjs +2 -2
  396. package/dist/esm/workspace/WorkspaceLinkDirectory.mjs.map +1 -1
  397. package/dist/esm/workspace/WorkspaceLinkDirectory.native.js +2 -2
  398. package/dist/esm/workspace/WorkspaceLinkDirectory.native.js.map +1 -1
  399. package/dist/esm/workspace/WorkspaceRecents.mjs +2 -2
  400. package/dist/esm/workspace/WorkspaceRecents.mjs.map +1 -1
  401. package/dist/esm/workspace/WorkspaceRecents.native.js +2 -2
  402. package/dist/esm/workspace/WorkspaceRecents.native.js.map +1 -1
  403. package/dist/esm/workspace/WorkspaceShortcut.mjs +2 -2
  404. package/dist/esm/workspace/WorkspaceShortcut.mjs.map +1 -1
  405. package/dist/esm/workspace/WorkspaceShortcut.native.js +2 -2
  406. package/dist/esm/workspace/WorkspaceShortcut.native.js.map +1 -1
  407. package/dist/jsx/chrome/BackofficeAwesomebar.mjs +9 -4
  408. package/dist/jsx/chrome/BackofficeAwesomebar.mjs.map +1 -1
  409. package/dist/jsx/chrome/BackofficeAwesomebar.native.js +8 -3
  410. package/dist/jsx/chrome/BackofficeAwesomebar.native.js.map +1 -1
  411. package/dist/jsx/chrome/CommandPalette.mjs +21 -17
  412. package/dist/jsx/chrome/CommandPalette.mjs.map +1 -1
  413. package/dist/jsx/chrome/CommandPalette.native.js +21 -15
  414. package/dist/jsx/chrome/CommandPalette.native.js.map +1 -1
  415. package/dist/jsx/chrome/NotificationsButton.mjs +3 -2
  416. package/dist/jsx/chrome/NotificationsButton.mjs.map +1 -1
  417. package/dist/jsx/chrome/NotificationsButton.native.js +2 -1
  418. package/dist/jsx/chrome/NotificationsButton.native.js.map +1 -1
  419. package/dist/jsx/chrome/UserMenu.mjs +145 -79
  420. package/dist/jsx/chrome/UserMenu.mjs.map +1 -1
  421. package/dist/jsx/chrome/UserMenu.native.js +157 -90
  422. package/dist/jsx/chrome/UserMenu.native.js.map +1 -1
  423. package/dist/jsx/chrome/notifications-panel.mjs +4 -5
  424. package/dist/jsx/chrome/notifications-panel.mjs.map +1 -1
  425. package/dist/jsx/chrome/notifications-panel.native.js +3 -4
  426. package/dist/jsx/chrome/notifications-panel.native.js.map +1 -1
  427. package/dist/jsx/chrome/user-session.mjs +3 -2
  428. package/dist/jsx/chrome/user-session.mjs.map +1 -1
  429. package/dist/jsx/chrome/user-session.native.js +2 -1
  430. package/dist/jsx/chrome/user-session.native.js.map +1 -1
  431. package/dist/jsx/config/BackofficeProvider.mjs +3 -1
  432. package/dist/jsx/config/BackofficeProvider.mjs.map +1 -1
  433. package/dist/jsx/config/BackofficeProvider.native.js +3 -1
  434. package/dist/jsx/config/BackofficeProvider.native.js.map +1 -1
  435. package/dist/jsx/config/capabilities.mjs +3 -0
  436. package/dist/jsx/config/capabilities.mjs.map +1 -1
  437. package/dist/jsx/config/capabilities.native.js +3 -0
  438. package/dist/jsx/config/capabilities.native.js.map +1 -1
  439. package/dist/jsx/desk/Desk.mjs +17 -0
  440. package/dist/jsx/desk/Desk.mjs.map +1 -1
  441. package/dist/jsx/desk/Desk.native.js +17 -0
  442. package/dist/jsx/desk/Desk.native.js.map +1 -1
  443. package/dist/jsx/desk/DeskSurface.mjs +10 -0
  444. package/dist/jsx/desk/DeskSurface.mjs.map +1 -1
  445. package/dist/jsx/desk/DeskSurface.native.js +10 -0
  446. package/dist/jsx/desk/DeskSurface.native.js.map +1 -1
  447. package/dist/jsx/desk/resolveDeskPath.mjs +6 -0
  448. package/dist/jsx/desk/resolveDeskPath.mjs.map +1 -1
  449. package/dist/jsx/desk/resolveDeskPath.native.js +6 -0
  450. package/dist/jsx/desk/resolveDeskPath.native.js.map +1 -1
  451. package/dist/jsx/desk/target.mjs +5 -0
  452. package/dist/jsx/desk/target.mjs.map +1 -1
  453. package/dist/jsx/desk/target.native.js +5 -0
  454. package/dist/jsx/desk/target.native.js.map +1 -1
  455. package/dist/jsx/form/DocFormScreen.mjs +24 -3
  456. package/dist/jsx/form/DocFormScreen.mjs.map +1 -1
  457. package/dist/jsx/form/DocFormScreen.native.js +27 -6
  458. package/dist/jsx/form/DocFormScreen.native.js.map +1 -1
  459. package/dist/jsx/form/FormConnections.mjs +2 -2
  460. package/dist/jsx/form/FormConnections.mjs.map +1 -1
  461. package/dist/jsx/form/FormConnections.native.js +2 -2
  462. package/dist/jsx/form/FormConnections.native.js.map +1 -1
  463. package/dist/jsx/form/FormErrorBoundary.mjs +1 -1
  464. package/dist/jsx/form/FormErrorBoundary.mjs.map +1 -1
  465. package/dist/jsx/form/FormErrorBoundary.native.js +1 -1
  466. package/dist/jsx/form/FormErrorBoundary.native.js.map +1 -1
  467. package/dist/jsx/form/FormSidebarPanel.mjs +1 -1
  468. package/dist/jsx/form/FormSidebarPanel.mjs.map +1 -1
  469. package/dist/jsx/form/FormSidebarPanel.native.js +1 -1
  470. package/dist/jsx/form/FormSidebarPanel.native.js.map +1 -1
  471. package/dist/jsx/form/FormTimeline.mjs +1 -2
  472. package/dist/jsx/form/FormTimeline.mjs.map +1 -1
  473. package/dist/jsx/form/FormTimeline.native.js +1 -2
  474. package/dist/jsx/form/FormTimeline.native.js.map +1 -1
  475. package/dist/jsx/form/FormToolbar.mjs +99 -89
  476. package/dist/jsx/form/FormToolbar.mjs.map +1 -1
  477. package/dist/jsx/form/FormToolbar.native.js +98 -94
  478. package/dist/jsx/form/FormToolbar.native.js.map +1 -1
  479. package/dist/jsx/formBuilder/DoctypePicker.mjs +64 -0
  480. package/dist/jsx/formBuilder/DoctypePicker.mjs.map +1 -0
  481. package/dist/jsx/formBuilder/DoctypePicker.native.js +98 -0
  482. package/dist/jsx/formBuilder/DoctypePicker.native.js.map +1 -0
  483. package/dist/jsx/formBuilder/FieldPalette.mjs +123 -0
  484. package/dist/jsx/formBuilder/FieldPalette.mjs.map +1 -0
  485. package/dist/jsx/formBuilder/FieldPalette.native.js +165 -0
  486. package/dist/jsx/formBuilder/FieldPalette.native.js.map +1 -0
  487. package/dist/jsx/formBuilder/FieldPropertiesPanel.mjs +161 -0
  488. package/dist/jsx/formBuilder/FieldPropertiesPanel.mjs.map +1 -0
  489. package/dist/jsx/formBuilder/FieldPropertiesPanel.native.js +237 -0
  490. package/dist/jsx/formBuilder/FieldPropertiesPanel.native.js.map +1 -0
  491. package/dist/jsx/formBuilder/FormBuilderCanvas.mjs +382 -0
  492. package/dist/jsx/formBuilder/FormBuilderCanvas.mjs.map +1 -0
  493. package/dist/jsx/formBuilder/FormBuilderCanvas.native.js +472 -0
  494. package/dist/jsx/formBuilder/FormBuilderCanvas.native.js.map +1 -0
  495. package/dist/jsx/formBuilder/FormBuilderScreen.mjs +423 -0
  496. package/dist/jsx/formBuilder/FormBuilderScreen.mjs.map +1 -0
  497. package/dist/jsx/formBuilder/FormBuilderScreen.native.js +537 -0
  498. package/dist/jsx/formBuilder/FormBuilderScreen.native.js.map +1 -0
  499. package/dist/jsx/formBuilder/api.mjs +129 -0
  500. package/dist/jsx/formBuilder/api.mjs.map +1 -0
  501. package/dist/jsx/formBuilder/api.native.js +193 -0
  502. package/dist/jsx/formBuilder/api.native.js.map +1 -0
  503. package/dist/jsx/formBuilder/fieldtypes.mjs +82 -0
  504. package/dist/jsx/formBuilder/fieldtypes.mjs.map +1 -0
  505. package/dist/jsx/formBuilder/fieldtypes.native.js +133 -0
  506. package/dist/jsx/formBuilder/fieldtypes.native.js.map +1 -0
  507. package/dist/jsx/formBuilder/index.mjs +6 -0
  508. package/dist/jsx/formBuilder/index.mjs.map +1 -0
  509. package/dist/jsx/formBuilder/index.native.js +71 -0
  510. package/dist/jsx/formBuilder/index.native.js.map +1 -0
  511. package/dist/jsx/formBuilder/model.mjs +420 -0
  512. package/dist/jsx/formBuilder/model.mjs.map +1 -0
  513. package/dist/jsx/formBuilder/model.native.js +714 -0
  514. package/dist/jsx/formBuilder/model.native.js.map +1 -0
  515. package/dist/jsx/formBuilder/useFormBuilderDrag.mjs +374 -0
  516. package/dist/jsx/formBuilder/useFormBuilderDrag.mjs.map +1 -0
  517. package/dist/jsx/formBuilder/useFormBuilderDrag.native.js +434 -0
  518. package/dist/jsx/formBuilder/useFormBuilderDrag.native.js.map +1 -0
  519. package/dist/jsx/i18n/en.mjs +294 -4
  520. package/dist/jsx/i18n/en.mjs.map +1 -1
  521. package/dist/jsx/i18n/en.native.js +294 -4
  522. package/dist/jsx/i18n/en.native.js.map +1 -1
  523. package/dist/jsx/index.js +3 -2
  524. package/dist/jsx/index.js.map +1 -1
  525. package/dist/jsx/index.mjs +3 -2
  526. package/dist/jsx/index.mjs.map +1 -1
  527. package/dist/jsx/index.native.js +40 -0
  528. package/dist/jsx/index.native.js.map +1 -1
  529. package/dist/jsx/list/DoctypeListScreen.mjs +141 -43
  530. package/dist/jsx/list/DoctypeListScreen.mjs.map +1 -1
  531. package/dist/jsx/list/DoctypeListScreen.native.js +155 -55
  532. package/dist/jsx/list/DoctypeListScreen.native.js.map +1 -1
  533. package/dist/jsx/list/ListFilterBar.mjs +9 -5
  534. package/dist/jsx/list/ListFilterBar.mjs.map +1 -1
  535. package/dist/jsx/list/ListFilterBar.native.js +8 -4
  536. package/dist/jsx/list/ListFilterBar.native.js.map +1 -1
  537. package/dist/jsx/list/ListSidebar.mjs +4 -3
  538. package/dist/jsx/list/ListSidebar.mjs.map +1 -1
  539. package/dist/jsx/list/ListSidebar.native.js +4 -3
  540. package/dist/jsx/list/ListSidebar.native.js.map +1 -1
  541. package/dist/jsx/list/filter-chips.mjs +10 -4
  542. package/dist/jsx/list/filter-chips.mjs.map +1 -1
  543. package/dist/jsx/list/filter-chips.native.js +10 -4
  544. package/dist/jsx/list/filter-chips.native.js.map +1 -1
  545. package/dist/jsx/list/filter-editor.mjs +1 -10
  546. package/dist/jsx/list/filter-editor.mjs.map +1 -1
  547. package/dist/jsx/list/filter-editor.native.js +1 -10
  548. package/dist/jsx/list/filter-editor.native.js.map +1 -1
  549. package/dist/jsx/list/filter-saved.mjs +0 -1
  550. package/dist/jsx/list/filter-saved.mjs.map +1 -1
  551. package/dist/jsx/list/filter-saved.native.js +0 -1
  552. package/dist/jsx/list/filter-saved.native.js.map +1 -1
  553. package/dist/jsx/list/filter-sort.mjs +0 -1
  554. package/dist/jsx/list/filter-sort.mjs.map +1 -1
  555. package/dist/jsx/list/filter-sort.native.js +0 -1
  556. package/dist/jsx/list/filter-sort.native.js.map +1 -1
  557. package/dist/jsx/list/filter-standard.mjs +1 -3
  558. package/dist/jsx/list/filter-standard.mjs.map +1 -1
  559. package/dist/jsx/list/filter-standard.native.js +1 -3
  560. package/dist/jsx/list/filter-standard.native.js.map +1 -1
  561. package/dist/jsx/list/list-tools-sheet.mjs +10 -3
  562. package/dist/jsx/list/list-tools-sheet.mjs.map +1 -1
  563. package/dist/jsx/list/list-tools-sheet.native.js +12 -3
  564. package/dist/jsx/list/list-tools-sheet.native.js.map +1 -1
  565. package/dist/jsx/navigation/paths.mjs +5 -1
  566. package/dist/jsx/navigation/paths.mjs.map +1 -1
  567. package/dist/jsx/navigation/paths.native.js +7 -0
  568. package/dist/jsx/navigation/paths.native.js.map +1 -1
  569. package/dist/jsx/report/QueryReportScreen.mjs +1 -1
  570. package/dist/jsx/report/QueryReportScreen.mjs.map +1 -1
  571. package/dist/jsx/report/QueryReportScreen.native.js +1 -1
  572. package/dist/jsx/report/QueryReportScreen.native.js.map +1 -1
  573. package/dist/jsx/report/queryReportFilterBar.mjs +3 -8
  574. package/dist/jsx/report/queryReportFilterBar.mjs.map +1 -1
  575. package/dist/jsx/report/queryReportFilterBar.native.js +3 -8
  576. package/dist/jsx/report/queryReportFilterBar.native.js.map +1 -1
  577. package/dist/jsx/shared/sessionUser.mjs +21 -4
  578. package/dist/jsx/shared/sessionUser.mjs.map +1 -1
  579. package/dist/jsx/shared/sessionUser.native.js +44 -3
  580. package/dist/jsx/shared/sessionUser.native.js.map +1 -1
  581. package/dist/jsx/shell/BackofficeShell.mjs +130 -91
  582. package/dist/jsx/shell/BackofficeShell.mjs.map +1 -1
  583. package/dist/jsx/shell/BackofficeShell.native.js +144 -101
  584. package/dist/jsx/shell/BackofficeShell.native.js.map +1 -1
  585. package/dist/jsx/shell/HomeRedirect.mjs +20 -24
  586. package/dist/jsx/shell/HomeRedirect.mjs.map +1 -1
  587. package/dist/jsx/shell/HomeRedirect.native.js +17 -20
  588. package/dist/jsx/shell/HomeRedirect.native.js.map +1 -1
  589. package/dist/jsx/shell/WorkspaceSidebar.mjs +55 -27
  590. package/dist/jsx/shell/WorkspaceSidebar.mjs.map +1 -1
  591. package/dist/jsx/shell/WorkspaceSidebar.native.js +55 -25
  592. package/dist/jsx/shell/WorkspaceSidebar.native.js.map +1 -1
  593. package/dist/jsx/shell/shellSidebarSlot.mjs +3 -0
  594. package/dist/jsx/shell/shellSidebarSlot.mjs.map +1 -0
  595. package/dist/jsx/shell/shellSidebarSlot.native.js +34 -0
  596. package/dist/jsx/shell/shellSidebarSlot.native.js.map +1 -0
  597. package/dist/jsx/shell/useWorkspaces.mjs +25 -8
  598. package/dist/jsx/shell/useWorkspaces.mjs.map +1 -1
  599. package/dist/jsx/shell/useWorkspaces.native.js +25 -6
  600. package/dist/jsx/shell/useWorkspaces.native.js.map +1 -1
  601. package/dist/jsx/views/DashboardView.mjs +2 -2
  602. package/dist/jsx/views/DashboardView.mjs.map +1 -1
  603. package/dist/jsx/views/DashboardView.native.js +2 -2
  604. package/dist/jsx/views/DashboardView.native.js.map +1 -1
  605. package/dist/jsx/views/ImageView.mjs +15 -6
  606. package/dist/jsx/views/ImageView.mjs.map +1 -1
  607. package/dist/jsx/views/ImageView.native.js +14 -5
  608. package/dist/jsx/views/ImageView.native.js.map +1 -1
  609. package/dist/jsx/views/ViewHeader.mjs +18 -7
  610. package/dist/jsx/views/ViewHeader.mjs.map +1 -1
  611. package/dist/jsx/views/ViewHeader.native.js +17 -6
  612. package/dist/jsx/views/ViewHeader.native.js.map +1 -1
  613. package/dist/jsx/views/ViewSwitcherMenu.mjs +11 -10
  614. package/dist/jsx/views/ViewSwitcherMenu.mjs.map +1 -1
  615. package/dist/jsx/views/ViewSwitcherMenu.native.js +10 -9
  616. package/dist/jsx/views/ViewSwitcherMenu.native.js.map +1 -1
  617. package/dist/jsx/views/viewAvailability.mjs +17 -9
  618. package/dist/jsx/views/viewAvailability.mjs.map +1 -1
  619. package/dist/jsx/views/viewAvailability.native.js +18 -8
  620. package/dist/jsx/views/viewAvailability.native.js.map +1 -1
  621. package/dist/jsx/views/viewMeta.mjs +23 -1
  622. package/dist/jsx/views/viewMeta.mjs.map +1 -1
  623. package/dist/jsx/views/viewMeta.native.js +30 -1
  624. package/dist/jsx/views/viewMeta.native.js.map +1 -1
  625. package/dist/jsx/workspace/WorkspaceChartBlock.mjs +1 -1
  626. package/dist/jsx/workspace/WorkspaceChartBlock.mjs.map +1 -1
  627. package/dist/jsx/workspace/WorkspaceChartBlock.native.js +1 -1
  628. package/dist/jsx/workspace/WorkspaceChartBlock.native.js.map +1 -1
  629. package/dist/jsx/workspace/WorkspaceLinkDirectory.mjs +2 -2
  630. package/dist/jsx/workspace/WorkspaceLinkDirectory.mjs.map +1 -1
  631. package/dist/jsx/workspace/WorkspaceLinkDirectory.native.js +2 -2
  632. package/dist/jsx/workspace/WorkspaceLinkDirectory.native.js.map +1 -1
  633. package/dist/jsx/workspace/WorkspaceRecents.mjs +2 -2
  634. package/dist/jsx/workspace/WorkspaceRecents.mjs.map +1 -1
  635. package/dist/jsx/workspace/WorkspaceRecents.native.js +1 -1
  636. package/dist/jsx/workspace/WorkspaceRecents.native.js.map +1 -1
  637. package/dist/jsx/workspace/WorkspaceShortcut.mjs +2 -2
  638. package/dist/jsx/workspace/WorkspaceShortcut.mjs.map +1 -1
  639. package/dist/jsx/workspace/WorkspaceShortcut.native.js +1 -1
  640. package/dist/jsx/workspace/WorkspaceShortcut.native.js.map +1 -1
  641. package/package.json +12 -12
  642. package/src/backofficeScreens.designLaw.spec.ts +27 -0
  643. package/src/chrome/BackofficeAwesomebar.tsx +8 -4
  644. package/src/chrome/CommandPalette.spec.tsx +19 -0
  645. package/src/chrome/CommandPalette.tsx +38 -24
  646. package/src/chrome/NotificationsButton.screen.spec.tsx +1 -0
  647. package/src/chrome/NotificationsButton.tsx +3 -2
  648. package/src/chrome/UserMenu.screen.spec.tsx +77 -7
  649. package/src/chrome/UserMenu.tsx +173 -109
  650. package/src/chrome/notifications-panel.tsx +3 -6
  651. package/src/chrome/user-session.tsx +8 -2
  652. package/src/config/BackofficeProvider.spec.tsx +6 -2
  653. package/src/config/BackofficeProvider.tsx +10 -0
  654. package/src/config/capabilities.spec.ts +13 -0
  655. package/src/config/capabilities.ts +4 -0
  656. package/src/desk/Desk.spec.tsx +48 -0
  657. package/src/desk/Desk.tsx +25 -1
  658. package/src/desk/DeskPokemon.stories.tsx +177 -0
  659. package/src/desk/DeskSurface.spec.tsx +2 -0
  660. package/src/desk/DeskSurface.tsx +8 -0
  661. package/src/desk/resolveDeskPath.spec.ts +20 -0
  662. package/src/desk/resolveDeskPath.ts +6 -1
  663. package/src/desk/target.ts +3 -0
  664. package/src/form/DocFormScreen.guest.screen.spec.tsx +4 -0
  665. package/src/form/DocFormScreen.rights.spec.tsx +113 -8
  666. package/src/form/DocFormScreen.tsx +65 -44
  667. package/src/form/FormConnections.tsx +2 -2
  668. package/src/form/FormErrorBoundary.spec.tsx +2 -3
  669. package/src/form/FormErrorBoundary.tsx +1 -1
  670. package/src/form/FormSidebarPanel.tsx +1 -1
  671. package/src/form/FormTimeline.tsx +0 -1
  672. package/src/form/FormToolbar.screen.spec.tsx +90 -29
  673. package/src/form/FormToolbar.tsx +98 -132
  674. package/src/formBuilder/DoctypePicker.tsx +72 -0
  675. package/src/formBuilder/FieldPalette.tsx +119 -0
  676. package/src/formBuilder/FieldPropertiesPanel.tsx +213 -0
  677. package/src/formBuilder/FormBuilderCanvas.tsx +468 -0
  678. package/src/formBuilder/FormBuilderScreen.screen.spec.tsx +392 -0
  679. package/src/formBuilder/FormBuilderScreen.stories.tsx +122 -0
  680. package/src/formBuilder/FormBuilderScreen.tsx +491 -0
  681. package/src/formBuilder/api.spec.ts +301 -0
  682. package/src/formBuilder/api.ts +198 -0
  683. package/src/formBuilder/fieldtypes.ts +140 -0
  684. package/src/formBuilder/index.ts +58 -0
  685. package/src/formBuilder/model.spec.ts +401 -0
  686. package/src/formBuilder/model.ts +522 -0
  687. package/src/formBuilder/useFormBuilderDrag.spec.tsx +170 -0
  688. package/src/formBuilder/useFormBuilderDrag.ts +498 -0
  689. package/src/i18n/en.ts +293 -3
  690. package/src/index.ts +58 -1
  691. package/src/list/DoctypeListScreen.guest.screen.spec.tsx +63 -2
  692. package/src/list/DoctypeListScreen.tsx +204 -85
  693. package/src/list/ListFilterBar.screen.spec.tsx +1 -1
  694. package/src/list/ListFilterBar.tsx +16 -6
  695. package/src/list/ListSidebar.tsx +11 -2
  696. package/src/list/filter-chips.tsx +19 -4
  697. package/src/list/filter-editor.tsx +1 -10
  698. package/src/list/filter-saved.tsx +0 -1
  699. package/src/list/filter-sort.tsx +0 -1
  700. package/src/list/filter-standard.tsx +1 -3
  701. package/src/list/list-tools-sheet.tsx +32 -13
  702. package/src/navigation/paths.spec.ts +19 -0
  703. package/src/navigation/paths.ts +8 -0
  704. package/src/report/QueryReportScreen.tsx +1 -1
  705. package/src/report/queryReportFilterBar.tsx +0 -5
  706. package/src/shared/sessionUser.spec.tsx +14 -1
  707. package/src/shared/sessionUser.ts +27 -6
  708. package/src/shell/BackofficeShell.spec.tsx +93 -10
  709. package/src/shell/BackofficeShell.tsx +184 -116
  710. package/src/shell/HomeRedirect.spec.tsx +89 -0
  711. package/src/shell/HomeRedirect.tsx +31 -20
  712. package/src/shell/WorkspaceSidebar.spec.tsx +15 -0
  713. package/src/shell/WorkspaceSidebar.tsx +58 -29
  714. package/src/shell/shellSidebarSlot.spec.tsx +178 -0
  715. package/src/shell/shellSidebarSlot.tsx +7 -0
  716. package/src/shell/useWorkspaces.spec.tsx +45 -0
  717. package/src/shell/useWorkspaces.ts +24 -8
  718. package/src/views/DashboardView.tsx +2 -2
  719. package/src/views/ImageView.tsx +19 -3
  720. package/src/views/ViewHeader.tsx +13 -14
  721. package/src/views/ViewSwitcherMenu.spec.tsx +3 -0
  722. package/src/views/ViewSwitcherMenu.tsx +11 -10
  723. package/src/views/viewAvailability.spec.ts +45 -12
  724. package/src/views/viewAvailability.ts +27 -24
  725. package/src/views/viewMeta.ts +30 -0
  726. package/src/workspace/WorkspaceChartBlock.tsx +1 -1
  727. package/src/workspace/WorkspaceLinkDirectory.tsx +2 -2
  728. package/src/workspace/WorkspaceRecents.tsx +9 -2
  729. package/src/workspace/WorkspaceShortcut.tsx +12 -2
  730. package/types/chrome/BackofficeAwesomebar.d.ts.map +1 -1
  731. package/types/chrome/CommandPalette.d.ts +7 -1
  732. package/types/chrome/CommandPalette.d.ts.map +1 -1
  733. package/types/chrome/NotificationsButton.d.ts.map +1 -1
  734. package/types/chrome/UserMenu.d.ts.map +1 -1
  735. package/types/chrome/notifications-panel.d.ts.map +1 -1
  736. package/types/chrome/user-session.d.ts.map +1 -1
  737. package/types/config/BackofficeProvider.d.ts +7 -1
  738. package/types/config/BackofficeProvider.d.ts.map +1 -1
  739. package/types/config/capabilities.d.ts +3 -0
  740. package/types/config/capabilities.d.ts.map +1 -1
  741. package/types/desk/Desk.d.ts +2 -1
  742. package/types/desk/Desk.d.ts.map +1 -1
  743. package/types/desk/DeskSurface.d.ts.map +1 -1
  744. package/types/desk/resolveDeskPath.d.ts +4 -1
  745. package/types/desk/resolveDeskPath.d.ts.map +1 -1
  746. package/types/desk/target.d.ts +3 -0
  747. package/types/desk/target.d.ts.map +1 -1
  748. package/types/form/DocFormScreen.d.ts +1 -1
  749. package/types/form/DocFormScreen.d.ts.map +1 -1
  750. package/types/form/FormTimeline.d.ts.map +1 -1
  751. package/types/form/FormToolbar.d.ts +5 -32
  752. package/types/form/FormToolbar.d.ts.map +1 -1
  753. package/types/formBuilder/DoctypePicker.d.ts +2 -0
  754. package/types/formBuilder/DoctypePicker.d.ts.map +1 -0
  755. package/types/formBuilder/FieldPalette.d.ts +6 -0
  756. package/types/formBuilder/FieldPalette.d.ts.map +1 -0
  757. package/types/formBuilder/FieldPropertiesPanel.d.ts +10 -0
  758. package/types/formBuilder/FieldPropertiesPanel.d.ts.map +1 -0
  759. package/types/formBuilder/FormBuilderCanvas.d.ts +17 -0
  760. package/types/formBuilder/FormBuilderCanvas.d.ts.map +1 -0
  761. package/types/formBuilder/FormBuilderScreen.d.ts +7 -0
  762. package/types/formBuilder/FormBuilderScreen.d.ts.map +1 -0
  763. package/types/formBuilder/api.d.ts +32 -0
  764. package/types/formBuilder/api.d.ts.map +1 -0
  765. package/types/formBuilder/fieldtypes.d.ts +21 -0
  766. package/types/formBuilder/fieldtypes.d.ts.map +1 -0
  767. package/types/formBuilder/index.d.ts +5 -0
  768. package/types/formBuilder/index.d.ts.map +1 -0
  769. package/types/formBuilder/model.d.ts +76 -0
  770. package/types/formBuilder/model.d.ts.map +1 -0
  771. package/types/formBuilder/useFormBuilderDrag.d.ts +44 -0
  772. package/types/formBuilder/useFormBuilderDrag.d.ts.map +1 -0
  773. package/types/i18n/en.d.ts +293 -3
  774. package/types/i18n/en.d.ts.map +1 -1
  775. package/types/index.d.ts +4 -3
  776. package/types/index.d.ts.map +1 -1
  777. package/types/list/DoctypeListScreen.d.ts.map +1 -1
  778. package/types/list/ListFilterBar.d.ts +10 -4
  779. package/types/list/ListFilterBar.d.ts.map +1 -1
  780. package/types/list/ListSidebar.d.ts +7 -1
  781. package/types/list/ListSidebar.d.ts.map +1 -1
  782. package/types/list/filter-chips.d.ts +9 -1
  783. package/types/list/filter-chips.d.ts.map +1 -1
  784. package/types/list/filter-saved.d.ts.map +1 -1
  785. package/types/list/filter-sort.d.ts.map +1 -1
  786. package/types/list/list-tools-sheet.d.ts +9 -1
  787. package/types/list/list-tools-sheet.d.ts.map +1 -1
  788. package/types/navigation/paths.d.ts +3 -0
  789. package/types/navigation/paths.d.ts.map +1 -1
  790. package/types/report/queryReportFilterBar.d.ts.map +1 -1
  791. package/types/shared/sessionUser.d.ts +1 -0
  792. package/types/shared/sessionUser.d.ts.map +1 -1
  793. package/types/shell/BackofficeShell.d.ts +6 -1
  794. package/types/shell/BackofficeShell.d.ts.map +1 -1
  795. package/types/shell/HomeRedirect.d.ts +3 -1
  796. package/types/shell/HomeRedirect.d.ts.map +1 -1
  797. package/types/shell/WorkspaceSidebar.d.ts.map +1 -1
  798. package/types/shell/shellSidebarSlot.d.ts +2 -0
  799. package/types/shell/shellSidebarSlot.d.ts.map +1 -0
  800. package/types/shell/useWorkspaces.d.ts +4 -0
  801. package/types/shell/useWorkspaces.d.ts.map +1 -1
  802. package/types/views/ImageView.d.ts.map +1 -1
  803. package/types/views/ViewHeader.d.ts +1 -10
  804. package/types/views/ViewHeader.d.ts.map +1 -1
  805. package/types/views/ViewSwitcherMenu.d.ts.map +1 -1
  806. package/types/views/viewAvailability.d.ts +12 -15
  807. package/types/views/viewAvailability.d.ts.map +1 -1
  808. package/types/views/viewMeta.d.ts +10 -0
  809. package/types/views/viewMeta.d.ts.map +1 -1
  810. package/types/workspace/WorkspaceRecents.d.ts.map +1 -1
  811. package/types/workspace/WorkspaceShortcut.d.ts.map +1 -1
@@ -0,0 +1,509 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { Alert, AsyncBoundary, AsyncSkeleton, Chip, Card, ConfirmDialog, EmptyState, ScrollView, SheetModal, XStack, YStack, isWeb, notify } from "@multiplatform.one/components";
3
+ import { Button, Form, useFormContext } from "@multiplatform.one/forms";
4
+ import { useFrappeConfig } from "@multiplatform.one/frappe-ui";
5
+ import { Surface, useLayoutSizeClass, useResolvedKnobs } from "@multiplatform.one/theme";
6
+ import { useCallback, useEffect, useMemo, useState, useSyncExternalStore } from "react";
7
+ import { useTranslation } from "react-i18next";
8
+ import { useBackofficeNavigator, useBackofficePaths } from "../config/BackofficeProvider.native.js";
9
+ import { FormToolbar } from "../form/FormToolbar.native.js";
10
+ import { createHttpClient } from "../form/formActions.native.js";
11
+ import { useBeforeUnloadGuard, useNavigationDirtyGuard } from "../form/platformHooks.native.js";
12
+ import { BACKOFFICE_I18N_NAMESPACE } from "../i18n/index.native.js";
13
+ import { useDoctypeMeta } from "../shared/useDoctypeMeta.native.js";
14
+ import { formBuilderFields, formBuilderMode, loadFormBuilderSource, parseFormBuilderError, saveFormBuilderLayout } from "./api.native.js";
15
+ import { DoctypePicker } from "./DoctypePicker.native.js";
16
+ import { FieldPalette } from "./FieldPalette.native.js";
17
+ import { FieldPropertiesPanel } from "./FieldPropertiesPanel.native.js";
18
+ import { FormBuilderCanvas } from "./FormBuilderCanvas.native.js";
19
+ import { fieldLocation, findField, insertField, layoutFromFields, newFieldFromType, validateLayout } from "./model.native.js";
20
+ import { useFormBuilderDrag } from "./useFormBuilderDrag.native.js";
21
+ var useBuilderBlocker = function useBuilderBlocker2(dirty) {
22
+ var blocker = useNavigationDirtyGuard(dirty);
23
+ useBeforeUnloadGuard(dirty);
24
+ return {
25
+ state: blocker.blocked ? "blocked" : "unblocked",
26
+ proceed: blocker.proceed,
27
+ reset: blocker.reset
28
+ };
29
+ };
30
+ function FormBuilderScreen(param) {
31
+ var {
32
+ doctype,
33
+ initialSelection
34
+ } = param;
35
+ return doctype ? /* @__PURE__ */_jsx(LoadedFormBuilder, {
36
+ doctype,
37
+ initialSelection
38
+ }, doctype) : /* @__PURE__ */_jsx(DoctypePicker, {});
39
+ }
40
+ function LoadedFormBuilder(param) {
41
+ var {
42
+ doctype,
43
+ initialSelection
44
+ } = param;
45
+ var {
46
+ t
47
+ } = useTranslation(BACKOFFICE_I18N_NAMESPACE);
48
+ var {
49
+ meta,
50
+ loading,
51
+ error,
52
+ reload
53
+ } = useDoctypeMeta(doctype);
54
+ var [generation, setGeneration] = useState(0);
55
+ var refresh = function refresh2() {
56
+ setGeneration(function (value) {
57
+ return value + 1;
58
+ });
59
+ reload();
60
+ };
61
+ return /* @__PURE__ */_jsx(AsyncBoundary, {
62
+ flex: 1,
63
+ minHeight: 0,
64
+ minWidth: 0,
65
+ keepPrevious: false,
66
+ loading: loading ? /* @__PURE__ */_jsx(AsyncSkeleton, {
67
+ layout: "generic"
68
+ }) : false,
69
+ error,
70
+ onRetry: refresh,
71
+ empty: !loading && !meta && !error ? /* @__PURE__ */_jsx(EmptyState, {
72
+ title: t("formBuilder.noMeta", "No form metadata available")
73
+ }) : false,
74
+ children: meta ? /* @__PURE__ */_jsx(BuilderForm, {
75
+ meta,
76
+ doctype,
77
+ reload: refresh,
78
+ initialSelection
79
+ }, `${doctype}:${generation}`) : null
80
+ });
81
+ }
82
+ function BuilderForm(param) {
83
+ var {
84
+ meta,
85
+ doctype,
86
+ reload,
87
+ initialSelection
88
+ } = param;
89
+ var {
90
+ t
91
+ } = useTranslation(BACKOFFICE_I18N_NAMESPACE);
92
+ var config = useFrappeConfig();
93
+ var layout = useMemo(function () {
94
+ return layoutFromFields(formBuilderFields(meta));
95
+ }, [meta]);
96
+ var [errors, setErrors] = useState({});
97
+ var [general, setGeneral] = useState();
98
+ var [selection, setSelection] = useState(function () {
99
+ var _layout_tabs_flatMap_find;
100
+ return (_layout_tabs_flatMap_find = layout.tabs.flatMap(function (tab) {
101
+ return tab.sections.flatMap(function (section) {
102
+ return section.columns.flatMap(function (column) {
103
+ return column.fields;
104
+ });
105
+ });
106
+ }).find(function (field) {
107
+ return field.df.fieldname === initialSelection;
108
+ })) === null || _layout_tabs_flatMap_find === void 0 ? void 0 : _layout_tabs_flatMap_find.key;
109
+ });
110
+ var [validated, setValidated] = useState(false);
111
+ var clearIssues = useCallback(function () {
112
+ setErrors({});
113
+ setGeneral(void 0);
114
+ setSelection(void 0);
115
+ setValidated(false);
116
+ }, []);
117
+ var mode = formBuilderMode({
118
+ custom: meta.custom
119
+ });
120
+ function clientErrors(next) {
121
+ return Object.fromEntries(Object.entries(validateLayout(next)).map(function (param2) {
122
+ var [key, messages] = param2;
123
+ return [key, Object.fromEntries(messages.map(function (message) {
124
+ return [message.key.endsWith("optionsRequired") ? "options" : message.key.endsWith("labelRequired") ? "label" : "fieldname", t(message.key, message.default)];
125
+ }))];
126
+ }));
127
+ }
128
+ async function submit(param2) {
129
+ var {
130
+ layout: next
131
+ } = param2;
132
+ var invalid = clientErrors(next);
133
+ setErrors(invalid);
134
+ setGeneral(void 0);
135
+ setValidated(true);
136
+ var keys = Object.keys(invalid);
137
+ if (keys.length) {
138
+ setSelection(keys[0]);
139
+ throw new Error(t("formBuilder.validation.summary", "{{count}} fields need attention.", {
140
+ count: keys.length
141
+ }));
142
+ }
143
+ try {
144
+ if (!(config === null || config === void 0 ? void 0 : config.baseURL) && !(config === null || config === void 0 ? void 0 : config.fixtures)) throw new Error(t("formBuilder.noConnection", "No Frappe connection is available."));
145
+ var http = config.baseURL ? createHttpClient({
146
+ ...config,
147
+ baseURL: config.baseURL
148
+ }) : void 0;
149
+ var source = config.fixtures ? {
150
+ doctype: "DocType",
151
+ name: doctype,
152
+ fields: formBuilderFields(meta)
153
+ } : await loadFormBuilderSource(http, doctype, mode);
154
+ await saveFormBuilderLayout({
155
+ http,
156
+ fixtures: config.fixtures,
157
+ doctype,
158
+ mode,
159
+ source,
160
+ layout: next
161
+ });
162
+ notify({
163
+ body: t("formBuilder.saved", "Form layout saved"),
164
+ severity: "success",
165
+ scope: "page"
166
+ });
167
+ reload();
168
+ } catch (error) {
169
+ var parsed = parseFormBuilderError(error, next);
170
+ var mapped = {};
171
+ var _iteratorNormalCompletion = true,
172
+ _didIteratorError = false,
173
+ _iteratorError = void 0;
174
+ try {
175
+ for (var _iterator = next.tabs.flatMap(function (tab) {
176
+ return [tab, ...tab.sections.flatMap(function (section) {
177
+ return [section, ...section.columns.flatMap(function (column) {
178
+ return [column, ...column.fields];
179
+ })];
180
+ })];
181
+ })[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
182
+ var field = _step.value;
183
+ var message = field.df ? parsed.fieldErrors[field.df.fieldname] : void 0;
184
+ if (message) mapped[field.key] = {
185
+ label: message
186
+ };
187
+ }
188
+ } catch (err) {
189
+ _didIteratorError = true;
190
+ _iteratorError = err;
191
+ } finally {
192
+ try {
193
+ if (!_iteratorNormalCompletion && _iterator.return != null) {
194
+ _iterator.return();
195
+ }
196
+ } finally {
197
+ if (_didIteratorError) {
198
+ throw _iteratorError;
199
+ }
200
+ }
201
+ }
202
+ setErrors(mapped);
203
+ if (Object.keys(mapped)[0]) setSelection(Object.keys(mapped)[0]);
204
+ setGeneral(parsed.general);
205
+ throw new Error(parsed.general || t("formBuilder.saveFailed", "Unable to save the form layout."));
206
+ }
207
+ }
208
+ return /* @__PURE__ */_jsx(Form, {
209
+ formOptions: {
210
+ defaultValues: {
211
+ layout
212
+ }
213
+ },
214
+ onSubmit: submit,
215
+ saveBar: {
216
+ useBlocker: useBuilderBlocker
217
+ },
218
+ flex: 1,
219
+ minHeight: 0,
220
+ minWidth: 0,
221
+ children: /* @__PURE__ */_jsx(BuilderEditor, {
222
+ doctype,
223
+ mode,
224
+ reload,
225
+ errors,
226
+ general,
227
+ selection,
228
+ onSelect: setSelection,
229
+ onReset: clearIssues,
230
+ onEdit: function onEdit(next) {
231
+ setGeneral(void 0);
232
+ setErrors(validated ? clientErrors(next) : {});
233
+ }
234
+ })
235
+ });
236
+ }
237
+ function BuilderEditor(param) {
238
+ var {
239
+ doctype,
240
+ mode,
241
+ reload,
242
+ errors,
243
+ general,
244
+ selection,
245
+ onSelect,
246
+ onEdit,
247
+ onReset
248
+ } = param;
249
+ var _layout_tabs_find;
250
+ var {
251
+ t
252
+ } = useTranslation(BACKOFFICE_I18N_NAMESPACE);
253
+ var {
254
+ knobProps
255
+ } = useResolvedKnobs();
256
+ var sizeClass = useLayoutSizeClass();
257
+ var compact = sizeClass === "compact";
258
+ var sheets = sizeClass !== "large" && sizeClass !== "xl";
259
+ var navigator = useBackofficeNavigator();
260
+ var paths = useBackofficePaths();
261
+ var form = useFormContext();
262
+ var subscribe = useCallback(function (listener) {
263
+ var sub = form.store.subscribe(listener);
264
+ return function () {
265
+ return sub.unsubscribe();
266
+ };
267
+ }, [form]);
268
+ var state = useSyncExternalStore(subscribe, function () {
269
+ return form.store.state;
270
+ }, function () {
271
+ return form.store.state;
272
+ });
273
+ var layout = state.values.layout;
274
+ var [tabKey, setTabKey] = useState(layout.tabs[0].key);
275
+ var activeTab = (_layout_tabs_find = layout.tabs.find(function (tab) {
276
+ return tab.key === tabKey;
277
+ })) !== null && _layout_tabs_find !== void 0 ? _layout_tabs_find : layout.tabs[0];
278
+ var [sheet, setSheet] = useState();
279
+ var [pending, setPending] = useState();
280
+ var change = function change2(next) {
281
+ if (state.isSubmitting) return;
282
+ form.setFieldValue("layout", next);
283
+ onEdit(next);
284
+ };
285
+ function select(key) {
286
+ onSelect(key);
287
+ if (sheets) setSheet("properties");
288
+ }
289
+ var drag = useFormBuilderDrag({
290
+ layout,
291
+ tabKey: activeTab.key,
292
+ onChange: change,
293
+ onSelect: select
294
+ });
295
+ useEffect(function () {
296
+ if (!state.isDirty && (general || Object.keys(errors).length)) onReset();
297
+ }, [state.isDirty, general, errors, onReset]);
298
+ useEffect(function () {
299
+ if (!selection) return;
300
+ var location = fieldLocation(layout, selection);
301
+ if (location) setTabKey(location.tabKey);else if (layout.tabs.some(function (tab) {
302
+ return tab.key === selection;
303
+ })) setTabKey(selection);
304
+ if (sheets && (errors[selection] || findField(layout, selection))) setSheet("properties");
305
+ }, [layout, selection, errors, sheets]);
306
+ useEffect(function () {
307
+ if (!isWeb || !sheet) return;
308
+ var escape = function escape2(event) {
309
+ if (event.key === "Escape") setSheet(void 0);
310
+ };
311
+ document.addEventListener("keydown", escape);
312
+ return function () {
313
+ return document.removeEventListener("keydown", escape);
314
+ };
315
+ }, [sheet]);
316
+ function guarded(action) {
317
+ if (state.isDirty) setPending(function () {
318
+ return action;
319
+ });else action();
320
+ }
321
+ var navigate = function navigate2(href) {
322
+ return guarded(function () {
323
+ return navigator.navigate(href);
324
+ });
325
+ };
326
+ function add(type) {
327
+ var _activeTab_sections_flatMap_find;
328
+ if (drag.suppressClick.current) return;
329
+ var location = selection ? fieldLocation(layout, selection) : void 0;
330
+ var column = (_activeTab_sections_flatMap_find = activeTab.sections.flatMap(function (section) {
331
+ return section.columns;
332
+ }).find(function (column2) {
333
+ return column2.key === (location === null || location === void 0 ? void 0 : location.columnKey);
334
+ })) !== null && _activeTab_sections_flatMap_find !== void 0 ? _activeTab_sections_flatMap_find : activeTab.sections[0].columns[0];
335
+ var inserted = insertField(layout, newFieldFromType(layout, type), {
336
+ columnId: column.key,
337
+ index: column.fields.length
338
+ });
339
+ change(inserted.layout);
340
+ var newTab = inserted.layout.tabs.find(function (tab) {
341
+ return tab.key === inserted.key;
342
+ });
343
+ if (newTab) setTabKey(newTab.key);
344
+ select(inserted.key);
345
+ }
346
+ var palette = /* @__PURE__ */_jsx(FieldPalette, {
347
+ onAdd: add,
348
+ onPointerDown: drag.palettePointerDown
349
+ });
350
+ var properties = /* @__PURE__ */_jsx(FieldPropertiesPanel, {
351
+ layout,
352
+ selection,
353
+ mode,
354
+ errors,
355
+ onChange: change
356
+ }, selection);
357
+ var modeChip = /* @__PURE__ */_jsx(Chip, {
358
+ size: "$2",
359
+ children: mode === "customize" ? t("formBuilder.customizeMode", "Saves through Customize Form") : t("formBuilder.doctypeMode", "Saves to DocType")
360
+ });
361
+ return /* @__PURE__ */_jsxs(YStack, {
362
+ flex: 1,
363
+ minWidth: 0,
364
+ minHeight: 0,
365
+ ...knobProps.gap,
366
+ testID: "form-builder-screen",
367
+ children: [/* @__PURE__ */_jsx(FormToolbar, {
368
+ title: doctype,
369
+ breadcrumbs: [{
370
+ label: t("formBuilder.home", "Home"),
371
+ href: paths.home()
372
+ }, {
373
+ label: t("formBuilder.title", "Customize Form"),
374
+ href: paths.formBuilder()
375
+ }, {
376
+ label: doctype
377
+ }],
378
+ onNavigate: navigate,
379
+ indicator: "saved",
380
+ showIndicator: false,
381
+ isSaving: state.isSubmitting,
382
+ isDirty: state.isDirty,
383
+ canSave: false,
384
+ canSubmit: false,
385
+ canCancel: false,
386
+ canAmend: false,
387
+ onSave: function onSave() {},
388
+ onSubmit: function onSubmit() {},
389
+ onCancel: function onCancel() {},
390
+ onAmend: function onAmend() {},
391
+ cluster: compact ? void 0 : modeChip,
392
+ menuItems: [{
393
+ key: "list",
394
+ icon: "list",
395
+ label: t("formBuilder.goToList", "Go to {{doctype}} list", {
396
+ doctype
397
+ }),
398
+ onSelect: function onSelect2() {
399
+ return navigate(paths.list(doctype));
400
+ }
401
+ }, {
402
+ key: "reload",
403
+ icon: "reload",
404
+ label: t("formBuilder.reload", "Reload"),
405
+ onSelect: function onSelect2() {
406
+ return guarded(reload);
407
+ }
408
+ }]
409
+ }), general ? /* @__PURE__ */_jsx(YStack, {
410
+ ...knobProps.panelPadding,
411
+ children: /* @__PURE__ */_jsx(Alert, {
412
+ intent: "error",
413
+ title: t("formBuilder.saveFailed", "Unable to save the form layout."),
414
+ testID: "form-builder-error",
415
+ children: general
416
+ })
417
+ }) : null, /* @__PURE__ */_jsxs(YStack, {
418
+ flex: 1,
419
+ minWidth: 0,
420
+ minHeight: 0,
421
+ ...knobProps.gap,
422
+ ...knobProps.panelPadding,
423
+ children: [sheets ? /* @__PURE__ */_jsxs(XStack, {
424
+ ...knobProps.gapSm,
425
+ children: [/* @__PURE__ */_jsx(Button, {
426
+ size: "$3",
427
+ flex: 1,
428
+ onPress: function onPress() {
429
+ return setSheet("palette");
430
+ },
431
+ children: t("formBuilder.fieldTypes", "Field types")
432
+ }), /* @__PURE__ */_jsx(Button, {
433
+ size: "$3",
434
+ flex: 1,
435
+ onPress: function onPress() {
436
+ return setSheet("properties");
437
+ },
438
+ children: t("formBuilder.properties", "Field properties")
439
+ })]
440
+ }) : null, /* @__PURE__ */_jsxs(XStack, {
441
+ flex: 1,
442
+ minWidth: 0,
443
+ minHeight: 0,
444
+ ...knobProps.gapLg,
445
+ children: [!sheets ? /* @__PURE__ */_jsx(ScrollView, {
446
+ flex: 2,
447
+ minWidth: 0,
448
+ children: /* @__PURE__ */_jsx(Card, {
449
+ tier: "content",
450
+ minWidth: 0,
451
+ children: palette
452
+ })
453
+ }) : null, /* @__PURE__ */_jsx(YStack, {
454
+ flex: 4,
455
+ minWidth: 0,
456
+ minHeight: 0,
457
+ children: /* @__PURE__ */_jsx(FormBuilderCanvas, {
458
+ layout,
459
+ activeTab: activeTab.key,
460
+ selection,
461
+ stacked: compact,
462
+ mode,
463
+ errors,
464
+ drag,
465
+ onChange: change,
466
+ onTab: setTabKey,
467
+ onSelect: select,
468
+ onAdd: function onAdd() {
469
+ return sheets ? setSheet("palette") : add("Data");
470
+ }
471
+ })
472
+ }), !sheets ? /* @__PURE__ */_jsx(ScrollView, {
473
+ flex: 2,
474
+ minWidth: 0,
475
+ children: /* @__PURE__ */_jsx(Card, {
476
+ tier: "content",
477
+ minWidth: 0,
478
+ children: /* @__PURE__ */_jsx(Surface, {
479
+ size: "$3",
480
+ children: properties
481
+ })
482
+ })
483
+ }) : null]
484
+ })]
485
+ }), sheets ? /* @__PURE__ */_jsx(SheetModal, {
486
+ open: !!sheet,
487
+ onOpenChange: function onOpenChange(open) {
488
+ if (!open) setSheet(void 0);
489
+ },
490
+ scrollable: true,
491
+ snapPoint: 85,
492
+ children: sheet === "palette" ? palette : properties
493
+ }) : null, /* @__PURE__ */_jsx(ConfirmDialog, {
494
+ open: !!pending,
495
+ onOpenChange: function onOpenChange(open) {
496
+ if (!open) setPending(void 0);
497
+ },
498
+ title: t("formBuilder.discardTitle", "Discard unsaved changes?"),
499
+ confirmLabel: t("formBuilder.discard", "Discard"),
500
+ onConfirm: function onConfirm() {
501
+ form.reset();
502
+ pending === null || pending === void 0 ? void 0 : pending();
503
+ setPending(void 0);
504
+ }
505
+ })]
506
+ });
507
+ }
508
+ export { FormBuilderScreen };
509
+ //# sourceMappingURL=FormBuilderScreen.native.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["jsx","_jsx","jsxs","_jsxs","Alert","AsyncBoundary","AsyncSkeleton","Chip","Card","ConfirmDialog","EmptyState","ScrollView","SheetModal","XStack","YStack","isWeb","notify","Button","Form","useFormContext","useFrappeConfig","Surface","useLayoutSizeClass","useResolvedKnobs","useCallback","useEffect","useMemo","useState","useSyncExternalStore","useTranslation","useBackofficeNavigator","useBackofficePaths","FormToolbar","createHttpClient","useBeforeUnloadGuard","useNavigationDirtyGuard","BACKOFFICE_I18N_NAMESPACE","useDoctypeMeta","formBuilderFields","formBuilderMode","loadFormBuilderSource","parseFormBuilderError","saveFormBuilderLayout","DoctypePicker","FieldPalette","FieldPropertiesPanel","FormBuilderCanvas","fieldLocation","findField","insertField","layoutFromFields","newFieldFromType","validateLayout","useFormBuilderDrag","useBuilderBlocker","useBuilderBlocker2","dirty","blocker","state","blocked","proceed","reset","FormBuilderScreen","param","doctype","initialSelection","LoadedFormBuilder","t","meta","loading","error","reload","generation","setGeneration","refresh","refresh2","value","flex","minHeight","minWidth","keepPrevious","layout","onRetry","empty","title","children","BuilderForm","config","errors","setErrors","general","setGeneral","selection","setSelection","_layout_tabs_flatMap_find","tabs","flatMap","tab","sections","section","columns","column","fields","find","field","df","fieldname","key","validated","setValidated","clearIssues","mode","custom","clientErrors","next","Object","fromEntries","entries","map","param2","messages","message","endsWith","default","submit","invalid","keys","length","Error","count","baseURL","fixtures","http","source","name","body","severity","scope","parsed","mapped","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_iterator","Symbol","iterator","_step","done","fieldErrors","label","err","return","formOptions","defaultValues","onSubmit","saveBar","useBlocker","BuilderEditor","onSelect","onReset","onEdit","_layout_tabs_find","knobProps","sizeClass","compact","sheets","navigator","paths","form","subscribe","listener","sub","store","unsubscribe","values","tabKey","setTabKey","activeTab","sheet","setSheet","pending","setPending","change","change2","isSubmitting","setFieldValue","select","drag","onChange","isDirty","location","some","escape","escape2","event","document","addEventListener","removeEventListener","guarded","action","navigate","navigate2","href","add","type","_activeTab_sections_flatMap_find","suppressClick","current","column2","columnKey","inserted","columnId","index","newTab","palette","onAdd","onPointerDown","palettePointerDown","properties","modeChip","size","gap","testID","breadcrumbs","home","formBuilder","onNavigate","indicator","showIndicator","isSaving","canSave","canSubmit","canCancel","canAmend","onSave","onCancel","onAmend","cluster","menuItems","icon","onSelect2","list","panelPadding","intent"],"sources":["../../../src/formBuilder/FormBuilderScreen.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,129 @@
1
+ import { parseServerError } from "../quickEntry/quickEntryPlan.mjs";
2
+ import { fieldsFromLayout } from "./model.mjs";
3
+ function formBuilderMode(meta) {
4
+ return meta.custom ? "doctype" : "customize";
5
+ }
6
+ function formBuilderFields(meta) {
7
+ const fields = meta.fields;
8
+ return formBuilderMode(meta) === "doctype" ? fields.filter(df => !df.is_custom_field) : fields;
9
+ }
10
+ async function postForm(http, method, body) {
11
+ const response = await http.post(`/api/method/${method}`, body, {
12
+ "Content-Type": "application/x-www-form-urlencoded"
13
+ });
14
+ return response.payload;
15
+ }
16
+ async function loadFormBuilderSource(http, doctype, mode) {
17
+ let source;
18
+ if (mode === "customize") {
19
+ const response = await postForm(http, "run_doc_method", {
20
+ docs: JSON.stringify({
21
+ doctype: "Customize Form",
22
+ name: "Customize Form",
23
+ doc_type: doctype
24
+ }),
25
+ method: "fetch_to_customize"
26
+ });
27
+ source = response.docs?.[0];
28
+ } else {
29
+ const response = await http.post("/api/method/frappe.client.get", {
30
+ doctype: "DocType",
31
+ name: doctype
32
+ });
33
+ source = response.payload?.message;
34
+ }
35
+ if (!source || !Array.isArray(source.fields)) throw new Error(`No form builder source document returned for ${doctype}`);
36
+ return source;
37
+ }
38
+ function saveFields(source, layout, mode, parent) {
39
+ const existing = new Map(source.fields.map(df => [df.fieldname, df]));
40
+ return fieldsFromLayout(layout).map(df => {
41
+ const previous = existing.get(df.fieldname);
42
+ const row = {
43
+ ...previous,
44
+ ...df,
45
+ doctype: mode === "customize" ? "Customize Form Field" : "DocField",
46
+ parenttype: mode === "customize" ? "Customize Form" : "DocType",
47
+ parentfield: "fields",
48
+ parent
49
+ };
50
+ if (previous) {
51
+ if (previous.name !== void 0) row.name = previous.name;
52
+ } else {
53
+ delete row.name;
54
+ row.__islocal = 1;
55
+ if (mode === "customize") row.is_custom_field = 1;
56
+ }
57
+ return row;
58
+ });
59
+ }
60
+ function buildCustomizeFormPayload(source, layout) {
61
+ return {
62
+ ...source,
63
+ doctype: "Customize Form",
64
+ name: "Customize Form",
65
+ fields: saveFields(source, layout, "customize", "Customize Form")
66
+ };
67
+ }
68
+ function buildDoctypeSavePayload(source, doctype, layout) {
69
+ return {
70
+ ...source,
71
+ doctype: "DocType",
72
+ name: doctype,
73
+ fields: saveFields(source, layout, "doctype", doctype)
74
+ };
75
+ }
76
+ async function saveFormBuilderLayout({
77
+ http,
78
+ fixtures,
79
+ doctype,
80
+ mode,
81
+ source,
82
+ layout
83
+ }) {
84
+ if (fixtures) {
85
+ const fields = fieldsFromLayout(layout);
86
+ await fixtures.updateDoc("DocType", doctype, {
87
+ fields
88
+ });
89
+ return fields;
90
+ }
91
+ if (!http) throw new Error("An HTTP client or fixture provider is required to save the form builder layout");
92
+ if (mode === "customize") {
93
+ const doc2 = buildCustomizeFormPayload(source, layout);
94
+ const response2 = await postForm(http, "run_doc_method", {
95
+ docs: JSON.stringify(doc2),
96
+ method: "save_customization"
97
+ });
98
+ return response2.docs?.[0]?.fields ?? doc2.fields;
99
+ }
100
+ const doc = buildDoctypeSavePayload(source, doctype, layout);
101
+ const response = await postForm(http, "frappe.desk.form.save.savedocs", {
102
+ doc: JSON.stringify(doc),
103
+ action: "Save"
104
+ });
105
+ const saved = response.docs?.[0];
106
+ if (!saved || !Array.isArray(saved.fields)) throw new Error(`No saved DocType document returned for ${doctype}`);
107
+ return saved.fields;
108
+ }
109
+ function mentions(message, value) {
110
+ const escaped = value.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
111
+ return new RegExp(`(^|[^a-zA-Z0-9_])${escaped}($|[^a-zA-Z0-9_])`, "i").test(message);
112
+ }
113
+ function parseFormBuilderError(err, layout) {
114
+ const parsed = parseServerError(err, "Unable to save the form layout.");
115
+ const general = parsed.general ?? (parsed.missingFields.length ? "Required fields are missing." : void 0);
116
+ const fieldErrors = {};
117
+ for (const df of fieldsFromLayout(layout)) {
118
+ if (!df.fieldname) continue;
119
+ if (parsed.missingFields.includes(df.fieldname) || general && (mentions(general, df.fieldname) || df.label && mentions(general, df.label))) {
120
+ fieldErrors[df.fieldname] = general ?? "This field is required.";
121
+ }
122
+ }
123
+ return {
124
+ general,
125
+ fieldErrors
126
+ };
127
+ }
128
+ export { buildCustomizeFormPayload, buildDoctypeSavePayload, formBuilderFields, formBuilderMode, loadFormBuilderSource, parseFormBuilderError, saveFormBuilderLayout };
129
+ //# sourceMappingURL=api.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["parseServerError","fieldsFromLayout","formBuilderMode","meta","custom","formBuilderFields","fields","filter","df","is_custom_field","postForm","http","method","body","response","post","payload","loadFormBuilderSource","doctype","mode","source","docs","JSON","stringify","name","doc_type","message","Array","isArray","Error","saveFields","layout","parent","existing","Map","map","fieldname","previous","get","row","parenttype","parentfield","__islocal","buildCustomizeFormPayload","buildDoctypeSavePayload","saveFormBuilderLayout","fixtures","updateDoc","doc","doc2","action","saved","mentions","value","escaped","replace","RegExp","test","parseFormBuilderError","err","parsed","general","missingFields","length","fieldErrors","includes","label"],"sources":["../../../src/formBuilder/api.ts"],"sourcesContent":[null],"mappings":"AAEA,SAASA,gBAAA,QAAwB;AACjC,SACEC,gBAAA,QAIK;AAcA,SAASC,gBAAgBC,IAAA,EAA6D;EAC3F,OAAOA,IAAA,CAAKC,MAAA,GAAS,YAAY;AACnC;AAGO,SAASC,kBACdF,IAAA,EACmB;EACnB,MAAMG,MAAA,GAASH,IAAA,CAAKG,MAAA;EACpB,OAAOJ,eAAA,CAAgBC,IAAI,MAAM,YAAYG,MAAA,CAAOC,MAAA,CAAQC,EAAA,IAAO,CAACA,EAAA,CAAGC,eAAe,IAAIH,MAAA;AAC5F;AAEA,eAAeI,SACbC,IAAA,EACAC,MAAA,EACAC,IAAA,EAC0B;EAC1B,MAAMC,QAAA,GAAW,MAAMH,IAAA,CAAKI,IAAA,CAAsB,eAAeH,MAAM,IAAIC,IAAA,EAAM;IAC/E,gBAAgB;EAClB,CAAC;EACD,OAAOC,QAAA,CAASE,OAAA;AAClB;AAEA,eAAsBC,sBACpBN,IAAA,EACAO,OAAA,EACAC,IAAA,EAC4B;EAC5B,IAAIC,MAAA;EACJ,IAAID,IAAA,KAAS,aAAa;IACxB,MAAML,QAAA,GAAW,MAAMJ,QAAA,CAASC,IAAA,EAAM,kBAAkB;MACtDU,IAAA,EAAMC,IAAA,CAAKC,SAAA,CAAU;QACnBL,OAAA,EAAS;QACTM,IAAA,EAAM;QACNC,QAAA,EAAUP;MACZ,CAAC;MACDN,MAAA,EAAQ;IACV,CAAC;IACDQ,MAAA,GAASN,QAAA,CAASO,IAAA,GAAO,CAAC;EAC5B,OAAO;IACL,MAAMP,QAAA,GAAW,MAAMH,IAAA,CAAKI,IAAA,CAAsB,iCAAiC;MACjFG,OAAA,EAAS;MACTM,IAAA,EAAMN;IACR,CAAC;IACDE,MAAA,GAASN,QAAA,CAASE,OAAA,EAASU,OAAA;EAC7B;EACA,IAAI,CAACN,MAAA,IAAU,CAACO,KAAA,CAAMC,OAAA,CAAQR,MAAA,CAAOd,MAAM,GACzC,MAAM,IAAIuB,KAAA,CAAM,gDAAgDX,OAAO,EAAE;EAC3E,OAAOE,MAAA;AACT;AAEA,SAASU,WACPV,MAAA,EACAW,MAAA,EACAZ,IAAA,EACAa,MAAA,EACmB;EACnB,MAAMC,QAAA,GAAW,IAAIC,GAAA,CAAId,MAAA,CAAOd,MAAA,CAAO6B,GAAA,CAAK3B,EAAA,IAAO,CAACA,EAAA,CAAG4B,SAAA,EAAW5B,EAAE,CAAC,CAAC;EACtE,OAAOP,gBAAA,CAAiB8B,MAAM,EAAEI,GAAA,CAAK3B,EAAA,IAAO;IAC1C,MAAM6B,QAAA,GAAWJ,QAAA,CAASK,GAAA,CAAI9B,EAAA,CAAG4B,SAAS;IAC1C,MAAMG,GAAA,GAAuB;MAC3B,GAAGF,QAAA;MACH,GAAG7B,EAAA;MACHU,OAAA,EAASC,IAAA,KAAS,cAAc,yBAAyB;MACzDqB,UAAA,EAAYrB,IAAA,KAAS,cAAc,mBAAmB;MACtDsB,WAAA,EAAa;MACbT;IACF;IACA,IAAIK,QAAA,EAAU;MACZ,IAAIA,QAAA,CAASb,IAAA,KAAS,QAAWe,GAAA,CAAIf,IAAA,GAAOa,QAAA,CAASb,IAAA;IACvD,OAAO;MACL,OAAOe,GAAA,CAAIf,IAAA;MACXe,GAAA,CAAIG,SAAA,GAAY;MAChB,IAAIvB,IAAA,KAAS,aAAaoB,GAAA,CAAI9B,eAAA,GAAkB;IAClD;IACA,OAAO8B,GAAA;EACT,CAAC;AACH;AAEO,SAASI,0BACdvB,MAAA,EACAW,MAAA,EACmB;EACnB,OAAO;IACL,GAAGX,MAAA;IACHF,OAAA,EAAS;IACTM,IAAA,EAAM;IACNlB,MAAA,EAAQwB,UAAA,CAAWV,MAAA,EAAQW,MAAA,EAAQ,aAAa,gBAAgB;EAClE;AACF;AAEO,SAASa,wBACdxB,MAAA,EACAF,OAAA,EACAa,MAAA,EACmB;EACnB,OAAO;IACL,GAAGX,MAAA;IACHF,OAAA,EAAS;IACTM,IAAA,EAAMN,OAAA;IACNZ,MAAA,EAAQwB,UAAA,CAAWV,MAAA,EAAQW,MAAA,EAAQ,WAAWb,OAAO;EACvD;AACF;AAWA,eAAsB2B,sBAAsB;EAC1ClC,IAAA;EACAmC,QAAA;EACA5B,OAAA;EACAC,IAAA;EACAC,MAAA;EACAW;AACF,GAA6D;EAC3D,IAAIe,QAAA,EAAU;IACZ,MAAMxC,MAAA,GAASL,gBAAA,CAAiB8B,MAAM;IACtC,MAAMe,QAAA,CAASC,SAAA,CAAU,WAAW7B,OAAA,EAAS;MAAEZ;IAAO,CAAsC;IAC5F,OAAOA,MAAA;EACT;EACA,IAAI,CAACK,IAAA,EACH,MAAM,IAAIkB,KAAA,CACR,gFACF;EACF,IAAIV,IAAA,KAAS,aAAa;IACxB,MAAM6B,IAAA,GAAML,yBAAA,CAA0BvB,MAAA,EAAQW,MAAM;IACpD,MAAMjB,SAAA,GAAW,MAAMJ,QAAA,CAASC,IAAA,EAAM,kBAAkB;MACtDU,IAAA,EAAMC,IAAA,CAAKC,SAAA,CAAUyB,IAAG;MACxBpC,MAAA,EAAQ;IACV,CAAC;IAED,OAAOE,SAAA,CAASO,IAAA,GAAO,CAAC,GAAGf,MAAA,IAAU2C,IAAA,CAAI3C,MAAA;EAC3C;EACA,MAAM0C,GAAA,GAAMJ,uBAAA,CAAwBxB,MAAA,EAAQF,OAAA,EAASa,MAAM;EAC3D,MAAMjB,QAAA,GAAW,MAAMJ,QAAA,CAASC,IAAA,EAAM,kCAAkC;IACtEqC,GAAA,EAAK1B,IAAA,CAAKC,SAAA,CAAUyB,GAAG;IACvBE,MAAA,EAAQ;EACV,CAAC;EACD,MAAMC,KAAA,GAAQrC,QAAA,CAASO,IAAA,GAAO,CAAC;EAC/B,IAAI,CAAC8B,KAAA,IAAS,CAACxB,KAAA,CAAMC,OAAA,CAAQuB,KAAA,CAAM7C,MAAM,GACvC,MAAM,IAAIuB,KAAA,CAAM,0CAA0CX,OAAO,EAAE;EACrE,OAAOiC,KAAA,CAAM7C,MAAA;AACf;AAOA,SAAS8C,SAAS1B,OAAA,EAAiB2B,KAAA,EAAwB;EACzD,MAAMC,OAAA,GAAUD,KAAA,CAAME,OAAA,CAAQ,uBAAuB,MAAM;EAC3D,OAAO,IAAIC,MAAA,CAAO,oBAAoBF,OAAO,qBAAqB,GAAG,EAAEG,IAAA,CAAK/B,OAAO;AACrF;AAEO,SAASgC,sBAAsBC,GAAA,EAAc5B,MAAA,EAAyC;EAC3F,MAAM6B,MAAA,GAAS5D,gBAAA,CAAiB2D,GAAA,EAAK,iCAAiC;EACtE,MAAME,OAAA,GACJD,MAAA,CAAOC,OAAA,KAAYD,MAAA,CAAOE,aAAA,CAAcC,MAAA,GAAS,iCAAiC;EACpF,MAAMC,WAAA,GAAsC,CAAC;EAC7C,WAAWxD,EAAA,IAAMP,gBAAA,CAAiB8B,MAAM,GAAG;IACzC,IAAI,CAACvB,EAAA,CAAG4B,SAAA,EAAW;IACnB,IACEwB,MAAA,CAAOE,aAAA,CAAcG,QAAA,CAASzD,EAAA,CAAG4B,SAAS,KACzCyB,OAAA,KAAYT,QAAA,CAASS,OAAA,EAASrD,EAAA,CAAG4B,SAAS,KAAM5B,EAAA,CAAG0D,KAAA,IAASd,QAAA,CAASS,OAAA,EAASrD,EAAA,CAAG0D,KAAK,IACvF;MACAF,WAAA,CAAYxD,EAAA,CAAG4B,SAAS,IAAIyB,OAAA,IAAW;IACzC;EACF;EACA,OAAO;IAAEA,OAAA;IAASG;EAAY;AAChC","ignoreList":[]}