@lokalise/harmony 2.1.0-exp-testingContracts.5 → 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 (337) hide show
  1. package/dist/harmony103.cjs +1 -1
  2. package/dist/harmony103.mjs +1 -1
  3. package/dist/harmony104.cjs +7 -7
  4. package/dist/harmony104.mjs +7 -7
  5. package/dist/harmony107.cjs +1 -1
  6. package/dist/harmony107.mjs +1 -1
  7. package/dist/harmony108.cjs +1 -1
  8. package/dist/harmony108.mjs +1 -1
  9. package/dist/harmony109.cjs +11 -14
  10. package/dist/harmony109.cjs.map +1 -1
  11. package/dist/harmony109.mjs +11 -14
  12. package/dist/harmony109.mjs.map +1 -1
  13. package/dist/harmony110.cjs +22 -4
  14. package/dist/harmony110.cjs.map +1 -1
  15. package/dist/harmony110.mjs +21 -3
  16. package/dist/harmony110.mjs.map +1 -1
  17. package/dist/harmony111.cjs +13 -17
  18. package/dist/harmony111.cjs.map +1 -1
  19. package/dist/harmony111.mjs +13 -17
  20. package/dist/harmony111.mjs.map +1 -1
  21. package/dist/harmony112.cjs +3 -76
  22. package/dist/harmony112.cjs.map +1 -1
  23. package/dist/harmony112.mjs +3 -76
  24. package/dist/harmony112.mjs.map +1 -1
  25. package/dist/harmony113.cjs +17 -11
  26. package/dist/harmony113.cjs.map +1 -1
  27. package/dist/harmony113.mjs +17 -11
  28. package/dist/harmony113.mjs.map +1 -1
  29. package/dist/harmony114.cjs +76 -34
  30. package/dist/harmony114.cjs.map +1 -1
  31. package/dist/harmony114.mjs +76 -34
  32. package/dist/harmony114.mjs.map +1 -1
  33. package/dist/harmony115.cjs +12 -9
  34. package/dist/harmony115.cjs.map +1 -1
  35. package/dist/harmony115.mjs +12 -9
  36. package/dist/harmony115.mjs.map +1 -1
  37. package/dist/harmony116.cjs +34 -47
  38. package/dist/harmony116.cjs.map +1 -1
  39. package/dist/harmony116.mjs +34 -47
  40. package/dist/harmony116.mjs.map +1 -1
  41. package/dist/harmony117.cjs +10 -10
  42. package/dist/harmony117.cjs.map +1 -1
  43. package/dist/harmony117.mjs +9 -9
  44. package/dist/harmony117.mjs.map +1 -1
  45. package/dist/harmony118.cjs +45 -9
  46. package/dist/harmony118.cjs.map +1 -1
  47. package/dist/harmony118.mjs +47 -11
  48. package/dist/harmony118.mjs.map +1 -1
  49. package/dist/harmony119.cjs +8 -20
  50. package/dist/harmony119.cjs.map +1 -1
  51. package/dist/harmony119.mjs +8 -20
  52. package/dist/harmony119.mjs.map +1 -1
  53. package/dist/harmony122.cjs +84 -96
  54. package/dist/harmony122.cjs.map +1 -1
  55. package/dist/harmony122.mjs +84 -79
  56. package/dist/harmony122.mjs.map +1 -1
  57. package/dist/harmony123.cjs +30 -20
  58. package/dist/harmony123.cjs.map +1 -1
  59. package/dist/harmony123.mjs +30 -20
  60. package/dist/harmony123.mjs.map +1 -1
  61. package/dist/harmony124.cjs +20 -7
  62. package/dist/harmony124.cjs.map +1 -1
  63. package/dist/harmony124.mjs +20 -7
  64. package/dist/harmony124.mjs.map +1 -1
  65. package/dist/harmony125.cjs +6 -16
  66. package/dist/harmony125.cjs.map +1 -1
  67. package/dist/harmony125.mjs +7 -17
  68. package/dist/harmony125.mjs.map +1 -1
  69. package/dist/harmony126.cjs +16 -7
  70. package/dist/harmony126.cjs.map +1 -1
  71. package/dist/harmony126.mjs +16 -7
  72. package/dist/harmony126.mjs.map +1 -1
  73. package/dist/harmony127.cjs +3 -3
  74. package/dist/harmony127.cjs.map +1 -1
  75. package/dist/harmony127.mjs +3 -3
  76. package/dist/harmony127.mjs.map +1 -1
  77. package/dist/harmony128.cjs +7 -14
  78. package/dist/harmony128.cjs.map +1 -1
  79. package/dist/harmony128.mjs +7 -14
  80. package/dist/harmony128.mjs.map +1 -1
  81. package/dist/harmony129.cjs +14 -86
  82. package/dist/harmony129.cjs.map +1 -1
  83. package/dist/harmony129.mjs +14 -86
  84. package/dist/harmony129.mjs.map +1 -1
  85. package/dist/harmony130.cjs +98 -29
  86. package/dist/harmony130.cjs.map +1 -1
  87. package/dist/harmony130.mjs +81 -29
  88. package/dist/harmony130.mjs.map +1 -1
  89. package/dist/harmony131.cjs +9 -5
  90. package/dist/harmony131.cjs.map +1 -1
  91. package/dist/harmony131.mjs +9 -5
  92. package/dist/harmony131.mjs.map +1 -1
  93. package/dist/harmony132.cjs +13 -6
  94. package/dist/harmony132.cjs.map +1 -1
  95. package/dist/harmony132.mjs +12 -5
  96. package/dist/harmony132.mjs.map +1 -1
  97. package/dist/harmony133.cjs +15 -9
  98. package/dist/harmony133.cjs.map +1 -1
  99. package/dist/harmony133.mjs +14 -8
  100. package/dist/harmony133.mjs.map +1 -1
  101. package/dist/harmony134.cjs +13 -6
  102. package/dist/harmony134.cjs.map +1 -1
  103. package/dist/harmony134.mjs +15 -8
  104. package/dist/harmony134.mjs.map +1 -1
  105. package/dist/harmony135.cjs +7 -12
  106. package/dist/harmony135.cjs.map +1 -1
  107. package/dist/harmony135.mjs +9 -14
  108. package/dist/harmony135.mjs.map +1 -1
  109. package/dist/harmony136.cjs +20 -13
  110. package/dist/harmony136.cjs.map +1 -1
  111. package/dist/harmony136.mjs +22 -15
  112. package/dist/harmony136.mjs.map +1 -1
  113. package/dist/harmony137.cjs +9 -7
  114. package/dist/harmony137.cjs.map +1 -1
  115. package/dist/harmony137.mjs +11 -9
  116. package/dist/harmony137.mjs.map +1 -1
  117. package/dist/harmony138.cjs +30 -18
  118. package/dist/harmony138.cjs.map +1 -1
  119. package/dist/harmony138.mjs +32 -20
  120. package/dist/harmony138.mjs.map +1 -1
  121. package/dist/harmony139.cjs +6 -6
  122. package/dist/harmony139.cjs.map +1 -1
  123. package/dist/harmony139.mjs +6 -6
  124. package/dist/harmony139.mjs.map +1 -1
  125. package/dist/harmony140.cjs +13 -29
  126. package/dist/harmony140.cjs.map +1 -1
  127. package/dist/harmony140.mjs +14 -30
  128. package/dist/harmony140.mjs.map +1 -1
  129. package/dist/harmony141.cjs +31 -7
  130. package/dist/harmony141.cjs.map +1 -1
  131. package/dist/harmony141.mjs +32 -8
  132. package/dist/harmony141.mjs.map +1 -1
  133. package/dist/harmony142.cjs +21 -22
  134. package/dist/harmony142.cjs.map +1 -1
  135. package/dist/harmony142.mjs +20 -21
  136. package/dist/harmony142.mjs.map +1 -1
  137. package/dist/harmony143.cjs +15 -30
  138. package/dist/harmony143.cjs.map +1 -1
  139. package/dist/harmony143.mjs +17 -32
  140. package/dist/harmony143.mjs.map +1 -1
  141. package/dist/harmony144.cjs +3 -18
  142. package/dist/harmony144.cjs.map +1 -1
  143. package/dist/harmony144.mjs +3 -18
  144. package/dist/harmony144.mjs.map +1 -1
  145. package/dist/harmony145.cjs +15 -21
  146. package/dist/harmony145.cjs.map +1 -1
  147. package/dist/harmony145.mjs +14 -20
  148. package/dist/harmony145.mjs.map +1 -1
  149. package/dist/harmony146.cjs +10 -6
  150. package/dist/harmony146.cjs.map +1 -1
  151. package/dist/harmony146.mjs +9 -5
  152. package/dist/harmony146.mjs.map +1 -1
  153. package/dist/harmony147.cjs +5 -15
  154. package/dist/harmony147.cjs.map +1 -1
  155. package/dist/harmony147.mjs +5 -15
  156. package/dist/harmony147.mjs.map +1 -1
  157. package/dist/harmony148.cjs +6 -11
  158. package/dist/harmony148.cjs.map +1 -1
  159. package/dist/harmony148.mjs +5 -10
  160. package/dist/harmony148.mjs.map +1 -1
  161. package/dist/harmony149.cjs +1 -1
  162. package/dist/harmony149.mjs +1 -1
  163. package/dist/harmony150.cjs +1 -1
  164. package/dist/harmony150.mjs +1 -1
  165. package/dist/harmony151.cjs +1 -1
  166. package/dist/harmony151.mjs +1 -1
  167. package/dist/harmony152.cjs +3 -3
  168. package/dist/harmony152.mjs +3 -3
  169. package/dist/harmony153.cjs +3 -3
  170. package/dist/harmony153.mjs +3 -3
  171. package/dist/harmony154.cjs +1 -1
  172. package/dist/harmony154.mjs +1 -1
  173. package/dist/harmony157.cjs +1 -1
  174. package/dist/harmony157.mjs +1 -1
  175. package/dist/harmony158.cjs +2 -2
  176. package/dist/harmony158.mjs +2 -2
  177. package/dist/harmony167.cjs +32 -13
  178. package/dist/harmony167.cjs.map +1 -1
  179. package/dist/harmony167.mjs +32 -13
  180. package/dist/harmony167.mjs.map +1 -1
  181. package/dist/harmony168.cjs +12 -14
  182. package/dist/harmony168.cjs.map +1 -1
  183. package/dist/harmony168.mjs +12 -14
  184. package/dist/harmony168.mjs.map +1 -1
  185. package/dist/harmony169.cjs +13 -14
  186. package/dist/harmony169.cjs.map +1 -1
  187. package/dist/harmony169.mjs +13 -14
  188. package/dist/harmony169.mjs.map +1 -1
  189. package/dist/harmony17.cjs +1 -1
  190. package/dist/harmony17.mjs +1 -1
  191. package/dist/harmony170.cjs +15 -31
  192. package/dist/harmony170.cjs.map +1 -1
  193. package/dist/harmony170.mjs +15 -31
  194. package/dist/harmony170.mjs.map +1 -1
  195. package/dist/harmony171.cjs +1 -1
  196. package/dist/harmony171.mjs +1 -1
  197. package/dist/harmony173.cjs +3 -3
  198. package/dist/harmony173.mjs +3 -3
  199. package/dist/harmony175.cjs +4 -6
  200. package/dist/harmony175.cjs.map +1 -1
  201. package/dist/harmony175.mjs +4 -6
  202. package/dist/harmony175.mjs.map +1 -1
  203. package/dist/harmony176.cjs +5 -11
  204. package/dist/harmony176.cjs.map +1 -1
  205. package/dist/harmony176.mjs +5 -11
  206. package/dist/harmony176.mjs.map +1 -1
  207. package/dist/harmony177.cjs +11 -31
  208. package/dist/harmony177.cjs.map +1 -1
  209. package/dist/harmony177.mjs +11 -31
  210. package/dist/harmony177.mjs.map +1 -1
  211. package/dist/harmony178.cjs +28 -10
  212. package/dist/harmony178.cjs.map +1 -1
  213. package/dist/harmony178.mjs +28 -10
  214. package/dist/harmony178.mjs.map +1 -1
  215. package/dist/harmony179.cjs +14 -4
  216. package/dist/harmony179.cjs.map +1 -1
  217. package/dist/harmony179.mjs +14 -4
  218. package/dist/harmony179.mjs.map +1 -1
  219. package/dist/harmony20.cjs +1 -1
  220. package/dist/harmony20.mjs +1 -1
  221. package/dist/harmony28.cjs +1 -1
  222. package/dist/harmony28.mjs +1 -1
  223. package/dist/harmony29.cjs +1 -1
  224. package/dist/harmony29.mjs +1 -1
  225. package/dist/harmony32.cjs +1 -1
  226. package/dist/harmony32.mjs +1 -1
  227. package/dist/harmony33.cjs +1 -1
  228. package/dist/harmony33.mjs +1 -1
  229. package/dist/harmony34.cjs +1 -1
  230. package/dist/harmony34.mjs +1 -1
  231. package/dist/harmony39.cjs +1 -1
  232. package/dist/harmony39.mjs +1 -1
  233. package/dist/harmony40.cjs +1 -1
  234. package/dist/harmony40.mjs +1 -1
  235. package/dist/harmony41.cjs +1 -1
  236. package/dist/harmony41.mjs +1 -1
  237. package/dist/harmony42.cjs +2 -2
  238. package/dist/harmony42.mjs +2 -2
  239. package/dist/harmony43.cjs +2 -2
  240. package/dist/harmony43.mjs +2 -2
  241. package/dist/harmony44.cjs +1 -1
  242. package/dist/harmony44.mjs +1 -1
  243. package/dist/harmony53.cjs +3 -3
  244. package/dist/harmony53.cjs.map +1 -1
  245. package/dist/harmony53.mjs +1 -1
  246. package/dist/harmony53.mjs.map +1 -1
  247. package/dist/harmony78.cjs +74 -74
  248. package/dist/harmony78.cjs.map +1 -1
  249. package/dist/harmony78.mjs +1 -1
  250. package/dist/harmony78.mjs.map +1 -1
  251. package/dist/harmony79.cjs +52 -52
  252. package/dist/harmony79.cjs.map +1 -1
  253. package/dist/harmony79.mjs +1 -1
  254. package/dist/harmony79.mjs.map +1 -1
  255. package/dist/harmony80.cjs +4 -4
  256. package/dist/harmony80.cjs.map +1 -1
  257. package/dist/harmony80.mjs +1 -1
  258. package/dist/harmony80.mjs.map +1 -1
  259. package/dist/harmony81.cjs +18 -18
  260. package/dist/harmony81.cjs.map +1 -1
  261. package/dist/harmony81.mjs +1 -1
  262. package/dist/harmony81.mjs.map +1 -1
  263. package/dist/harmony82.cjs +15 -15
  264. package/dist/harmony82.cjs.map +1 -1
  265. package/dist/harmony82.mjs +1 -1
  266. package/dist/harmony82.mjs.map +1 -1
  267. package/dist/harmony83.cjs +96 -96
  268. package/dist/harmony83.cjs.map +1 -1
  269. package/dist/harmony83.mjs +1 -1
  270. package/dist/harmony83.mjs.map +1 -1
  271. package/dist/harmony84.cjs +24 -24
  272. package/dist/harmony84.cjs.map +1 -1
  273. package/dist/harmony84.mjs +1 -1
  274. package/dist/harmony84.mjs.map +1 -1
  275. package/dist/harmony85.cjs +14 -14
  276. package/dist/harmony85.cjs.map +1 -1
  277. package/dist/harmony85.mjs +1 -1
  278. package/dist/harmony85.mjs.map +1 -1
  279. package/dist/harmony86.cjs +2 -2
  280. package/dist/harmony86.cjs.map +1 -1
  281. package/dist/harmony86.mjs +1 -1
  282. package/dist/harmony86.mjs.map +1 -1
  283. package/dist/harmony87.cjs +40 -40
  284. package/dist/harmony87.cjs.map +1 -1
  285. package/dist/harmony87.mjs +1 -1
  286. package/dist/harmony87.mjs.map +1 -1
  287. package/dist/harmony88.cjs +27 -27
  288. package/dist/harmony88.cjs.map +1 -1
  289. package/dist/harmony88.mjs +1 -1
  290. package/dist/harmony88.mjs.map +1 -1
  291. package/dist/harmony89.cjs +10 -10
  292. package/dist/harmony89.cjs.map +1 -1
  293. package/dist/harmony89.mjs +1 -1
  294. package/dist/harmony89.mjs.map +1 -1
  295. package/dist/harmony95.cjs +1 -1
  296. package/dist/harmony95.mjs +1 -1
  297. package/dist/harmony97.cjs +2 -2
  298. package/dist/harmony97.mjs +2 -2
  299. package/dist/types/src/features/auth/core/types/jwtTokenPayload.d.ts +35 -8
  300. package/dist/types/src/features/auth/core/types/jwtTokenPayload.fixture.d.ts +1 -1
  301. package/dist/types/src/features/auth/frontend/hooks/useAuthenticatedProjectContributor.d.ts +3 -3
  302. package/dist/types/src/features/auth/frontend/hooks/useAuthenticatedUser.d.ts +2 -2
  303. package/dist/types/src/features/auth/frontend/services/generateTokenFromClassicSession.d.ts +4 -1
  304. package/dist/types/src/features/auth/frontend/services/refreshExpiredToken.d.ts +4 -1
  305. package/dist/types/src/features/navigation/hooks/useNavigationQueries.d.ts +48 -48
  306. package/dist/types/src/features/publicApi/TESTING_CONTRACTS.d.ts +238 -1
  307. package/dist/types/src/features/publicApi/contributors.d.ts +1072 -5
  308. package/dist/types/src/features/publicApi/hooks/useAddContributorsMutation.d.ts +7 -7
  309. package/dist/types/src/features/publicApi/hooks/useAddLanguagesToProjectMutation.d.ts +2 -2
  310. package/dist/types/src/features/publicApi/hooks/useCreateProjectMutation.d.ts +14 -14
  311. package/dist/types/src/features/publicApi/hooks/useCreateScoreMutation.d.ts +3 -3
  312. package/dist/types/src/features/publicApi/hooks/useListProjectsQuery.d.ts +1 -1
  313. package/dist/types/src/features/publicApi/hooks/useListTeamsQuery.d.ts +1 -1
  314. package/dist/types/src/features/publicApi/hooks/useRetrieveContributorQuery.d.ts +2 -2
  315. package/dist/types/src/features/publicApi/hooks/useRetrieveUserPermissions.d.ts +1 -1
  316. package/dist/types/src/features/publicApi/hooks/useUpdateContributorMutation.d.ts +5 -5
  317. package/dist/types/src/features/publicApi/hooks/useUpdateProjectMutation.d.ts +13 -13
  318. package/dist/types/src/features/publicApi/languages.d.ts +368 -3
  319. package/dist/types/src/features/publicApi/permissionTemplates.d.ts +117 -1
  320. package/dist/types/src/features/publicApi/projects.d.ts +1965 -6
  321. package/dist/types/src/features/publicApi/score.d.ts +290 -3
  322. package/dist/types/src/features/publicApi/team.d.ts +374 -2
  323. package/dist/types/src/features/publicApi/teamUsers.d.ts +318 -3
  324. package/dist/types/src/features/publicApi/types/contributorTypes.d.ts +834 -84
  325. package/dist/types/src/features/publicApi/types/languageTypes.d.ts +212 -22
  326. package/dist/types/src/features/publicApi/types/paginationTypes.d.ts +8 -2
  327. package/dist/types/src/features/publicApi/types/permissionTemplateTypes.d.ts +76 -71
  328. package/dist/types/src/features/publicApi/types/permissionTypes.d.ts +24 -48
  329. package/dist/types/src/features/publicApi/types/projectTypes.d.ts +1097 -211
  330. package/dist/types/src/features/publicApi/types/scoreTypes.d.ts +96 -32
  331. package/dist/types/src/features/publicApi/types/sharedTypes.d.ts +126 -30
  332. package/dist/types/src/features/publicApi/types/teamRoleTypes.d.ts +2 -7
  333. package/dist/types/src/features/publicApi/types/teamTypes.d.ts +328 -65
  334. package/dist/types/src/features/publicApi/types/teamUserTypes.d.ts +208 -91
  335. package/dist/types/src/features/publicApi/types/userTokenTypes.d.ts +39 -9
  336. package/dist/types/src/features/publicApi/userToken.d.ts +53 -1
  337. package/package.json +1 -1
@@ -1,50 +1,37 @@
1
- import { jsx, jsxs } from "react/jsx-runtime";
2
- import { Menu, MenuList, MenuItem, MenuDivider, Tooltip, HelpCenterIcon } from "@lokalise/louis";
3
- import { clsx } from "./harmony93.mjs";
4
- import styles from "./harmony147.mjs";
5
- const HelpMenu = ({ contactSupport, keyboardShortcuts }) => {
6
- return /* @__PURE__ */ jsx(
7
- Menu,
8
- {
9
- menuButton: ({ opened }) => /* @__PURE__ */ jsx(Tooltip, { placement: "right", tooltip: "Help", children: /* @__PURE__ */ jsx(
10
- "button",
11
- {
12
- type: "button",
13
- className: clsx(styles.dropdownButton, {
14
- [styles.dropdownButtonActive]: opened
15
- }),
16
- "data-testid": "sidebar-help-menu-button",
17
- children: /* @__PURE__ */ jsx(HelpCenterIcon, { size: "25px" })
18
- }
19
- ) }),
20
- children: /* @__PURE__ */ jsxs(MenuList, { placement: "right-start", children: [
21
- /* @__PURE__ */ jsx(MenuItem, { href: "https://lokalise.com/blog/category/tutorials/", target: "_blank", children: "Tutorials" }),
22
- contactSupport && /* @__PURE__ */ jsx(MenuItem, { onClick: contactSupport.onClick, children: "Contact support" }),
23
- /* @__PURE__ */ jsx(MenuItem, { href: "https://docs.lokalise.com/en/", target: "_blank", children: "Documentation" }),
24
- /* @__PURE__ */ jsx(MenuDivider, {}),
25
- keyboardShortcuts && /* @__PURE__ */ jsxs(MenuItem, { className: styles.shortcutMenu, onClick: keyboardShortcuts.onClick, children: [
26
- "Keyboard shortcuts",
27
- " ",
28
- /* @__PURE__ */ jsx("span", { className: styles.shortcutLabel, children: keyboardShortcuts.label })
29
- ] }),
30
- /* @__PURE__ */ jsx(
31
- MenuItem,
32
- {
33
- href: "https://developers.lokalise.com/reference/lokalise-rest-api",
34
- target: "_blank",
35
- children: "API reference"
36
- }
37
- ),
38
- /* @__PURE__ */ jsx(MenuItem, { href: "https://github.com/lokalise/lokalise-cli-2-go", target: "_blank", children: "CLI tool" }),
39
- /* @__PURE__ */ jsx(MenuDivider, {}),
40
- /* @__PURE__ */ jsx(MenuItem, { href: "https://lokalise.com/blog/category/product-updates/", target: "_blank", children: "What’s new" }),
41
- /* @__PURE__ */ jsx(MenuItem, { href: "https://lokalise.com/blog/", target: "_blank", children: "Blog" }),
42
- /* @__PURE__ */ jsx(MenuItem, { href: "https://lokalise.com/product/apps", target: "_blank", children: "Apps" })
43
- ] })
44
- }
45
- );
46
- };
1
+ import { isFreePlan, isTrialPlan } from "./harmony11.mjs";
2
+ const withJwtCheck = (checkFn) => (jwtPayload) => !!jwtPayload && checkFn(jwtPayload);
3
+ const canAccessStyleGuide = withJwtCheck(
4
+ (jwt) => ["admin", "biller", "owner"].includes(jwt.userTeamRole)
5
+ );
6
+ const canAccessReporting = withJwtCheck(
7
+ (jwt) => ["admin", "owner"].includes(jwt.userTeamRole)
8
+ );
9
+ const canAccessTeamSettings = withJwtCheck(
10
+ (jwt) => ["admin", "biller", "owner"].includes(jwt.userTeamRole) && jwt.isFullyAuthenticated && !jwt.isEndOfTrialActive
11
+ );
12
+ const canCreateTeam = withJwtCheck(
13
+ (jwt) => ["admin", "owner"].includes(jwt.userTeamRole) && jwt.isFullyAuthenticated && !jwt.isEndOfTrialActive
14
+ );
15
+ const canUpgradePlan = withJwtCheck(
16
+ (jwt) => ["owner", "biller"].includes(jwt.userTeamRole) && jwt.isFullyAuthenticated && (isFreePlan(jwt.planId) || isTrialPlan(jwt.planId))
17
+ );
18
+ const canChangeBilling = withJwtCheck(
19
+ (jwt) => ["admin", "owner", "biller"].includes(jwt.userTeamRole) && jwt.isFullyAuthenticated && !jwt.isTeamSuspended && !jwt.isEndOfTrialActive
20
+ );
21
+ const canAccessProviderDashboard = withJwtCheck(
22
+ (jwt) => jwt.isProviderAlpha && !jwt.isTeamSuspended && jwt.isFullyAuthenticated
23
+ );
24
+ const canAccessProfileSettings = withJwtCheck(
25
+ (jwt) => !jwt.isEndOfTrialActive && !jwt.isTeamSuspended
26
+ );
47
27
  export {
48
- HelpMenu
28
+ canAccessProfileSettings,
29
+ canAccessProviderDashboard,
30
+ canAccessReporting,
31
+ canAccessStyleGuide,
32
+ canAccessTeamSettings,
33
+ canChangeBilling,
34
+ canCreateTeam,
35
+ canUpgradePlan
49
36
  };
50
37
  //# sourceMappingURL=harmony116.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"harmony116.mjs","sources":["../src/components/Sidebar/Widgets/HelpMenu/HelpMenu.tsx"],"sourcesContent":["import type { HelpMenuConfig } from '@components/Sidebar/types'\nimport { HelpCenterIcon, Menu, MenuDivider, MenuItem, MenuList, Tooltip } from '@lokalise/louis'\nimport clsx from 'clsx'\nimport styles from './HelpMenu.module.css'\n\n/**\n * Help menu component that provides links to tutorials, documentation, support, and more.\n *\n * @example\n * ```\n * <HelpMenu\n * contactSupport={{ onClick: handleContactSupport }}\n * keyboardShortcuts={{ onClick: handleShowShortcuts, label: '⌘K' }}\n * />\n * ```\n */\n\nexport const HelpMenu = ({ contactSupport, keyboardShortcuts }: HelpMenuConfig) => {\n\treturn (\n\t\t<Menu\n\t\t\tmenuButton={({ opened }) => (\n\t\t\t\t<Tooltip placement=\"right\" tooltip=\"Help\">\n\t\t\t\t\t<button\n\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\tclassName={clsx(styles.dropdownButton, {\n\t\t\t\t\t\t\t[styles.dropdownButtonActive]: opened,\n\t\t\t\t\t\t})}\n\t\t\t\t\t\tdata-testid=\"sidebar-help-menu-button\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<HelpCenterIcon size=\"25px\" />\n\t\t\t\t\t</button>\n\t\t\t\t</Tooltip>\n\t\t\t)}\n\t\t>\n\t\t\t<MenuList placement=\"right-start\">\n\t\t\t\t<MenuItem href=\"https://lokalise.com/blog/category/tutorials/\" target=\"_blank\">\n\t\t\t\t\tTutorials\n\t\t\t\t</MenuItem>\n\t\t\t\t{contactSupport && <MenuItem onClick={contactSupport.onClick}>Contact support</MenuItem>}\n\t\t\t\t<MenuItem href=\"https://docs.lokalise.com/en/\" target=\"_blank\">\n\t\t\t\t\tDocumentation\n\t\t\t\t</MenuItem>\n\t\t\t\t<MenuDivider />\n\t\t\t\t{keyboardShortcuts && (\n\t\t\t\t\t<MenuItem className={styles.shortcutMenu} onClick={keyboardShortcuts.onClick}>\n\t\t\t\t\t\tKeyboard shortcuts{' '}\n\t\t\t\t\t\t<span className={styles.shortcutLabel}>{keyboardShortcuts.label}</span>\n\t\t\t\t\t</MenuItem>\n\t\t\t\t)}\n\t\t\t\t<MenuItem\n\t\t\t\t\thref=\"https://developers.lokalise.com/reference/lokalise-rest-api\"\n\t\t\t\t\ttarget=\"_blank\"\n\t\t\t\t>\n\t\t\t\t\tAPI reference\n\t\t\t\t</MenuItem>\n\t\t\t\t<MenuItem href=\"https://github.com/lokalise/lokalise-cli-2-go\" target=\"_blank\">\n\t\t\t\t\tCLI tool\n\t\t\t\t</MenuItem>\n\t\t\t\t<MenuDivider />\n\t\t\t\t<MenuItem href=\"https://lokalise.com/blog/category/product-updates/\" target=\"_blank\">\n\t\t\t\t\tWhat’s new\n\t\t\t\t</MenuItem>\n\t\t\t\t<MenuItem href=\"https://lokalise.com/blog/\" target=\"_blank\">\n\t\t\t\t\tBlog\n\t\t\t\t</MenuItem>\n\t\t\t\t<MenuItem href=\"https://lokalise.com/product/apps\" target=\"_blank\">\n\t\t\t\t\tApps\n\t\t\t\t</MenuItem>\n\t\t\t</MenuList>\n\t\t</Menu>\n\t)\n}\n"],"names":[],"mappings":";;;;AAiBO,MAAM,WAAW,CAAC,EAAE,gBAAgB,wBAAwC;AAEjF,SAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACA,YAAY,CAAC,EAAE,OAAO,0BACpB,SAAQ,EAAA,WAAU,SAAQ,SAAQ,QAClC,UAAA;AAAA,QAAC;AAAA,QAAA;AAAA,UACA,MAAK;AAAA,UACL,WAAW,KAAK,OAAO,gBAAgB;AAAA,YACtC,CAAC,OAAO,oBAAoB,GAAG;AAAA,UAAA,CAC/B;AAAA,UACD,eAAY;AAAA,UAEZ,UAAA,oBAAC,gBAAe,EAAA,MAAK,OAAO,CAAA;AAAA,QAAA;AAAA,MAAA,GAE9B;AAAA,MAGD,UAAA,qBAAC,UAAS,EAAA,WAAU,eACnB,UAAA;AAAA,QAAA,oBAAC,UAAS,EAAA,MAAK,iDAAgD,QAAO,UAAS,UAE/E,aAAA;AAAA,QACC,kBAAmB,oBAAA,UAAA,EAAS,SAAS,eAAe,SAAS,UAAe,mBAAA;AAAA,4BAC5E,UAAS,EAAA,MAAK,iCAAgC,QAAO,UAAS,UAE/D,iBAAA;AAAA,4BACC,aAAY,EAAA;AAAA,QACZ,0CACC,UAAS,EAAA,WAAW,OAAO,cAAc,SAAS,kBAAkB,SAAS,UAAA;AAAA,UAAA;AAAA,UAC1D;AAAA,8BAClB,QAAK,EAAA,WAAW,OAAO,eAAgB,4BAAkB,MAAM,CAAA;AAAA,QAAA,GACjE;AAAA,QAED;AAAA,UAAC;AAAA,UAAA;AAAA,YACA,MAAK;AAAA,YACL,QAAO;AAAA,YACP,UAAA;AAAA,UAAA;AAAA,QAED;AAAA,4BACC,UAAS,EAAA,MAAK,iDAAgD,QAAO,UAAS,UAE/E,YAAA;AAAA,4BACC,aAAY,EAAA;AAAA,4BACZ,UAAS,EAAA,MAAK,uDAAsD,QAAO,UAAS,UAErF,cAAA;AAAA,4BACC,UAAS,EAAA,MAAK,8BAA6B,QAAO,UAAS,UAE5D,QAAA;AAAA,4BACC,UAAS,EAAA,MAAK,qCAAoC,QAAO,UAAS,UAEnE,OAAA,CAAA;AAAA,MAAA,EACD,CAAA;AAAA,IAAA;AAAA,EACD;AAEF;"}
1
+ {"version":3,"file":"harmony116.mjs","sources":["../src/utils/user/permissions.ts"],"sourcesContent":["import type { JwtTokenPayload } from '@features/auth/core/types/jwtTokenPayload'\nimport { isFreePlan, isTrialPlan } from '@utils'\n\ntype JwtCheckFn = (jwt: JwtTokenPayload) => boolean\n\nconst withJwtCheck =\n\t(checkFn: JwtCheckFn) =>\n\t(jwtPayload: JwtTokenPayload | null | undefined): boolean =>\n\t\t!!jwtPayload && checkFn(jwtPayload)\n\nexport const canAccessStyleGuide = withJwtCheck((jwt) =>\n\t['admin', 'biller', 'owner'].includes(jwt.userTeamRole),\n)\n\nexport const canAccessReporting = withJwtCheck((jwt) =>\n\t['admin', 'owner'].includes(jwt.userTeamRole),\n)\n\nexport const canAccessTeamSettings = withJwtCheck(\n\t(jwt) =>\n\t\t['admin', 'biller', 'owner'].includes(jwt.userTeamRole) &&\n\t\tjwt.isFullyAuthenticated &&\n\t\t!jwt.isEndOfTrialActive,\n)\n\nexport const canCreateTeam = withJwtCheck(\n\t(jwt) =>\n\t\t['admin', 'owner'].includes(jwt.userTeamRole) &&\n\t\tjwt.isFullyAuthenticated &&\n\t\t!jwt.isEndOfTrialActive,\n)\n\nexport const canUpgradePlan = withJwtCheck(\n\t(jwt) =>\n\t\t['owner', 'biller'].includes(jwt.userTeamRole) &&\n\t\tjwt.isFullyAuthenticated &&\n\t\t(isFreePlan(jwt.planId) || isTrialPlan(jwt.planId)),\n)\n\nexport const canChangeBilling = withJwtCheck(\n\t(jwt) =>\n\t\t['admin', 'owner', 'biller'].includes(jwt.userTeamRole) &&\n\t\tjwt.isFullyAuthenticated &&\n\t\t!jwt.isTeamSuspended &&\n\t\t!jwt.isEndOfTrialActive,\n)\n\nexport const canAccessProviderDashboard = withJwtCheck(\n\t(jwt) => jwt.isProviderAlpha && !jwt.isTeamSuspended && jwt.isFullyAuthenticated,\n)\n\nexport const canAccessProfileSettings = withJwtCheck(\n\t(jwt) => !jwt.isEndOfTrialActive && !jwt.isTeamSuspended,\n)\n"],"names":[],"mappings":";AAKA,MAAM,eACL,CAAC,YACD,CAAC,eACA,CAAC,CAAC,cAAc,QAAQ,UAAU;AAE7B,MAAM,sBAAsB;AAAA,EAAa,CAAC,QAChD,CAAC,SAAS,UAAU,OAAO,EAAE,SAAS,IAAI,YAAY;AACvD;AAEO,MAAM,qBAAqB;AAAA,EAAa,CAAC,QAC/C,CAAC,SAAS,OAAO,EAAE,SAAS,IAAI,YAAY;AAC7C;AAEO,MAAM,wBAAwB;AAAA,EACpC,CAAC,QACA,CAAC,SAAS,UAAU,OAAO,EAAE,SAAS,IAAI,YAAY,KACtD,IAAI,wBACJ,CAAC,IAAI;AACP;AAEO,MAAM,gBAAgB;AAAA,EAC5B,CAAC,QACA,CAAC,SAAS,OAAO,EAAE,SAAS,IAAI,YAAY,KAC5C,IAAI,wBACJ,CAAC,IAAI;AACP;AAEO,MAAM,iBAAiB;AAAA,EAC7B,CAAC,QACA,CAAC,SAAS,QAAQ,EAAE,SAAS,IAAI,YAAY,KAC7C,IAAI,yBACH,WAAW,IAAI,MAAM,KAAK,YAAY,IAAI,MAAM;AACnD;AAEO,MAAM,mBAAmB;AAAA,EAC/B,CAAC,QACA,CAAC,SAAS,SAAS,QAAQ,EAAE,SAAS,IAAI,YAAY,KACtD,IAAI,wBACJ,CAAC,IAAI,mBACL,CAAC,IAAI;AACP;AAEO,MAAM,6BAA6B;AAAA,EACzC,CAAC,QAAQ,IAAI,mBAAmB,CAAC,IAAI,mBAAmB,IAAI;AAC7D;AAEO,MAAM,2BAA2B;AAAA,EACvC,CAAC,QAAQ,CAAC,IAAI,sBAAsB,CAAC,IAAI;AAC1C;"}
@@ -1,12 +1,12 @@
1
1
  "use strict";
2
- Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
3
- const sidebarContainer = "_sidebarContainer_1x0gj_1";
4
- const sidebarSkeleton = "_sidebarSkeleton_1x0gj_16";
5
- const styles = {
6
- sidebarContainer,
7
- sidebarSkeleton
8
- };
9
- exports.default = styles;
10
- exports.sidebarContainer = sidebarContainer;
11
- exports.sidebarSkeleton = sidebarSkeleton;
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const jsxRuntime = require("react/jsx-runtime");
4
+ const Avatar_module = require("./harmony144.cjs");
5
+ const Avatar = ({
6
+ src,
7
+ href = "/",
8
+ ariaLabel = "Lokalise App Home",
9
+ alt = "Lokalise Logo"
10
+ }) => /* @__PURE__ */ jsxRuntime.jsx("a", { className: Avatar_module.default.logoLink, href, "aria-label": ariaLabel, children: /* @__PURE__ */ jsxRuntime.jsx("img", { src, alt }) });
11
+ exports.Avatar = Avatar;
12
12
  //# sourceMappingURL=harmony117.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"harmony117.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;"}
1
+ {"version":3,"file":"harmony117.cjs","sources":["../src/components/Sidebar/Widgets/Avatar/Avatar.tsx"],"sourcesContent":["import styles from './Avatar.module.css'\n\ntype AvatarProps = {\n\t/** URL of the avatar/logo image */\n\tsrc: string\n\t/** Link destination when avatar is clicked. Defaults to '/' */\n\thref?: string\n\t/** Accessibility label for the avatar link. Defaults to 'Home' */\n\tariaLabel?: string\n\t/** Alt text for the avatar image. Defaults to 'Lokalise' */\n\talt?: string\n}\n\n/**\n * Display company main avatar / logo in the top section of the Sidebar.\n * Used as the main branding element and home navigation link.\n *\n * @example\n * ```\n * <Avatar src=\"/logo.png\" href=\"/\" ariaLabel=\"Home\" alt=\"\" />\n * ```\n */\n\nexport const Avatar = ({\n\tsrc,\n\thref = '/',\n\tariaLabel = 'Lokalise App Home',\n\talt = 'Lokalise Logo',\n}: AvatarProps) => (\n\t<a className={styles.logoLink} href={href} aria-label={ariaLabel}>\n\t\t<img src={src} alt={alt} />\n\t</a>\n)\n"],"names":["jsx","styles"],"mappings":";;;;AAuBO,MAAM,SAAS,CAAC;AAAA,EACtB;AAAA,EACA,OAAO;AAAA,EACP,YAAY;AAAA,EACZ,MAAM;AACP,MACEA,2BAAAA,IAAA,KAAA,EAAE,WAAWC,cAAA,QAAO,UAAU,MAAY,cAAY,WACtD,UAACD,2BAAAA,IAAA,OAAA,EAAI,KAAU,IAAA,CAAU,EAC1B,CAAA;;"}
@@ -1,12 +1,12 @@
1
- const sidebarContainer = "_sidebarContainer_1x0gj_1";
2
- const sidebarSkeleton = "_sidebarSkeleton_1x0gj_16";
3
- const styles = {
4
- sidebarContainer,
5
- sidebarSkeleton
6
- };
1
+ import { jsx } from "react/jsx-runtime";
2
+ import styles from "./harmony144.mjs";
3
+ const Avatar = ({
4
+ src,
5
+ href = "/",
6
+ ariaLabel = "Lokalise App Home",
7
+ alt = "Lokalise Logo"
8
+ }) => /* @__PURE__ */ jsx("a", { className: styles.logoLink, href, "aria-label": ariaLabel, children: /* @__PURE__ */ jsx("img", { src, alt }) });
7
9
  export {
8
- styles as default,
9
- sidebarContainer,
10
- sidebarSkeleton
10
+ Avatar
11
11
  };
12
12
  //# sourceMappingURL=harmony117.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"harmony117.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;"}
1
+ {"version":3,"file":"harmony117.mjs","sources":["../src/components/Sidebar/Widgets/Avatar/Avatar.tsx"],"sourcesContent":["import styles from './Avatar.module.css'\n\ntype AvatarProps = {\n\t/** URL of the avatar/logo image */\n\tsrc: string\n\t/** Link destination when avatar is clicked. Defaults to '/' */\n\thref?: string\n\t/** Accessibility label for the avatar link. Defaults to 'Home' */\n\tariaLabel?: string\n\t/** Alt text for the avatar image. Defaults to 'Lokalise' */\n\talt?: string\n}\n\n/**\n * Display company main avatar / logo in the top section of the Sidebar.\n * Used as the main branding element and home navigation link.\n *\n * @example\n * ```\n * <Avatar src=\"/logo.png\" href=\"/\" ariaLabel=\"Home\" alt=\"\" />\n * ```\n */\n\nexport const Avatar = ({\n\tsrc,\n\thref = '/',\n\tariaLabel = 'Lokalise App Home',\n\talt = 'Lokalise Logo',\n}: AvatarProps) => (\n\t<a className={styles.logoLink} href={href} aria-label={ariaLabel}>\n\t\t<img src={src} alt={alt} />\n\t</a>\n)\n"],"names":[],"mappings":";;AAuBO,MAAM,SAAS,CAAC;AAAA,EACtB;AAAA,EACA,OAAO;AAAA,EACP,YAAY;AAAA,EACZ,MAAM;AACP,MACE,oBAAA,KAAA,EAAE,WAAW,OAAO,UAAU,MAAY,cAAY,WACtD,UAAC,oBAAA,OAAA,EAAI,KAAU,IAAA,CAAU,EAC1B,CAAA;"}
@@ -2,13 +2,49 @@
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
3
  const jsxRuntime = require("react/jsx-runtime");
4
4
  const louis = require("@lokalise/louis");
5
- const styles_module = require("./harmony119.cjs");
6
- const NavItemContents = ({ label, badge, novel }) => /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex gap-1", children: [
7
- /* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
8
- /* @__PURE__ */ jsxRuntime.jsx("span", { children: label }),
9
- !!badge && /* @__PURE__ */ jsxRuntime.jsx("div", { className: styles_module.default.badge, "aria-label": `${badge} items requiring attention`, children: badge > 9 ? "9+" : badge })
10
- ] }),
11
- !!novel && /* @__PURE__ */ jsxRuntime.jsx(louis.Tag, { className: styles_module.default.tag, children: novel })
12
- ] });
13
- exports.NavItemContents = NavItemContents;
5
+ const clsx = require("./harmony93.cjs");
6
+ const HelpMenu_module = require("./harmony145.cjs");
7
+ const HelpMenu = ({ contactSupport, keyboardShortcuts }) => {
8
+ return /* @__PURE__ */ jsxRuntime.jsx(
9
+ louis.Menu,
10
+ {
11
+ menuButton: ({ opened }) => /* @__PURE__ */ jsxRuntime.jsx(louis.Tooltip, { placement: "right", tooltip: "Help", children: /* @__PURE__ */ jsxRuntime.jsx(
12
+ "button",
13
+ {
14
+ type: "button",
15
+ className: clsx.clsx(HelpMenu_module.default.dropdownButton, {
16
+ [HelpMenu_module.default.dropdownButtonActive]: opened
17
+ }),
18
+ "data-testid": "sidebar-help-menu-button",
19
+ children: /* @__PURE__ */ jsxRuntime.jsx(louis.HelpCenterIcon, { size: "25px" })
20
+ }
21
+ ) }),
22
+ children: /* @__PURE__ */ jsxRuntime.jsxs(louis.MenuList, { placement: "right-start", children: [
23
+ /* @__PURE__ */ jsxRuntime.jsx(louis.MenuItem, { href: "https://lokalise.com/blog/category/tutorials/", target: "_blank", children: "Tutorials" }),
24
+ contactSupport && /* @__PURE__ */ jsxRuntime.jsx(louis.MenuItem, { onClick: contactSupport.onClick, children: "Contact support" }),
25
+ /* @__PURE__ */ jsxRuntime.jsx(louis.MenuItem, { href: "https://docs.lokalise.com/en/", target: "_blank", children: "Documentation" }),
26
+ /* @__PURE__ */ jsxRuntime.jsx(louis.MenuDivider, {}),
27
+ keyboardShortcuts && /* @__PURE__ */ jsxRuntime.jsxs(louis.MenuItem, { className: HelpMenu_module.default.shortcutMenu, onClick: keyboardShortcuts.onClick, children: [
28
+ "Keyboard shortcuts",
29
+ " ",
30
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: HelpMenu_module.default.shortcutLabel, children: keyboardShortcuts.label })
31
+ ] }),
32
+ /* @__PURE__ */ jsxRuntime.jsx(
33
+ louis.MenuItem,
34
+ {
35
+ href: "https://developers.lokalise.com/reference/lokalise-rest-api",
36
+ target: "_blank",
37
+ children: "API reference"
38
+ }
39
+ ),
40
+ /* @__PURE__ */ jsxRuntime.jsx(louis.MenuItem, { href: "https://github.com/lokalise/lokalise-cli-2-go", target: "_blank", children: "CLI tool" }),
41
+ /* @__PURE__ */ jsxRuntime.jsx(louis.MenuDivider, {}),
42
+ /* @__PURE__ */ jsxRuntime.jsx(louis.MenuItem, { href: "https://lokalise.com/blog/category/product-updates/", target: "_blank", children: "What’s new" }),
43
+ /* @__PURE__ */ jsxRuntime.jsx(louis.MenuItem, { href: "https://lokalise.com/blog/", target: "_blank", children: "Blog" }),
44
+ /* @__PURE__ */ jsxRuntime.jsx(louis.MenuItem, { href: "https://lokalise.com/product/apps", target: "_blank", children: "Apps" })
45
+ ] })
46
+ }
47
+ );
48
+ };
49
+ exports.HelpMenu = HelpMenu;
14
50
  //# sourceMappingURL=harmony118.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"harmony118.cjs","sources":["../src/components/NavigationPanel/components/NavigationTabs/NavigationTabsItem/NavItemContents.tsx"],"sourcesContent":["import { Tag } from '@lokalise/louis'\n\nimport classes from './styles.module.css'\n\ninterface NavItemContentProps {\n\tlabel: string\n\tbadge?: number\n\tnovel?: string\n}\nexport const NavItemContents = ({ label, badge, novel }: NavItemContentProps) => (\n\t<div className=\"flex gap-1\">\n\t\t<div>\n\t\t\t<span>{label}</span>\n\t\t\t{!!badge && (\n\t\t\t\t<div className={classes.badge} aria-label={`${badge} items requiring attention`}>\n\t\t\t\t\t{badge > 9 ? '9+' : badge}\n\t\t\t\t</div>\n\t\t\t)}\n\t\t</div>\n\t\t{!!novel && <Tag className={classes.tag}>{novel}</Tag>}\n\t</div>\n)\n"],"names":["jsxs","jsx","classes","Tag"],"mappings":";;;;;AASa,MAAA,kBAAkB,CAAC,EAAE,OAAO,OAAO,YAC/CA,2BAAA,KAAC,OAAI,EAAA,WAAU,cACd,UAAA;AAAA,EAAAA,gCAAC,OACA,EAAA,UAAA;AAAA,IAAAC,2BAAAA,IAAC,UAAM,UAAM,MAAA,CAAA;AAAA,IACZ,CAAC,CAAC,SACFA,+BAAC,SAAI,WAAWC,cAAA,QAAQ,OAAO,cAAY,GAAG,KAAK,8BACjD,UAAQ,QAAA,IAAI,OAAO,MACrB,CAAA;AAAA,EAAA,GAEF;AAAA,EACC,CAAC,CAAC,SAASD,2BAAA,IAACE,aAAI,WAAWD,sBAAQ,KAAM,UAAM,MAAA,CAAA;AAAA,EACjD,CAAA;;"}
1
+ {"version":3,"file":"harmony118.cjs","sources":["../src/components/Sidebar/Widgets/HelpMenu/HelpMenu.tsx"],"sourcesContent":["import type { HelpMenuConfig } from '@components/Sidebar/types'\nimport { HelpCenterIcon, Menu, MenuDivider, MenuItem, MenuList, Tooltip } from '@lokalise/louis'\nimport clsx from 'clsx'\nimport styles from './HelpMenu.module.css'\n\n/**\n * Help menu component that provides links to tutorials, documentation, support, and more.\n *\n * @example\n * ```\n * <HelpMenu\n * contactSupport={{ onClick: handleContactSupport }}\n * keyboardShortcuts={{ onClick: handleShowShortcuts, label: '⌘K' }}\n * />\n * ```\n */\n\nexport const HelpMenu = ({ contactSupport, keyboardShortcuts }: HelpMenuConfig) => {\n\treturn (\n\t\t<Menu\n\t\t\tmenuButton={({ opened }) => (\n\t\t\t\t<Tooltip placement=\"right\" tooltip=\"Help\">\n\t\t\t\t\t<button\n\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\tclassName={clsx(styles.dropdownButton, {\n\t\t\t\t\t\t\t[styles.dropdownButtonActive]: opened,\n\t\t\t\t\t\t})}\n\t\t\t\t\t\tdata-testid=\"sidebar-help-menu-button\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<HelpCenterIcon size=\"25px\" />\n\t\t\t\t\t</button>\n\t\t\t\t</Tooltip>\n\t\t\t)}\n\t\t>\n\t\t\t<MenuList placement=\"right-start\">\n\t\t\t\t<MenuItem href=\"https://lokalise.com/blog/category/tutorials/\" target=\"_blank\">\n\t\t\t\t\tTutorials\n\t\t\t\t</MenuItem>\n\t\t\t\t{contactSupport && <MenuItem onClick={contactSupport.onClick}>Contact support</MenuItem>}\n\t\t\t\t<MenuItem href=\"https://docs.lokalise.com/en/\" target=\"_blank\">\n\t\t\t\t\tDocumentation\n\t\t\t\t</MenuItem>\n\t\t\t\t<MenuDivider />\n\t\t\t\t{keyboardShortcuts && (\n\t\t\t\t\t<MenuItem className={styles.shortcutMenu} onClick={keyboardShortcuts.onClick}>\n\t\t\t\t\t\tKeyboard shortcuts{' '}\n\t\t\t\t\t\t<span className={styles.shortcutLabel}>{keyboardShortcuts.label}</span>\n\t\t\t\t\t</MenuItem>\n\t\t\t\t)}\n\t\t\t\t<MenuItem\n\t\t\t\t\thref=\"https://developers.lokalise.com/reference/lokalise-rest-api\"\n\t\t\t\t\ttarget=\"_blank\"\n\t\t\t\t>\n\t\t\t\t\tAPI reference\n\t\t\t\t</MenuItem>\n\t\t\t\t<MenuItem href=\"https://github.com/lokalise/lokalise-cli-2-go\" target=\"_blank\">\n\t\t\t\t\tCLI tool\n\t\t\t\t</MenuItem>\n\t\t\t\t<MenuDivider />\n\t\t\t\t<MenuItem href=\"https://lokalise.com/blog/category/product-updates/\" target=\"_blank\">\n\t\t\t\t\tWhat’s new\n\t\t\t\t</MenuItem>\n\t\t\t\t<MenuItem href=\"https://lokalise.com/blog/\" target=\"_blank\">\n\t\t\t\t\tBlog\n\t\t\t\t</MenuItem>\n\t\t\t\t<MenuItem href=\"https://lokalise.com/product/apps\" target=\"_blank\">\n\t\t\t\t\tApps\n\t\t\t\t</MenuItem>\n\t\t\t</MenuList>\n\t\t</Menu>\n\t)\n}\n"],"names":["jsx","Menu","Tooltip","clsx","styles","HelpCenterIcon","jsxs","MenuList","MenuItem","MenuDivider"],"mappings":";;;;;;AAiBO,MAAM,WAAW,CAAC,EAAE,gBAAgB,wBAAwC;AAEjF,SAAAA,2BAAA;AAAA,IAACC,MAAA;AAAA,IAAA;AAAA,MACA,YAAY,CAAC,EAAE,OAAO,qCACpBC,MAAQ,SAAA,EAAA,WAAU,SAAQ,SAAQ,QAClC,UAAAF,2BAAA;AAAA,QAAC;AAAA,QAAA;AAAA,UACA,MAAK;AAAA,UACL,WAAWG,KAAAA,KAAKC,gBAAA,QAAO,gBAAgB;AAAA,YACtC,CAACA,gBAAAA,QAAO,oBAAoB,GAAG;AAAA,UAAA,CAC/B;AAAA,UACD,eAAY;AAAA,UAEZ,UAAAJ,2BAAAA,IAACK,MAAAA,gBAAe,EAAA,MAAK,OAAO,CAAA;AAAA,QAAA;AAAA,MAAA,GAE9B;AAAA,MAGD,UAAAC,2BAAA,KAACC,MAAS,UAAA,EAAA,WAAU,eACnB,UAAA;AAAA,QAAAP,+BAACQ,MAAAA,UAAS,EAAA,MAAK,iDAAgD,QAAO,UAAS,UAE/E,aAAA;AAAA,QACC,kBAAmBR,2BAAAA,IAAAQ,MAAAA,UAAA,EAAS,SAAS,eAAe,SAAS,UAAe,mBAAA;AAAA,uCAC5EA,MAAAA,UAAS,EAAA,MAAK,iCAAgC,QAAO,UAAS,UAE/D,iBAAA;AAAA,uCACCC,MAAY,aAAA,EAAA;AAAA,QACZ,qDACCD,gBAAS,EAAA,WAAWJ,gBAAAA,QAAO,cAAc,SAAS,kBAAkB,SAAS,UAAA;AAAA,UAAA;AAAA,UAC1D;AAAA,yCAClB,QAAK,EAAA,WAAWA,gBAAAA,QAAO,eAAgB,4BAAkB,MAAM,CAAA;AAAA,QAAA,GACjE;AAAA,QAEDJ,2BAAA;AAAA,UAACQ,MAAA;AAAA,UAAA;AAAA,YACA,MAAK;AAAA,YACL,QAAO;AAAA,YACP,UAAA;AAAA,UAAA;AAAA,QAED;AAAA,uCACCA,MAAAA,UAAS,EAAA,MAAK,iDAAgD,QAAO,UAAS,UAE/E,YAAA;AAAA,uCACCC,MAAY,aAAA,EAAA;AAAA,uCACZD,MAAAA,UAAS,EAAA,MAAK,uDAAsD,QAAO,UAAS,UAErF,cAAA;AAAA,uCACCA,MAAAA,UAAS,EAAA,MAAK,8BAA6B,QAAO,UAAS,UAE5D,QAAA;AAAA,uCACCA,MAAAA,UAAS,EAAA,MAAK,qCAAoC,QAAO,UAAS,UAEnE,OAAA,CAAA;AAAA,MAAA,EACD,CAAA;AAAA,IAAA;AAAA,EACD;AAEF;;"}
@@ -1,14 +1,50 @@
1
- import { jsxs, jsx } from "react/jsx-runtime";
2
- import { Tag } from "@lokalise/louis";
3
- import classes from "./harmony119.mjs";
4
- const NavItemContents = ({ label, badge, novel }) => /* @__PURE__ */ jsxs("div", { className: "flex gap-1", children: [
5
- /* @__PURE__ */ jsxs("div", { children: [
6
- /* @__PURE__ */ jsx("span", { children: label }),
7
- !!badge && /* @__PURE__ */ jsx("div", { className: classes.badge, "aria-label": `${badge} items requiring attention`, children: badge > 9 ? "9+" : badge })
8
- ] }),
9
- !!novel && /* @__PURE__ */ jsx(Tag, { className: classes.tag, children: novel })
10
- ] });
1
+ import { jsx, jsxs } from "react/jsx-runtime";
2
+ import { Menu, MenuList, MenuItem, MenuDivider, Tooltip, HelpCenterIcon } from "@lokalise/louis";
3
+ import { clsx } from "./harmony93.mjs";
4
+ import styles from "./harmony145.mjs";
5
+ const HelpMenu = ({ contactSupport, keyboardShortcuts }) => {
6
+ return /* @__PURE__ */ jsx(
7
+ Menu,
8
+ {
9
+ menuButton: ({ opened }) => /* @__PURE__ */ jsx(Tooltip, { placement: "right", tooltip: "Help", children: /* @__PURE__ */ jsx(
10
+ "button",
11
+ {
12
+ type: "button",
13
+ className: clsx(styles.dropdownButton, {
14
+ [styles.dropdownButtonActive]: opened
15
+ }),
16
+ "data-testid": "sidebar-help-menu-button",
17
+ children: /* @__PURE__ */ jsx(HelpCenterIcon, { size: "25px" })
18
+ }
19
+ ) }),
20
+ children: /* @__PURE__ */ jsxs(MenuList, { placement: "right-start", children: [
21
+ /* @__PURE__ */ jsx(MenuItem, { href: "https://lokalise.com/blog/category/tutorials/", target: "_blank", children: "Tutorials" }),
22
+ contactSupport && /* @__PURE__ */ jsx(MenuItem, { onClick: contactSupport.onClick, children: "Contact support" }),
23
+ /* @__PURE__ */ jsx(MenuItem, { href: "https://docs.lokalise.com/en/", target: "_blank", children: "Documentation" }),
24
+ /* @__PURE__ */ jsx(MenuDivider, {}),
25
+ keyboardShortcuts && /* @__PURE__ */ jsxs(MenuItem, { className: styles.shortcutMenu, onClick: keyboardShortcuts.onClick, children: [
26
+ "Keyboard shortcuts",
27
+ " ",
28
+ /* @__PURE__ */ jsx("span", { className: styles.shortcutLabel, children: keyboardShortcuts.label })
29
+ ] }),
30
+ /* @__PURE__ */ jsx(
31
+ MenuItem,
32
+ {
33
+ href: "https://developers.lokalise.com/reference/lokalise-rest-api",
34
+ target: "_blank",
35
+ children: "API reference"
36
+ }
37
+ ),
38
+ /* @__PURE__ */ jsx(MenuItem, { href: "https://github.com/lokalise/lokalise-cli-2-go", target: "_blank", children: "CLI tool" }),
39
+ /* @__PURE__ */ jsx(MenuDivider, {}),
40
+ /* @__PURE__ */ jsx(MenuItem, { href: "https://lokalise.com/blog/category/product-updates/", target: "_blank", children: "What’s new" }),
41
+ /* @__PURE__ */ jsx(MenuItem, { href: "https://lokalise.com/blog/", target: "_blank", children: "Blog" }),
42
+ /* @__PURE__ */ jsx(MenuItem, { href: "https://lokalise.com/product/apps", target: "_blank", children: "Apps" })
43
+ ] })
44
+ }
45
+ );
46
+ };
11
47
  export {
12
- NavItemContents
48
+ HelpMenu
13
49
  };
14
50
  //# sourceMappingURL=harmony118.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"harmony118.mjs","sources":["../src/components/NavigationPanel/components/NavigationTabs/NavigationTabsItem/NavItemContents.tsx"],"sourcesContent":["import { Tag } from '@lokalise/louis'\n\nimport classes from './styles.module.css'\n\ninterface NavItemContentProps {\n\tlabel: string\n\tbadge?: number\n\tnovel?: string\n}\nexport const NavItemContents = ({ label, badge, novel }: NavItemContentProps) => (\n\t<div className=\"flex gap-1\">\n\t\t<div>\n\t\t\t<span>{label}</span>\n\t\t\t{!!badge && (\n\t\t\t\t<div className={classes.badge} aria-label={`${badge} items requiring attention`}>\n\t\t\t\t\t{badge > 9 ? '9+' : badge}\n\t\t\t\t</div>\n\t\t\t)}\n\t\t</div>\n\t\t{!!novel && <Tag className={classes.tag}>{novel}</Tag>}\n\t</div>\n)\n"],"names":[],"mappings":";;;AASa,MAAA,kBAAkB,CAAC,EAAE,OAAO,OAAO,YAC/C,qBAAC,OAAI,EAAA,WAAU,cACd,UAAA;AAAA,EAAA,qBAAC,OACA,EAAA,UAAA;AAAA,IAAA,oBAAC,UAAM,UAAM,MAAA,CAAA;AAAA,IACZ,CAAC,CAAC,SACF,oBAAC,SAAI,WAAW,QAAQ,OAAO,cAAY,GAAG,KAAK,8BACjD,UAAQ,QAAA,IAAI,OAAO,MACrB,CAAA;AAAA,EAAA,GAEF;AAAA,EACC,CAAC,CAAC,SAAS,oBAAC,OAAI,WAAW,QAAQ,KAAM,UAAM,MAAA,CAAA;AAAA,EACjD,CAAA;"}
1
+ {"version":3,"file":"harmony118.mjs","sources":["../src/components/Sidebar/Widgets/HelpMenu/HelpMenu.tsx"],"sourcesContent":["import type { HelpMenuConfig } from '@components/Sidebar/types'\nimport { HelpCenterIcon, Menu, MenuDivider, MenuItem, MenuList, Tooltip } from '@lokalise/louis'\nimport clsx from 'clsx'\nimport styles from './HelpMenu.module.css'\n\n/**\n * Help menu component that provides links to tutorials, documentation, support, and more.\n *\n * @example\n * ```\n * <HelpMenu\n * contactSupport={{ onClick: handleContactSupport }}\n * keyboardShortcuts={{ onClick: handleShowShortcuts, label: '⌘K' }}\n * />\n * ```\n */\n\nexport const HelpMenu = ({ contactSupport, keyboardShortcuts }: HelpMenuConfig) => {\n\treturn (\n\t\t<Menu\n\t\t\tmenuButton={({ opened }) => (\n\t\t\t\t<Tooltip placement=\"right\" tooltip=\"Help\">\n\t\t\t\t\t<button\n\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\tclassName={clsx(styles.dropdownButton, {\n\t\t\t\t\t\t\t[styles.dropdownButtonActive]: opened,\n\t\t\t\t\t\t})}\n\t\t\t\t\t\tdata-testid=\"sidebar-help-menu-button\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<HelpCenterIcon size=\"25px\" />\n\t\t\t\t\t</button>\n\t\t\t\t</Tooltip>\n\t\t\t)}\n\t\t>\n\t\t\t<MenuList placement=\"right-start\">\n\t\t\t\t<MenuItem href=\"https://lokalise.com/blog/category/tutorials/\" target=\"_blank\">\n\t\t\t\t\tTutorials\n\t\t\t\t</MenuItem>\n\t\t\t\t{contactSupport && <MenuItem onClick={contactSupport.onClick}>Contact support</MenuItem>}\n\t\t\t\t<MenuItem href=\"https://docs.lokalise.com/en/\" target=\"_blank\">\n\t\t\t\t\tDocumentation\n\t\t\t\t</MenuItem>\n\t\t\t\t<MenuDivider />\n\t\t\t\t{keyboardShortcuts && (\n\t\t\t\t\t<MenuItem className={styles.shortcutMenu} onClick={keyboardShortcuts.onClick}>\n\t\t\t\t\t\tKeyboard shortcuts{' '}\n\t\t\t\t\t\t<span className={styles.shortcutLabel}>{keyboardShortcuts.label}</span>\n\t\t\t\t\t</MenuItem>\n\t\t\t\t)}\n\t\t\t\t<MenuItem\n\t\t\t\t\thref=\"https://developers.lokalise.com/reference/lokalise-rest-api\"\n\t\t\t\t\ttarget=\"_blank\"\n\t\t\t\t>\n\t\t\t\t\tAPI reference\n\t\t\t\t</MenuItem>\n\t\t\t\t<MenuItem href=\"https://github.com/lokalise/lokalise-cli-2-go\" target=\"_blank\">\n\t\t\t\t\tCLI tool\n\t\t\t\t</MenuItem>\n\t\t\t\t<MenuDivider />\n\t\t\t\t<MenuItem href=\"https://lokalise.com/blog/category/product-updates/\" target=\"_blank\">\n\t\t\t\t\tWhat’s new\n\t\t\t\t</MenuItem>\n\t\t\t\t<MenuItem href=\"https://lokalise.com/blog/\" target=\"_blank\">\n\t\t\t\t\tBlog\n\t\t\t\t</MenuItem>\n\t\t\t\t<MenuItem href=\"https://lokalise.com/product/apps\" target=\"_blank\">\n\t\t\t\t\tApps\n\t\t\t\t</MenuItem>\n\t\t\t</MenuList>\n\t\t</Menu>\n\t)\n}\n"],"names":[],"mappings":";;;;AAiBO,MAAM,WAAW,CAAC,EAAE,gBAAgB,wBAAwC;AAEjF,SAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACA,YAAY,CAAC,EAAE,OAAO,0BACpB,SAAQ,EAAA,WAAU,SAAQ,SAAQ,QAClC,UAAA;AAAA,QAAC;AAAA,QAAA;AAAA,UACA,MAAK;AAAA,UACL,WAAW,KAAK,OAAO,gBAAgB;AAAA,YACtC,CAAC,OAAO,oBAAoB,GAAG;AAAA,UAAA,CAC/B;AAAA,UACD,eAAY;AAAA,UAEZ,UAAA,oBAAC,gBAAe,EAAA,MAAK,OAAO,CAAA;AAAA,QAAA;AAAA,MAAA,GAE9B;AAAA,MAGD,UAAA,qBAAC,UAAS,EAAA,WAAU,eACnB,UAAA;AAAA,QAAA,oBAAC,UAAS,EAAA,MAAK,iDAAgD,QAAO,UAAS,UAE/E,aAAA;AAAA,QACC,kBAAmB,oBAAA,UAAA,EAAS,SAAS,eAAe,SAAS,UAAe,mBAAA;AAAA,4BAC5E,UAAS,EAAA,MAAK,iCAAgC,QAAO,UAAS,UAE/D,iBAAA;AAAA,4BACC,aAAY,EAAA;AAAA,QACZ,0CACC,UAAS,EAAA,WAAW,OAAO,cAAc,SAAS,kBAAkB,SAAS,UAAA;AAAA,UAAA;AAAA,UAC1D;AAAA,8BAClB,QAAK,EAAA,WAAW,OAAO,eAAgB,4BAAkB,MAAM,CAAA;AAAA,QAAA,GACjE;AAAA,QAED;AAAA,UAAC;AAAA,UAAA;AAAA,YACA,MAAK;AAAA,YACL,QAAO;AAAA,YACP,UAAA;AAAA,UAAA;AAAA,QAED;AAAA,4BACC,UAAS,EAAA,MAAK,iDAAgD,QAAO,UAAS,UAE/E,YAAA;AAAA,4BACC,aAAY,EAAA;AAAA,4BACZ,UAAS,EAAA,MAAK,uDAAsD,QAAO,UAAS,UAErF,cAAA;AAAA,4BACC,UAAS,EAAA,MAAK,8BAA6B,QAAO,UAAS,UAE5D,QAAA;AAAA,4BACC,UAAS,EAAA,MAAK,qCAAoC,QAAO,UAAS,UAEnE,OAAA,CAAA;AAAA,MAAA,EACD,CAAA;AAAA,IAAA;AAAA,EACD;AAEF;"}
@@ -1,24 +1,12 @@
1
1
  "use strict";
2
2
  Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
3
- const badge = "_badge_1pc1v_1";
4
- const tag = "_tag_1pc1v_15";
5
- const withNavLinkStyle = "_withNavLinkStyle_1pc1v_42 _withLinkStyle_1pc1v_21";
6
- const disabled = "_disabled_1pc1v_57";
7
- const projectNavigationItem = "_projectNavigationItem_1pc1v_61";
8
- const projectNavigationItemDisabled = "_projectNavigationItemDisabled_1pc1v_67";
9
- const classes = {
10
- badge,
11
- tag,
12
- withNavLinkStyle,
13
- disabled,
14
- projectNavigationItem,
15
- projectNavigationItemDisabled
3
+ const sidebarContainer = "_sidebarContainer_1x0gj_1";
4
+ const sidebarSkeleton = "_sidebarSkeleton_1x0gj_16";
5
+ const styles = {
6
+ sidebarContainer,
7
+ sidebarSkeleton
16
8
  };
17
- exports.badge = badge;
18
- exports.default = classes;
19
- exports.disabled = disabled;
20
- exports.projectNavigationItem = projectNavigationItem;
21
- exports.projectNavigationItemDisabled = projectNavigationItemDisabled;
22
- exports.tag = tag;
23
- exports.withNavLinkStyle = withNavLinkStyle;
9
+ exports.default = styles;
10
+ exports.sidebarContainer = sidebarContainer;
11
+ exports.sidebarSkeleton = sidebarSkeleton;
24
12
  //# sourceMappingURL=harmony119.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"harmony119.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"harmony119.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;"}
@@ -1,24 +1,12 @@
1
- const badge = "_badge_1pc1v_1";
2
- const tag = "_tag_1pc1v_15";
3
- const withNavLinkStyle = "_withNavLinkStyle_1pc1v_42 _withLinkStyle_1pc1v_21";
4
- const disabled = "_disabled_1pc1v_57";
5
- const projectNavigationItem = "_projectNavigationItem_1pc1v_61";
6
- const projectNavigationItemDisabled = "_projectNavigationItemDisabled_1pc1v_67";
7
- const classes = {
8
- badge,
9
- tag,
10
- withNavLinkStyle,
11
- disabled,
12
- projectNavigationItem,
13
- projectNavigationItemDisabled
1
+ const sidebarContainer = "_sidebarContainer_1x0gj_1";
2
+ const sidebarSkeleton = "_sidebarSkeleton_1x0gj_16";
3
+ const styles = {
4
+ sidebarContainer,
5
+ sidebarSkeleton
14
6
  };
15
7
  export {
16
- badge,
17
- classes as default,
18
- disabled,
19
- projectNavigationItem,
20
- projectNavigationItemDisabled,
21
- tag,
22
- withNavLinkStyle
8
+ styles as default,
9
+ sidebarContainer,
10
+ sidebarSkeleton
23
11
  };
24
12
  //# sourceMappingURL=harmony119.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"harmony119.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"harmony119.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;"}
@@ -1,102 +1,90 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const React = require("react");
4
- const debounce = require("./harmony131.cjs");
5
- const throttle = require("./harmony132.cjs");
6
- function _interopNamespaceDefault(e) {
7
- const n = Object.create(null, { [Symbol.toStringTag]: { value: "Module" } });
8
- if (e) {
9
- for (const k in e) {
10
- if (k !== "default") {
11
- const d = Object.getOwnPropertyDescriptor(e, k);
12
- Object.defineProperty(n, k, d.get ? d : {
13
- enumerable: true,
14
- get: () => e[k]
15
- });
16
- }
17
- }
18
- }
19
- n.default = e;
20
- return Object.freeze(n);
21
- }
22
- const React__namespace = /* @__PURE__ */ _interopNamespaceDefault(React);
23
- const patchResizeCallback = (resizeCallback, refreshMode, refreshRate, refreshOptions) => {
24
- switch (refreshMode) {
25
- case "debounce":
26
- return debounce.default(resizeCallback, refreshRate, refreshOptions);
27
- case "throttle":
28
- return throttle.default(resizeCallback, refreshRate, refreshOptions);
29
- default:
30
- return resizeCallback;
31
- }
32
- };
33
- const useCallbackRef = (
34
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
35
- (callback) => {
36
- const callbackRef = React__namespace.useRef(callback);
37
- React__namespace.useEffect(() => {
38
- callbackRef.current = callback;
39
- });
40
- return React__namespace.useMemo(() => (...args) => {
41
- var _a;
42
- return (_a = callbackRef.current) === null || _a === void 0 ? void 0 : _a.call(callbackRef, ...args);
43
- }, []);
44
- }
45
- );
46
- const useRefProxy = (
47
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
48
- (targetRef) => {
49
- const [refElement, setRefElement] = React__namespace.useState((targetRef === null || targetRef === void 0 ? void 0 : targetRef.current) || null);
50
- if (targetRef) {
51
- setTimeout(() => {
52
- if (targetRef.current !== refElement) {
53
- setRefElement(targetRef.current);
54
- }
55
- }, 0);
56
- }
57
- const refProxy = React__namespace.useMemo(() => new Proxy((node) => {
58
- if (node !== refElement) {
59
- setRefElement(node);
60
- }
61
- }, {
62
- get(target, prop) {
63
- if (prop === "current") {
64
- return refElement;
65
- }
66
- return target[prop];
67
- },
68
- set(target, prop, value) {
69
- if (prop === "current") {
70
- setRefElement(value);
71
- } else {
72
- target[prop] = value;
73
- }
74
- return true;
75
- }
76
- }), [refElement]);
77
- return { refProxy, refElement, setRefElement };
78
- }
79
- );
80
- const getDimensions = (entry, box) => {
81
- if (box === "border-box") {
82
- return {
83
- width: entry.borderBoxSize[0].inlineSize,
84
- height: entry.borderBoxSize[0].blockSize
85
- };
86
- }
87
- if (box === "content-box") {
88
- return {
89
- width: entry.contentBoxSize[0].inlineSize,
90
- height: entry.contentBoxSize[0].blockSize
91
- };
92
- }
3
+ const permissions = require("./harmony146.cjs");
4
+ const getProjectNavigationVisibilityMap = (project, adminRights, isFeatureEnabled) => {
5
+ var _a, _b;
93
6
  return {
94
- width: entry.contentRect.width,
95
- height: entry.contentRect.height
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
+ }
96
87
  };
97
88
  };
98
- exports.getDimensions = getDimensions;
99
- exports.patchResizeCallback = patchResizeCallback;
100
- exports.useCallbackRef = useCallbackRef;
101
- exports.useRefProxy = useRefProxy;
89
+ exports.getProjectNavigationVisibilityMap = getProjectNavigationVisibilityMap;
102
90
  //# sourceMappingURL=harmony122.cjs.map