@multiplatform.one/backoffice 6.4.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 (325) 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/workspace/WorkspaceChartBlock.cjs +136 -0
  32. package/dist/cjs/workspace/WorkspaceChartBlock.native.js +144 -0
  33. package/dist/cjs/workspace/WorkspaceChartBlock.native.js.map +1 -0
  34. package/dist/cjs/workspace/WorkspaceGrid.cjs +91 -0
  35. package/dist/cjs/workspace/WorkspaceGrid.native.js +126 -0
  36. package/dist/cjs/workspace/WorkspaceGrid.native.js.map +1 -0
  37. package/dist/cjs/workspace/WorkspaceLinkCard.cjs +139 -0
  38. package/dist/cjs/workspace/WorkspaceLinkCard.native.js +155 -0
  39. package/dist/cjs/workspace/WorkspaceLinkCard.native.js.map +1 -0
  40. package/dist/cjs/workspace/WorkspaceLinkDirectory.cjs +110 -0
  41. package/dist/cjs/workspace/WorkspaceLinkDirectory.native.js +127 -0
  42. package/dist/cjs/workspace/WorkspaceLinkDirectory.native.js.map +1 -0
  43. package/dist/cjs/workspace/WorkspaceNumberCard.cjs +133 -0
  44. package/dist/cjs/workspace/WorkspaceNumberCard.native.js +138 -0
  45. package/dist/cjs/workspace/WorkspaceNumberCard.native.js.map +1 -0
  46. package/dist/cjs/workspace/WorkspaceQuickList.cjs +112 -0
  47. package/dist/cjs/workspace/WorkspaceQuickList.native.js +130 -0
  48. package/dist/cjs/workspace/WorkspaceQuickList.native.js.map +1 -0
  49. package/dist/cjs/workspace/WorkspaceRecents.cjs +116 -0
  50. package/dist/cjs/workspace/WorkspaceRecents.native.js +132 -0
  51. package/dist/cjs/workspace/WorkspaceRecents.native.js.map +1 -0
  52. package/dist/cjs/workspace/WorkspaceScreen.cjs +291 -0
  53. package/dist/cjs/workspace/WorkspaceScreen.native.js +323 -0
  54. package/dist/cjs/workspace/WorkspaceScreen.native.js.map +1 -0
  55. package/dist/cjs/workspace/WorkspaceShortcut.cjs +185 -0
  56. package/dist/cjs/workspace/WorkspaceShortcut.native.js +202 -0
  57. package/dist/cjs/workspace/WorkspaceShortcut.native.js.map +1 -0
  58. package/dist/cjs/workspace/parseContent.cjs +180 -0
  59. package/dist/cjs/workspace/parseContent.native.js +299 -0
  60. package/dist/cjs/workspace/parseContent.native.js.map +1 -0
  61. package/dist/cjs/workspace/types.cjs +18 -0
  62. package/dist/cjs/workspace/types.native.js +21 -0
  63. package/dist/cjs/workspace/types.native.js.map +1 -0
  64. package/dist/cjs/workspace/useDashboardChart.cjs +96 -0
  65. package/dist/cjs/workspace/useDashboardChart.native.js +110 -0
  66. package/dist/cjs/workspace/useDashboardChart.native.js.map +1 -0
  67. package/dist/cjs/workspace/useWorkspaceDoc.cjs +103 -0
  68. package/dist/cjs/workspace/useWorkspaceDoc.native.js +120 -0
  69. package/dist/cjs/workspace/useWorkspaceDoc.native.js.map +1 -0
  70. package/dist/esm/chrome/CommandPalette.mjs +20 -9
  71. package/dist/esm/chrome/CommandPalette.mjs.map +1 -1
  72. package/dist/esm/chrome/CommandPalette.native.js +18 -10
  73. package/dist/esm/chrome/CommandPalette.native.js.map +1 -1
  74. package/dist/esm/i18n/en.mjs +21 -0
  75. package/dist/esm/i18n/en.mjs.map +1 -1
  76. package/dist/esm/i18n/en.native.js +21 -0
  77. package/dist/esm/i18n/en.native.js.map +1 -1
  78. package/dist/esm/index.mjs +19 -1
  79. package/dist/esm/index.mjs.map +1 -1
  80. package/dist/esm/index.native.js +19 -1
  81. package/dist/esm/index.native.js.map +1 -1
  82. package/dist/esm/shared/types.mjs +2 -0
  83. package/dist/esm/shared/types.mjs.map +1 -0
  84. package/dist/esm/shared/types.native.js +2 -0
  85. package/dist/esm/shared/types.native.js.map +1 -0
  86. package/dist/esm/shared/useDocinfo.mjs +90 -0
  87. package/dist/esm/shared/useDocinfo.mjs.map +1 -0
  88. package/dist/esm/shared/useDocinfo.native.js +138 -0
  89. package/dist/esm/shared/useDocinfo.native.js.map +1 -0
  90. package/dist/esm/shared/useDoctypeMeta.mjs +99 -0
  91. package/dist/esm/shared/useDoctypeMeta.mjs.map +1 -0
  92. package/dist/esm/shared/useDoctypeMeta.native.js +130 -0
  93. package/dist/esm/shared/useDoctypeMeta.native.js.map +1 -0
  94. package/dist/esm/shared/useRecentVisit.mjs +15 -0
  95. package/dist/esm/shared/useRecentVisit.mjs.map +1 -0
  96. package/dist/esm/shared/useRecentVisit.native.js +15 -0
  97. package/dist/esm/shared/useRecentVisit.native.js.map +1 -0
  98. package/dist/esm/shared/useSessionUserId.mjs +29 -0
  99. package/dist/esm/shared/useSessionUserId.mjs.map +1 -0
  100. package/dist/esm/shared/useSessionUserId.native.js +31 -0
  101. package/dist/esm/shared/useSessionUserId.native.js.map +1 -0
  102. package/dist/esm/shared/useSlugTarget.mjs +113 -0
  103. package/dist/esm/shared/useSlugTarget.mjs.map +1 -0
  104. package/dist/esm/shared/useSlugTarget.native.js +138 -0
  105. package/dist/esm/shared/useSlugTarget.native.js.map +1 -0
  106. package/dist/esm/shared/useUserRoles.mjs +47 -0
  107. package/dist/esm/shared/useUserRoles.mjs.map +1 -0
  108. package/dist/esm/shared/useUserRoles.native.js +51 -0
  109. package/dist/esm/shared/useUserRoles.native.js.map +1 -0
  110. package/dist/esm/workspace/WorkspaceChartBlock.mjs +111 -0
  111. package/dist/esm/workspace/WorkspaceChartBlock.mjs.map +1 -0
  112. package/dist/esm/workspace/WorkspaceChartBlock.native.js +116 -0
  113. package/dist/esm/workspace/WorkspaceChartBlock.native.js.map +1 -0
  114. package/dist/esm/workspace/WorkspaceGrid.mjs +66 -0
  115. package/dist/esm/workspace/WorkspaceGrid.mjs.map +1 -0
  116. package/dist/esm/workspace/WorkspaceGrid.native.js +98 -0
  117. package/dist/esm/workspace/WorkspaceGrid.native.js.map +1 -0
  118. package/dist/esm/workspace/WorkspaceLinkCard.mjs +113 -0
  119. package/dist/esm/workspace/WorkspaceLinkCard.mjs.map +1 -0
  120. package/dist/esm/workspace/WorkspaceLinkCard.native.js +126 -0
  121. package/dist/esm/workspace/WorkspaceLinkCard.native.js.map +1 -0
  122. package/dist/esm/workspace/WorkspaceLinkDirectory.mjs +84 -0
  123. package/dist/esm/workspace/WorkspaceLinkDirectory.mjs.map +1 -0
  124. package/dist/esm/workspace/WorkspaceLinkDirectory.native.js +98 -0
  125. package/dist/esm/workspace/WorkspaceLinkDirectory.native.js.map +1 -0
  126. package/dist/esm/workspace/WorkspaceNumberCard.mjs +108 -0
  127. package/dist/esm/workspace/WorkspaceNumberCard.mjs.map +1 -0
  128. package/dist/esm/workspace/WorkspaceNumberCard.native.js +110 -0
  129. package/dist/esm/workspace/WorkspaceNumberCard.native.js.map +1 -0
  130. package/dist/esm/workspace/WorkspaceQuickList.mjs +87 -0
  131. package/dist/esm/workspace/WorkspaceQuickList.mjs.map +1 -0
  132. package/dist/esm/workspace/WorkspaceQuickList.native.js +102 -0
  133. package/dist/esm/workspace/WorkspaceQuickList.native.js.map +1 -0
  134. package/dist/esm/workspace/WorkspaceRecents.mjs +91 -0
  135. package/dist/esm/workspace/WorkspaceRecents.mjs.map +1 -0
  136. package/dist/esm/workspace/WorkspaceRecents.native.js +104 -0
  137. package/dist/esm/workspace/WorkspaceRecents.native.js.map +1 -0
  138. package/dist/esm/workspace/WorkspaceScreen.mjs +266 -0
  139. package/dist/esm/workspace/WorkspaceScreen.mjs.map +1 -0
  140. package/dist/esm/workspace/WorkspaceScreen.native.js +295 -0
  141. package/dist/esm/workspace/WorkspaceScreen.native.js.map +1 -0
  142. package/dist/esm/workspace/WorkspaceShortcut.mjs +159 -0
  143. package/dist/esm/workspace/WorkspaceShortcut.mjs.map +1 -0
  144. package/dist/esm/workspace/WorkspaceShortcut.native.js +173 -0
  145. package/dist/esm/workspace/WorkspaceShortcut.native.js.map +1 -0
  146. package/dist/esm/workspace/parseContent.mjs +148 -0
  147. package/dist/esm/workspace/parseContent.mjs.map +1 -0
  148. package/dist/esm/workspace/parseContent.native.js +264 -0
  149. package/dist/esm/workspace/parseContent.native.js.map +1 -0
  150. package/dist/esm/workspace/types.mjs +2 -0
  151. package/dist/esm/workspace/types.mjs.map +1 -0
  152. package/dist/esm/workspace/types.native.js +2 -0
  153. package/dist/esm/workspace/types.native.js.map +1 -0
  154. package/dist/esm/workspace/useDashboardChart.mjs +71 -0
  155. package/dist/esm/workspace/useDashboardChart.mjs.map +1 -0
  156. package/dist/esm/workspace/useDashboardChart.native.js +82 -0
  157. package/dist/esm/workspace/useDashboardChart.native.js.map +1 -0
  158. package/dist/esm/workspace/useWorkspaceDoc.mjs +77 -0
  159. package/dist/esm/workspace/useWorkspaceDoc.mjs.map +1 -0
  160. package/dist/esm/workspace/useWorkspaceDoc.native.js +91 -0
  161. package/dist/esm/workspace/useWorkspaceDoc.native.js.map +1 -0
  162. package/dist/jsx/chrome/CommandPalette.mjs +20 -9
  163. package/dist/jsx/chrome/CommandPalette.mjs.map +1 -1
  164. package/dist/jsx/chrome/CommandPalette.native.js +18 -10
  165. package/dist/jsx/chrome/CommandPalette.native.js.map +1 -1
  166. package/dist/jsx/i18n/en.mjs +21 -0
  167. package/dist/jsx/i18n/en.mjs.map +1 -1
  168. package/dist/jsx/i18n/en.native.js +21 -0
  169. package/dist/jsx/i18n/en.native.js.map +1 -1
  170. package/dist/jsx/index.js +19 -1
  171. package/dist/jsx/index.js.map +1 -1
  172. package/dist/jsx/index.mjs +19 -1
  173. package/dist/jsx/index.mjs.map +1 -1
  174. package/dist/jsx/index.native.js +48 -0
  175. package/dist/jsx/index.native.js.map +1 -1
  176. package/dist/jsx/shared/types.mjs +2 -0
  177. package/dist/jsx/shared/types.mjs.map +1 -0
  178. package/dist/jsx/shared/types.native.js +21 -0
  179. package/dist/jsx/shared/types.native.js.map +1 -0
  180. package/dist/jsx/shared/useDocinfo.mjs +90 -0
  181. package/dist/jsx/shared/useDocinfo.mjs.map +1 -0
  182. package/dist/jsx/shared/useDocinfo.native.js +167 -0
  183. package/dist/jsx/shared/useDocinfo.native.js.map +1 -0
  184. package/dist/jsx/shared/useDoctypeMeta.mjs +99 -0
  185. package/dist/jsx/shared/useDoctypeMeta.mjs.map +1 -0
  186. package/dist/jsx/shared/useDoctypeMeta.native.js +158 -0
  187. package/dist/jsx/shared/useDoctypeMeta.native.js.map +1 -0
  188. package/dist/jsx/shared/useRecentVisit.mjs +15 -0
  189. package/dist/jsx/shared/useRecentVisit.mjs.map +1 -0
  190. package/dist/jsx/shared/useRecentVisit.native.js +43 -0
  191. package/dist/jsx/shared/useRecentVisit.native.js.map +1 -0
  192. package/dist/jsx/shared/useSessionUserId.mjs +29 -0
  193. package/dist/jsx/shared/useSessionUserId.mjs.map +1 -0
  194. package/dist/jsx/shared/useSessionUserId.native.js +59 -0
  195. package/dist/jsx/shared/useSessionUserId.native.js.map +1 -0
  196. package/dist/jsx/shared/useSlugTarget.mjs +113 -0
  197. package/dist/jsx/shared/useSlugTarget.mjs.map +1 -0
  198. package/dist/jsx/shared/useSlugTarget.native.js +166 -0
  199. package/dist/jsx/shared/useSlugTarget.native.js.map +1 -0
  200. package/dist/jsx/shared/useUserRoles.mjs +47 -0
  201. package/dist/jsx/shared/useUserRoles.mjs.map +1 -0
  202. package/dist/jsx/shared/useUserRoles.native.js +79 -0
  203. package/dist/jsx/shared/useUserRoles.native.js.map +1 -0
  204. package/dist/jsx/workspace/WorkspaceChartBlock.mjs +111 -0
  205. package/dist/jsx/workspace/WorkspaceChartBlock.mjs.map +1 -0
  206. package/dist/jsx/workspace/WorkspaceChartBlock.native.js +144 -0
  207. package/dist/jsx/workspace/WorkspaceChartBlock.native.js.map +1 -0
  208. package/dist/jsx/workspace/WorkspaceGrid.mjs +66 -0
  209. package/dist/jsx/workspace/WorkspaceGrid.mjs.map +1 -0
  210. package/dist/jsx/workspace/WorkspaceGrid.native.js +126 -0
  211. package/dist/jsx/workspace/WorkspaceGrid.native.js.map +1 -0
  212. package/dist/jsx/workspace/WorkspaceLinkCard.mjs +113 -0
  213. package/dist/jsx/workspace/WorkspaceLinkCard.mjs.map +1 -0
  214. package/dist/jsx/workspace/WorkspaceLinkCard.native.js +155 -0
  215. package/dist/jsx/workspace/WorkspaceLinkCard.native.js.map +1 -0
  216. package/dist/jsx/workspace/WorkspaceLinkDirectory.mjs +84 -0
  217. package/dist/jsx/workspace/WorkspaceLinkDirectory.mjs.map +1 -0
  218. package/dist/jsx/workspace/WorkspaceLinkDirectory.native.js +127 -0
  219. package/dist/jsx/workspace/WorkspaceLinkDirectory.native.js.map +1 -0
  220. package/dist/jsx/workspace/WorkspaceNumberCard.mjs +108 -0
  221. package/dist/jsx/workspace/WorkspaceNumberCard.mjs.map +1 -0
  222. package/dist/jsx/workspace/WorkspaceNumberCard.native.js +138 -0
  223. package/dist/jsx/workspace/WorkspaceNumberCard.native.js.map +1 -0
  224. package/dist/jsx/workspace/WorkspaceQuickList.mjs +87 -0
  225. package/dist/jsx/workspace/WorkspaceQuickList.mjs.map +1 -0
  226. package/dist/jsx/workspace/WorkspaceQuickList.native.js +130 -0
  227. package/dist/jsx/workspace/WorkspaceQuickList.native.js.map +1 -0
  228. package/dist/jsx/workspace/WorkspaceRecents.mjs +91 -0
  229. package/dist/jsx/workspace/WorkspaceRecents.mjs.map +1 -0
  230. package/dist/jsx/workspace/WorkspaceRecents.native.js +132 -0
  231. package/dist/jsx/workspace/WorkspaceRecents.native.js.map +1 -0
  232. package/dist/jsx/workspace/WorkspaceScreen.mjs +266 -0
  233. package/dist/jsx/workspace/WorkspaceScreen.mjs.map +1 -0
  234. package/dist/jsx/workspace/WorkspaceScreen.native.js +323 -0
  235. package/dist/jsx/workspace/WorkspaceScreen.native.js.map +1 -0
  236. package/dist/jsx/workspace/WorkspaceShortcut.mjs +159 -0
  237. package/dist/jsx/workspace/WorkspaceShortcut.mjs.map +1 -0
  238. package/dist/jsx/workspace/WorkspaceShortcut.native.js +202 -0
  239. package/dist/jsx/workspace/WorkspaceShortcut.native.js.map +1 -0
  240. package/dist/jsx/workspace/parseContent.mjs +148 -0
  241. package/dist/jsx/workspace/parseContent.mjs.map +1 -0
  242. package/dist/jsx/workspace/parseContent.native.js +299 -0
  243. package/dist/jsx/workspace/parseContent.native.js.map +1 -0
  244. package/dist/jsx/workspace/types.mjs +2 -0
  245. package/dist/jsx/workspace/types.mjs.map +1 -0
  246. package/dist/jsx/workspace/types.native.js +21 -0
  247. package/dist/jsx/workspace/types.native.js.map +1 -0
  248. package/dist/jsx/workspace/useDashboardChart.mjs +71 -0
  249. package/dist/jsx/workspace/useDashboardChart.mjs.map +1 -0
  250. package/dist/jsx/workspace/useDashboardChart.native.js +110 -0
  251. package/dist/jsx/workspace/useDashboardChart.native.js.map +1 -0
  252. package/dist/jsx/workspace/useWorkspaceDoc.mjs +77 -0
  253. package/dist/jsx/workspace/useWorkspaceDoc.mjs.map +1 -0
  254. package/dist/jsx/workspace/useWorkspaceDoc.native.js +120 -0
  255. package/dist/jsx/workspace/useWorkspaceDoc.native.js.map +1 -0
  256. package/package.json +12 -12
  257. package/src/chrome/CommandPalette.tsx +35 -15
  258. package/src/i18n/en.ts +21 -0
  259. package/src/index.ts +69 -0
  260. package/src/shared/types.ts +14 -0
  261. package/src/shared/useDocinfo.ts +163 -0
  262. package/src/shared/useDoctypeMeta.ts +243 -0
  263. package/src/shared/useRecentVisit.ts +33 -0
  264. package/src/shared/useSessionUserId.ts +42 -0
  265. package/src/shared/useSlugTarget.ts +143 -0
  266. package/src/shared/useUserRoles.ts +66 -0
  267. package/src/workspace/WorkspaceChartBlock.tsx +115 -0
  268. package/src/workspace/WorkspaceGrid.tsx +82 -0
  269. package/src/workspace/WorkspaceLinkCard.tsx +134 -0
  270. package/src/workspace/WorkspaceLinkDirectory.tsx +126 -0
  271. package/src/workspace/WorkspaceNumberCard.tsx +126 -0
  272. package/src/workspace/WorkspaceQuickList.tsx +100 -0
  273. package/src/workspace/WorkspaceRecents.tsx +100 -0
  274. package/src/workspace/WorkspaceScreen.tsx +322 -0
  275. package/src/workspace/WorkspaceShortcut.tsx +223 -0
  276. package/src/workspace/parseContent.spec.ts +327 -0
  277. package/src/workspace/parseContent.ts +240 -0
  278. package/src/workspace/types.ts +135 -0
  279. package/src/workspace/useDashboardChart.ts +115 -0
  280. package/src/workspace/useWorkspaceDoc.ts +111 -0
  281. package/types/chrome/CommandPalette.d.ts.map +1 -1
  282. package/types/i18n/en.d.ts +19 -0
  283. package/types/i18n/en.d.ts.map +1 -1
  284. package/types/index.d.ts +34 -0
  285. package/types/index.d.ts.map +1 -1
  286. package/types/shared/types.d.ts +21 -0
  287. package/types/shared/types.d.ts.map +1 -0
  288. package/types/shared/useDocinfo.d.ts +61 -0
  289. package/types/shared/useDocinfo.d.ts.map +1 -0
  290. package/types/shared/useDoctypeMeta.d.ts +118 -0
  291. package/types/shared/useDoctypeMeta.d.ts.map +1 -0
  292. package/types/shared/useRecentVisit.d.ts +10 -0
  293. package/types/shared/useRecentVisit.d.ts.map +1 -0
  294. package/types/shared/useSessionUserId.d.ts +6 -0
  295. package/types/shared/useSessionUserId.d.ts.map +1 -0
  296. package/types/shared/useSlugTarget.d.ts +18 -0
  297. package/types/shared/useSlugTarget.d.ts.map +1 -0
  298. package/types/shared/useUserRoles.d.ts +15 -0
  299. package/types/shared/useUserRoles.d.ts.map +1 -0
  300. package/types/workspace/WorkspaceChartBlock.d.ts +6 -0
  301. package/types/workspace/WorkspaceChartBlock.d.ts.map +1 -0
  302. package/types/workspace/WorkspaceGrid.d.ts +23 -0
  303. package/types/workspace/WorkspaceGrid.d.ts.map +1 -0
  304. package/types/workspace/WorkspaceLinkCard.d.ts +20 -0
  305. package/types/workspace/WorkspaceLinkCard.d.ts.map +1 -0
  306. package/types/workspace/WorkspaceLinkDirectory.d.ts +19 -0
  307. package/types/workspace/WorkspaceLinkDirectory.d.ts.map +1 -0
  308. package/types/workspace/WorkspaceNumberCard.d.ts +19 -0
  309. package/types/workspace/WorkspaceNumberCard.d.ts.map +1 -0
  310. package/types/workspace/WorkspaceQuickList.d.ts +6 -0
  311. package/types/workspace/WorkspaceQuickList.d.ts.map +1 -0
  312. package/types/workspace/WorkspaceRecents.d.ts +2 -0
  313. package/types/workspace/WorkspaceRecents.d.ts.map +1 -0
  314. package/types/workspace/WorkspaceScreen.d.ts +24 -0
  315. package/types/workspace/WorkspaceScreen.d.ts.map +1 -0
  316. package/types/workspace/WorkspaceShortcut.d.ts +27 -0
  317. package/types/workspace/WorkspaceShortcut.d.ts.map +1 -0
  318. package/types/workspace/parseContent.d.ts +77 -0
  319. package/types/workspace/parseContent.d.ts.map +1 -0
  320. package/types/workspace/types.d.ts +112 -0
  321. package/types/workspace/types.d.ts.map +1 -0
  322. package/types/workspace/useDashboardChart.d.ts +29 -0
  323. package/types/workspace/useDashboardChart.d.ts.map +1 -0
  324. package/types/workspace/useWorkspaceDoc.d.ts +18 -0
  325. package/types/workspace/useWorkspaceDoc.d.ts.map +1 -0
@@ -0,0 +1,66 @@
1
+ import { XStack, YStack } from "@multiplatform.one/components";
2
+ import { useResolvedKnobs } from "@multiplatform.one/theme";
3
+ import { useState } from "react";
4
+ import { jsx, jsxs } from "react/jsx-runtime";
5
+ const NARROW_MAX = 640;
6
+ const MEDIUM_MAX = 960;
7
+ function effectiveSpan(raw, width) {
8
+ const span = Math.min(Math.max(Math.round(raw ?? 12), 1), 12);
9
+ if (width <= 0) return span;
10
+ if (width < NARROW_MAX) return 12;
11
+ if (width < MEDIUM_MAX) return span <= 6 ? 6 : 12;
12
+ return span;
13
+ }
14
+ function WorkspaceGrid({
15
+ items,
16
+ ...stackProps
17
+ }) {
18
+ const {
19
+ knobProps
20
+ } = useResolvedKnobs();
21
+ const [width, setWidth] = useState(0);
22
+ const rows = [];
23
+ let current = [];
24
+ let used = 0;
25
+ for (const item of items) {
26
+ const span = effectiveSpan(item.col, width);
27
+ if (used + span > 12 && current.length > 0) {
28
+ rows.push(current);
29
+ current = [];
30
+ used = 0;
31
+ }
32
+ current.push({
33
+ item,
34
+ span
35
+ });
36
+ used += span;
37
+ }
38
+ if (current.length > 0) rows.push(current);
39
+ return /* @__PURE__ */jsx(YStack, {
40
+ ...knobProps.gap,
41
+ onLayout: event => setWidth(event.nativeEvent.layout.width),
42
+ ...stackProps,
43
+ children: rows.map((row, rowIndex) => {
44
+ const rowUsed = row.reduce((sum, cell) => sum + cell.span, 0);
45
+ return /* @__PURE__ */jsxs(XStack, {
46
+ ...knobProps.gap,
47
+ alignItems: "stretch",
48
+ children: [row.map(({
49
+ item,
50
+ span
51
+ }) => /* @__PURE__ */jsx(YStack, {
52
+ flexGrow: span,
53
+ flexShrink: 1,
54
+ flexBasis: 0,
55
+ minWidth: 0,
56
+ children: item.node
57
+ }, item.key)), rowUsed < 12 ? /* @__PURE__ */jsx(YStack, {
58
+ flexGrow: 12 - rowUsed,
59
+ flexBasis: 0
60
+ }) : null]
61
+ }, row[0]?.item.key ?? rowIndex);
62
+ })
63
+ });
64
+ }
65
+ export { WorkspaceGrid };
66
+ //# sourceMappingURL=WorkspaceGrid.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["XStack","YStack","useResolvedKnobs","useState","jsx","jsxs","NARROW_MAX","MEDIUM_MAX","effectiveSpan","raw","width","span","Math","min","max","round","WorkspaceGrid","items","stackProps","knobProps","setWidth","rows","current","used","item","col","length","push","gap","onLayout","event","nativeEvent","layout","children","map","row","rowIndex","rowUsed","reduce","sum","cell","alignItems","flexGrow","flexShrink","flexBasis","minWidth","node","key"],"sources":["../../../src/workspace/WorkspaceGrid.tsx"],"sourcesContent":[null],"mappings":"AAUA,SAASA,MAAA,EAAQC,MAAA,QAAgC;AACjD,SAASC,gBAAA,QAAwB;AACjC,SAASC,QAAA,QAAgC;AAuD/B,SAEIC,GAAA,EAFJC,IAAA;AApDV,MAAMC,UAAA,GAAa;AAEnB,MAAMC,UAAA,GAAa;AASnB,SAASC,cAAcC,GAAA,EAAyBC,KAAA,EAAuB;EACrE,MAAMC,IAAA,GAAOC,IAAA,CAAKC,GAAA,CAAID,IAAA,CAAKE,GAAA,CAAIF,IAAA,CAAKG,KAAA,CAAMN,GAAA,IAAO,EAAE,GAAG,CAAC,GAAG,EAAE;EAC5D,IAAIC,KAAA,IAAS,GAAG,OAAOC,IAAA;EACvB,IAAID,KAAA,GAAQJ,UAAA,EAAY,OAAO;EAC/B,IAAII,KAAA,GAAQH,UAAA,EAAY,OAAOI,IAAA,IAAQ,IAAI,IAAI;EAC/C,OAAOA,IAAA;AACT;AAMO,SAASK,cAAc;EAAEC,KAAA;EAAO,GAAGC;AAAW,GAAuB;EAC1E,MAAM;IAAEC;EAAU,IAAIjB,gBAAA,CAAiB;EACvC,MAAM,CAACQ,KAAA,EAAOU,QAAQ,IAAIjB,QAAA,CAAS,CAAC;EAGpC,MAAMkB,IAAA,GAAgE,EAAC;EACvE,IAAIC,OAAA,GAA4D,EAAC;EACjE,IAAIC,IAAA,GAAO;EACX,WAAWC,IAAA,IAAQP,KAAA,EAAO;IACxB,MAAMN,IAAA,GAAOH,aAAA,CAAcgB,IAAA,CAAKC,GAAA,EAAKf,KAAK;IAC1C,IAAIa,IAAA,GAAOZ,IAAA,GAAO,MAAMW,OAAA,CAAQI,MAAA,GAAS,GAAG;MAC1CL,IAAA,CAAKM,IAAA,CAAKL,OAAO;MACjBA,OAAA,GAAU,EAAC;MACXC,IAAA,GAAO;IACT;IACAD,OAAA,CAAQK,IAAA,CAAK;MAAEH,IAAA;MAAMb;IAAK,CAAC;IAC3BY,IAAA,IAAQZ,IAAA;EACV;EACA,IAAIW,OAAA,CAAQI,MAAA,GAAS,GAAGL,IAAA,CAAKM,IAAA,CAAKL,OAAO;EAEzC,OACE,eAAAlB,GAAA,CAACH,MAAA;IACE,GAAGkB,SAAA,CAAUS,GAAA;IACdC,QAAA,EAAWC,KAAA,IAAUV,QAAA,CAASU,KAAA,CAAMC,WAAA,CAAYC,MAAA,CAAOtB,KAAK;IAC3D,GAAGQ,UAAA;IAEHe,QAAA,EAAAZ,IAAA,CAAKa,GAAA,CAAI,CAACC,GAAA,EAAKC,QAAA,KAAa;MAC3B,MAAMC,OAAA,GAAUF,GAAA,CAAIG,MAAA,CAAO,CAACC,GAAA,EAAKC,IAAA,KAASD,GAAA,GAAMC,IAAA,CAAK7B,IAAA,EAAM,CAAC;MAC5D,OACE,eAAAN,IAAA,CAACL,MAAA;QAA2C,GAAGmB,SAAA,CAAUS,GAAA;QAAKa,UAAA,EAAW;QACtER,QAAA,GAAAE,GAAA,CAAID,GAAA,CAAI,CAAC;UAAEV,IAAA;UAAMb;QAAK,MACrB,eAAAP,GAAA,CAACH,MAAA;UAAsByC,QAAA,EAAU/B,IAAA;UAAMgC,UAAA,EAAY;UAAGC,SAAA,EAAW;UAAGC,QAAA,EAAU;UAC3EZ,QAAA,EAAAT,IAAA,CAAKsB;QAAA,GADKtB,IAAA,CAAKuB,GAElB,CACD,GAGAV,OAAA,GAAU,KAAK,eAAAjC,GAAA,CAACH,MAAA;UAAOyC,QAAA,EAAU,KAAKL,OAAA;UAASO,SAAA,EAAW;QAAA,CAAG,IAAK;MAAA,GARxDT,GAAA,CAAI,CAAC,GAAGX,IAAA,CAAKuB,GAAA,IAAOX,QASjC;IAEJ,CAAC;EAAA,CACH;AAEJ","ignoreList":[]}
@@ -0,0 +1,98 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { XStack, YStack } from "@multiplatform.one/components";
3
+ import { useResolvedKnobs } from "@multiplatform.one/theme";
4
+ import { useState } from "react";
5
+ var NARROW_MAX = 640;
6
+ var MEDIUM_MAX = 960;
7
+ function effectiveSpan(raw, width) {
8
+ var span = Math.min(Math.max(Math.round(raw !== null && raw !== void 0 ? raw : 12), 1), 12);
9
+ if (width <= 0) return span;
10
+ if (width < NARROW_MAX) return 12;
11
+ if (width < MEDIUM_MAX) return span <= 6 ? 6 : 12;
12
+ return span;
13
+ }
14
+ function WorkspaceGrid(param) {
15
+ var {
16
+ items,
17
+ ...stackProps
18
+ } = param;
19
+ var {
20
+ knobProps
21
+ } = useResolvedKnobs();
22
+ var [width, setWidth] = useState(0);
23
+ var rows = [];
24
+ var current = [];
25
+ var used = 0;
26
+ var _iteratorNormalCompletion = true,
27
+ _didIteratorError = false,
28
+ _iteratorError = void 0;
29
+ try {
30
+ for (var _iterator = items[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
31
+ var item = _step.value;
32
+ var span = effectiveSpan(item.col, width);
33
+ if (used + span > 12 && current.length > 0) {
34
+ rows.push(current);
35
+ current = [];
36
+ used = 0;
37
+ }
38
+ current.push({
39
+ item,
40
+ span
41
+ });
42
+ used += span;
43
+ }
44
+ } catch (err) {
45
+ _didIteratorError = true;
46
+ _iteratorError = err;
47
+ } finally {
48
+ try {
49
+ if (!_iteratorNormalCompletion && _iterator.return != null) {
50
+ _iterator.return();
51
+ }
52
+ } finally {
53
+ if (_didIteratorError) {
54
+ throw _iteratorError;
55
+ }
56
+ }
57
+ }
58
+ if (current.length > 0) rows.push(current);
59
+ return /* @__PURE__ */_jsx(YStack, {
60
+ ...knobProps.gap,
61
+ onLayout: function onLayout(event) {
62
+ return setWidth(event.nativeEvent.layout.width);
63
+ },
64
+ ...stackProps,
65
+ children: rows.map(function (row, rowIndex) {
66
+ var _ref;
67
+ var _row_;
68
+ var rowUsed = row.reduce(function (sum, cell) {
69
+ return sum + cell.span;
70
+ }, 0);
71
+ return /* @__PURE__ */_jsxs(XStack, {
72
+ ...knobProps.gap,
73
+ alignItems: "stretch",
74
+ children: [row.map(function (param2) {
75
+ var {
76
+ item: item2,
77
+ span: span2
78
+ } = param2;
79
+ return /* @__PURE__ */_jsx(YStack, {
80
+ flexGrow: span2,
81
+ flexShrink: 1,
82
+ flexBasis: 0,
83
+ minWidth: 0,
84
+ children: item2.node
85
+ }, item2.key);
86
+ }),
87
+ /* Filler keeps a partial row's cells at their 12-col width
88
+ (a lone col-3 shortcut stays ~25%, like desk). */
89
+ rowUsed < 12 ? /* @__PURE__ */_jsx(YStack, {
90
+ flexGrow: 12 - rowUsed,
91
+ flexBasis: 0
92
+ }) : null]
93
+ }, (_ref = (_row_ = row[0]) === null || _row_ === void 0 ? void 0 : _row_.item.key) !== null && _ref !== void 0 ? _ref : rowIndex);
94
+ })
95
+ });
96
+ }
97
+ export { WorkspaceGrid };
98
+ //# sourceMappingURL=WorkspaceGrid.native.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["jsx","_jsx","jsxs","_jsxs","XStack","YStack","useResolvedKnobs","useState","NARROW_MAX","MEDIUM_MAX","effectiveSpan","raw","width","span","Math","min","max","round","WorkspaceGrid","param","items","stackProps","knobProps","setWidth","rows","current","used","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_iterator","Symbol","iterator","_step","next","done","item","value","col","length","push","err","return"],"sources":["../../../src/workspace/WorkspaceGrid.tsx"],"sourcesContent":[null],"mappings":"AAUA,SAASA,GAAA,IAAAC,IAAQ,EAAAC,IAAA,IAAAC,KAAgC;AACjD,SAASC,MAAA,EAAAC,MAAA,uCAAwB;AACjC,SAASC,gBAAgC;AAuD/B,SAEIC,QAFJ;AApDV,IAAAC,UAAM,MAAa;AAEnB,IAAAC,UAAM,MAAa;AASnB,SAASC,cAAcC,GAAA,EAAyBC,KAAA,EAAuB;EACrE,IAAAC,IAAM,GAAAC,IAAO,CAAAC,GAAK,CAAAD,IAAI,CAAAE,GAAK,CAAAF,IAAI,CAAAG,KAAK,CAAAN,GAAM,SAAS,IAAIA,GAAG,KAAE,SAAAA,GAAA;EAC5D,IAAIC,KAAA,IAAS,GAAG,OAAOC,IAAA;EACvB,IAAID,KAAA,GAAQJ,UAAA,EAAY,OAAO;EAC/B,IAAII,KAAA,GAAQH,UAAA,EAAY,OAAOI,IAAA,IAAQ,IAAI,IAAI;EAC/C,OAAOA,IAAA;AACT;AAMO,SAASK,cAAcC,KAAE;EAC9B;IAAMC,KAAE;IAAA,GAAAC;EAAc,IAAAF,KAAA;EACtB;IAAMG;EAAQ,IAAAhB,gBAAsB;EAGpC,KAAAM,KAAM,EAAAW,QAAiE,IAAAhB,QAAA;EACvE,IAAIiB,IAAA;EACJ,IAAIC,OAAO;EACX,IAAAC,IAAA,GAAW;EACT,IAAAC,yBAA2B,OAAK;IAAAC,iBAAU;IAAAC,cAAA;EAC1C;IACE,SAAKC,SAAK,GAAOV,KAAA,CAAAW,MAAA,CAAAC,QAAA,KAAAC,KAAA,IAAAN,yBAAA,IAAAM,KAAA,GAAAH,SAAA,CAAAI,IAAA,IAAAC,IAAA,GAAAR,yBAAA;MACjB,IAAAS,IAAA,GAAWH,KAAA,CAAAI,KAAA;MACX,IAAAxB,IAAO,GAAAH,aAAA,CAAA0B,IAAA,CAAAE,GAAA,EAAA1B,KAAA;MACT,IAAAc,IAAA,GAAAb,IAAA,SAAAY,OAAA,CAAAc,MAAA;QACAf,IAAQ,CAAAgB,IAAK,CAAAf,OAAQ;QACrBA,OAAQ;QACVC,IAAA;MACI;MAEJD,OACE,CAAAe,IAAA;QAACJ,IAAA;QAAAvB;MACE;MACDa,IAAA,IAAAb,IAAW;IAAiD;EACxD,SAEH4B,GAAA;IACCb,iBAAM,GAAU,IAAI;IACpBC,cACE,GAAAY,GAAA;EACG;IAIA;MAGkE,KAAAd,yBARpC,IAAAG,SASjC,CAAAY,MAAA;QAEHZ,SAAA,CAAAY,MAAA;MAAA;IACH;MAEJ,IAAAd,iBAAA","ignoreList":[]}
@@ -0,0 +1,113 @@
1
+ import { Card, SizableText, XStack, YStack } from "@multiplatform.one/components";
2
+ import { useResolvedKnobs } from "@multiplatform.one/theme";
3
+ import { useTranslation } from "react-i18next";
4
+ import { useBackofficeCapabilities, useBackofficeNavigator, useBackofficePaths, useIsDoctypeAllowed } from "../config/BackofficeProvider.mjs";
5
+ import { BACKOFFICE_I18N_NAMESPACE } from "../i18n/index.mjs";
6
+ import { createBackofficePaths } from "../navigation/paths.mjs";
7
+ import { jsx, jsxs } from "react/jsx-runtime";
8
+ const defaultPaths = createBackofficePaths();
9
+ function resolveLinkTarget(row, paths = defaultPaths) {
10
+ const target = row.link_to ?? "";
11
+ if (!target) return {
12
+ disabled: true
13
+ };
14
+ const prefix = paths.base === "/" ? "" : paths.base;
15
+ switch (row.link_type) {
16
+ case "DocType":
17
+ return {
18
+ path: paths.list(target)
19
+ };
20
+ case "Report":
21
+ return {
22
+ path: paths.list(target)
23
+ };
24
+ case "Page":
25
+ return {
26
+ path: `${prefix}/${target}`
27
+ };
28
+ default:
29
+ return {
30
+ disabled: true
31
+ };
32
+ }
33
+ }
34
+ function LinkRow({
35
+ row
36
+ }) {
37
+ const navigator = useBackofficeNavigator();
38
+ const paths = useBackofficePaths();
39
+ const target = resolveLinkTarget(row, paths);
40
+ return /* @__PURE__ */jsx(XStack, {
41
+ onPress: target.disabled ? void 0 : () => target.path && navigator.navigate(target.path),
42
+ disabled: target.disabled,
43
+ opacity: target.disabled ? 0.5 : 1,
44
+ cursor: target.disabled ? "default" : "pointer",
45
+ paddingVertical: "$1.5",
46
+ alignItems: "center",
47
+ role: "link",
48
+ "aria-label": row.label,
49
+ hoverStyle: target.disabled ? void 0 : {
50
+ backgroundColor: "$color3"
51
+ },
52
+ borderRadius: "$2",
53
+ children: /* @__PURE__ */jsx(SizableText, {
54
+ size: "$3",
55
+ color: target.disabled ? "$color10" : "$color12",
56
+ numberOfLines: 1,
57
+ flexShrink: 1,
58
+ hoverStyle: target.disabled ? void 0 : {
59
+ color: "$color12"
60
+ },
61
+ children: row.label
62
+ })
63
+ });
64
+ }
65
+ function WorkspaceLinkCard({
66
+ group
67
+ }) {
68
+ const {
69
+ knobProps
70
+ } = useResolvedKnobs();
71
+ const {
72
+ t
73
+ } = useTranslation(BACKOFFICE_I18N_NAMESPACE);
74
+ const {
75
+ views
76
+ } = useBackofficeCapabilities();
77
+ const isDoctypeAllowed = useIsDoctypeAllowed();
78
+ const visibleLinks = group.links.filter(row => {
79
+ if (row.link_type === "DocType" || row.link_type === "Report") {
80
+ if (!views.enabled) return false;
81
+ if (row.link_type === "DocType" && row.link_to && !isDoctypeAllowed(row.link_to)) {
82
+ return false;
83
+ }
84
+ }
85
+ return true;
86
+ });
87
+ return /* @__PURE__ */jsx(Card, {
88
+ flexGrow: 1,
89
+ height: "100%",
90
+ children: /* @__PURE__ */jsxs(YStack, {
91
+ ...knobProps.panelPadding,
92
+ ...knobProps.gap,
93
+ flex: 1,
94
+ children: [/* @__PURE__ */jsx(SizableText, {
95
+ size: "$2",
96
+ fontWeight: "600",
97
+ textTransform: "uppercase",
98
+ color: "$color11",
99
+ children: group.label
100
+ }), visibleLinks.length === 0 ? /* @__PURE__ */jsx(SizableText, {
101
+ size: "$2",
102
+ color: "$color10",
103
+ children: t("workspaceCardEmpty", "No links in this section")
104
+ }) : /* @__PURE__ */jsx(YStack, {
105
+ children: visibleLinks.map(row => /* @__PURE__ */jsx(LinkRow, {
106
+ row
107
+ }, row.name))
108
+ })]
109
+ })
110
+ });
111
+ }
112
+ export { WorkspaceLinkCard, resolveLinkTarget };
113
+ //# sourceMappingURL=WorkspaceLinkCard.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["Card","SizableText","XStack","YStack","useResolvedKnobs","useTranslation","useBackofficeCapabilities","useBackofficeNavigator","useBackofficePaths","useIsDoctypeAllowed","BACKOFFICE_I18N_NAMESPACE","createBackofficePaths","jsx","jsxs","defaultPaths","resolveLinkTarget","row","paths","target","link_to","disabled","prefix","base","link_type","path","list","LinkRow","navigator","onPress","navigate","opacity","cursor","paddingVertical","alignItems","role","label","hoverStyle","backgroundColor","borderRadius","children","size","color","numberOfLines","flexShrink","WorkspaceLinkCard","group","knobProps","t","views","isDoctypeAllowed","visibleLinks","links","filter","enabled","flexGrow","height","panelPadding","gap","flex","fontWeight","textTransform","length","map","name"],"sources":["../../../src/workspace/WorkspaceLinkCard.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,126 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { Card, SizableText, XStack, YStack } from "@multiplatform.one/components";
3
+ import { useResolvedKnobs } from "@multiplatform.one/theme";
4
+ import { useTranslation } from "react-i18next";
5
+ import { useBackofficeCapabilities, useBackofficeNavigator, useBackofficePaths, useIsDoctypeAllowed } from "../config/BackofficeProvider.native.js";
6
+ import { BACKOFFICE_I18N_NAMESPACE } from "../i18n/index.native.js";
7
+ import { createBackofficePaths } from "../navigation/paths.native.js";
8
+ var defaultPaths = createBackofficePaths();
9
+ function resolveLinkTarget(row) {
10
+ var paths = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : defaultPaths;
11
+ var _row_link_to;
12
+ var target = (_row_link_to = row.link_to) !== null && _row_link_to !== void 0 ? _row_link_to : "";
13
+ if (!target) return {
14
+ disabled: true
15
+ };
16
+ var prefix = paths.base === "/" ? "" : paths.base;
17
+ switch (row.link_type) {
18
+ case "DocType":
19
+ return {
20
+ path: paths.list(target)
21
+ };
22
+ case "Report":
23
+ return {
24
+ path: paths.list(target)
25
+ };
26
+ case "Page":
27
+ return {
28
+ path: `${prefix}/${target}`
29
+ };
30
+ default:
31
+ return {
32
+ disabled: true
33
+ };
34
+ }
35
+ }
36
+ function LinkRow(param) {
37
+ var {
38
+ row
39
+ } = param;
40
+ var navigator = useBackofficeNavigator();
41
+ var paths = useBackofficePaths();
42
+ var target = resolveLinkTarget(row, paths);
43
+ return /* @__PURE__ */_jsx(XStack, {
44
+ onPress: target.disabled ? void 0 : function () {
45
+ return target.path && navigator.navigate(target.path);
46
+ },
47
+ disabled: target.disabled,
48
+ opacity: target.disabled ? 0.5 : 1,
49
+ cursor: target.disabled ? "default" : "pointer",
50
+ paddingVertical: "$1.5",
51
+ alignItems: "center",
52
+ role: "link",
53
+ "aria-label": row.label,
54
+ hoverStyle: target.disabled ? void 0 : {
55
+ backgroundColor: "$color3"
56
+ },
57
+ borderRadius: "$2",
58
+ children: /* @__PURE__ */_jsx(SizableText, {
59
+ size: "$3",
60
+ color: target.disabled ? "$color10" : "$color12",
61
+ numberOfLines: 1,
62
+ flexShrink: 1,
63
+ hoverStyle: target.disabled ? void 0 : {
64
+ color: "$color12"
65
+ },
66
+ children: row.label
67
+ })
68
+ });
69
+ }
70
+ function WorkspaceLinkCard(param) {
71
+ var {
72
+ group
73
+ } = param;
74
+ var {
75
+ knobProps
76
+ } = useResolvedKnobs();
77
+ var {
78
+ t
79
+ } = useTranslation(BACKOFFICE_I18N_NAMESPACE);
80
+ var {
81
+ views
82
+ } = useBackofficeCapabilities();
83
+ var isDoctypeAllowed = useIsDoctypeAllowed();
84
+ var visibleLinks = group.links.filter(function (row) {
85
+ if (row.link_type === "DocType" || row.link_type === "Report") {
86
+ if (!views.enabled) return false;
87
+ if (row.link_type === "DocType" && row.link_to && !isDoctypeAllowed(row.link_to)) {
88
+ return false;
89
+ }
90
+ }
91
+ return true;
92
+ });
93
+ return /* @__PURE__ */_jsx(Card, {
94
+ flexGrow: 1,
95
+ height: "100%",
96
+ children: /* @__PURE__ */_jsxs(YStack, {
97
+ ...knobProps.panelPadding,
98
+ ...knobProps.gap,
99
+ flex: 1,
100
+ children: [
101
+ /* Catalog list-group caption (Sidebar section-label treatment):
102
+ small-caps muted label, no underline rule — a full-width rule
103
+ under uneven columns read as table chrome (Axiom 16). */
104
+ /* @__PURE__ */
105
+ _jsx(SizableText, {
106
+ size: "$2",
107
+ fontWeight: "600",
108
+ textTransform: "uppercase",
109
+ color: "$color11",
110
+ children: group.label
111
+ }), visibleLinks.length === 0 ? /* @__PURE__ */_jsx(SizableText, {
112
+ size: "$2",
113
+ color: "$color10",
114
+ children: t("workspaceCardEmpty", "No links in this section")
115
+ }) : /* @__PURE__ */_jsx(YStack, {
116
+ children: visibleLinks.map(function (row) {
117
+ return /* @__PURE__ */_jsx(LinkRow, {
118
+ row
119
+ }, row.name);
120
+ })
121
+ })]
122
+ })
123
+ });
124
+ }
125
+ export { WorkspaceLinkCard, resolveLinkTarget };
126
+ //# sourceMappingURL=WorkspaceLinkCard.native.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["jsx","_jsx","jsxs","_jsxs","Card","SizableText","XStack","YStack","useResolvedKnobs","useTranslation","useBackofficeCapabilities","useBackofficeNavigator","useBackofficePaths","useIsDoctypeAllowed","BACKOFFICE_I18N_NAMESPACE","createBackofficePaths","defaultPaths","resolveLinkTarget","row","paths","arguments","length","_row_link_to","target","link_to","disabled","prefix","base","link_type","path","list","LinkRow","param","navigator","onPress","navigate","opacity","cursor","paddingVertical","alignItems","role","label","hoverStyle","backgroundColor","borderRadius","children","size","color","numberOfLines","flexShrink","WorkspaceLinkCard","group","knobProps","t","views","isDoctypeAllowed","visibleLinks","links","filter","enabled"],"sources":["../../../src/workspace/WorkspaceLinkCard.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,84 @@
1
+ import { EmptyState, Accordion, YStack } from "@multiplatform.one/components";
2
+ import { SearchInput, useViewportGtSm } from "@multiplatform.one/forms";
3
+ import { useResolvedKnobs } from "@multiplatform.one/theme";
4
+ import { useMemo, useState } from "react";
5
+ import { useTranslation } from "react-i18next";
6
+ import { BACKOFFICE_I18N_NAMESPACE } from "../i18n/index.mjs";
7
+ import { WorkspaceGrid } from "./WorkspaceGrid.mjs";
8
+ import { WorkspaceLinkCard } from "./WorkspaceLinkCard.mjs";
9
+ import { jsx, jsxs } from "react/jsx-runtime";
10
+ const DIRECTORY_VALUE = "links";
11
+ function filterLinkGroup(group, query) {
12
+ const needle = query.trim().toLowerCase();
13
+ if (!needle) return group;
14
+ if (group.label.toLowerCase().includes(needle)) return group;
15
+ const links = group.links.filter(row => row.label.toLowerCase().includes(needle));
16
+ return links.length > 0 ? {
17
+ ...group,
18
+ links
19
+ } : void 0;
20
+ }
21
+ function WorkspaceLinkDirectory({
22
+ items
23
+ }) {
24
+ const {
25
+ t
26
+ } = useTranslation(BACKOFFICE_I18N_NAMESPACE);
27
+ const {
28
+ knobProps
29
+ } = useResolvedKnobs();
30
+ const viewportGtSm = useViewportGtSm();
31
+ const [filter, setFilter] = useState("");
32
+ const [openValue, setOpenValue] = useState(() => viewportGtSm ? DIRECTORY_VALUE : "");
33
+ const totalLinks = useMemo(() => items.reduce((sum, item) => sum + item.group.links.length, 0), [items]);
34
+ const filteredItems = useMemo(() => items.flatMap(item => {
35
+ const group = filterLinkGroup(item.group, filter);
36
+ if (!group) return [];
37
+ return [{
38
+ key: item.key,
39
+ col: item.col ?? 4,
40
+ node: /* @__PURE__ */jsx(WorkspaceLinkCard, {
41
+ group
42
+ })
43
+ }];
44
+ }), [items, filter]);
45
+ return /* @__PURE__ */jsx(Accordion, {
46
+ type: "single",
47
+ collapsible: true,
48
+ variant: "card",
49
+ value: openValue,
50
+ onValueChange: setOpenValue,
51
+ children: /* @__PURE__ */jsxs(Accordion.Item, {
52
+ value: DIRECTORY_VALUE,
53
+ children: [/* @__PURE__ */jsx(Accordion.Trigger, {
54
+ description: t("workspaceBrowseAllCount", {
55
+ count: totalLinks,
56
+ defaultValue_one: "{{count}} link",
57
+ defaultValue_other: "{{count}} links"
58
+ }),
59
+ children: t("workspaceBrowseAll", "Browse all")
60
+ }), /* @__PURE__ */jsx(Accordion.Content, {
61
+ children: /* @__PURE__ */jsxs(YStack, {
62
+ ...knobProps.gap,
63
+ children: [/* @__PURE__ */jsx(SearchInput, {
64
+ value: filter,
65
+ onChange: setFilter,
66
+ debounceMs: 0,
67
+ compact: true,
68
+ placeholder: t("workspaceFilterLinks", "Filter links..."),
69
+ "aria-label": t("workspaceFilterLinks", "Filter links...")
70
+ }), filteredItems.length === 0 ? /* @__PURE__ */jsx(EmptyState, {
71
+ compact: true,
72
+ title: t("workspaceFilterNoMatch", 'No links match "{{query}}"', {
73
+ query: filter.trim()
74
+ })
75
+ }) : /* @__PURE__ */jsx(WorkspaceGrid, {
76
+ items: filteredItems
77
+ })]
78
+ })
79
+ })]
80
+ })
81
+ });
82
+ }
83
+ export { WorkspaceLinkDirectory, filterLinkGroup };
84
+ //# sourceMappingURL=WorkspaceLinkDirectory.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["EmptyState","Accordion","YStack","SearchInput","useViewportGtSm","useResolvedKnobs","useMemo","useState","useTranslation","BACKOFFICE_I18N_NAMESPACE","WorkspaceGrid","WorkspaceLinkCard","jsx","jsxs","DIRECTORY_VALUE","filterLinkGroup","group","query","needle","trim","toLowerCase","label","includes","links","filter","row","length","WorkspaceLinkDirectory","items","t","knobProps","viewportGtSm","setFilter","openValue","setOpenValue","totalLinks","reduce","sum","item","filteredItems","flatMap","key","col","node","type","collapsible","variant","value","onValueChange","children","Item","Trigger","description","count","defaultValue_one","defaultValue_other","Content","gap","onChange","debounceMs","compact","placeholder","title"],"sources":["../../../src/workspace/WorkspaceLinkDirectory.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -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":[]}