@lokalise/harmony 4.3.1 → 4.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (244) hide show
  1. package/dist/harmony.cjs +2 -0
  2. package/dist/harmony.cjs.map +1 -1
  3. package/dist/harmony.mjs +3 -1
  4. package/dist/harmony108.cjs +2 -2
  5. package/dist/harmony108.mjs +2 -2
  6. package/dist/harmony109.cjs +1 -1
  7. package/dist/harmony109.mjs +1 -1
  8. package/dist/harmony110.cjs +1 -1
  9. package/dist/harmony110.mjs +1 -1
  10. package/dist/harmony120.cjs +9 -10
  11. package/dist/harmony120.cjs.map +1 -1
  12. package/dist/harmony120.mjs +11 -12
  13. package/dist/harmony120.mjs.map +1 -1
  14. package/dist/harmony121.cjs +20 -11
  15. package/dist/harmony121.cjs.map +1 -1
  16. package/dist/harmony121.mjs +20 -11
  17. package/dist/harmony121.mjs.map +1 -1
  18. package/dist/harmony122.cjs +10 -9
  19. package/dist/harmony122.cjs.map +1 -1
  20. package/dist/harmony122.mjs +12 -11
  21. package/dist/harmony122.mjs.map +1 -1
  22. package/dist/harmony123.cjs +11 -20
  23. package/dist/harmony123.cjs.map +1 -1
  24. package/dist/harmony123.mjs +11 -20
  25. package/dist/harmony123.mjs.map +1 -1
  26. package/dist/harmony124.cjs +20 -99
  27. package/dist/harmony124.cjs.map +1 -1
  28. package/dist/harmony124.mjs +20 -82
  29. package/dist/harmony124.mjs.map +1 -1
  30. package/dist/harmony125.cjs +8 -21
  31. package/dist/harmony125.cjs.map +1 -1
  32. package/dist/harmony125.mjs +8 -21
  33. package/dist/harmony125.mjs.map +1 -1
  34. package/dist/harmony126.cjs +8 -20
  35. package/dist/harmony126.cjs.map +1 -1
  36. package/dist/harmony126.mjs +8 -20
  37. package/dist/harmony126.mjs.map +1 -1
  38. package/dist/harmony127.cjs +18 -7
  39. package/dist/harmony127.cjs.map +1 -1
  40. package/dist/harmony127.mjs +18 -7
  41. package/dist/harmony127.mjs.map +1 -1
  42. package/dist/harmony128.cjs +21 -8
  43. package/dist/harmony128.cjs.map +1 -1
  44. package/dist/harmony128.mjs +21 -8
  45. package/dist/harmony128.mjs.map +1 -1
  46. package/dist/harmony129.cjs +86 -16
  47. package/dist/harmony129.cjs.map +1 -1
  48. package/dist/harmony129.mjs +86 -16
  49. package/dist/harmony129.mjs.map +1 -1
  50. package/dist/harmony130.cjs +30 -87
  51. package/dist/harmony130.cjs.map +1 -1
  52. package/dist/harmony130.mjs +30 -87
  53. package/dist/harmony130.mjs.map +1 -1
  54. package/dist/harmony131.cjs +98 -29
  55. package/dist/harmony131.cjs.map +1 -1
  56. package/dist/harmony131.mjs +81 -29
  57. package/dist/harmony131.mjs.map +1 -1
  58. package/dist/harmony135.cjs +1 -1
  59. package/dist/harmony135.mjs +1 -1
  60. package/dist/harmony136.cjs +1 -1
  61. package/dist/harmony136.mjs +1 -1
  62. package/dist/harmony137.cjs +1 -1
  63. package/dist/harmony137.mjs +1 -1
  64. package/dist/harmony139.cjs +1 -1
  65. package/dist/harmony139.mjs +1 -1
  66. package/dist/harmony141.cjs +1 -1
  67. package/dist/harmony141.mjs +1 -1
  68. package/dist/harmony142.cjs +1 -1
  69. package/dist/harmony142.mjs +1 -1
  70. package/dist/harmony144.cjs +1 -1
  71. package/dist/harmony144.mjs +1 -1
  72. package/dist/harmony147.cjs +9 -6
  73. package/dist/harmony147.cjs.map +1 -1
  74. package/dist/harmony147.mjs +8 -5
  75. package/dist/harmony147.mjs.map +1 -1
  76. package/dist/harmony148.cjs +3 -6
  77. package/dist/harmony148.cjs.map +1 -1
  78. package/dist/harmony148.mjs +2 -5
  79. package/dist/harmony148.mjs.map +1 -1
  80. package/dist/harmony149.cjs +3 -10
  81. package/dist/harmony149.cjs.map +1 -1
  82. package/dist/harmony149.mjs +3 -10
  83. package/dist/harmony149.mjs.map +1 -1
  84. package/dist/harmony150.cjs +3 -2
  85. package/dist/harmony150.cjs.map +1 -1
  86. package/dist/harmony150.mjs +3 -2
  87. package/dist/harmony150.mjs.map +1 -1
  88. package/dist/harmony151.cjs +3 -3
  89. package/dist/harmony151.cjs.map +1 -1
  90. package/dist/harmony151.mjs +3 -3
  91. package/dist/harmony151.mjs.map +1 -1
  92. package/dist/harmony152.cjs +14 -3
  93. package/dist/harmony152.cjs.map +1 -1
  94. package/dist/harmony152.mjs +14 -3
  95. package/dist/harmony152.mjs.map +1 -1
  96. package/dist/harmony153.cjs +3 -3
  97. package/dist/harmony153.cjs.map +1 -1
  98. package/dist/harmony153.mjs +3 -3
  99. package/dist/harmony153.mjs.map +1 -1
  100. package/dist/harmony154.cjs +7 -7
  101. package/dist/harmony154.cjs.map +1 -1
  102. package/dist/harmony154.mjs +7 -7
  103. package/dist/harmony154.mjs.map +1 -1
  104. package/dist/harmony155.cjs +6 -4
  105. package/dist/harmony155.cjs.map +1 -1
  106. package/dist/harmony155.mjs +5 -3
  107. package/dist/harmony155.mjs.map +1 -1
  108. package/dist/harmony156.cjs +6 -15
  109. package/dist/harmony156.cjs.map +1 -1
  110. package/dist/harmony156.mjs +5 -14
  111. package/dist/harmony156.mjs.map +1 -1
  112. package/dist/harmony157.cjs +10 -96
  113. package/dist/harmony157.cjs.map +1 -1
  114. package/dist/harmony157.mjs +10 -96
  115. package/dist/harmony157.mjs.map +1 -1
  116. package/dist/harmony158.cjs +31 -12
  117. package/dist/harmony158.cjs.map +1 -1
  118. package/dist/harmony158.mjs +31 -12
  119. package/dist/harmony158.mjs.map +1 -1
  120. package/dist/harmony159.cjs +95 -13
  121. package/dist/harmony159.cjs.map +1 -1
  122. package/dist/harmony159.mjs +95 -13
  123. package/dist/harmony159.mjs.map +1 -1
  124. package/dist/harmony160.cjs +11 -34
  125. package/dist/harmony160.cjs.map +1 -1
  126. package/dist/harmony160.mjs +11 -34
  127. package/dist/harmony160.mjs.map +1 -1
  128. package/dist/harmony161.cjs +13 -27
  129. package/dist/harmony161.cjs.map +1 -1
  130. package/dist/harmony161.mjs +13 -27
  131. package/dist/harmony161.mjs.map +1 -1
  132. package/dist/harmony162.cjs +35 -31
  133. package/dist/harmony162.cjs.map +1 -1
  134. package/dist/harmony162.mjs +35 -31
  135. package/dist/harmony162.mjs.map +1 -1
  136. package/dist/harmony163.cjs +27 -12
  137. package/dist/harmony163.cjs.map +1 -1
  138. package/dist/harmony163.mjs +27 -12
  139. package/dist/harmony163.mjs.map +1 -1
  140. package/dist/harmony164.cjs +10 -16
  141. package/dist/harmony164.cjs.map +1 -1
  142. package/dist/harmony164.mjs +9 -15
  143. package/dist/harmony164.mjs.map +1 -1
  144. package/dist/harmony165.cjs +7 -17
  145. package/dist/harmony165.cjs.map +1 -1
  146. package/dist/harmony165.mjs +6 -16
  147. package/dist/harmony165.mjs.map +1 -1
  148. package/dist/harmony166.cjs +6 -6
  149. package/dist/harmony166.mjs +6 -6
  150. package/dist/harmony167.cjs +21 -3
  151. package/dist/harmony167.cjs.map +1 -1
  152. package/dist/harmony167.mjs +21 -3
  153. package/dist/harmony167.mjs.map +1 -1
  154. package/dist/harmony168.cjs +3 -6
  155. package/dist/harmony168.cjs.map +1 -1
  156. package/dist/harmony168.mjs +3 -6
  157. package/dist/harmony168.mjs.map +1 -1
  158. package/dist/harmony169.cjs +9 -21
  159. package/dist/harmony169.cjs.map +1 -1
  160. package/dist/harmony169.mjs +9 -21
  161. package/dist/harmony169.mjs.map +1 -1
  162. package/dist/harmony170.cjs +3 -3
  163. package/dist/harmony170.mjs +3 -3
  164. package/dist/harmony171.cjs +14 -13
  165. package/dist/harmony171.cjs.map +1 -1
  166. package/dist/harmony171.mjs +13 -12
  167. package/dist/harmony171.mjs.map +1 -1
  168. package/dist/harmony172.cjs +16 -7
  169. package/dist/harmony172.cjs.map +1 -1
  170. package/dist/harmony172.mjs +15 -6
  171. package/dist/harmony172.mjs.map +1 -1
  172. package/dist/harmony173.cjs +15 -10
  173. package/dist/harmony173.cjs.map +1 -1
  174. package/dist/harmony173.mjs +15 -10
  175. package/dist/harmony173.mjs.map +1 -1
  176. package/dist/harmony174.cjs +4 -16
  177. package/dist/harmony174.cjs.map +1 -1
  178. package/dist/harmony174.mjs +4 -16
  179. package/dist/harmony174.mjs.map +1 -1
  180. package/dist/harmony175.cjs +10 -20
  181. package/dist/harmony175.cjs.map +1 -1
  182. package/dist/harmony175.mjs +10 -20
  183. package/dist/harmony175.mjs.map +1 -1
  184. package/dist/harmony176.cjs +14 -10
  185. package/dist/harmony176.cjs.map +1 -1
  186. package/dist/harmony176.mjs +14 -10
  187. package/dist/harmony176.mjs.map +1 -1
  188. package/dist/harmony177.cjs +20 -5
  189. package/dist/harmony177.cjs.map +1 -1
  190. package/dist/harmony177.mjs +20 -5
  191. package/dist/harmony177.mjs.map +1 -1
  192. package/dist/harmony178.cjs +11 -11
  193. package/dist/harmony178.cjs.map +1 -1
  194. package/dist/harmony178.mjs +11 -11
  195. package/dist/harmony178.mjs.map +1 -1
  196. package/dist/harmony179.cjs +5 -31
  197. package/dist/harmony179.cjs.map +1 -1
  198. package/dist/harmony179.mjs +5 -31
  199. package/dist/harmony179.mjs.map +1 -1
  200. package/dist/harmony180.cjs +11 -13
  201. package/dist/harmony180.cjs.map +1 -1
  202. package/dist/harmony180.mjs +11 -13
  203. package/dist/harmony180.mjs.map +1 -1
  204. package/dist/harmony181.cjs +32 -4
  205. package/dist/harmony181.cjs.map +1 -1
  206. package/dist/harmony181.mjs +32 -4
  207. package/dist/harmony181.mjs.map +1 -1
  208. package/dist/harmony182.cjs +17 -0
  209. package/dist/harmony182.cjs.map +1 -0
  210. package/dist/harmony182.mjs +17 -0
  211. package/dist/harmony182.mjs.map +1 -0
  212. package/dist/harmony20.cjs +1 -1
  213. package/dist/harmony20.mjs +1 -1
  214. package/dist/harmony40.cjs +1 -1
  215. package/dist/harmony40.mjs +1 -1
  216. package/dist/harmony41.cjs +1 -1
  217. package/dist/harmony41.mjs +1 -1
  218. package/dist/harmony42.cjs +1 -1
  219. package/dist/harmony42.mjs +1 -1
  220. package/dist/harmony44.cjs +8 -0
  221. package/dist/harmony44.cjs.map +1 -1
  222. package/dist/harmony44.mjs +8 -0
  223. package/dist/harmony44.mjs.map +1 -1
  224. package/dist/harmony58.cjs +1 -1
  225. package/dist/harmony58.mjs +1 -1
  226. package/dist/harmony68.cjs +1 -1
  227. package/dist/harmony68.mjs +1 -1
  228. package/dist/harmony97.cjs +1 -1
  229. package/dist/harmony97.mjs +1 -1
  230. package/dist/harmony99.cjs +2 -2
  231. package/dist/harmony99.mjs +2 -2
  232. package/dist/types/src/features/permissions/actionResolvers/accessExpertFeatures.test.d.ts +1 -0
  233. package/dist/types/src/features/permissions/actionResolvers/accessMarketingProjects.test.d.ts +1 -0
  234. package/dist/types/src/features/permissions/actionResolvers/createProjects.test.d.ts +1 -0
  235. package/dist/types/src/features/permissions/actionResolvers/deleteProjects.test.d.ts +1 -0
  236. package/dist/types/src/features/permissions/actionResolvers/downloadFiles.test.d.ts +1 -0
  237. package/dist/types/src/features/permissions/actionResolvers/manageContributors.test.d.ts +1 -0
  238. package/dist/types/src/features/permissions/actionResolvers/manageManagementPermissions.d.ts +6 -0
  239. package/dist/types/src/features/permissions/actionResolvers/manageManagementPermissions.test.d.ts +1 -0
  240. package/dist/types/src/features/permissions/actionResolvers/upgradePlan.test.d.ts +1 -0
  241. package/dist/types/src/features/permissions/actionResolvers/uploadFiles.test.d.ts +1 -0
  242. package/dist/types/src/features/permissions/actionResolvers.d.ts +1 -0
  243. package/dist/types/src/features/permissions/types/projectPermissionTypes.d.ts +7 -0
  244. package/package.json +1 -1
@@ -1,85 +1,23 @@
1
- import * as React from "react";
2
- import debounce from "./harmony147.mjs";
3
- import throttle from "./harmony148.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
- }
74
- return {
75
- width: entry.contentRect.width,
76
- height: entry.contentRect.height
77
- };
78
- };
1
+ import { TEAM_ROLE_SCHEMA } from "./harmony43.mjs";
2
+ import { z } from "zod/v4";
3
+ const JWT_TOKEN_PAYLOAD_SCHEMA = z.object({
4
+ userId: z.number(),
5
+ userUuid: z.guid(),
6
+ teamId: z.number(),
7
+ teamUuid: z.guid(),
8
+ userTeamRole: TEAM_ROLE_SCHEMA,
9
+ userEmail: z.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
+ });
79
20
  export {
80
- getDimensions,
81
- patchResizeCallback,
82
- useCallbackRef,
83
- useRefProxy
21
+ JWT_TOKEN_PAYLOAD_SCHEMA
84
22
  };
85
23
  //# sourceMappingURL=harmony124.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"harmony124.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":"harmony124.mjs","sources":["../src/features/auth/core/types/jwtTokenPayload.ts"],"sourcesContent":["import { TEAM_ROLE_SCHEMA } from '@features/permissions/types/teamRoleTypes'\nimport { z } from 'zod/v4'\n\nexport const JWT_TOKEN_PAYLOAD_SCHEMA = z.object({\n\tuserId: z.number(),\n\tuserUuid: z.guid(),\n\tteamId: z.number(),\n\tteamUuid: z.guid(),\n\tuserTeamRole: TEAM_ROLE_SCHEMA,\n\tuserEmail: z.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,KAAK;AAAA,EACjB,QAAQ,EAAE,OAAO;AAAA,EACjB,UAAU,EAAE,KAAK;AAAA,EACjB,cAAc;AAAA,EACd,WAAW,EAAE,MAAM;AAAA,EACnB,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,24 +1,11 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const sharedTypes = require("./harmony89.cjs");
4
- const apiContracts = require("@lokalise/api-contracts");
5
- const aiConfigurationTypes = require("./harmony81.cjs");
6
- const listAiConfigurations = apiContracts.buildGetRoute({
7
- description: "Fetch list of AI configurations for a given team",
8
- requestHeaderSchema: sharedTypes.BASE_API_ENDPOINT_HEADER_SCHEMA,
9
- requestPathParamsSchema: aiConfigurationTypes.AI_CONFIGS_PATH_PARAMS_SCHEMA,
10
- pathResolver: ({ teamId }) => `/teams/${teamId}/ai-configurations`,
11
- successResponseBodySchema: aiConfigurationTypes.LIST_AI_CONFIGS_RESPONSE_SCHEMA
12
- });
13
- const createAiConfiguration = apiContracts.buildPayloadRoute({
14
- description: "Create an AI configuration",
15
- method: "post",
16
- requestHeaderSchema: sharedTypes.BASE_API_ENDPOINT_HEADER_SCHEMA,
17
- requestBodySchema: aiConfigurationTypes.CREATE_AI_CONFIGS_REQUEST_BODY_SCHEMA,
18
- requestPathParamsSchema: aiConfigurationTypes.AI_CONFIGS_PATH_PARAMS_SCHEMA,
19
- pathResolver: ({ teamId }) => `/teams/${teamId}/ai-configurations`,
20
- successResponseBodySchema: aiConfigurationTypes.CREATE_AI_CONFIGS_RESPONSE_SCHEMA
21
- });
22
- exports.createAiConfiguration = createAiConfiguration;
23
- exports.listAiConfigurations = listAiConfigurations;
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));
9
+ };
10
+ exports.hasAny = hasAny;
24
11
  //# sourceMappingURL=harmony125.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"harmony125.cjs","sources":["../src/features/publicApi/aiConfigurations.ts"],"sourcesContent":["import { BASE_API_ENDPOINT_HEADER_SCHEMA } from '@features/publicApi/types/sharedTypes'\nimport { buildGetRoute, buildPayloadRoute } from '@lokalise/api-contracts'\nimport {\n\tAI_CONFIGS_PATH_PARAMS_SCHEMA,\n\tCREATE_AI_CONFIGS_REQUEST_BODY_SCHEMA,\n\tCREATE_AI_CONFIGS_RESPONSE_SCHEMA,\n\tLIST_AI_CONFIGS_RESPONSE_SCHEMA,\n} from './types/aiConfigurationTypes'\n\n/**\n * Public API router definition for getting the list of AI configurations for a given team\n */\nexport const listAiConfigurations = buildGetRoute({\n\tdescription: 'Fetch list of AI configurations for a given team',\n\trequestHeaderSchema: BASE_API_ENDPOINT_HEADER_SCHEMA,\n\trequestPathParamsSchema: AI_CONFIGS_PATH_PARAMS_SCHEMA,\n\tpathResolver: ({ teamId }) => `/teams/${teamId}/ai-configurations`,\n\tsuccessResponseBodySchema: LIST_AI_CONFIGS_RESPONSE_SCHEMA,\n})\n\n/**\n * Public API router definition for creating an AI configuration for a given team\n */\nexport const createAiConfiguration = buildPayloadRoute({\n\tdescription: 'Create an AI configuration',\n\tmethod: 'post',\n\trequestHeaderSchema: BASE_API_ENDPOINT_HEADER_SCHEMA,\n\trequestBodySchema: CREATE_AI_CONFIGS_REQUEST_BODY_SCHEMA,\n\trequestPathParamsSchema: AI_CONFIGS_PATH_PARAMS_SCHEMA,\n\tpathResolver: ({ teamId }) => `/teams/${teamId}/ai-configurations`,\n\tsuccessResponseBodySchema: CREATE_AI_CONFIGS_RESPONSE_SCHEMA,\n})\n"],"names":["buildGetRoute","BASE_API_ENDPOINT_HEADER_SCHEMA","AI_CONFIGS_PATH_PARAMS_SCHEMA","LIST_AI_CONFIGS_RESPONSE_SCHEMA","buildPayloadRoute","CREATE_AI_CONFIGS_REQUEST_BODY_SCHEMA","CREATE_AI_CONFIGS_RESPONSE_SCHEMA"],"mappings":";;;;;AAYO,MAAM,uBAAuBA,aAAAA,cAAc;AAAA,EACjD,aAAa;AAAA,EACb,qBAAqBC,YAAA;AAAA,EACrB,yBAAyBC,qBAAA;AAAA,EACzB,cAAc,CAAC,EAAE,OAAO,MAAM,UAAU,MAAM;AAAA,EAC9C,2BAA2BC,qBAAAA;AAC5B,CAAC;AAKM,MAAM,wBAAwBC,aAAAA,kBAAkB;AAAA,EACtD,aAAa;AAAA,EACb,QAAQ;AAAA,EACR,qBAAqBH,YAAA;AAAA,EACrB,mBAAmBI,qBAAA;AAAA,EACnB,yBAAyBH,qBAAA;AAAA,EACzB,cAAc,CAAC,EAAE,OAAO,MAAM,UAAU,MAAM;AAAA,EAC9C,2BAA2BI,qBAAAA;AAC5B,CAAC;;;"}
1
+ {"version":3,"file":"harmony125.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,24 +1,11 @@
1
- import { BASE_API_ENDPOINT_HEADER_SCHEMA } from "./harmony89.mjs";
2
- import { buildPayloadRoute, buildGetRoute } from "@lokalise/api-contracts";
3
- import { CREATE_AI_CONFIGS_RESPONSE_SCHEMA, AI_CONFIGS_PATH_PARAMS_SCHEMA, CREATE_AI_CONFIGS_REQUEST_BODY_SCHEMA, LIST_AI_CONFIGS_RESPONSE_SCHEMA } from "./harmony81.mjs";
4
- const listAiConfigurations = buildGetRoute({
5
- description: "Fetch list of AI configurations for a given team",
6
- requestHeaderSchema: BASE_API_ENDPOINT_HEADER_SCHEMA,
7
- requestPathParamsSchema: AI_CONFIGS_PATH_PARAMS_SCHEMA,
8
- pathResolver: ({ teamId }) => `/teams/${teamId}/ai-configurations`,
9
- successResponseBodySchema: LIST_AI_CONFIGS_RESPONSE_SCHEMA
10
- });
11
- const createAiConfiguration = buildPayloadRoute({
12
- description: "Create an AI configuration",
13
- method: "post",
14
- requestHeaderSchema: BASE_API_ENDPOINT_HEADER_SCHEMA,
15
- requestBodySchema: CREATE_AI_CONFIGS_REQUEST_BODY_SCHEMA,
16
- requestPathParamsSchema: AI_CONFIGS_PATH_PARAMS_SCHEMA,
17
- pathResolver: ({ teamId }) => `/teams/${teamId}/ai-configurations`,
18
- successResponseBodySchema: CREATE_AI_CONFIGS_RESPONSE_SCHEMA
19
- });
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));
7
+ };
20
8
  export {
21
- createAiConfiguration,
22
- listAiConfigurations
9
+ hasAny
23
10
  };
24
11
  //# sourceMappingURL=harmony125.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"harmony125.mjs","sources":["../src/features/publicApi/aiConfigurations.ts"],"sourcesContent":["import { BASE_API_ENDPOINT_HEADER_SCHEMA } from '@features/publicApi/types/sharedTypes'\nimport { buildGetRoute, buildPayloadRoute } from '@lokalise/api-contracts'\nimport {\n\tAI_CONFIGS_PATH_PARAMS_SCHEMA,\n\tCREATE_AI_CONFIGS_REQUEST_BODY_SCHEMA,\n\tCREATE_AI_CONFIGS_RESPONSE_SCHEMA,\n\tLIST_AI_CONFIGS_RESPONSE_SCHEMA,\n} from './types/aiConfigurationTypes'\n\n/**\n * Public API router definition for getting the list of AI configurations for a given team\n */\nexport const listAiConfigurations = buildGetRoute({\n\tdescription: 'Fetch list of AI configurations for a given team',\n\trequestHeaderSchema: BASE_API_ENDPOINT_HEADER_SCHEMA,\n\trequestPathParamsSchema: AI_CONFIGS_PATH_PARAMS_SCHEMA,\n\tpathResolver: ({ teamId }) => `/teams/${teamId}/ai-configurations`,\n\tsuccessResponseBodySchema: LIST_AI_CONFIGS_RESPONSE_SCHEMA,\n})\n\n/**\n * Public API router definition for creating an AI configuration for a given team\n */\nexport const createAiConfiguration = buildPayloadRoute({\n\tdescription: 'Create an AI configuration',\n\tmethod: 'post',\n\trequestHeaderSchema: BASE_API_ENDPOINT_HEADER_SCHEMA,\n\trequestBodySchema: CREATE_AI_CONFIGS_REQUEST_BODY_SCHEMA,\n\trequestPathParamsSchema: AI_CONFIGS_PATH_PARAMS_SCHEMA,\n\tpathResolver: ({ teamId }) => `/teams/${teamId}/ai-configurations`,\n\tsuccessResponseBodySchema: CREATE_AI_CONFIGS_RESPONSE_SCHEMA,\n})\n"],"names":[],"mappings":";;;AAYO,MAAM,uBAAuB,cAAc;AAAA,EACjD,aAAa;AAAA,EACb,qBAAqB;AAAA,EACrB,yBAAyB;AAAA,EACzB,cAAc,CAAC,EAAE,OAAO,MAAM,UAAU,MAAM;AAAA,EAC9C,2BAA2B;AAC5B,CAAC;AAKM,MAAM,wBAAwB,kBAAkB;AAAA,EACtD,aAAa;AAAA,EACb,QAAQ;AAAA,EACR,qBAAqB;AAAA,EACrB,mBAAmB;AAAA,EACnB,yBAAyB;AAAA,EACzB,cAAc,CAAC,EAAE,OAAO,MAAM,UAAU,MAAM;AAAA,EAC9C,2BAA2B;AAC5B,CAAC;"}
1
+ {"version":3,"file":"harmony125.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,23 +1,11 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const teamRoleTypes = require("./harmony43.cjs");
4
- const v4 = require("zod/v4");
5
- const JWT_TOKEN_PAYLOAD_SCHEMA = v4.z.object({
6
- userId: v4.z.number(),
7
- userUuid: v4.z.guid(),
8
- teamId: v4.z.number(),
9
- teamUuid: v4.z.guid(),
10
- userTeamRole: teamRoleTypes.TEAM_ROLE_SCHEMA,
11
- userEmail: v4.z.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 has = (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.every((item) => seedArray.includes(item));
9
+ };
10
+ exports.has = has;
23
11
  //# sourceMappingURL=harmony126.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"harmony126.cjs","sources":["../src/features/auth/core/types/jwtTokenPayload.ts"],"sourcesContent":["import { TEAM_ROLE_SCHEMA } from '@features/permissions/types/teamRoleTypes'\nimport { z } from 'zod/v4'\n\nexport const JWT_TOKEN_PAYLOAD_SCHEMA = z.object({\n\tuserId: z.number(),\n\tuserUuid: z.guid(),\n\tteamId: z.number(),\n\tteamUuid: z.guid(),\n\tuserTeamRole: TEAM_ROLE_SCHEMA,\n\tuserEmail: z.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,KAAE,KAAK;AAAA,EACjB,QAAQA,KAAE,OAAO;AAAA,EACjB,UAAUA,KAAE,KAAK;AAAA,EACjB,cAAcC,cAAA;AAAA,EACd,WAAWD,KAAE,MAAM;AAAA,EACnB,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":"harmony126.cjs","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,23 +1,11 @@
1
- import { TEAM_ROLE_SCHEMA } from "./harmony43.mjs";
2
- import { z } from "zod/v4";
3
- const JWT_TOKEN_PAYLOAD_SCHEMA = z.object({
4
- userId: z.number(),
5
- userUuid: z.guid(),
6
- teamId: z.number(),
7
- teamUuid: z.guid(),
8
- userTeamRole: TEAM_ROLE_SCHEMA,
9
- userEmail: z.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 has = (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.every((item) => seedArray.includes(item));
7
+ };
20
8
  export {
21
- JWT_TOKEN_PAYLOAD_SCHEMA
9
+ has
22
10
  };
23
11
  //# sourceMappingURL=harmony126.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"harmony126.mjs","sources":["../src/features/auth/core/types/jwtTokenPayload.ts"],"sourcesContent":["import { TEAM_ROLE_SCHEMA } from '@features/permissions/types/teamRoleTypes'\nimport { z } from 'zod/v4'\n\nexport const JWT_TOKEN_PAYLOAD_SCHEMA = z.object({\n\tuserId: z.number(),\n\tuserUuid: z.guid(),\n\tteamId: z.number(),\n\tteamUuid: z.guid(),\n\tuserTeamRole: TEAM_ROLE_SCHEMA,\n\tuserEmail: z.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,KAAK;AAAA,EACjB,QAAQ,EAAE,OAAO;AAAA,EACjB,UAAU,EAAE,KAAK;AAAA,EACjB,cAAc;AAAA,EACd,WAAW,EAAE,MAAM;AAAA,EACnB,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":"harmony126.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,11 +1,22 @@
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 manageManagementPermissions = require("./harmony147.cjs");
4
+ const accessExpertFeatures = require("./harmony148.cjs");
5
+ const accessMarketingProjects = require("./harmony149.cjs");
6
+ const createProjects = require("./harmony150.cjs");
7
+ const deleteProjects = require("./harmony151.cjs");
8
+ const downloadFiles = require("./harmony152.cjs");
9
+ const manageContributors = require("./harmony153.cjs");
10
+ const uploadFiles = require("./harmony154.cjs");
11
+ const actionResolvers = {
12
+ accessExpertFeatures: accessExpertFeatures.accessExpertFeatures,
13
+ accessMarketingProjects: accessMarketingProjects.accessMarketingProjects,
14
+ createProjects: createProjects.createProjects,
15
+ deleteProjects: deleteProjects.deleteProjects,
16
+ downloadFiles: downloadFiles.downloadFiles,
17
+ manageContributors: manageContributors.manageContributors,
18
+ manageManagementPermissions: manageManagementPermissions.manageManagementPermissions,
19
+ uploadFiles: uploadFiles.uploadFiles
9
20
  };
10
- exports.hasAny = hasAny;
21
+ exports.actionResolvers = actionResolvers;
11
22
  //# sourceMappingURL=harmony127.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"harmony127.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":"harmony127.cjs","sources":["../src/features/permissions/actionResolvers.ts"],"sourcesContent":["import { manageManagementPermissions } from '@features/permissions/actionResolvers/manageManagementPermissions'\nimport { accessExpertFeatures } from './actionResolvers/accessExpertFeatures'\nimport { accessMarketingProjects } from './actionResolvers/accessMarketingProjects'\nimport { createProjects } from './actionResolvers/createProjects'\nimport { deleteProjects } from './actionResolvers/deleteProjects'\nimport { downloadFiles } from './actionResolvers/downloadFiles'\nimport { manageContributors } from './actionResolvers/manageContributors'\nimport { uploadFiles } from './actionResolvers/uploadFiles'\nimport type { ActionResolver } from './types/actionResolver'\n\nexport const actionResolvers = {\n\taccessExpertFeatures,\n\taccessMarketingProjects,\n\tcreateProjects,\n\tdeleteProjects,\n\tdownloadFiles,\n\tmanageContributors,\n\tmanageManagementPermissions,\n\tuploadFiles,\n} satisfies Record<string, ActionResolver>\n\nexport type Action = keyof typeof actionResolvers\n"],"names":["accessExpertFeatures","accessMarketingProjects","createProjects","deleteProjects","downloadFiles","manageContributors","manageManagementPermissions","uploadFiles"],"mappings":";;;;;;;;;;AAUO,MAAM,kBAAkB;AAAA,EAAA,sBAC9BA,qBAAA;AAAA,EAAA,yBACAC,wBAAA;AAAA,EAAA,gBACAC,eAAA;AAAA,EAAA,gBACAC,eAAA;AAAA,EAAA,eACAC,cAAA;AAAA,EAAA,oBACAC,mBAAA;AAAA,EAAA,6BACAC,4BAAA;AAAA,EACAC,aAAAA,YAAAA;AACD;;"}
@@ -1,11 +1,22 @@
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 { manageManagementPermissions } from "./harmony147.mjs";
2
+ import { accessExpertFeatures } from "./harmony148.mjs";
3
+ import { accessMarketingProjects } from "./harmony149.mjs";
4
+ import { createProjects } from "./harmony150.mjs";
5
+ import { deleteProjects } from "./harmony151.mjs";
6
+ import { downloadFiles } from "./harmony152.mjs";
7
+ import { manageContributors } from "./harmony153.mjs";
8
+ import { uploadFiles } from "./harmony154.mjs";
9
+ const actionResolvers = {
10
+ accessExpertFeatures,
11
+ accessMarketingProjects,
12
+ createProjects,
13
+ deleteProjects,
14
+ downloadFiles,
15
+ manageContributors,
16
+ manageManagementPermissions,
17
+ uploadFiles
7
18
  };
8
19
  export {
9
- hasAny
20
+ actionResolvers
10
21
  };
11
22
  //# sourceMappingURL=harmony127.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"harmony127.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":"harmony127.mjs","sources":["../src/features/permissions/actionResolvers.ts"],"sourcesContent":["import { manageManagementPermissions } from '@features/permissions/actionResolvers/manageManagementPermissions'\nimport { accessExpertFeatures } from './actionResolvers/accessExpertFeatures'\nimport { accessMarketingProjects } from './actionResolvers/accessMarketingProjects'\nimport { createProjects } from './actionResolvers/createProjects'\nimport { deleteProjects } from './actionResolvers/deleteProjects'\nimport { downloadFiles } from './actionResolvers/downloadFiles'\nimport { manageContributors } from './actionResolvers/manageContributors'\nimport { uploadFiles } from './actionResolvers/uploadFiles'\nimport type { ActionResolver } from './types/actionResolver'\n\nexport const actionResolvers = {\n\taccessExpertFeatures,\n\taccessMarketingProjects,\n\tcreateProjects,\n\tdeleteProjects,\n\tdownloadFiles,\n\tmanageContributors,\n\tmanageManagementPermissions,\n\tuploadFiles,\n} satisfies Record<string, ActionResolver>\n\nexport type Action = keyof typeof actionResolvers\n"],"names":[],"mappings":";;;;;;;;AAUO,MAAM,kBAAkB;AAAA,EAC9B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACD;"}
@@ -1,11 +1,24 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const has = (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.every((item) => seedArray.includes(item));
9
- };
10
- exports.has = has;
3
+ const sharedTypes = require("./harmony89.cjs");
4
+ const apiContracts = require("@lokalise/api-contracts");
5
+ const aiConfigurationTypes = require("./harmony81.cjs");
6
+ const listAiConfigurations = apiContracts.buildGetRoute({
7
+ description: "Fetch list of AI configurations for a given team",
8
+ requestHeaderSchema: sharedTypes.BASE_API_ENDPOINT_HEADER_SCHEMA,
9
+ requestPathParamsSchema: aiConfigurationTypes.AI_CONFIGS_PATH_PARAMS_SCHEMA,
10
+ pathResolver: ({ teamId }) => `/teams/${teamId}/ai-configurations`,
11
+ successResponseBodySchema: aiConfigurationTypes.LIST_AI_CONFIGS_RESPONSE_SCHEMA
12
+ });
13
+ const createAiConfiguration = apiContracts.buildPayloadRoute({
14
+ description: "Create an AI configuration",
15
+ method: "post",
16
+ requestHeaderSchema: sharedTypes.BASE_API_ENDPOINT_HEADER_SCHEMA,
17
+ requestBodySchema: aiConfigurationTypes.CREATE_AI_CONFIGS_REQUEST_BODY_SCHEMA,
18
+ requestPathParamsSchema: aiConfigurationTypes.AI_CONFIGS_PATH_PARAMS_SCHEMA,
19
+ pathResolver: ({ teamId }) => `/teams/${teamId}/ai-configurations`,
20
+ successResponseBodySchema: aiConfigurationTypes.CREATE_AI_CONFIGS_RESPONSE_SCHEMA
21
+ });
22
+ exports.createAiConfiguration = createAiConfiguration;
23
+ exports.listAiConfigurations = listAiConfigurations;
11
24
  //# sourceMappingURL=harmony128.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"harmony128.cjs","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
+ {"version":3,"file":"harmony128.cjs","sources":["../src/features/publicApi/aiConfigurations.ts"],"sourcesContent":["import { BASE_API_ENDPOINT_HEADER_SCHEMA } from '@features/publicApi/types/sharedTypes'\nimport { buildGetRoute, buildPayloadRoute } from '@lokalise/api-contracts'\nimport {\n\tAI_CONFIGS_PATH_PARAMS_SCHEMA,\n\tCREATE_AI_CONFIGS_REQUEST_BODY_SCHEMA,\n\tCREATE_AI_CONFIGS_RESPONSE_SCHEMA,\n\tLIST_AI_CONFIGS_RESPONSE_SCHEMA,\n} from './types/aiConfigurationTypes'\n\n/**\n * Public API router definition for getting the list of AI configurations for a given team\n */\nexport const listAiConfigurations = buildGetRoute({\n\tdescription: 'Fetch list of AI configurations for a given team',\n\trequestHeaderSchema: BASE_API_ENDPOINT_HEADER_SCHEMA,\n\trequestPathParamsSchema: AI_CONFIGS_PATH_PARAMS_SCHEMA,\n\tpathResolver: ({ teamId }) => `/teams/${teamId}/ai-configurations`,\n\tsuccessResponseBodySchema: LIST_AI_CONFIGS_RESPONSE_SCHEMA,\n})\n\n/**\n * Public API router definition for creating an AI configuration for a given team\n */\nexport const createAiConfiguration = buildPayloadRoute({\n\tdescription: 'Create an AI configuration',\n\tmethod: 'post',\n\trequestHeaderSchema: BASE_API_ENDPOINT_HEADER_SCHEMA,\n\trequestBodySchema: CREATE_AI_CONFIGS_REQUEST_BODY_SCHEMA,\n\trequestPathParamsSchema: AI_CONFIGS_PATH_PARAMS_SCHEMA,\n\tpathResolver: ({ teamId }) => `/teams/${teamId}/ai-configurations`,\n\tsuccessResponseBodySchema: CREATE_AI_CONFIGS_RESPONSE_SCHEMA,\n})\n"],"names":["buildGetRoute","BASE_API_ENDPOINT_HEADER_SCHEMA","AI_CONFIGS_PATH_PARAMS_SCHEMA","LIST_AI_CONFIGS_RESPONSE_SCHEMA","buildPayloadRoute","CREATE_AI_CONFIGS_REQUEST_BODY_SCHEMA","CREATE_AI_CONFIGS_RESPONSE_SCHEMA"],"mappings":";;;;;AAYO,MAAM,uBAAuBA,aAAAA,cAAc;AAAA,EACjD,aAAa;AAAA,EACb,qBAAqBC,YAAA;AAAA,EACrB,yBAAyBC,qBAAA;AAAA,EACzB,cAAc,CAAC,EAAE,OAAO,MAAM,UAAU,MAAM;AAAA,EAC9C,2BAA2BC,qBAAAA;AAC5B,CAAC;AAKM,MAAM,wBAAwBC,aAAAA,kBAAkB;AAAA,EACtD,aAAa;AAAA,EACb,QAAQ;AAAA,EACR,qBAAqBH,YAAA;AAAA,EACrB,mBAAmBI,qBAAA;AAAA,EACnB,yBAAyBH,qBAAA;AAAA,EACzB,cAAc,CAAC,EAAE,OAAO,MAAM,UAAU,MAAM;AAAA,EAC9C,2BAA2BI,qBAAAA;AAC5B,CAAC;;;"}
@@ -1,11 +1,24 @@
1
- const has = (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.every((item) => seedArray.includes(item));
7
- };
1
+ import { BASE_API_ENDPOINT_HEADER_SCHEMA } from "./harmony89.mjs";
2
+ import { buildPayloadRoute, buildGetRoute } from "@lokalise/api-contracts";
3
+ import { CREATE_AI_CONFIGS_RESPONSE_SCHEMA, AI_CONFIGS_PATH_PARAMS_SCHEMA, CREATE_AI_CONFIGS_REQUEST_BODY_SCHEMA, LIST_AI_CONFIGS_RESPONSE_SCHEMA } from "./harmony81.mjs";
4
+ const listAiConfigurations = buildGetRoute({
5
+ description: "Fetch list of AI configurations for a given team",
6
+ requestHeaderSchema: BASE_API_ENDPOINT_HEADER_SCHEMA,
7
+ requestPathParamsSchema: AI_CONFIGS_PATH_PARAMS_SCHEMA,
8
+ pathResolver: ({ teamId }) => `/teams/${teamId}/ai-configurations`,
9
+ successResponseBodySchema: LIST_AI_CONFIGS_RESPONSE_SCHEMA
10
+ });
11
+ const createAiConfiguration = buildPayloadRoute({
12
+ description: "Create an AI configuration",
13
+ method: "post",
14
+ requestHeaderSchema: BASE_API_ENDPOINT_HEADER_SCHEMA,
15
+ requestBodySchema: CREATE_AI_CONFIGS_REQUEST_BODY_SCHEMA,
16
+ requestPathParamsSchema: AI_CONFIGS_PATH_PARAMS_SCHEMA,
17
+ pathResolver: ({ teamId }) => `/teams/${teamId}/ai-configurations`,
18
+ successResponseBodySchema: CREATE_AI_CONFIGS_RESPONSE_SCHEMA
19
+ });
8
20
  export {
9
- has
21
+ createAiConfiguration,
22
+ listAiConfigurations
10
23
  };
11
24
  //# sourceMappingURL=harmony128.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"harmony128.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
+ {"version":3,"file":"harmony128.mjs","sources":["../src/features/publicApi/aiConfigurations.ts"],"sourcesContent":["import { BASE_API_ENDPOINT_HEADER_SCHEMA } from '@features/publicApi/types/sharedTypes'\nimport { buildGetRoute, buildPayloadRoute } from '@lokalise/api-contracts'\nimport {\n\tAI_CONFIGS_PATH_PARAMS_SCHEMA,\n\tCREATE_AI_CONFIGS_REQUEST_BODY_SCHEMA,\n\tCREATE_AI_CONFIGS_RESPONSE_SCHEMA,\n\tLIST_AI_CONFIGS_RESPONSE_SCHEMA,\n} from './types/aiConfigurationTypes'\n\n/**\n * Public API router definition for getting the list of AI configurations for a given team\n */\nexport const listAiConfigurations = buildGetRoute({\n\tdescription: 'Fetch list of AI configurations for a given team',\n\trequestHeaderSchema: BASE_API_ENDPOINT_HEADER_SCHEMA,\n\trequestPathParamsSchema: AI_CONFIGS_PATH_PARAMS_SCHEMA,\n\tpathResolver: ({ teamId }) => `/teams/${teamId}/ai-configurations`,\n\tsuccessResponseBodySchema: LIST_AI_CONFIGS_RESPONSE_SCHEMA,\n})\n\n/**\n * Public API router definition for creating an AI configuration for a given team\n */\nexport const createAiConfiguration = buildPayloadRoute({\n\tdescription: 'Create an AI configuration',\n\tmethod: 'post',\n\trequestHeaderSchema: BASE_API_ENDPOINT_HEADER_SCHEMA,\n\trequestBodySchema: CREATE_AI_CONFIGS_REQUEST_BODY_SCHEMA,\n\trequestPathParamsSchema: AI_CONFIGS_PATH_PARAMS_SCHEMA,\n\tpathResolver: ({ teamId }) => `/teams/${teamId}/ai-configurations`,\n\tsuccessResponseBodySchema: CREATE_AI_CONFIGS_RESPONSE_SCHEMA,\n})\n"],"names":[],"mappings":";;;AAYO,MAAM,uBAAuB,cAAc;AAAA,EACjD,aAAa;AAAA,EACb,qBAAqB;AAAA,EACrB,yBAAyB;AAAA,EACzB,cAAc,CAAC,EAAE,OAAO,MAAM,UAAU,MAAM;AAAA,EAC9C,2BAA2B;AAC5B,CAAC;AAKM,MAAM,wBAAwB,kBAAkB;AAAA,EACtD,aAAa;AAAA,EACb,QAAQ;AAAA,EACR,qBAAqB;AAAA,EACrB,mBAAmB;AAAA,EACnB,yBAAyB;AAAA,EACzB,cAAc,CAAC,EAAE,OAAO,MAAM,UAAU,MAAM;AAAA,EAC9C,2BAA2B;AAC5B,CAAC;"}
@@ -1,20 +1,90 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const accessExpertFeatures = require("./harmony150.cjs");
4
- const accessMarketingProjects = require("./harmony151.cjs");
5
- const createProjects = require("./harmony152.cjs");
6
- const deleteProjects = require("./harmony153.cjs");
7
- const downloadFiles = require("./harmony154.cjs");
8
- const manageContributors = require("./harmony155.cjs");
9
- const uploadFiles = require("./harmony156.cjs");
10
- const actionResolvers = {
11
- accessExpertFeatures: accessExpertFeatures.accessExpertFeatures,
12
- accessMarketingProjects: accessMarketingProjects.accessMarketingProjects,
13
- createProjects: createProjects.createProjects,
14
- deleteProjects: deleteProjects.deleteProjects,
15
- downloadFiles: downloadFiles.downloadFiles,
16
- manageContributors: manageContributors.manageContributors,
17
- uploadFiles: uploadFiles.uploadFiles
3
+ const permissions = require("./harmony157.cjs");
4
+ const getProjectNavigationVisibilityMap = (project, adminRights, isFeatureEnabled) => {
5
+ var _a, _b;
6
+ return {
7
+ upload: {
8
+ visible: permissions.hasAdminRight(adminRights, "upload"),
9
+ disabled: false
10
+ },
11
+ download: {
12
+ visible: permissions.hasAdminRight(adminRights, "download"),
13
+ disabled: false
14
+ },
15
+ // TODO: HOME-1009, Clean up after permission management
16
+ // -- There is a plan for "Install apps" permission. Right..?
17
+ apps: {
18
+ visible: true,
19
+ disabled: false
20
+ },
21
+ // TODO: HOME-1009, Clean up after permission management
22
+ // -- There is a plan for "Install apps" permission. Right..?
23
+ contentManagement: {
24
+ visible: project.project_type === "content_integration" && permissions.hasAdminRight(adminRights, "keys"),
25
+ disabled: false
26
+ },
27
+ editor: {
28
+ visible: true,
29
+ disabled: false
30
+ },
31
+ files: {
32
+ visible: isFeatureEnabled("lionLfcFilesManagement") && project.project_type === "paged_documents" && permissions.hasAnyAdminRight(adminRights, ["upload", "download"]),
33
+ disabled: false
34
+ },
35
+ tasks: {
36
+ visible: permissions.hasAdminRight(adminRights, "tasks"),
37
+ disabled: false
38
+ },
39
+ contributors: {
40
+ visible: permissions.hasAdminRight(adminRights, "contributors"),
41
+ disabled: false
42
+ },
43
+ workflows: {
44
+ visible: permissions.hasAdminRight(adminRights, "settings"),
45
+ disabled: false
46
+ },
47
+ screenshots: {
48
+ visible: permissions.hasAdminRight(adminRights, "screenshots"),
49
+ disabled: false
50
+ },
51
+ glossary: {
52
+ visible: permissions.hasAdminRight(adminRights, "glossary"),
53
+ disabled: false
54
+ },
55
+ more: {
56
+ visible: true,
57
+ disabled: false
58
+ },
59
+ settings: {
60
+ visible: permissions.hasAdminRight(adminRights, "settings"),
61
+ disabled: false
62
+ },
63
+ branches: {
64
+ visible: !!((_a = project.settings) == null ? void 0 : _a.branching) && permissions.hasAnyAdminRight(adminRights, ["branches_create", "create_branches", "branches_merge"]),
65
+ disabled: false
66
+ },
67
+ otaBundles: {
68
+ visible: permissions.hasAnyAdminRight(adminRights, ["download", "settings", "keys"]) && project.project_type === "localization_files",
69
+ disabled: false
70
+ },
71
+ automations: {
72
+ visible: permissions.hasAdminRight(adminRights, "settings"),
73
+ disabled: false
74
+ },
75
+ duplicateFinder: {
76
+ visible: permissions.hasAdminRight(adminRights, "keys") && project.project_type === "localization_files",
77
+ disabled: false
78
+ },
79
+ activity: {
80
+ visible: !!((_b = project.settings) == null ? void 0 : _b.offline_translation) || permissions.hasAdminRight(adminRights, "activity"),
81
+ disabled: false
82
+ },
83
+ statistics: {
84
+ visible: permissions.hasAdminRight(adminRights, "statistics"),
85
+ disabled: false
86
+ }
87
+ };
18
88
  };
19
- exports.actionResolvers = actionResolvers;
89
+ exports.getProjectNavigationVisibilityMap = getProjectNavigationVisibilityMap;
20
90
  //# sourceMappingURL=harmony129.cjs.map