@lokalise/harmony 2.0.5 → 2.0.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (329) hide show
  1. package/dist/harmony102.cjs +1 -1
  2. package/dist/harmony102.mjs +1 -1
  3. package/dist/harmony103.cjs +7 -7
  4. package/dist/harmony103.mjs +7 -7
  5. package/dist/harmony105.cjs +2 -2
  6. package/dist/harmony105.mjs +2 -2
  7. package/dist/harmony106.cjs +2 -165
  8. package/dist/harmony106.cjs.map +1 -1
  9. package/dist/harmony106.mjs +3 -166
  10. package/dist/harmony106.mjs.map +1 -1
  11. package/dist/harmony107.cjs +16 -42
  12. package/dist/harmony107.cjs.map +1 -1
  13. package/dist/harmony107.mjs +16 -42
  14. package/dist/harmony107.mjs.map +1 -1
  15. package/dist/harmony108.cjs +75 -13
  16. package/dist/harmony108.cjs.map +1 -1
  17. package/dist/harmony108.mjs +75 -13
  18. package/dist/harmony108.mjs.map +1 -1
  19. package/dist/harmony109.cjs +12 -11
  20. package/dist/harmony109.cjs.map +1 -1
  21. package/dist/harmony109.mjs +12 -11
  22. package/dist/harmony109.mjs.map +1 -1
  23. package/dist/harmony110.cjs +35 -22
  24. package/dist/harmony110.cjs.map +1 -1
  25. package/dist/harmony110.mjs +34 -21
  26. package/dist/harmony110.mjs.map +1 -1
  27. package/dist/harmony111.cjs +9 -3
  28. package/dist/harmony111.cjs.map +1 -1
  29. package/dist/harmony111.mjs +9 -3
  30. package/dist/harmony111.mjs.map +1 -1
  31. package/dist/harmony112.cjs +41 -12
  32. package/dist/harmony112.cjs.map +1 -1
  33. package/dist/harmony112.mjs +43 -14
  34. package/dist/harmony112.mjs.map +1 -1
  35. package/dist/harmony113.cjs +9 -76
  36. package/dist/harmony113.cjs.map +1 -1
  37. package/dist/harmony113.mjs +8 -75
  38. package/dist/harmony113.mjs.map +1 -1
  39. package/dist/harmony114.cjs +10 -10
  40. package/dist/harmony114.cjs.map +1 -1
  41. package/dist/harmony114.mjs +10 -10
  42. package/dist/harmony114.mjs.map +1 -1
  43. package/dist/harmony115.cjs +13 -35
  44. package/dist/harmony115.cjs.map +1 -1
  45. package/dist/harmony115.mjs +12 -34
  46. package/dist/harmony115.mjs.map +1 -1
  47. package/dist/harmony116.cjs +10 -8
  48. package/dist/harmony116.cjs.map +1 -1
  49. package/dist/harmony116.mjs +11 -9
  50. package/dist/harmony116.mjs.map +1 -1
  51. package/dist/harmony117.cjs +21 -47
  52. package/dist/harmony117.cjs.map +1 -1
  53. package/dist/harmony117.mjs +20 -46
  54. package/dist/harmony117.mjs.map +1 -1
  55. package/dist/harmony118.cjs +166 -9
  56. package/dist/harmony118.cjs.map +1 -1
  57. package/dist/harmony118.mjs +165 -8
  58. package/dist/harmony118.mjs.map +1 -1
  59. package/dist/harmony119.cjs +43 -11
  60. package/dist/harmony119.cjs.map +1 -1
  61. package/dist/harmony119.mjs +43 -11
  62. package/dist/harmony119.mjs.map +1 -1
  63. package/dist/harmony120.cjs +14 -12
  64. package/dist/harmony120.cjs.map +1 -1
  65. package/dist/harmony120.mjs +13 -11
  66. package/dist/harmony120.mjs.map +1 -1
  67. package/dist/harmony121.cjs +2 -2
  68. package/dist/harmony121.mjs +2 -2
  69. package/dist/harmony122.cjs +7 -87
  70. package/dist/harmony122.cjs.map +1 -1
  71. package/dist/harmony122.mjs +7 -87
  72. package/dist/harmony122.mjs.map +1 -1
  73. package/dist/harmony123.cjs +17 -30
  74. package/dist/harmony123.cjs.map +1 -1
  75. package/dist/harmony123.mjs +17 -30
  76. package/dist/harmony123.mjs.map +1 -1
  77. package/dist/harmony124.cjs +9 -6
  78. package/dist/harmony124.cjs.map +1 -1
  79. package/dist/harmony124.mjs +8 -5
  80. package/dist/harmony124.mjs.map +1 -1
  81. package/dist/harmony125.cjs +9 -6
  82. package/dist/harmony125.cjs.map +1 -1
  83. package/dist/harmony125.mjs +8 -5
  84. package/dist/harmony125.mjs.map +1 -1
  85. package/dist/harmony126.cjs +15 -20
  86. package/dist/harmony126.cjs.map +1 -1
  87. package/dist/harmony126.mjs +15 -20
  88. package/dist/harmony126.mjs.map +1 -1
  89. package/dist/harmony127.cjs +20 -7
  90. package/dist/harmony127.cjs.map +1 -1
  91. package/dist/harmony127.mjs +20 -7
  92. package/dist/harmony127.mjs.map +1 -1
  93. package/dist/harmony128.cjs +9 -17
  94. package/dist/harmony128.cjs.map +1 -1
  95. package/dist/harmony128.mjs +8 -16
  96. package/dist/harmony128.mjs.map +1 -1
  97. package/dist/harmony129.cjs +11 -7
  98. package/dist/harmony129.cjs.map +1 -1
  99. package/dist/harmony129.mjs +11 -7
  100. package/dist/harmony129.mjs.map +1 -1
  101. package/dist/harmony130.cjs +14 -7
  102. package/dist/harmony130.cjs.map +1 -1
  103. package/dist/harmony130.mjs +14 -7
  104. package/dist/harmony130.mjs.map +1 -1
  105. package/dist/harmony131.cjs +18 -14
  106. package/dist/harmony131.cjs.map +1 -1
  107. package/dist/harmony131.mjs +18 -14
  108. package/dist/harmony131.mjs.map +1 -1
  109. package/dist/harmony132.cjs +10 -9
  110. package/dist/harmony132.cjs.map +1 -1
  111. package/dist/harmony132.mjs +9 -8
  112. package/dist/harmony132.mjs.map +1 -1
  113. package/dist/harmony133.cjs +20 -6
  114. package/dist/harmony133.cjs.map +1 -1
  115. package/dist/harmony133.mjs +21 -7
  116. package/dist/harmony133.mjs.map +1 -1
  117. package/dist/harmony134.cjs +6 -9
  118. package/dist/harmony134.cjs.map +1 -1
  119. package/dist/harmony134.mjs +8 -11
  120. package/dist/harmony134.mjs.map +1 -1
  121. package/dist/harmony135.cjs +33 -14
  122. package/dist/harmony135.cjs.map +1 -1
  123. package/dist/harmony135.mjs +35 -16
  124. package/dist/harmony135.mjs.map +1 -1
  125. package/dist/harmony136.cjs +9 -7
  126. package/dist/harmony136.cjs.map +1 -1
  127. package/dist/harmony136.mjs +11 -9
  128. package/dist/harmony136.mjs.map +1 -1
  129. package/dist/harmony137.cjs +14 -18
  130. package/dist/harmony137.cjs.map +1 -1
  131. package/dist/harmony137.mjs +15 -19
  132. package/dist/harmony137.mjs.map +1 -1
  133. package/dist/harmony138.cjs +31 -7
  134. package/dist/harmony138.cjs.map +1 -1
  135. package/dist/harmony138.mjs +32 -8
  136. package/dist/harmony138.mjs.map +1 -1
  137. package/dist/harmony139.cjs +21 -38
  138. package/dist/harmony139.cjs.map +1 -1
  139. package/dist/harmony139.mjs +20 -37
  140. package/dist/harmony139.mjs.map +1 -1
  141. package/dist/harmony140.cjs +18 -9
  142. package/dist/harmony140.cjs.map +1 -1
  143. package/dist/harmony140.mjs +19 -10
  144. package/dist/harmony140.mjs.map +1 -1
  145. package/dist/harmony141.cjs +6 -22
  146. package/dist/harmony141.cjs.map +1 -1
  147. package/dist/harmony141.mjs +5 -21
  148. package/dist/harmony141.mjs.map +1 -1
  149. package/dist/harmony142.cjs +15 -36
  150. package/dist/harmony142.cjs.map +1 -1
  151. package/dist/harmony142.mjs +14 -35
  152. package/dist/harmony142.mjs.map +1 -1
  153. package/dist/harmony143.cjs +87 -21
  154. package/dist/harmony143.cjs.map +1 -1
  155. package/dist/harmony143.mjs +86 -20
  156. package/dist/harmony143.mjs.map +1 -1
  157. package/dist/harmony144.cjs +30 -21
  158. package/dist/harmony144.cjs.map +1 -1
  159. package/dist/harmony144.mjs +30 -21
  160. package/dist/harmony144.mjs.map +1 -1
  161. package/dist/harmony145.cjs +5 -6
  162. package/dist/harmony145.cjs.map +1 -1
  163. package/dist/harmony145.mjs +5 -6
  164. package/dist/harmony146.cjs +5 -15
  165. package/dist/harmony146.cjs.map +1 -1
  166. package/dist/harmony146.mjs +5 -15
  167. package/dist/harmony146.mjs.map +1 -1
  168. package/dist/harmony147.cjs +3 -10
  169. package/dist/harmony147.cjs.map +1 -1
  170. package/dist/harmony147.mjs +3 -10
  171. package/dist/harmony147.mjs.map +1 -1
  172. package/dist/harmony148.cjs +3 -96
  173. package/dist/harmony148.cjs.map +1 -1
  174. package/dist/harmony148.mjs +3 -96
  175. package/dist/harmony148.mjs.map +1 -1
  176. package/dist/harmony149.cjs +3 -13
  177. package/dist/harmony149.cjs.map +1 -1
  178. package/dist/harmony149.mjs +3 -13
  179. package/dist/harmony149.mjs.map +1 -1
  180. package/dist/harmony150.cjs +14 -14
  181. package/dist/harmony150.cjs.map +1 -1
  182. package/dist/harmony150.mjs +14 -14
  183. package/dist/harmony150.mjs.map +1 -1
  184. package/dist/harmony151.cjs +14 -36
  185. package/dist/harmony151.cjs.map +1 -1
  186. package/dist/harmony151.mjs +14 -36
  187. package/dist/harmony151.mjs.map +1 -1
  188. package/dist/harmony152.cjs +3 -28
  189. package/dist/harmony152.cjs.map +1 -1
  190. package/dist/harmony152.mjs +3 -28
  191. package/dist/harmony152.mjs.map +1 -1
  192. package/dist/harmony153.cjs +96 -3
  193. package/dist/harmony153.cjs.map +1 -1
  194. package/dist/harmony153.mjs +96 -3
  195. package/dist/harmony153.mjs.map +1 -1
  196. package/dist/harmony154.cjs +13 -3
  197. package/dist/harmony154.cjs.map +1 -1
  198. package/dist/harmony154.mjs +13 -3
  199. package/dist/harmony154.mjs.map +1 -1
  200. package/dist/harmony155.cjs +14 -3
  201. package/dist/harmony155.cjs.map +1 -1
  202. package/dist/harmony155.mjs +14 -3
  203. package/dist/harmony155.mjs.map +1 -1
  204. package/dist/harmony156.cjs +36 -14
  205. package/dist/harmony156.cjs.map +1 -1
  206. package/dist/harmony156.mjs +36 -14
  207. package/dist/harmony156.mjs.map +1 -1
  208. package/dist/harmony157.cjs +28 -14
  209. package/dist/harmony157.cjs.map +1 -1
  210. package/dist/harmony157.mjs +28 -14
  211. package/dist/harmony157.mjs.map +1 -1
  212. package/dist/harmony158.cjs +10 -4
  213. package/dist/harmony158.cjs.map +1 -1
  214. package/dist/harmony158.mjs +9 -3
  215. package/dist/harmony158.mjs.map +1 -1
  216. package/dist/harmony159.cjs +7 -14
  217. package/dist/harmony159.cjs.map +1 -1
  218. package/dist/harmony159.mjs +6 -13
  219. package/dist/harmony159.mjs.map +1 -1
  220. package/dist/harmony160.cjs +10 -16
  221. package/dist/harmony160.cjs.map +1 -1
  222. package/dist/harmony160.mjs +9 -15
  223. package/dist/harmony160.mjs.map +1 -1
  224. package/dist/harmony161.cjs +25 -17
  225. package/dist/harmony161.cjs.map +1 -1
  226. package/dist/harmony161.mjs +24 -16
  227. package/dist/harmony161.mjs.map +1 -1
  228. package/dist/harmony162.cjs +3 -6
  229. package/dist/harmony162.cjs.map +1 -1
  230. package/dist/harmony162.mjs +3 -6
  231. package/dist/harmony162.mjs.map +1 -1
  232. package/dist/harmony163.cjs +9 -3
  233. package/dist/harmony163.cjs.map +1 -1
  234. package/dist/harmony163.mjs +9 -3
  235. package/dist/harmony163.mjs.map +1 -1
  236. package/dist/harmony164.cjs +3 -6
  237. package/dist/harmony164.cjs.map +1 -1
  238. package/dist/harmony164.mjs +3 -6
  239. package/dist/harmony164.mjs.map +1 -1
  240. package/dist/harmony165.cjs +10 -24
  241. package/dist/harmony165.cjs.map +1 -1
  242. package/dist/harmony165.mjs +9 -23
  243. package/dist/harmony165.mjs.map +1 -1
  244. package/dist/harmony166.cjs +32 -6
  245. package/dist/harmony166.cjs.map +1 -1
  246. package/dist/harmony166.mjs +31 -5
  247. package/dist/harmony166.mjs.map +1 -1
  248. package/dist/harmony167.cjs +14 -13
  249. package/dist/harmony167.cjs.map +1 -1
  250. package/dist/harmony167.mjs +13 -12
  251. package/dist/harmony167.mjs.map +1 -1
  252. package/dist/harmony168.cjs +16 -7
  253. package/dist/harmony168.cjs.map +1 -1
  254. package/dist/harmony168.mjs +15 -6
  255. package/dist/harmony168.mjs.map +1 -1
  256. package/dist/harmony169.cjs +14 -14
  257. package/dist/harmony169.cjs.map +1 -1
  258. package/dist/harmony169.mjs +14 -14
  259. package/dist/harmony169.mjs.map +1 -1
  260. package/dist/harmony17.cjs +1 -1
  261. package/dist/harmony17.mjs +1 -1
  262. package/dist/harmony170.cjs +10 -20
  263. package/dist/harmony170.cjs.map +1 -1
  264. package/dist/harmony170.mjs +10 -20
  265. package/dist/harmony170.mjs.map +1 -1
  266. package/dist/harmony171.cjs +14 -10
  267. package/dist/harmony171.cjs.map +1 -1
  268. package/dist/harmony171.mjs +14 -10
  269. package/dist/harmony171.mjs.map +1 -1
  270. package/dist/harmony172.cjs +20 -10
  271. package/dist/harmony172.cjs.map +1 -1
  272. package/dist/harmony172.mjs +20 -10
  273. package/dist/harmony172.mjs.map +1 -1
  274. package/dist/harmony173.cjs +12 -32
  275. package/dist/harmony173.cjs.map +1 -1
  276. package/dist/harmony173.mjs +12 -32
  277. package/dist/harmony173.mjs.map +1 -1
  278. package/dist/harmony174.cjs +4 -12
  279. package/dist/harmony174.cjs.map +1 -1
  280. package/dist/harmony174.mjs +4 -12
  281. package/dist/harmony174.mjs.map +1 -1
  282. package/dist/harmony175.cjs +5 -31
  283. package/dist/harmony175.cjs.map +1 -1
  284. package/dist/harmony175.mjs +5 -31
  285. package/dist/harmony175.mjs.map +1 -1
  286. package/dist/harmony176.cjs +11 -13
  287. package/dist/harmony176.cjs.map +1 -1
  288. package/dist/harmony176.mjs +11 -13
  289. package/dist/harmony176.mjs.map +1 -1
  290. package/dist/harmony177.cjs +31 -5
  291. package/dist/harmony177.cjs.map +1 -1
  292. package/dist/harmony177.mjs +31 -5
  293. package/dist/harmony177.mjs.map +1 -1
  294. package/dist/harmony178.cjs +14 -4
  295. package/dist/harmony178.cjs.map +1 -1
  296. package/dist/harmony178.mjs +14 -4
  297. package/dist/harmony178.mjs.map +1 -1
  298. package/dist/harmony20.cjs +1 -1
  299. package/dist/harmony20.mjs +1 -1
  300. package/dist/harmony28.cjs +1 -1
  301. package/dist/harmony28.mjs +1 -1
  302. package/dist/harmony29.cjs +1 -1
  303. package/dist/harmony29.mjs +1 -1
  304. package/dist/harmony32.cjs +1 -1
  305. package/dist/harmony32.mjs +1 -1
  306. package/dist/harmony33.cjs +1 -1
  307. package/dist/harmony33.mjs +1 -1
  308. package/dist/harmony34.cjs +1 -1
  309. package/dist/harmony34.mjs +1 -1
  310. package/dist/harmony39.cjs +1 -1
  311. package/dist/harmony39.mjs +1 -1
  312. package/dist/harmony40.cjs +1 -1
  313. package/dist/harmony40.mjs +1 -1
  314. package/dist/harmony41.cjs +1 -1
  315. package/dist/harmony41.mjs +1 -1
  316. package/dist/harmony42.cjs +2 -2
  317. package/dist/harmony42.mjs +2 -2
  318. package/dist/harmony43.cjs +2 -2
  319. package/dist/harmony43.mjs +2 -2
  320. package/dist/harmony44.cjs +1 -1
  321. package/dist/harmony44.mjs +1 -1
  322. package/dist/harmony45.cjs.map +1 -1
  323. package/dist/harmony45.mjs.map +1 -1
  324. package/dist/harmony96.cjs +2 -2
  325. package/dist/harmony96.mjs +2 -2
  326. package/dist/harmony98.cjs +2 -2
  327. package/dist/harmony98.mjs +2 -2
  328. package/dist/types/src/features/permissions/types.d.ts +3 -1
  329. package/package.json +1 -1
@@ -1,33 +1,20 @@
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
- ];
1
+ import { teamContext, featureFlagContext, projectPermissionsContext } from "./harmony122.mjs";
2
+ import { useContext, useMemo } from "react";
3
+ const useActionResolverPayload = () => {
4
+ const teamRole = useContext(teamContext);
5
+ const enabledFeatureFlags = useContext(featureFlagContext);
6
+ const { permissions: projectPermissions, projectType } = useContext(projectPermissionsContext);
7
+ return useMemo(
8
+ () => ({
9
+ enabledFeatureFlags,
10
+ teamRole,
11
+ projectPermissions,
12
+ projectType
13
+ }),
14
+ [enabledFeatureFlags, teamRole, projectPermissions, projectType]
15
+ );
16
+ };
30
17
  export {
31
- navigationItems
18
+ useActionResolverPayload
32
19
  };
33
20
  //# sourceMappingURL=harmony123.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"harmony123.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
+ {"version":3,"file":"harmony123.mjs","sources":["../src/features/permissions/hooks/useActionResolverPayload.ts"],"sourcesContent":["import {\n\tfeatureFlagContext,\n\tprojectPermissionsContext,\n\tteamContext,\n} from '@features/permissions/context/ActionsContext'\nimport type { ActionResolverPayload } from '@features/permissions/types'\nimport { useContext, useMemo } from 'react'\n\nexport const useActionResolverPayload = (): ActionResolverPayload => {\n\tconst teamRole = useContext(teamContext)\n\tconst enabledFeatureFlags = useContext(featureFlagContext)\n\tconst { permissions: projectPermissions, projectType } = useContext(projectPermissionsContext)\n\n\treturn useMemo(\n\t\t() =>\n\t\t\t({\n\t\t\t\tenabledFeatureFlags,\n\t\t\t\tteamRole,\n\t\t\t\tprojectPermissions,\n\t\t\t\tprojectType,\n\t\t\t}) satisfies ActionResolverPayload,\n\t\t[enabledFeatureFlags, teamRole, projectPermissions, projectType],\n\t)\n}\n"],"names":[],"mappings":";;AAQO,MAAM,2BAA2B,MAA6B;AAC9D,QAAA,WAAW,WAAW,WAAW;AACjC,QAAA,sBAAsB,WAAW,kBAAkB;AACzD,QAAM,EAAE,aAAa,oBAAoB,YAAY,IAAI,WAAW,yBAAyB;AAEtF,SAAA;AAAA,IACN,OACE;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IAAA;AAAA,IAEF,CAAC,qBAAqB,UAAU,oBAAoB,WAAW;AAAA,EAChE;AACD;"}
@@ -1,8 +1,11 @@
1
1
  "use strict";
2
- Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
3
- const _commonjsHelpers = require("./harmony177.cjs");
4
- const debounce$1 = require("./harmony148.cjs");
5
- var debounceExports = debounce$1.__require();
6
- const debounce = /* @__PURE__ */ _commonjsHelpers.getDefaultExportFromCjs(debounceExports);
7
- exports.default = debounce;
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const hasAny = (seed, ...items) => {
4
+ if (!seed) return false;
5
+ if (items.length === 0) return false;
6
+ const seedArray = Array.isArray(seed) ? seed : [seed];
7
+ if (seedArray.length === 0) return false;
8
+ return items.some((item) => seedArray.includes(item));
9
+ };
10
+ exports.hasAny = hasAny;
8
11
  //# sourceMappingURL=harmony124.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"harmony124.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;"}
1
+ {"version":3,"file":"harmony124.cjs","sources":["../src/features/permissions/utils/hasAny.ts"],"sourcesContent":["export const hasAny = <T extends string>(seed: T | T[] | undefined, ...items: T[]) => {\n\tif (!seed) return false\n\tif (items.length === 0) return false\n\tconst seedArray = Array.isArray(seed) ? seed : [seed]\n\tif (seedArray.length === 0) return false\n\treturn items.some((item) => seedArray.includes(item))\n}\n"],"names":[],"mappings":";;AAAa,MAAA,SAAS,CAAmB,SAA8B,UAAe;AACjF,MAAA,CAAC,KAAa,QAAA;AACd,MAAA,MAAM,WAAW,EAAU,QAAA;AAC/B,QAAM,YAAY,MAAM,QAAQ,IAAI,IAAI,OAAO,CAAC,IAAI;AAChD,MAAA,UAAU,WAAW,EAAU,QAAA;AACnC,SAAO,MAAM,KAAK,CAAC,SAAS,UAAU,SAAS,IAAI,CAAC;AACrD;;"}
@@ -1,8 +1,11 @@
1
- import { getDefaultExportFromCjs } from "./harmony177.mjs";
2
- import { __require as requireDebounce } from "./harmony148.mjs";
3
- var debounceExports = requireDebounce();
4
- const debounce = /* @__PURE__ */ getDefaultExportFromCjs(debounceExports);
1
+ const hasAny = (seed, ...items) => {
2
+ if (!seed) return false;
3
+ if (items.length === 0) return false;
4
+ const seedArray = Array.isArray(seed) ? seed : [seed];
5
+ if (seedArray.length === 0) return false;
6
+ return items.some((item) => seedArray.includes(item));
7
+ };
5
8
  export {
6
- debounce as default
9
+ hasAny
7
10
  };
8
11
  //# sourceMappingURL=harmony124.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"harmony124.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;"}
1
+ {"version":3,"file":"harmony124.mjs","sources":["../src/features/permissions/utils/hasAny.ts"],"sourcesContent":["export const hasAny = <T extends string>(seed: T | T[] | undefined, ...items: T[]) => {\n\tif (!seed) return false\n\tif (items.length === 0) return false\n\tconst seedArray = Array.isArray(seed) ? seed : [seed]\n\tif (seedArray.length === 0) return false\n\treturn items.some((item) => seedArray.includes(item))\n}\n"],"names":[],"mappings":"AAAa,MAAA,SAAS,CAAmB,SAA8B,UAAe;AACjF,MAAA,CAAC,KAAa,QAAA;AACd,MAAA,MAAM,WAAW,EAAU,QAAA;AAC/B,QAAM,YAAY,MAAM,QAAQ,IAAI,IAAI,OAAO,CAAC,IAAI;AAChD,MAAA,UAAU,WAAW,EAAU,QAAA;AACnC,SAAO,MAAM,KAAK,CAAC,SAAS,UAAU,SAAS,IAAI,CAAC;AACrD;"}
@@ -1,8 +1,11 @@
1
1
  "use strict";
2
- Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
3
- const _commonjsHelpers = require("./harmony177.cjs");
4
- const throttle$1 = require("./harmony152.cjs");
5
- var throttleExports = throttle$1.__require();
6
- const throttle = /* @__PURE__ */ _commonjsHelpers.getDefaultExportFromCjs(throttleExports);
7
- exports.default = throttle;
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const has = (seed, ...items) => {
4
+ if (!seed) return false;
5
+ if (items.length === 0) return false;
6
+ const seedArray = Array.isArray(seed) ? seed : [seed];
7
+ if (seedArray.length === 0) return false;
8
+ return items.every((item) => seedArray.includes(item));
9
+ };
10
+ exports.has = has;
8
11
  //# sourceMappingURL=harmony125.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"harmony125.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;"}
1
+ {"version":3,"file":"harmony125.cjs","sources":["../src/features/permissions/utils/has.ts"],"sourcesContent":["export const has = <T extends string>(seed: T | T[] | undefined, ...items: T[]) => {\n\tif (!seed) return false\n\tif (items.length === 0) return false\n\tconst seedArray = Array.isArray(seed) ? seed : [seed]\n\tif (seedArray.length === 0) return false\n\treturn items.every((item) => seedArray.includes(item))\n}\n"],"names":[],"mappings":";;AAAa,MAAA,MAAM,CAAmB,SAA8B,UAAe;AAC9E,MAAA,CAAC,KAAa,QAAA;AACd,MAAA,MAAM,WAAW,EAAU,QAAA;AAC/B,QAAM,YAAY,MAAM,QAAQ,IAAI,IAAI,OAAO,CAAC,IAAI;AAChD,MAAA,UAAU,WAAW,EAAU,QAAA;AACnC,SAAO,MAAM,MAAM,CAAC,SAAS,UAAU,SAAS,IAAI,CAAC;AACtD;;"}
@@ -1,8 +1,11 @@
1
- import { getDefaultExportFromCjs } from "./harmony177.mjs";
2
- import { __require as requireThrottle } from "./harmony152.mjs";
3
- var throttleExports = requireThrottle();
4
- const throttle = /* @__PURE__ */ getDefaultExportFromCjs(throttleExports);
1
+ const has = (seed, ...items) => {
2
+ if (!seed) return false;
3
+ if (items.length === 0) return false;
4
+ const seedArray = Array.isArray(seed) ? seed : [seed];
5
+ if (seedArray.length === 0) return false;
6
+ return items.every((item) => seedArray.includes(item));
7
+ };
5
8
  export {
6
- throttle as default
9
+ has
7
10
  };
8
11
  //# sourceMappingURL=harmony125.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"harmony125.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;"}
1
+ {"version":3,"file":"harmony125.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,23 +1,18 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const zod = require("zod");
4
- const teamRoleTypes = require("./harmony86.cjs");
5
- const JWT_TOKEN_PAYLOAD_SCHEMA = zod.z.object({
6
- userId: zod.z.number(),
7
- userUuid: zod.z.string().uuid(),
8
- teamId: zod.z.number(),
9
- teamUuid: zod.z.string().uuid(),
10
- userTeamRole: teamRoleTypes.TEAM_ROLE_SCHEMA,
11
- userEmail: zod.z.string().email(),
12
- userName: zod.z.string(),
13
- userCurrentTeamId: zod.z.number(),
14
- planId: zod.z.number(),
15
- planName: zod.z.string(),
16
- isProviderAlpha: zod.z.boolean(),
17
- isFullyAuthenticated: zod.z.boolean(),
18
- isEndOfTrialActive: zod.z.boolean(),
19
- isTeamSuspended: zod.z.boolean(),
20
- exp: zod.z.number()
21
- });
22
- exports.JWT_TOKEN_PAYLOAD_SCHEMA = JWT_TOKEN_PAYLOAD_SCHEMA;
3
+ const accessMarketingProjects = require("./harmony147.cjs");
4
+ const deleteProjects = require("./harmony148.cjs");
5
+ const manageContributors = require("./harmony149.cjs");
6
+ const canDownloadFiles = require("./harmony150.cjs");
7
+ const canUploadFiles = require("./harmony151.cjs");
8
+ const createProjects = require("./harmony152.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;
23
18
  //# sourceMappingURL=harmony126.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"harmony126.cjs","sources":["../src/features/auth/core/types/jwtTokenPayload.ts"],"sourcesContent":["import { z } from 'zod'\nimport { TEAM_ROLE_SCHEMA } from '../../../publicApi/types/teamRoleTypes'\n\nexport const JWT_TOKEN_PAYLOAD_SCHEMA = z.object({\n\tuserId: z.number(),\n\tuserUuid: z.string().uuid(),\n\tteamId: z.number(),\n\tteamUuid: z.string().uuid(),\n\tuserTeamRole: TEAM_ROLE_SCHEMA,\n\tuserEmail: z.string().email(),\n\tuserName: z.string(),\n\tuserCurrentTeamId: z.number(),\n\tplanId: z.number(),\n\tplanName: z.string(),\n\tisProviderAlpha: z.boolean(),\n\tisFullyAuthenticated: z.boolean(),\n\tisEndOfTrialActive: z.boolean(),\n\tisTeamSuspended: z.boolean(),\n\texp: z.number(),\n})\nexport type JwtTokenPayload = z.infer<typeof JWT_TOKEN_PAYLOAD_SCHEMA>\n"],"names":["z","TEAM_ROLE_SCHEMA"],"mappings":";;;;AAGa,MAAA,2BAA2BA,MAAE,OAAO;AAAA,EAChD,QAAQA,MAAE,OAAO;AAAA,EACjB,UAAUA,IAAA,EAAE,OAAO,EAAE,KAAK;AAAA,EAC1B,QAAQA,MAAE,OAAO;AAAA,EACjB,UAAUA,IAAA,EAAE,OAAO,EAAE,KAAK;AAAA,EAC1B,cAAcC,cAAA;AAAA,EACd,WAAWD,IAAA,EAAE,OAAO,EAAE,MAAM;AAAA,EAC5B,UAAUA,MAAE,OAAO;AAAA,EACnB,mBAAmBA,MAAE,OAAO;AAAA,EAC5B,QAAQA,MAAE,OAAO;AAAA,EACjB,UAAUA,MAAE,OAAO;AAAA,EACnB,iBAAiBA,MAAE,QAAQ;AAAA,EAC3B,sBAAsBA,MAAE,QAAQ;AAAA,EAChC,oBAAoBA,MAAE,QAAQ;AAAA,EAC9B,iBAAiBA,MAAE,QAAQ;AAAA,EAC3B,KAAKA,MAAE,OAAO;AACf,CAAC;;"}
1
+ {"version":3,"file":"harmony126.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,23 +1,18 @@
1
- import { z } from "zod";
2
- import { TEAM_ROLE_SCHEMA } from "./harmony86.mjs";
3
- const JWT_TOKEN_PAYLOAD_SCHEMA = z.object({
4
- userId: z.number(),
5
- userUuid: z.string().uuid(),
6
- teamId: z.number(),
7
- teamUuid: z.string().uuid(),
8
- userTeamRole: TEAM_ROLE_SCHEMA,
9
- userEmail: z.string().email(),
10
- userName: z.string(),
11
- userCurrentTeamId: z.number(),
12
- planId: z.number(),
13
- planName: z.string(),
14
- isProviderAlpha: z.boolean(),
15
- isFullyAuthenticated: z.boolean(),
16
- isEndOfTrialActive: z.boolean(),
17
- isTeamSuspended: z.boolean(),
18
- exp: z.number()
19
- });
1
+ import { accessMarketingProjects } from "./harmony147.mjs";
2
+ import { deleteProjects } from "./harmony148.mjs";
3
+ import { manageContributors } from "./harmony149.mjs";
4
+ import { canDownloadFiles } from "./harmony150.mjs";
5
+ import { canUploadFiles } from "./harmony151.mjs";
6
+ import { createProjects } from "./harmony152.mjs";
7
+ const actionResolvers = {
8
+ accessMarketingProjects,
9
+ canDownloadFiles,
10
+ canUploadFiles,
11
+ createProjects,
12
+ deleteProjects,
13
+ manageContributors
14
+ };
20
15
  export {
21
- JWT_TOKEN_PAYLOAD_SCHEMA
16
+ actionResolvers
22
17
  };
23
18
  //# sourceMappingURL=harmony126.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"harmony126.mjs","sources":["../src/features/auth/core/types/jwtTokenPayload.ts"],"sourcesContent":["import { z } from 'zod'\nimport { TEAM_ROLE_SCHEMA } from '../../../publicApi/types/teamRoleTypes'\n\nexport const JWT_TOKEN_PAYLOAD_SCHEMA = z.object({\n\tuserId: z.number(),\n\tuserUuid: z.string().uuid(),\n\tteamId: z.number(),\n\tteamUuid: z.string().uuid(),\n\tuserTeamRole: TEAM_ROLE_SCHEMA,\n\tuserEmail: z.string().email(),\n\tuserName: z.string(),\n\tuserCurrentTeamId: z.number(),\n\tplanId: z.number(),\n\tplanName: z.string(),\n\tisProviderAlpha: z.boolean(),\n\tisFullyAuthenticated: z.boolean(),\n\tisEndOfTrialActive: z.boolean(),\n\tisTeamSuspended: z.boolean(),\n\texp: z.number(),\n})\nexport type JwtTokenPayload = z.infer<typeof JWT_TOKEN_PAYLOAD_SCHEMA>\n"],"names":[],"mappings":";;AAGa,MAAA,2BAA2B,EAAE,OAAO;AAAA,EAChD,QAAQ,EAAE,OAAO;AAAA,EACjB,UAAU,EAAE,OAAO,EAAE,KAAK;AAAA,EAC1B,QAAQ,EAAE,OAAO;AAAA,EACjB,UAAU,EAAE,OAAO,EAAE,KAAK;AAAA,EAC1B,cAAc;AAAA,EACd,WAAW,EAAE,OAAO,EAAE,MAAM;AAAA,EAC5B,UAAU,EAAE,OAAO;AAAA,EACnB,mBAAmB,EAAE,OAAO;AAAA,EAC5B,QAAQ,EAAE,OAAO;AAAA,EACjB,UAAU,EAAE,OAAO;AAAA,EACnB,iBAAiB,EAAE,QAAQ;AAAA,EAC3B,sBAAsB,EAAE,QAAQ;AAAA,EAChC,oBAAoB,EAAE,QAAQ;AAAA,EAC9B,iBAAiB,EAAE,QAAQ;AAAA,EAC3B,KAAK,EAAE,OAAO;AACf,CAAC;"}
1
+ {"version":3,"file":"harmony126.mjs","sources":["../src/features/permissions/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,10 +1,23 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const React = require("react");
4
- const featureFlagContext = React.createContext(void 0);
5
- const teamContext = React.createContext(void 0);
6
- const projectPermissionsContext = React.createContext({});
7
- exports.featureFlagContext = featureFlagContext;
8
- exports.projectPermissionsContext = projectPermissionsContext;
9
- exports.teamContext = teamContext;
3
+ const zod = require("zod");
4
+ const teamRoleTypes = require("./harmony86.cjs");
5
+ const JWT_TOKEN_PAYLOAD_SCHEMA = zod.z.object({
6
+ userId: zod.z.number(),
7
+ userUuid: zod.z.string().uuid(),
8
+ teamId: zod.z.number(),
9
+ teamUuid: zod.z.string().uuid(),
10
+ userTeamRole: teamRoleTypes.TEAM_ROLE_SCHEMA,
11
+ userEmail: zod.z.string().email(),
12
+ userName: zod.z.string(),
13
+ userCurrentTeamId: zod.z.number(),
14
+ planId: zod.z.number(),
15
+ planName: zod.z.string(),
16
+ isProviderAlpha: zod.z.boolean(),
17
+ isFullyAuthenticated: zod.z.boolean(),
18
+ isEndOfTrialActive: zod.z.boolean(),
19
+ isTeamSuspended: zod.z.boolean(),
20
+ exp: zod.z.number()
21
+ });
22
+ exports.JWT_TOKEN_PAYLOAD_SCHEMA = JWT_TOKEN_PAYLOAD_SCHEMA;
10
23
  //# sourceMappingURL=harmony127.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"harmony127.cjs","sources":["../src/features/permissions/context/ActionsContext.tsx"],"sourcesContent":["import type {\n\tFeatureFlag,\n\tProjectPermission,\n\tProjectType,\n\tTeamRole,\n} from '@features/permissions/types'\nimport { createContext } from 'react'\n\nexport const featureFlagContext = createContext<FeatureFlag[] | undefined>(undefined)\n\nexport const teamContext = createContext<TeamRole | undefined>(undefined)\n\ntype ProjectPermissionsContextType = {\n\tpermissions?: ProjectPermission[]\n\tprojectType?: ProjectType\n}\nexport const projectPermissionsContext = createContext<ProjectPermissionsContextType>({})\n"],"names":["createContext"],"mappings":";;;AAQa,MAAA,qBAAqBA,oBAAyC,MAAS;AAEvE,MAAA,cAAcA,oBAAoC,MAAS;AAM3D,MAAA,4BAA4BA,MAA6C,cAAA,CAAE,CAAA;;;;"}
1
+ {"version":3,"file":"harmony127.cjs","sources":["../src/features/auth/core/types/jwtTokenPayload.ts"],"sourcesContent":["import { z } from 'zod'\nimport { TEAM_ROLE_SCHEMA } from '../../../publicApi/types/teamRoleTypes'\n\nexport const JWT_TOKEN_PAYLOAD_SCHEMA = z.object({\n\tuserId: z.number(),\n\tuserUuid: z.string().uuid(),\n\tteamId: z.number(),\n\tteamUuid: z.string().uuid(),\n\tuserTeamRole: TEAM_ROLE_SCHEMA,\n\tuserEmail: z.string().email(),\n\tuserName: z.string(),\n\tuserCurrentTeamId: z.number(),\n\tplanId: z.number(),\n\tplanName: z.string(),\n\tisProviderAlpha: z.boolean(),\n\tisFullyAuthenticated: z.boolean(),\n\tisEndOfTrialActive: z.boolean(),\n\tisTeamSuspended: z.boolean(),\n\texp: z.number(),\n})\nexport type JwtTokenPayload = z.infer<typeof JWT_TOKEN_PAYLOAD_SCHEMA>\n"],"names":["z","TEAM_ROLE_SCHEMA"],"mappings":";;;;AAGa,MAAA,2BAA2BA,MAAE,OAAO;AAAA,EAChD,QAAQA,MAAE,OAAO;AAAA,EACjB,UAAUA,IAAA,EAAE,OAAO,EAAE,KAAK;AAAA,EAC1B,QAAQA,MAAE,OAAO;AAAA,EACjB,UAAUA,IAAA,EAAE,OAAO,EAAE,KAAK;AAAA,EAC1B,cAAcC,cAAA;AAAA,EACd,WAAWD,IAAA,EAAE,OAAO,EAAE,MAAM;AAAA,EAC5B,UAAUA,MAAE,OAAO;AAAA,EACnB,mBAAmBA,MAAE,OAAO;AAAA,EAC5B,QAAQA,MAAE,OAAO;AAAA,EACjB,UAAUA,MAAE,OAAO;AAAA,EACnB,iBAAiBA,MAAE,QAAQ;AAAA,EAC3B,sBAAsBA,MAAE,QAAQ;AAAA,EAChC,oBAAoBA,MAAE,QAAQ;AAAA,EAC9B,iBAAiBA,MAAE,QAAQ;AAAA,EAC3B,KAAKA,MAAE,OAAO;AACf,CAAC;;"}
@@ -1,10 +1,23 @@
1
- import { createContext } from "react";
2
- const featureFlagContext = createContext(void 0);
3
- const teamContext = createContext(void 0);
4
- const projectPermissionsContext = createContext({});
1
+ import { z } from "zod";
2
+ import { TEAM_ROLE_SCHEMA } from "./harmony86.mjs";
3
+ const JWT_TOKEN_PAYLOAD_SCHEMA = z.object({
4
+ userId: z.number(),
5
+ userUuid: z.string().uuid(),
6
+ teamId: z.number(),
7
+ teamUuid: z.string().uuid(),
8
+ userTeamRole: TEAM_ROLE_SCHEMA,
9
+ userEmail: z.string().email(),
10
+ userName: z.string(),
11
+ userCurrentTeamId: z.number(),
12
+ planId: z.number(),
13
+ planName: z.string(),
14
+ isProviderAlpha: z.boolean(),
15
+ isFullyAuthenticated: z.boolean(),
16
+ isEndOfTrialActive: z.boolean(),
17
+ isTeamSuspended: z.boolean(),
18
+ exp: z.number()
19
+ });
5
20
  export {
6
- featureFlagContext,
7
- projectPermissionsContext,
8
- teamContext
21
+ JWT_TOKEN_PAYLOAD_SCHEMA
9
22
  };
10
23
  //# sourceMappingURL=harmony127.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"harmony127.mjs","sources":["../src/features/permissions/context/ActionsContext.tsx"],"sourcesContent":["import type {\n\tFeatureFlag,\n\tProjectPermission,\n\tProjectType,\n\tTeamRole,\n} from '@features/permissions/types'\nimport { createContext } from 'react'\n\nexport const featureFlagContext = createContext<FeatureFlag[] | undefined>(undefined)\n\nexport const teamContext = createContext<TeamRole | undefined>(undefined)\n\ntype ProjectPermissionsContextType = {\n\tpermissions?: ProjectPermission[]\n\tprojectType?: ProjectType\n}\nexport const projectPermissionsContext = createContext<ProjectPermissionsContextType>({})\n"],"names":[],"mappings":";AAQa,MAAA,qBAAqB,cAAyC,MAAS;AAEvE,MAAA,cAAc,cAAoC,MAAS;AAM3D,MAAA,4BAA4B,cAA6C,CAAE,CAAA;"}
1
+ {"version":3,"file":"harmony127.mjs","sources":["../src/features/auth/core/types/jwtTokenPayload.ts"],"sourcesContent":["import { z } from 'zod'\nimport { TEAM_ROLE_SCHEMA } from '../../../publicApi/types/teamRoleTypes'\n\nexport const JWT_TOKEN_PAYLOAD_SCHEMA = z.object({\n\tuserId: z.number(),\n\tuserUuid: z.string().uuid(),\n\tteamId: z.number(),\n\tteamUuid: z.string().uuid(),\n\tuserTeamRole: TEAM_ROLE_SCHEMA,\n\tuserEmail: z.string().email(),\n\tuserName: z.string(),\n\tuserCurrentTeamId: z.number(),\n\tplanId: z.number(),\n\tplanName: z.string(),\n\tisProviderAlpha: z.boolean(),\n\tisFullyAuthenticated: z.boolean(),\n\tisEndOfTrialActive: z.boolean(),\n\tisTeamSuspended: z.boolean(),\n\texp: z.number(),\n})\nexport type JwtTokenPayload = z.infer<typeof JWT_TOKEN_PAYLOAD_SCHEMA>\n"],"names":[],"mappings":";;AAGa,MAAA,2BAA2B,EAAE,OAAO;AAAA,EAChD,QAAQ,EAAE,OAAO;AAAA,EACjB,UAAU,EAAE,OAAO,EAAE,KAAK;AAAA,EAC1B,QAAQ,EAAE,OAAO;AAAA,EACjB,UAAU,EAAE,OAAO,EAAE,KAAK;AAAA,EAC1B,cAAc;AAAA,EACd,WAAW,EAAE,OAAO,EAAE,MAAM;AAAA,EAC5B,UAAU,EAAE,OAAO;AAAA,EACnB,mBAAmB,EAAE,OAAO;AAAA,EAC5B,QAAQ,EAAE,OAAO;AAAA,EACjB,UAAU,EAAE,OAAO;AAAA,EACnB,iBAAiB,EAAE,QAAQ;AAAA,EAC3B,sBAAsB,EAAE,QAAQ;AAAA,EAChC,oBAAoB,EAAE,QAAQ;AAAA,EAC9B,iBAAiB,EAAE,QAAQ;AAAA,EAC3B,KAAK,EAAE,OAAO;AACf,CAAC;"}
@@ -1,20 +1,12 @@
1
1
  "use strict";
2
- Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const ActionsContext = require("./harmony127.cjs");
4
- const React = require("react");
5
- const useActionResolverPayload = () => {
6
- const teamRole = React.useContext(ActionsContext.teamContext);
7
- const enabledFeatureFlags = React.useContext(ActionsContext.featureFlagContext);
8
- const { permissions: projectPermissions, projectType } = React.useContext(ActionsContext.projectPermissionsContext);
9
- return React.useMemo(
10
- () => ({
11
- enabledFeatureFlags,
12
- teamRole,
13
- projectPermissions,
14
- projectType
15
- }),
16
- [enabledFeatureFlags, teamRole, projectPermissions, projectType]
17
- );
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
18
8
  };
19
- exports.useActionResolverPayload = useActionResolverPayload;
9
+ exports.active = active;
10
+ exports.default = styles;
11
+ exports.link = link;
20
12
  //# sourceMappingURL=harmony128.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"harmony128.cjs","sources":["../src/features/permissions/hooks/useActionResolverPayload.ts"],"sourcesContent":["import {\n\tfeatureFlagContext,\n\tprojectPermissionsContext,\n\tteamContext,\n} from '@features/permissions/context/ActionsContext'\nimport type { ActionResolverPayload } from '@features/permissions/types'\nimport { useContext, useMemo } from 'react'\n\nexport const useActionResolverPayload = (): ActionResolverPayload => {\n\tconst teamRole = useContext(teamContext)\n\tconst enabledFeatureFlags = useContext(featureFlagContext)\n\tconst { permissions: projectPermissions, projectType } = useContext(projectPermissionsContext)\n\n\treturn useMemo(\n\t\t() =>\n\t\t\t({\n\t\t\t\tenabledFeatureFlags,\n\t\t\t\tteamRole,\n\t\t\t\tprojectPermissions,\n\t\t\t\tprojectType,\n\t\t\t}) satisfies ActionResolverPayload,\n\t\t[enabledFeatureFlags, teamRole, projectPermissions, projectType],\n\t)\n}\n"],"names":["useContext","teamContext","featureFlagContext","projectPermissionsContext","useMemo"],"mappings":";;;;AAQO,MAAM,2BAA2B,MAA6B;AAC9D,QAAA,WAAWA,iBAAWC,0BAAW;AACjC,QAAA,sBAAsBD,iBAAWE,iCAAkB;AACzD,QAAM,EAAE,aAAa,oBAAoB,YAAY,IAAIF,MAAAA,WAAWG,eAAAA,yBAAyB;AAEtF,SAAAC,MAAA;AAAA,IACN,OACE;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IAAA;AAAA,IAEF,CAAC,qBAAqB,UAAU,oBAAoB,WAAW;AAAA,EAChE;AACD;;"}
1
+ {"version":3,"file":"harmony128.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;"}
@@ -1,20 +1,12 @@
1
- import { teamContext, featureFlagContext, projectPermissionsContext } from "./harmony127.mjs";
2
- import { useContext, useMemo } from "react";
3
- const useActionResolverPayload = () => {
4
- const teamRole = useContext(teamContext);
5
- const enabledFeatureFlags = useContext(featureFlagContext);
6
- const { permissions: projectPermissions, projectType } = useContext(projectPermissionsContext);
7
- return useMemo(
8
- () => ({
9
- enabledFeatureFlags,
10
- teamRole,
11
- projectPermissions,
12
- projectType
13
- }),
14
- [enabledFeatureFlags, teamRole, projectPermissions, projectType]
15
- );
1
+ const link = "_link_18vhx_1";
2
+ const active = "_active_18vhx_18";
3
+ const styles = {
4
+ link,
5
+ active
16
6
  };
17
7
  export {
18
- useActionResolverPayload
8
+ active,
9
+ styles as default,
10
+ link
19
11
  };
20
12
  //# sourceMappingURL=harmony128.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"harmony128.mjs","sources":["../src/features/permissions/hooks/useActionResolverPayload.ts"],"sourcesContent":["import {\n\tfeatureFlagContext,\n\tprojectPermissionsContext,\n\tteamContext,\n} from '@features/permissions/context/ActionsContext'\nimport type { ActionResolverPayload } from '@features/permissions/types'\nimport { useContext, useMemo } from 'react'\n\nexport const useActionResolverPayload = (): ActionResolverPayload => {\n\tconst teamRole = useContext(teamContext)\n\tconst enabledFeatureFlags = useContext(featureFlagContext)\n\tconst { permissions: projectPermissions, projectType } = useContext(projectPermissionsContext)\n\n\treturn useMemo(\n\t\t() =>\n\t\t\t({\n\t\t\t\tenabledFeatureFlags,\n\t\t\t\tteamRole,\n\t\t\t\tprojectPermissions,\n\t\t\t\tprojectType,\n\t\t\t}) satisfies ActionResolverPayload,\n\t\t[enabledFeatureFlags, teamRole, projectPermissions, projectType],\n\t)\n}\n"],"names":[],"mappings":";;AAQO,MAAM,2BAA2B,MAA6B;AAC9D,QAAA,WAAW,WAAW,WAAW;AACjC,QAAA,sBAAsB,WAAW,kBAAkB;AACzD,QAAM,EAAE,aAAa,oBAAoB,YAAY,IAAI,WAAW,yBAAyB;AAEtF,SAAA;AAAA,IACN,OACE;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IAAA;AAAA,IAEF,CAAC,qBAAqB,UAAU,oBAAoB,WAAW;AAAA,EAChE;AACD;"}
1
+ {"version":3,"file":"harmony128.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;"}
@@ -1,11 +1,15 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const hasAny = (seed, ...items) => {
4
- if (!seed) return false;
5
- if (items.length === 0) return false;
6
- const seedArray = Array.isArray(seed) ? seed : [seed];
7
- if (seedArray.length === 0) return false;
8
- return items.some((item) => seedArray.includes(item));
3
+ const jsxRuntime = require("react/jsx-runtime");
4
+ const useSidebar = require("./harmony109.cjs");
5
+ const louis = require("@lokalise/louis");
6
+ const permissions = require("./harmony110.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" });
9
13
  };
10
- exports.hasAny = hasAny;
14
+ exports.BillingMenuItem = BillingMenuItem;
11
15
  //# sourceMappingURL=harmony129.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"harmony129.cjs","sources":["../src/features/permissions/utils/hasAny.ts"],"sourcesContent":["export const hasAny = <T extends string>(seed: T | T[] | undefined, ...items: T[]) => {\n\tif (!seed) return false\n\tif (items.length === 0) return false\n\tconst seedArray = Array.isArray(seed) ? seed : [seed]\n\tif (seedArray.length === 0) return false\n\treturn items.some((item) => seedArray.includes(item))\n}\n"],"names":[],"mappings":";;AAAa,MAAA,SAAS,CAAmB,SAA8B,UAAe;AACjF,MAAA,CAAC,KAAa,QAAA;AACd,MAAA,MAAM,WAAW,EAAU,QAAA;AAC/B,QAAM,YAAY,MAAM,QAAQ,IAAI,IAAI,OAAO,CAAC,IAAI;AAChD,MAAA,UAAU,WAAW,EAAU,QAAA;AACnC,SAAO,MAAM,KAAK,CAAC,SAAS,UAAU,SAAS,IAAI,CAAC;AACrD;;"}
1
+ {"version":3,"file":"harmony129.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,11 +1,15 @@
1
- const hasAny = (seed, ...items) => {
2
- if (!seed) return false;
3
- if (items.length === 0) return false;
4
- const seedArray = Array.isArray(seed) ? seed : [seed];
5
- if (seedArray.length === 0) return false;
6
- return items.some((item) => seedArray.includes(item));
1
+ import { jsx } from "react/jsx-runtime";
2
+ import { useSidebar } from "./harmony109.mjs";
3
+ import { MenuItem } from "@lokalise/louis";
4
+ import { canChangeBilling } from "./harmony110.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" });
7
11
  };
8
12
  export {
9
- hasAny
13
+ BillingMenuItem
10
14
  };
11
15
  //# sourceMappingURL=harmony129.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"harmony129.mjs","sources":["../src/features/permissions/utils/hasAny.ts"],"sourcesContent":["export const hasAny = <T extends string>(seed: T | T[] | undefined, ...items: T[]) => {\n\tif (!seed) return false\n\tif (items.length === 0) return false\n\tconst seedArray = Array.isArray(seed) ? seed : [seed]\n\tif (seedArray.length === 0) return false\n\treturn items.some((item) => seedArray.includes(item))\n}\n"],"names":[],"mappings":"AAAa,MAAA,SAAS,CAAmB,SAA8B,UAAe;AACjF,MAAA,CAAC,KAAa,QAAA;AACd,MAAA,MAAM,WAAW,EAAU,QAAA;AAC/B,QAAM,YAAY,MAAM,QAAQ,IAAI,IAAI,OAAO,CAAC,IAAI;AAChD,MAAA,UAAU,WAAW,EAAU,QAAA;AACnC,SAAO,MAAM,KAAK,CAAC,SAAS,UAAU,SAAS,IAAI,CAAC;AACrD;"}
1
+ {"version":3,"file":"harmony129.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,11 +1,18 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const has = (seed, ...items) => {
4
- if (!seed) return false;
5
- if (items.length === 0) return false;
6
- const seedArray = Array.isArray(seed) ? seed : [seed];
7
- if (seedArray.length === 0) return false;
8
- return items.every((item) => seedArray.includes(item));
3
+ const jsxRuntime = require("react/jsx-runtime");
4
+ const useSidebar = require("./harmony109.cjs");
5
+ const louis = require("@lokalise/louis");
6
+ const permissions = require("./harmony110.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
+ ] });
9
16
  };
10
- exports.has = has;
17
+ exports.CreateNewTeam = CreateNewTeam;
11
18
  //# sourceMappingURL=harmony130.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"harmony130.cjs","sources":["../src/features/permissions/utils/has.ts"],"sourcesContent":["export const has = <T extends string>(seed: T | T[] | undefined, ...items: T[]) => {\n\tif (!seed) return false\n\tif (items.length === 0) return false\n\tconst seedArray = Array.isArray(seed) ? seed : [seed]\n\tif (seedArray.length === 0) return false\n\treturn items.every((item) => seedArray.includes(item))\n}\n"],"names":[],"mappings":";;AAAa,MAAA,MAAM,CAAmB,SAA8B,UAAe;AAC9E,MAAA,CAAC,KAAa,QAAA;AACd,MAAA,MAAM,WAAW,EAAU,QAAA;AAC/B,QAAM,YAAY,MAAM,QAAQ,IAAI,IAAI,OAAO,CAAC,IAAI;AAChD,MAAA,UAAU,WAAW,EAAU,QAAA;AACnC,SAAO,MAAM,MAAM,CAAC,SAAS,UAAU,SAAS,IAAI,CAAC;AACtD;;"}
1
+ {"version":3,"file":"harmony130.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,11 +1,18 @@
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 { jsxs, Fragment, jsx } from "react/jsx-runtime";
2
+ import { useSidebar } from "./harmony109.mjs";
3
+ import { MenuItem, MenuDivider } from "@lokalise/louis";
4
+ import { canCreateTeam } from "./harmony110.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
+ ] });
7
14
  };
8
15
  export {
9
- has
16
+ CreateNewTeam
10
17
  };
11
18
  //# sourceMappingURL=harmony130.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"harmony130.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":"harmony130.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;"}