@lokalise/harmony 2.1.0-exp-testingContracts.4 → 2.1.0-exp-testingContracts.6

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 (358) hide show
  1. package/dist/harmony.cjs +1 -0
  2. package/dist/harmony.cjs.map +1 -1
  3. package/dist/harmony.mjs +2 -1
  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/harmony107.cjs +1 -1
  9. package/dist/harmony107.mjs +1 -1
  10. package/dist/harmony108.cjs +1 -1
  11. package/dist/harmony108.mjs +1 -1
  12. package/dist/harmony109.cjs +11 -3
  13. package/dist/harmony109.cjs.map +1 -1
  14. package/dist/harmony109.mjs +11 -3
  15. package/dist/harmony109.mjs.map +1 -1
  16. package/dist/harmony110.cjs +21 -18
  17. package/dist/harmony110.cjs.map +1 -1
  18. package/dist/harmony110.mjs +20 -17
  19. package/dist/harmony110.mjs.map +1 -1
  20. package/dist/harmony111.cjs +13 -75
  21. package/dist/harmony111.cjs.map +1 -1
  22. package/dist/harmony111.mjs +13 -75
  23. package/dist/harmony111.mjs.map +1 -1
  24. package/dist/harmony112.cjs +2 -11
  25. package/dist/harmony112.cjs.map +1 -1
  26. package/dist/harmony112.mjs +3 -12
  27. package/dist/harmony112.mjs.map +1 -1
  28. package/dist/harmony113.cjs +18 -34
  29. package/dist/harmony113.cjs.map +1 -1
  30. package/dist/harmony113.mjs +18 -34
  31. package/dist/harmony113.mjs.map +1 -1
  32. package/dist/harmony114.cjs +75 -8
  33. package/dist/harmony114.cjs.map +1 -1
  34. package/dist/harmony114.mjs +75 -8
  35. package/dist/harmony114.mjs.map +1 -1
  36. package/dist/harmony115.cjs +11 -46
  37. package/dist/harmony115.cjs.map +1 -1
  38. package/dist/harmony115.mjs +11 -46
  39. package/dist/harmony115.mjs.map +1 -1
  40. package/dist/harmony116.cjs +35 -10
  41. package/dist/harmony116.cjs.map +1 -1
  42. package/dist/harmony116.mjs +34 -9
  43. package/dist/harmony116.mjs.map +1 -1
  44. package/dist/harmony117.cjs +8 -10
  45. package/dist/harmony117.cjs.map +1 -1
  46. package/dist/harmony117.mjs +9 -11
  47. package/dist/harmony117.mjs.map +1 -1
  48. package/dist/harmony118.cjs +47 -21
  49. package/dist/harmony118.cjs.map +1 -1
  50. package/dist/harmony118.mjs +46 -20
  51. package/dist/harmony118.mjs.map +1 -1
  52. package/dist/harmony119.cjs +9 -14
  53. package/dist/harmony119.cjs.map +1 -1
  54. package/dist/harmony119.mjs +8 -13
  55. package/dist/harmony119.mjs.map +1 -1
  56. package/dist/harmony122.cjs +84 -96
  57. package/dist/harmony122.cjs.map +1 -1
  58. package/dist/harmony122.mjs +84 -79
  59. package/dist/harmony122.mjs.map +1 -1
  60. package/dist/harmony123.cjs +30 -20
  61. package/dist/harmony123.cjs.map +1 -1
  62. package/dist/harmony123.mjs +30 -20
  63. package/dist/harmony123.mjs.map +1 -1
  64. package/dist/harmony124.cjs +20 -7
  65. package/dist/harmony124.cjs.map +1 -1
  66. package/dist/harmony124.mjs +20 -7
  67. package/dist/harmony124.mjs.map +1 -1
  68. package/dist/harmony125.cjs +6 -16
  69. package/dist/harmony125.cjs.map +1 -1
  70. package/dist/harmony125.mjs +7 -17
  71. package/dist/harmony125.mjs.map +1 -1
  72. package/dist/harmony126.cjs +16 -7
  73. package/dist/harmony126.cjs.map +1 -1
  74. package/dist/harmony126.mjs +16 -7
  75. package/dist/harmony126.mjs.map +1 -1
  76. package/dist/harmony127.cjs +3 -3
  77. package/dist/harmony127.cjs.map +1 -1
  78. package/dist/harmony127.mjs +3 -3
  79. package/dist/harmony127.mjs.map +1 -1
  80. package/dist/harmony128.cjs +7 -14
  81. package/dist/harmony128.cjs.map +1 -1
  82. package/dist/harmony128.mjs +7 -14
  83. package/dist/harmony128.mjs.map +1 -1
  84. package/dist/harmony129.cjs +15 -9
  85. package/dist/harmony129.cjs.map +1 -1
  86. package/dist/harmony129.mjs +14 -8
  87. package/dist/harmony129.mjs.map +1 -1
  88. package/dist/harmony130.cjs +98 -11
  89. package/dist/harmony130.cjs.map +1 -1
  90. package/dist/harmony130.mjs +81 -11
  91. package/dist/harmony130.mjs.map +1 -1
  92. package/dist/harmony131.cjs +9 -15
  93. package/dist/harmony131.cjs.map +1 -1
  94. package/dist/harmony131.mjs +8 -14
  95. package/dist/harmony131.mjs.map +1 -1
  96. package/dist/harmony132.cjs +6 -13
  97. package/dist/harmony132.cjs.map +1 -1
  98. package/dist/harmony132.mjs +8 -15
  99. package/dist/harmony132.mjs.map +1 -1
  100. package/dist/harmony133.cjs +12 -7
  101. package/dist/harmony133.cjs.map +1 -1
  102. package/dist/harmony133.mjs +14 -9
  103. package/dist/harmony133.mjs.map +1 -1
  104. package/dist/harmony134.cjs +13 -20
  105. package/dist/harmony134.cjs.map +1 -1
  106. package/dist/harmony134.mjs +15 -22
  107. package/dist/harmony134.mjs.map +1 -1
  108. package/dist/harmony135.cjs +7 -9
  109. package/dist/harmony135.cjs.map +1 -1
  110. package/dist/harmony135.mjs +9 -11
  111. package/dist/harmony135.mjs.map +1 -1
  112. package/dist/harmony136.cjs +18 -30
  113. package/dist/harmony136.cjs.map +1 -1
  114. package/dist/harmony136.mjs +20 -32
  115. package/dist/harmony136.mjs.map +1 -1
  116. package/dist/harmony137.cjs +6 -6
  117. package/dist/harmony137.cjs.map +1 -1
  118. package/dist/harmony137.mjs +6 -6
  119. package/dist/harmony137.mjs.map +1 -1
  120. package/dist/harmony138.cjs +29 -13
  121. package/dist/harmony138.cjs.map +1 -1
  122. package/dist/harmony138.mjs +30 -14
  123. package/dist/harmony138.mjs.map +1 -1
  124. package/dist/harmony139.cjs +7 -31
  125. package/dist/harmony139.cjs.map +1 -1
  126. package/dist/harmony139.mjs +8 -32
  127. package/dist/harmony139.mjs.map +1 -1
  128. package/dist/harmony140.cjs +22 -21
  129. package/dist/harmony140.cjs.map +1 -1
  130. package/dist/harmony140.mjs +21 -20
  131. package/dist/harmony140.mjs.map +1 -1
  132. package/dist/harmony141.cjs +30 -15
  133. package/dist/harmony141.cjs.map +1 -1
  134. package/dist/harmony141.mjs +32 -17
  135. package/dist/harmony141.mjs.map +1 -1
  136. package/dist/harmony142.cjs +18 -3
  137. package/dist/harmony142.cjs.map +1 -1
  138. package/dist/harmony142.mjs +18 -3
  139. package/dist/harmony142.mjs.map +1 -1
  140. package/dist/harmony143.cjs +21 -15
  141. package/dist/harmony143.cjs.map +1 -1
  142. package/dist/harmony143.mjs +20 -14
  143. package/dist/harmony143.mjs.map +1 -1
  144. package/dist/harmony144.cjs +6 -87
  145. package/dist/harmony144.cjs.map +1 -1
  146. package/dist/harmony144.mjs +5 -86
  147. package/dist/harmony144.mjs.map +1 -1
  148. package/dist/harmony145.cjs +16 -31
  149. package/dist/harmony145.cjs.map +1 -1
  150. package/dist/harmony145.mjs +15 -30
  151. package/dist/harmony145.mjs.map +1 -1
  152. package/dist/harmony146.cjs +11 -6
  153. package/dist/harmony146.cjs.map +1 -1
  154. package/dist/harmony146.mjs +10 -5
  155. package/dist/harmony146.mjs.map +1 -1
  156. package/dist/harmony147.cjs +4 -4
  157. package/dist/harmony147.mjs +4 -4
  158. package/dist/harmony148.cjs +6 -4
  159. package/dist/harmony148.cjs.map +1 -1
  160. package/dist/harmony148.mjs +5 -3
  161. package/dist/harmony148.mjs.map +1 -1
  162. package/dist/harmony149.cjs +3 -3
  163. package/dist/harmony149.cjs.map +1 -1
  164. package/dist/harmony149.mjs +3 -3
  165. package/dist/harmony149.mjs.map +1 -1
  166. package/dist/harmony150.cjs +3 -3
  167. package/dist/harmony150.cjs.map +1 -1
  168. package/dist/harmony150.mjs +3 -3
  169. package/dist/harmony150.mjs.map +1 -1
  170. package/dist/harmony151.cjs +3 -14
  171. package/dist/harmony151.cjs.map +1 -1
  172. package/dist/harmony151.mjs +3 -14
  173. package/dist/harmony151.mjs.map +1 -1
  174. package/dist/harmony152.cjs +6 -6
  175. package/dist/harmony152.cjs.map +1 -1
  176. package/dist/harmony152.mjs +6 -6
  177. package/dist/harmony152.mjs.map +1 -1
  178. package/dist/harmony153.cjs +14 -3
  179. package/dist/harmony153.cjs.map +1 -1
  180. package/dist/harmony153.mjs +14 -3
  181. package/dist/harmony153.mjs.map +1 -1
  182. package/dist/harmony154.cjs +4 -10
  183. package/dist/harmony154.cjs.map +1 -1
  184. package/dist/harmony154.mjs +3 -9
  185. package/dist/harmony154.mjs.map +1 -1
  186. package/dist/harmony155.cjs +97 -7
  187. package/dist/harmony155.cjs.map +1 -1
  188. package/dist/harmony155.mjs +96 -6
  189. package/dist/harmony155.mjs.map +1 -1
  190. package/dist/harmony156.cjs +14 -10
  191. package/dist/harmony156.cjs.map +1 -1
  192. package/dist/harmony156.mjs +13 -9
  193. package/dist/harmony156.mjs.map +1 -1
  194. package/dist/harmony157.cjs +15 -25
  195. package/dist/harmony157.cjs.map +1 -1
  196. package/dist/harmony157.mjs +14 -24
  197. package/dist/harmony157.mjs.map +1 -1
  198. package/dist/harmony158.cjs +37 -7
  199. package/dist/harmony158.cjs.map +1 -1
  200. package/dist/harmony158.mjs +36 -6
  201. package/dist/harmony158.mjs.map +1 -1
  202. package/dist/harmony159.cjs +29 -13
  203. package/dist/harmony159.cjs.map +1 -1
  204. package/dist/harmony159.mjs +28 -12
  205. package/dist/harmony159.mjs.map +1 -1
  206. package/dist/harmony160.cjs +6 -3
  207. package/dist/harmony160.cjs.map +1 -1
  208. package/dist/harmony160.mjs +6 -3
  209. package/dist/harmony160.mjs.map +1 -1
  210. package/dist/harmony161.cjs +6 -10
  211. package/dist/harmony161.cjs.map +1 -1
  212. package/dist/harmony161.mjs +5 -9
  213. package/dist/harmony161.mjs.map +1 -1
  214. package/dist/harmony162.cjs +10 -97
  215. package/dist/harmony162.cjs.map +1 -1
  216. package/dist/harmony162.mjs +9 -96
  217. package/dist/harmony162.mjs.map +1 -1
  218. package/dist/harmony163.cjs +25 -14
  219. package/dist/harmony163.cjs.map +1 -1
  220. package/dist/harmony163.mjs +24 -13
  221. package/dist/harmony163.mjs.map +1 -1
  222. package/dist/harmony164.cjs +7 -15
  223. package/dist/harmony164.cjs.map +1 -1
  224. package/dist/harmony164.mjs +6 -14
  225. package/dist/harmony164.mjs.map +1 -1
  226. package/dist/harmony165.cjs +13 -37
  227. package/dist/harmony165.cjs.map +1 -1
  228. package/dist/harmony165.mjs +12 -36
  229. package/dist/harmony165.mjs.map +1 -1
  230. package/dist/harmony166.cjs +7 -29
  231. package/dist/harmony166.cjs.map +1 -1
  232. package/dist/harmony166.mjs +6 -28
  233. package/dist/harmony166.mjs.map +1 -1
  234. package/dist/harmony17.cjs +1 -1
  235. package/dist/harmony17.mjs +1 -1
  236. package/dist/harmony20.cjs +1 -1
  237. package/dist/harmony20.mjs +1 -1
  238. package/dist/harmony28.cjs +1 -1
  239. package/dist/harmony28.mjs +1 -1
  240. package/dist/harmony29.cjs +1 -1
  241. package/dist/harmony29.mjs +1 -1
  242. package/dist/harmony32.cjs +1 -1
  243. package/dist/harmony32.mjs +1 -1
  244. package/dist/harmony33.cjs +1 -1
  245. package/dist/harmony33.mjs +1 -1
  246. package/dist/harmony34.cjs +1 -1
  247. package/dist/harmony34.mjs +1 -1
  248. package/dist/harmony39.cjs +1 -1
  249. package/dist/harmony39.mjs +1 -1
  250. package/dist/harmony40.cjs +1 -1
  251. package/dist/harmony40.mjs +1 -1
  252. package/dist/harmony41.cjs +1 -1
  253. package/dist/harmony41.mjs +1 -1
  254. package/dist/harmony42.cjs +2 -2
  255. package/dist/harmony42.mjs +2 -2
  256. package/dist/harmony43.cjs +2 -2
  257. package/dist/harmony43.mjs +2 -2
  258. package/dist/harmony44.cjs +1 -1
  259. package/dist/harmony44.mjs +1 -1
  260. package/dist/harmony53.cjs +3 -3
  261. package/dist/harmony53.cjs.map +1 -1
  262. package/dist/harmony53.mjs +1 -1
  263. package/dist/harmony53.mjs.map +1 -1
  264. package/dist/harmony78.cjs +74 -74
  265. package/dist/harmony78.cjs.map +1 -1
  266. package/dist/harmony78.mjs +1 -1
  267. package/dist/harmony78.mjs.map +1 -1
  268. package/dist/harmony79.cjs +52 -52
  269. package/dist/harmony79.cjs.map +1 -1
  270. package/dist/harmony79.mjs +1 -1
  271. package/dist/harmony79.mjs.map +1 -1
  272. package/dist/harmony80.cjs +4 -4
  273. package/dist/harmony80.cjs.map +1 -1
  274. package/dist/harmony80.mjs +1 -1
  275. package/dist/harmony80.mjs.map +1 -1
  276. package/dist/harmony81.cjs +18 -18
  277. package/dist/harmony81.cjs.map +1 -1
  278. package/dist/harmony81.mjs +1 -1
  279. package/dist/harmony81.mjs.map +1 -1
  280. package/dist/harmony82.cjs +15 -15
  281. package/dist/harmony82.cjs.map +1 -1
  282. package/dist/harmony82.mjs +1 -1
  283. package/dist/harmony82.mjs.map +1 -1
  284. package/dist/harmony83.cjs +96 -96
  285. package/dist/harmony83.cjs.map +1 -1
  286. package/dist/harmony83.mjs +1 -1
  287. package/dist/harmony83.mjs.map +1 -1
  288. package/dist/harmony84.cjs +24 -24
  289. package/dist/harmony84.cjs.map +1 -1
  290. package/dist/harmony84.mjs +1 -1
  291. package/dist/harmony84.mjs.map +1 -1
  292. package/dist/harmony85.cjs +14 -14
  293. package/dist/harmony85.cjs.map +1 -1
  294. package/dist/harmony85.mjs +1 -1
  295. package/dist/harmony85.mjs.map +1 -1
  296. package/dist/harmony86.cjs +2 -2
  297. package/dist/harmony86.cjs.map +1 -1
  298. package/dist/harmony86.mjs +1 -1
  299. package/dist/harmony86.mjs.map +1 -1
  300. package/dist/harmony87.cjs +40 -40
  301. package/dist/harmony87.cjs.map +1 -1
  302. package/dist/harmony87.mjs +1 -1
  303. package/dist/harmony87.mjs.map +1 -1
  304. package/dist/harmony88.cjs +27 -27
  305. package/dist/harmony88.cjs.map +1 -1
  306. package/dist/harmony88.mjs +1 -1
  307. package/dist/harmony88.mjs.map +1 -1
  308. package/dist/harmony89.cjs +10 -10
  309. package/dist/harmony89.cjs.map +1 -1
  310. package/dist/harmony89.mjs +1 -1
  311. package/dist/harmony89.mjs.map +1 -1
  312. package/dist/harmony90.cjs +2 -0
  313. package/dist/harmony90.cjs.map +1 -1
  314. package/dist/harmony90.mjs +2 -0
  315. package/dist/harmony90.mjs.map +1 -1
  316. package/dist/harmony95.cjs +1 -1
  317. package/dist/harmony95.mjs +1 -1
  318. package/dist/harmony97.cjs +2 -2
  319. package/dist/harmony97.mjs +2 -2
  320. package/dist/types/src/features/auth/core/types/jwtTokenPayload.d.ts +35 -8
  321. package/dist/types/src/features/auth/core/types/jwtTokenPayload.fixture.d.ts +1 -1
  322. package/dist/types/src/features/auth/frontend/hooks/useAuthenticatedProjectContributor.d.ts +3 -3
  323. package/dist/types/src/features/auth/frontend/hooks/useAuthenticatedUser.d.ts +2 -2
  324. package/dist/types/src/features/auth/frontend/services/generateTokenFromClassicSession.d.ts +4 -1
  325. package/dist/types/src/features/auth/frontend/services/refreshExpiredToken.d.ts +4 -1
  326. package/dist/types/src/features/navigation/hooks/useNavigationQueries.d.ts +48 -48
  327. package/dist/types/src/features/publicApi/TESTING_CONTRACTS.d.ts +239 -1
  328. package/dist/types/src/features/publicApi/contributors.d.ts +1072 -5
  329. package/dist/types/src/features/publicApi/hooks/useAddContributorsMutation.d.ts +7 -7
  330. package/dist/types/src/features/publicApi/hooks/useAddLanguagesToProjectMutation.d.ts +2 -2
  331. package/dist/types/src/features/publicApi/hooks/useCreateProjectMutation.d.ts +14 -14
  332. package/dist/types/src/features/publicApi/hooks/useCreateScoreMutation.d.ts +3 -3
  333. package/dist/types/src/features/publicApi/hooks/useListProjectsQuery.d.ts +1 -1
  334. package/dist/types/src/features/publicApi/hooks/useListTeamsQuery.d.ts +1 -1
  335. package/dist/types/src/features/publicApi/hooks/useRetrieveContributorQuery.d.ts +2 -2
  336. package/dist/types/src/features/publicApi/hooks/useRetrieveUserPermissions.d.ts +1 -1
  337. package/dist/types/src/features/publicApi/hooks/useUpdateContributorMutation.d.ts +5 -5
  338. package/dist/types/src/features/publicApi/hooks/useUpdateProjectMutation.d.ts +13 -13
  339. package/dist/types/src/features/publicApi/languages.d.ts +368 -3
  340. package/dist/types/src/features/publicApi/permissionTemplates.d.ts +117 -1
  341. package/dist/types/src/features/publicApi/projects.d.ts +1965 -6
  342. package/dist/types/src/features/publicApi/score.d.ts +290 -3
  343. package/dist/types/src/features/publicApi/team.d.ts +374 -2
  344. package/dist/types/src/features/publicApi/teamUsers.d.ts +318 -3
  345. package/dist/types/src/features/publicApi/types/contributorTypes.d.ts +834 -84
  346. package/dist/types/src/features/publicApi/types/languageTypes.d.ts +212 -22
  347. package/dist/types/src/features/publicApi/types/paginationTypes.d.ts +8 -2
  348. package/dist/types/src/features/publicApi/types/permissionTemplateTypes.d.ts +76 -71
  349. package/dist/types/src/features/publicApi/types/permissionTypes.d.ts +24 -48
  350. package/dist/types/src/features/publicApi/types/projectTypes.d.ts +1097 -211
  351. package/dist/types/src/features/publicApi/types/scoreTypes.d.ts +96 -32
  352. package/dist/types/src/features/publicApi/types/sharedTypes.d.ts +126 -30
  353. package/dist/types/src/features/publicApi/types/teamRoleTypes.d.ts +2 -7
  354. package/dist/types/src/features/publicApi/types/teamTypes.d.ts +328 -65
  355. package/dist/types/src/features/publicApi/types/teamUserTypes.d.ts +208 -91
  356. package/dist/types/src/features/publicApi/types/userTokenTypes.d.ts +39 -9
  357. package/dist/types/src/features/publicApi/userToken.d.ts +53 -1
  358. package/package.json +1 -1
@@ -1,85 +1,90 @@
1
- import * as React from "react";
2
- import debounce from "./harmony146.mjs";
3
- import throttle from "./harmony147.mjs";
4
- const patchResizeCallback = (resizeCallback, refreshMode, refreshRate, refreshOptions) => {
5
- switch (refreshMode) {
6
- case "debounce":
7
- return debounce(resizeCallback, refreshRate, refreshOptions);
8
- case "throttle":
9
- return throttle(resizeCallback, refreshRate, refreshOptions);
10
- default:
11
- return resizeCallback;
12
- }
13
- };
14
- const useCallbackRef = (
15
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
16
- (callback) => {
17
- const callbackRef = React.useRef(callback);
18
- React.useEffect(() => {
19
- callbackRef.current = callback;
20
- });
21
- return React.useMemo(() => (...args) => {
22
- var _a;
23
- return (_a = callbackRef.current) === null || _a === void 0 ? void 0 : _a.call(callbackRef, ...args);
24
- }, []);
25
- }
26
- );
27
- const useRefProxy = (
28
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
29
- (targetRef) => {
30
- const [refElement, setRefElement] = React.useState((targetRef === null || targetRef === void 0 ? void 0 : targetRef.current) || null);
31
- if (targetRef) {
32
- setTimeout(() => {
33
- if (targetRef.current !== refElement) {
34
- setRefElement(targetRef.current);
35
- }
36
- }, 0);
37
- }
38
- const refProxy = React.useMemo(() => new Proxy((node) => {
39
- if (node !== refElement) {
40
- setRefElement(node);
41
- }
42
- }, {
43
- get(target, prop) {
44
- if (prop === "current") {
45
- return refElement;
46
- }
47
- return target[prop];
48
- },
49
- set(target, prop, value) {
50
- if (prop === "current") {
51
- setRefElement(value);
52
- } else {
53
- target[prop] = value;
54
- }
55
- return true;
56
- }
57
- }), [refElement]);
58
- return { refProxy, refElement, setRefElement };
59
- }
60
- );
61
- const getDimensions = (entry, box) => {
62
- if (box === "border-box") {
63
- return {
64
- width: entry.borderBoxSize[0].inlineSize,
65
- height: entry.borderBoxSize[0].blockSize
66
- };
67
- }
68
- if (box === "content-box") {
69
- return {
70
- width: entry.contentBoxSize[0].inlineSize,
71
- height: entry.contentBoxSize[0].blockSize
72
- };
73
- }
1
+ import { hasAdminRight, hasAnyAdminRight } from "./harmony146.mjs";
2
+ const getProjectNavigationVisibilityMap = (project, adminRights, isFeatureEnabled) => {
3
+ var _a, _b;
74
4
  return {
75
- width: entry.contentRect.width,
76
- height: entry.contentRect.height
5
+ upload: {
6
+ visible: hasAdminRight(adminRights, "upload"),
7
+ disabled: false
8
+ },
9
+ download: {
10
+ visible: hasAdminRight(adminRights, "download"),
11
+ disabled: false
12
+ },
13
+ // TODO: HOME-1009, Clean up after permission management
14
+ // -- There is a plan for "Install apps" permission. Right..?
15
+ apps: {
16
+ visible: true,
17
+ disabled: false
18
+ },
19
+ // TODO: HOME-1009, Clean up after permission management
20
+ // -- There is a plan for "Install apps" permission. Right..?
21
+ contentManagement: {
22
+ visible: project.project_type === "content_integration" && hasAdminRight(adminRights, "keys"),
23
+ disabled: false
24
+ },
25
+ editor: {
26
+ visible: true,
27
+ disabled: false
28
+ },
29
+ files: {
30
+ visible: isFeatureEnabled("lionLfcFilesManagement") && project.project_type === "paged_documents" && hasAnyAdminRight(adminRights, ["upload", "download"]),
31
+ disabled: false
32
+ },
33
+ tasks: {
34
+ visible: hasAdminRight(adminRights, "tasks"),
35
+ disabled: false
36
+ },
37
+ contributors: {
38
+ visible: hasAdminRight(adminRights, "contributors"),
39
+ disabled: false
40
+ },
41
+ workflows: {
42
+ visible: hasAdminRight(adminRights, "settings"),
43
+ disabled: false
44
+ },
45
+ screenshots: {
46
+ visible: hasAdminRight(adminRights, "screenshots"),
47
+ disabled: false
48
+ },
49
+ glossary: {
50
+ visible: hasAdminRight(adminRights, "glossary"),
51
+ disabled: false
52
+ },
53
+ more: {
54
+ visible: true,
55
+ disabled: false
56
+ },
57
+ settings: {
58
+ visible: hasAdminRight(adminRights, "settings"),
59
+ disabled: false
60
+ },
61
+ branches: {
62
+ visible: !!((_a = project.settings) == null ? void 0 : _a.branching) && hasAnyAdminRight(adminRights, ["branches_create", "create_branches", "branches_merge"]),
63
+ disabled: false
64
+ },
65
+ otaBundles: {
66
+ visible: hasAnyAdminRight(adminRights, ["download", "settings", "keys"]) && project.project_type === "localization_files",
67
+ disabled: false
68
+ },
69
+ automations: {
70
+ visible: hasAdminRight(adminRights, "settings"),
71
+ disabled: false
72
+ },
73
+ duplicateFinder: {
74
+ visible: hasAdminRight(adminRights, "keys") && project.project_type === "localization_files",
75
+ disabled: false
76
+ },
77
+ activity: {
78
+ visible: !!((_b = project.settings) == null ? void 0 : _b.offline_translation) || hasAdminRight(adminRights, "activity"),
79
+ disabled: false
80
+ },
81
+ statistics: {
82
+ visible: hasAdminRight(adminRights, "statistics"),
83
+ disabled: false
84
+ }
77
85
  };
78
86
  };
79
87
  export {
80
- getDimensions,
81
- patchResizeCallback,
82
- useCallbackRef,
83
- useRefProxy
88
+ getProjectNavigationVisibilityMap
84
89
  };
85
90
  //# sourceMappingURL=harmony122.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"harmony122.mjs","sources":["../node_modules/react-resize-detector/build/utils.js"],"sourcesContent":["import * as React from 'react';\nimport debounce from 'lodash/debounce.js';\nimport throttle from 'lodash/throttle.js';\n\n/**\n * Wraps the resize callback with a lodash debounce / throttle based on the refresh mode\n */\nconst patchResizeCallback = (resizeCallback, refreshMode, refreshRate, refreshOptions) => {\n switch (refreshMode) {\n case 'debounce':\n return debounce(resizeCallback, refreshRate, refreshOptions);\n case 'throttle':\n return throttle(resizeCallback, refreshRate, refreshOptions);\n default:\n return resizeCallback;\n }\n};\n/**\n * A custom hook that converts a callback to a ref to avoid triggering re-renders when passed as a\n * prop or avoid re-executing effects when passed as a dependency\n */\nconst useCallbackRef = \n// eslint-disable-next-line @typescript-eslint/no-explicit-any\n(callback) => {\n const callbackRef = React.useRef(callback);\n React.useEffect(() => {\n callbackRef.current = callback;\n });\n return React.useMemo(() => ((...args) => { var _a; return (_a = callbackRef.current) === null || _a === void 0 ? void 0 : _a.call(callbackRef, ...args); }), []);\n};\n/** `useRef` hook doesn't handle conditional rendering or dynamic ref changes.\n * This hook creates a proxy that ensures that `refElement` is updated whenever the ref is changed. */\nconst useRefProxy = \n// eslint-disable-next-line @typescript-eslint/no-explicit-any\n(targetRef) => {\n // we are going to use this ref to store the last element that was passed to the hook\n const [refElement, setRefElement] = React.useState((targetRef === null || targetRef === void 0 ? void 0 : targetRef.current) || null);\n // if targetRef is passed, we need to update the refElement\n // we have to use setTimeout because ref get assigned after the hook is called\n // in the future releases we are going to remove targetRef and force users to use ref returned by the hook\n if (targetRef) {\n setTimeout(() => {\n if (targetRef.current !== refElement) {\n setRefElement(targetRef.current);\n }\n }, 0);\n }\n // this is a memo that will be called every time the ref is changed\n // This proxy will properly call setState either when the ref is called as a function or when `.current` is set\n // we call setState inside to trigger rerender\n const refProxy = React.useMemo(() => new Proxy((node) => {\n if (node !== refElement) {\n setRefElement(node);\n }\n }, {\n get(target, prop) {\n if (prop === 'current') {\n return refElement;\n }\n return target[prop];\n },\n set(target, prop, value) {\n if (prop === 'current') {\n setRefElement(value);\n }\n else {\n target[prop] = value;\n }\n return true;\n },\n }), [refElement]);\n return { refProxy, refElement, setRefElement };\n};\n/** Calculates the dimensions of the element based on the current box model.\n * @see https://developer.mozilla.org/en-US/docs/Learn/CSS/Building_blocks/The_box_model\n */\nconst getDimensions = (entry, box) => {\n // Value\t Border\t Padding\t Inner Content\n // ---------------------------------------------------\n // 'border-box'\t Yes\t Yes\t Yes\n // 'content-box'\t No\t No\t Yes\n // undefined No\t No?\t Yes\n if (box === 'border-box') {\n return {\n width: entry.borderBoxSize[0].inlineSize,\n height: entry.borderBoxSize[0].blockSize,\n };\n }\n if (box === 'content-box') {\n return {\n width: entry.contentBoxSize[0].inlineSize,\n height: entry.contentBoxSize[0].blockSize,\n };\n }\n return {\n width: entry.contentRect.width,\n height: entry.contentRect.height,\n };\n};\n\nexport { getDimensions, patchResizeCallback, useCallbackRef, useRefProxy };\n//# sourceMappingURL=utils.js.map\n"],"names":[],"mappings":";;;AAOK,MAAC,sBAAsB,CAAC,gBAAgB,aAAa,aAAa,mBAAmB;AACtF,UAAQ,aAAW;AAAA,IACf,KAAK;AACD,aAAO,SAAS,gBAAgB,aAAa,cAAc;AAAA,IAC/D,KAAK;AACD,aAAO,SAAS,gBAAgB,aAAa,cAAc;AAAA,IAC/D;AACI,aAAO;AAAA,EACnB;AACA;AAKK,MAAC;AAAA;AAAA,EAEN,CAAC,aAAa;AACV,UAAM,cAAc,MAAM,OAAO,QAAQ;AACzC,UAAM,UAAU,MAAM;AAClB,kBAAY,UAAU;AAAA,IAC9B,CAAK;AACD,WAAO,MAAM,QAAQ,MAAO,IAAI,SAAS;AAAE,UAAI;AAAI,cAAQ,KAAK,YAAY,aAAa,QAAQ,OAAO,SAAS,SAAS,GAAG,KAAK,aAAa,GAAG,IAAI;AAAA,IAAI,GAAG,CAAA,CAAE;AAAA,EACnK;AAAA;AAGK,MAAC;AAAA;AAAA,EAEN,CAAC,cAAc;AAEX,UAAM,CAAC,YAAY,aAAa,IAAI,MAAM,UAAU,cAAc,QAAQ,cAAc,SAAS,SAAS,UAAU,YAAY,IAAI;AAIpI,QAAI,WAAW;AACX,iBAAW,MAAM;AACb,YAAI,UAAU,YAAY,YAAY;AAClC,wBAAc,UAAU,OAAO;AAAA,QAC/C;AAAA,MACS,GAAE,CAAC;AAAA,IACZ;AAII,UAAM,WAAW,MAAM,QAAQ,MAAM,IAAI,MAAM,CAAC,SAAS;AACrD,UAAI,SAAS,YAAY;AACrB,sBAAc,IAAI;AAAA,MAC9B;AAAA,IACA,GAAO;AAAA,MACC,IAAI,QAAQ,MAAM;AACd,YAAI,SAAS,WAAW;AACpB,iBAAO;AAAA,QACvB;AACY,eAAO,OAAO,IAAI;AAAA,MACrB;AAAA,MACD,IAAI,QAAQ,MAAM,OAAO;AACrB,YAAI,SAAS,WAAW;AACpB,wBAAc,KAAK;AAAA,QACnC,OACiB;AACD,iBAAO,IAAI,IAAI;AAAA,QAC/B;AACY,eAAO;AAAA,MACV;AAAA,IACT,CAAK,GAAG,CAAC,UAAU,CAAC;AAChB,WAAO,EAAE,UAAU,YAAY,cAAe;AAAA,EAClD;AAAA;AAIK,MAAC,gBAAgB,CAAC,OAAO,QAAQ;AAMlC,MAAI,QAAQ,cAAc;AACtB,WAAO;AAAA,MACH,OAAO,MAAM,cAAc,CAAC,EAAE;AAAA,MAC9B,QAAQ,MAAM,cAAc,CAAC,EAAE;AAAA,IAClC;AAAA,EACT;AACI,MAAI,QAAQ,eAAe;AACvB,WAAO;AAAA,MACH,OAAO,MAAM,eAAe,CAAC,EAAE;AAAA,MAC/B,QAAQ,MAAM,eAAe,CAAC,EAAE;AAAA,IACnC;AAAA,EACT;AACI,SAAO;AAAA,IACH,OAAO,MAAM,YAAY;AAAA,IACzB,QAAQ,MAAM,YAAY;AAAA,EAC7B;AACL;","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"harmony122.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,23 +1,33 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const v4 = require("zod/v4");
4
- const teamRoleTypes = require("./harmony86.cjs");
5
- const JWT_TOKEN_PAYLOAD_SCHEMA = v4.z.object({
6
- userId: v4.z.number(),
7
- userUuid: v4.z.string().uuid(),
8
- teamId: v4.z.number(),
9
- teamUuid: v4.z.string().uuid(),
10
- userTeamRole: teamRoleTypes.TEAM_ROLE_SCHEMA,
11
- userEmail: v4.z.string().email(),
12
- userName: v4.z.string(),
13
- userCurrentTeamId: v4.z.number(),
14
- planId: v4.z.number(),
15
- planName: v4.z.string(),
16
- isProviderAlpha: v4.z.boolean(),
17
- isFullyAuthenticated: v4.z.boolean(),
18
- isEndOfTrialActive: v4.z.boolean(),
19
- isTeamSuspended: v4.z.boolean(),
20
- exp: v4.z.number()
21
- });
22
- exports.JWT_TOKEN_PAYLOAD_SCHEMA = JWT_TOKEN_PAYLOAD_SCHEMA;
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;
23
33
  //# sourceMappingURL=harmony123.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"harmony123.cjs","sources":["../src/features/auth/core/types/jwtTokenPayload.ts"],"sourcesContent":["import { z } from 'zod/v4'\nimport { TEAM_ROLE_SCHEMA } from '../../../publicApi/types/teamRoleTypes'\n\nexport const JWT_TOKEN_PAYLOAD_SCHEMA = z.object({\n\tuserId: z.number(),\n\tuserUuid: z.string().uuid(),\n\tteamId: z.number(),\n\tteamUuid: z.string().uuid(),\n\tuserTeamRole: TEAM_ROLE_SCHEMA,\n\tuserEmail: z.string().email(),\n\tuserName: z.string(),\n\tuserCurrentTeamId: z.number(),\n\tplanId: z.number(),\n\tplanName: z.string(),\n\tisProviderAlpha: z.boolean(),\n\tisFullyAuthenticated: z.boolean(),\n\tisEndOfTrialActive: z.boolean(),\n\tisTeamSuspended: z.boolean(),\n\texp: z.number(),\n})\nexport type JwtTokenPayload = z.infer<typeof JWT_TOKEN_PAYLOAD_SCHEMA>\n"],"names":["z","TEAM_ROLE_SCHEMA"],"mappings":";;;;AAGa,MAAA,2BAA2BA,KAAE,OAAO;AAAA,EAChD,QAAQA,KAAE,OAAO;AAAA,EACjB,UAAUA,GAAA,EAAE,OAAO,EAAE,KAAK;AAAA,EAC1B,QAAQA,KAAE,OAAO;AAAA,EACjB,UAAUA,GAAA,EAAE,OAAO,EAAE,KAAK;AAAA,EAC1B,cAAcC,cAAA;AAAA,EACd,WAAWD,GAAA,EAAE,OAAO,EAAE,MAAM;AAAA,EAC5B,UAAUA,KAAE,OAAO;AAAA,EACnB,mBAAmBA,KAAE,OAAO;AAAA,EAC5B,QAAQA,KAAE,OAAO;AAAA,EACjB,UAAUA,KAAE,OAAO;AAAA,EACnB,iBAAiBA,KAAE,QAAQ;AAAA,EAC3B,sBAAsBA,KAAE,QAAQ;AAAA,EAChC,oBAAoBA,KAAE,QAAQ;AAAA,EAC9B,iBAAiBA,KAAE,QAAQ;AAAA,EAC3B,KAAKA,KAAE,OAAO;AACf,CAAC;;"}
1
+ {"version":3,"file":"harmony123.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,23 +1,33 @@
1
- import { z } from "zod/v4";
2
- import { TEAM_ROLE_SCHEMA } from "./harmony86.mjs";
3
- const JWT_TOKEN_PAYLOAD_SCHEMA = z.object({
4
- userId: z.number(),
5
- userUuid: z.string().uuid(),
6
- teamId: z.number(),
7
- teamUuid: z.string().uuid(),
8
- userTeamRole: TEAM_ROLE_SCHEMA,
9
- userEmail: z.string().email(),
10
- userName: z.string(),
11
- userCurrentTeamId: z.number(),
12
- planId: z.number(),
13
- planName: z.string(),
14
- isProviderAlpha: z.boolean(),
15
- isFullyAuthenticated: z.boolean(),
16
- isEndOfTrialActive: z.boolean(),
17
- isTeamSuspended: z.boolean(),
18
- exp: z.number()
19
- });
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
+ ];
20
30
  export {
21
- JWT_TOKEN_PAYLOAD_SCHEMA
31
+ navigationItems
22
32
  };
23
33
  //# sourceMappingURL=harmony123.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"harmony123.mjs","sources":["../src/features/auth/core/types/jwtTokenPayload.ts"],"sourcesContent":["import { z } from 'zod/v4'\nimport { TEAM_ROLE_SCHEMA } from '../../../publicApi/types/teamRoleTypes'\n\nexport const JWT_TOKEN_PAYLOAD_SCHEMA = z.object({\n\tuserId: z.number(),\n\tuserUuid: z.string().uuid(),\n\tteamId: z.number(),\n\tteamUuid: z.string().uuid(),\n\tuserTeamRole: TEAM_ROLE_SCHEMA,\n\tuserEmail: z.string().email(),\n\tuserName: z.string(),\n\tuserCurrentTeamId: z.number(),\n\tplanId: z.number(),\n\tplanName: z.string(),\n\tisProviderAlpha: z.boolean(),\n\tisFullyAuthenticated: z.boolean(),\n\tisEndOfTrialActive: z.boolean(),\n\tisTeamSuspended: z.boolean(),\n\texp: z.number(),\n})\nexport type JwtTokenPayload = z.infer<typeof JWT_TOKEN_PAYLOAD_SCHEMA>\n"],"names":[],"mappings":";;AAGa,MAAA,2BAA2B,EAAE,OAAO;AAAA,EAChD,QAAQ,EAAE,OAAO;AAAA,EACjB,UAAU,EAAE,OAAO,EAAE,KAAK;AAAA,EAC1B,QAAQ,EAAE,OAAO;AAAA,EACjB,UAAU,EAAE,OAAO,EAAE,KAAK;AAAA,EAC1B,cAAc;AAAA,EACd,WAAW,EAAE,OAAO,EAAE,MAAM;AAAA,EAC5B,UAAU,EAAE,OAAO;AAAA,EACnB,mBAAmB,EAAE,OAAO;AAAA,EAC5B,QAAQ,EAAE,OAAO;AAAA,EACjB,UAAU,EAAE,OAAO;AAAA,EACnB,iBAAiB,EAAE,QAAQ;AAAA,EAC3B,sBAAsB,EAAE,QAAQ;AAAA,EAChC,oBAAoB,EAAE,QAAQ;AAAA,EAC9B,iBAAiB,EAAE,QAAQ;AAAA,EAC3B,KAAK,EAAE,OAAO;AACf,CAAC;"}
1
+ {"version":3,"file":"harmony123.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,10 +1,23 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const React = require("react");
4
- const featureFlagContext = React.createContext(void 0);
5
- const teamContext = React.createContext(void 0);
6
- const projectPermissionsContext = React.createContext({});
7
- exports.featureFlagContext = featureFlagContext;
8
- exports.projectPermissionsContext = projectPermissionsContext;
9
- exports.teamContext = teamContext;
3
+ const zod = require("zod");
4
+ const teamRoleTypes = require("./harmony86.cjs");
5
+ const JWT_TOKEN_PAYLOAD_SCHEMA = zod.z.object({
6
+ userId: zod.z.number(),
7
+ userUuid: zod.z.string().uuid(),
8
+ teamId: zod.z.number(),
9
+ teamUuid: zod.z.string().uuid(),
10
+ userTeamRole: teamRoleTypes.TEAM_ROLE_SCHEMA,
11
+ userEmail: zod.z.string().email(),
12
+ userName: zod.z.string(),
13
+ userCurrentTeamId: zod.z.number(),
14
+ planId: zod.z.number(),
15
+ planName: zod.z.string(),
16
+ isProviderAlpha: zod.z.boolean(),
17
+ isFullyAuthenticated: zod.z.boolean(),
18
+ isEndOfTrialActive: zod.z.boolean(),
19
+ isTeamSuspended: zod.z.boolean(),
20
+ exp: zod.z.number()
21
+ });
22
+ exports.JWT_TOKEN_PAYLOAD_SCHEMA = JWT_TOKEN_PAYLOAD_SCHEMA;
10
23
  //# sourceMappingURL=harmony124.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"harmony124.cjs","sources":["../src/features/permissions/context/ActionsContext.tsx"],"sourcesContent":["import type {\n\tFeatureFlag,\n\tLegacyProjectPermission,\n\tProjectPermission,\n\tProjectType,\n\tTeamRole,\n} from '@features/permissions/types'\nimport { createContext } from 'react'\n\nexport const featureFlagContext = createContext<FeatureFlag[] | undefined>(undefined)\n\nexport const teamContext = createContext<TeamRole | undefined>(undefined)\n\ntype ProjectPermissionsContextType = {\n\tpermissions?: (ProjectPermission | LegacyProjectPermission)[]\n\tprojectType?: ProjectType\n}\nexport const projectPermissionsContext = createContext<ProjectPermissionsContextType>({})\n"],"names":["createContext"],"mappings":";;;AASa,MAAA,qBAAqBA,oBAAyC,MAAS;AAEvE,MAAA,cAAcA,oBAAoC,MAAS;AAM3D,MAAA,4BAA4BA,MAA6C,cAAA,CAAE,CAAA;;;;"}
1
+ {"version":3,"file":"harmony124.cjs","sources":["../src/features/auth/core/types/jwtTokenPayload.ts"],"sourcesContent":["import { z } from 'zod'\nimport { TEAM_ROLE_SCHEMA } from '../../../publicApi/types/teamRoleTypes'\n\nexport const JWT_TOKEN_PAYLOAD_SCHEMA = z.object({\n\tuserId: z.number(),\n\tuserUuid: z.string().uuid(),\n\tteamId: z.number(),\n\tteamUuid: z.string().uuid(),\n\tuserTeamRole: TEAM_ROLE_SCHEMA,\n\tuserEmail: z.string().email(),\n\tuserName: z.string(),\n\tuserCurrentTeamId: z.number(),\n\tplanId: z.number(),\n\tplanName: z.string(),\n\tisProviderAlpha: z.boolean(),\n\tisFullyAuthenticated: z.boolean(),\n\tisEndOfTrialActive: z.boolean(),\n\tisTeamSuspended: z.boolean(),\n\texp: z.number(),\n})\nexport type JwtTokenPayload = z.infer<typeof JWT_TOKEN_PAYLOAD_SCHEMA>\n"],"names":["z","TEAM_ROLE_SCHEMA"],"mappings":";;;;AAGa,MAAA,2BAA2BA,MAAE,OAAO;AAAA,EAChD,QAAQA,MAAE,OAAO;AAAA,EACjB,UAAUA,IAAA,EAAE,OAAO,EAAE,KAAK;AAAA,EAC1B,QAAQA,MAAE,OAAO;AAAA,EACjB,UAAUA,IAAA,EAAE,OAAO,EAAE,KAAK;AAAA,EAC1B,cAAcC,cAAA;AAAA,EACd,WAAWD,IAAA,EAAE,OAAO,EAAE,MAAM;AAAA,EAC5B,UAAUA,MAAE,OAAO;AAAA,EACnB,mBAAmBA,MAAE,OAAO;AAAA,EAC5B,QAAQA,MAAE,OAAO;AAAA,EACjB,UAAUA,MAAE,OAAO;AAAA,EACnB,iBAAiBA,MAAE,QAAQ;AAAA,EAC3B,sBAAsBA,MAAE,QAAQ;AAAA,EAChC,oBAAoBA,MAAE,QAAQ;AAAA,EAC9B,iBAAiBA,MAAE,QAAQ;AAAA,EAC3B,KAAKA,MAAE,OAAO;AACf,CAAC;;"}
@@ -1,10 +1,23 @@
1
- import { createContext } from "react";
2
- const featureFlagContext = createContext(void 0);
3
- const teamContext = createContext(void 0);
4
- const projectPermissionsContext = createContext({});
1
+ import { z } from "zod";
2
+ import { TEAM_ROLE_SCHEMA } from "./harmony86.mjs";
3
+ const JWT_TOKEN_PAYLOAD_SCHEMA = z.object({
4
+ userId: z.number(),
5
+ userUuid: z.string().uuid(),
6
+ teamId: z.number(),
7
+ teamUuid: z.string().uuid(),
8
+ userTeamRole: TEAM_ROLE_SCHEMA,
9
+ userEmail: z.string().email(),
10
+ userName: z.string(),
11
+ userCurrentTeamId: z.number(),
12
+ planId: z.number(),
13
+ planName: z.string(),
14
+ isProviderAlpha: z.boolean(),
15
+ isFullyAuthenticated: z.boolean(),
16
+ isEndOfTrialActive: z.boolean(),
17
+ isTeamSuspended: z.boolean(),
18
+ exp: z.number()
19
+ });
5
20
  export {
6
- featureFlagContext,
7
- projectPermissionsContext,
8
- teamContext
21
+ JWT_TOKEN_PAYLOAD_SCHEMA
9
22
  };
10
23
  //# sourceMappingURL=harmony124.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"harmony124.mjs","sources":["../src/features/permissions/context/ActionsContext.tsx"],"sourcesContent":["import type {\n\tFeatureFlag,\n\tLegacyProjectPermission,\n\tProjectPermission,\n\tProjectType,\n\tTeamRole,\n} from '@features/permissions/types'\nimport { createContext } from 'react'\n\nexport const featureFlagContext = createContext<FeatureFlag[] | undefined>(undefined)\n\nexport const teamContext = createContext<TeamRole | undefined>(undefined)\n\ntype ProjectPermissionsContextType = {\n\tpermissions?: (ProjectPermission | LegacyProjectPermission)[]\n\tprojectType?: ProjectType\n}\nexport const projectPermissionsContext = createContext<ProjectPermissionsContextType>({})\n"],"names":[],"mappings":";AASa,MAAA,qBAAqB,cAAyC,MAAS;AAEvE,MAAA,cAAc,cAAoC,MAAS;AAM3D,MAAA,4BAA4B,cAA6C,CAAE,CAAA;"}
1
+ {"version":3,"file":"harmony124.mjs","sources":["../src/features/auth/core/types/jwtTokenPayload.ts"],"sourcesContent":["import { z } from 'zod'\nimport { TEAM_ROLE_SCHEMA } from '../../../publicApi/types/teamRoleTypes'\n\nexport const JWT_TOKEN_PAYLOAD_SCHEMA = z.object({\n\tuserId: z.number(),\n\tuserUuid: z.string().uuid(),\n\tteamId: z.number(),\n\tteamUuid: z.string().uuid(),\n\tuserTeamRole: TEAM_ROLE_SCHEMA,\n\tuserEmail: z.string().email(),\n\tuserName: z.string(),\n\tuserCurrentTeamId: z.number(),\n\tplanId: z.number(),\n\tplanName: z.string(),\n\tisProviderAlpha: z.boolean(),\n\tisFullyAuthenticated: z.boolean(),\n\tisEndOfTrialActive: z.boolean(),\n\tisTeamSuspended: z.boolean(),\n\texp: z.number(),\n})\nexport type JwtTokenPayload = z.infer<typeof JWT_TOKEN_PAYLOAD_SCHEMA>\n"],"names":[],"mappings":";;AAGa,MAAA,2BAA2B,EAAE,OAAO;AAAA,EAChD,QAAQ,EAAE,OAAO;AAAA,EACjB,UAAU,EAAE,OAAO,EAAE,KAAK;AAAA,EAC1B,QAAQ,EAAE,OAAO;AAAA,EACjB,UAAU,EAAE,OAAO,EAAE,KAAK;AAAA,EAC1B,cAAc;AAAA,EACd,WAAW,EAAE,OAAO,EAAE,MAAM;AAAA,EAC5B,UAAU,EAAE,OAAO;AAAA,EACnB,mBAAmB,EAAE,OAAO;AAAA,EAC5B,QAAQ,EAAE,OAAO;AAAA,EACjB,UAAU,EAAE,OAAO;AAAA,EACnB,iBAAiB,EAAE,QAAQ;AAAA,EAC3B,sBAAsB,EAAE,QAAQ;AAAA,EAChC,oBAAoB,EAAE,QAAQ;AAAA,EAC9B,iBAAiB,EAAE,QAAQ;AAAA,EAC3B,KAAK,EAAE,OAAO;AACf,CAAC;"}
@@ -1,20 +1,10 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const ActionsContext = require("./harmony124.cjs");
4
3
  const React = require("react");
5
- const useActionResolverPayload = () => {
6
- const teamRole = React.useContext(ActionsContext.teamContext);
7
- const enabledFeatureFlags = React.useContext(ActionsContext.featureFlagContext);
8
- const { permissions: projectPermissions, projectType } = React.useContext(ActionsContext.projectPermissionsContext);
9
- return React.useMemo(
10
- () => ({
11
- enabledFeatureFlags,
12
- teamRole,
13
- projectPermissions,
14
- projectType
15
- }),
16
- [enabledFeatureFlags, teamRole, projectPermissions, projectType]
17
- );
18
- };
19
- exports.useActionResolverPayload = useActionResolverPayload;
4
+ const featureFlagContext = React.createContext(void 0);
5
+ const teamContext = React.createContext(void 0);
6
+ const projectPermissionsContext = React.createContext({});
7
+ exports.featureFlagContext = featureFlagContext;
8
+ exports.projectPermissionsContext = projectPermissionsContext;
9
+ exports.teamContext = teamContext;
20
10
  //# sourceMappingURL=harmony125.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"harmony125.cjs","sources":["../src/features/permissions/hooks/useActionResolverPayload.ts"],"sourcesContent":["import {\n\tfeatureFlagContext,\n\tprojectPermissionsContext,\n\tteamContext,\n} from '@features/permissions/context/ActionsContext'\nimport type { ActionResolverPayload } from '@features/permissions/types'\nimport { useContext, useMemo } from 'react'\n\nexport const useActionResolverPayload = (): ActionResolverPayload => {\n\tconst teamRole = useContext(teamContext)\n\tconst enabledFeatureFlags = useContext(featureFlagContext)\n\tconst { permissions: projectPermissions, projectType } = useContext(projectPermissionsContext)\n\n\treturn useMemo(\n\t\t() =>\n\t\t\t({\n\t\t\t\tenabledFeatureFlags,\n\t\t\t\tteamRole,\n\t\t\t\tprojectPermissions,\n\t\t\t\tprojectType,\n\t\t\t}) satisfies ActionResolverPayload,\n\t\t[enabledFeatureFlags, teamRole, projectPermissions, projectType],\n\t)\n}\n"],"names":["useContext","teamContext","featureFlagContext","projectPermissionsContext","useMemo"],"mappings":";;;;AAQO,MAAM,2BAA2B,MAA6B;AAC9D,QAAA,WAAWA,iBAAWC,0BAAW;AACjC,QAAA,sBAAsBD,iBAAWE,iCAAkB;AACzD,QAAM,EAAE,aAAa,oBAAoB,YAAY,IAAIF,MAAAA,WAAWG,eAAAA,yBAAyB;AAEtF,SAAAC,MAAA;AAAA,IACN,OACE;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IAAA;AAAA,IAEF,CAAC,qBAAqB,UAAU,oBAAoB,WAAW;AAAA,EAChE;AACD;;"}
1
+ {"version":3,"file":"harmony125.cjs","sources":["../src/features/permissions/context/ActionsContext.tsx"],"sourcesContent":["import type {\n\tFeatureFlag,\n\tLegacyProjectPermission,\n\tProjectPermission,\n\tProjectType,\n\tTeamRole,\n} from '@features/permissions/types'\nimport { createContext } from 'react'\n\nexport const featureFlagContext = createContext<FeatureFlag[] | undefined>(undefined)\n\nexport const teamContext = createContext<TeamRole | undefined>(undefined)\n\ntype ProjectPermissionsContextType = {\n\tpermissions?: (ProjectPermission | LegacyProjectPermission)[]\n\tprojectType?: ProjectType\n}\nexport const projectPermissionsContext = createContext<ProjectPermissionsContextType>({})\n"],"names":["createContext"],"mappings":";;;AASa,MAAA,qBAAqBA,oBAAyC,MAAS;AAEvE,MAAA,cAAcA,oBAAoC,MAAS;AAM3D,MAAA,4BAA4BA,MAA6C,cAAA,CAAE,CAAA;;;;"}
@@ -1,20 +1,10 @@
1
- import { teamContext, featureFlagContext, projectPermissionsContext } from "./harmony124.mjs";
2
- import { useContext, useMemo } from "react";
3
- const useActionResolverPayload = () => {
4
- const teamRole = useContext(teamContext);
5
- const enabledFeatureFlags = useContext(featureFlagContext);
6
- const { permissions: projectPermissions, projectType } = useContext(projectPermissionsContext);
7
- return useMemo(
8
- () => ({
9
- enabledFeatureFlags,
10
- teamRole,
11
- projectPermissions,
12
- projectType
13
- }),
14
- [enabledFeatureFlags, teamRole, projectPermissions, projectType]
15
- );
16
- };
1
+ import { createContext } from "react";
2
+ const featureFlagContext = createContext(void 0);
3
+ const teamContext = createContext(void 0);
4
+ const projectPermissionsContext = createContext({});
17
5
  export {
18
- useActionResolverPayload
6
+ featureFlagContext,
7
+ projectPermissionsContext,
8
+ teamContext
19
9
  };
20
10
  //# sourceMappingURL=harmony125.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"harmony125.mjs","sources":["../src/features/permissions/hooks/useActionResolverPayload.ts"],"sourcesContent":["import {\n\tfeatureFlagContext,\n\tprojectPermissionsContext,\n\tteamContext,\n} from '@features/permissions/context/ActionsContext'\nimport type { ActionResolverPayload } from '@features/permissions/types'\nimport { useContext, useMemo } from 'react'\n\nexport const useActionResolverPayload = (): ActionResolverPayload => {\n\tconst teamRole = useContext(teamContext)\n\tconst enabledFeatureFlags = useContext(featureFlagContext)\n\tconst { permissions: projectPermissions, projectType } = useContext(projectPermissionsContext)\n\n\treturn useMemo(\n\t\t() =>\n\t\t\t({\n\t\t\t\tenabledFeatureFlags,\n\t\t\t\tteamRole,\n\t\t\t\tprojectPermissions,\n\t\t\t\tprojectType,\n\t\t\t}) satisfies ActionResolverPayload,\n\t\t[enabledFeatureFlags, teamRole, projectPermissions, projectType],\n\t)\n}\n"],"names":[],"mappings":";;AAQO,MAAM,2BAA2B,MAA6B;AAC9D,QAAA,WAAW,WAAW,WAAW;AACjC,QAAA,sBAAsB,WAAW,kBAAkB;AACzD,QAAM,EAAE,aAAa,oBAAoB,YAAY,IAAI,WAAW,yBAAyB;AAEtF,SAAA;AAAA,IACN,OACE;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IAAA;AAAA,IAEF,CAAC,qBAAqB,UAAU,oBAAoB,WAAW;AAAA,EAChE;AACD;"}
1
+ {"version":3,"file":"harmony125.mjs","sources":["../src/features/permissions/context/ActionsContext.tsx"],"sourcesContent":["import type {\n\tFeatureFlag,\n\tLegacyProjectPermission,\n\tProjectPermission,\n\tProjectType,\n\tTeamRole,\n} from '@features/permissions/types'\nimport { createContext } from 'react'\n\nexport const featureFlagContext = createContext<FeatureFlag[] | undefined>(undefined)\n\nexport const teamContext = createContext<TeamRole | undefined>(undefined)\n\ntype ProjectPermissionsContextType = {\n\tpermissions?: (ProjectPermission | LegacyProjectPermission)[]\n\tprojectType?: ProjectType\n}\nexport const projectPermissionsContext = createContext<ProjectPermissionsContextType>({})\n"],"names":[],"mappings":";AASa,MAAA,qBAAqB,cAAyC,MAAS;AAEvE,MAAA,cAAc,cAAoC,MAAS;AAM3D,MAAA,4BAA4B,cAA6C,CAAE,CAAA;"}
@@ -1,11 +1,20 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const hasAny = (seed, ...items) => {
4
- if (!seed) return false;
5
- if (items.length === 0) return false;
6
- const seedArray = Array.isArray(seed) ? seed : [seed];
7
- if (seedArray.length === 0) return false;
8
- return items.some((item) => seedArray.includes(item));
3
+ const ActionsContext = require("./harmony125.cjs");
4
+ const React = require("react");
5
+ const useActionResolverPayload = () => {
6
+ const teamRole = React.useContext(ActionsContext.teamContext);
7
+ const enabledFeatureFlags = React.useContext(ActionsContext.featureFlagContext);
8
+ const { permissions: projectPermissions, projectType } = React.useContext(ActionsContext.projectPermissionsContext);
9
+ return React.useMemo(
10
+ () => ({
11
+ enabledFeatureFlags,
12
+ teamRole,
13
+ projectPermissions,
14
+ projectType
15
+ }),
16
+ [enabledFeatureFlags, teamRole, projectPermissions, projectType]
17
+ );
9
18
  };
10
- exports.hasAny = hasAny;
19
+ exports.useActionResolverPayload = useActionResolverPayload;
11
20
  //# sourceMappingURL=harmony126.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"harmony126.cjs","sources":["../src/features/permissions/utils/hasAny.ts"],"sourcesContent":["export const hasAny = <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.some((item) => seedArray.includes(item))\n}\n"],"names":[],"mappings":";;AAAa,MAAA,SAAS,CAAmB,SAA8B,UAAe;AACjF,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,KAAK,CAAC,SAAS,UAAU,SAAS,IAAI,CAAC;AACrD;;"}
1
+ {"version":3,"file":"harmony126.cjs","sources":["../src/features/permissions/hooks/useActionResolverPayload.ts"],"sourcesContent":["import {\n\tfeatureFlagContext,\n\tprojectPermissionsContext,\n\tteamContext,\n} from '@features/permissions/context/ActionsContext'\nimport type { ActionResolverPayload } from '@features/permissions/types'\nimport { useContext, useMemo } from 'react'\n\nexport const useActionResolverPayload = (): ActionResolverPayload => {\n\tconst teamRole = useContext(teamContext)\n\tconst enabledFeatureFlags = useContext(featureFlagContext)\n\tconst { permissions: projectPermissions, projectType } = useContext(projectPermissionsContext)\n\n\treturn useMemo(\n\t\t() =>\n\t\t\t({\n\t\t\t\tenabledFeatureFlags,\n\t\t\t\tteamRole,\n\t\t\t\tprojectPermissions,\n\t\t\t\tprojectType,\n\t\t\t}) satisfies ActionResolverPayload,\n\t\t[enabledFeatureFlags, teamRole, projectPermissions, projectType],\n\t)\n}\n"],"names":["useContext","teamContext","featureFlagContext","projectPermissionsContext","useMemo"],"mappings":";;;;AAQO,MAAM,2BAA2B,MAA6B;AAC9D,QAAA,WAAWA,iBAAWC,0BAAW;AACjC,QAAA,sBAAsBD,iBAAWE,iCAAkB;AACzD,QAAM,EAAE,aAAa,oBAAoB,YAAY,IAAIF,MAAAA,WAAWG,eAAAA,yBAAyB;AAEtF,SAAAC,MAAA;AAAA,IACN,OACE;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IAAA;AAAA,IAEF,CAAC,qBAAqB,UAAU,oBAAoB,WAAW;AAAA,EAChE;AACD;;"}
@@ -1,11 +1,20 @@
1
- const hasAny = (seed, ...items) => {
2
- if (!seed) return false;
3
- if (items.length === 0) return false;
4
- const seedArray = Array.isArray(seed) ? seed : [seed];
5
- if (seedArray.length === 0) return false;
6
- return items.some((item) => seedArray.includes(item));
1
+ import { teamContext, featureFlagContext, projectPermissionsContext } from "./harmony125.mjs";
2
+ import { useContext, useMemo } from "react";
3
+ const useActionResolverPayload = () => {
4
+ const teamRole = useContext(teamContext);
5
+ const enabledFeatureFlags = useContext(featureFlagContext);
6
+ const { permissions: projectPermissions, projectType } = useContext(projectPermissionsContext);
7
+ return useMemo(
8
+ () => ({
9
+ enabledFeatureFlags,
10
+ teamRole,
11
+ projectPermissions,
12
+ projectType
13
+ }),
14
+ [enabledFeatureFlags, teamRole, projectPermissions, projectType]
15
+ );
7
16
  };
8
17
  export {
9
- hasAny
18
+ useActionResolverPayload
10
19
  };
11
20
  //# sourceMappingURL=harmony126.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"harmony126.mjs","sources":["../src/features/permissions/utils/hasAny.ts"],"sourcesContent":["export const hasAny = <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.some((item) => seedArray.includes(item))\n}\n"],"names":[],"mappings":"AAAa,MAAA,SAAS,CAAmB,SAA8B,UAAe;AACjF,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,KAAK,CAAC,SAAS,UAAU,SAAS,IAAI,CAAC;AACrD;"}
1
+ {"version":3,"file":"harmony126.mjs","sources":["../src/features/permissions/hooks/useActionResolverPayload.ts"],"sourcesContent":["import {\n\tfeatureFlagContext,\n\tprojectPermissionsContext,\n\tteamContext,\n} from '@features/permissions/context/ActionsContext'\nimport type { ActionResolverPayload } from '@features/permissions/types'\nimport { useContext, useMemo } from 'react'\n\nexport const useActionResolverPayload = (): ActionResolverPayload => {\n\tconst teamRole = useContext(teamContext)\n\tconst enabledFeatureFlags = useContext(featureFlagContext)\n\tconst { permissions: projectPermissions, projectType } = useContext(projectPermissionsContext)\n\n\treturn useMemo(\n\t\t() =>\n\t\t\t({\n\t\t\t\tenabledFeatureFlags,\n\t\t\t\tteamRole,\n\t\t\t\tprojectPermissions,\n\t\t\t\tprojectType,\n\t\t\t}) satisfies ActionResolverPayload,\n\t\t[enabledFeatureFlags, teamRole, projectPermissions, projectType],\n\t)\n}\n"],"names":[],"mappings":";;AAQO,MAAM,2BAA2B,MAA6B;AAC9D,QAAA,WAAW,WAAW,WAAW;AACjC,QAAA,sBAAsB,WAAW,kBAAkB;AACzD,QAAM,EAAE,aAAa,oBAAoB,YAAY,IAAI,WAAW,yBAAyB;AAEtF,SAAA;AAAA,IACN,OACE;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IAAA;AAAA,IAEF,CAAC,qBAAqB,UAAU,oBAAoB,WAAW;AAAA,EAChE;AACD;"}
@@ -1,11 +1,11 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const has = (seed, ...items) => {
3
+ const hasAny = (seed, ...items) => {
4
4
  if (!seed) return false;
5
5
  if (items.length === 0) return false;
6
6
  const seedArray = Array.isArray(seed) ? seed : [seed];
7
7
  if (seedArray.length === 0) return false;
8
- return items.every((item) => seedArray.includes(item));
8
+ return items.some((item) => seedArray.includes(item));
9
9
  };
10
- exports.has = has;
10
+ exports.hasAny = hasAny;
11
11
  //# sourceMappingURL=harmony127.cjs.map