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

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 (272) hide show
  1. package/dist/harmony.cjs +1 -0
  2. package/dist/harmony.cjs.map +1 -1
  3. package/dist/harmony.mjs +2 -1
  4. package/dist/harmony103.cjs +1 -1
  5. package/dist/harmony103.mjs +1 -1
  6. package/dist/harmony104.cjs +7 -7
  7. package/dist/harmony104.mjs +7 -7
  8. package/dist/harmony106.cjs +2 -2
  9. package/dist/harmony106.mjs +2 -2
  10. package/dist/harmony107.cjs +165 -2
  11. package/dist/harmony107.cjs.map +1 -1
  12. package/dist/harmony107.mjs +166 -3
  13. package/dist/harmony107.mjs.map +1 -1
  14. package/dist/harmony108.cjs +42 -16
  15. package/dist/harmony108.cjs.map +1 -1
  16. package/dist/harmony108.mjs +42 -16
  17. package/dist/harmony108.mjs.map +1 -1
  18. package/dist/harmony109.cjs +13 -75
  19. package/dist/harmony109.cjs.map +1 -1
  20. package/dist/harmony109.mjs +13 -75
  21. package/dist/harmony109.mjs.map +1 -1
  22. package/dist/harmony110.cjs +2 -11
  23. package/dist/harmony110.cjs.map +1 -1
  24. package/dist/harmony110.mjs +3 -12
  25. package/dist/harmony110.mjs.map +1 -1
  26. package/dist/harmony111.cjs +18 -34
  27. package/dist/harmony111.cjs.map +1 -1
  28. package/dist/harmony111.mjs +18 -34
  29. package/dist/harmony111.mjs.map +1 -1
  30. package/dist/harmony112.cjs +75 -8
  31. package/dist/harmony112.cjs.map +1 -1
  32. package/dist/harmony112.mjs +75 -8
  33. package/dist/harmony112.mjs.map +1 -1
  34. package/dist/harmony113.cjs +11 -46
  35. package/dist/harmony113.cjs.map +1 -1
  36. package/dist/harmony113.mjs +11 -46
  37. package/dist/harmony113.mjs.map +1 -1
  38. package/dist/harmony114.cjs +35 -10
  39. package/dist/harmony114.cjs.map +1 -1
  40. package/dist/harmony114.mjs +34 -9
  41. package/dist/harmony114.mjs.map +1 -1
  42. package/dist/harmony115.cjs +9 -14
  43. package/dist/harmony115.cjs.map +1 -1
  44. package/dist/harmony115.mjs +9 -14
  45. package/dist/harmony115.mjs.map +1 -1
  46. package/dist/harmony116.cjs +44 -163
  47. package/dist/harmony116.cjs.map +1 -1
  48. package/dist/harmony116.mjs +44 -163
  49. package/dist/harmony116.mjs.map +1 -1
  50. package/dist/harmony117.cjs +9 -44
  51. package/dist/harmony117.cjs.map +1 -1
  52. package/dist/harmony117.mjs +8 -43
  53. package/dist/harmony117.mjs.map +1 -1
  54. package/dist/harmony118.cjs +9 -10
  55. package/dist/harmony118.cjs.map +1 -1
  56. package/dist/harmony118.mjs +11 -12
  57. package/dist/harmony118.mjs.map +1 -1
  58. package/dist/harmony119.cjs +20 -11
  59. package/dist/harmony119.cjs.map +1 -1
  60. package/dist/harmony119.mjs +20 -11
  61. package/dist/harmony119.mjs.map +1 -1
  62. package/dist/harmony120.cjs +10 -9
  63. package/dist/harmony120.cjs.map +1 -1
  64. package/dist/harmony120.mjs +12 -11
  65. package/dist/harmony120.mjs.map +1 -1
  66. package/dist/harmony121.cjs +11 -20
  67. package/dist/harmony121.cjs.map +1 -1
  68. package/dist/harmony121.mjs +11 -20
  69. package/dist/harmony121.mjs.map +1 -1
  70. package/dist/harmony122.cjs +2 -2
  71. package/dist/harmony122.mjs +2 -2
  72. package/dist/harmony123.cjs +20 -87
  73. package/dist/harmony123.cjs.map +1 -1
  74. package/dist/harmony123.mjs +20 -87
  75. package/dist/harmony123.mjs.map +1 -1
  76. package/dist/harmony124.cjs +7 -30
  77. package/dist/harmony124.cjs.map +1 -1
  78. package/dist/harmony124.mjs +7 -30
  79. package/dist/harmony124.mjs.map +1 -1
  80. package/dist/harmony125.cjs +17 -20
  81. package/dist/harmony125.cjs.map +1 -1
  82. package/dist/harmony125.mjs +17 -20
  83. package/dist/harmony125.mjs.map +1 -1
  84. package/dist/harmony126.cjs +8 -7
  85. package/dist/harmony126.cjs.map +1 -1
  86. package/dist/harmony126.mjs +8 -7
  87. package/dist/harmony126.mjs.map +1 -1
  88. package/dist/harmony127.cjs +7 -16
  89. package/dist/harmony127.cjs.map +1 -1
  90. package/dist/harmony127.mjs +7 -16
  91. package/dist/harmony127.mjs.map +1 -1
  92. package/dist/harmony128.cjs +14 -7
  93. package/dist/harmony128.cjs.map +1 -1
  94. package/dist/harmony128.mjs +14 -7
  95. package/dist/harmony128.mjs.map +1 -1
  96. package/dist/harmony129.cjs +86 -7
  97. package/dist/harmony129.cjs.map +1 -1
  98. package/dist/harmony129.mjs +86 -7
  99. package/dist/harmony129.mjs.map +1 -1
  100. package/dist/harmony130.cjs +30 -15
  101. package/dist/harmony130.cjs.map +1 -1
  102. package/dist/harmony130.mjs +30 -15
  103. package/dist/harmony130.mjs.map +1 -1
  104. package/dist/harmony131.cjs +5 -9
  105. package/dist/harmony131.cjs.map +1 -1
  106. package/dist/harmony131.mjs +5 -9
  107. package/dist/harmony131.mjs.map +1 -1
  108. package/dist/harmony132.cjs +6 -13
  109. package/dist/harmony132.cjs.map +1 -1
  110. package/dist/harmony132.mjs +5 -12
  111. package/dist/harmony132.mjs.map +1 -1
  112. package/dist/harmony133.cjs +9 -15
  113. package/dist/harmony133.cjs.map +1 -1
  114. package/dist/harmony133.mjs +8 -14
  115. package/dist/harmony133.mjs.map +1 -1
  116. package/dist/harmony134.cjs +6 -13
  117. package/dist/harmony134.cjs.map +1 -1
  118. package/dist/harmony134.mjs +8 -15
  119. package/dist/harmony134.mjs.map +1 -1
  120. package/dist/harmony135.cjs +12 -7
  121. package/dist/harmony135.cjs.map +1 -1
  122. package/dist/harmony135.mjs +14 -9
  123. package/dist/harmony135.mjs.map +1 -1
  124. package/dist/harmony136.cjs +13 -20
  125. package/dist/harmony136.cjs.map +1 -1
  126. package/dist/harmony136.mjs +15 -22
  127. package/dist/harmony136.mjs.map +1 -1
  128. package/dist/harmony137.cjs +7 -9
  129. package/dist/harmony137.cjs.map +1 -1
  130. package/dist/harmony137.mjs +9 -11
  131. package/dist/harmony137.mjs.map +1 -1
  132. package/dist/harmony138.cjs +18 -30
  133. package/dist/harmony138.cjs.map +1 -1
  134. package/dist/harmony138.mjs +20 -32
  135. package/dist/harmony138.mjs.map +1 -1
  136. package/dist/harmony139.cjs +6 -6
  137. package/dist/harmony139.cjs.map +1 -1
  138. package/dist/harmony139.mjs +6 -6
  139. package/dist/harmony139.mjs.map +1 -1
  140. package/dist/harmony140.cjs +29 -13
  141. package/dist/harmony140.cjs.map +1 -1
  142. package/dist/harmony140.mjs +30 -14
  143. package/dist/harmony140.mjs.map +1 -1
  144. package/dist/harmony141.cjs +7 -31
  145. package/dist/harmony141.cjs.map +1 -1
  146. package/dist/harmony141.mjs +8 -32
  147. package/dist/harmony141.mjs.map +1 -1
  148. package/dist/harmony142.cjs +22 -21
  149. package/dist/harmony142.cjs.map +1 -1
  150. package/dist/harmony142.mjs +21 -20
  151. package/dist/harmony142.mjs.map +1 -1
  152. package/dist/harmony143.cjs +30 -15
  153. package/dist/harmony143.cjs.map +1 -1
  154. package/dist/harmony143.mjs +32 -17
  155. package/dist/harmony143.mjs.map +1 -1
  156. package/dist/harmony144.cjs +18 -3
  157. package/dist/harmony144.cjs.map +1 -1
  158. package/dist/harmony144.mjs +18 -3
  159. package/dist/harmony144.mjs.map +1 -1
  160. package/dist/harmony145.cjs +21 -15
  161. package/dist/harmony145.cjs.map +1 -1
  162. package/dist/harmony145.mjs +20 -14
  163. package/dist/harmony145.mjs.map +1 -1
  164. package/dist/harmony146.cjs +6 -5
  165. package/dist/harmony146.cjs.map +1 -1
  166. package/dist/harmony146.mjs +6 -5
  167. package/dist/harmony147.cjs +15 -5
  168. package/dist/harmony147.cjs.map +1 -1
  169. package/dist/harmony147.mjs +15 -5
  170. package/dist/harmony147.mjs.map +1 -1
  171. package/dist/harmony149.cjs +1 -1
  172. package/dist/harmony149.mjs +1 -1
  173. package/dist/harmony150.cjs +1 -1
  174. package/dist/harmony150.mjs +1 -1
  175. package/dist/harmony151.cjs +1 -1
  176. package/dist/harmony151.mjs +1 -1
  177. package/dist/harmony152.cjs +3 -3
  178. package/dist/harmony152.mjs +3 -3
  179. package/dist/harmony153.cjs +3 -3
  180. package/dist/harmony153.mjs +3 -3
  181. package/dist/harmony154.cjs +1 -1
  182. package/dist/harmony154.mjs +1 -1
  183. package/dist/harmony157.cjs +1 -1
  184. package/dist/harmony157.mjs +1 -1
  185. package/dist/harmony158.cjs +2 -2
  186. package/dist/harmony158.mjs +2 -2
  187. package/dist/harmony167.cjs +13 -32
  188. package/dist/harmony167.cjs.map +1 -1
  189. package/dist/harmony167.mjs +13 -32
  190. package/dist/harmony167.mjs.map +1 -1
  191. package/dist/harmony168.cjs +14 -12
  192. package/dist/harmony168.cjs.map +1 -1
  193. package/dist/harmony168.mjs +14 -12
  194. package/dist/harmony168.mjs.map +1 -1
  195. package/dist/harmony169.cjs +14 -13
  196. package/dist/harmony169.cjs.map +1 -1
  197. package/dist/harmony169.mjs +14 -13
  198. package/dist/harmony169.mjs.map +1 -1
  199. package/dist/harmony17.cjs +1 -1
  200. package/dist/harmony17.mjs +1 -1
  201. package/dist/harmony170.cjs +31 -15
  202. package/dist/harmony170.cjs.map +1 -1
  203. package/dist/harmony170.mjs +31 -15
  204. package/dist/harmony170.mjs.map +1 -1
  205. package/dist/harmony171.cjs +1 -1
  206. package/dist/harmony171.mjs +1 -1
  207. package/dist/harmony173.cjs +3 -3
  208. package/dist/harmony173.mjs +3 -3
  209. package/dist/harmony175.cjs +6 -4
  210. package/dist/harmony175.cjs.map +1 -1
  211. package/dist/harmony175.mjs +6 -4
  212. package/dist/harmony175.mjs.map +1 -1
  213. package/dist/harmony176.cjs +11 -5
  214. package/dist/harmony176.cjs.map +1 -1
  215. package/dist/harmony176.mjs +11 -5
  216. package/dist/harmony176.mjs.map +1 -1
  217. package/dist/harmony177.cjs +31 -11
  218. package/dist/harmony177.cjs.map +1 -1
  219. package/dist/harmony177.mjs +31 -11
  220. package/dist/harmony177.mjs.map +1 -1
  221. package/dist/harmony178.cjs +10 -28
  222. package/dist/harmony178.cjs.map +1 -1
  223. package/dist/harmony178.mjs +10 -28
  224. package/dist/harmony178.mjs.map +1 -1
  225. package/dist/harmony179.cjs +4 -14
  226. package/dist/harmony179.cjs.map +1 -1
  227. package/dist/harmony179.mjs +4 -14
  228. package/dist/harmony179.mjs.map +1 -1
  229. package/dist/harmony20.cjs +1 -1
  230. package/dist/harmony20.mjs +1 -1
  231. package/dist/harmony28.cjs +1 -1
  232. package/dist/harmony28.mjs +1 -1
  233. package/dist/harmony29.cjs +1 -1
  234. package/dist/harmony29.mjs +1 -1
  235. package/dist/harmony32.cjs +1 -1
  236. package/dist/harmony32.mjs +1 -1
  237. package/dist/harmony33.cjs +1 -1
  238. package/dist/harmony33.mjs +1 -1
  239. package/dist/harmony34.cjs +1 -1
  240. package/dist/harmony34.mjs +1 -1
  241. package/dist/harmony39.cjs +1 -1
  242. package/dist/harmony39.mjs +1 -1
  243. package/dist/harmony40.cjs +1 -1
  244. package/dist/harmony40.mjs +1 -1
  245. package/dist/harmony41.cjs +1 -1
  246. package/dist/harmony41.mjs +1 -1
  247. package/dist/harmony42.cjs +2 -2
  248. package/dist/harmony42.mjs +2 -2
  249. package/dist/harmony43.cjs +2 -2
  250. package/dist/harmony43.mjs +2 -2
  251. package/dist/harmony44.cjs +1 -1
  252. package/dist/harmony44.mjs +1 -1
  253. package/dist/harmony90.cjs +2 -0
  254. package/dist/harmony90.cjs.map +1 -1
  255. package/dist/harmony90.mjs +2 -0
  256. package/dist/harmony90.mjs.map +1 -1
  257. package/dist/harmony97.cjs +2 -2
  258. package/dist/harmony97.mjs +2 -2
  259. package/dist/harmony99.cjs +2 -2
  260. package/dist/harmony99.mjs +2 -2
  261. package/dist/types/src/features/auth/frontend/services/generateTokenFromClassicSession.d.ts +1 -4
  262. package/dist/types/src/features/auth/frontend/services/refreshExpiredToken.d.ts +1 -4
  263. package/dist/types/src/features/publicApi/TESTING_CONTRACTS.d.ts +2 -56
  264. package/dist/types/src/features/publicApi/contributors.d.ts +5 -260
  265. package/dist/types/src/features/publicApi/languages.d.ts +3 -106
  266. package/dist/types/src/features/publicApi/permissionTemplates.d.ts +1 -54
  267. package/dist/types/src/features/publicApi/projects.d.ts +6 -520
  268. package/dist/types/src/features/publicApi/score.d.ts +3 -102
  269. package/dist/types/src/features/publicApi/team.d.ts +2 -102
  270. package/dist/types/src/features/publicApi/teamUsers.d.ts +3 -125
  271. package/dist/types/src/features/publicApi/userToken.d.ts +1 -19
  272. package/package.json +3 -3
@@ -1,11 +1,90 @@
1
- const has = (seed, ...items) => {
2
- if (!seed) return false;
3
- if (items.length === 0) return false;
4
- const seedArray = Array.isArray(seed) ? seed : [seed];
5
- if (seedArray.length === 0) return false;
6
- return items.every((item) => seedArray.includes(item));
1
+ import { hasAdminRight, hasAnyAdminRight } from "./harmony148.mjs";
2
+ const getProjectNavigationVisibilityMap = (project, adminRights, isFeatureEnabled) => {
3
+ var _a, _b;
4
+ return {
5
+ upload: {
6
+ visible: hasAdminRight(adminRights, "upload"),
7
+ disabled: false
8
+ },
9
+ download: {
10
+ visible: hasAdminRight(adminRights, "download"),
11
+ disabled: false
12
+ },
13
+ // TODO: HOME-1009, Clean up after permission management
14
+ // -- There is a plan for "Install apps" permission. Right..?
15
+ apps: {
16
+ visible: true,
17
+ disabled: false
18
+ },
19
+ // TODO: HOME-1009, Clean up after permission management
20
+ // -- There is a plan for "Install apps" permission. Right..?
21
+ contentManagement: {
22
+ visible: project.project_type === "content_integration" && hasAdminRight(adminRights, "keys"),
23
+ disabled: false
24
+ },
25
+ editor: {
26
+ visible: true,
27
+ disabled: false
28
+ },
29
+ files: {
30
+ visible: isFeatureEnabled("lionLfcFilesManagement") && project.project_type === "paged_documents" && hasAnyAdminRight(adminRights, ["upload", "download"]),
31
+ disabled: false
32
+ },
33
+ tasks: {
34
+ visible: hasAdminRight(adminRights, "tasks"),
35
+ disabled: false
36
+ },
37
+ contributors: {
38
+ visible: hasAdminRight(adminRights, "contributors"),
39
+ disabled: false
40
+ },
41
+ workflows: {
42
+ visible: hasAdminRight(adminRights, "settings"),
43
+ disabled: false
44
+ },
45
+ screenshots: {
46
+ visible: hasAdminRight(adminRights, "screenshots"),
47
+ disabled: false
48
+ },
49
+ glossary: {
50
+ visible: hasAdminRight(adminRights, "glossary"),
51
+ disabled: false
52
+ },
53
+ more: {
54
+ visible: true,
55
+ disabled: false
56
+ },
57
+ settings: {
58
+ visible: hasAdminRight(adminRights, "settings"),
59
+ disabled: false
60
+ },
61
+ branches: {
62
+ visible: !!((_a = project.settings) == null ? void 0 : _a.branching) && hasAnyAdminRight(adminRights, ["branches_create", "create_branches", "branches_merge"]),
63
+ disabled: false
64
+ },
65
+ otaBundles: {
66
+ visible: hasAnyAdminRight(adminRights, ["download", "settings", "keys"]) && project.project_type === "localization_files",
67
+ disabled: false
68
+ },
69
+ automations: {
70
+ visible: hasAdminRight(adminRights, "settings"),
71
+ disabled: false
72
+ },
73
+ duplicateFinder: {
74
+ visible: hasAdminRight(adminRights, "keys") && project.project_type === "localization_files",
75
+ disabled: false
76
+ },
77
+ activity: {
78
+ visible: !!((_b = project.settings) == null ? void 0 : _b.offline_translation) || hasAdminRight(adminRights, "activity"),
79
+ disabled: false
80
+ },
81
+ statistics: {
82
+ visible: hasAdminRight(adminRights, "statistics"),
83
+ disabled: false
84
+ }
85
+ };
7
86
  };
8
87
  export {
9
- has
88
+ getProjectNavigationVisibilityMap
10
89
  };
11
90
  //# sourceMappingURL=harmony129.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"harmony129.mjs","sources":["../src/features/permissions/utils/has.ts"],"sourcesContent":["export const has = <T extends string>(seed: T | T[] | undefined, ...items: T[]) => {\n\tif (!seed) return false\n\tif (items.length === 0) return false\n\tconst seedArray = Array.isArray(seed) ? seed : [seed]\n\tif (seedArray.length === 0) return false\n\treturn items.every((item) => seedArray.includes(item))\n}\n"],"names":[],"mappings":"AAAa,MAAA,MAAM,CAAmB,SAA8B,UAAe;AAC9E,MAAA,CAAC,KAAa,QAAA;AACd,MAAA,MAAM,WAAW,EAAU,QAAA;AAC/B,QAAM,YAAY,MAAM,QAAQ,IAAI,IAAI,OAAO,CAAC,IAAI;AAChD,MAAA,UAAU,WAAW,EAAU,QAAA;AACnC,SAAO,MAAM,MAAM,CAAC,SAAS,UAAU,SAAS,IAAI,CAAC;AACtD;"}
1
+ {"version":3,"file":"harmony129.mjs","sources":["../src/features/navigation/utils/toolbarVisibility.ts"],"sourcesContent":["import { hasAdminRight, hasAnyAdminRight } from '@features/auth/utils/permissions'\nimport type { Project } from '@features/node'\n\ntype ToolbarVisibility = {\n\tdisabled: boolean\n\tvisible: boolean\n}\n\nexport type ToolbarVisibilityMap = {\n\tupload: ToolbarVisibility\n\tdownload: ToolbarVisibility\n\tapps: ToolbarVisibility\n\tcontentManagement: ToolbarVisibility\n\teditor: ToolbarVisibility\n\tfiles: ToolbarVisibility\n\ttasks: ToolbarVisibility\n\tworkflows: ToolbarVisibility\n\tcontributors: ToolbarVisibility\n\tscreenshots: ToolbarVisibility\n\tglossary: ToolbarVisibility\n\tmore: ToolbarVisibility\n\tsettings: ToolbarVisibility\n\tbranches: ToolbarVisibility\n\totaBundles: ToolbarVisibility\n\tautomations: ToolbarVisibility\n\tduplicateFinder: ToolbarVisibility\n\tactivity: ToolbarVisibility\n\tstatistics: ToolbarVisibility\n}\n\nexport const getProjectNavigationVisibilityMap = (\n\tproject: Project,\n\tadminRights: string[],\n\tisFeatureEnabled: (key: string) => boolean,\n): ToolbarVisibilityMap => ({\n\tupload: {\n\t\tvisible: hasAdminRight(adminRights, 'upload'),\n\t\tdisabled: false,\n\t},\n\tdownload: {\n\t\tvisible: hasAdminRight(adminRights, 'download'),\n\t\tdisabled: false,\n\t},\n\t// TODO: HOME-1009, Clean up after permission management\n\t// -- There is a plan for \"Install apps\" permission. Right..?\n\tapps: {\n\t\tvisible: true,\n\t\tdisabled: false,\n\t},\n\t// TODO: HOME-1009, Clean up after permission management\n\t// -- There is a plan for \"Install apps\" permission. Right..?\n\tcontentManagement: {\n\t\tvisible: project.project_type === 'content_integration' && hasAdminRight(adminRights, 'keys'),\n\t\tdisabled: false,\n\t},\n\teditor: {\n\t\tvisible: true,\n\t\tdisabled: false,\n\t},\n\tfiles: {\n\t\tvisible:\n\t\t\tisFeatureEnabled('lionLfcFilesManagement') &&\n\t\t\tproject.project_type === 'paged_documents' &&\n\t\t\thasAnyAdminRight(adminRights, ['upload', 'download']),\n\t\tdisabled: false,\n\t},\n\ttasks: {\n\t\tvisible: hasAdminRight(adminRights, 'tasks'),\n\t\tdisabled: false,\n\t},\n\tcontributors: {\n\t\tvisible: hasAdminRight(adminRights, 'contributors'),\n\t\tdisabled: false,\n\t},\n\tworkflows: {\n\t\tvisible: hasAdminRight(adminRights, 'settings'),\n\t\tdisabled: false,\n\t},\n\tscreenshots: {\n\t\tvisible: hasAdminRight(adminRights, 'screenshots'),\n\t\tdisabled: false,\n\t},\n\tglossary: {\n\t\tvisible: hasAdminRight(adminRights, 'glossary'),\n\t\tdisabled: false,\n\t},\n\tmore: {\n\t\tvisible: true,\n\t\tdisabled: false,\n\t},\n\tsettings: {\n\t\tvisible: hasAdminRight(adminRights, 'settings'),\n\t\tdisabled: false,\n\t},\n\tbranches: {\n\t\tvisible:\n\t\t\t!!project.settings?.branching &&\n\t\t\thasAnyAdminRight(adminRights, ['branches_create', 'create_branches', 'branches_merge']),\n\t\tdisabled: false,\n\t},\n\totaBundles: {\n\t\tvisible:\n\t\t\thasAnyAdminRight(adminRights, ['download', 'settings', 'keys']) &&\n\t\t\tproject.project_type === 'localization_files',\n\t\tdisabled: false,\n\t},\n\tautomations: {\n\t\tvisible: hasAdminRight(adminRights, 'settings'),\n\t\tdisabled: false,\n\t},\n\tduplicateFinder: {\n\t\tvisible: hasAdminRight(adminRights, 'keys') && project.project_type === 'localization_files',\n\t\tdisabled: false,\n\t},\n\tactivity: {\n\t\tvisible: !!project.settings?.offline_translation || hasAdminRight(adminRights, 'activity'),\n\t\tdisabled: false,\n\t},\n\tstatistics: {\n\t\tvisible: hasAdminRight(adminRights, 'statistics'),\n\t\tdisabled: false,\n\t},\n})\n"],"names":[],"mappings":";AA8BO,MAAM,oCAAoC,CAChD,SACA,aACA,qBAC2B;;AAAA;AAAA,IAC3B,QAAQ;AAAA,MACP,SAAS,cAAc,aAAa,QAAQ;AAAA,MAC5C,UAAU;AAAA,IACX;AAAA,IACA,UAAU;AAAA,MACT,SAAS,cAAc,aAAa,UAAU;AAAA,MAC9C,UAAU;AAAA,IACX;AAAA;AAAA;AAAA,IAGA,MAAM;AAAA,MACL,SAAS;AAAA,MACT,UAAU;AAAA,IACX;AAAA;AAAA;AAAA,IAGA,mBAAmB;AAAA,MAClB,SAAS,QAAQ,iBAAiB,yBAAyB,cAAc,aAAa,MAAM;AAAA,MAC5F,UAAU;AAAA,IACX;AAAA,IACA,QAAQ;AAAA,MACP,SAAS;AAAA,MACT,UAAU;AAAA,IACX;AAAA,IACA,OAAO;AAAA,MACN,SACC,iBAAiB,wBAAwB,KACzC,QAAQ,iBAAiB,qBACzB,iBAAiB,aAAa,CAAC,UAAU,UAAU,CAAC;AAAA,MACrD,UAAU;AAAA,IACX;AAAA,IACA,OAAO;AAAA,MACN,SAAS,cAAc,aAAa,OAAO;AAAA,MAC3C,UAAU;AAAA,IACX;AAAA,IACA,cAAc;AAAA,MACb,SAAS,cAAc,aAAa,cAAc;AAAA,MAClD,UAAU;AAAA,IACX;AAAA,IACA,WAAW;AAAA,MACV,SAAS,cAAc,aAAa,UAAU;AAAA,MAC9C,UAAU;AAAA,IACX;AAAA,IACA,aAAa;AAAA,MACZ,SAAS,cAAc,aAAa,aAAa;AAAA,MACjD,UAAU;AAAA,IACX;AAAA,IACA,UAAU;AAAA,MACT,SAAS,cAAc,aAAa,UAAU;AAAA,MAC9C,UAAU;AAAA,IACX;AAAA,IACA,MAAM;AAAA,MACL,SAAS;AAAA,MACT,UAAU;AAAA,IACX;AAAA,IACA,UAAU;AAAA,MACT,SAAS,cAAc,aAAa,UAAU;AAAA,MAC9C,UAAU;AAAA,IACX;AAAA,IACA,UAAU;AAAA,MACT,SACC,CAAC,GAAC,aAAQ,aAAR,mBAAkB,cACpB,iBAAiB,aAAa,CAAC,mBAAmB,mBAAmB,gBAAgB,CAAC;AAAA,MACvF,UAAU;AAAA,IACX;AAAA,IACA,YAAY;AAAA,MACX,SACC,iBAAiB,aAAa,CAAC,YAAY,YAAY,MAAM,CAAC,KAC9D,QAAQ,iBAAiB;AAAA,MAC1B,UAAU;AAAA,IACX;AAAA,IACA,aAAa;AAAA,MACZ,SAAS,cAAc,aAAa,UAAU;AAAA,MAC9C,UAAU;AAAA,IACX;AAAA,IACA,iBAAiB;AAAA,MAChB,SAAS,cAAc,aAAa,MAAM,KAAK,QAAQ,iBAAiB;AAAA,MACxE,UAAU;AAAA,IACX;AAAA,IACA,UAAU;AAAA,MACT,SAAS,CAAC,GAAC,aAAQ,aAAR,mBAAkB,wBAAuB,cAAc,aAAa,UAAU;AAAA,MACzF,UAAU;AAAA,IACX;AAAA,IACA,YAAY;AAAA,MACX,SAAS,cAAc,aAAa,YAAY;AAAA,MAChD,UAAU;AAAA,IAAA;AAAA,EAEZ;AAAA;"}
@@ -1,18 +1,33 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const accessMarketingProjects = require("./harmony149.cjs");
4
- const deleteProjects = require("./harmony150.cjs");
5
- const manageContributors = require("./harmony151.cjs");
6
- const canDownloadFiles = require("./harmony152.cjs");
7
- const canUploadFiles = require("./harmony153.cjs");
8
- const createProjects = require("./harmony154.cjs");
9
- const actionResolvers = {
10
- accessMarketingProjects: accessMarketingProjects.accessMarketingProjects,
11
- canDownloadFiles: canDownloadFiles.canDownloadFiles,
12
- canUploadFiles: canUploadFiles.canUploadFiles,
13
- createProjects: createProjects.createProjects,
14
- deleteProjects: deleteProjects.deleteProjects,
15
- manageContributors: manageContributors.manageContributors
16
- };
17
- exports.actionResolvers = actionResolvers;
3
+ const navigationItems = [
4
+ {
5
+ key: "editor",
6
+ labelKey: "Editor",
7
+ path: ({ projectId }) => `/project/${projectId}/editor`
8
+ },
9
+ {
10
+ key: "dashboard",
11
+ labelKey: "Download",
12
+ path: ({ projectId }) => `/project/${projectId}/dashboard`
13
+ },
14
+ {
15
+ key: "contributors",
16
+ labelKey: "Contributors",
17
+ path: ({ projectId }) => `/project/${projectId}/contributors`
18
+ },
19
+ {
20
+ key: "orders",
21
+ labelKey: "Human proofreading",
22
+ path: ({ projectId }) => `/project/${projectId}/orders`,
23
+ shouldShow: ({ flags }) => flags.ap_feature_hraas === "on"
24
+ },
25
+ {
26
+ key: "billing",
27
+ labelKey: "Billing",
28
+ path: ({ projectId }) => `/project/${projectId}/billing`,
29
+ shouldShow: ({ flags }) => flags.ap_feature_billing === "on"
30
+ }
31
+ ];
32
+ exports.navigationItems = navigationItems;
18
33
  //# sourceMappingURL=harmony130.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"harmony130.cjs","sources":["../src/features/permissions/action.ts"],"sourcesContent":["import { accessMarketingProjects } from '@features/permissions/action-resolvers/accessMarketingProjects'\nimport { deleteProjects } from '@features/permissions/action-resolvers/deleteProjects'\nimport { manageContributors } from '@features/permissions/action-resolvers/manageContributors'\nimport { canDownloadFiles } from './action-resolvers/canDownloadFiles'\nimport { canUploadFiles } from './action-resolvers/canUploadFiles'\nimport { createProjects } from './action-resolvers/createProjects'\nimport type { ActionResolver } from './types'\n\nexport const actionResolvers = {\n\taccessMarketingProjects,\n\tcanDownloadFiles,\n\tcanUploadFiles,\n\tcreateProjects,\n\tdeleteProjects,\n\tmanageContributors,\n} satisfies Record<string, ActionResolver>\n\nexport type Action = keyof typeof actionResolvers\n"],"names":["accessMarketingProjects","canDownloadFiles","canUploadFiles","createProjects","deleteProjects","manageContributors"],"mappings":";;;;;;;;AAQO,MAAM,kBAAkB;AAAA,EAAA,yBAC9BA,wBAAA;AAAA,EAAA,kBACAC,iBAAA;AAAA,EAAA,gBACAC,eAAA;AAAA,EAAA,gBACAC,eAAA;AAAA,EAAA,gBACAC,eAAA;AAAA,EACAC,oBAAAA,mBAAAA;AACD;;"}
1
+ {"version":3,"file":"harmony130.cjs","sources":["../src/features/navigation/schemas/navigationSchema.ts"],"sourcesContent":["import type { DropdownItem, NavItemIcon } from '@features/navigation/types/navigation'\n\nexport type NavKey = 'editor' | 'contributors' | 'orders' | 'billing' | 'settings' | 'dashboard'\n\nexport interface NavigationItem {\n\tkey: NavKey\n\tlabelKey: string // TODO: i18n key inside this package\n\tpath: ({ projectId }: { projectId: string }) => string\n\n\ticon?: NavItemIcon\n\tdropdown?: DropdownItem[][]\n\tbadge?: number | ((ctx: NavCtx) => number)\n\n\tshouldShow?: (ctx: NavCtx) => boolean\n\tdisabled?: boolean | ((ctx: NavCtx) => boolean)\n\tisActive?: (pathname: string) => boolean // custom match, else fallback\n}\n\n/** What the gate functions receive */\nexport interface NavCtx {\n\tflags: Record<string, string>\n\tpathname: string\n\tpermissions?: Array<string> // e.g. contributor admin_rights //TODO: Provide type for permissions\n}\n\n// TODO: Handle Translations on harmony side.\nexport const navigationItems: NavigationItem[] = [\n\t{\n\t\tkey: 'editor',\n\t\tlabelKey: 'Editor',\n\t\tpath: ({ projectId }) => `/project/${projectId}/editor`,\n\t},\n\t{\n\t\tkey: 'dashboard',\n\t\tlabelKey: 'Download',\n\t\tpath: ({ projectId }) => `/project/${projectId}/dashboard`,\n\t},\n\t{\n\t\tkey: 'contributors',\n\t\tlabelKey: 'Contributors',\n\t\tpath: ({ projectId }) => `/project/${projectId}/contributors`,\n\t},\n\n\t{\n\t\tkey: 'orders',\n\t\tlabelKey: 'Human proofreading',\n\t\tpath: ({ projectId }) => `/project/${projectId}/orders`,\n\t\tshouldShow: ({ flags }) => flags.ap_feature_hraas === 'on',\n\t},\n\t{\n\t\tkey: 'billing',\n\t\tlabelKey: 'Billing',\n\t\tpath: ({ projectId }) => `/project/${projectId}/billing`,\n\t\tshouldShow: ({ flags }) => flags.ap_feature_billing === 'on',\n\t},\n]\n"],"names":[],"mappings":";;AA0BO,MAAM,kBAAoC;AAAA,EAChD;AAAA,IACC,KAAK;AAAA,IACL,UAAU;AAAA,IACV,MAAM,CAAC,EAAE,UAAU,MAAM,YAAY,SAAS;AAAA,EAC/C;AAAA,EACA;AAAA,IACC,KAAK;AAAA,IACL,UAAU;AAAA,IACV,MAAM,CAAC,EAAE,UAAU,MAAM,YAAY,SAAS;AAAA,EAC/C;AAAA,EACA;AAAA,IACC,KAAK;AAAA,IACL,UAAU;AAAA,IACV,MAAM,CAAC,EAAE,UAAU,MAAM,YAAY,SAAS;AAAA,EAC/C;AAAA,EAEA;AAAA,IACC,KAAK;AAAA,IACL,UAAU;AAAA,IACV,MAAM,CAAC,EAAE,UAAU,MAAM,YAAY,SAAS;AAAA,IAC9C,YAAY,CAAC,EAAE,YAAY,MAAM,qBAAqB;AAAA,EACvD;AAAA,EACA;AAAA,IACC,KAAK;AAAA,IACL,UAAU;AAAA,IACV,MAAM,CAAC,EAAE,UAAU,MAAM,YAAY,SAAS;AAAA,IAC9C,YAAY,CAAC,EAAE,YAAY,MAAM,uBAAuB;AAAA,EAAA;AAE1D;;"}
@@ -1,18 +1,33 @@
1
- import { accessMarketingProjects } from "./harmony149.mjs";
2
- import { deleteProjects } from "./harmony150.mjs";
3
- import { manageContributors } from "./harmony151.mjs";
4
- import { canDownloadFiles } from "./harmony152.mjs";
5
- import { canUploadFiles } from "./harmony153.mjs";
6
- import { createProjects } from "./harmony154.mjs";
7
- const actionResolvers = {
8
- accessMarketingProjects,
9
- canDownloadFiles,
10
- canUploadFiles,
11
- createProjects,
12
- deleteProjects,
13
- manageContributors
14
- };
1
+ const navigationItems = [
2
+ {
3
+ key: "editor",
4
+ labelKey: "Editor",
5
+ path: ({ projectId }) => `/project/${projectId}/editor`
6
+ },
7
+ {
8
+ key: "dashboard",
9
+ labelKey: "Download",
10
+ path: ({ projectId }) => `/project/${projectId}/dashboard`
11
+ },
12
+ {
13
+ key: "contributors",
14
+ labelKey: "Contributors",
15
+ path: ({ projectId }) => `/project/${projectId}/contributors`
16
+ },
17
+ {
18
+ key: "orders",
19
+ labelKey: "Human proofreading",
20
+ path: ({ projectId }) => `/project/${projectId}/orders`,
21
+ shouldShow: ({ flags }) => flags.ap_feature_hraas === "on"
22
+ },
23
+ {
24
+ key: "billing",
25
+ labelKey: "Billing",
26
+ path: ({ projectId }) => `/project/${projectId}/billing`,
27
+ shouldShow: ({ flags }) => flags.ap_feature_billing === "on"
28
+ }
29
+ ];
15
30
  export {
16
- actionResolvers
31
+ navigationItems
17
32
  };
18
33
  //# sourceMappingURL=harmony130.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"harmony130.mjs","sources":["../src/features/permissions/action.ts"],"sourcesContent":["import { accessMarketingProjects } from '@features/permissions/action-resolvers/accessMarketingProjects'\nimport { deleteProjects } from '@features/permissions/action-resolvers/deleteProjects'\nimport { manageContributors } from '@features/permissions/action-resolvers/manageContributors'\nimport { canDownloadFiles } from './action-resolvers/canDownloadFiles'\nimport { canUploadFiles } from './action-resolvers/canUploadFiles'\nimport { createProjects } from './action-resolvers/createProjects'\nimport type { ActionResolver } from './types'\n\nexport const actionResolvers = {\n\taccessMarketingProjects,\n\tcanDownloadFiles,\n\tcanUploadFiles,\n\tcreateProjects,\n\tdeleteProjects,\n\tmanageContributors,\n} satisfies Record<string, ActionResolver>\n\nexport type Action = keyof typeof actionResolvers\n"],"names":[],"mappings":";;;;;;AAQO,MAAM,kBAAkB;AAAA,EAC9B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACD;"}
1
+ {"version":3,"file":"harmony130.mjs","sources":["../src/features/navigation/schemas/navigationSchema.ts"],"sourcesContent":["import type { DropdownItem, NavItemIcon } from '@features/navigation/types/navigation'\n\nexport type NavKey = 'editor' | 'contributors' | 'orders' | 'billing' | 'settings' | 'dashboard'\n\nexport interface NavigationItem {\n\tkey: NavKey\n\tlabelKey: string // TODO: i18n key inside this package\n\tpath: ({ projectId }: { projectId: string }) => string\n\n\ticon?: NavItemIcon\n\tdropdown?: DropdownItem[][]\n\tbadge?: number | ((ctx: NavCtx) => number)\n\n\tshouldShow?: (ctx: NavCtx) => boolean\n\tdisabled?: boolean | ((ctx: NavCtx) => boolean)\n\tisActive?: (pathname: string) => boolean // custom match, else fallback\n}\n\n/** What the gate functions receive */\nexport interface NavCtx {\n\tflags: Record<string, string>\n\tpathname: string\n\tpermissions?: Array<string> // e.g. contributor admin_rights //TODO: Provide type for permissions\n}\n\n// TODO: Handle Translations on harmony side.\nexport const navigationItems: NavigationItem[] = [\n\t{\n\t\tkey: 'editor',\n\t\tlabelKey: 'Editor',\n\t\tpath: ({ projectId }) => `/project/${projectId}/editor`,\n\t},\n\t{\n\t\tkey: 'dashboard',\n\t\tlabelKey: 'Download',\n\t\tpath: ({ projectId }) => `/project/${projectId}/dashboard`,\n\t},\n\t{\n\t\tkey: 'contributors',\n\t\tlabelKey: 'Contributors',\n\t\tpath: ({ projectId }) => `/project/${projectId}/contributors`,\n\t},\n\n\t{\n\t\tkey: 'orders',\n\t\tlabelKey: 'Human proofreading',\n\t\tpath: ({ projectId }) => `/project/${projectId}/orders`,\n\t\tshouldShow: ({ flags }) => flags.ap_feature_hraas === 'on',\n\t},\n\t{\n\t\tkey: 'billing',\n\t\tlabelKey: 'Billing',\n\t\tpath: ({ projectId }) => `/project/${projectId}/billing`,\n\t\tshouldShow: ({ flags }) => flags.ap_feature_billing === 'on',\n\t},\n]\n"],"names":[],"mappings":"AA0BO,MAAM,kBAAoC;AAAA,EAChD;AAAA,IACC,KAAK;AAAA,IACL,UAAU;AAAA,IACV,MAAM,CAAC,EAAE,UAAU,MAAM,YAAY,SAAS;AAAA,EAC/C;AAAA,EACA;AAAA,IACC,KAAK;AAAA,IACL,UAAU;AAAA,IACV,MAAM,CAAC,EAAE,UAAU,MAAM,YAAY,SAAS;AAAA,EAC/C;AAAA,EACA;AAAA,IACC,KAAK;AAAA,IACL,UAAU;AAAA,IACV,MAAM,CAAC,EAAE,UAAU,MAAM,YAAY,SAAS;AAAA,EAC/C;AAAA,EAEA;AAAA,IACC,KAAK;AAAA,IACL,UAAU;AAAA,IACV,MAAM,CAAC,EAAE,UAAU,MAAM,YAAY,SAAS;AAAA,IAC9C,YAAY,CAAC,EAAE,YAAY,MAAM,qBAAqB;AAAA,EACvD;AAAA,EACA;AAAA,IACC,KAAK;AAAA,IACL,UAAU;AAAA,IACV,MAAM,CAAC,EAAE,UAAU,MAAM,YAAY,SAAS;AAAA,IAC9C,YAAY,CAAC,EAAE,YAAY,MAAM,uBAAuB;AAAA,EAAA;AAE1D;"}
@@ -1,12 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
3
- const link = "_link_18vhx_1";
4
- const active = "_active_18vhx_18";
5
- const styles = {
6
- link,
7
- active
8
- };
9
- exports.active = active;
10
- exports.default = styles;
11
- exports.link = link;
3
+ const _commonjsHelpers = require("./harmony175.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;
12
8
  //# sourceMappingURL=harmony131.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"harmony131.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;"}
1
+ {"version":3,"file":"harmony131.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;"}
@@ -1,12 +1,8 @@
1
- const link = "_link_18vhx_1";
2
- const active = "_active_18vhx_18";
3
- const styles = {
4
- link,
5
- active
6
- };
1
+ import { getDefaultExportFromCjs } from "./harmony175.mjs";
2
+ import { __require as requireDebounce } from "./harmony155.mjs";
3
+ var debounceExports = requireDebounce();
4
+ const debounce = /* @__PURE__ */ getDefaultExportFromCjs(debounceExports);
7
5
  export {
8
- active,
9
- styles as default,
10
- link
6
+ debounce as default
11
7
  };
12
8
  //# sourceMappingURL=harmony131.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"harmony131.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;"}
1
+ {"version":3,"file":"harmony131.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;"}
@@ -1,15 +1,8 @@
1
1
  "use strict";
2
- Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const jsxRuntime = require("react/jsx-runtime");
4
- const useSidebar = require("./harmony110.cjs");
5
- const louis = require("@lokalise/louis");
6
- const permissions = require("./harmony111.cjs");
7
- const BillingMenuItem = () => {
8
- const { jwt } = useSidebar.useSidebar();
9
- if (!permissions.canChangeBilling(jwt)) {
10
- return null;
11
- }
12
- return /* @__PURE__ */ jsxRuntime.jsx(louis.MenuItem, { href: "/team#billing", children: "Billing" });
13
- };
14
- exports.BillingMenuItem = BillingMenuItem;
2
+ Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
3
+ const _commonjsHelpers = require("./harmony175.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;
15
8
  //# sourceMappingURL=harmony132.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"harmony132.cjs","sources":["../src/components/Sidebar/Widgets/ProfileMenu/BillingMenuItem/BillingMenuItem.tsx"],"sourcesContent":["import { useSidebar } from '@components/Sidebar/hooks/useSidebar'\nimport { MenuItem } from '@lokalise/louis'\nimport { canChangeBilling } from '@utils/user/permissions'\n\n/**\n * A menu item component for navigating to the billing section.\n * Checks the user's permissions using the Sidebar context and renders\n * nothing if the user does not have access.\n *\n * @example\n * ```\n * <BillingMenuItem />\n * ```\n *\n * @note This component must be used within a Sidebar Context.\n */\n\nexport const BillingMenuItem = () => {\n\tconst { jwt } = useSidebar()\n\n\tif (!canChangeBilling(jwt)) {\n\t\treturn null\n\t}\n\n\treturn <MenuItem href=\"/team#billing\">Billing</MenuItem>\n}\n"],"names":["useSidebar","canChangeBilling","jsx","MenuItem"],"mappings":";;;;;;AAiBO,MAAM,kBAAkB,MAAM;AAC9B,QAAA,EAAE,IAAI,IAAIA,sBAAW;AAEvB,MAAA,CAACC,YAAAA,iBAAiB,GAAG,GAAG;AACpB,WAAA;AAAA,EAAA;AAGR,SAAQC,2BAAAA,IAAAC,MAAAA,UAAA,EAAS,MAAK,iBAAgB,UAAO,WAAA;AAC9C;;"}
1
+ {"version":3,"file":"harmony132.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;"}
@@ -1,15 +1,8 @@
1
- import { jsx } from "react/jsx-runtime";
2
- import { useSidebar } from "./harmony110.mjs";
3
- import { MenuItem } from "@lokalise/louis";
4
- import { canChangeBilling } from "./harmony111.mjs";
5
- const BillingMenuItem = () => {
6
- const { jwt } = useSidebar();
7
- if (!canChangeBilling(jwt)) {
8
- return null;
9
- }
10
- return /* @__PURE__ */ jsx(MenuItem, { href: "/team#billing", children: "Billing" });
11
- };
1
+ import { getDefaultExportFromCjs } from "./harmony175.mjs";
2
+ import { __require as requireThrottle } from "./harmony159.mjs";
3
+ var throttleExports = requireThrottle();
4
+ const throttle = /* @__PURE__ */ getDefaultExportFromCjs(throttleExports);
12
5
  export {
13
- BillingMenuItem
6
+ throttle as default
14
7
  };
15
8
  //# sourceMappingURL=harmony132.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"harmony132.mjs","sources":["../src/components/Sidebar/Widgets/ProfileMenu/BillingMenuItem/BillingMenuItem.tsx"],"sourcesContent":["import { useSidebar } from '@components/Sidebar/hooks/useSidebar'\nimport { MenuItem } from '@lokalise/louis'\nimport { canChangeBilling } from '@utils/user/permissions'\n\n/**\n * A menu item component for navigating to the billing section.\n * Checks the user's permissions using the Sidebar context and renders\n * nothing if the user does not have access.\n *\n * @example\n * ```\n * <BillingMenuItem />\n * ```\n *\n * @note This component must be used within a Sidebar Context.\n */\n\nexport const BillingMenuItem = () => {\n\tconst { jwt } = useSidebar()\n\n\tif (!canChangeBilling(jwt)) {\n\t\treturn null\n\t}\n\n\treturn <MenuItem href=\"/team#billing\">Billing</MenuItem>\n}\n"],"names":[],"mappings":";;;;AAiBO,MAAM,kBAAkB,MAAM;AAC9B,QAAA,EAAE,IAAI,IAAI,WAAW;AAEvB,MAAA,CAAC,iBAAiB,GAAG,GAAG;AACpB,WAAA;AAAA,EAAA;AAGR,SAAQ,oBAAA,UAAA,EAAS,MAAK,iBAAgB,UAAO,WAAA;AAC9C;"}
1
+ {"version":3,"file":"harmony132.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;"}
@@ -1,18 +1,12 @@
1
1
  "use strict";
2
- Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const jsxRuntime = require("react/jsx-runtime");
4
- const useSidebar = require("./harmony110.cjs");
5
- const louis = require("@lokalise/louis");
6
- const permissions = require("./harmony111.cjs");
7
- const CreateNewTeam = ({ onCreateTeam }) => {
8
- const { jwt } = useSidebar.useSidebar();
9
- if (!permissions.canCreateTeam(jwt)) {
10
- return null;
11
- }
12
- return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
13
- /* @__PURE__ */ jsxRuntime.jsx(louis.MenuItem, { onClick: onCreateTeam, children: "Create new team" }),
14
- /* @__PURE__ */ jsxRuntime.jsx(louis.MenuDivider, {})
15
- ] });
2
+ Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
3
+ const link = "_link_18vhx_1";
4
+ const active = "_active_18vhx_18";
5
+ const styles = {
6
+ link,
7
+ active
16
8
  };
17
- exports.CreateNewTeam = CreateNewTeam;
9
+ exports.active = active;
10
+ exports.default = styles;
11
+ exports.link = link;
18
12
  //# sourceMappingURL=harmony133.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"harmony133.cjs","sources":["../src/components/Sidebar/Widgets/ProfileMenu/CreateNewTeam/CreateNewTeam.tsx"],"sourcesContent":["import { useSidebar } from '@components/Sidebar/hooks/useSidebar'\nimport { MenuDivider, MenuItem } from '@lokalise/louis'\nimport { canCreateTeam } from '@utils/user/permissions'\n\ntype CreateNewTeamProps = {\n\tonCreateTeam: () => void\n}\n\n/**\n * A menu item component for creating a new team.\n * Checks the user's permissions using the Sidebar context and renders\n * nothing if the user does not have access.\n *\n * @example\n * ```\n * <CreateNewTeam onCreateTeam={handleCreateTeam} />\n * ```\n *\n * @note This component must be used within a Sidebar Context.\n */\n\nexport const CreateNewTeam = ({ onCreateTeam }: CreateNewTeamProps) => {\n\tconst { jwt } = useSidebar()\n\n\tif (!canCreateTeam(jwt)) {\n\t\treturn null\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t<MenuItem onClick={onCreateTeam}>Create new team</MenuItem>\n\t\t\t<MenuDivider />\n\t\t</>\n\t)\n}\n"],"names":["useSidebar","canCreateTeam","jsxs","Fragment","jsx","MenuItem","MenuDivider"],"mappings":";;;;;;AAqBO,MAAM,gBAAgB,CAAC,EAAE,mBAAuC;AAChE,QAAA,EAAE,IAAI,IAAIA,sBAAW;AAEvB,MAAA,CAACC,YAAAA,cAAc,GAAG,GAAG;AACjB,WAAA;AAAA,EAAA;AAGR,SAEEC,2BAAA,KAAAC,qBAAA,EAAA,UAAA;AAAA,IAACC,2BAAA,IAAAC,MAAA,UAAA,EAAS,SAAS,cAAc,UAAe,mBAAA;AAAA,mCAC/CC,MAAY,aAAA,CAAA,CAAA;AAAA,EAAA,GACd;AAEF;;"}
1
+ {"version":3,"file":"harmony133.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;"}
@@ -1,18 +1,12 @@
1
- import { jsxs, Fragment, jsx } from "react/jsx-runtime";
2
- import { useSidebar } from "./harmony110.mjs";
3
- import { MenuItem, MenuDivider } from "@lokalise/louis";
4
- import { canCreateTeam } from "./harmony111.mjs";
5
- const CreateNewTeam = ({ onCreateTeam }) => {
6
- const { jwt } = useSidebar();
7
- if (!canCreateTeam(jwt)) {
8
- return null;
9
- }
10
- return /* @__PURE__ */ jsxs(Fragment, { children: [
11
- /* @__PURE__ */ jsx(MenuItem, { onClick: onCreateTeam, children: "Create new team" }),
12
- /* @__PURE__ */ jsx(MenuDivider, {})
13
- ] });
1
+ const link = "_link_18vhx_1";
2
+ const active = "_active_18vhx_18";
3
+ const styles = {
4
+ link,
5
+ active
14
6
  };
15
7
  export {
16
- CreateNewTeam
8
+ active,
9
+ styles as default,
10
+ link
17
11
  };
18
12
  //# sourceMappingURL=harmony133.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"harmony133.mjs","sources":["../src/components/Sidebar/Widgets/ProfileMenu/CreateNewTeam/CreateNewTeam.tsx"],"sourcesContent":["import { useSidebar } from '@components/Sidebar/hooks/useSidebar'\nimport { MenuDivider, MenuItem } from '@lokalise/louis'\nimport { canCreateTeam } from '@utils/user/permissions'\n\ntype CreateNewTeamProps = {\n\tonCreateTeam: () => void\n}\n\n/**\n * A menu item component for creating a new team.\n * Checks the user's permissions using the Sidebar context and renders\n * nothing if the user does not have access.\n *\n * @example\n * ```\n * <CreateNewTeam onCreateTeam={handleCreateTeam} />\n * ```\n *\n * @note This component must be used within a Sidebar Context.\n */\n\nexport const CreateNewTeam = ({ onCreateTeam }: CreateNewTeamProps) => {\n\tconst { jwt } = useSidebar()\n\n\tif (!canCreateTeam(jwt)) {\n\t\treturn null\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t<MenuItem onClick={onCreateTeam}>Create new team</MenuItem>\n\t\t\t<MenuDivider />\n\t\t</>\n\t)\n}\n"],"names":[],"mappings":";;;;AAqBO,MAAM,gBAAgB,CAAC,EAAE,mBAAuC;AAChE,QAAA,EAAE,IAAI,IAAI,WAAW;AAEvB,MAAA,CAAC,cAAc,GAAG,GAAG;AACjB,WAAA;AAAA,EAAA;AAGR,SAEE,qBAAA,UAAA,EAAA,UAAA;AAAA,IAAC,oBAAA,UAAA,EAAS,SAAS,cAAc,UAAe,mBAAA;AAAA,wBAC/C,aAAY,CAAA,CAAA;AAAA,EAAA,GACd;AAEF;"}
1
+ {"version":3,"file":"harmony133.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;"}
@@ -1,22 +1,15 @@
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("./harmony110.cjs");
4
+ const useSidebar = require("./harmony113.cjs");
5
5
  const louis = require("@lokalise/louis");
6
- const permissions = require("./harmony111.cjs");
7
- const CreateNewTeamPlaceholder_module = require("./harmony160.cjs");
8
- const CreateNewTeamPlaceholder = ({ onClick }) => {
6
+ const permissions = require("./harmony114.cjs");
7
+ const BillingMenuItem = () => {
9
8
  const { jwt } = useSidebar.useSidebar();
10
- if (!permissions.canCreateTeam(jwt)) {
9
+ if (!permissions.canChangeBilling(jwt)) {
11
10
  return null;
12
11
  }
13
- return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
14
- /* @__PURE__ */ jsxRuntime.jsx(louis.MenuItem, { onClick, "data-testid": "sidebar-create-new-team-placeholder", children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col", children: [
15
- /* @__PURE__ */ jsxRuntime.jsx("span", { className: CreateNewTeamPlaceholder_module.default.mainLabel, children: "Create new team" }),
16
- /* @__PURE__ */ jsxRuntime.jsx("span", { className: CreateNewTeamPlaceholder_module.default.subLabel, children: "Switch to Expert to create a new team" })
17
- ] }) }),
18
- /* @__PURE__ */ jsxRuntime.jsx(louis.MenuDivider, {})
19
- ] });
12
+ return /* @__PURE__ */ jsxRuntime.jsx(louis.MenuItem, { href: "/team#billing", children: "Billing" });
20
13
  };
21
- exports.CreateNewTeamPlaceholder = CreateNewTeamPlaceholder;
14
+ exports.BillingMenuItem = BillingMenuItem;
22
15
  //# sourceMappingURL=harmony134.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"harmony134.cjs","sources":["../src/components/Sidebar/Widgets/ProfileMenu/CreateNewTeamPlaceholder/CreateNewTeamPlaceholder.tsx"],"sourcesContent":["import { useSidebar } from '@components/Sidebar/hooks/useSidebar'\nimport { MenuDivider, MenuItem } from '@lokalise/louis'\nimport { canCreateTeam } from '@utils/user/permissions'\nimport styles from './CreateNewTeamPlaceholder.module.css'\n\ntype CreateNewTeamPlaceholderProps = {\n\tonClick: () => void\n}\n\n/**\n * A placeholder menu item for creating a new team.\n * Checks the user's permissions using the Sidebar context and renders\n * nothing if the user does not have access.\n *\n * @example\n * ```\n * <CreateNewTeamPlaceholder onClick={handleCreateTeam} />\n * ```\n *\n * @note This component must be used within a Sidebar Context.\n */\n\nexport const CreateNewTeamPlaceholder = ({ onClick }: CreateNewTeamPlaceholderProps) => {\n\tconst { jwt } = useSidebar()\n\n\tif (!canCreateTeam(jwt)) {\n\t\treturn null\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t<MenuItem onClick={onClick} data-testid=\"sidebar-create-new-team-placeholder\">\n\t\t\t\t<div className=\"flex flex-col\">\n\t\t\t\t\t<span className={styles.mainLabel}>Create new team</span>\n\t\t\t\t\t<span className={styles.subLabel}>Switch to Expert to create a new team</span>\n\t\t\t\t</div>\n\t\t\t</MenuItem>\n\t\t\t<MenuDivider />\n\t\t</>\n\t)\n}\n"],"names":["useSidebar","canCreateTeam","jsxs","Fragment","jsx","MenuItem","styles","MenuDivider"],"mappings":";;;;;;;AAsBO,MAAM,2BAA2B,CAAC,EAAE,cAA6C;AACjF,QAAA,EAAE,IAAI,IAAIA,sBAAW;AAEvB,MAAA,CAACC,YAAAA,cAAc,GAAG,GAAG;AACjB,WAAA;AAAA,EAAA;AAGR,SAEEC,2BAAA,KAAAC,qBAAA,EAAA,UAAA;AAAA,IAAAC,2BAAAA,IAACC,kBAAS,SAAkB,eAAY,uCACvC,UAACH,2BAAAA,KAAA,OAAA,EAAI,WAAU,iBACd,UAAA;AAAA,MAAAE,2BAAA,IAAC,QAAK,EAAA,WAAWE,gCAAO,QAAA,WAAW,UAAe,mBAAA;AAAA,MACjDF,2BAAA,IAAA,QAAA,EAAK,WAAWE,gCAAA,QAAO,UAAU,UAAqC,wCAAA,CAAA;AAAA,IAAA,EAAA,CACxE,EACD,CAAA;AAAA,mCACCC,MAAY,aAAA,CAAA,CAAA;AAAA,EAAA,GACd;AAEF;;"}
1
+ {"version":3,"file":"harmony134.cjs","sources":["../src/components/Sidebar/Widgets/ProfileMenu/BillingMenuItem/BillingMenuItem.tsx"],"sourcesContent":["import { useSidebar } from '@components/Sidebar/hooks/useSidebar'\nimport { MenuItem } from '@lokalise/louis'\nimport { canChangeBilling } from '@utils/user/permissions'\n\n/**\n * A menu item component for navigating to the billing section.\n * Checks the user's permissions using the Sidebar context and renders\n * nothing if the user does not have access.\n *\n * @example\n * ```\n * <BillingMenuItem />\n * ```\n *\n * @note This component must be used within a Sidebar Context.\n */\n\nexport const BillingMenuItem = () => {\n\tconst { jwt } = useSidebar()\n\n\tif (!canChangeBilling(jwt)) {\n\t\treturn null\n\t}\n\n\treturn <MenuItem href=\"/team#billing\">Billing</MenuItem>\n}\n"],"names":["useSidebar","canChangeBilling","jsx","MenuItem"],"mappings":";;;;;;AAiBO,MAAM,kBAAkB,MAAM;AAC9B,QAAA,EAAE,IAAI,IAAIA,sBAAW;AAEvB,MAAA,CAACC,YAAAA,iBAAiB,GAAG,GAAG;AACpB,WAAA;AAAA,EAAA;AAGR,SAAQC,2BAAAA,IAAAC,MAAAA,UAAA,EAAS,MAAK,iBAAgB,UAAO,WAAA;AAC9C;;"}
@@ -1,22 +1,15 @@
1
- import { jsxs, Fragment, jsx } from "react/jsx-runtime";
2
- import { useSidebar } from "./harmony110.mjs";
3
- import { MenuItem, MenuDivider } from "@lokalise/louis";
4
- import { canCreateTeam } from "./harmony111.mjs";
5
- import styles from "./harmony160.mjs";
6
- const CreateNewTeamPlaceholder = ({ onClick }) => {
1
+ import { jsx } from "react/jsx-runtime";
2
+ import { useSidebar } from "./harmony113.mjs";
3
+ import { MenuItem } from "@lokalise/louis";
4
+ import { canChangeBilling } from "./harmony114.mjs";
5
+ const BillingMenuItem = () => {
7
6
  const { jwt } = useSidebar();
8
- if (!canCreateTeam(jwt)) {
7
+ if (!canChangeBilling(jwt)) {
9
8
  return null;
10
9
  }
11
- return /* @__PURE__ */ jsxs(Fragment, { children: [
12
- /* @__PURE__ */ jsx(MenuItem, { onClick, "data-testid": "sidebar-create-new-team-placeholder", children: /* @__PURE__ */ jsxs("div", { className: "flex flex-col", children: [
13
- /* @__PURE__ */ jsx("span", { className: styles.mainLabel, children: "Create new team" }),
14
- /* @__PURE__ */ jsx("span", { className: styles.subLabel, children: "Switch to Expert to create a new team" })
15
- ] }) }),
16
- /* @__PURE__ */ jsx(MenuDivider, {})
17
- ] });
10
+ return /* @__PURE__ */ jsx(MenuItem, { href: "/team#billing", children: "Billing" });
18
11
  };
19
12
  export {
20
- CreateNewTeamPlaceholder
13
+ BillingMenuItem
21
14
  };
22
15
  //# sourceMappingURL=harmony134.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"harmony134.mjs","sources":["../src/components/Sidebar/Widgets/ProfileMenu/CreateNewTeamPlaceholder/CreateNewTeamPlaceholder.tsx"],"sourcesContent":["import { useSidebar } from '@components/Sidebar/hooks/useSidebar'\nimport { MenuDivider, MenuItem } from '@lokalise/louis'\nimport { canCreateTeam } from '@utils/user/permissions'\nimport styles from './CreateNewTeamPlaceholder.module.css'\n\ntype CreateNewTeamPlaceholderProps = {\n\tonClick: () => void\n}\n\n/**\n * A placeholder menu item for creating a new team.\n * Checks the user's permissions using the Sidebar context and renders\n * nothing if the user does not have access.\n *\n * @example\n * ```\n * <CreateNewTeamPlaceholder onClick={handleCreateTeam} />\n * ```\n *\n * @note This component must be used within a Sidebar Context.\n */\n\nexport const CreateNewTeamPlaceholder = ({ onClick }: CreateNewTeamPlaceholderProps) => {\n\tconst { jwt } = useSidebar()\n\n\tif (!canCreateTeam(jwt)) {\n\t\treturn null\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t<MenuItem onClick={onClick} data-testid=\"sidebar-create-new-team-placeholder\">\n\t\t\t\t<div className=\"flex flex-col\">\n\t\t\t\t\t<span className={styles.mainLabel}>Create new team</span>\n\t\t\t\t\t<span className={styles.subLabel}>Switch to Expert to create a new team</span>\n\t\t\t\t</div>\n\t\t\t</MenuItem>\n\t\t\t<MenuDivider />\n\t\t</>\n\t)\n}\n"],"names":[],"mappings":";;;;;AAsBO,MAAM,2BAA2B,CAAC,EAAE,cAA6C;AACjF,QAAA,EAAE,IAAI,IAAI,WAAW;AAEvB,MAAA,CAAC,cAAc,GAAG,GAAG;AACjB,WAAA;AAAA,EAAA;AAGR,SAEE,qBAAA,UAAA,EAAA,UAAA;AAAA,IAAA,oBAAC,YAAS,SAAkB,eAAY,uCACvC,UAAC,qBAAA,OAAA,EAAI,WAAU,iBACd,UAAA;AAAA,MAAA,oBAAC,QAAK,EAAA,WAAW,OAAO,WAAW,UAAe,mBAAA;AAAA,MACjD,oBAAA,QAAA,EAAK,WAAW,OAAO,UAAU,UAAqC,wCAAA,CAAA;AAAA,IAAA,EAAA,CACxE,EACD,CAAA;AAAA,wBACC,aAAY,CAAA,CAAA;AAAA,EAAA,GACd;AAEF;"}
1
+ {"version":3,"file":"harmony134.mjs","sources":["../src/components/Sidebar/Widgets/ProfileMenu/BillingMenuItem/BillingMenuItem.tsx"],"sourcesContent":["import { useSidebar } from '@components/Sidebar/hooks/useSidebar'\nimport { MenuItem } from '@lokalise/louis'\nimport { canChangeBilling } from '@utils/user/permissions'\n\n/**\n * A menu item component for navigating to the billing section.\n * Checks the user's permissions using the Sidebar context and renders\n * nothing if the user does not have access.\n *\n * @example\n * ```\n * <BillingMenuItem />\n * ```\n *\n * @note This component must be used within a Sidebar Context.\n */\n\nexport const BillingMenuItem = () => {\n\tconst { jwt } = useSidebar()\n\n\tif (!canChangeBilling(jwt)) {\n\t\treturn null\n\t}\n\n\treturn <MenuItem href=\"/team#billing\">Billing</MenuItem>\n}\n"],"names":[],"mappings":";;;;AAiBO,MAAM,kBAAkB,MAAM;AAC9B,QAAA,EAAE,IAAI,IAAI,WAAW;AAEvB,MAAA,CAAC,iBAAiB,GAAG,GAAG;AACpB,WAAA;AAAA,EAAA;AAGR,SAAQ,oBAAA,UAAA,EAAS,MAAK,iBAAgB,UAAO,WAAA;AAC9C;"}
@@ -1,13 +1,18 @@
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");
4
5
  const louis = require("@lokalise/louis");
5
- const DarkModeToggle_module = require("./harmony161.cjs");
6
- const DarkModeToggle = ({ onToggle, isDarkMode }) => {
7
- return /* @__PURE__ */ jsxRuntime.jsx(louis.MenuItem, { onClick: onToggle, children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: `flex-row justify-between gap-1 ${DarkModeToggle_module.default.switchContainer}`, children: [
8
- /* @__PURE__ */ jsxRuntime.jsx("span", { children: "Dark mode" }),
9
- /* @__PURE__ */ jsxRuntime.jsx(louis.Switch, { defaultChecked: isDarkMode, "aria-label": "Toggle dark mode" })
10
- ] }) });
6
+ const permissions = require("./harmony114.cjs");
7
+ const CreateNewTeam = ({ onCreateTeam }) => {
8
+ const { jwt } = useSidebar.useSidebar();
9
+ if (!permissions.canCreateTeam(jwt)) {
10
+ return null;
11
+ }
12
+ return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
13
+ /* @__PURE__ */ jsxRuntime.jsx(louis.MenuItem, { onClick: onCreateTeam, children: "Create new team" }),
14
+ /* @__PURE__ */ jsxRuntime.jsx(louis.MenuDivider, {})
15
+ ] });
11
16
  };
12
- exports.DarkModeToggle = DarkModeToggle;
17
+ exports.CreateNewTeam = CreateNewTeam;
13
18
  //# sourceMappingURL=harmony135.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"harmony135.cjs","sources":["../src/components/Sidebar/Widgets/ProfileMenu/DarkModeToggle/DarkModeToggle.tsx"],"sourcesContent":["import { MenuItem, Switch } from '@lokalise/louis'\nimport styles from './DarkModeToggle.module.css'\n\ntype DarkModeToggleProps = {\n\tonToggle: () => void\n\tisDarkMode: boolean\n}\n\n/**\n * A menu item component for toggling dark mode.\n * Displays a switch and label, and calls the provided onToggle handler when clicked.\n *\n * @example\n * ```\n * <DarkModeToggle\n * isDarkMode={isDarkMode}\n * onToggle={handleToggleDarkMode}\n * />\n * ```\n */\n\nexport const DarkModeToggle = ({ onToggle, isDarkMode }: DarkModeToggleProps) => {\n\treturn (\n\t\t<MenuItem onClick={onToggle}>\n\t\t\t<div className={`flex-row justify-between gap-1 ${styles.switchContainer}`}>\n\t\t\t\t<span>Dark mode</span>\n\t\t\t\t<Switch defaultChecked={isDarkMode} aria-label=\"Toggle dark mode\" />\n\t\t\t</div>\n\t\t</MenuItem>\n\t)\n}\n"],"names":["jsx","MenuItem","jsxs","styles","Switch"],"mappings":";;;;;AAqBO,MAAM,iBAAiB,CAAC,EAAE,UAAU,iBAAsC;AAE/E,SAAAA,2BAAAA,IAACC,MAAAA,UAAS,EAAA,SAAS,UAClB,UAAAC,2BAAA,KAAC,SAAI,WAAW,kCAAkCC,sBAAO,QAAA,eAAe,IACvE,UAAA;AAAA,IAAAH,2BAAAA,IAAC,UAAK,UAAS,YAAA,CAAA;AAAA,IACdA,2BAAA,IAAAI,MAAA,QAAA,EAAO,gBAAgB,YAAY,cAAW,mBAAmB,CAAA;AAAA,EAAA,EAAA,CACnE,EACD,CAAA;AAEF;;"}
1
+ {"version":3,"file":"harmony135.cjs","sources":["../src/components/Sidebar/Widgets/ProfileMenu/CreateNewTeam/CreateNewTeam.tsx"],"sourcesContent":["import { useSidebar } from '@components/Sidebar/hooks/useSidebar'\nimport { MenuDivider, MenuItem } from '@lokalise/louis'\nimport { canCreateTeam } from '@utils/user/permissions'\n\ntype CreateNewTeamProps = {\n\tonCreateTeam: () => void\n}\n\n/**\n * A menu item component for creating a new team.\n * Checks the user's permissions using the Sidebar context and renders\n * nothing if the user does not have access.\n *\n * @example\n * ```\n * <CreateNewTeam onCreateTeam={handleCreateTeam} />\n * ```\n *\n * @note This component must be used within a Sidebar Context.\n */\n\nexport const CreateNewTeam = ({ onCreateTeam }: CreateNewTeamProps) => {\n\tconst { jwt } = useSidebar()\n\n\tif (!canCreateTeam(jwt)) {\n\t\treturn null\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t<MenuItem onClick={onCreateTeam}>Create new team</MenuItem>\n\t\t\t<MenuDivider />\n\t\t</>\n\t)\n}\n"],"names":["useSidebar","canCreateTeam","jsxs","Fragment","jsx","MenuItem","MenuDivider"],"mappings":";;;;;;AAqBO,MAAM,gBAAgB,CAAC,EAAE,mBAAuC;AAChE,QAAA,EAAE,IAAI,IAAIA,sBAAW;AAEvB,MAAA,CAACC,YAAAA,cAAc,GAAG,GAAG;AACjB,WAAA;AAAA,EAAA;AAGR,SAEEC,2BAAA,KAAAC,qBAAA,EAAA,UAAA;AAAA,IAACC,2BAAA,IAAAC,MAAA,UAAA,EAAS,SAAS,cAAc,UAAe,mBAAA;AAAA,mCAC/CC,MAAY,aAAA,CAAA,CAAA;AAAA,EAAA,GACd;AAEF;;"}
@@ -1,13 +1,18 @@
1
- import { jsx, jsxs } from "react/jsx-runtime";
2
- import { MenuItem, Switch } from "@lokalise/louis";
3
- import styles from "./harmony161.mjs";
4
- const DarkModeToggle = ({ onToggle, isDarkMode }) => {
5
- return /* @__PURE__ */ jsx(MenuItem, { onClick: onToggle, children: /* @__PURE__ */ jsxs("div", { className: `flex-row justify-between gap-1 ${styles.switchContainer}`, children: [
6
- /* @__PURE__ */ jsx("span", { children: "Dark mode" }),
7
- /* @__PURE__ */ jsx(Switch, { defaultChecked: isDarkMode, "aria-label": "Toggle dark mode" })
8
- ] }) });
1
+ import { jsxs, Fragment, jsx } from "react/jsx-runtime";
2
+ import { useSidebar } from "./harmony113.mjs";
3
+ import { MenuItem, MenuDivider } from "@lokalise/louis";
4
+ import { canCreateTeam } from "./harmony114.mjs";
5
+ const CreateNewTeam = ({ onCreateTeam }) => {
6
+ const { jwt } = useSidebar();
7
+ if (!canCreateTeam(jwt)) {
8
+ return null;
9
+ }
10
+ return /* @__PURE__ */ jsxs(Fragment, { children: [
11
+ /* @__PURE__ */ jsx(MenuItem, { onClick: onCreateTeam, children: "Create new team" }),
12
+ /* @__PURE__ */ jsx(MenuDivider, {})
13
+ ] });
9
14
  };
10
15
  export {
11
- DarkModeToggle
16
+ CreateNewTeam
12
17
  };
13
18
  //# sourceMappingURL=harmony135.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"harmony135.mjs","sources":["../src/components/Sidebar/Widgets/ProfileMenu/DarkModeToggle/DarkModeToggle.tsx"],"sourcesContent":["import { MenuItem, Switch } from '@lokalise/louis'\nimport styles from './DarkModeToggle.module.css'\n\ntype DarkModeToggleProps = {\n\tonToggle: () => void\n\tisDarkMode: boolean\n}\n\n/**\n * A menu item component for toggling dark mode.\n * Displays a switch and label, and calls the provided onToggle handler when clicked.\n *\n * @example\n * ```\n * <DarkModeToggle\n * isDarkMode={isDarkMode}\n * onToggle={handleToggleDarkMode}\n * />\n * ```\n */\n\nexport const DarkModeToggle = ({ onToggle, isDarkMode }: DarkModeToggleProps) => {\n\treturn (\n\t\t<MenuItem onClick={onToggle}>\n\t\t\t<div className={`flex-row justify-between gap-1 ${styles.switchContainer}`}>\n\t\t\t\t<span>Dark mode</span>\n\t\t\t\t<Switch defaultChecked={isDarkMode} aria-label=\"Toggle dark mode\" />\n\t\t\t</div>\n\t\t</MenuItem>\n\t)\n}\n"],"names":[],"mappings":";;;AAqBO,MAAM,iBAAiB,CAAC,EAAE,UAAU,iBAAsC;AAE/E,SAAA,oBAAC,UAAS,EAAA,SAAS,UAClB,UAAA,qBAAC,SAAI,WAAW,kCAAkC,OAAO,eAAe,IACvE,UAAA;AAAA,IAAA,oBAAC,UAAK,UAAS,YAAA,CAAA;AAAA,IACd,oBAAA,QAAA,EAAO,gBAAgB,YAAY,cAAW,mBAAmB,CAAA;AAAA,EAAA,EAAA,CACnE,EACD,CAAA;AAEF;"}
1
+ {"version":3,"file":"harmony135.mjs","sources":["../src/components/Sidebar/Widgets/ProfileMenu/CreateNewTeam/CreateNewTeam.tsx"],"sourcesContent":["import { useSidebar } from '@components/Sidebar/hooks/useSidebar'\nimport { MenuDivider, MenuItem } from '@lokalise/louis'\nimport { canCreateTeam } from '@utils/user/permissions'\n\ntype CreateNewTeamProps = {\n\tonCreateTeam: () => void\n}\n\n/**\n * A menu item component for creating a new team.\n * Checks the user's permissions using the Sidebar context and renders\n * nothing if the user does not have access.\n *\n * @example\n * ```\n * <CreateNewTeam onCreateTeam={handleCreateTeam} />\n * ```\n *\n * @note This component must be used within a Sidebar Context.\n */\n\nexport const CreateNewTeam = ({ onCreateTeam }: CreateNewTeamProps) => {\n\tconst { jwt } = useSidebar()\n\n\tif (!canCreateTeam(jwt)) {\n\t\treturn null\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t<MenuItem onClick={onCreateTeam}>Create new team</MenuItem>\n\t\t\t<MenuDivider />\n\t\t</>\n\t)\n}\n"],"names":[],"mappings":";;;;AAqBO,MAAM,gBAAgB,CAAC,EAAE,mBAAuC;AAChE,QAAA,EAAE,IAAI,IAAI,WAAW;AAEvB,MAAA,CAAC,cAAc,GAAG,GAAG;AACjB,WAAA;AAAA,EAAA;AAGR,SAEE,qBAAA,UAAA,EAAA,UAAA;AAAA,IAAC,oBAAA,UAAA,EAAS,SAAS,cAAc,UAAe,mBAAA;AAAA,wBAC/C,aAAY,CAAA,CAAA;AAAA,EAAA,GACd;AAEF;"}