@multiplatform.one/backoffice 6.3.0 → 6.4.1

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 (338) hide show
  1. package/dist/cjs/chrome/CommandPalette.cjs +20 -9
  2. package/dist/cjs/chrome/CommandPalette.native.js +18 -10
  3. package/dist/cjs/chrome/CommandPalette.native.js.map +1 -1
  4. package/dist/cjs/i18n/en.cjs +21 -0
  5. package/dist/cjs/i18n/en.native.js +21 -0
  6. package/dist/cjs/i18n/en.native.js.map +1 -1
  7. package/dist/cjs/index.cjs +49 -1
  8. package/dist/cjs/index.native.js +48 -0
  9. package/dist/cjs/index.native.js.map +1 -1
  10. package/dist/cjs/shared/types.cjs +18 -0
  11. package/dist/cjs/shared/types.native.js +21 -0
  12. package/dist/cjs/shared/types.native.js.map +1 -0
  13. package/dist/cjs/shared/useDocinfo.cjs +116 -0
  14. package/dist/cjs/shared/useDocinfo.native.js +167 -0
  15. package/dist/cjs/shared/useDocinfo.native.js.map +1 -0
  16. package/dist/cjs/shared/useDoctypeMeta.cjs +124 -0
  17. package/dist/cjs/shared/useDoctypeMeta.native.js +158 -0
  18. package/dist/cjs/shared/useDoctypeMeta.native.js.map +1 -0
  19. package/dist/cjs/shared/useRecentVisit.cjs +40 -0
  20. package/dist/cjs/shared/useRecentVisit.native.js +43 -0
  21. package/dist/cjs/shared/useRecentVisit.native.js.map +1 -0
  22. package/dist/cjs/shared/useSessionUserId.cjs +54 -0
  23. package/dist/cjs/shared/useSessionUserId.native.js +59 -0
  24. package/dist/cjs/shared/useSessionUserId.native.js.map +1 -0
  25. package/dist/cjs/shared/useSlugTarget.cjs +138 -0
  26. package/dist/cjs/shared/useSlugTarget.native.js +166 -0
  27. package/dist/cjs/shared/useSlugTarget.native.js.map +1 -0
  28. package/dist/cjs/shared/useUserRoles.cjs +72 -0
  29. package/dist/cjs/shared/useUserRoles.native.js +79 -0
  30. package/dist/cjs/shared/useUserRoles.native.js.map +1 -0
  31. package/dist/cjs/shell/WorkspaceSidebar.cjs +4 -0
  32. package/dist/cjs/shell/WorkspaceSidebar.native.js +4 -0
  33. package/dist/cjs/shell/WorkspaceSidebar.native.js.map +1 -1
  34. package/dist/cjs/workspace/WorkspaceChartBlock.cjs +136 -0
  35. package/dist/cjs/workspace/WorkspaceChartBlock.native.js +144 -0
  36. package/dist/cjs/workspace/WorkspaceChartBlock.native.js.map +1 -0
  37. package/dist/cjs/workspace/WorkspaceGrid.cjs +91 -0
  38. package/dist/cjs/workspace/WorkspaceGrid.native.js +126 -0
  39. package/dist/cjs/workspace/WorkspaceGrid.native.js.map +1 -0
  40. package/dist/cjs/workspace/WorkspaceLinkCard.cjs +139 -0
  41. package/dist/cjs/workspace/WorkspaceLinkCard.native.js +155 -0
  42. package/dist/cjs/workspace/WorkspaceLinkCard.native.js.map +1 -0
  43. package/dist/cjs/workspace/WorkspaceLinkDirectory.cjs +110 -0
  44. package/dist/cjs/workspace/WorkspaceLinkDirectory.native.js +127 -0
  45. package/dist/cjs/workspace/WorkspaceLinkDirectory.native.js.map +1 -0
  46. package/dist/cjs/workspace/WorkspaceNumberCard.cjs +133 -0
  47. package/dist/cjs/workspace/WorkspaceNumberCard.native.js +138 -0
  48. package/dist/cjs/workspace/WorkspaceNumberCard.native.js.map +1 -0
  49. package/dist/cjs/workspace/WorkspaceQuickList.cjs +112 -0
  50. package/dist/cjs/workspace/WorkspaceQuickList.native.js +130 -0
  51. package/dist/cjs/workspace/WorkspaceQuickList.native.js.map +1 -0
  52. package/dist/cjs/workspace/WorkspaceRecents.cjs +116 -0
  53. package/dist/cjs/workspace/WorkspaceRecents.native.js +132 -0
  54. package/dist/cjs/workspace/WorkspaceRecents.native.js.map +1 -0
  55. package/dist/cjs/workspace/WorkspaceScreen.cjs +291 -0
  56. package/dist/cjs/workspace/WorkspaceScreen.native.js +323 -0
  57. package/dist/cjs/workspace/WorkspaceScreen.native.js.map +1 -0
  58. package/dist/cjs/workspace/WorkspaceShortcut.cjs +185 -0
  59. package/dist/cjs/workspace/WorkspaceShortcut.native.js +202 -0
  60. package/dist/cjs/workspace/WorkspaceShortcut.native.js.map +1 -0
  61. package/dist/cjs/workspace/parseContent.cjs +180 -0
  62. package/dist/cjs/workspace/parseContent.native.js +299 -0
  63. package/dist/cjs/workspace/parseContent.native.js.map +1 -0
  64. package/dist/cjs/workspace/types.cjs +18 -0
  65. package/dist/cjs/workspace/types.native.js +21 -0
  66. package/dist/cjs/workspace/types.native.js.map +1 -0
  67. package/dist/cjs/workspace/useDashboardChart.cjs +96 -0
  68. package/dist/cjs/workspace/useDashboardChart.native.js +110 -0
  69. package/dist/cjs/workspace/useDashboardChart.native.js.map +1 -0
  70. package/dist/cjs/workspace/useWorkspaceDoc.cjs +103 -0
  71. package/dist/cjs/workspace/useWorkspaceDoc.native.js +120 -0
  72. package/dist/cjs/workspace/useWorkspaceDoc.native.js.map +1 -0
  73. package/dist/esm/chrome/CommandPalette.mjs +20 -9
  74. package/dist/esm/chrome/CommandPalette.mjs.map +1 -1
  75. package/dist/esm/chrome/CommandPalette.native.js +18 -10
  76. package/dist/esm/chrome/CommandPalette.native.js.map +1 -1
  77. package/dist/esm/i18n/en.mjs +21 -0
  78. package/dist/esm/i18n/en.mjs.map +1 -1
  79. package/dist/esm/i18n/en.native.js +21 -0
  80. package/dist/esm/i18n/en.native.js.map +1 -1
  81. package/dist/esm/index.mjs +19 -1
  82. package/dist/esm/index.mjs.map +1 -1
  83. package/dist/esm/index.native.js +19 -1
  84. package/dist/esm/index.native.js.map +1 -1
  85. package/dist/esm/shared/types.mjs +2 -0
  86. package/dist/esm/shared/types.mjs.map +1 -0
  87. package/dist/esm/shared/types.native.js +2 -0
  88. package/dist/esm/shared/types.native.js.map +1 -0
  89. package/dist/esm/shared/useDocinfo.mjs +90 -0
  90. package/dist/esm/shared/useDocinfo.mjs.map +1 -0
  91. package/dist/esm/shared/useDocinfo.native.js +138 -0
  92. package/dist/esm/shared/useDocinfo.native.js.map +1 -0
  93. package/dist/esm/shared/useDoctypeMeta.mjs +99 -0
  94. package/dist/esm/shared/useDoctypeMeta.mjs.map +1 -0
  95. package/dist/esm/shared/useDoctypeMeta.native.js +130 -0
  96. package/dist/esm/shared/useDoctypeMeta.native.js.map +1 -0
  97. package/dist/esm/shared/useRecentVisit.mjs +15 -0
  98. package/dist/esm/shared/useRecentVisit.mjs.map +1 -0
  99. package/dist/esm/shared/useRecentVisit.native.js +15 -0
  100. package/dist/esm/shared/useRecentVisit.native.js.map +1 -0
  101. package/dist/esm/shared/useSessionUserId.mjs +29 -0
  102. package/dist/esm/shared/useSessionUserId.mjs.map +1 -0
  103. package/dist/esm/shared/useSessionUserId.native.js +31 -0
  104. package/dist/esm/shared/useSessionUserId.native.js.map +1 -0
  105. package/dist/esm/shared/useSlugTarget.mjs +113 -0
  106. package/dist/esm/shared/useSlugTarget.mjs.map +1 -0
  107. package/dist/esm/shared/useSlugTarget.native.js +138 -0
  108. package/dist/esm/shared/useSlugTarget.native.js.map +1 -0
  109. package/dist/esm/shared/useUserRoles.mjs +47 -0
  110. package/dist/esm/shared/useUserRoles.mjs.map +1 -0
  111. package/dist/esm/shared/useUserRoles.native.js +51 -0
  112. package/dist/esm/shared/useUserRoles.native.js.map +1 -0
  113. package/dist/esm/shell/WorkspaceSidebar.mjs +4 -0
  114. package/dist/esm/shell/WorkspaceSidebar.mjs.map +1 -1
  115. package/dist/esm/shell/WorkspaceSidebar.native.js +4 -0
  116. package/dist/esm/shell/WorkspaceSidebar.native.js.map +1 -1
  117. package/dist/esm/workspace/WorkspaceChartBlock.mjs +111 -0
  118. package/dist/esm/workspace/WorkspaceChartBlock.mjs.map +1 -0
  119. package/dist/esm/workspace/WorkspaceChartBlock.native.js +116 -0
  120. package/dist/esm/workspace/WorkspaceChartBlock.native.js.map +1 -0
  121. package/dist/esm/workspace/WorkspaceGrid.mjs +66 -0
  122. package/dist/esm/workspace/WorkspaceGrid.mjs.map +1 -0
  123. package/dist/esm/workspace/WorkspaceGrid.native.js +98 -0
  124. package/dist/esm/workspace/WorkspaceGrid.native.js.map +1 -0
  125. package/dist/esm/workspace/WorkspaceLinkCard.mjs +113 -0
  126. package/dist/esm/workspace/WorkspaceLinkCard.mjs.map +1 -0
  127. package/dist/esm/workspace/WorkspaceLinkCard.native.js +126 -0
  128. package/dist/esm/workspace/WorkspaceLinkCard.native.js.map +1 -0
  129. package/dist/esm/workspace/WorkspaceLinkDirectory.mjs +84 -0
  130. package/dist/esm/workspace/WorkspaceLinkDirectory.mjs.map +1 -0
  131. package/dist/esm/workspace/WorkspaceLinkDirectory.native.js +98 -0
  132. package/dist/esm/workspace/WorkspaceLinkDirectory.native.js.map +1 -0
  133. package/dist/esm/workspace/WorkspaceNumberCard.mjs +108 -0
  134. package/dist/esm/workspace/WorkspaceNumberCard.mjs.map +1 -0
  135. package/dist/esm/workspace/WorkspaceNumberCard.native.js +110 -0
  136. package/dist/esm/workspace/WorkspaceNumberCard.native.js.map +1 -0
  137. package/dist/esm/workspace/WorkspaceQuickList.mjs +87 -0
  138. package/dist/esm/workspace/WorkspaceQuickList.mjs.map +1 -0
  139. package/dist/esm/workspace/WorkspaceQuickList.native.js +102 -0
  140. package/dist/esm/workspace/WorkspaceQuickList.native.js.map +1 -0
  141. package/dist/esm/workspace/WorkspaceRecents.mjs +91 -0
  142. package/dist/esm/workspace/WorkspaceRecents.mjs.map +1 -0
  143. package/dist/esm/workspace/WorkspaceRecents.native.js +104 -0
  144. package/dist/esm/workspace/WorkspaceRecents.native.js.map +1 -0
  145. package/dist/esm/workspace/WorkspaceScreen.mjs +266 -0
  146. package/dist/esm/workspace/WorkspaceScreen.mjs.map +1 -0
  147. package/dist/esm/workspace/WorkspaceScreen.native.js +295 -0
  148. package/dist/esm/workspace/WorkspaceScreen.native.js.map +1 -0
  149. package/dist/esm/workspace/WorkspaceShortcut.mjs +159 -0
  150. package/dist/esm/workspace/WorkspaceShortcut.mjs.map +1 -0
  151. package/dist/esm/workspace/WorkspaceShortcut.native.js +173 -0
  152. package/dist/esm/workspace/WorkspaceShortcut.native.js.map +1 -0
  153. package/dist/esm/workspace/parseContent.mjs +148 -0
  154. package/dist/esm/workspace/parseContent.mjs.map +1 -0
  155. package/dist/esm/workspace/parseContent.native.js +264 -0
  156. package/dist/esm/workspace/parseContent.native.js.map +1 -0
  157. package/dist/esm/workspace/types.mjs +2 -0
  158. package/dist/esm/workspace/types.mjs.map +1 -0
  159. package/dist/esm/workspace/types.native.js +2 -0
  160. package/dist/esm/workspace/types.native.js.map +1 -0
  161. package/dist/esm/workspace/useDashboardChart.mjs +71 -0
  162. package/dist/esm/workspace/useDashboardChart.mjs.map +1 -0
  163. package/dist/esm/workspace/useDashboardChart.native.js +82 -0
  164. package/dist/esm/workspace/useDashboardChart.native.js.map +1 -0
  165. package/dist/esm/workspace/useWorkspaceDoc.mjs +77 -0
  166. package/dist/esm/workspace/useWorkspaceDoc.mjs.map +1 -0
  167. package/dist/esm/workspace/useWorkspaceDoc.native.js +91 -0
  168. package/dist/esm/workspace/useWorkspaceDoc.native.js.map +1 -0
  169. package/dist/jsx/chrome/CommandPalette.mjs +20 -9
  170. package/dist/jsx/chrome/CommandPalette.mjs.map +1 -1
  171. package/dist/jsx/chrome/CommandPalette.native.js +18 -10
  172. package/dist/jsx/chrome/CommandPalette.native.js.map +1 -1
  173. package/dist/jsx/i18n/en.mjs +21 -0
  174. package/dist/jsx/i18n/en.mjs.map +1 -1
  175. package/dist/jsx/i18n/en.native.js +21 -0
  176. package/dist/jsx/i18n/en.native.js.map +1 -1
  177. package/dist/jsx/index.js +19 -1
  178. package/dist/jsx/index.js.map +1 -1
  179. package/dist/jsx/index.mjs +19 -1
  180. package/dist/jsx/index.mjs.map +1 -1
  181. package/dist/jsx/index.native.js +48 -0
  182. package/dist/jsx/index.native.js.map +1 -1
  183. package/dist/jsx/shared/types.mjs +2 -0
  184. package/dist/jsx/shared/types.mjs.map +1 -0
  185. package/dist/jsx/shared/types.native.js +21 -0
  186. package/dist/jsx/shared/types.native.js.map +1 -0
  187. package/dist/jsx/shared/useDocinfo.mjs +90 -0
  188. package/dist/jsx/shared/useDocinfo.mjs.map +1 -0
  189. package/dist/jsx/shared/useDocinfo.native.js +167 -0
  190. package/dist/jsx/shared/useDocinfo.native.js.map +1 -0
  191. package/dist/jsx/shared/useDoctypeMeta.mjs +99 -0
  192. package/dist/jsx/shared/useDoctypeMeta.mjs.map +1 -0
  193. package/dist/jsx/shared/useDoctypeMeta.native.js +158 -0
  194. package/dist/jsx/shared/useDoctypeMeta.native.js.map +1 -0
  195. package/dist/jsx/shared/useRecentVisit.mjs +15 -0
  196. package/dist/jsx/shared/useRecentVisit.mjs.map +1 -0
  197. package/dist/jsx/shared/useRecentVisit.native.js +43 -0
  198. package/dist/jsx/shared/useRecentVisit.native.js.map +1 -0
  199. package/dist/jsx/shared/useSessionUserId.mjs +29 -0
  200. package/dist/jsx/shared/useSessionUserId.mjs.map +1 -0
  201. package/dist/jsx/shared/useSessionUserId.native.js +59 -0
  202. package/dist/jsx/shared/useSessionUserId.native.js.map +1 -0
  203. package/dist/jsx/shared/useSlugTarget.mjs +113 -0
  204. package/dist/jsx/shared/useSlugTarget.mjs.map +1 -0
  205. package/dist/jsx/shared/useSlugTarget.native.js +166 -0
  206. package/dist/jsx/shared/useSlugTarget.native.js.map +1 -0
  207. package/dist/jsx/shared/useUserRoles.mjs +47 -0
  208. package/dist/jsx/shared/useUserRoles.mjs.map +1 -0
  209. package/dist/jsx/shared/useUserRoles.native.js +79 -0
  210. package/dist/jsx/shared/useUserRoles.native.js.map +1 -0
  211. package/dist/jsx/shell/WorkspaceSidebar.mjs +4 -0
  212. package/dist/jsx/shell/WorkspaceSidebar.mjs.map +1 -1
  213. package/dist/jsx/shell/WorkspaceSidebar.native.js +4 -0
  214. package/dist/jsx/shell/WorkspaceSidebar.native.js.map +1 -1
  215. package/dist/jsx/workspace/WorkspaceChartBlock.mjs +111 -0
  216. package/dist/jsx/workspace/WorkspaceChartBlock.mjs.map +1 -0
  217. package/dist/jsx/workspace/WorkspaceChartBlock.native.js +144 -0
  218. package/dist/jsx/workspace/WorkspaceChartBlock.native.js.map +1 -0
  219. package/dist/jsx/workspace/WorkspaceGrid.mjs +66 -0
  220. package/dist/jsx/workspace/WorkspaceGrid.mjs.map +1 -0
  221. package/dist/jsx/workspace/WorkspaceGrid.native.js +126 -0
  222. package/dist/jsx/workspace/WorkspaceGrid.native.js.map +1 -0
  223. package/dist/jsx/workspace/WorkspaceLinkCard.mjs +113 -0
  224. package/dist/jsx/workspace/WorkspaceLinkCard.mjs.map +1 -0
  225. package/dist/jsx/workspace/WorkspaceLinkCard.native.js +155 -0
  226. package/dist/jsx/workspace/WorkspaceLinkCard.native.js.map +1 -0
  227. package/dist/jsx/workspace/WorkspaceLinkDirectory.mjs +84 -0
  228. package/dist/jsx/workspace/WorkspaceLinkDirectory.mjs.map +1 -0
  229. package/dist/jsx/workspace/WorkspaceLinkDirectory.native.js +127 -0
  230. package/dist/jsx/workspace/WorkspaceLinkDirectory.native.js.map +1 -0
  231. package/dist/jsx/workspace/WorkspaceNumberCard.mjs +108 -0
  232. package/dist/jsx/workspace/WorkspaceNumberCard.mjs.map +1 -0
  233. package/dist/jsx/workspace/WorkspaceNumberCard.native.js +138 -0
  234. package/dist/jsx/workspace/WorkspaceNumberCard.native.js.map +1 -0
  235. package/dist/jsx/workspace/WorkspaceQuickList.mjs +87 -0
  236. package/dist/jsx/workspace/WorkspaceQuickList.mjs.map +1 -0
  237. package/dist/jsx/workspace/WorkspaceQuickList.native.js +130 -0
  238. package/dist/jsx/workspace/WorkspaceQuickList.native.js.map +1 -0
  239. package/dist/jsx/workspace/WorkspaceRecents.mjs +91 -0
  240. package/dist/jsx/workspace/WorkspaceRecents.mjs.map +1 -0
  241. package/dist/jsx/workspace/WorkspaceRecents.native.js +132 -0
  242. package/dist/jsx/workspace/WorkspaceRecents.native.js.map +1 -0
  243. package/dist/jsx/workspace/WorkspaceScreen.mjs +266 -0
  244. package/dist/jsx/workspace/WorkspaceScreen.mjs.map +1 -0
  245. package/dist/jsx/workspace/WorkspaceScreen.native.js +323 -0
  246. package/dist/jsx/workspace/WorkspaceScreen.native.js.map +1 -0
  247. package/dist/jsx/workspace/WorkspaceShortcut.mjs +159 -0
  248. package/dist/jsx/workspace/WorkspaceShortcut.mjs.map +1 -0
  249. package/dist/jsx/workspace/WorkspaceShortcut.native.js +202 -0
  250. package/dist/jsx/workspace/WorkspaceShortcut.native.js.map +1 -0
  251. package/dist/jsx/workspace/parseContent.mjs +148 -0
  252. package/dist/jsx/workspace/parseContent.mjs.map +1 -0
  253. package/dist/jsx/workspace/parseContent.native.js +299 -0
  254. package/dist/jsx/workspace/parseContent.native.js.map +1 -0
  255. package/dist/jsx/workspace/types.mjs +2 -0
  256. package/dist/jsx/workspace/types.mjs.map +1 -0
  257. package/dist/jsx/workspace/types.native.js +21 -0
  258. package/dist/jsx/workspace/types.native.js.map +1 -0
  259. package/dist/jsx/workspace/useDashboardChart.mjs +71 -0
  260. package/dist/jsx/workspace/useDashboardChart.mjs.map +1 -0
  261. package/dist/jsx/workspace/useDashboardChart.native.js +110 -0
  262. package/dist/jsx/workspace/useDashboardChart.native.js.map +1 -0
  263. package/dist/jsx/workspace/useWorkspaceDoc.mjs +77 -0
  264. package/dist/jsx/workspace/useWorkspaceDoc.mjs.map +1 -0
  265. package/dist/jsx/workspace/useWorkspaceDoc.native.js +120 -0
  266. package/dist/jsx/workspace/useWorkspaceDoc.native.js.map +1 -0
  267. package/package.json +12 -12
  268. package/src/chrome/CommandPalette.tsx +35 -15
  269. package/src/i18n/en.ts +21 -0
  270. package/src/index.ts +69 -0
  271. package/src/shared/types.ts +14 -0
  272. package/src/shared/useDocinfo.ts +163 -0
  273. package/src/shared/useDoctypeMeta.ts +243 -0
  274. package/src/shared/useRecentVisit.ts +33 -0
  275. package/src/shared/useSessionUserId.ts +42 -0
  276. package/src/shared/useSlugTarget.ts +143 -0
  277. package/src/shared/useUserRoles.ts +66 -0
  278. package/src/shell/WorkspaceSidebar.tsx +3 -0
  279. package/src/workspace/WorkspaceChartBlock.tsx +115 -0
  280. package/src/workspace/WorkspaceGrid.tsx +82 -0
  281. package/src/workspace/WorkspaceLinkCard.tsx +134 -0
  282. package/src/workspace/WorkspaceLinkDirectory.tsx +126 -0
  283. package/src/workspace/WorkspaceNumberCard.tsx +126 -0
  284. package/src/workspace/WorkspaceQuickList.tsx +100 -0
  285. package/src/workspace/WorkspaceRecents.tsx +100 -0
  286. package/src/workspace/WorkspaceScreen.tsx +322 -0
  287. package/src/workspace/WorkspaceShortcut.tsx +223 -0
  288. package/src/workspace/parseContent.spec.ts +327 -0
  289. package/src/workspace/parseContent.ts +240 -0
  290. package/src/workspace/types.ts +135 -0
  291. package/src/workspace/useDashboardChart.ts +115 -0
  292. package/src/workspace/useWorkspaceDoc.ts +111 -0
  293. package/types/chrome/CommandPalette.d.ts.map +1 -1
  294. package/types/i18n/en.d.ts +19 -0
  295. package/types/i18n/en.d.ts.map +1 -1
  296. package/types/index.d.ts +34 -0
  297. package/types/index.d.ts.map +1 -1
  298. package/types/shared/types.d.ts +21 -0
  299. package/types/shared/types.d.ts.map +1 -0
  300. package/types/shared/useDocinfo.d.ts +61 -0
  301. package/types/shared/useDocinfo.d.ts.map +1 -0
  302. package/types/shared/useDoctypeMeta.d.ts +118 -0
  303. package/types/shared/useDoctypeMeta.d.ts.map +1 -0
  304. package/types/shared/useRecentVisit.d.ts +10 -0
  305. package/types/shared/useRecentVisit.d.ts.map +1 -0
  306. package/types/shared/useSessionUserId.d.ts +6 -0
  307. package/types/shared/useSessionUserId.d.ts.map +1 -0
  308. package/types/shared/useSlugTarget.d.ts +18 -0
  309. package/types/shared/useSlugTarget.d.ts.map +1 -0
  310. package/types/shared/useUserRoles.d.ts +15 -0
  311. package/types/shared/useUserRoles.d.ts.map +1 -0
  312. package/types/shell/WorkspaceSidebar.d.ts.map +1 -1
  313. package/types/workspace/WorkspaceChartBlock.d.ts +6 -0
  314. package/types/workspace/WorkspaceChartBlock.d.ts.map +1 -0
  315. package/types/workspace/WorkspaceGrid.d.ts +23 -0
  316. package/types/workspace/WorkspaceGrid.d.ts.map +1 -0
  317. package/types/workspace/WorkspaceLinkCard.d.ts +20 -0
  318. package/types/workspace/WorkspaceLinkCard.d.ts.map +1 -0
  319. package/types/workspace/WorkspaceLinkDirectory.d.ts +19 -0
  320. package/types/workspace/WorkspaceLinkDirectory.d.ts.map +1 -0
  321. package/types/workspace/WorkspaceNumberCard.d.ts +19 -0
  322. package/types/workspace/WorkspaceNumberCard.d.ts.map +1 -0
  323. package/types/workspace/WorkspaceQuickList.d.ts +6 -0
  324. package/types/workspace/WorkspaceQuickList.d.ts.map +1 -0
  325. package/types/workspace/WorkspaceRecents.d.ts +2 -0
  326. package/types/workspace/WorkspaceRecents.d.ts.map +1 -0
  327. package/types/workspace/WorkspaceScreen.d.ts +24 -0
  328. package/types/workspace/WorkspaceScreen.d.ts.map +1 -0
  329. package/types/workspace/WorkspaceShortcut.d.ts +27 -0
  330. package/types/workspace/WorkspaceShortcut.d.ts.map +1 -0
  331. package/types/workspace/parseContent.d.ts +77 -0
  332. package/types/workspace/parseContent.d.ts.map +1 -0
  333. package/types/workspace/types.d.ts +112 -0
  334. package/types/workspace/types.d.ts.map +1 -0
  335. package/types/workspace/useDashboardChart.d.ts +29 -0
  336. package/types/workspace/useDashboardChart.d.ts.map +1 -0
  337. package/types/workspace/useWorkspaceDoc.d.ts +18 -0
  338. package/types/workspace/useWorkspaceDoc.d.ts.map +1 -0
@@ -0,0 +1,98 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { EmptyState, Accordion, YStack } from "@multiplatform.one/components";
3
+ import { SearchInput, useViewportGtSm } from "@multiplatform.one/forms";
4
+ import { useResolvedKnobs } from "@multiplatform.one/theme";
5
+ import { useMemo, useState } from "react";
6
+ import { useTranslation } from "react-i18next";
7
+ import { BACKOFFICE_I18N_NAMESPACE } from "../i18n/index.native.js";
8
+ import { WorkspaceGrid } from "./WorkspaceGrid.native.js";
9
+ import { WorkspaceLinkCard } from "./WorkspaceLinkCard.native.js";
10
+ var DIRECTORY_VALUE = "links";
11
+ function filterLinkGroup(group, query) {
12
+ var needle = query.trim().toLowerCase();
13
+ if (!needle) return group;
14
+ if (group.label.toLowerCase().includes(needle)) return group;
15
+ var links = group.links.filter(function (row) {
16
+ return row.label.toLowerCase().includes(needle);
17
+ });
18
+ return links.length > 0 ? {
19
+ ...group,
20
+ links
21
+ } : void 0;
22
+ }
23
+ function WorkspaceLinkDirectory(param) {
24
+ var {
25
+ items
26
+ } = param;
27
+ var {
28
+ t
29
+ } = useTranslation(BACKOFFICE_I18N_NAMESPACE);
30
+ var {
31
+ knobProps
32
+ } = useResolvedKnobs();
33
+ var viewportGtSm = useViewportGtSm();
34
+ var [filter, setFilter] = useState("");
35
+ var [openValue, setOpenValue] = useState(function () {
36
+ return viewportGtSm ? DIRECTORY_VALUE : "";
37
+ });
38
+ var totalLinks = useMemo(function () {
39
+ return items.reduce(function (sum, item) {
40
+ return sum + item.group.links.length;
41
+ }, 0);
42
+ }, [items]);
43
+ var filteredItems = useMemo(function () {
44
+ return items.flatMap(function (item) {
45
+ var _item_col;
46
+ var group = filterLinkGroup(item.group, filter);
47
+ if (!group) return [];
48
+ return [{
49
+ key: item.key,
50
+ col: (_item_col = item.col) !== null && _item_col !== void 0 ? _item_col : 4,
51
+ node: /* @__PURE__ */_jsx(WorkspaceLinkCard, {
52
+ group
53
+ })
54
+ }];
55
+ });
56
+ }, [items, filter]);
57
+ return /* @__PURE__ */_jsx(Accordion, {
58
+ type: "single",
59
+ collapsible: true,
60
+ variant: "card",
61
+ value: openValue,
62
+ onValueChange: setOpenValue,
63
+ children: /* @__PURE__ */_jsxs(Accordion.Item, {
64
+ value: DIRECTORY_VALUE,
65
+ children: [/* @__PURE__ */_jsx(Accordion.Trigger, {
66
+ // Count-based plural via i18next suffix resolution ("1 link" /
67
+ // "N links"); defaultValue_* carries the en fallback per form.
68
+ description: t("workspaceBrowseAllCount", {
69
+ count: totalLinks,
70
+ defaultValue_one: "{{count}} link",
71
+ defaultValue_other: "{{count}} links"
72
+ }),
73
+ children: t("workspaceBrowseAll", "Browse all")
74
+ }), /* @__PURE__ */_jsx(Accordion.Content, {
75
+ children: /* @__PURE__ */_jsxs(YStack, {
76
+ ...knobProps.gap,
77
+ children: [/* @__PURE__ */_jsx(SearchInput, {
78
+ value: filter,
79
+ onChange: setFilter,
80
+ debounceMs: 0,
81
+ compact: true,
82
+ placeholder: t("workspaceFilterLinks", "Filter links..."),
83
+ "aria-label": t("workspaceFilterLinks", "Filter links...")
84
+ }), filteredItems.length === 0 ? /* @__PURE__ */_jsx(EmptyState, {
85
+ compact: true,
86
+ title: t("workspaceFilterNoMatch", 'No links match "{{query}}"', {
87
+ query: filter.trim()
88
+ })
89
+ }) : /* @__PURE__ */_jsx(WorkspaceGrid, {
90
+ items: filteredItems
91
+ })]
92
+ })
93
+ })]
94
+ })
95
+ });
96
+ }
97
+ export { WorkspaceLinkDirectory, filterLinkGroup };
98
+ //# sourceMappingURL=WorkspaceLinkDirectory.native.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["jsx","_jsx","jsxs","_jsxs","EmptyState","Accordion","YStack","SearchInput","useViewportGtSm","useResolvedKnobs","useMemo","useState","useTranslation","BACKOFFICE_I18N_NAMESPACE","WorkspaceGrid","WorkspaceLinkCard","DIRECTORY_VALUE","filterLinkGroup","group","query","needle","trim","toLowerCase","label","includes","links","filter","row","length","WorkspaceLinkDirectory","param","items","t","knobProps","viewportGtSm","setFilter","openValue","setOpenValue","totalLinks","reduce","sum","item","filteredItems","flatMap","_item_col","key","col","node","type","collapsible","variant","value","onValueChange","children","Item","Trigger","description","count","defaultValue_one","defaultValue_other","Content","gap","onChange","debounceMs","compact","placeholder"],"sources":["../../../src/workspace/WorkspaceLinkDirectory.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,108 @@
1
+ import { Card, SizableText, Skeleton, YStack } from "@multiplatform.one/components";
2
+ import { FrappeKPICard } from "@multiplatform.one/frappe-ui";
3
+ import { useResolvedKnobs } from "@multiplatform.one/theme";
4
+ import { useMemo } from "react";
5
+ import { useTranslation } from "react-i18next";
6
+ import { BACKOFFICE_I18N_NAMESPACE } from "../i18n/index.mjs";
7
+ import { parseFrappeFilters } from "./parseContent.mjs";
8
+ import { useFrappeDoc } from "./useWorkspaceDoc.mjs";
9
+ import { jsx, jsxs } from "react/jsx-runtime";
10
+ const FUNCTION_MAP = {
11
+ Count: "count",
12
+ Sum: "sum",
13
+ Average: "avg",
14
+ Minimum: "min",
15
+ Maximum: "max"
16
+ };
17
+ function WorkspaceNumberCard({
18
+ row
19
+ }) {
20
+ const {
21
+ t
22
+ } = useTranslation(BACKOFFICE_I18N_NAMESPACE);
23
+ const {
24
+ knobProps
25
+ } = useResolvedKnobs();
26
+ const {
27
+ doc,
28
+ isLoading,
29
+ error
30
+ } = useFrappeDoc("Number Card", row.number_card_name);
31
+ const title = row.label || doc?.label || row.number_card_name;
32
+ const dataSource = useMemo(() => {
33
+ if (!doc?.document_type) return void 0;
34
+ if (doc.type && doc.type !== "Document Type") return void 0;
35
+ const aggregate = FUNCTION_MAP[doc.function ?? "Count"] ?? "count";
36
+ return {
37
+ doctype: doc.document_type,
38
+ aggregate,
39
+ field: aggregate === "count" ? void 0 : doc.aggregate_function_based_on,
40
+ filters: parseFrappeFilters(doc.filters_json)
41
+ };
42
+ }, [doc]);
43
+ if (isLoading) {
44
+ return /* @__PURE__ */jsx(Card, {
45
+ flexGrow: 1,
46
+ "aria-busy": true,
47
+ "aria-label": t("loading", "Loading"),
48
+ children: /* @__PURE__ */jsxs(YStack, {
49
+ ...knobProps.panelPadding,
50
+ ...knobProps.gap,
51
+ children: [/* @__PURE__ */jsx(Skeleton, {
52
+ width: "60%",
53
+ height: 12
54
+ }), /* @__PURE__ */jsx(Skeleton, {
55
+ width: "40%",
56
+ height: 28
57
+ })]
58
+ })
59
+ });
60
+ }
61
+ if (error || !doc) {
62
+ return /* @__PURE__ */jsx(Card, {
63
+ flexGrow: 1,
64
+ children: /* @__PURE__ */jsxs(YStack, {
65
+ ...knobProps.panelPadding,
66
+ ...knobProps.gap,
67
+ children: [/* @__PURE__ */jsx(SizableText, {
68
+ size: "$3",
69
+ fontWeight: "600",
70
+ children: title
71
+ }), /* @__PURE__ */jsx(SizableText, {
72
+ size: "$2",
73
+ color: "$color10",
74
+ children: t("workspaceNumberCardError", "Couldn't load number card")
75
+ })]
76
+ })
77
+ });
78
+ }
79
+ if (!dataSource) {
80
+ return /* @__PURE__ */jsx(Card, {
81
+ flexGrow: 1,
82
+ children: /* @__PURE__ */jsxs(YStack, {
83
+ ...knobProps.panelPadding,
84
+ ...knobProps.gap,
85
+ children: [/* @__PURE__ */jsx(SizableText, {
86
+ size: "$3",
87
+ fontWeight: "600",
88
+ children: title
89
+ }), /* @__PURE__ */jsx(SizableText, {
90
+ size: "$2",
91
+ color: "$color10",
92
+ children: t("workspaceNumberCardUnsupported", "This card type is only available in desk")
93
+ })]
94
+ })
95
+ });
96
+ }
97
+ return /* @__PURE__ */jsx(FrappeKPICard, {
98
+ config: {
99
+ id: `workspace-number-card-${row.name}`,
100
+ title,
101
+ value: "\u2014"
102
+ },
103
+ dataSource,
104
+ flexGrow: 1
105
+ });
106
+ }
107
+ export { WorkspaceNumberCard };
108
+ //# sourceMappingURL=WorkspaceNumberCard.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["Card","SizableText","Skeleton","YStack","FrappeKPICard","useResolvedKnobs","useMemo","useTranslation","BACKOFFICE_I18N_NAMESPACE","parseFrappeFilters","useFrappeDoc","jsx","jsxs","FUNCTION_MAP","Count","Sum","Average","Minimum","Maximum","WorkspaceNumberCard","row","t","knobProps","doc","isLoading","error","number_card_name","title","label","dataSource","document_type","type","aggregate","function","doctype","field","aggregate_function_based_on","filters","filters_json","flexGrow","children","panelPadding","gap","width","height","size","fontWeight","color","config","id","name","value"],"sources":["../../../src/workspace/WorkspaceNumberCard.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,110 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { Card, SizableText, Skeleton, YStack } from "@multiplatform.one/components";
3
+ import { FrappeKPICard } from "@multiplatform.one/frappe-ui";
4
+ import { useResolvedKnobs } from "@multiplatform.one/theme";
5
+ import { useMemo } from "react";
6
+ import { useTranslation } from "react-i18next";
7
+ import { BACKOFFICE_I18N_NAMESPACE } from "../i18n/index.native.js";
8
+ import { parseFrappeFilters } from "./parseContent.native.js";
9
+ import { useFrappeDoc } from "./useWorkspaceDoc.native.js";
10
+ var FUNCTION_MAP = {
11
+ Count: "count",
12
+ Sum: "sum",
13
+ Average: "avg",
14
+ Minimum: "min",
15
+ Maximum: "max"
16
+ };
17
+ function WorkspaceNumberCard(param) {
18
+ var {
19
+ row
20
+ } = param;
21
+ var {
22
+ t
23
+ } = useTranslation(BACKOFFICE_I18N_NAMESPACE);
24
+ var {
25
+ knobProps
26
+ } = useResolvedKnobs();
27
+ var {
28
+ doc,
29
+ isLoading,
30
+ error
31
+ } = useFrappeDoc("Number Card", row.number_card_name);
32
+ var title = row.label || (doc === null || doc === void 0 ? void 0 : doc.label) || row.number_card_name;
33
+ var dataSource = useMemo(function () {
34
+ var _FUNCTION_MAP_, _doc_function;
35
+ if (!(doc === null || doc === void 0 ? void 0 : doc.document_type)) return void 0;
36
+ if (doc.type && doc.type !== "Document Type") return void 0;
37
+ var aggregate = (_FUNCTION_MAP_ = FUNCTION_MAP[(_doc_function = doc.function) !== null && _doc_function !== void 0 ? _doc_function : "Count"]) !== null && _FUNCTION_MAP_ !== void 0 ? _FUNCTION_MAP_ : "count";
38
+ return {
39
+ doctype: doc.document_type,
40
+ aggregate,
41
+ field: aggregate === "count" ? void 0 : doc.aggregate_function_based_on,
42
+ filters: parseFrappeFilters(doc.filters_json)
43
+ };
44
+ }, [doc]);
45
+ if (isLoading) {
46
+ return /* @__PURE__ */_jsx(Card, {
47
+ flexGrow: 1,
48
+ "aria-busy": true,
49
+ "aria-label": t("loading", "Loading"),
50
+ children: /* @__PURE__ */_jsxs(YStack, {
51
+ ...knobProps.panelPadding,
52
+ ...knobProps.gap,
53
+ children: [/* @__PURE__ */_jsx(Skeleton, {
54
+ width: "60%",
55
+ height: 12
56
+ }), /* @__PURE__ */_jsx(Skeleton, {
57
+ width: "40%",
58
+ height: 28
59
+ })]
60
+ })
61
+ });
62
+ }
63
+ if (error || !doc) {
64
+ return /* @__PURE__ */_jsx(Card, {
65
+ flexGrow: 1,
66
+ children: /* @__PURE__ */_jsxs(YStack, {
67
+ ...knobProps.panelPadding,
68
+ ...knobProps.gap,
69
+ children: [/* @__PURE__ */_jsx(SizableText, {
70
+ size: "$3",
71
+ fontWeight: "600",
72
+ children: title
73
+ }), /* @__PURE__ */_jsx(SizableText, {
74
+ size: "$2",
75
+ color: "$color10",
76
+ children: t("workspaceNumberCardError", "Couldn't load number card")
77
+ })]
78
+ })
79
+ });
80
+ }
81
+ if (!dataSource) {
82
+ return /* @__PURE__ */_jsx(Card, {
83
+ flexGrow: 1,
84
+ children: /* @__PURE__ */_jsxs(YStack, {
85
+ ...knobProps.panelPadding,
86
+ ...knobProps.gap,
87
+ children: [/* @__PURE__ */_jsx(SizableText, {
88
+ size: "$3",
89
+ fontWeight: "600",
90
+ children: title
91
+ }), /* @__PURE__ */_jsx(SizableText, {
92
+ size: "$2",
93
+ color: "$color10",
94
+ children: t("workspaceNumberCardUnsupported", "This card type is only available in desk")
95
+ })]
96
+ })
97
+ });
98
+ }
99
+ return /* @__PURE__ */_jsx(FrappeKPICard, {
100
+ config: {
101
+ id: `workspace-number-card-${row.name}`,
102
+ title,
103
+ value: "\u2014"
104
+ },
105
+ dataSource,
106
+ flexGrow: 1
107
+ });
108
+ }
109
+ export { WorkspaceNumberCard };
110
+ //# sourceMappingURL=WorkspaceNumberCard.native.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["jsx","_jsx","jsxs","_jsxs","Card","SizableText","Skeleton","YStack","FrappeKPICard","useResolvedKnobs","useMemo","useTranslation","BACKOFFICE_I18N_NAMESPACE","parseFrappeFilters","useFrappeDoc","FUNCTION_MAP","Count","Sum","Average","Minimum","Maximum","WorkspaceNumberCard","param","row","t","knobProps","doc","isLoading","error","number_card_name","title","label","dataSource","_FUNCTION_MAP_","_doc_function","document_type","type","aggregate","function","doctype","field","aggregate_function_based_on","filters","filters_json","flexGrow","children","panelPadding","gap","width","height","size","fontWeight"],"sources":["../../../src/workspace/WorkspaceNumberCard.tsx"],"sourcesContent":[null],"mappings":"AAWA,SAASA,GAAA,IAAMC,IAAA,EAAAC,IAAA,IAAaC,KAAA,QAAU,mBAAc;AACpD,SAAAC,IAAA,EAAAC,WAAA,EAAAC,QAAA,EAAAC,MAAA;AAAA,SACEC,aAAA;AAAA,SAGKC,gBAAA;AACP,SAASC,OAAA;AACT,SAASC,cAAA,QAAe;AACxB,SAASC,yBAAsB;AAC/B,SAASC,kBAAA,kCAAiC;AAC1C,SAASC,YAAA,qCAA0B;AAEnC,IAAAC,YAAS;EAqDDC,KAAA,EACE,OADF;EArCRC,GAAA,EAAM;EACJC,OAAO;EACPC,OAAK;EACLC,OAAA,EAAS;AAAA;AACA,SACTC,mBAASA,CAAAC,KAAA;EACX;IAAAC;EAAA,IAAAD,KAAA;EAMO;IAAAE;EAAS,IAAAb,cAAA,CAAoBC,yBAAmC;EACrE;IAAMa;EAAQ,IAAAhB,gBAAe;EAC7B;IAAMiB,GAAE;IAAAC,SAAU;IAAIC;EAAA,IAAAd,YAAiB,gBAAAS,GAAA,CAAAM,gBAAA;EACvC,IAAAC,KAAQ,GAAAP,GAAK,CAAAQ,KAAA,KAAWL,GAAA,KAAU,QAAAA,GAAA,uBAAAA,GAAA,CAAAK,KAAA,KAAAR,GAAA,CAAAM,gBAAA;EAAA,IAChCG,UAAA,GAAAtB,OAAA;IACA,IAAIuB,cAAA,EAAAC,aAAA;IACN,MAAAR,GAAA,aAAAA,GAAA,uBAAAA,GAAA,CAAAS,aAAA;IAEA,IAAMT,GAAA,CAAAU,IAAQ,IAAIV,GAAA,CAAAU,IAAA,KAAS,eAAkB;IAE7C,IAAMC,SAAA,IAAaJ,cAA+C,GAAAlB,YAAA,EAAAmB,aAAA,GAAAR,GAAA,CAAAY,QAAA,cAAAJ,aAAA,cAAAA,aAAA,yBAAAD,cAAA,cAAAA,cAAA;IAChE,OAAK;MACLM,OAAQ,EAAAb,GAAA,CAAAS,aAAY;MACpBE,SAAM;MACNG,KAAO,EAAAH,SAAA,wBAAAX,GAAA,CAAAe,2BAAA;MACLC,OAAA,EAAS7B,kBAAI,CAAAa,GAAA,CAAAiB,YAAA;IAAA;EACb,IAC+CjB,GAC/C,CAA4C,CAC9C;EACF,IAAIC,SAAI;IAER,OAAI,eAAW1B,IAAA,CAAAG,IAAA;MACbwC,QACE;MAEI;MACA,cAAApB,CAAA,UAAC,WAAS;MAAwBqB,QAEtC,iBAAA1C,KAAA,CAAAI,MAAA;QAEJ,GAAAkB,SAAA,CAAAqB,YAAA;QAEI,GAAArB,SAAU,CAAKsB,GAAA;QACjBF,QACE,GAEI,eAAC5C,IAAA,CAAAK,QAAA,EAAY;UAGb0C,KAAA;UAIJC,MAAA;QAEJ,IAEK,eAAYhD,IAAA,CAAAK,QAAA;UAGb0C,KAAA;UAEIC,MAAA;QAGA;MAEI;IACA,EACF;EACF;EAIR,IAAArB,KAAA,KAAAF,GAAA;IAEA,OACE,eAAAzB,IAAA,CAAAG,IAAA;MAACwC,QAAA;MAAAC,QAAA,iBAAA1C,KAAA,CAAAI,MAAA;QACC,GAAAkB,SAAc,CAAAqB,YAAA;QACd,GAAArB,SAAA,CAAAsB,GAAA;QACAF,QAAU,kBAAA5C,IAAA,CAAAI,WAAA;UACZ6C,IAAA;UAEJC,UAAA","ignoreList":[]}
@@ -0,0 +1,87 @@
1
+ import { Card, Separator, SizableText, XStack, YStack } from "@multiplatform.one/components";
2
+ import { FrappeList } from "@multiplatform.one/frappe-ui";
3
+ import { useResolvedKnobs } from "@multiplatform.one/theme";
4
+ import { useMemo } from "react";
5
+ import { useTranslation } from "react-i18next";
6
+ import { useBackofficeNavigator, useBackofficePaths } from "../config/BackofficeProvider.mjs";
7
+ import { BACKOFFICE_I18N_NAMESPACE } from "../i18n/index.mjs";
8
+ import { parseFrappeFilters } from "./parseContent.mjs";
9
+ import { jsx, jsxs } from "react/jsx-runtime";
10
+ const QuickList = FrappeList;
11
+ const QUICK_LIST_HEIGHT = 220;
12
+ function WorkspaceQuickList({
13
+ row
14
+ }) {
15
+ const navigator = useBackofficeNavigator();
16
+ const paths = useBackofficePaths();
17
+ const {
18
+ knobProps
19
+ } = useResolvedKnobs();
20
+ const {
21
+ t
22
+ } = useTranslation(BACKOFFICE_I18N_NAMESPACE);
23
+ const filters = useMemo(() => parseFrappeFilters(row.quick_list_filter), [row.quick_list_filter]);
24
+ const title = row.label || row.document_type;
25
+ return /* @__PURE__ */jsx(Card, {
26
+ flexGrow: 1,
27
+ children: /* @__PURE__ */jsxs(YStack, {
28
+ ...knobProps.panelPadding,
29
+ ...knobProps.gap,
30
+ children: [/* @__PURE__ */jsxs(XStack, {
31
+ justifyContent: "space-between",
32
+ alignItems: "center",
33
+ ...knobProps.gap,
34
+ children: [/* @__PURE__ */jsx(SizableText, {
35
+ size: "$4",
36
+ fontWeight: "700",
37
+ numberOfLines: 1,
38
+ flexShrink: 1,
39
+ children: title
40
+ }), /* @__PURE__ */jsx(SizableText, {
41
+ size: "$2",
42
+ color: "$color11",
43
+ cursor: "pointer",
44
+ role: "link",
45
+ hoverStyle: {
46
+ color: "$color12"
47
+ },
48
+ onPress: () => navigator.navigate(paths.list(row.document_type)),
49
+ children: t("workspaceQuickListViewAll", "View All")
50
+ })]
51
+ }), /* @__PURE__ */jsx(Separator, {}), /* @__PURE__ */jsx(YStack, {
52
+ height: QUICK_LIST_HEIGHT,
53
+ overflow: "hidden",
54
+ children: /* @__PURE__ */jsx(QuickList, {
55
+ doctype: row.document_type,
56
+ fields: ["name"],
57
+ filters,
58
+ pageSize: 4,
59
+ height: QUICK_LIST_HEIGHT,
60
+ estimateSize: 44,
61
+ "aria-label": title,
62
+ renderItem: item => /* @__PURE__ */jsx(XStack, {
63
+ paddingVertical: "$2",
64
+ paddingHorizontal: "$2",
65
+ alignItems: "center",
66
+ cursor: "pointer",
67
+ borderRadius: "$2",
68
+ hoverStyle: {
69
+ backgroundColor: "$color3"
70
+ },
71
+ onPress: () => item.name && navigator.navigate(paths.form(row.document_type, item.name)),
72
+ role: "link",
73
+ "aria-label": item.name,
74
+ children: /* @__PURE__ */jsx(SizableText, {
75
+ size: "$3",
76
+ numberOfLines: 1,
77
+ flexShrink: 1,
78
+ children: item.name
79
+ })
80
+ })
81
+ })
82
+ })]
83
+ })
84
+ });
85
+ }
86
+ export { WorkspaceQuickList };
87
+ //# sourceMappingURL=WorkspaceQuickList.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["Card","Separator","SizableText","XStack","YStack","FrappeList","useResolvedKnobs","useMemo","useTranslation","useBackofficeNavigator","useBackofficePaths","BACKOFFICE_I18N_NAMESPACE","parseFrappeFilters","jsx","jsxs","QuickList","QUICK_LIST_HEIGHT","WorkspaceQuickList","row","navigator","paths","knobProps","t","filters","quick_list_filter","title","label","document_type","flexGrow","children","panelPadding","gap","justifyContent","alignItems","size","fontWeight","numberOfLines","flexShrink","color","cursor","role","hoverStyle","onPress","navigate","list","height","overflow","doctype","fields","pageSize","estimateSize","renderItem","item","paddingVertical","paddingHorizontal","borderRadius","backgroundColor","name","form"],"sources":["../../../src/workspace/WorkspaceQuickList.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,102 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { Card, Separator, SizableText, XStack, YStack } from "@multiplatform.one/components";
3
+ import { FrappeList } from "@multiplatform.one/frappe-ui";
4
+ import { useResolvedKnobs } from "@multiplatform.one/theme";
5
+ import { useMemo } from "react";
6
+ import { useTranslation } from "react-i18next";
7
+ import { useBackofficeNavigator, useBackofficePaths } from "../config/BackofficeProvider.native.js";
8
+ import { BACKOFFICE_I18N_NAMESPACE } from "../i18n/index.native.js";
9
+ import { parseFrappeFilters } from "./parseContent.native.js";
10
+ var QuickList = FrappeList;
11
+ var QUICK_LIST_HEIGHT = 220;
12
+ function WorkspaceQuickList(param) {
13
+ var {
14
+ row
15
+ } = param;
16
+ var navigator = useBackofficeNavigator();
17
+ var paths = useBackofficePaths();
18
+ var {
19
+ knobProps
20
+ } = useResolvedKnobs();
21
+ var {
22
+ t
23
+ } = useTranslation(BACKOFFICE_I18N_NAMESPACE);
24
+ var filters = useMemo(function () {
25
+ return parseFrappeFilters(row.quick_list_filter);
26
+ }, [row.quick_list_filter]);
27
+ var title = row.label || row.document_type;
28
+ return /* @__PURE__ */_jsx(Card, {
29
+ flexGrow: 1,
30
+ children: /* @__PURE__ */_jsxs(YStack, {
31
+ ...knobProps.panelPadding,
32
+ ...knobProps.gap,
33
+ children: [/* @__PURE__ */_jsxs(XStack, {
34
+ justifyContent: "space-between",
35
+ alignItems: "center",
36
+ ...knobProps.gap,
37
+ children: [/* @__PURE__ */_jsx(SizableText, {
38
+ size: "$4",
39
+ fontWeight: "700",
40
+ numberOfLines: 1,
41
+ flexShrink: 1,
42
+ children: title
43
+ }), /* @__PURE__ */_jsx(SizableText, {
44
+ size: "$2",
45
+ color: "$color11",
46
+ cursor: "pointer",
47
+ role: "link",
48
+ hoverStyle: {
49
+ color: "$color12"
50
+ },
51
+ onPress: function onPress() {
52
+ return navigator.navigate(paths.list(row.document_type));
53
+ },
54
+ children: t("workspaceQuickListViewAll", "View All")
55
+ })]
56
+ }), /* @__PURE__ */_jsx(Separator, {}),
57
+ /* Fixed-height box: FrappeList's internal flex-basis:0 stack
58
+ contributes no intrinsic height, so an unclamped Card collapses
59
+ and the rows paint past the frame (LC-10). The box gives the
60
+ flex chain a definite height to fill. */
61
+ /* @__PURE__ */
62
+ _jsx(YStack, {
63
+ height: QUICK_LIST_HEIGHT,
64
+ overflow: "hidden",
65
+ children: /* @__PURE__ */_jsx(QuickList, {
66
+ doctype: row.document_type,
67
+ fields: ["name"],
68
+ filters,
69
+ pageSize: 4,
70
+ height: QUICK_LIST_HEIGHT,
71
+ estimateSize: 44,
72
+ "aria-label": title,
73
+ renderItem: function renderItem(item) {
74
+ return /* @__PURE__ */_jsx(XStack, {
75
+ paddingVertical: "$2",
76
+ paddingHorizontal: "$2",
77
+ alignItems: "center",
78
+ cursor: "pointer",
79
+ borderRadius: "$2",
80
+ hoverStyle: {
81
+ backgroundColor: "$color3"
82
+ },
83
+ onPress: function onPress() {
84
+ return item.name && navigator.navigate(paths.form(row.document_type, item.name));
85
+ },
86
+ role: "link",
87
+ "aria-label": item.name,
88
+ children: /* @__PURE__ */_jsx(SizableText, {
89
+ size: "$3",
90
+ numberOfLines: 1,
91
+ flexShrink: 1,
92
+ children: item.name
93
+ })
94
+ });
95
+ }
96
+ })
97
+ })]
98
+ })
99
+ });
100
+ }
101
+ export { WorkspaceQuickList };
102
+ //# sourceMappingURL=WorkspaceQuickList.native.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["jsx","_jsx","jsxs","_jsxs","Card","Separator","SizableText","XStack","YStack","FrappeList","useResolvedKnobs","useMemo","useTranslation","useBackofficeNavigator","useBackofficePaths","BACKOFFICE_I18N_NAMESPACE","parseFrappeFilters","QuickList","QUICK_LIST_HEIGHT","WorkspaceQuickList","param","row","navigator","paths","knobProps","t","filters","quick_list_filter","title","label","document_type","flexGrow","children","panelPadding","gap","justifyContent","alignItems","size","fontWeight","numberOfLines","flexShrink","color","cursor","role","hoverStyle","onPress","navigate","list","height","overflow"],"sources":["../../../src/workspace/WorkspaceQuickList.tsx"],"sourcesContent":[null],"mappings":"AAOA,SAASA,GAAA,IAAMC,IAAA,EAAAC,IAAW,IAAAC,KAAA,QAAa,mBAAsB;AAC7D,SAASC,IAAA,EAAAC,SAAA,EAAAC,WAAkB,EAAAC,MAAA,EAAAC,MAAA;AAC3B,SAASC,UAAA,sCAAwB;AACjC,SAASC,gBAAe;AACxB,SAASC,OAAA,eAAsB;AAC/B,SAASC,cAAA,uBAAwB;AACjC,SAASC,sBAAA,EAAAC,kBAAiC;AAC1C,SAASC,yBAAA,QAA0B;AAgC3B,SACEC,kBADF;AAtBR,IAAAC,SAAM,GAAAR,UAAY;AAGlB,IAAAS,iBAAM,MAAoB;AAMnB,SAASC,mBAAmBC,KAAE,EAAI;EACvC;IAAMC;EAAA,IAAAD,KAAY;EAClB,IAAAE,SAAM,GAAQT,sBAAmB;EACjC,IAAAU,KAAQ,GAAAT,kBAAc;EACtB;IAAMU;EAAQ,IAAAd,gBAAe;EAE7B;IAAMe;EAAA,IAAAb,cAAkB,CAAAG,yBAAyB,CAAI;EAErD,IAAAW,OAAM,GAAQf,OAAI,aAAa;IAE/B,OACEK,kBAAC,CAAAK,GAAA,CAAAM,iBACC;EACE,IACEN,GAAA,CAAAM,iBAAA,CAEA;EACA,IAAAC,KAAC,GAAAP,GAAA,CAAAQ,KAAA,IAAAR,GAAA,CAAAS,aAAA;EAAA,sBAAA7B,IAAA,CAAAG,IAAA;IAAA2B,QACC;IAAKC,QACL,iBAAM7B,KAAA,CAAAK,MAAA;MAAA,GAAAgB,SACC,CAAAS,YAAA;MAAA,GAAAT,SACF,CAAAU,GAAA;MAAAF,QACL,GAAgC,eACvB7B,KAAM,CAAAI,MAAU;QAExB4B,cAAE;QAAuCC,UAAA;QAC5C,GAAAZ,SAAA,CAAAU,GAAA;QACFF,QAAA,GACA,eAAC/B,IAAA,CAAAK,WAAU;UAKX+B,IAAA,MAAC;UACEC,UAAA;UAAAC,aAAA;UACCC,UAAa;UACbR,QAAS,EAAMJ;QACf,IACA,eAAU3B,IAAA,CAAAK,WAAA;UACV+B,IAAQ;UACRI,KAAA,YAAc;UACdC,MAAA,EAAY;UACZC,IAAA,EAAY,MAAC;UACVC,UAAA;YAAAH,KAAA;UACC;UACAI,OAAA,WAAkBA,QAAA;YAClB,OAAAvB,SAAW,CAAAwB,QAAA,CAAAvB,KAAA,CAAAwB,IAAA,CAAA1B,GAAA,CAAAS,aAAA;UACX;UACAE,QAAA,EAAAP,CAAA,CAAa;QACb;MAE0E,IAErE,eACLxB,IAAY,CAAAI,SAAK;MAAA;AAIjB;AAAA;AACF;MAGN;MAAAJ,IAAA,CAAAO,MAAA;QAEJwC,MAAA,EAAA9B,iBAAA;QAEJ+B,QAAA","ignoreList":[]}
@@ -0,0 +1,91 @@
1
+ import { ClockCounterClockwiseIcon } from "@phosphor-icons/react";
2
+ import { Card, PageSection, SizableText, XStack, useTheme } from "@multiplatform.one/components";
3
+ import { useResolvedKnobs } from "@multiplatform.one/theme";
4
+ import { useCallback, useEffect, useRef, useState } from "react";
5
+ import { useTranslation } from "react-i18next";
6
+ import { readRecentItems } from "../chrome/awesomebar-data.mjs";
7
+ import { useBackofficeNavigator, useBackofficePaths } from "../config/BackofficeProvider.mjs";
8
+ import { BACKOFFICE_I18N_NAMESPACE } from "../i18n/index.mjs";
9
+ import { jsx, jsxs } from "react/jsx-runtime";
10
+ const MAX_RECENTS = 5;
11
+ function WorkspaceRecents() {
12
+ const navigator = useBackofficeNavigator();
13
+ const paths = useBackofficePaths();
14
+ const {
15
+ knobProps
16
+ } = useResolvedKnobs();
17
+ const {
18
+ t
19
+ } = useTranslation(BACKOFFICE_I18N_NAMESPACE);
20
+ const theme = useTheme();
21
+ const iconColor = typeof theme.color11?.val === "string" ? theme.color11.val : void 0;
22
+ const [recents, setRecents] = useState([]);
23
+ const mountedRef = useRef(true);
24
+ useEffect(() => {
25
+ mountedRef.current = true;
26
+ return () => {
27
+ mountedRef.current = false;
28
+ };
29
+ }, []);
30
+ const base = paths.base;
31
+ const refresh = useCallback(() => {
32
+ void readRecentItems().then(stored => {
33
+ if (!mountedRef.current) return;
34
+ setRecents(stored.filter(item => item.path.startsWith(base)).slice(0, MAX_RECENTS));
35
+ });
36
+ }, [base]);
37
+ useEffect(() => {
38
+ refresh();
39
+ if (typeof window === "undefined" || typeof window.addEventListener !== "function") {
40
+ return void 0;
41
+ }
42
+ const onFocus = () => refresh();
43
+ window.addEventListener("focus", onFocus);
44
+ return () => window.removeEventListener("focus", onFocus);
45
+ }, [refresh]);
46
+ if (recents.length === 0) return null;
47
+ return (
48
+ // Section heading on the shared sectionHeading scale (LC-17); no
49
+ // divider rule over a chip band (Axiom 16 chrome-earns-role).
50
+ /* @__PURE__ */
51
+ jsx(PageSection, {
52
+ title: t("workspaceRecents", "Continue where you left off"),
53
+ divider: false,
54
+ children: /* @__PURE__ */jsx(XStack, {
55
+ flexWrap: "wrap",
56
+ ...knobProps.gap,
57
+ children: recents.map(item => /* @__PURE__ */jsx(Card, {
58
+ padding: 0,
59
+ onPress: () => navigator.navigate(item.path),
60
+ cursor: "pointer",
61
+ hoverStyle: {
62
+ borderColor: "$accentBackground"
63
+ },
64
+ pressStyle: {
65
+ scale: 0.98
66
+ },
67
+ role: "link",
68
+ "aria-label": item.label,
69
+ children: /* @__PURE__ */jsxs(XStack, {
70
+ paddingHorizontal: "$3",
71
+ minHeight: 44,
72
+ alignItems: "center",
73
+ ...knobProps.gap,
74
+ children: [/* @__PURE__ */jsx(ClockCounterClockwiseIcon, {
75
+ size: 14,
76
+ color: iconColor,
77
+ "aria-hidden": true
78
+ }), /* @__PURE__ */jsx(SizableText, {
79
+ size: "$3",
80
+ numberOfLines: 1,
81
+ flexShrink: 1,
82
+ children: item.label
83
+ })]
84
+ })
85
+ }, item.path))
86
+ })
87
+ })
88
+ );
89
+ }
90
+ export { WorkspaceRecents };
91
+ //# sourceMappingURL=WorkspaceRecents.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["ClockCounterClockwiseIcon","Card","PageSection","SizableText","XStack","useTheme","useResolvedKnobs","useCallback","useEffect","useRef","useState","useTranslation","readRecentItems","useBackofficeNavigator","useBackofficePaths","BACKOFFICE_I18N_NAMESPACE","jsx","jsxs","MAX_RECENTS","WorkspaceRecents","navigator","paths","knobProps","t","theme","iconColor","color11","val","recents","setRecents","mountedRef","current","base","refresh","then","stored","filter","item","path","startsWith","slice","window","addEventListener","onFocus","removeEventListener","length","title","divider","children","flexWrap","gap","map","padding","onPress","navigate","cursor","hoverStyle","borderColor","pressStyle","scale","role","label","paddingHorizontal","minHeight","alignItems","size","color","numberOfLines","flexShrink"],"sources":["../../../src/workspace/WorkspaceRecents.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}