@lokalise/harmony 2.1.0-exp-testingContracts.4 → 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 (264) hide show
  1. package/dist/harmony.cjs +1 -0
  2. package/dist/harmony.cjs.map +1 -1
  3. package/dist/harmony.mjs +2 -1
  4. package/dist/harmony103.cjs +1 -1
  5. package/dist/harmony103.mjs +1 -1
  6. package/dist/harmony104.cjs +7 -7
  7. package/dist/harmony104.mjs +7 -7
  8. package/dist/harmony107.cjs +1 -1
  9. package/dist/harmony107.mjs +1 -1
  10. package/dist/harmony108.cjs +1 -1
  11. package/dist/harmony108.mjs +1 -1
  12. package/dist/harmony109.cjs +14 -3
  13. package/dist/harmony109.cjs.map +1 -1
  14. package/dist/harmony109.mjs +14 -3
  15. package/dist/harmony109.mjs.map +1 -1
  16. package/dist/harmony110.cjs +3 -18
  17. package/dist/harmony110.cjs.map +1 -1
  18. package/dist/harmony110.mjs +3 -18
  19. package/dist/harmony110.mjs.map +1 -1
  20. package/dist/harmony111.cjs +12 -70
  21. package/dist/harmony111.cjs.map +1 -1
  22. package/dist/harmony111.mjs +14 -72
  23. package/dist/harmony111.mjs.map +1 -1
  24. package/dist/harmony112.cjs +75 -11
  25. package/dist/harmony112.cjs.map +1 -1
  26. package/dist/harmony112.mjs +75 -11
  27. package/dist/harmony112.mjs.map +1 -1
  28. package/dist/harmony113.cjs +12 -34
  29. package/dist/harmony113.cjs.map +1 -1
  30. package/dist/harmony113.mjs +12 -34
  31. package/dist/harmony113.mjs.map +1 -1
  32. package/dist/harmony114.cjs +34 -9
  33. package/dist/harmony114.cjs.map +1 -1
  34. package/dist/harmony114.mjs +34 -9
  35. package/dist/harmony114.mjs.map +1 -1
  36. package/dist/harmony115.cjs +8 -46
  37. package/dist/harmony115.cjs.map +1 -1
  38. package/dist/harmony115.mjs +9 -47
  39. package/dist/harmony115.mjs.map +1 -1
  40. package/dist/harmony116.cjs +47 -9
  41. package/dist/harmony116.cjs.map +1 -1
  42. package/dist/harmony116.mjs +46 -8
  43. package/dist/harmony116.mjs.map +1 -1
  44. package/dist/harmony117.cjs +10 -12
  45. package/dist/harmony117.cjs.map +1 -1
  46. package/dist/harmony117.mjs +9 -11
  47. package/dist/harmony117.mjs.map +1 -1
  48. package/dist/harmony118.cjs +12 -22
  49. package/dist/harmony118.cjs.map +1 -1
  50. package/dist/harmony118.mjs +11 -21
  51. package/dist/harmony118.mjs.map +1 -1
  52. package/dist/harmony119.cjs +21 -14
  53. package/dist/harmony119.cjs.map +1 -1
  54. package/dist/harmony119.mjs +20 -13
  55. package/dist/harmony119.mjs.map +1 -1
  56. package/dist/harmony122.cjs +2 -2
  57. package/dist/harmony122.mjs +2 -2
  58. package/dist/harmony128.cjs +6 -6
  59. package/dist/harmony128.mjs +6 -6
  60. package/dist/harmony129.cjs +87 -9
  61. package/dist/harmony129.cjs.map +1 -1
  62. package/dist/harmony129.mjs +86 -8
  63. package/dist/harmony129.mjs.map +1 -1
  64. package/dist/harmony130.cjs +29 -11
  65. package/dist/harmony130.cjs.map +1 -1
  66. package/dist/harmony130.mjs +29 -11
  67. package/dist/harmony130.mjs.map +1 -1
  68. package/dist/harmony131.cjs +6 -16
  69. package/dist/harmony131.cjs.map +1 -1
  70. package/dist/harmony131.mjs +5 -15
  71. package/dist/harmony131.mjs.map +1 -1
  72. package/dist/harmony132.cjs +6 -20
  73. package/dist/harmony132.cjs.map +1 -1
  74. package/dist/harmony132.mjs +5 -19
  75. package/dist/harmony132.mjs.map +1 -1
  76. package/dist/harmony133.cjs +9 -10
  77. package/dist/harmony133.cjs.map +1 -1
  78. package/dist/harmony133.mjs +8 -9
  79. package/dist/harmony133.mjs.map +1 -1
  80. package/dist/harmony134.cjs +6 -20
  81. package/dist/harmony134.cjs.map +1 -1
  82. package/dist/harmony134.mjs +7 -21
  83. package/dist/harmony134.mjs.map +1 -1
  84. package/dist/harmony135.cjs +9 -6
  85. package/dist/harmony135.cjs.map +1 -1
  86. package/dist/harmony135.mjs +11 -8
  87. package/dist/harmony135.mjs.map +1 -1
  88. package/dist/harmony136.cjs +14 -33
  89. package/dist/harmony136.cjs.map +1 -1
  90. package/dist/harmony136.mjs +16 -35
  91. package/dist/harmony136.mjs.map +1 -1
  92. package/dist/harmony137.cjs +7 -9
  93. package/dist/harmony137.cjs.map +1 -1
  94. package/dist/harmony137.mjs +9 -11
  95. package/dist/harmony137.mjs.map +1 -1
  96. package/dist/harmony138.cjs +18 -14
  97. package/dist/harmony138.cjs.map +1 -1
  98. package/dist/harmony138.mjs +19 -15
  99. package/dist/harmony138.mjs.map +1 -1
  100. package/dist/harmony139.cjs +7 -31
  101. package/dist/harmony139.cjs.map +1 -1
  102. package/dist/harmony139.mjs +8 -32
  103. package/dist/harmony139.mjs.map +1 -1
  104. package/dist/harmony140.cjs +38 -21
  105. package/dist/harmony140.cjs.map +1 -1
  106. package/dist/harmony140.mjs +37 -20
  107. package/dist/harmony140.mjs.map +1 -1
  108. package/dist/harmony141.cjs +9 -18
  109. package/dist/harmony141.cjs.map +1 -1
  110. package/dist/harmony141.mjs +10 -19
  111. package/dist/harmony141.mjs.map +1 -1
  112. package/dist/harmony142.cjs +22 -6
  113. package/dist/harmony142.cjs.map +1 -1
  114. package/dist/harmony142.mjs +21 -5
  115. package/dist/harmony142.mjs.map +1 -1
  116. package/dist/harmony143.cjs +36 -15
  117. package/dist/harmony143.cjs.map +1 -1
  118. package/dist/harmony143.mjs +35 -14
  119. package/dist/harmony143.mjs.map +1 -1
  120. package/dist/harmony144.cjs +21 -87
  121. package/dist/harmony144.cjs.map +1 -1
  122. package/dist/harmony144.mjs +20 -86
  123. package/dist/harmony144.mjs.map +1 -1
  124. package/dist/harmony145.cjs +21 -30
  125. package/dist/harmony145.cjs.map +1 -1
  126. package/dist/harmony145.mjs +21 -30
  127. package/dist/harmony145.mjs.map +1 -1
  128. package/dist/harmony146.cjs +6 -5
  129. package/dist/harmony146.cjs.map +1 -1
  130. package/dist/harmony146.mjs +6 -5
  131. package/dist/harmony147.cjs +15 -5
  132. package/dist/harmony147.cjs.map +1 -1
  133. package/dist/harmony147.mjs +15 -5
  134. package/dist/harmony147.mjs.map +1 -1
  135. package/dist/harmony148.cjs +10 -3
  136. package/dist/harmony148.cjs.map +1 -1
  137. package/dist/harmony148.mjs +10 -3
  138. package/dist/harmony148.mjs.map +1 -1
  139. package/dist/harmony149.cjs +2 -2
  140. package/dist/harmony149.cjs.map +1 -1
  141. package/dist/harmony149.mjs +2 -2
  142. package/dist/harmony149.mjs.map +1 -1
  143. package/dist/harmony150.cjs +2 -2
  144. package/dist/harmony150.cjs.map +1 -1
  145. package/dist/harmony150.mjs +2 -2
  146. package/dist/harmony150.mjs.map +1 -1
  147. package/dist/harmony151.cjs +2 -13
  148. package/dist/harmony151.cjs.map +1 -1
  149. package/dist/harmony151.mjs +2 -13
  150. package/dist/harmony151.mjs.map +1 -1
  151. package/dist/harmony152.cjs +5 -5
  152. package/dist/harmony152.cjs.map +1 -1
  153. package/dist/harmony152.mjs +5 -5
  154. package/dist/harmony152.mjs.map +1 -1
  155. package/dist/harmony153.cjs +13 -2
  156. package/dist/harmony153.cjs.map +1 -1
  157. package/dist/harmony153.mjs +13 -2
  158. package/dist/harmony153.mjs.map +1 -1
  159. package/dist/harmony154.cjs +4 -10
  160. package/dist/harmony154.cjs.map +1 -1
  161. package/dist/harmony154.mjs +3 -9
  162. package/dist/harmony154.mjs.map +1 -1
  163. package/dist/harmony155.cjs +97 -7
  164. package/dist/harmony155.cjs.map +1 -1
  165. package/dist/harmony155.mjs +96 -6
  166. package/dist/harmony155.mjs.map +1 -1
  167. package/dist/harmony156.cjs +14 -10
  168. package/dist/harmony156.cjs.map +1 -1
  169. package/dist/harmony156.mjs +13 -9
  170. package/dist/harmony156.mjs.map +1 -1
  171. package/dist/harmony157.cjs +15 -25
  172. package/dist/harmony157.cjs.map +1 -1
  173. package/dist/harmony157.mjs +14 -24
  174. package/dist/harmony157.mjs.map +1 -1
  175. package/dist/harmony158.cjs +37 -7
  176. package/dist/harmony158.cjs.map +1 -1
  177. package/dist/harmony158.mjs +36 -6
  178. package/dist/harmony158.mjs.map +1 -1
  179. package/dist/harmony159.cjs +29 -13
  180. package/dist/harmony159.cjs.map +1 -1
  181. package/dist/harmony159.mjs +28 -12
  182. package/dist/harmony159.mjs.map +1 -1
  183. package/dist/harmony160.cjs +6 -3
  184. package/dist/harmony160.cjs.map +1 -1
  185. package/dist/harmony160.mjs +6 -3
  186. package/dist/harmony160.mjs.map +1 -1
  187. package/dist/harmony161.cjs +6 -10
  188. package/dist/harmony161.cjs.map +1 -1
  189. package/dist/harmony161.mjs +5 -9
  190. package/dist/harmony161.mjs.map +1 -1
  191. package/dist/harmony162.cjs +10 -97
  192. package/dist/harmony162.cjs.map +1 -1
  193. package/dist/harmony162.mjs +9 -96
  194. package/dist/harmony162.mjs.map +1 -1
  195. package/dist/harmony163.cjs +25 -14
  196. package/dist/harmony163.cjs.map +1 -1
  197. package/dist/harmony163.mjs +24 -13
  198. package/dist/harmony163.mjs.map +1 -1
  199. package/dist/harmony164.cjs +7 -15
  200. package/dist/harmony164.cjs.map +1 -1
  201. package/dist/harmony164.mjs +6 -14
  202. package/dist/harmony164.mjs.map +1 -1
  203. package/dist/harmony165.cjs +13 -37
  204. package/dist/harmony165.cjs.map +1 -1
  205. package/dist/harmony165.mjs +12 -36
  206. package/dist/harmony165.mjs.map +1 -1
  207. package/dist/harmony166.cjs +7 -29
  208. package/dist/harmony166.cjs.map +1 -1
  209. package/dist/harmony166.mjs +6 -28
  210. package/dist/harmony166.mjs.map +1 -1
  211. package/dist/harmony167.cjs +13 -32
  212. package/dist/harmony167.cjs.map +1 -1
  213. package/dist/harmony167.mjs +13 -32
  214. package/dist/harmony167.mjs.map +1 -1
  215. package/dist/harmony168.cjs +14 -12
  216. package/dist/harmony168.cjs.map +1 -1
  217. package/dist/harmony168.mjs +14 -12
  218. package/dist/harmony168.mjs.map +1 -1
  219. package/dist/harmony169.cjs +14 -13
  220. package/dist/harmony169.cjs.map +1 -1
  221. package/dist/harmony169.mjs +14 -13
  222. package/dist/harmony169.mjs.map +1 -1
  223. package/dist/harmony17.cjs +1 -1
  224. package/dist/harmony17.mjs +1 -1
  225. package/dist/harmony170.cjs +31 -15
  226. package/dist/harmony170.cjs.map +1 -1
  227. package/dist/harmony170.mjs +31 -15
  228. package/dist/harmony170.mjs.map +1 -1
  229. package/dist/harmony171.cjs +1 -1
  230. package/dist/harmony171.mjs +1 -1
  231. package/dist/harmony173.cjs +3 -3
  232. package/dist/harmony173.mjs +3 -3
  233. package/dist/harmony175.cjs +6 -4
  234. package/dist/harmony175.cjs.map +1 -1
  235. package/dist/harmony175.mjs +6 -4
  236. package/dist/harmony175.mjs.map +1 -1
  237. package/dist/harmony176.cjs +11 -5
  238. package/dist/harmony176.cjs.map +1 -1
  239. package/dist/harmony176.mjs +11 -5
  240. package/dist/harmony176.mjs.map +1 -1
  241. package/dist/harmony177.cjs +31 -11
  242. package/dist/harmony177.cjs.map +1 -1
  243. package/dist/harmony177.mjs +31 -11
  244. package/dist/harmony177.mjs.map +1 -1
  245. package/dist/harmony178.cjs +10 -28
  246. package/dist/harmony178.cjs.map +1 -1
  247. package/dist/harmony178.mjs +10 -28
  248. package/dist/harmony178.mjs.map +1 -1
  249. package/dist/harmony179.cjs +4 -14
  250. package/dist/harmony179.cjs.map +1 -1
  251. package/dist/harmony179.mjs +4 -14
  252. package/dist/harmony179.mjs.map +1 -1
  253. package/dist/harmony28.cjs +1 -1
  254. package/dist/harmony28.mjs +1 -1
  255. package/dist/harmony29.cjs +1 -1
  256. package/dist/harmony29.mjs +1 -1
  257. package/dist/harmony90.cjs +2 -0
  258. package/dist/harmony90.cjs.map +1 -1
  259. package/dist/harmony90.mjs +2 -0
  260. package/dist/harmony90.mjs.map +1 -1
  261. package/dist/harmony97.cjs +2 -2
  262. package/dist/harmony97.mjs +2 -2
  263. package/dist/types/src/features/publicApi/TESTING_CONTRACTS.d.ts +1 -0
  264. package/package.json +1 -1
@@ -1,12 +1,90 @@
1
- const link = "_link_18vhx_1";
2
- const active = "_active_18vhx_18";
3
- const styles = {
4
- link,
5
- active
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
+ };
6
86
  };
7
87
  export {
8
- active,
9
- styles as default,
10
- link
88
+ getProjectNavigationVisibilityMap
11
89
  };
12
90
  //# sourceMappingURL=harmony129.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"harmony129.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;"}
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,15 +1,33 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const jsxRuntime = require("react/jsx-runtime");
4
- const useSidebar = require("./harmony112.cjs");
5
- const louis = require("@lokalise/louis");
6
- const permissions = require("./harmony113.cjs");
7
- const BillingMenuItem = () => {
8
- const { jwt } = useSidebar.useSidebar();
9
- if (!permissions.canChangeBilling(jwt)) {
10
- return null;
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"
11
30
  }
12
- return /* @__PURE__ */ jsxRuntime.jsx(louis.MenuItem, { href: "/team#billing", children: "Billing" });
13
- };
14
- exports.BillingMenuItem = BillingMenuItem;
31
+ ];
32
+ exports.navigationItems = navigationItems;
15
33
  //# sourceMappingURL=harmony130.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"harmony130.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":"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,15 +1,33 @@
1
- import { jsx } from "react/jsx-runtime";
2
- import { useSidebar } from "./harmony112.mjs";
3
- import { MenuItem } from "@lokalise/louis";
4
- import { canChangeBilling } from "./harmony113.mjs";
5
- const BillingMenuItem = () => {
6
- const { jwt } = useSidebar();
7
- if (!canChangeBilling(jwt)) {
8
- return null;
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"
9
28
  }
10
- return /* @__PURE__ */ jsx(MenuItem, { href: "/team#billing", children: "Billing" });
11
- };
29
+ ];
12
30
  export {
13
- BillingMenuItem
31
+ navigationItems
14
32
  };
15
33
  //# sourceMappingURL=harmony130.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"harmony130.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":"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,18 +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("./harmony112.cjs");
5
- const louis = require("@lokalise/louis");
6
- const permissions = require("./harmony113.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
- ] });
16
- };
17
- exports.CreateNewTeam = CreateNewTeam;
2
+ Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
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;
18
8
  //# sourceMappingURL=harmony131.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"harmony131.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":"harmony131.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;"}
@@ -1,18 +1,8 @@
1
- import { jsxs, Fragment, jsx } from "react/jsx-runtime";
2
- import { useSidebar } from "./harmony112.mjs";
3
- import { MenuItem, MenuDivider } from "@lokalise/louis";
4
- import { canCreateTeam } from "./harmony113.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
- ] });
14
- };
1
+ import { getDefaultExportFromCjs } from "./harmony175.mjs";
2
+ import { __require as requireDebounce } from "./harmony155.mjs";
3
+ var debounceExports = requireDebounce();
4
+ const debounce = /* @__PURE__ */ getDefaultExportFromCjs(debounceExports);
15
5
  export {
16
- CreateNewTeam
6
+ debounce as default
17
7
  };
18
8
  //# sourceMappingURL=harmony131.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"harmony131.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":"harmony131.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;"}
@@ -1,22 +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("./harmony112.cjs");
5
- const louis = require("@lokalise/louis");
6
- const permissions = require("./harmony113.cjs");
7
- const CreateNewTeamPlaceholder_module = require("./harmony154.cjs");
8
- const CreateNewTeamPlaceholder = ({ onClick }) => {
9
- const { jwt } = useSidebar.useSidebar();
10
- if (!permissions.canCreateTeam(jwt)) {
11
- return null;
12
- }
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
- ] });
20
- };
21
- exports.CreateNewTeamPlaceholder = CreateNewTeamPlaceholder;
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;
22
8
  //# sourceMappingURL=harmony132.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"harmony132.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":"harmony132.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;"}
@@ -1,22 +1,8 @@
1
- import { jsxs, Fragment, jsx } from "react/jsx-runtime";
2
- import { useSidebar } from "./harmony112.mjs";
3
- import { MenuItem, MenuDivider } from "@lokalise/louis";
4
- import { canCreateTeam } from "./harmony113.mjs";
5
- import styles from "./harmony154.mjs";
6
- const CreateNewTeamPlaceholder = ({ onClick }) => {
7
- const { jwt } = useSidebar();
8
- if (!canCreateTeam(jwt)) {
9
- return null;
10
- }
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
- ] });
18
- };
1
+ import { getDefaultExportFromCjs } from "./harmony175.mjs";
2
+ import { __require as requireThrottle } from "./harmony159.mjs";
3
+ var throttleExports = requireThrottle();
4
+ const throttle = /* @__PURE__ */ getDefaultExportFromCjs(throttleExports);
19
5
  export {
20
- CreateNewTeamPlaceholder
6
+ throttle as default
21
7
  };
22
8
  //# sourceMappingURL=harmony132.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"harmony132.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":"harmony132.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;"}
@@ -1,13 +1,12 @@
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 DarkModeToggle_module = require("./harmony155.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
- ] }) });
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
11
8
  };
12
- exports.DarkModeToggle = DarkModeToggle;
9
+ exports.active = active;
10
+ exports.default = styles;
11
+ exports.link = link;
13
12
  //# sourceMappingURL=harmony133.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"harmony133.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":"harmony133.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;"}
@@ -1,13 +1,12 @@
1
- import { jsx, jsxs } from "react/jsx-runtime";
2
- import { MenuItem, Switch } from "@lokalise/louis";
3
- import styles from "./harmony155.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
+ const link = "_link_18vhx_1";
2
+ const active = "_active_18vhx_18";
3
+ const styles = {
4
+ link,
5
+ active
9
6
  };
10
7
  export {
11
- DarkModeToggle
8
+ active,
9
+ styles as default,
10
+ link
12
11
  };
13
12
  //# sourceMappingURL=harmony133.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"harmony133.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":"harmony133.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;"}
@@ -1,29 +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("./harmony112.cjs");
4
+ const useSidebar = require("./harmony113.cjs");
5
5
  const louis = require("@lokalise/louis");
6
- const permissions = require("./harmony113.cjs");
7
- const ProfileSettingsMenuItem_module = require("./harmony156.cjs");
8
- const ProfileSettingsMenuItem = ({ onClick }) => {
6
+ const permissions = require("./harmony114.cjs");
7
+ const BillingMenuItem = () => {
9
8
  const { jwt } = useSidebar.useSidebar();
10
- if (!permissions.canAccessProfileSettings(jwt)) {
9
+ if (!permissions.canChangeBilling(jwt)) {
11
10
  return null;
12
11
  }
13
- return /* @__PURE__ */ jsxRuntime.jsx(
14
- louis.MenuItem,
15
- {
16
- "data-testid": "sidebar-profile-settings-menu-item",
17
- href: "/profile",
18
- onClick: () => {
19
- onClick == null ? void 0 : onClick();
20
- },
21
- children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: `flex-col ${ProfileSettingsMenuItem_module.default.container}`, children: [
22
- /* @__PURE__ */ jsxRuntime.jsx("span", { children: "Profile Settings" }),
23
- /* @__PURE__ */ jsxRuntime.jsx("span", { className: ProfileSettingsMenuItem_module.default.profileEmail, children: jwt == null ? void 0 : jwt.userEmail })
24
- ] })
25
- }
26
- );
12
+ return /* @__PURE__ */ jsxRuntime.jsx(louis.MenuItem, { href: "/team#billing", children: "Billing" });
27
13
  };
28
- exports.ProfileSettingsMenuItem = ProfileSettingsMenuItem;
14
+ exports.BillingMenuItem = BillingMenuItem;
29
15
  //# sourceMappingURL=harmony134.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"harmony134.cjs","sources":["../src/components/Sidebar/Widgets/ProfileMenu/ProfileSettingsMenuItem/ProfileSettingsMenuItem.tsx"],"sourcesContent":["import { useSidebar } from '@components/Sidebar/hooks/useSidebar'\nimport { MenuItem } from '@lokalise/louis'\nimport { canAccessProfileSettings } from '@utils/user/permissions'\nimport styles from './ProfileSettingsMenuItem.module.css'\n\n/**\n * A menu item component for navigating to the profile settings page.\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 * <ProfileSettingsMenuItem onClick={() => { }} />\n * ```\n *\n * @note This component must be used within a Sidebar Context.\n */\n\ntype ProfileSettingsMenuItem = {\n\tonClick?: () => void\n}\n\nexport const ProfileSettingsMenuItem = ({ onClick }: ProfileSettingsMenuItem) => {\n\tconst { jwt } = useSidebar()\n\n\tif (!canAccessProfileSettings(jwt)) {\n\t\treturn null\n\t}\n\n\treturn (\n\t\t<MenuItem\n\t\t\tdata-testid=\"sidebar-profile-settings-menu-item\"\n\t\t\thref=\"/profile\"\n\t\t\tonClick={() => {\n\t\t\t\tonClick?.()\n\t\t\t}}\n\t\t>\n\t\t\t<div className={`flex-col ${styles.container}`}>\n\t\t\t\t<span>Profile Settings</span>\n\t\t\t\t<span className={styles.profileEmail}>{jwt?.userEmail}</span>\n\t\t\t</div>\n\t\t</MenuItem>\n\t)\n}\n"],"names":["useSidebar","canAccessProfileSettings","jsx","MenuItem","styles"],"mappings":";;;;;;;AAsBO,MAAM,0BAA0B,CAAC,EAAE,cAAuC;AAC1E,QAAA,EAAE,IAAI,IAAIA,sBAAW;AAEvB,MAAA,CAACC,YAAAA,yBAAyB,GAAG,GAAG;AAC5B,WAAA;AAAA,EAAA;AAIP,SAAAC,2BAAA;AAAA,IAACC,MAAA;AAAA,IAAA;AAAA,MACA,eAAY;AAAA,MACZ,MAAK;AAAA,MACL,SAAS,MAAM;AACJ;AAAA,MACX;AAAA,MAEA,0CAAC,OAAI,EAAA,WAAW,YAAYC,uCAAO,SAAS,IAC3C,UAAA;AAAA,QAAAF,2BAAAA,IAAC,UAAK,UAAgB,mBAAA,CAAA;AAAA,uCACrB,QAAK,EAAA,WAAWE,+BAAAA,QAAO,cAAe,qCAAK,UAAU,CAAA;AAAA,MAAA,EACvD,CAAA;AAAA,IAAA;AAAA,EACD;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,29 +1,15 @@
1
- import { jsx, jsxs } from "react/jsx-runtime";
2
- import { useSidebar } from "./harmony112.mjs";
1
+ import { jsx } from "react/jsx-runtime";
2
+ import { useSidebar } from "./harmony113.mjs";
3
3
  import { MenuItem } from "@lokalise/louis";
4
- import { canAccessProfileSettings } from "./harmony113.mjs";
5
- import styles from "./harmony156.mjs";
6
- const ProfileSettingsMenuItem = ({ onClick }) => {
4
+ import { canChangeBilling } from "./harmony114.mjs";
5
+ const BillingMenuItem = () => {
7
6
  const { jwt } = useSidebar();
8
- if (!canAccessProfileSettings(jwt)) {
7
+ if (!canChangeBilling(jwt)) {
9
8
  return null;
10
9
  }
11
- return /* @__PURE__ */ jsx(
12
- MenuItem,
13
- {
14
- "data-testid": "sidebar-profile-settings-menu-item",
15
- href: "/profile",
16
- onClick: () => {
17
- onClick == null ? void 0 : onClick();
18
- },
19
- children: /* @__PURE__ */ jsxs("div", { className: `flex-col ${styles.container}`, children: [
20
- /* @__PURE__ */ jsx("span", { children: "Profile Settings" }),
21
- /* @__PURE__ */ jsx("span", { className: styles.profileEmail, children: jwt == null ? void 0 : jwt.userEmail })
22
- ] })
23
- }
24
- );
10
+ return /* @__PURE__ */ jsx(MenuItem, { href: "/team#billing", children: "Billing" });
25
11
  };
26
12
  export {
27
- ProfileSettingsMenuItem
13
+ BillingMenuItem
28
14
  };
29
15
  //# sourceMappingURL=harmony134.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"harmony134.mjs","sources":["../src/components/Sidebar/Widgets/ProfileMenu/ProfileSettingsMenuItem/ProfileSettingsMenuItem.tsx"],"sourcesContent":["import { useSidebar } from '@components/Sidebar/hooks/useSidebar'\nimport { MenuItem } from '@lokalise/louis'\nimport { canAccessProfileSettings } from '@utils/user/permissions'\nimport styles from './ProfileSettingsMenuItem.module.css'\n\n/**\n * A menu item component for navigating to the profile settings page.\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 * <ProfileSettingsMenuItem onClick={() => { }} />\n * ```\n *\n * @note This component must be used within a Sidebar Context.\n */\n\ntype ProfileSettingsMenuItem = {\n\tonClick?: () => void\n}\n\nexport const ProfileSettingsMenuItem = ({ onClick }: ProfileSettingsMenuItem) => {\n\tconst { jwt } = useSidebar()\n\n\tif (!canAccessProfileSettings(jwt)) {\n\t\treturn null\n\t}\n\n\treturn (\n\t\t<MenuItem\n\t\t\tdata-testid=\"sidebar-profile-settings-menu-item\"\n\t\t\thref=\"/profile\"\n\t\t\tonClick={() => {\n\t\t\t\tonClick?.()\n\t\t\t}}\n\t\t>\n\t\t\t<div className={`flex-col ${styles.container}`}>\n\t\t\t\t<span>Profile Settings</span>\n\t\t\t\t<span className={styles.profileEmail}>{jwt?.userEmail}</span>\n\t\t\t</div>\n\t\t</MenuItem>\n\t)\n}\n"],"names":[],"mappings":";;;;;AAsBO,MAAM,0BAA0B,CAAC,EAAE,cAAuC;AAC1E,QAAA,EAAE,IAAI,IAAI,WAAW;AAEvB,MAAA,CAAC,yBAAyB,GAAG,GAAG;AAC5B,WAAA;AAAA,EAAA;AAIP,SAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACA,eAAY;AAAA,MACZ,MAAK;AAAA,MACL,SAAS,MAAM;AACJ;AAAA,MACX;AAAA,MAEA,+BAAC,OAAI,EAAA,WAAW,YAAY,OAAO,SAAS,IAC3C,UAAA;AAAA,QAAA,oBAAC,UAAK,UAAgB,mBAAA,CAAA;AAAA,4BACrB,QAAK,EAAA,WAAW,OAAO,cAAe,qCAAK,UAAU,CAAA;AAAA,MAAA,EACvD,CAAA;AAAA,IAAA;AAAA,EACD;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,15 +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("./harmony112.cjs");
4
+ const useSidebar = require("./harmony113.cjs");
5
5
  const louis = require("@lokalise/louis");
6
- const permissions = require("./harmony113.cjs");
7
- const ProviderMenuItem = () => {
6
+ const permissions = require("./harmony114.cjs");
7
+ const CreateNewTeam = ({ onCreateTeam }) => {
8
8
  const { jwt } = useSidebar.useSidebar();
9
- if (!permissions.canAccessProviderDashboard(jwt)) {
9
+ if (!permissions.canCreateTeam(jwt)) {
10
10
  return null;
11
11
  }
12
- return /* @__PURE__ */ jsxRuntime.jsx(louis.MenuItem, { href: "/provider", children: "Provider dashboard" });
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
+ ] });
13
16
  };
14
- exports.ProviderMenuItem = ProviderMenuItem;
17
+ exports.CreateNewTeam = CreateNewTeam;
15
18
  //# sourceMappingURL=harmony135.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"harmony135.cjs","sources":["../src/components/Sidebar/Widgets/ProfileMenu/ProviderMenuItem/ProviderMenuItem.tsx"],"sourcesContent":["import { useSidebar } from '@components/Sidebar/hooks/useSidebar'\nimport { MenuItem } from '@lokalise/louis'\nimport { canAccessProviderDashboard } from '@utils/user/permissions'\n\n/**\n * A menu item component for navigating to the provider dashboard.\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 * <ProviderMenuItem />\n * ```\n *\n * @note This component must be used within a Sidebar Context.\n */\n\nexport const ProviderMenuItem = () => {\n\tconst { jwt } = useSidebar()\n\n\tif (!canAccessProviderDashboard(jwt)) {\n\t\treturn null\n\t}\n\n\treturn <MenuItem href=\"/provider\">Provider dashboard</MenuItem>\n}\n"],"names":["useSidebar","canAccessProviderDashboard","jsx","MenuItem"],"mappings":";;;;;;AAiBO,MAAM,mBAAmB,MAAM;AAC/B,QAAA,EAAE,IAAI,IAAIA,sBAAW;AAEvB,MAAA,CAACC,YAAAA,2BAA2B,GAAG,GAAG;AAC9B,WAAA;AAAA,EAAA;AAGR,SAAQC,2BAAAA,IAAAC,MAAAA,UAAA,EAAS,MAAK,aAAY,UAAkB,sBAAA;AACrD;;"}
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,15 +1,18 @@
1
- import { jsx } from "react/jsx-runtime";
2
- import { useSidebar } from "./harmony112.mjs";
3
- import { MenuItem } from "@lokalise/louis";
4
- import { canAccessProviderDashboard } from "./harmony113.mjs";
5
- const ProviderMenuItem = () => {
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
6
  const { jwt } = useSidebar();
7
- if (!canAccessProviderDashboard(jwt)) {
7
+ if (!canCreateTeam(jwt)) {
8
8
  return null;
9
9
  }
10
- return /* @__PURE__ */ jsx(MenuItem, { href: "/provider", children: "Provider dashboard" });
10
+ return /* @__PURE__ */ jsxs(Fragment, { children: [
11
+ /* @__PURE__ */ jsx(MenuItem, { onClick: onCreateTeam, children: "Create new team" }),
12
+ /* @__PURE__ */ jsx(MenuDivider, {})
13
+ ] });
11
14
  };
12
15
  export {
13
- ProviderMenuItem
16
+ CreateNewTeam
14
17
  };
15
18
  //# sourceMappingURL=harmony135.mjs.map