@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,15 +1,39 @@
1
- import { jsx } from "react/jsx-runtime";
2
- import { useSidebar } from "./harmony113.mjs";
1
+ import { jsxs, jsx } from "react/jsx-runtime";
2
+ import { useSidebar } from "./harmony115.mjs";
3
3
  import { MenuItem } from "@lokalise/louis";
4
- import { canAccessTeamSettings } from "./harmony114.mjs";
5
- const TeamSettingsMenuItem = () => {
6
- const { jwt } = useSidebar();
7
- if (!canAccessTeamSettings(jwt)) {
4
+ import { isFreePlan } from "./harmony11.mjs";
5
+ import { canUpgradePlan } from "./harmony116.mjs";
6
+ import { UpgradeIcon } from "./harmony143.mjs";
7
+ import styles from "./harmony165.mjs";
8
+ const UpgradeMenuItem = ({ href }) => {
9
+ const {
10
+ jwt,
11
+ data: { currentTeam }
12
+ } = useSidebar();
13
+ if (!jwt || !canUpgradePlan(jwt) || !currentTeam.result) {
8
14
  return null;
9
15
  }
10
- return /* @__PURE__ */ jsx(MenuItem, { href: "/team", children: "Team settings" });
16
+ const isOnFreePlan = isFreePlan(jwt.planId);
17
+ const trialDaysLeft = currentTeam.result.trialDaysLeft;
18
+ const daysNoun = trialDaysLeft === 1 ? "day" : "days";
19
+ const ctaMessage = isOnFreePlan ? "Your team is currently on the Free plan" : `Free trial ends in ${trialDaysLeft} ${daysNoun}`;
20
+ return /* @__PURE__ */ jsxs(
21
+ MenuItem,
22
+ {
23
+ "data-testid": "sidebar-upgrade-menu-item",
24
+ href,
25
+ className: `flex-col gap-1 items-start ${styles.container}`,
26
+ children: [
27
+ /* @__PURE__ */ jsx("span", { className: styles.planCta, children: ctaMessage }),
28
+ /* @__PURE__ */ jsxs("div", { className: `flex-row items-center gap-1 ${styles.upgradeIconWrapper}`, children: [
29
+ /* @__PURE__ */ jsx(UpgradeIcon, {}),
30
+ /* @__PURE__ */ jsx("span", { children: "See upgrade options" })
31
+ ] })
32
+ ]
33
+ }
34
+ );
11
35
  };
12
36
  export {
13
- TeamSettingsMenuItem
37
+ UpgradeMenuItem
14
38
  };
15
39
  //# sourceMappingURL=harmony141.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"harmony141.mjs","sources":["../src/components/Sidebar/Widgets/ProfileMenu/TeamSettingsMenuItem/TeamSettingsMenuItem.tsx"],"sourcesContent":["import { useSidebar } from '@components/Sidebar/hooks/useSidebar'\nimport { MenuItem } from '@lokalise/louis'\nimport { canAccessTeamSettings } from '@utils/user/permissions'\n\n/**\n * A menu item component for navigating to the team settings page.\n * It checks the current user's permissions using the Sidebar context\n * and renders nothing if the user does not have access.\n *\n * @example\n * ```\n * <TeamSettingsMenuItem />\n * ```\n *\n * @note This component must be used within a Sidebar Context.\n */\n\nexport const TeamSettingsMenuItem = () => {\n\tconst { jwt } = useSidebar()\n\n\tif (!canAccessTeamSettings(jwt)) {\n\t\treturn null\n\t}\n\n\treturn <MenuItem href=\"/team\">Team settings</MenuItem>\n}\n"],"names":[],"mappings":";;;;AAiBO,MAAM,uBAAuB,MAAM;AACnC,QAAA,EAAE,IAAI,IAAI,WAAW;AAEvB,MAAA,CAAC,sBAAsB,GAAG,GAAG;AACzB,WAAA;AAAA,EAAA;AAGR,SAAQ,oBAAA,UAAA,EAAS,MAAK,SAAQ,UAAa,iBAAA;AAC5C;"}
1
+ {"version":3,"file":"harmony141.mjs","sources":["../src/components/Sidebar/Widgets/ProfileMenu/UpgradeMenuItem/UpgradeMenuItem.tsx"],"sourcesContent":["import { useSidebar } from '@components/Sidebar/hooks/useSidebar'\nimport { MenuItem } from '@lokalise/louis'\nimport { isFreePlan } from '@utils'\nimport { canUpgradePlan } from '@utils/user/permissions'\nimport { UpgradeIcon } from '../UpgradeIcon/UpgradeIcon'\nimport styles from './UpgradeMenuItem.module.css'\n\n/**\n * A menu item component that displays upgrade call-to-action information.\n * Only renders when upgrade options should be shown (determined by context).\n *\n * The component displays different messages based on the team's current plan:\n * - For free plans: \"Your team is currently on the Free plan\"\n * - For trial plans: \"Free trial ends in X days\"\n *\n * Includes an upgrade icon and \"See upgrade options\" text, styled to draw attention\n * to the upgrade opportunity.\n *\n * @example\n * ```tsx\n * <UpgradeMenuItem href=\"/pricing\" />\n * ```\n *\n * @note This component must be used within a Sidebar Context\n */\n\ntype UpgradeMenuItemProps = {\n\thref: string\n}\n\nexport const UpgradeMenuItem = ({ href }: UpgradeMenuItemProps) => {\n\tconst {\n\t\tjwt,\n\t\tdata: { currentTeam },\n\t} = useSidebar()\n\n\tif (!jwt || !canUpgradePlan(jwt) || !currentTeam.result) {\n\t\treturn null\n\t}\n\n\tconst isOnFreePlan = isFreePlan(jwt.planId)\n\n\tconst trialDaysLeft = currentTeam.result.trialDaysLeft\n\n\tconst daysNoun = trialDaysLeft === 1 ? 'day' : 'days'\n\tconst ctaMessage = isOnFreePlan\n\t\t? 'Your team is currently on the Free plan'\n\t\t: `Free trial ends in ${trialDaysLeft} ${daysNoun}`\n\n\treturn (\n\t\t<MenuItem\n\t\t\tdata-testid=\"sidebar-upgrade-menu-item\"\n\t\t\thref={href}\n\t\t\tclassName={`flex-col gap-1 items-start ${styles.container}`}\n\t\t>\n\t\t\t<span className={styles.planCta}>{ctaMessage}</span>\n\t\t\t<div className={`flex-row items-center gap-1 ${styles.upgradeIconWrapper}`}>\n\t\t\t\t<UpgradeIcon />\n\t\t\t\t<span>See upgrade options</span>\n\t\t\t</div>\n\t\t</MenuItem>\n\t)\n}\n"],"names":[],"mappings":";;;;;;;AA8BO,MAAM,kBAAkB,CAAC,EAAE,WAAiC;AAC5D,QAAA;AAAA,IACL;AAAA,IACA,MAAM,EAAE,YAAY;AAAA,MACjB,WAAW;AAEX,MAAA,CAAC,OAAO,CAAC,eAAe,GAAG,KAAK,CAAC,YAAY,QAAQ;AACjD,WAAA;AAAA,EAAA;AAGF,QAAA,eAAe,WAAW,IAAI,MAAM;AAEpC,QAAA,gBAAgB,YAAY,OAAO;AAEnC,QAAA,WAAW,kBAAkB,IAAI,QAAQ;AAC/C,QAAM,aAAa,eAChB,4CACA,sBAAsB,aAAa,IAAI,QAAQ;AAGjD,SAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACA,eAAY;AAAA,MACZ;AAAA,MACA,WAAW,8BAA8B,OAAO,SAAS;AAAA,MAEzD,UAAA;AAAA,QAAA,oBAAC,QAAK,EAAA,WAAW,OAAO,SAAU,UAAW,YAAA;AAAA,6BAC5C,OAAI,EAAA,WAAW,+BAA+B,OAAO,kBAAkB,IACvE,UAAA;AAAA,UAAA,oBAAC,aAAY,EAAA;AAAA,UACb,oBAAC,UAAK,UAAmB,sBAAA,CAAA;AAAA,QAAA,EAC1B,CAAA;AAAA,MAAA;AAAA,IAAA;AAAA,EACD;AAEF;"}
@@ -1,25 +1,24 @@
1
1
  "use strict";
2
- Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const jsxRuntime = require("react/jsx-runtime");
4
- const useSidebar = require("./harmony113.cjs");
5
- const TeamMenuItem = require("./harmony140.cjs");
6
- const TeamSwitch_module = require("./harmony164.cjs");
7
- const TeamSwitch = ({ onSwitchTeam }) => {
8
- var _a, _b;
9
- const {
10
- data: { otherTeams }
11
- } = useSidebar.useSidebar();
12
- if (((_a = otherTeams.result) == null ? void 0 : _a.length) === 0) {
13
- return null;
14
- }
15
- return /* @__PURE__ */ jsxRuntime.jsx(
16
- "div",
17
- {
18
- "data-testid": "sidebar-team-switch",
19
- className: `flex-col items-stretch ${TeamSwitch_module.default.teamsContainer}`,
20
- children: (_b = otherTeams.result) == null ? void 0 : _b.map((team) => /* @__PURE__ */ jsxRuntime.jsx(TeamMenuItem.TeamMenuItem, { team, onClick: onSwitchTeam, hidePlanLabel: true }, team.id))
21
- }
22
- );
2
+ Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
3
+ const menuContainer = "_menuContainer_1phdw_10";
4
+ const profileButton = "_profileButton_1phdw_20";
5
+ const profileImage = "_profileImage_1phdw_33";
6
+ const profileImageHighlight = "_profileImageHighlight_1phdw_41";
7
+ const profileImageUpgradeIcon = "_profileImageUpgradeIcon_1phdw_45";
8
+ const userIconWrapper = "_userIconWrapper_1phdw_51";
9
+ const styles = {
10
+ menuContainer,
11
+ profileButton,
12
+ profileImage,
13
+ profileImageHighlight,
14
+ profileImageUpgradeIcon,
15
+ userIconWrapper
23
16
  };
24
- exports.TeamSwitch = TeamSwitch;
17
+ exports.default = styles;
18
+ exports.menuContainer = menuContainer;
19
+ exports.profileButton = profileButton;
20
+ exports.profileImage = profileImage;
21
+ exports.profileImageHighlight = profileImageHighlight;
22
+ exports.profileImageUpgradeIcon = profileImageUpgradeIcon;
23
+ exports.userIconWrapper = userIconWrapper;
25
24
  //# sourceMappingURL=harmony142.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"harmony142.cjs","sources":["../src/components/Sidebar/Widgets/ProfileMenu/TeamSwitch/TeamSwitch.tsx"],"sourcesContent":["import { useSidebar } from '@components/Sidebar/hooks/useSidebar'\nimport type { SidebarTeam } from '@components/Sidebar/types'\nimport { TeamMenuItem } from '../TeamMenuItem/TeamMenuItem'\nimport styles from './TeamSwitch.module.css'\n\n/**\n * A component that displays a list of available teams for switching.\n * It automatically excludes the current team from the list and renders\n * nothing if there are no other teams available.\n *\n * Uses the Sidebar context to access the list of other teams and\n * renders each team as a TeamMenuItem with click functionality.\n *\n * @example\n * ```tsx\n * <TeamSwitch\n * onSwitchTeam={(team) => {\n * console.log(`Switching to team: ${team.name}`);\n * // Handle team switch logic\n * }}\n * />\n * ```\n *\n * @note This component must be used within a Sidebar Context\n */\n\ntype TeamSwitchProps = {\n\tonSwitchTeam: (team: SidebarTeam) => void\n}\n\nexport const TeamSwitch = ({ onSwitchTeam }: TeamSwitchProps) => {\n\tconst {\n\t\tdata: { otherTeams },\n\t} = useSidebar()\n\n\tif (otherTeams.result?.length === 0) {\n\t\treturn null\n\t}\n\n\treturn (\n\t\t<div\n\t\t\tdata-testid=\"sidebar-team-switch\"\n\t\t\tclassName={`flex-col items-stretch ${styles.teamsContainer}`}\n\t\t>\n\t\t\t{otherTeams.result?.map((team) => (\n\t\t\t\t<TeamMenuItem team={team} key={team.id} onClick={onSwitchTeam} hidePlanLabel />\n\t\t\t))}\n\t\t</div>\n\t)\n}\n"],"names":["useSidebar","jsx","styles","TeamMenuItem"],"mappings":";;;;;;AA8BO,MAAM,aAAa,CAAC,EAAE,mBAAoC;;AAC1D,QAAA;AAAA,IACL,MAAM,EAAE,WAAW;AAAA,MAChBA,sBAAW;AAEX,QAAA,gBAAW,WAAX,mBAAmB,YAAW,GAAG;AAC7B,WAAA;AAAA,EAAA;AAIP,SAAAC,2BAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACA,eAAY;AAAA,MACZ,WAAW,0BAA0BC,kBAAA,QAAO,cAAc;AAAA,MAEzD,WAAW,gBAAA,WAAA,mBAAQ,IAAI,CAAC,SACvBD,2BAAAA,IAAAE,aAAA,cAAA,EAAa,MAA0B,SAAS,cAAc,eAAa,KAA7C,GAAA,KAAK,EAAyC;AAAA,IAC7E;AAAA,EACF;AAEF;;"}
1
+ {"version":3,"file":"harmony142.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;"}
@@ -1,25 +1,24 @@
1
- import { jsx } from "react/jsx-runtime";
2
- import { useSidebar } from "./harmony113.mjs";
3
- import { TeamMenuItem } from "./harmony140.mjs";
4
- import styles from "./harmony164.mjs";
5
- const TeamSwitch = ({ onSwitchTeam }) => {
6
- var _a, _b;
7
- const {
8
- data: { otherTeams }
9
- } = useSidebar();
10
- if (((_a = otherTeams.result) == null ? void 0 : _a.length) === 0) {
11
- return null;
12
- }
13
- return /* @__PURE__ */ jsx(
14
- "div",
15
- {
16
- "data-testid": "sidebar-team-switch",
17
- className: `flex-col items-stretch ${styles.teamsContainer}`,
18
- children: (_b = otherTeams.result) == null ? void 0 : _b.map((team) => /* @__PURE__ */ jsx(TeamMenuItem, { team, onClick: onSwitchTeam, hidePlanLabel: true }, team.id))
19
- }
20
- );
1
+ const menuContainer = "_menuContainer_1phdw_10";
2
+ const profileButton = "_profileButton_1phdw_20";
3
+ const profileImage = "_profileImage_1phdw_33";
4
+ const profileImageHighlight = "_profileImageHighlight_1phdw_41";
5
+ const profileImageUpgradeIcon = "_profileImageUpgradeIcon_1phdw_45";
6
+ const userIconWrapper = "_userIconWrapper_1phdw_51";
7
+ const styles = {
8
+ menuContainer,
9
+ profileButton,
10
+ profileImage,
11
+ profileImageHighlight,
12
+ profileImageUpgradeIcon,
13
+ userIconWrapper
21
14
  };
22
15
  export {
23
- TeamSwitch
16
+ styles as default,
17
+ menuContainer,
18
+ profileButton,
19
+ profileImage,
20
+ profileImageHighlight,
21
+ profileImageUpgradeIcon,
22
+ userIconWrapper
24
23
  };
25
24
  //# sourceMappingURL=harmony142.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"harmony142.mjs","sources":["../src/components/Sidebar/Widgets/ProfileMenu/TeamSwitch/TeamSwitch.tsx"],"sourcesContent":["import { useSidebar } from '@components/Sidebar/hooks/useSidebar'\nimport type { SidebarTeam } from '@components/Sidebar/types'\nimport { TeamMenuItem } from '../TeamMenuItem/TeamMenuItem'\nimport styles from './TeamSwitch.module.css'\n\n/**\n * A component that displays a list of available teams for switching.\n * It automatically excludes the current team from the list and renders\n * nothing if there are no other teams available.\n *\n * Uses the Sidebar context to access the list of other teams and\n * renders each team as a TeamMenuItem with click functionality.\n *\n * @example\n * ```tsx\n * <TeamSwitch\n * onSwitchTeam={(team) => {\n * console.log(`Switching to team: ${team.name}`);\n * // Handle team switch logic\n * }}\n * />\n * ```\n *\n * @note This component must be used within a Sidebar Context\n */\n\ntype TeamSwitchProps = {\n\tonSwitchTeam: (team: SidebarTeam) => void\n}\n\nexport const TeamSwitch = ({ onSwitchTeam }: TeamSwitchProps) => {\n\tconst {\n\t\tdata: { otherTeams },\n\t} = useSidebar()\n\n\tif (otherTeams.result?.length === 0) {\n\t\treturn null\n\t}\n\n\treturn (\n\t\t<div\n\t\t\tdata-testid=\"sidebar-team-switch\"\n\t\t\tclassName={`flex-col items-stretch ${styles.teamsContainer}`}\n\t\t>\n\t\t\t{otherTeams.result?.map((team) => (\n\t\t\t\t<TeamMenuItem team={team} key={team.id} onClick={onSwitchTeam} hidePlanLabel />\n\t\t\t))}\n\t\t</div>\n\t)\n}\n"],"names":[],"mappings":";;;;AA8BO,MAAM,aAAa,CAAC,EAAE,mBAAoC;;AAC1D,QAAA;AAAA,IACL,MAAM,EAAE,WAAW;AAAA,MAChB,WAAW;AAEX,QAAA,gBAAW,WAAX,mBAAmB,YAAW,GAAG;AAC7B,WAAA;AAAA,EAAA;AAIP,SAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACA,eAAY;AAAA,MACZ,WAAW,0BAA0B,OAAO,cAAc;AAAA,MAEzD,WAAW,gBAAA,WAAA,mBAAQ,IAAI,CAAC,SACvB,oBAAA,cAAA,EAAa,MAA0B,SAAS,cAAc,eAAa,KAA7C,GAAA,KAAK,EAAyC;AAAA,IAC7E;AAAA,EACF;AAEF;"}
1
+ {"version":3,"file":"harmony142.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;"}
@@ -1,39 +1,24 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
3
  const jsxRuntime = require("react/jsx-runtime");
4
- const useSidebar = require("./harmony113.cjs");
5
4
  const louis = require("@lokalise/louis");
6
- const plan = require("./harmony11.cjs");
7
- const permissions = require("./harmony114.cjs");
8
- const UpgradeIcon = require("./harmony145.cjs");
9
- const UpgradeMenuItem_module = require("./harmony165.cjs");
10
- const UpgradeMenuItem = ({ href }) => {
11
- const {
12
- jwt,
13
- data: { currentTeam }
14
- } = useSidebar.useSidebar();
15
- if (!jwt || !permissions.canUpgradePlan(jwt) || !currentTeam.result) {
16
- return null;
17
- }
18
- const isOnFreePlan = plan.isFreePlan(jwt.planId);
19
- const trialDaysLeft = currentTeam.result.trialDaysLeft;
20
- const daysNoun = trialDaysLeft === 1 ? "day" : "days";
21
- const ctaMessage = isOnFreePlan ? "Your team is currently on the Free plan" : `Free trial ends in ${trialDaysLeft} ${daysNoun}`;
22
- return /* @__PURE__ */ jsxRuntime.jsxs(
23
- louis.MenuItem,
5
+ const clsx = require("./harmony93.cjs");
6
+ const UpgradeIcon_module = require("./harmony166.cjs");
7
+ const UpgradeIcon = ({ className = "" }) => {
8
+ return /* @__PURE__ */ jsxRuntime.jsx(
9
+ "div",
24
10
  {
25
- "data-testid": "sidebar-upgrade-menu-item",
26
- href,
27
- className: `flex-col gap-1 items-start ${UpgradeMenuItem_module.default.container}`,
28
- children: [
29
- /* @__PURE__ */ jsxRuntime.jsx("span", { className: UpgradeMenuItem_module.default.planCta, children: ctaMessage }),
30
- /* @__PURE__ */ jsxRuntime.jsxs("div", { className: `flex-row items-center gap-1 ${UpgradeMenuItem_module.default.upgradeIconWrapper}`, children: [
31
- /* @__PURE__ */ jsxRuntime.jsx(UpgradeIcon.UpgradeIcon, {}),
32
- /* @__PURE__ */ jsxRuntime.jsx("span", { children: "See upgrade options" })
33
- ] })
34
- ]
11
+ "aria-label": "Upgrade Icon",
12
+ className: clsx.clsx(
13
+ UpgradeIcon_module.default.iconContainer,
14
+ "flex-row",
15
+ "items-center",
16
+ "justify-center",
17
+ className
18
+ ),
19
+ children: /* @__PURE__ */ jsxRuntime.jsx(louis.CaretUpIcon, {})
35
20
  }
36
21
  );
37
22
  };
38
- exports.UpgradeMenuItem = UpgradeMenuItem;
23
+ exports.UpgradeIcon = UpgradeIcon;
39
24
  //# sourceMappingURL=harmony143.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"harmony143.cjs","sources":["../src/components/Sidebar/Widgets/ProfileMenu/UpgradeMenuItem/UpgradeMenuItem.tsx"],"sourcesContent":["import { useSidebar } from '@components/Sidebar/hooks/useSidebar'\nimport { MenuItem } from '@lokalise/louis'\nimport { isFreePlan } from '@utils'\nimport { canUpgradePlan } from '@utils/user/permissions'\nimport { UpgradeIcon } from '../UpgradeIcon/UpgradeIcon'\nimport styles from './UpgradeMenuItem.module.css'\n\n/**\n * A menu item component that displays upgrade call-to-action information.\n * Only renders when upgrade options should be shown (determined by context).\n *\n * The component displays different messages based on the team's current plan:\n * - For free plans: \"Your team is currently on the Free plan\"\n * - For trial plans: \"Free trial ends in X days\"\n *\n * Includes an upgrade icon and \"See upgrade options\" text, styled to draw attention\n * to the upgrade opportunity.\n *\n * @example\n * ```tsx\n * <UpgradeMenuItem href=\"/pricing\" />\n * ```\n *\n * @note This component must be used within a Sidebar Context\n */\n\ntype UpgradeMenuItemProps = {\n\thref: string\n}\n\nexport const UpgradeMenuItem = ({ href }: UpgradeMenuItemProps) => {\n\tconst {\n\t\tjwt,\n\t\tdata: { currentTeam },\n\t} = useSidebar()\n\n\tif (!jwt || !canUpgradePlan(jwt) || !currentTeam.result) {\n\t\treturn null\n\t}\n\n\tconst isOnFreePlan = isFreePlan(jwt.planId)\n\n\tconst trialDaysLeft = currentTeam.result.trialDaysLeft\n\n\tconst daysNoun = trialDaysLeft === 1 ? 'day' : 'days'\n\tconst ctaMessage = isOnFreePlan\n\t\t? 'Your team is currently on the Free plan'\n\t\t: `Free trial ends in ${trialDaysLeft} ${daysNoun}`\n\n\treturn (\n\t\t<MenuItem\n\t\t\tdata-testid=\"sidebar-upgrade-menu-item\"\n\t\t\thref={href}\n\t\t\tclassName={`flex-col gap-1 items-start ${styles.container}`}\n\t\t>\n\t\t\t<span className={styles.planCta}>{ctaMessage}</span>\n\t\t\t<div className={`flex-row items-center gap-1 ${styles.upgradeIconWrapper}`}>\n\t\t\t\t<UpgradeIcon />\n\t\t\t\t<span>See upgrade options</span>\n\t\t\t</div>\n\t\t</MenuItem>\n\t)\n}\n"],"names":["useSidebar","canUpgradePlan","isFreePlan","jsxs","MenuItem","styles","jsx","UpgradeIcon"],"mappings":";;;;;;;;;AA8BO,MAAM,kBAAkB,CAAC,EAAE,WAAiC;AAC5D,QAAA;AAAA,IACL;AAAA,IACA,MAAM,EAAE,YAAY;AAAA,MACjBA,sBAAW;AAEX,MAAA,CAAC,OAAO,CAACC,YAAA,eAAe,GAAG,KAAK,CAAC,YAAY,QAAQ;AACjD,WAAA;AAAA,EAAA;AAGF,QAAA,eAAeC,KAAAA,WAAW,IAAI,MAAM;AAEpC,QAAA,gBAAgB,YAAY,OAAO;AAEnC,QAAA,WAAW,kBAAkB,IAAI,QAAQ;AAC/C,QAAM,aAAa,eAChB,4CACA,sBAAsB,aAAa,IAAI,QAAQ;AAGjD,SAAAC,2BAAA;AAAA,IAACC,MAAA;AAAA,IAAA;AAAA,MACA,eAAY;AAAA,MACZ;AAAA,MACA,WAAW,8BAA8BC,uBAAA,QAAO,SAAS;AAAA,MAEzD,UAAA;AAAA,QAAAC,2BAAA,IAAC,QAAK,EAAA,WAAWD,uBAAO,QAAA,SAAU,UAAW,YAAA;AAAA,wCAC5C,OAAI,EAAA,WAAW,+BAA+BA,+BAAO,kBAAkB,IACvE,UAAA;AAAA,UAAAC,2BAAA,IAACC,YAAY,aAAA,EAAA;AAAA,UACbD,2BAAAA,IAAC,UAAK,UAAmB,sBAAA,CAAA;AAAA,QAAA,EAC1B,CAAA;AAAA,MAAA;AAAA,IAAA;AAAA,EACD;AAEF;;"}
1
+ {"version":3,"file":"harmony143.cjs","sources":["../src/components/Sidebar/Widgets/ProfileMenu/UpgradeIcon/UpgradeIcon.tsx"],"sourcesContent":["import { CaretUpIcon } from '@lokalise/louis'\nimport clsx from 'clsx'\nimport styles from './UpgradeIcon.module.css'\n\ntype UpgradeIconProps = {\n\tclassName?: string\n}\n\nexport const UpgradeIcon = ({ className = '' }: UpgradeIconProps) => {\n\treturn (\n\t\t<div\n\t\t\taria-label={'Upgrade Icon'}\n\t\t\tclassName={clsx(\n\t\t\t\tstyles.iconContainer,\n\t\t\t\t'flex-row',\n\t\t\t\t'items-center',\n\t\t\t\t'justify-center',\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t>\n\t\t\t<CaretUpIcon />\n\t\t</div>\n\t)\n}\n"],"names":["jsx","clsx","styles","CaretUpIcon"],"mappings":";;;;;;AAQO,MAAM,cAAc,CAAC,EAAE,YAAY,SAA2B;AAEnE,SAAAA,2BAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACA,cAAY;AAAA,MACZ,WAAWC,KAAA;AAAA,QACVC,mBAAAA,QAAO;AAAA,QACP;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MACD;AAAA,MAEA,yCAACC,MAAAA,aAAY,CAAA,CAAA;AAAA,IAAA;AAAA,EACd;AAEF;;"}
@@ -1,39 +1,24 @@
1
- import { jsxs, jsx } from "react/jsx-runtime";
2
- import { useSidebar } from "./harmony113.mjs";
3
- import { MenuItem } from "@lokalise/louis";
4
- import { isFreePlan } from "./harmony11.mjs";
5
- import { canUpgradePlan } from "./harmony114.mjs";
6
- import { UpgradeIcon } from "./harmony145.mjs";
7
- import styles from "./harmony165.mjs";
8
- const UpgradeMenuItem = ({ href }) => {
9
- const {
10
- jwt,
11
- data: { currentTeam }
12
- } = useSidebar();
13
- if (!jwt || !canUpgradePlan(jwt) || !currentTeam.result) {
14
- return null;
15
- }
16
- const isOnFreePlan = isFreePlan(jwt.planId);
17
- const trialDaysLeft = currentTeam.result.trialDaysLeft;
18
- const daysNoun = trialDaysLeft === 1 ? "day" : "days";
19
- const ctaMessage = isOnFreePlan ? "Your team is currently on the Free plan" : `Free trial ends in ${trialDaysLeft} ${daysNoun}`;
20
- return /* @__PURE__ */ jsxs(
21
- MenuItem,
1
+ import { jsx } from "react/jsx-runtime";
2
+ import { CaretUpIcon } from "@lokalise/louis";
3
+ import { clsx } from "./harmony93.mjs";
4
+ import styles from "./harmony166.mjs";
5
+ const UpgradeIcon = ({ className = "" }) => {
6
+ return /* @__PURE__ */ jsx(
7
+ "div",
22
8
  {
23
- "data-testid": "sidebar-upgrade-menu-item",
24
- href,
25
- className: `flex-col gap-1 items-start ${styles.container}`,
26
- children: [
27
- /* @__PURE__ */ jsx("span", { className: styles.planCta, children: ctaMessage }),
28
- /* @__PURE__ */ jsxs("div", { className: `flex-row items-center gap-1 ${styles.upgradeIconWrapper}`, children: [
29
- /* @__PURE__ */ jsx(UpgradeIcon, {}),
30
- /* @__PURE__ */ jsx("span", { children: "See upgrade options" })
31
- ] })
32
- ]
9
+ "aria-label": "Upgrade Icon",
10
+ className: clsx(
11
+ styles.iconContainer,
12
+ "flex-row",
13
+ "items-center",
14
+ "justify-center",
15
+ className
16
+ ),
17
+ children: /* @__PURE__ */ jsx(CaretUpIcon, {})
33
18
  }
34
19
  );
35
20
  };
36
21
  export {
37
- UpgradeMenuItem
22
+ UpgradeIcon
38
23
  };
39
24
  //# sourceMappingURL=harmony143.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"harmony143.mjs","sources":["../src/components/Sidebar/Widgets/ProfileMenu/UpgradeMenuItem/UpgradeMenuItem.tsx"],"sourcesContent":["import { useSidebar } from '@components/Sidebar/hooks/useSidebar'\nimport { MenuItem } from '@lokalise/louis'\nimport { isFreePlan } from '@utils'\nimport { canUpgradePlan } from '@utils/user/permissions'\nimport { UpgradeIcon } from '../UpgradeIcon/UpgradeIcon'\nimport styles from './UpgradeMenuItem.module.css'\n\n/**\n * A menu item component that displays upgrade call-to-action information.\n * Only renders when upgrade options should be shown (determined by context).\n *\n * The component displays different messages based on the team's current plan:\n * - For free plans: \"Your team is currently on the Free plan\"\n * - For trial plans: \"Free trial ends in X days\"\n *\n * Includes an upgrade icon and \"See upgrade options\" text, styled to draw attention\n * to the upgrade opportunity.\n *\n * @example\n * ```tsx\n * <UpgradeMenuItem href=\"/pricing\" />\n * ```\n *\n * @note This component must be used within a Sidebar Context\n */\n\ntype UpgradeMenuItemProps = {\n\thref: string\n}\n\nexport const UpgradeMenuItem = ({ href }: UpgradeMenuItemProps) => {\n\tconst {\n\t\tjwt,\n\t\tdata: { currentTeam },\n\t} = useSidebar()\n\n\tif (!jwt || !canUpgradePlan(jwt) || !currentTeam.result) {\n\t\treturn null\n\t}\n\n\tconst isOnFreePlan = isFreePlan(jwt.planId)\n\n\tconst trialDaysLeft = currentTeam.result.trialDaysLeft\n\n\tconst daysNoun = trialDaysLeft === 1 ? 'day' : 'days'\n\tconst ctaMessage = isOnFreePlan\n\t\t? 'Your team is currently on the Free plan'\n\t\t: `Free trial ends in ${trialDaysLeft} ${daysNoun}`\n\n\treturn (\n\t\t<MenuItem\n\t\t\tdata-testid=\"sidebar-upgrade-menu-item\"\n\t\t\thref={href}\n\t\t\tclassName={`flex-col gap-1 items-start ${styles.container}`}\n\t\t>\n\t\t\t<span className={styles.planCta}>{ctaMessage}</span>\n\t\t\t<div className={`flex-row items-center gap-1 ${styles.upgradeIconWrapper}`}>\n\t\t\t\t<UpgradeIcon />\n\t\t\t\t<span>See upgrade options</span>\n\t\t\t</div>\n\t\t</MenuItem>\n\t)\n}\n"],"names":[],"mappings":";;;;;;;AA8BO,MAAM,kBAAkB,CAAC,EAAE,WAAiC;AAC5D,QAAA;AAAA,IACL;AAAA,IACA,MAAM,EAAE,YAAY;AAAA,MACjB,WAAW;AAEX,MAAA,CAAC,OAAO,CAAC,eAAe,GAAG,KAAK,CAAC,YAAY,QAAQ;AACjD,WAAA;AAAA,EAAA;AAGF,QAAA,eAAe,WAAW,IAAI,MAAM;AAEpC,QAAA,gBAAgB,YAAY,OAAO;AAEnC,QAAA,WAAW,kBAAkB,IAAI,QAAQ;AAC/C,QAAM,aAAa,eAChB,4CACA,sBAAsB,aAAa,IAAI,QAAQ;AAGjD,SAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACA,eAAY;AAAA,MACZ;AAAA,MACA,WAAW,8BAA8B,OAAO,SAAS;AAAA,MAEzD,UAAA;AAAA,QAAA,oBAAC,QAAK,EAAA,WAAW,OAAO,SAAU,UAAW,YAAA;AAAA,6BAC5C,OAAI,EAAA,WAAW,+BAA+B,OAAO,kBAAkB,IACvE,UAAA;AAAA,UAAA,oBAAC,aAAY,EAAA;AAAA,UACb,oBAAC,UAAK,UAAmB,sBAAA,CAAA;AAAA,QAAA,EAC1B,CAAA;AAAA,MAAA;AAAA,IAAA;AAAA,EACD;AAEF;"}
1
+ {"version":3,"file":"harmony143.mjs","sources":["../src/components/Sidebar/Widgets/ProfileMenu/UpgradeIcon/UpgradeIcon.tsx"],"sourcesContent":["import { CaretUpIcon } from '@lokalise/louis'\nimport clsx from 'clsx'\nimport styles from './UpgradeIcon.module.css'\n\ntype UpgradeIconProps = {\n\tclassName?: string\n}\n\nexport const UpgradeIcon = ({ className = '' }: UpgradeIconProps) => {\n\treturn (\n\t\t<div\n\t\t\taria-label={'Upgrade Icon'}\n\t\t\tclassName={clsx(\n\t\t\t\tstyles.iconContainer,\n\t\t\t\t'flex-row',\n\t\t\t\t'items-center',\n\t\t\t\t'justify-center',\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t>\n\t\t\t<CaretUpIcon />\n\t\t</div>\n\t)\n}\n"],"names":[],"mappings":";;;;AAQO,MAAM,cAAc,CAAC,EAAE,YAAY,SAA2B;AAEnE,SAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACA,cAAY;AAAA,MACZ,WAAW;AAAA,QACV,OAAO;AAAA,QACP;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MACD;AAAA,MAEA,8BAAC,aAAY,CAAA,CAAA;AAAA,IAAA;AAAA,EACd;AAEF;"}
@@ -1,24 +1,9 @@
1
1
  "use strict";
2
2
  Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
3
- const menuContainer = "_menuContainer_1phdw_10";
4
- const profileButton = "_profileButton_1phdw_20";
5
- const profileImage = "_profileImage_1phdw_33";
6
- const profileImageHighlight = "_profileImageHighlight_1phdw_41";
7
- const profileImageUpgradeIcon = "_profileImageUpgradeIcon_1phdw_45";
8
- const userIconWrapper = "_userIconWrapper_1phdw_51";
3
+ const logoLink = "_logoLink_1baxb_1";
9
4
  const styles = {
10
- menuContainer,
11
- profileButton,
12
- profileImage,
13
- profileImageHighlight,
14
- profileImageUpgradeIcon,
15
- userIconWrapper
5
+ logoLink
16
6
  };
17
7
  exports.default = styles;
18
- exports.menuContainer = menuContainer;
19
- exports.profileButton = profileButton;
20
- exports.profileImage = profileImage;
21
- exports.profileImageHighlight = profileImageHighlight;
22
- exports.profileImageUpgradeIcon = profileImageUpgradeIcon;
23
- exports.userIconWrapper = userIconWrapper;
8
+ exports.logoLink = logoLink;
24
9
  //# sourceMappingURL=harmony144.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"harmony144.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"harmony144.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;"}
@@ -1,24 +1,9 @@
1
- const menuContainer = "_menuContainer_1phdw_10";
2
- const profileButton = "_profileButton_1phdw_20";
3
- const profileImage = "_profileImage_1phdw_33";
4
- const profileImageHighlight = "_profileImageHighlight_1phdw_41";
5
- const profileImageUpgradeIcon = "_profileImageUpgradeIcon_1phdw_45";
6
- const userIconWrapper = "_userIconWrapper_1phdw_51";
1
+ const logoLink = "_logoLink_1baxb_1";
7
2
  const styles = {
8
- menuContainer,
9
- profileButton,
10
- profileImage,
11
- profileImageHighlight,
12
- profileImageUpgradeIcon,
13
- userIconWrapper
3
+ logoLink
14
4
  };
15
5
  export {
16
6
  styles as default,
17
- menuContainer,
18
- profileButton,
19
- profileImage,
20
- profileImageHighlight,
21
- profileImageUpgradeIcon,
22
- userIconWrapper
7
+ logoLink
23
8
  };
24
9
  //# sourceMappingURL=harmony144.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"harmony144.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"harmony144.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;"}
@@ -1,24 +1,18 @@
1
1
  "use strict";
2
- Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const jsxRuntime = require("react/jsx-runtime");
4
- const louis = require("@lokalise/louis");
5
- const clsx = require("./harmony93.cjs");
6
- const UpgradeIcon_module = require("./harmony166.cjs");
7
- const UpgradeIcon = ({ className = "" }) => {
8
- return /* @__PURE__ */ jsxRuntime.jsx(
9
- "div",
10
- {
11
- "aria-label": "Upgrade Icon",
12
- className: clsx.clsx(
13
- UpgradeIcon_module.default.iconContainer,
14
- "flex-row",
15
- "items-center",
16
- "justify-center",
17
- className
18
- ),
19
- children: /* @__PURE__ */ jsxRuntime.jsx(louis.CaretUpIcon, {})
20
- }
21
- );
2
+ Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
3
+ const shortcutMenu = "_shortcutMenu_ujdmb_1";
4
+ const shortcutLabel = "_shortcutLabel_ujdmb_5";
5
+ const dropdownButton = "_dropdownButton_ujdmb_12";
6
+ const dropdownButtonActive = "_dropdownButtonActive_ujdmb_30";
7
+ const styles = {
8
+ shortcutMenu,
9
+ shortcutLabel,
10
+ dropdownButton,
11
+ dropdownButtonActive
22
12
  };
23
- exports.UpgradeIcon = UpgradeIcon;
13
+ exports.default = styles;
14
+ exports.dropdownButton = dropdownButton;
15
+ exports.dropdownButtonActive = dropdownButtonActive;
16
+ exports.shortcutLabel = shortcutLabel;
17
+ exports.shortcutMenu = shortcutMenu;
24
18
  //# sourceMappingURL=harmony145.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"harmony145.cjs","sources":["../src/components/Sidebar/Widgets/ProfileMenu/UpgradeIcon/UpgradeIcon.tsx"],"sourcesContent":["import { CaretUpIcon } from '@lokalise/louis'\nimport clsx from 'clsx'\nimport styles from './UpgradeIcon.module.css'\n\ntype UpgradeIconProps = {\n\tclassName?: string\n}\n\nexport const UpgradeIcon = ({ className = '' }: UpgradeIconProps) => {\n\treturn (\n\t\t<div\n\t\t\taria-label={'Upgrade Icon'}\n\t\t\tclassName={clsx(\n\t\t\t\tstyles.iconContainer,\n\t\t\t\t'flex-row',\n\t\t\t\t'items-center',\n\t\t\t\t'justify-center',\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t>\n\t\t\t<CaretUpIcon />\n\t\t</div>\n\t)\n}\n"],"names":["jsx","clsx","styles","CaretUpIcon"],"mappings":";;;;;;AAQO,MAAM,cAAc,CAAC,EAAE,YAAY,SAA2B;AAEnE,SAAAA,2BAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACA,cAAY;AAAA,MACZ,WAAWC,KAAA;AAAA,QACVC,mBAAAA,QAAO;AAAA,QACP;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MACD;AAAA,MAEA,yCAACC,MAAAA,aAAY,CAAA,CAAA;AAAA,IAAA;AAAA,EACd;AAEF;;"}
1
+ {"version":3,"file":"harmony145.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;"}
@@ -1,24 +1,18 @@
1
- import { jsx } from "react/jsx-runtime";
2
- import { CaretUpIcon } from "@lokalise/louis";
3
- import { clsx } from "./harmony93.mjs";
4
- import styles from "./harmony166.mjs";
5
- const UpgradeIcon = ({ className = "" }) => {
6
- return /* @__PURE__ */ jsx(
7
- "div",
8
- {
9
- "aria-label": "Upgrade Icon",
10
- className: clsx(
11
- styles.iconContainer,
12
- "flex-row",
13
- "items-center",
14
- "justify-center",
15
- className
16
- ),
17
- children: /* @__PURE__ */ jsx(CaretUpIcon, {})
18
- }
19
- );
1
+ const shortcutMenu = "_shortcutMenu_ujdmb_1";
2
+ const shortcutLabel = "_shortcutLabel_ujdmb_5";
3
+ const dropdownButton = "_dropdownButton_ujdmb_12";
4
+ const dropdownButtonActive = "_dropdownButtonActive_ujdmb_30";
5
+ const styles = {
6
+ shortcutMenu,
7
+ shortcutLabel,
8
+ dropdownButton,
9
+ dropdownButtonActive
20
10
  };
21
11
  export {
22
- UpgradeIcon
12
+ styles as default,
13
+ dropdownButton,
14
+ dropdownButtonActive,
15
+ shortcutLabel,
16
+ shortcutMenu
23
17
  };
24
18
  //# sourceMappingURL=harmony145.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"harmony145.mjs","sources":["../src/components/Sidebar/Widgets/ProfileMenu/UpgradeIcon/UpgradeIcon.tsx"],"sourcesContent":["import { CaretUpIcon } from '@lokalise/louis'\nimport clsx from 'clsx'\nimport styles from './UpgradeIcon.module.css'\n\ntype UpgradeIconProps = {\n\tclassName?: string\n}\n\nexport const UpgradeIcon = ({ className = '' }: UpgradeIconProps) => {\n\treturn (\n\t\t<div\n\t\t\taria-label={'Upgrade Icon'}\n\t\t\tclassName={clsx(\n\t\t\t\tstyles.iconContainer,\n\t\t\t\t'flex-row',\n\t\t\t\t'items-center',\n\t\t\t\t'justify-center',\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t>\n\t\t\t<CaretUpIcon />\n\t\t</div>\n\t)\n}\n"],"names":[],"mappings":";;;;AAQO,MAAM,cAAc,CAAC,EAAE,YAAY,SAA2B;AAEnE,SAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACA,cAAY;AAAA,MACZ,WAAW;AAAA,QACV,OAAO;AAAA,QACP;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MACD;AAAA,MAEA,8BAAC,aAAY,CAAA,CAAA;AAAA,IAAA;AAAA,EACd;AAEF;"}
1
+ {"version":3,"file":"harmony145.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;"}
@@ -1,9 +1,13 @@
1
1
  "use strict";
2
- Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
3
- const logoLink = "_logoLink_1baxb_1";
4
- const styles = {
5
- logoLink
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const hasAdminRight = (adminRights, right) => {
4
+ if (!Array.isArray(adminRights)) return false;
5
+ return adminRights.includes(right);
6
6
  };
7
- exports.default = styles;
8
- exports.logoLink = logoLink;
7
+ const hasAnyAdminRight = (adminRights, rights) => {
8
+ if (!Array.isArray(adminRights)) return false;
9
+ return rights.some((right) => adminRights.includes(right));
10
+ };
11
+ exports.hasAdminRight = hasAdminRight;
12
+ exports.hasAnyAdminRight = hasAnyAdminRight;
9
13
  //# sourceMappingURL=harmony146.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"harmony146.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;"}
1
+ {"version":3,"file":"harmony146.cjs","sources":["../src/features/auth/utils/permissions.ts"],"sourcesContent":["// Helper function to check if user has a specific admin right\nexport const hasAdminRight = (adminRights: string[], right: string): boolean => {\n\tif (!Array.isArray(adminRights)) return false\n\treturn adminRights.includes(right)\n}\n\n// Helper function to check if user has any of the specified admin rights\nexport const hasAnyAdminRight = (adminRights: string[], rights: string[]): boolean => {\n\tif (!Array.isArray(adminRights)) return false\n\treturn rights.some((right) => adminRights.includes(right))\n}\n"],"names":[],"mappings":";;AACa,MAAA,gBAAgB,CAAC,aAAuB,UAA2B;AAC/E,MAAI,CAAC,MAAM,QAAQ,WAAW,EAAU,QAAA;AACjC,SAAA,YAAY,SAAS,KAAK;AAClC;AAGa,MAAA,mBAAmB,CAAC,aAAuB,WAA8B;AACrF,MAAI,CAAC,MAAM,QAAQ,WAAW,EAAU,QAAA;AACxC,SAAO,OAAO,KAAK,CAAC,UAAU,YAAY,SAAS,KAAK,CAAC;AAC1D;;;"}
@@ -1,9 +1,13 @@
1
- const logoLink = "_logoLink_1baxb_1";
2
- const styles = {
3
- logoLink
1
+ const hasAdminRight = (adminRights, right) => {
2
+ if (!Array.isArray(adminRights)) return false;
3
+ return adminRights.includes(right);
4
+ };
5
+ const hasAnyAdminRight = (adminRights, rights) => {
6
+ if (!Array.isArray(adminRights)) return false;
7
+ return rights.some((right) => adminRights.includes(right));
4
8
  };
5
9
  export {
6
- styles as default,
7
- logoLink
10
+ hasAdminRight,
11
+ hasAnyAdminRight
8
12
  };
9
13
  //# sourceMappingURL=harmony146.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"harmony146.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;"}
1
+ {"version":3,"file":"harmony146.mjs","sources":["../src/features/auth/utils/permissions.ts"],"sourcesContent":["// Helper function to check if user has a specific admin right\nexport const hasAdminRight = (adminRights: string[], right: string): boolean => {\n\tif (!Array.isArray(adminRights)) return false\n\treturn adminRights.includes(right)\n}\n\n// Helper function to check if user has any of the specified admin rights\nexport const hasAnyAdminRight = (adminRights: string[], rights: string[]): boolean => {\n\tif (!Array.isArray(adminRights)) return false\n\treturn rights.some((right) => adminRights.includes(right))\n}\n"],"names":[],"mappings":"AACa,MAAA,gBAAgB,CAAC,aAAuB,UAA2B;AAC/E,MAAI,CAAC,MAAM,QAAQ,WAAW,EAAU,QAAA;AACjC,SAAA,YAAY,SAAS,KAAK;AAClC;AAGa,MAAA,mBAAmB,CAAC,aAAuB,WAA8B;AACrF,MAAI,CAAC,MAAM,QAAQ,WAAW,EAAU,QAAA;AACxC,SAAO,OAAO,KAAK,CAAC,UAAU,YAAY,SAAS,KAAK,CAAC;AAC1D;"}
@@ -1,18 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
3
- const shortcutMenu = "_shortcutMenu_ujdmb_1";
4
- const shortcutLabel = "_shortcutLabel_ujdmb_5";
5
- const dropdownButton = "_dropdownButton_ujdmb_12";
6
- const dropdownButtonActive = "_dropdownButtonActive_ujdmb_30";
7
- const styles = {
8
- shortcutMenu,
9
- shortcutLabel,
10
- dropdownButton,
11
- dropdownButtonActive
12
- };
13
- exports.default = styles;
14
- exports.dropdownButton = dropdownButton;
15
- exports.dropdownButtonActive = dropdownButtonActive;
16
- exports.shortcutLabel = shortcutLabel;
17
- exports.shortcutMenu = shortcutMenu;
3
+ const _commonjsHelpers = require("./harmony176.cjs");
4
+ const debounce$1 = require("./harmony155.cjs");
5
+ var debounceExports = debounce$1.__require();
6
+ const debounce = /* @__PURE__ */ _commonjsHelpers.getDefaultExportFromCjs(debounceExports);
7
+ exports.default = debounce;
18
8
  //# sourceMappingURL=harmony147.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"harmony147.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"harmony147.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;"}
@@ -1,18 +1,8 @@
1
- const shortcutMenu = "_shortcutMenu_ujdmb_1";
2
- const shortcutLabel = "_shortcutLabel_ujdmb_5";
3
- const dropdownButton = "_dropdownButton_ujdmb_12";
4
- const dropdownButtonActive = "_dropdownButtonActive_ujdmb_30";
5
- const styles = {
6
- shortcutMenu,
7
- shortcutLabel,
8
- dropdownButton,
9
- dropdownButtonActive
10
- };
1
+ import { getDefaultExportFromCjs } from "./harmony176.mjs";
2
+ import { __require as requireDebounce } from "./harmony155.mjs";
3
+ var debounceExports = requireDebounce();
4
+ const debounce = /* @__PURE__ */ getDefaultExportFromCjs(debounceExports);
11
5
  export {
12
- styles as default,
13
- dropdownButton,
14
- dropdownButtonActive,
15
- shortcutLabel,
16
- shortcutMenu
6
+ debounce as default
17
7
  };
18
8
  //# sourceMappingURL=harmony147.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"harmony147.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;"}
1
+ {"version":3,"file":"harmony147.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;"}
@@ -1,13 +1,8 @@
1
1
  "use strict";
2
- Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const hasAdminRight = (adminRights, right) => {
4
- if (!Array.isArray(adminRights)) return false;
5
- return adminRights.includes(right);
6
- };
7
- const hasAnyAdminRight = (adminRights, rights) => {
8
- if (!Array.isArray(adminRights)) return false;
9
- return rights.some((right) => adminRights.includes(right));
10
- };
11
- exports.hasAdminRight = hasAdminRight;
12
- exports.hasAnyAdminRight = hasAnyAdminRight;
2
+ Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
3
+ const _commonjsHelpers = require("./harmony176.cjs");
4
+ const throttle$1 = require("./harmony159.cjs");
5
+ var throttleExports = throttle$1.__require();
6
+ const throttle = /* @__PURE__ */ _commonjsHelpers.getDefaultExportFromCjs(throttleExports);
7
+ exports.default = throttle;
13
8
  //# sourceMappingURL=harmony148.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"harmony148.cjs","sources":["../src/features/auth/utils/permissions.ts"],"sourcesContent":["// Helper function to check if user has a specific admin right\nexport const hasAdminRight = (adminRights: string[], right: string): boolean => {\n\tif (!Array.isArray(adminRights)) return false\n\treturn adminRights.includes(right)\n}\n\n// Helper function to check if user has any of the specified admin rights\nexport const hasAnyAdminRight = (adminRights: string[], rights: string[]): boolean => {\n\tif (!Array.isArray(adminRights)) return false\n\treturn rights.some((right) => adminRights.includes(right))\n}\n"],"names":[],"mappings":";;AACa,MAAA,gBAAgB,CAAC,aAAuB,UAA2B;AAC/E,MAAI,CAAC,MAAM,QAAQ,WAAW,EAAU,QAAA;AACjC,SAAA,YAAY,SAAS,KAAK;AAClC;AAGa,MAAA,mBAAmB,CAAC,aAAuB,WAA8B;AACrF,MAAI,CAAC,MAAM,QAAQ,WAAW,EAAU,QAAA;AACxC,SAAO,OAAO,KAAK,CAAC,UAAU,YAAY,SAAS,KAAK,CAAC;AAC1D;;;"}
1
+ {"version":3,"file":"harmony148.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;"}