@lokalise/harmony 2.1.0-exp-testingContracts.1 → 2.1.0-exp-testingContracts.3

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 (345) hide show
  1. package/dist/harmony.cjs +0 -1
  2. package/dist/harmony.cjs.map +1 -1
  3. package/dist/harmony.mjs +1 -2
  4. package/dist/harmony103.cjs +1 -1
  5. package/dist/harmony103.mjs +1 -1
  6. package/dist/harmony104.cjs +7 -7
  7. package/dist/harmony104.mjs +7 -7
  8. package/dist/harmony106.cjs +2 -2
  9. package/dist/harmony106.mjs +2 -2
  10. package/dist/harmony107.cjs +2 -165
  11. package/dist/harmony107.cjs.map +1 -1
  12. package/dist/harmony107.mjs +3 -166
  13. package/dist/harmony107.mjs.map +1 -1
  14. package/dist/harmony108.cjs +16 -42
  15. package/dist/harmony108.cjs.map +1 -1
  16. package/dist/harmony108.mjs +16 -42
  17. package/dist/harmony108.mjs.map +1 -1
  18. package/dist/harmony109.cjs +75 -13
  19. package/dist/harmony109.cjs.map +1 -1
  20. package/dist/harmony109.mjs +75 -13
  21. package/dist/harmony109.mjs.map +1 -1
  22. package/dist/harmony110.cjs +10 -10
  23. package/dist/harmony110.cjs.map +1 -1
  24. package/dist/harmony110.mjs +10 -10
  25. package/dist/harmony110.mjs.map +1 -1
  26. package/dist/harmony111.cjs +35 -13
  27. package/dist/harmony111.cjs.map +1 -1
  28. package/dist/harmony111.mjs +34 -12
  29. package/dist/harmony111.mjs.map +1 -1
  30. package/dist/harmony112.cjs +8 -10
  31. package/dist/harmony112.cjs.map +1 -1
  32. package/dist/harmony112.mjs +9 -11
  33. package/dist/harmony112.mjs.map +1 -1
  34. package/dist/harmony113.cjs +47 -21
  35. package/dist/harmony113.cjs.map +1 -1
  36. package/dist/harmony113.mjs +46 -20
  37. package/dist/harmony113.mjs.map +1 -1
  38. package/dist/harmony114.cjs +10 -4
  39. package/dist/harmony114.cjs.map +1 -1
  40. package/dist/harmony114.mjs +9 -3
  41. package/dist/harmony114.mjs.map +1 -1
  42. package/dist/harmony115.cjs +13 -17
  43. package/dist/harmony115.cjs.map +1 -1
  44. package/dist/harmony115.mjs +13 -17
  45. package/dist/harmony115.mjs.map +1 -1
  46. package/dist/harmony116.cjs +161 -71
  47. package/dist/harmony116.cjs.map +1 -1
  48. package/dist/harmony116.mjs +161 -71
  49. package/dist/harmony116.mjs.map +1 -1
  50. package/dist/harmony117.cjs +42 -10
  51. package/dist/harmony117.cjs.map +1 -1
  52. package/dist/harmony117.mjs +43 -11
  53. package/dist/harmony117.mjs.map +1 -1
  54. package/dist/harmony118.cjs +12 -34
  55. package/dist/harmony118.cjs.map +1 -1
  56. package/dist/harmony118.mjs +12 -34
  57. package/dist/harmony118.mjs.map +1 -1
  58. package/dist/harmony119.cjs +13 -10
  59. package/dist/harmony119.cjs.map +1 -1
  60. package/dist/harmony119.mjs +12 -9
  61. package/dist/harmony119.mjs.map +1 -1
  62. package/dist/harmony120.cjs +9 -45
  63. package/dist/harmony120.cjs.map +1 -1
  64. package/dist/harmony120.mjs +11 -47
  65. package/dist/harmony120.mjs.map +1 -1
  66. package/dist/harmony121.cjs +20 -8
  67. package/dist/harmony121.cjs.map +1 -1
  68. package/dist/harmony121.mjs +20 -8
  69. package/dist/harmony121.mjs.map +1 -1
  70. package/dist/harmony123.cjs +87 -7
  71. package/dist/harmony123.cjs.map +1 -1
  72. package/dist/harmony123.mjs +87 -7
  73. package/dist/harmony123.mjs.map +1 -1
  74. package/dist/harmony124.cjs +30 -17
  75. package/dist/harmony124.cjs.map +1 -1
  76. package/dist/harmony124.mjs +30 -17
  77. package/dist/harmony124.mjs.map +1 -1
  78. package/dist/harmony125.cjs +20 -8
  79. package/dist/harmony125.cjs.map +1 -1
  80. package/dist/harmony125.mjs +20 -8
  81. package/dist/harmony125.mjs.map +1 -1
  82. package/dist/harmony126.cjs +7 -8
  83. package/dist/harmony126.cjs.map +1 -1
  84. package/dist/harmony126.mjs +7 -8
  85. package/dist/harmony126.mjs.map +1 -1
  86. package/dist/harmony127.cjs +16 -14
  87. package/dist/harmony127.cjs.map +1 -1
  88. package/dist/harmony127.mjs +16 -14
  89. package/dist/harmony127.mjs.map +1 -1
  90. package/dist/harmony128.cjs +8 -20
  91. package/dist/harmony128.cjs.map +1 -1
  92. package/dist/harmony128.mjs +8 -20
  93. package/dist/harmony128.mjs.map +1 -1
  94. package/dist/harmony129.cjs +7 -86
  95. package/dist/harmony129.cjs.map +1 -1
  96. package/dist/harmony129.mjs +7 -86
  97. package/dist/harmony129.mjs.map +1 -1
  98. package/dist/harmony130.cjs +15 -30
  99. package/dist/harmony130.cjs.map +1 -1
  100. package/dist/harmony130.mjs +15 -30
  101. package/dist/harmony130.mjs.map +1 -1
  102. package/dist/harmony132.cjs +2 -2
  103. package/dist/harmony132.mjs +2 -2
  104. package/dist/harmony133.cjs +2 -2
  105. package/dist/harmony133.mjs +2 -2
  106. package/dist/harmony134.cjs +3 -3
  107. package/dist/harmony134.mjs +3 -3
  108. package/dist/harmony135.cjs +1 -1
  109. package/dist/harmony135.mjs +1 -1
  110. package/dist/harmony136.cjs +3 -3
  111. package/dist/harmony136.mjs +3 -3
  112. package/dist/harmony137.cjs +2 -2
  113. package/dist/harmony137.mjs +2 -2
  114. package/dist/harmony138.cjs +2 -2
  115. package/dist/harmony138.mjs +2 -2
  116. package/dist/harmony139.cjs +2 -2
  117. package/dist/harmony139.mjs +2 -2
  118. package/dist/harmony140.cjs +2 -2
  119. package/dist/harmony140.mjs +2 -2
  120. package/dist/harmony141.cjs +3 -3
  121. package/dist/harmony141.mjs +3 -3
  122. package/dist/harmony143.cjs +1 -1
  123. package/dist/harmony143.mjs +1 -1
  124. package/dist/harmony148.cjs +10 -3
  125. package/dist/harmony148.cjs.map +1 -1
  126. package/dist/harmony148.mjs +10 -3
  127. package/dist/harmony148.mjs.map +1 -1
  128. package/dist/harmony149.cjs +3 -3
  129. package/dist/harmony149.cjs.map +1 -1
  130. package/dist/harmony149.mjs +3 -3
  131. package/dist/harmony149.mjs.map +1 -1
  132. package/dist/harmony150.cjs +3 -3
  133. package/dist/harmony150.cjs.map +1 -1
  134. package/dist/harmony150.mjs +3 -3
  135. package/dist/harmony150.mjs.map +1 -1
  136. package/dist/harmony151.cjs +3 -14
  137. package/dist/harmony151.cjs.map +1 -1
  138. package/dist/harmony151.mjs +3 -14
  139. package/dist/harmony151.mjs.map +1 -1
  140. package/dist/harmony152.cjs +7 -7
  141. package/dist/harmony152.cjs.map +1 -1
  142. package/dist/harmony152.mjs +7 -7
  143. package/dist/harmony152.mjs.map +1 -1
  144. package/dist/harmony153.cjs +14 -3
  145. package/dist/harmony153.cjs.map +1 -1
  146. package/dist/harmony153.mjs +14 -3
  147. package/dist/harmony153.mjs.map +1 -1
  148. package/dist/harmony154.cjs +3 -10
  149. package/dist/harmony154.cjs.map +1 -1
  150. package/dist/harmony154.mjs +3 -10
  151. package/dist/harmony154.mjs.map +1 -1
  152. package/dist/harmony160.cjs +9 -32
  153. package/dist/harmony160.cjs.map +1 -1
  154. package/dist/harmony160.mjs +8 -31
  155. package/dist/harmony160.mjs.map +1 -1
  156. package/dist/harmony161.cjs +3 -6
  157. package/dist/harmony161.cjs.map +1 -1
  158. package/dist/harmony161.mjs +3 -6
  159. package/dist/harmony161.mjs.map +1 -1
  160. package/dist/harmony162.cjs +6 -3
  161. package/dist/harmony162.cjs.map +1 -1
  162. package/dist/harmony162.mjs +6 -3
  163. package/dist/harmony162.mjs.map +1 -1
  164. package/dist/harmony163.cjs +21 -6
  165. package/dist/harmony163.cjs.map +1 -1
  166. package/dist/harmony163.mjs +21 -6
  167. package/dist/harmony163.mjs.map +1 -1
  168. package/dist/harmony164.cjs +3 -21
  169. package/dist/harmony164.cjs.map +1 -1
  170. package/dist/harmony164.mjs +3 -21
  171. package/dist/harmony164.mjs.map +1 -1
  172. package/dist/harmony165.cjs +9 -3
  173. package/dist/harmony165.cjs.map +1 -1
  174. package/dist/harmony165.mjs +9 -3
  175. package/dist/harmony165.mjs.map +1 -1
  176. package/dist/harmony166.cjs +3 -9
  177. package/dist/harmony166.cjs.map +1 -1
  178. package/dist/harmony166.mjs +3 -9
  179. package/dist/harmony166.mjs.map +1 -1
  180. package/dist/harmony167.cjs +32 -6
  181. package/dist/harmony167.cjs.map +1 -1
  182. package/dist/harmony167.mjs +31 -5
  183. package/dist/harmony167.mjs.map +1 -1
  184. package/dist/harmony168.cjs +1 -1
  185. package/dist/harmony168.mjs +1 -1
  186. package/dist/harmony169.cjs +1 -1
  187. package/dist/harmony169.mjs +1 -1
  188. package/dist/harmony17.cjs +1 -1
  189. package/dist/harmony17.mjs +1 -1
  190. package/dist/harmony170.cjs +2 -2
  191. package/dist/harmony170.mjs +2 -2
  192. package/dist/harmony171.cjs +11 -4
  193. package/dist/harmony171.cjs.map +1 -1
  194. package/dist/harmony171.mjs +11 -4
  195. package/dist/harmony171.mjs.map +1 -1
  196. package/dist/harmony172.cjs +15 -10
  197. package/dist/harmony172.cjs.map +1 -1
  198. package/dist/harmony172.mjs +15 -10
  199. package/dist/harmony172.mjs.map +1 -1
  200. package/dist/harmony173.cjs +18 -13
  201. package/dist/harmony173.cjs.map +1 -1
  202. package/dist/harmony173.mjs +18 -13
  203. package/dist/harmony173.mjs.map +1 -1
  204. package/dist/harmony174.cjs +10 -19
  205. package/dist/harmony174.cjs.map +1 -1
  206. package/dist/harmony174.mjs +10 -19
  207. package/dist/harmony174.mjs.map +1 -1
  208. package/dist/harmony175.cjs +4 -12
  209. package/dist/harmony175.cjs.map +1 -1
  210. package/dist/harmony175.mjs +4 -12
  211. package/dist/harmony175.mjs.map +1 -1
  212. package/dist/harmony20.cjs +1 -1
  213. package/dist/harmony20.mjs +1 -1
  214. package/dist/harmony28.cjs +1 -1
  215. package/dist/harmony28.mjs +1 -1
  216. package/dist/harmony29.cjs +1 -1
  217. package/dist/harmony29.mjs +1 -1
  218. package/dist/harmony32.cjs +1 -1
  219. package/dist/harmony32.mjs +1 -1
  220. package/dist/harmony33.cjs +1 -1
  221. package/dist/harmony33.mjs +1 -1
  222. package/dist/harmony34.cjs +1 -1
  223. package/dist/harmony34.mjs +1 -1
  224. package/dist/harmony39.cjs +1 -1
  225. package/dist/harmony39.mjs +1 -1
  226. package/dist/harmony40.cjs +1 -1
  227. package/dist/harmony40.mjs +1 -1
  228. package/dist/harmony41.cjs +1 -1
  229. package/dist/harmony41.mjs +1 -1
  230. package/dist/harmony42.cjs +2 -2
  231. package/dist/harmony42.mjs +2 -2
  232. package/dist/harmony43.cjs +2 -2
  233. package/dist/harmony43.mjs +2 -2
  234. package/dist/harmony44.cjs +1 -1
  235. package/dist/harmony44.mjs +1 -1
  236. package/dist/harmony53.cjs +3 -3
  237. package/dist/harmony53.cjs.map +1 -1
  238. package/dist/harmony53.mjs +1 -1
  239. package/dist/harmony53.mjs.map +1 -1
  240. package/dist/harmony78.cjs +74 -74
  241. package/dist/harmony78.cjs.map +1 -1
  242. package/dist/harmony78.mjs +1 -1
  243. package/dist/harmony78.mjs.map +1 -1
  244. package/dist/harmony79.cjs +52 -52
  245. package/dist/harmony79.cjs.map +1 -1
  246. package/dist/harmony79.mjs +1 -1
  247. package/dist/harmony79.mjs.map +1 -1
  248. package/dist/harmony80.cjs +4 -4
  249. package/dist/harmony80.cjs.map +1 -1
  250. package/dist/harmony80.mjs +1 -1
  251. package/dist/harmony80.mjs.map +1 -1
  252. package/dist/harmony81.cjs +18 -18
  253. package/dist/harmony81.cjs.map +1 -1
  254. package/dist/harmony81.mjs +1 -1
  255. package/dist/harmony81.mjs.map +1 -1
  256. package/dist/harmony82.cjs +15 -15
  257. package/dist/harmony82.cjs.map +1 -1
  258. package/dist/harmony82.mjs +1 -1
  259. package/dist/harmony82.mjs.map +1 -1
  260. package/dist/harmony83.cjs +96 -96
  261. package/dist/harmony83.cjs.map +1 -1
  262. package/dist/harmony83.mjs +1 -1
  263. package/dist/harmony83.mjs.map +1 -1
  264. package/dist/harmony84.cjs +24 -24
  265. package/dist/harmony84.cjs.map +1 -1
  266. package/dist/harmony84.mjs +1 -1
  267. package/dist/harmony84.mjs.map +1 -1
  268. package/dist/harmony85.cjs +14 -14
  269. package/dist/harmony85.cjs.map +1 -1
  270. package/dist/harmony85.mjs +1 -1
  271. package/dist/harmony85.mjs.map +1 -1
  272. package/dist/harmony86.cjs +2 -2
  273. package/dist/harmony86.cjs.map +1 -1
  274. package/dist/harmony86.mjs +1 -1
  275. package/dist/harmony86.mjs.map +1 -1
  276. package/dist/harmony87.cjs +40 -40
  277. package/dist/harmony87.cjs.map +1 -1
  278. package/dist/harmony87.mjs +1 -1
  279. package/dist/harmony87.mjs.map +1 -1
  280. package/dist/harmony88.cjs +27 -27
  281. package/dist/harmony88.cjs.map +1 -1
  282. package/dist/harmony88.mjs +1 -1
  283. package/dist/harmony88.mjs.map +1 -1
  284. package/dist/harmony89.cjs +10 -10
  285. package/dist/harmony89.cjs.map +1 -1
  286. package/dist/harmony89.mjs +1 -1
  287. package/dist/harmony89.mjs.map +1 -1
  288. package/dist/harmony90.cjs +1 -3
  289. package/dist/harmony90.cjs.map +1 -1
  290. package/dist/harmony90.mjs +2 -4
  291. package/dist/harmony90.mjs.map +1 -1
  292. package/dist/harmony97.cjs +2 -2
  293. package/dist/harmony97.mjs +2 -2
  294. package/dist/harmony99.cjs +2 -2
  295. package/dist/harmony99.mjs +2 -2
  296. package/dist/types/src/features/auth/core/types/jwtTokenPayload.d.ts +8 -35
  297. package/dist/types/src/features/auth/core/types/jwtTokenPayload.fixture.d.ts +1 -1
  298. package/dist/types/src/features/auth/frontend/hooks/useAuthenticatedProjectContributor.d.ts +4 -4
  299. package/dist/types/src/features/auth/frontend/hooks/useAuthenticatedUser.d.ts +3 -3
  300. package/dist/types/src/features/auth/frontend/hooks/useGetPromotedClassicSessionJwtQuery.d.ts +1 -1
  301. package/dist/types/src/features/auth/frontend/services/generateTokenFromClassicSession.d.ts +4 -1
  302. package/dist/types/src/features/auth/frontend/services/refreshExpiredToken.d.ts +4 -1
  303. package/dist/types/src/features/navigation/hooks/useNavigationQueries.d.ts +56 -56
  304. package/dist/types/src/features/publicApi/TESTING_CONTRACTS.d.ts +57 -2
  305. package/dist/types/src/features/publicApi/contributors.d.ts +260 -5
  306. package/dist/types/src/features/publicApi/hooks/useAddContributorsMutation.d.ts +7 -7
  307. package/dist/types/src/features/publicApi/hooks/useAddLanguagesToProjectMutation.d.ts +2 -2
  308. package/dist/types/src/features/publicApi/hooks/useCreateProjectMutation.d.ts +14 -14
  309. package/dist/types/src/features/publicApi/hooks/useCreateScoreMutation.d.ts +3 -3
  310. package/dist/types/src/features/publicApi/hooks/useGetProjectPermissionMetaQuery.d.ts +1 -1
  311. package/dist/types/src/features/publicApi/hooks/useGetScoreQuery.d.ts +1 -1
  312. package/dist/types/src/features/publicApi/hooks/useGetTeamUsersQuery.d.ts +1 -1
  313. package/dist/types/src/features/publicApi/hooks/useGetUserTokenQuery.d.ts +1 -1
  314. package/dist/types/src/features/publicApi/hooks/useListContributorsQuery.d.ts +1 -1
  315. package/dist/types/src/features/publicApi/hooks/useListPermissionTemplates.d.ts +1 -1
  316. package/dist/types/src/features/publicApi/hooks/useListProjectLanguagesQuery.d.ts +1 -1
  317. package/dist/types/src/features/publicApi/hooks/useListProjectsQuery.d.ts +2 -2
  318. package/dist/types/src/features/publicApi/hooks/useListTeamUsersQuery.d.ts +1 -1
  319. package/dist/types/src/features/publicApi/hooks/useListTeamsQuery.d.ts +2 -2
  320. package/dist/types/src/features/publicApi/hooks/useRetrieveContributorQuery.d.ts +3 -3
  321. package/dist/types/src/features/publicApi/hooks/useRetrieveProjectQuery.d.ts +1 -1
  322. package/dist/types/src/features/publicApi/hooks/useRetrieveTeamQuery.d.ts +1 -1
  323. package/dist/types/src/features/publicApi/hooks/useRetrieveUserPermissions.d.ts +2 -2
  324. package/dist/types/src/features/publicApi/hooks/useUpdateContributorMutation.d.ts +5 -5
  325. package/dist/types/src/features/publicApi/hooks/useUpdateProjectMutation.d.ts +13 -13
  326. package/dist/types/src/features/publicApi/languages.d.ts +106 -3
  327. package/dist/types/src/features/publicApi/permissionTemplates.d.ts +54 -1
  328. package/dist/types/src/features/publicApi/projects.d.ts +520 -6
  329. package/dist/types/src/features/publicApi/score.d.ts +102 -3
  330. package/dist/types/src/features/publicApi/team.d.ts +102 -2
  331. package/dist/types/src/features/publicApi/teamUsers.d.ts +125 -3
  332. package/dist/types/src/features/publicApi/types/contributorTypes.d.ts +84 -834
  333. package/dist/types/src/features/publicApi/types/languageTypes.d.ts +22 -212
  334. package/dist/types/src/features/publicApi/types/paginationTypes.d.ts +2 -8
  335. package/dist/types/src/features/publicApi/types/permissionTemplateTypes.d.ts +71 -76
  336. package/dist/types/src/features/publicApi/types/permissionTypes.d.ts +48 -24
  337. package/dist/types/src/features/publicApi/types/projectTypes.d.ts +211 -1097
  338. package/dist/types/src/features/publicApi/types/scoreTypes.d.ts +32 -96
  339. package/dist/types/src/features/publicApi/types/sharedTypes.d.ts +30 -126
  340. package/dist/types/src/features/publicApi/types/teamRoleTypes.d.ts +7 -2
  341. package/dist/types/src/features/publicApi/types/teamTypes.d.ts +65 -328
  342. package/dist/types/src/features/publicApi/types/teamUserTypes.d.ts +91 -208
  343. package/dist/types/src/features/publicApi/types/userTokenTypes.d.ts +9 -39
  344. package/dist/types/src/features/publicApi/userToken.d.ts +19 -1
  345. package/package.json +4 -4
@@ -1 +1 @@
1
- {"version":3,"file":"harmony129.mjs","sources":["../src/features/navigation/utils/toolbarVisibility.ts"],"sourcesContent":["import { hasAdminRight, hasAnyAdminRight } from '@features/auth/utils/permissions'\nimport type { Project } from '@features/node'\n\ntype ToolbarVisibility = {\n\tdisabled: boolean\n\tvisible: boolean\n}\n\nexport type ToolbarVisibilityMap = {\n\tupload: ToolbarVisibility\n\tdownload: ToolbarVisibility\n\tapps: ToolbarVisibility\n\tcontentManagement: ToolbarVisibility\n\teditor: ToolbarVisibility\n\tfiles: ToolbarVisibility\n\ttasks: ToolbarVisibility\n\tworkflows: ToolbarVisibility\n\tcontributors: ToolbarVisibility\n\tscreenshots: ToolbarVisibility\n\tglossary: ToolbarVisibility\n\tmore: ToolbarVisibility\n\tsettings: ToolbarVisibility\n\tbranches: ToolbarVisibility\n\totaBundles: ToolbarVisibility\n\tautomations: ToolbarVisibility\n\tduplicateFinder: ToolbarVisibility\n\tactivity: ToolbarVisibility\n\tstatistics: ToolbarVisibility\n}\n\nexport const getProjectNavigationVisibilityMap = (\n\tproject: Project,\n\tadminRights: string[],\n\tisFeatureEnabled: (key: string) => boolean,\n): ToolbarVisibilityMap => ({\n\tupload: {\n\t\tvisible: hasAdminRight(adminRights, 'upload'),\n\t\tdisabled: false,\n\t},\n\tdownload: {\n\t\tvisible: hasAdminRight(adminRights, 'download'),\n\t\tdisabled: false,\n\t},\n\t// TODO: HOME-1009, Clean up after permission management\n\t// -- There is a plan for \"Install apps\" permission. Right..?\n\tapps: {\n\t\tvisible: true,\n\t\tdisabled: false,\n\t},\n\t// TODO: HOME-1009, Clean up after permission management\n\t// -- There is a plan for \"Install apps\" permission. Right..?\n\tcontentManagement: {\n\t\tvisible: project.project_type === 'content_integration' && hasAdminRight(adminRights, 'keys'),\n\t\tdisabled: false,\n\t},\n\teditor: {\n\t\tvisible: true,\n\t\tdisabled: false,\n\t},\n\tfiles: {\n\t\tvisible:\n\t\t\tisFeatureEnabled('lionLfcFilesManagement') &&\n\t\t\tproject.project_type === 'paged_documents' &&\n\t\t\thasAnyAdminRight(adminRights, ['upload', 'download']),\n\t\tdisabled: false,\n\t},\n\ttasks: {\n\t\tvisible: hasAdminRight(adminRights, 'tasks'),\n\t\tdisabled: false,\n\t},\n\tcontributors: {\n\t\tvisible: hasAdminRight(adminRights, 'contributors'),\n\t\tdisabled: false,\n\t},\n\tworkflows: {\n\t\tvisible: hasAdminRight(adminRights, 'settings'),\n\t\tdisabled: false,\n\t},\n\tscreenshots: {\n\t\tvisible: hasAdminRight(adminRights, 'screenshots'),\n\t\tdisabled: false,\n\t},\n\tglossary: {\n\t\tvisible: hasAdminRight(adminRights, 'glossary'),\n\t\tdisabled: false,\n\t},\n\tmore: {\n\t\tvisible: true,\n\t\tdisabled: false,\n\t},\n\tsettings: {\n\t\tvisible: hasAdminRight(adminRights, 'settings'),\n\t\tdisabled: false,\n\t},\n\tbranches: {\n\t\tvisible:\n\t\t\t!!project.settings?.branching &&\n\t\t\thasAnyAdminRight(adminRights, ['branches_create', 'create_branches', 'branches_merge']),\n\t\tdisabled: false,\n\t},\n\totaBundles: {\n\t\tvisible:\n\t\t\thasAnyAdminRight(adminRights, ['download', 'settings', 'keys']) &&\n\t\t\tproject.project_type === 'localization_files',\n\t\tdisabled: false,\n\t},\n\tautomations: {\n\t\tvisible: hasAdminRight(adminRights, 'settings'),\n\t\tdisabled: false,\n\t},\n\tduplicateFinder: {\n\t\tvisible: hasAdminRight(adminRights, 'keys') && project.project_type === 'localization_files',\n\t\tdisabled: false,\n\t},\n\tactivity: {\n\t\tvisible: !!project.settings?.offline_translation || hasAdminRight(adminRights, 'activity'),\n\t\tdisabled: false,\n\t},\n\tstatistics: {\n\t\tvisible: hasAdminRight(adminRights, 'statistics'),\n\t\tdisabled: false,\n\t},\n})\n"],"names":[],"mappings":";AA8BO,MAAM,oCAAoC,CAChD,SACA,aACA,qBAC2B;;AAAA;AAAA,IAC3B,QAAQ;AAAA,MACP,SAAS,cAAc,aAAa,QAAQ;AAAA,MAC5C,UAAU;AAAA,IACX;AAAA,IACA,UAAU;AAAA,MACT,SAAS,cAAc,aAAa,UAAU;AAAA,MAC9C,UAAU;AAAA,IACX;AAAA;AAAA;AAAA,IAGA,MAAM;AAAA,MACL,SAAS;AAAA,MACT,UAAU;AAAA,IACX;AAAA;AAAA;AAAA,IAGA,mBAAmB;AAAA,MAClB,SAAS,QAAQ,iBAAiB,yBAAyB,cAAc,aAAa,MAAM;AAAA,MAC5F,UAAU;AAAA,IACX;AAAA,IACA,QAAQ;AAAA,MACP,SAAS;AAAA,MACT,UAAU;AAAA,IACX;AAAA,IACA,OAAO;AAAA,MACN,SACC,iBAAiB,wBAAwB,KACzC,QAAQ,iBAAiB,qBACzB,iBAAiB,aAAa,CAAC,UAAU,UAAU,CAAC;AAAA,MACrD,UAAU;AAAA,IACX;AAAA,IACA,OAAO;AAAA,MACN,SAAS,cAAc,aAAa,OAAO;AAAA,MAC3C,UAAU;AAAA,IACX;AAAA,IACA,cAAc;AAAA,MACb,SAAS,cAAc,aAAa,cAAc;AAAA,MAClD,UAAU;AAAA,IACX;AAAA,IACA,WAAW;AAAA,MACV,SAAS,cAAc,aAAa,UAAU;AAAA,MAC9C,UAAU;AAAA,IACX;AAAA,IACA,aAAa;AAAA,MACZ,SAAS,cAAc,aAAa,aAAa;AAAA,MACjD,UAAU;AAAA,IACX;AAAA,IACA,UAAU;AAAA,MACT,SAAS,cAAc,aAAa,UAAU;AAAA,MAC9C,UAAU;AAAA,IACX;AAAA,IACA,MAAM;AAAA,MACL,SAAS;AAAA,MACT,UAAU;AAAA,IACX;AAAA,IACA,UAAU;AAAA,MACT,SAAS,cAAc,aAAa,UAAU;AAAA,MAC9C,UAAU;AAAA,IACX;AAAA,IACA,UAAU;AAAA,MACT,SACC,CAAC,GAAC,aAAQ,aAAR,mBAAkB,cACpB,iBAAiB,aAAa,CAAC,mBAAmB,mBAAmB,gBAAgB,CAAC;AAAA,MACvF,UAAU;AAAA,IACX;AAAA,IACA,YAAY;AAAA,MACX,SACC,iBAAiB,aAAa,CAAC,YAAY,YAAY,MAAM,CAAC,KAC9D,QAAQ,iBAAiB;AAAA,MAC1B,UAAU;AAAA,IACX;AAAA,IACA,aAAa;AAAA,MACZ,SAAS,cAAc,aAAa,UAAU;AAAA,MAC9C,UAAU;AAAA,IACX;AAAA,IACA,iBAAiB;AAAA,MAChB,SAAS,cAAc,aAAa,MAAM,KAAK,QAAQ,iBAAiB;AAAA,MACxE,UAAU;AAAA,IACX;AAAA,IACA,UAAU;AAAA,MACT,SAAS,CAAC,GAAC,aAAQ,aAAR,mBAAkB,wBAAuB,cAAc,aAAa,UAAU;AAAA,MACzF,UAAU;AAAA,IACX;AAAA,IACA,YAAY;AAAA,MACX,SAAS,cAAc,aAAa,YAAY;AAAA,MAChD,UAAU;AAAA,IAAA;AAAA,EAEZ;AAAA;"}
1
+ {"version":3,"file":"harmony129.mjs","sources":["../src/features/permissions/utils/has.ts"],"sourcesContent":["export const has = <T extends string>(seed: T | T[] | undefined, ...items: T[]) => {\n\tif (!seed) return false\n\tif (items.length === 0) return false\n\tconst seedArray = Array.isArray(seed) ? seed : [seed]\n\tif (seedArray.length === 0) return false\n\treturn items.every((item) => seedArray.includes(item))\n}\n"],"names":[],"mappings":"AAAa,MAAA,MAAM,CAAmB,SAA8B,UAAe;AAC9E,MAAA,CAAC,KAAa,QAAA;AACd,MAAA,MAAM,WAAW,EAAU,QAAA;AAC/B,QAAM,YAAY,MAAM,QAAQ,IAAI,IAAI,OAAO,CAAC,IAAI;AAChD,MAAA,UAAU,WAAW,EAAU,QAAA;AACnC,SAAO,MAAM,MAAM,CAAC,SAAS,UAAU,SAAS,IAAI,CAAC;AACtD;"}
@@ -1,33 +1,18 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const navigationItems = [
4
- {
5
- key: "editor",
6
- labelKey: "Editor",
7
- path: ({ projectId }) => `/project/${projectId}/editor`
8
- },
9
- {
10
- key: "dashboard",
11
- labelKey: "Download",
12
- path: ({ projectId }) => `/project/${projectId}/dashboard`
13
- },
14
- {
15
- key: "contributors",
16
- labelKey: "Contributors",
17
- path: ({ projectId }) => `/project/${projectId}/contributors`
18
- },
19
- {
20
- key: "orders",
21
- labelKey: "Human proofreading",
22
- path: ({ projectId }) => `/project/${projectId}/orders`,
23
- shouldShow: ({ flags }) => flags.ap_feature_hraas === "on"
24
- },
25
- {
26
- key: "billing",
27
- labelKey: "Billing",
28
- path: ({ projectId }) => `/project/${projectId}/billing`,
29
- shouldShow: ({ flags }) => flags.ap_feature_billing === "on"
30
- }
31
- ];
32
- exports.navigationItems = navigationItems;
3
+ const accessMarketingProjects = require("./harmony149.cjs");
4
+ const deleteProjects = require("./harmony150.cjs");
5
+ const manageContributors = require("./harmony151.cjs");
6
+ const canDownloadFiles = require("./harmony152.cjs");
7
+ const canUploadFiles = require("./harmony153.cjs");
8
+ const createProjects = require("./harmony154.cjs");
9
+ const actionResolvers = {
10
+ accessMarketingProjects: accessMarketingProjects.accessMarketingProjects,
11
+ canDownloadFiles: canDownloadFiles.canDownloadFiles,
12
+ canUploadFiles: canUploadFiles.canUploadFiles,
13
+ createProjects: createProjects.createProjects,
14
+ deleteProjects: deleteProjects.deleteProjects,
15
+ manageContributors: manageContributors.manageContributors
16
+ };
17
+ exports.actionResolvers = actionResolvers;
33
18
  //# sourceMappingURL=harmony130.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"harmony130.cjs","sources":["../src/features/navigation/schemas/navigationSchema.ts"],"sourcesContent":["import type { DropdownItem, NavItemIcon } from '@features/navigation/types/navigation'\n\nexport type NavKey = 'editor' | 'contributors' | 'orders' | 'billing' | 'settings' | 'dashboard'\n\nexport interface NavigationItem {\n\tkey: NavKey\n\tlabelKey: string // TODO: i18n key inside this package\n\tpath: ({ projectId }: { projectId: string }) => string\n\n\ticon?: NavItemIcon\n\tdropdown?: DropdownItem[][]\n\tbadge?: number | ((ctx: NavCtx) => number)\n\n\tshouldShow?: (ctx: NavCtx) => boolean\n\tdisabled?: boolean | ((ctx: NavCtx) => boolean)\n\tisActive?: (pathname: string) => boolean // custom match, else fallback\n}\n\n/** What the gate functions receive */\nexport interface NavCtx {\n\tflags: Record<string, string>\n\tpathname: string\n\tpermissions?: Array<string> // e.g. contributor admin_rights //TODO: Provide type for permissions\n}\n\n// TODO: Handle Translations on harmony side.\nexport const navigationItems: NavigationItem[] = [\n\t{\n\t\tkey: 'editor',\n\t\tlabelKey: 'Editor',\n\t\tpath: ({ projectId }) => `/project/${projectId}/editor`,\n\t},\n\t{\n\t\tkey: 'dashboard',\n\t\tlabelKey: 'Download',\n\t\tpath: ({ projectId }) => `/project/${projectId}/dashboard`,\n\t},\n\t{\n\t\tkey: 'contributors',\n\t\tlabelKey: 'Contributors',\n\t\tpath: ({ projectId }) => `/project/${projectId}/contributors`,\n\t},\n\n\t{\n\t\tkey: 'orders',\n\t\tlabelKey: 'Human proofreading',\n\t\tpath: ({ projectId }) => `/project/${projectId}/orders`,\n\t\tshouldShow: ({ flags }) => flags.ap_feature_hraas === 'on',\n\t},\n\t{\n\t\tkey: 'billing',\n\t\tlabelKey: 'Billing',\n\t\tpath: ({ projectId }) => `/project/${projectId}/billing`,\n\t\tshouldShow: ({ flags }) => flags.ap_feature_billing === 'on',\n\t},\n]\n"],"names":[],"mappings":";;AA0BO,MAAM,kBAAoC;AAAA,EAChD;AAAA,IACC,KAAK;AAAA,IACL,UAAU;AAAA,IACV,MAAM,CAAC,EAAE,UAAU,MAAM,YAAY,SAAS;AAAA,EAC/C;AAAA,EACA;AAAA,IACC,KAAK;AAAA,IACL,UAAU;AAAA,IACV,MAAM,CAAC,EAAE,UAAU,MAAM,YAAY,SAAS;AAAA,EAC/C;AAAA,EACA;AAAA,IACC,KAAK;AAAA,IACL,UAAU;AAAA,IACV,MAAM,CAAC,EAAE,UAAU,MAAM,YAAY,SAAS;AAAA,EAC/C;AAAA,EAEA;AAAA,IACC,KAAK;AAAA,IACL,UAAU;AAAA,IACV,MAAM,CAAC,EAAE,UAAU,MAAM,YAAY,SAAS;AAAA,IAC9C,YAAY,CAAC,EAAE,YAAY,MAAM,qBAAqB;AAAA,EACvD;AAAA,EACA;AAAA,IACC,KAAK;AAAA,IACL,UAAU;AAAA,IACV,MAAM,CAAC,EAAE,UAAU,MAAM,YAAY,SAAS;AAAA,IAC9C,YAAY,CAAC,EAAE,YAAY,MAAM,uBAAuB;AAAA,EAAA;AAE1D;;"}
1
+ {"version":3,"file":"harmony130.cjs","sources":["../src/features/permissions/action.ts"],"sourcesContent":["import { accessMarketingProjects } from '@features/permissions/action-resolvers/accessMarketingProjects'\nimport { deleteProjects } from '@features/permissions/action-resolvers/deleteProjects'\nimport { manageContributors } from '@features/permissions/action-resolvers/manageContributors'\nimport { canDownloadFiles } from './action-resolvers/canDownloadFiles'\nimport { canUploadFiles } from './action-resolvers/canUploadFiles'\nimport { createProjects } from './action-resolvers/createProjects'\nimport type { ActionResolver } from './types'\n\nexport const actionResolvers = {\n\taccessMarketingProjects,\n\tcanDownloadFiles,\n\tcanUploadFiles,\n\tcreateProjects,\n\tdeleteProjects,\n\tmanageContributors,\n} satisfies Record<string, ActionResolver>\n\nexport type Action = keyof typeof actionResolvers\n"],"names":["accessMarketingProjects","canDownloadFiles","canUploadFiles","createProjects","deleteProjects","manageContributors"],"mappings":";;;;;;;;AAQO,MAAM,kBAAkB;AAAA,EAAA,yBAC9BA,wBAAA;AAAA,EAAA,kBACAC,iBAAA;AAAA,EAAA,gBACAC,eAAA;AAAA,EAAA,gBACAC,eAAA;AAAA,EAAA,gBACAC,eAAA;AAAA,EACAC,oBAAAA,mBAAAA;AACD;;"}
@@ -1,33 +1,18 @@
1
- const navigationItems = [
2
- {
3
- key: "editor",
4
- labelKey: "Editor",
5
- path: ({ projectId }) => `/project/${projectId}/editor`
6
- },
7
- {
8
- key: "dashboard",
9
- labelKey: "Download",
10
- path: ({ projectId }) => `/project/${projectId}/dashboard`
11
- },
12
- {
13
- key: "contributors",
14
- labelKey: "Contributors",
15
- path: ({ projectId }) => `/project/${projectId}/contributors`
16
- },
17
- {
18
- key: "orders",
19
- labelKey: "Human proofreading",
20
- path: ({ projectId }) => `/project/${projectId}/orders`,
21
- shouldShow: ({ flags }) => flags.ap_feature_hraas === "on"
22
- },
23
- {
24
- key: "billing",
25
- labelKey: "Billing",
26
- path: ({ projectId }) => `/project/${projectId}/billing`,
27
- shouldShow: ({ flags }) => flags.ap_feature_billing === "on"
28
- }
29
- ];
1
+ import { accessMarketingProjects } from "./harmony149.mjs";
2
+ import { deleteProjects } from "./harmony150.mjs";
3
+ import { manageContributors } from "./harmony151.mjs";
4
+ import { canDownloadFiles } from "./harmony152.mjs";
5
+ import { canUploadFiles } from "./harmony153.mjs";
6
+ import { createProjects } from "./harmony154.mjs";
7
+ const actionResolvers = {
8
+ accessMarketingProjects,
9
+ canDownloadFiles,
10
+ canUploadFiles,
11
+ createProjects,
12
+ deleteProjects,
13
+ manageContributors
14
+ };
30
15
  export {
31
- navigationItems
16
+ actionResolvers
32
17
  };
33
18
  //# sourceMappingURL=harmony130.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"harmony130.mjs","sources":["../src/features/navigation/schemas/navigationSchema.ts"],"sourcesContent":["import type { DropdownItem, NavItemIcon } from '@features/navigation/types/navigation'\n\nexport type NavKey = 'editor' | 'contributors' | 'orders' | 'billing' | 'settings' | 'dashboard'\n\nexport interface NavigationItem {\n\tkey: NavKey\n\tlabelKey: string // TODO: i18n key inside this package\n\tpath: ({ projectId }: { projectId: string }) => string\n\n\ticon?: NavItemIcon\n\tdropdown?: DropdownItem[][]\n\tbadge?: number | ((ctx: NavCtx) => number)\n\n\tshouldShow?: (ctx: NavCtx) => boolean\n\tdisabled?: boolean | ((ctx: NavCtx) => boolean)\n\tisActive?: (pathname: string) => boolean // custom match, else fallback\n}\n\n/** What the gate functions receive */\nexport interface NavCtx {\n\tflags: Record<string, string>\n\tpathname: string\n\tpermissions?: Array<string> // e.g. contributor admin_rights //TODO: Provide type for permissions\n}\n\n// TODO: Handle Translations on harmony side.\nexport const navigationItems: NavigationItem[] = [\n\t{\n\t\tkey: 'editor',\n\t\tlabelKey: 'Editor',\n\t\tpath: ({ projectId }) => `/project/${projectId}/editor`,\n\t},\n\t{\n\t\tkey: 'dashboard',\n\t\tlabelKey: 'Download',\n\t\tpath: ({ projectId }) => `/project/${projectId}/dashboard`,\n\t},\n\t{\n\t\tkey: 'contributors',\n\t\tlabelKey: 'Contributors',\n\t\tpath: ({ projectId }) => `/project/${projectId}/contributors`,\n\t},\n\n\t{\n\t\tkey: 'orders',\n\t\tlabelKey: 'Human proofreading',\n\t\tpath: ({ projectId }) => `/project/${projectId}/orders`,\n\t\tshouldShow: ({ flags }) => flags.ap_feature_hraas === 'on',\n\t},\n\t{\n\t\tkey: 'billing',\n\t\tlabelKey: 'Billing',\n\t\tpath: ({ projectId }) => `/project/${projectId}/billing`,\n\t\tshouldShow: ({ flags }) => flags.ap_feature_billing === 'on',\n\t},\n]\n"],"names":[],"mappings":"AA0BO,MAAM,kBAAoC;AAAA,EAChD;AAAA,IACC,KAAK;AAAA,IACL,UAAU;AAAA,IACV,MAAM,CAAC,EAAE,UAAU,MAAM,YAAY,SAAS;AAAA,EAC/C;AAAA,EACA;AAAA,IACC,KAAK;AAAA,IACL,UAAU;AAAA,IACV,MAAM,CAAC,EAAE,UAAU,MAAM,YAAY,SAAS;AAAA,EAC/C;AAAA,EACA;AAAA,IACC,KAAK;AAAA,IACL,UAAU;AAAA,IACV,MAAM,CAAC,EAAE,UAAU,MAAM,YAAY,SAAS;AAAA,EAC/C;AAAA,EAEA;AAAA,IACC,KAAK;AAAA,IACL,UAAU;AAAA,IACV,MAAM,CAAC,EAAE,UAAU,MAAM,YAAY,SAAS;AAAA,IAC9C,YAAY,CAAC,EAAE,YAAY,MAAM,qBAAqB;AAAA,EACvD;AAAA,EACA;AAAA,IACC,KAAK;AAAA,IACL,UAAU;AAAA,IACV,MAAM,CAAC,EAAE,UAAU,MAAM,YAAY,SAAS;AAAA,IAC9C,YAAY,CAAC,EAAE,YAAY,MAAM,uBAAuB;AAAA,EAAA;AAE1D;"}
1
+ {"version":3,"file":"harmony130.mjs","sources":["../src/features/permissions/action.ts"],"sourcesContent":["import { accessMarketingProjects } from '@features/permissions/action-resolvers/accessMarketingProjects'\nimport { deleteProjects } from '@features/permissions/action-resolvers/deleteProjects'\nimport { manageContributors } from '@features/permissions/action-resolvers/manageContributors'\nimport { canDownloadFiles } from './action-resolvers/canDownloadFiles'\nimport { canUploadFiles } from './action-resolvers/canUploadFiles'\nimport { createProjects } from './action-resolvers/createProjects'\nimport type { ActionResolver } from './types'\n\nexport const actionResolvers = {\n\taccessMarketingProjects,\n\tcanDownloadFiles,\n\tcanUploadFiles,\n\tcreateProjects,\n\tdeleteProjects,\n\tmanageContributors,\n} satisfies Record<string, ActionResolver>\n\nexport type Action = keyof typeof actionResolvers\n"],"names":[],"mappings":";;;;;;AAQO,MAAM,kBAAkB;AAAA,EAC9B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACD;"}
@@ -1,9 +1,9 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
3
  const jsxRuntime = require("react/jsx-runtime");
4
- const useSidebar = require("./harmony117.cjs");
4
+ const useSidebar = require("./harmony110.cjs");
5
5
  const louis = require("@lokalise/louis");
6
- const permissions = require("./harmony118.cjs");
6
+ const permissions = require("./harmony111.cjs");
7
7
  const BillingMenuItem = () => {
8
8
  const { jwt } = useSidebar.useSidebar();
9
9
  if (!permissions.canChangeBilling(jwt)) {
@@ -1,7 +1,7 @@
1
1
  import { jsx } from "react/jsx-runtime";
2
- import { useSidebar } from "./harmony117.mjs";
2
+ import { useSidebar } from "./harmony110.mjs";
3
3
  import { MenuItem } from "@lokalise/louis";
4
- import { canChangeBilling } from "./harmony118.mjs";
4
+ import { canChangeBilling } from "./harmony111.mjs";
5
5
  const BillingMenuItem = () => {
6
6
  const { jwt } = useSidebar();
7
7
  if (!canChangeBilling(jwt)) {
@@ -1,9 +1,9 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
3
  const jsxRuntime = require("react/jsx-runtime");
4
- const useSidebar = require("./harmony117.cjs");
4
+ const useSidebar = require("./harmony110.cjs");
5
5
  const louis = require("@lokalise/louis");
6
- const permissions = require("./harmony118.cjs");
6
+ const permissions = require("./harmony111.cjs");
7
7
  const CreateNewTeam = ({ onCreateTeam }) => {
8
8
  const { jwt } = useSidebar.useSidebar();
9
9
  if (!permissions.canCreateTeam(jwt)) {
@@ -1,7 +1,7 @@
1
1
  import { jsxs, Fragment, jsx } from "react/jsx-runtime";
2
- import { useSidebar } from "./harmony117.mjs";
2
+ import { useSidebar } from "./harmony110.mjs";
3
3
  import { MenuItem, MenuDivider } from "@lokalise/louis";
4
- import { canCreateTeam } from "./harmony118.mjs";
4
+ import { canCreateTeam } from "./harmony111.mjs";
5
5
  const CreateNewTeam = ({ onCreateTeam }) => {
6
6
  const { jwt } = useSidebar();
7
7
  if (!canCreateTeam(jwt)) {
@@ -1,10 +1,10 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
3
  const jsxRuntime = require("react/jsx-runtime");
4
- const useSidebar = require("./harmony117.cjs");
4
+ const useSidebar = require("./harmony110.cjs");
5
5
  const louis = require("@lokalise/louis");
6
- const permissions = require("./harmony118.cjs");
7
- const CreateNewTeamPlaceholder_module = require("./harmony161.cjs");
6
+ const permissions = require("./harmony111.cjs");
7
+ const CreateNewTeamPlaceholder_module = require("./harmony160.cjs");
8
8
  const CreateNewTeamPlaceholder = ({ onClick }) => {
9
9
  const { jwt } = useSidebar.useSidebar();
10
10
  if (!permissions.canCreateTeam(jwt)) {
@@ -1,8 +1,8 @@
1
1
  import { jsxs, Fragment, jsx } from "react/jsx-runtime";
2
- import { useSidebar } from "./harmony117.mjs";
2
+ import { useSidebar } from "./harmony110.mjs";
3
3
  import { MenuItem, MenuDivider } from "@lokalise/louis";
4
- import { canCreateTeam } from "./harmony118.mjs";
5
- import styles from "./harmony161.mjs";
4
+ import { canCreateTeam } from "./harmony111.mjs";
5
+ import styles from "./harmony160.mjs";
6
6
  const CreateNewTeamPlaceholder = ({ onClick }) => {
7
7
  const { jwt } = useSidebar();
8
8
  if (!canCreateTeam(jwt)) {
@@ -2,7 +2,7 @@
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
3
  const jsxRuntime = require("react/jsx-runtime");
4
4
  const louis = require("@lokalise/louis");
5
- const DarkModeToggle_module = require("./harmony162.cjs");
5
+ const DarkModeToggle_module = require("./harmony161.cjs");
6
6
  const DarkModeToggle = ({ onToggle, isDarkMode }) => {
7
7
  return /* @__PURE__ */ jsxRuntime.jsx(louis.MenuItem, { onClick: onToggle, children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: `flex-row justify-between gap-1 ${DarkModeToggle_module.default.switchContainer}`, children: [
8
8
  /* @__PURE__ */ jsxRuntime.jsx("span", { children: "Dark mode" }),
@@ -1,6 +1,6 @@
1
1
  import { jsx, jsxs } from "react/jsx-runtime";
2
2
  import { MenuItem, Switch } from "@lokalise/louis";
3
- import styles from "./harmony162.mjs";
3
+ import styles from "./harmony161.mjs";
4
4
  const DarkModeToggle = ({ onToggle, isDarkMode }) => {
5
5
  return /* @__PURE__ */ jsx(MenuItem, { onClick: onToggle, children: /* @__PURE__ */ jsxs("div", { className: `flex-row justify-between gap-1 ${styles.switchContainer}`, children: [
6
6
  /* @__PURE__ */ jsx("span", { children: "Dark mode" }),
@@ -1,10 +1,10 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
3
  const jsxRuntime = require("react/jsx-runtime");
4
- const useSidebar = require("./harmony117.cjs");
4
+ const useSidebar = require("./harmony110.cjs");
5
5
  const louis = require("@lokalise/louis");
6
- const permissions = require("./harmony118.cjs");
7
- const ProfileSettingsMenuItem_module = require("./harmony163.cjs");
6
+ const permissions = require("./harmony111.cjs");
7
+ const ProfileSettingsMenuItem_module = require("./harmony162.cjs");
8
8
  const ProfileSettingsMenuItem = ({ onClick }) => {
9
9
  const { jwt } = useSidebar.useSidebar();
10
10
  if (!permissions.canAccessProfileSettings(jwt)) {
@@ -1,8 +1,8 @@
1
1
  import { jsx, jsxs } from "react/jsx-runtime";
2
- import { useSidebar } from "./harmony117.mjs";
2
+ import { useSidebar } from "./harmony110.mjs";
3
3
  import { MenuItem } from "@lokalise/louis";
4
- import { canAccessProfileSettings } from "./harmony118.mjs";
5
- import styles from "./harmony163.mjs";
4
+ import { canAccessProfileSettings } from "./harmony111.mjs";
5
+ import styles from "./harmony162.mjs";
6
6
  const ProfileSettingsMenuItem = ({ onClick }) => {
7
7
  const { jwt } = useSidebar();
8
8
  if (!canAccessProfileSettings(jwt)) {
@@ -1,9 +1,9 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
3
  const jsxRuntime = require("react/jsx-runtime");
4
- const useSidebar = require("./harmony117.cjs");
4
+ const useSidebar = require("./harmony110.cjs");
5
5
  const louis = require("@lokalise/louis");
6
- const permissions = require("./harmony118.cjs");
6
+ const permissions = require("./harmony111.cjs");
7
7
  const ProviderMenuItem = () => {
8
8
  const { jwt } = useSidebar.useSidebar();
9
9
  if (!permissions.canAccessProviderDashboard(jwt)) {
@@ -1,7 +1,7 @@
1
1
  import { jsx } from "react/jsx-runtime";
2
- import { useSidebar } from "./harmony117.mjs";
2
+ import { useSidebar } from "./harmony110.mjs";
3
3
  import { MenuItem } from "@lokalise/louis";
4
- import { canAccessProviderDashboard } from "./harmony118.mjs";
4
+ import { canAccessProviderDashboard } from "./harmony111.mjs";
5
5
  const ProviderMenuItem = () => {
6
6
  const { jwt } = useSidebar();
7
7
  if (!canAccessProviderDashboard(jwt)) {
@@ -1,10 +1,10 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
3
  const jsxRuntime = require("react/jsx-runtime");
4
- const useSidebar = require("./harmony117.cjs");
4
+ const useSidebar = require("./harmony110.cjs");
5
5
  const louis = require("@lokalise/louis");
6
6
  const plan = require("./harmony11.cjs");
7
- const TeamMenuItem_module = require("./harmony164.cjs");
7
+ const TeamMenuItem_module = require("./harmony163.cjs");
8
8
  const TeamMenuItem = ({ team, onClick, hidePlanLabel }) => {
9
9
  const {
10
10
  jwt,
@@ -1,8 +1,8 @@
1
1
  import { jsxs, jsx } from "react/jsx-runtime";
2
- import { useSidebar } from "./harmony117.mjs";
2
+ import { useSidebar } from "./harmony110.mjs";
3
3
  import { MenuItem, UserIcon } from "@lokalise/louis";
4
4
  import { isFreePlan, isTrialPlan } from "./harmony11.mjs";
5
- import styles from "./harmony164.mjs";
5
+ import styles from "./harmony163.mjs";
6
6
  const TeamMenuItem = ({ team, onClick, hidePlanLabel }) => {
7
7
  const {
8
8
  jwt,
@@ -1,9 +1,9 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
3
  const jsxRuntime = require("react/jsx-runtime");
4
- const useSidebar = require("./harmony117.cjs");
4
+ const useSidebar = require("./harmony110.cjs");
5
5
  const louis = require("@lokalise/louis");
6
- const permissions = require("./harmony118.cjs");
6
+ const permissions = require("./harmony111.cjs");
7
7
  const TeamSettingsMenuItem = () => {
8
8
  const { jwt } = useSidebar.useSidebar();
9
9
  if (!permissions.canAccessTeamSettings(jwt)) {
@@ -1,7 +1,7 @@
1
1
  import { jsx } from "react/jsx-runtime";
2
- import { useSidebar } from "./harmony117.mjs";
2
+ import { useSidebar } from "./harmony110.mjs";
3
3
  import { MenuItem } from "@lokalise/louis";
4
- import { canAccessTeamSettings } from "./harmony118.mjs";
4
+ import { canAccessTeamSettings } from "./harmony111.mjs";
5
5
  const TeamSettingsMenuItem = () => {
6
6
  const { jwt } = useSidebar();
7
7
  if (!canAccessTeamSettings(jwt)) {
@@ -1,9 +1,9 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
3
  const jsxRuntime = require("react/jsx-runtime");
4
- const useSidebar = require("./harmony117.cjs");
4
+ const useSidebar = require("./harmony110.cjs");
5
5
  const TeamMenuItem = require("./harmony138.cjs");
6
- const TeamSwitch_module = require("./harmony165.cjs");
6
+ const TeamSwitch_module = require("./harmony164.cjs");
7
7
  const TeamSwitch = ({ onSwitchTeam }) => {
8
8
  var _a, _b;
9
9
  const {
@@ -1,7 +1,7 @@
1
1
  import { jsx } from "react/jsx-runtime";
2
- import { useSidebar } from "./harmony117.mjs";
2
+ import { useSidebar } from "./harmony110.mjs";
3
3
  import { TeamMenuItem } from "./harmony138.mjs";
4
- import styles from "./harmony165.mjs";
4
+ import styles from "./harmony164.mjs";
5
5
  const TeamSwitch = ({ onSwitchTeam }) => {
6
6
  var _a, _b;
7
7
  const {
@@ -1,12 +1,12 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
3
  const jsxRuntime = require("react/jsx-runtime");
4
- const useSidebar = require("./harmony117.cjs");
4
+ const useSidebar = require("./harmony110.cjs");
5
5
  const louis = require("@lokalise/louis");
6
6
  const plan = require("./harmony11.cjs");
7
- const permissions = require("./harmony118.cjs");
7
+ const permissions = require("./harmony111.cjs");
8
8
  const UpgradeIcon = require("./harmony143.cjs");
9
- const UpgradeMenuItem_module = require("./harmony166.cjs");
9
+ const UpgradeMenuItem_module = require("./harmony165.cjs");
10
10
  const UpgradeMenuItem = ({ href }) => {
11
11
  const {
12
12
  jwt,
@@ -1,10 +1,10 @@
1
1
  import { jsxs, jsx } from "react/jsx-runtime";
2
- import { useSidebar } from "./harmony117.mjs";
2
+ import { useSidebar } from "./harmony110.mjs";
3
3
  import { MenuItem } from "@lokalise/louis";
4
4
  import { isFreePlan } from "./harmony11.mjs";
5
- import { canUpgradePlan } from "./harmony118.mjs";
5
+ import { canUpgradePlan } from "./harmony111.mjs";
6
6
  import { UpgradeIcon } from "./harmony143.mjs";
7
- import styles from "./harmony166.mjs";
7
+ import styles from "./harmony165.mjs";
8
8
  const UpgradeMenuItem = ({ href }) => {
9
9
  const {
10
10
  jwt,
@@ -3,7 +3,7 @@ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
3
  const jsxRuntime = require("react/jsx-runtime");
4
4
  const louis = require("@lokalise/louis");
5
5
  const clsx = require("./harmony93.cjs");
6
- const UpgradeIcon_module = require("./harmony167.cjs");
6
+ const UpgradeIcon_module = require("./harmony166.cjs");
7
7
  const UpgradeIcon = ({ className = "" }) => {
8
8
  return /* @__PURE__ */ jsxRuntime.jsx(
9
9
  "div",
@@ -1,7 +1,7 @@
1
1
  import { jsx } from "react/jsx-runtime";
2
2
  import { CaretUpIcon } from "@lokalise/louis";
3
3
  import { clsx } from "./harmony93.mjs";
4
- import styles from "./harmony167.mjs";
4
+ import styles from "./harmony166.mjs";
5
5
  const UpgradeIcon = ({ className = "" }) => {
6
6
  return /* @__PURE__ */ jsx(
7
7
  "div",
@@ -1,6 +1,13 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const has = require("./harmony126.cjs");
4
- const accessMarketingProjects = ({ enabledFeatureFlags }) => has.has(enabledFeatureFlags, "homeMarketingBeta");
5
- exports.accessMarketingProjects = accessMarketingProjects;
3
+ const hasAdminRight = (adminRights, right) => {
4
+ if (!Array.isArray(adminRights)) return false;
5
+ return adminRights.includes(right);
6
+ };
7
+ const hasAnyAdminRight = (adminRights, rights) => {
8
+ if (!Array.isArray(adminRights)) return false;
9
+ return rights.some((right) => adminRights.includes(right));
10
+ };
11
+ exports.hasAdminRight = hasAdminRight;
12
+ exports.hasAnyAdminRight = hasAnyAdminRight;
6
13
  //# sourceMappingURL=harmony148.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"harmony148.cjs","sources":["../src/features/permissions/action-resolvers/accessMarketingProjects.ts"],"sourcesContent":["import type { ActionResolver } from '../types'\nimport { has } from '../utils/has'\n\nexport const accessMarketingProjects: ActionResolver = ({ enabledFeatureFlags }) =>\n\thas(enabledFeatureFlags, 'homeMarketingBeta')\n"],"names":["has"],"mappings":";;;AAGO,MAAM,0BAA0C,CAAC,EAAE,oBACzD,MAAAA,IAAA,IAAI,qBAAqB,mBAAmB;;"}
1
+ {"version":3,"file":"harmony148.cjs","sources":["../src/features/auth/utils/permissions.ts"],"sourcesContent":["// Helper function to check if user has a specific admin right\nexport const hasAdminRight = (adminRights: string[], right: string): boolean => {\n\tif (!Array.isArray(adminRights)) return false\n\treturn adminRights.includes(right)\n}\n\n// Helper function to check if user has any of the specified admin rights\nexport const hasAnyAdminRight = (adminRights: string[], rights: string[]): boolean => {\n\tif (!Array.isArray(adminRights)) return false\n\treturn rights.some((right) => adminRights.includes(right))\n}\n"],"names":[],"mappings":";;AACa,MAAA,gBAAgB,CAAC,aAAuB,UAA2B;AAC/E,MAAI,CAAC,MAAM,QAAQ,WAAW,EAAU,QAAA;AACjC,SAAA,YAAY,SAAS,KAAK;AAClC;AAGa,MAAA,mBAAmB,CAAC,aAAuB,WAA8B;AACrF,MAAI,CAAC,MAAM,QAAQ,WAAW,EAAU,QAAA;AACxC,SAAO,OAAO,KAAK,CAAC,UAAU,YAAY,SAAS,KAAK,CAAC;AAC1D;;;"}
@@ -1,6 +1,13 @@
1
- import { has } from "./harmony126.mjs";
2
- const accessMarketingProjects = ({ enabledFeatureFlags }) => has(enabledFeatureFlags, "homeMarketingBeta");
1
+ const hasAdminRight = (adminRights, right) => {
2
+ if (!Array.isArray(adminRights)) return false;
3
+ return adminRights.includes(right);
4
+ };
5
+ const hasAnyAdminRight = (adminRights, rights) => {
6
+ if (!Array.isArray(adminRights)) return false;
7
+ return rights.some((right) => adminRights.includes(right));
8
+ };
3
9
  export {
4
- accessMarketingProjects
10
+ hasAdminRight,
11
+ hasAnyAdminRight
5
12
  };
6
13
  //# sourceMappingURL=harmony148.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"harmony148.mjs","sources":["../src/features/permissions/action-resolvers/accessMarketingProjects.ts"],"sourcesContent":["import type { ActionResolver } from '../types'\nimport { has } from '../utils/has'\n\nexport const accessMarketingProjects: ActionResolver = ({ enabledFeatureFlags }) =>\n\thas(enabledFeatureFlags, 'homeMarketingBeta')\n"],"names":[],"mappings":";AAGO,MAAM,0BAA0C,CAAC,EAAE,oBACzD,MAAA,IAAI,qBAAqB,mBAAmB;"}
1
+ {"version":3,"file":"harmony148.mjs","sources":["../src/features/auth/utils/permissions.ts"],"sourcesContent":["// Helper function to check if user has a specific admin right\nexport const hasAdminRight = (adminRights: string[], right: string): boolean => {\n\tif (!Array.isArray(adminRights)) return false\n\treturn adminRights.includes(right)\n}\n\n// Helper function to check if user has any of the specified admin rights\nexport const hasAnyAdminRight = (adminRights: string[], rights: string[]): boolean => {\n\tif (!Array.isArray(adminRights)) return false\n\treturn rights.some((right) => adminRights.includes(right))\n}\n"],"names":[],"mappings":"AACa,MAAA,gBAAgB,CAAC,aAAuB,UAA2B;AAC/E,MAAI,CAAC,MAAM,QAAQ,WAAW,EAAU,QAAA;AACjC,SAAA,YAAY,SAAS,KAAK;AAClC;AAGa,MAAA,mBAAmB,CAAC,aAAuB,WAA8B;AACrF,MAAI,CAAC,MAAM,QAAQ,WAAW,EAAU,QAAA;AACxC,SAAO,OAAO,KAAK,CAAC,UAAU,YAAY,SAAS,KAAK,CAAC;AAC1D;"}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const has = require("./harmony126.cjs");
4
- const deleteProjects = ({ projectPermissions }) => has.has(projectPermissions, "settings");
5
- exports.deleteProjects = deleteProjects;
3
+ const has = require("./harmony129.cjs");
4
+ const accessMarketingProjects = ({ enabledFeatureFlags }) => has.has(enabledFeatureFlags, "homeMarketingBeta");
5
+ exports.accessMarketingProjects = accessMarketingProjects;
6
6
  //# sourceMappingURL=harmony149.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"harmony149.cjs","sources":["../src/features/permissions/action-resolvers/deleteProjects.ts"],"sourcesContent":["import type { ActionResolver } from '../types'\nimport { has } from '../utils/has'\n\nexport const deleteProjects: ActionResolver = ({ projectPermissions }) =>\n\thas(projectPermissions, 'settings')\n"],"names":["has"],"mappings":";;;AAGO,MAAM,iBAAiC,CAAC,EAAE,mBAChD,MAAAA,IAAA,IAAI,oBAAoB,UAAU;;"}
1
+ {"version":3,"file":"harmony149.cjs","sources":["../src/features/permissions/action-resolvers/accessMarketingProjects.ts"],"sourcesContent":["import type { ActionResolver } from '../types'\nimport { has } from '../utils/has'\n\nexport const accessMarketingProjects: ActionResolver = ({ enabledFeatureFlags }) =>\n\thas(enabledFeatureFlags, 'homeMarketingBeta')\n"],"names":["has"],"mappings":";;;AAGO,MAAM,0BAA0C,CAAC,EAAE,oBACzD,MAAAA,IAAA,IAAI,qBAAqB,mBAAmB;;"}
@@ -1,6 +1,6 @@
1
- import { has } from "./harmony126.mjs";
2
- const deleteProjects = ({ projectPermissions }) => has(projectPermissions, "settings");
1
+ import { has } from "./harmony129.mjs";
2
+ const accessMarketingProjects = ({ enabledFeatureFlags }) => has(enabledFeatureFlags, "homeMarketingBeta");
3
3
  export {
4
- deleteProjects
4
+ accessMarketingProjects
5
5
  };
6
6
  //# sourceMappingURL=harmony149.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"harmony149.mjs","sources":["../src/features/permissions/action-resolvers/deleteProjects.ts"],"sourcesContent":["import type { ActionResolver } from '../types'\nimport { has } from '../utils/has'\n\nexport const deleteProjects: ActionResolver = ({ projectPermissions }) =>\n\thas(projectPermissions, 'settings')\n"],"names":[],"mappings":";AAGO,MAAM,iBAAiC,CAAC,EAAE,mBAChD,MAAA,IAAI,oBAAoB,UAAU;"}
1
+ {"version":3,"file":"harmony149.mjs","sources":["../src/features/permissions/action-resolvers/accessMarketingProjects.ts"],"sourcesContent":["import type { ActionResolver } from '../types'\nimport { has } from '../utils/has'\n\nexport const accessMarketingProjects: ActionResolver = ({ enabledFeatureFlags }) =>\n\thas(enabledFeatureFlags, 'homeMarketingBeta')\n"],"names":[],"mappings":";AAGO,MAAM,0BAA0C,CAAC,EAAE,oBACzD,MAAA,IAAI,qBAAqB,mBAAmB;"}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const has = require("./harmony126.cjs");
4
- const manageContributors = ({ projectPermissions }) => has.has(projectPermissions, "contributors");
5
- exports.manageContributors = manageContributors;
3
+ const has = require("./harmony129.cjs");
4
+ const deleteProjects = ({ projectPermissions }) => has.has(projectPermissions, "settings");
5
+ exports.deleteProjects = deleteProjects;
6
6
  //# sourceMappingURL=harmony150.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"harmony150.cjs","sources":["../src/features/permissions/action-resolvers/manageContributors.ts"],"sourcesContent":["import type { ActionResolver } from '../types'\nimport { has } from '../utils/has'\n\nexport const manageContributors: ActionResolver = ({ projectPermissions }) =>\n\thas(projectPermissions, 'contributors')\n"],"names":["has"],"mappings":";;;AAGO,MAAM,qBAAqC,CAAC,EAAE,mBACpD,MAAAA,IAAA,IAAI,oBAAoB,cAAc;;"}
1
+ {"version":3,"file":"harmony150.cjs","sources":["../src/features/permissions/action-resolvers/deleteProjects.ts"],"sourcesContent":["import type { ActionResolver } from '../types'\nimport { has } from '../utils/has'\n\nexport const deleteProjects: ActionResolver = ({ projectPermissions }) =>\n\thas(projectPermissions, 'settings')\n"],"names":["has"],"mappings":";;;AAGO,MAAM,iBAAiC,CAAC,EAAE,mBAChD,MAAAA,IAAA,IAAI,oBAAoB,UAAU;;"}
@@ -1,6 +1,6 @@
1
- import { has } from "./harmony126.mjs";
2
- const manageContributors = ({ projectPermissions }) => has(projectPermissions, "contributors");
1
+ import { has } from "./harmony129.mjs";
2
+ const deleteProjects = ({ projectPermissions }) => has(projectPermissions, "settings");
3
3
  export {
4
- manageContributors
4
+ deleteProjects
5
5
  };
6
6
  //# sourceMappingURL=harmony150.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"harmony150.mjs","sources":["../src/features/permissions/action-resolvers/manageContributors.ts"],"sourcesContent":["import type { ActionResolver } from '../types'\nimport { has } from '../utils/has'\n\nexport const manageContributors: ActionResolver = ({ projectPermissions }) =>\n\thas(projectPermissions, 'contributors')\n"],"names":[],"mappings":";AAGO,MAAM,qBAAqC,CAAC,EAAE,mBACpD,MAAA,IAAI,oBAAoB,cAAc;"}
1
+ {"version":3,"file":"harmony150.mjs","sources":["../src/features/permissions/action-resolvers/deleteProjects.ts"],"sourcesContent":["import type { ActionResolver } from '../types'\nimport { has } from '../utils/has'\n\nexport const deleteProjects: ActionResolver = ({ projectPermissions }) =>\n\thas(projectPermissions, 'settings')\n"],"names":[],"mappings":";AAGO,MAAM,iBAAiC,CAAC,EAAE,mBAChD,MAAA,IAAI,oBAAoB,UAAU;"}
@@ -1,17 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const canPerformActionByProjectType = require("./harmony160.cjs");
4
- const hasAny = require("./harmony125.cjs");
5
- const has = require("./harmony126.cjs");
6
- const canDownloadFiles = ({ projectType, projectPermissions }) => canPerformActionByProjectType.canPerformActionByProjectType(projectType, {
7
- classic: () => has.has(projectPermissions, "download"),
8
- // This is a temporary workaround for the marketing project type - upload and download permissions are not yet supported
9
- // so to restrict translators from accessing the upload/download page we are checking that they have any permissions at all.
10
- // The reason for this is that, at the moment, the Translators role will assign no permissions to the user. So we are effectively
11
- // simulating a check for 'is this user a translator?' (since project 'roles' don't actually exist).
12
- // The correct check is to check for upload permission, so when that is implemented this will continue to work as expected,
13
- // but will need to remove this first part of the check.
14
- marketing: () => hasAny.hasAny(projectPermissions, "contributors", "settings", "manage_languages") || has.has(projectPermissions, "download")
15
- });
16
- exports.canDownloadFiles = canDownloadFiles;
3
+ const has = require("./harmony129.cjs");
4
+ const manageContributors = ({ projectPermissions }) => has.has(projectPermissions, "contributors");
5
+ exports.manageContributors = manageContributors;
17
6
  //# sourceMappingURL=harmony151.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"harmony151.cjs","sources":["../src/features/permissions/action-resolvers/canDownloadFiles.ts"],"sourcesContent":["import { canPerformActionByProjectType } from '@features/permissions/utils/canPerformActionByProjectType'\nimport { hasAny } from '@features/permissions/utils/hasAny'\nimport type { ActionResolver } from '../types'\nimport { has } from '../utils/has'\n\nexport const canDownloadFiles: ActionResolver = ({ projectType, projectPermissions }) =>\n\tcanPerformActionByProjectType(projectType, {\n\t\tclassic: () => has(projectPermissions, 'download'),\n\n\t\t// This is a temporary workaround for the marketing project type - upload and download permissions are not yet supported\n\t\t// so to restrict translators from accessing the upload/download page we are checking that they have any permissions at all.\n\t\t// The reason for this is that, at the moment, the Translators role will assign no permissions to the user. So we are effectively\n\t\t// simulating a check for 'is this user a translator?' (since project 'roles' don't actually exist).\n\t\t// The correct check is to check for upload permission, so when that is implemented this will continue to work as expected,\n\t\t// but will need to remove this first part of the check.\n\t\tmarketing: () =>\n\t\t\thasAny(projectPermissions, 'contributors', 'settings', 'manage_languages') ||\n\t\t\thas(projectPermissions, 'download'),\n\t})\n"],"names":["canPerformActionByProjectType","has","hasAny"],"mappings":";;;;;AAKO,MAAM,mBAAmC,CAAC,EAAE,aAAa,mBAAmB,MAClFA,8BAAAA,8BAA8B,aAAa;AAAA,EAC1C,SAAS,MAAMC,IAAAA,IAAI,oBAAoB,UAAU;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAQjD,WAAW,MACVC,cAAO,oBAAoB,gBAAgB,YAAY,kBAAkB,KACzED,QAAI,oBAAoB,UAAU;AACpC,CAAC;;"}
1
+ {"version":3,"file":"harmony151.cjs","sources":["../src/features/permissions/action-resolvers/manageContributors.ts"],"sourcesContent":["import type { ActionResolver } from '../types'\nimport { has } from '../utils/has'\n\nexport const manageContributors: ActionResolver = ({ projectPermissions }) =>\n\thas(projectPermissions, 'contributors')\n"],"names":["has"],"mappings":";;;AAGO,MAAM,qBAAqC,CAAC,EAAE,mBACpD,MAAAA,IAAA,IAAI,oBAAoB,cAAc;;"}