@lokalise/harmony 2.0.5 → 2.0.7

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 (619) hide show
  1. package/dist/harmony.cjs +135 -135
  2. package/dist/harmony.mjs +79 -79
  3. package/dist/harmony102.cjs +1 -1
  4. package/dist/harmony102.mjs +1 -1
  5. package/dist/harmony103.cjs +7 -7
  6. package/dist/harmony103.mjs +7 -7
  7. package/dist/harmony105.cjs +2 -2
  8. package/dist/harmony105.mjs +2 -2
  9. package/dist/harmony106.cjs +13 -165
  10. package/dist/harmony106.cjs.map +1 -1
  11. package/dist/harmony106.mjs +13 -165
  12. package/dist/harmony106.mjs.map +1 -1
  13. package/dist/harmony107.cjs +2 -43
  14. package/dist/harmony107.cjs.map +1 -1
  15. package/dist/harmony107.mjs +3 -44
  16. package/dist/harmony107.mjs.map +1 -1
  17. package/dist/harmony108.cjs +17 -13
  18. package/dist/harmony108.cjs.map +1 -1
  19. package/dist/harmony108.mjs +17 -13
  20. package/dist/harmony108.mjs.map +1 -1
  21. package/dist/harmony109.cjs +74 -9
  22. package/dist/harmony109.cjs.map +1 -1
  23. package/dist/harmony109.mjs +76 -11
  24. package/dist/harmony109.mjs.map +1 -1
  25. package/dist/harmony11.cjs +55 -30
  26. package/dist/harmony11.cjs.map +1 -1
  27. package/dist/harmony11.mjs +55 -30
  28. package/dist/harmony11.mjs.map +1 -1
  29. package/dist/harmony110.cjs +12 -21
  30. package/dist/harmony110.cjs.map +1 -1
  31. package/dist/harmony110.mjs +11 -20
  32. package/dist/harmony110.mjs.map +1 -1
  33. package/dist/harmony111.cjs +34 -3
  34. package/dist/harmony111.cjs.map +1 -1
  35. package/dist/harmony111.mjs +34 -3
  36. package/dist/harmony111.mjs.map +1 -1
  37. package/dist/harmony112.cjs +8 -17
  38. package/dist/harmony112.cjs.map +1 -1
  39. package/dist/harmony112.mjs +8 -17
  40. package/dist/harmony112.mjs.map +1 -1
  41. package/dist/harmony113.cjs +36 -65
  42. package/dist/harmony113.cjs.map +1 -1
  43. package/dist/harmony113.mjs +37 -66
  44. package/dist/harmony113.mjs.map +1 -1
  45. package/dist/harmony114.cjs +9 -12
  46. package/dist/harmony114.cjs.map +1 -1
  47. package/dist/harmony114.mjs +8 -11
  48. package/dist/harmony114.mjs.map +1 -1
  49. package/dist/harmony115.cjs +12 -34
  50. package/dist/harmony115.cjs.map +1 -1
  51. package/dist/harmony115.mjs +12 -34
  52. package/dist/harmony115.mjs.map +1 -1
  53. package/dist/harmony116.cjs +13 -10
  54. package/dist/harmony116.cjs.map +1 -1
  55. package/dist/harmony116.mjs +12 -9
  56. package/dist/harmony116.mjs.map +1 -1
  57. package/dist/harmony117.cjs +9 -45
  58. package/dist/harmony117.cjs.map +1 -1
  59. package/dist/harmony117.mjs +11 -47
  60. package/dist/harmony117.mjs.map +1 -1
  61. package/dist/harmony118.cjs +20 -8
  62. package/dist/harmony118.cjs.map +1 -1
  63. package/dist/harmony118.mjs +20 -8
  64. package/dist/harmony118.mjs.map +1 -1
  65. package/dist/harmony119.cjs +165 -11
  66. package/dist/harmony119.cjs.map +1 -1
  67. package/dist/harmony119.mjs +165 -11
  68. package/dist/harmony119.mjs.map +1 -1
  69. package/dist/harmony12.cjs +30 -22
  70. package/dist/harmony12.cjs.map +1 -1
  71. package/dist/harmony12.mjs +30 -22
  72. package/dist/harmony12.mjs.map +1 -1
  73. package/dist/harmony120.cjs +44 -12
  74. package/dist/harmony120.cjs.map +1 -1
  75. package/dist/harmony120.mjs +43 -11
  76. package/dist/harmony120.mjs.map +1 -1
  77. package/dist/harmony121.cjs +2 -2
  78. package/dist/harmony121.mjs +2 -2
  79. package/dist/harmony122.cjs +20 -87
  80. package/dist/harmony122.cjs.map +1 -1
  81. package/dist/harmony122.mjs +20 -87
  82. package/dist/harmony122.mjs.map +1 -1
  83. package/dist/harmony123.cjs +10 -31
  84. package/dist/harmony123.cjs.map +1 -1
  85. package/dist/harmony123.mjs +9 -30
  86. package/dist/harmony123.mjs.map +1 -1
  87. package/dist/harmony124.cjs +13 -6
  88. package/dist/harmony124.cjs.map +1 -1
  89. package/dist/harmony124.mjs +12 -5
  90. package/dist/harmony124.mjs.map +1 -1
  91. package/dist/harmony125.cjs +16 -6
  92. package/dist/harmony125.cjs.map +1 -1
  93. package/dist/harmony125.mjs +15 -5
  94. package/dist/harmony125.mjs.map +1 -1
  95. package/dist/harmony126.cjs +19 -20
  96. package/dist/harmony126.cjs.map +1 -1
  97. package/dist/harmony126.mjs +19 -20
  98. package/dist/harmony126.mjs.map +1 -1
  99. package/dist/harmony127.cjs +10 -7
  100. package/dist/harmony127.cjs.map +1 -1
  101. package/dist/harmony127.mjs +10 -7
  102. package/dist/harmony127.mjs.map +1 -1
  103. package/dist/harmony128.cjs +24 -15
  104. package/dist/harmony128.cjs.map +1 -1
  105. package/dist/harmony128.mjs +24 -15
  106. package/dist/harmony128.mjs.map +1 -1
  107. package/dist/harmony129.cjs +11 -7
  108. package/dist/harmony129.cjs.map +1 -1
  109. package/dist/harmony129.mjs +11 -7
  110. package/dist/harmony129.mjs.map +1 -1
  111. package/dist/harmony13.cjs +11 -52
  112. package/dist/harmony13.cjs.map +1 -1
  113. package/dist/harmony13.mjs +11 -52
  114. package/dist/harmony13.mjs.map +1 -1
  115. package/dist/harmony130.cjs +37 -7
  116. package/dist/harmony130.cjs.map +1 -1
  117. package/dist/harmony130.mjs +37 -7
  118. package/dist/harmony130.mjs.map +1 -1
  119. package/dist/harmony131.cjs +11 -14
  120. package/dist/harmony131.cjs.map +1 -1
  121. package/dist/harmony131.mjs +11 -14
  122. package/dist/harmony131.mjs.map +1 -1
  123. package/dist/harmony132.cjs +22 -9
  124. package/dist/harmony132.cjs.map +1 -1
  125. package/dist/harmony132.mjs +21 -8
  126. package/dist/harmony132.mjs.map +1 -1
  127. package/dist/harmony133.cjs +31 -7
  128. package/dist/harmony133.cjs.map +1 -1
  129. package/dist/harmony133.mjs +32 -8
  130. package/dist/harmony133.mjs.map +1 -1
  131. package/dist/harmony134.cjs +21 -15
  132. package/dist/harmony134.cjs.map +1 -1
  133. package/dist/harmony134.mjs +20 -14
  134. package/dist/harmony134.mjs.map +1 -1
  135. package/dist/harmony135.cjs +18 -16
  136. package/dist/harmony135.cjs.map +1 -1
  137. package/dist/harmony135.mjs +20 -18
  138. package/dist/harmony135.mjs.map +1 -1
  139. package/dist/harmony136.cjs +6 -10
  140. package/dist/harmony136.cjs.map +1 -1
  141. package/dist/harmony136.mjs +5 -9
  142. package/dist/harmony136.mjs.map +1 -1
  143. package/dist/harmony137.cjs +15 -26
  144. package/dist/harmony137.cjs.map +1 -1
  145. package/dist/harmony137.mjs +14 -25
  146. package/dist/harmony137.mjs.map +1 -1
  147. package/dist/harmony138.cjs +7 -12
  148. package/dist/harmony138.cjs.map +1 -1
  149. package/dist/harmony138.mjs +7 -12
  150. package/dist/harmony138.mjs.map +1 -1
  151. package/dist/harmony139.cjs +15 -36
  152. package/dist/harmony139.cjs.map +1 -1
  153. package/dist/harmony139.mjs +15 -36
  154. package/dist/harmony139.mjs.map +1 -1
  155. package/dist/harmony14.cjs +55 -9
  156. package/dist/harmony14.cjs.map +1 -1
  157. package/dist/harmony14.mjs +55 -9
  158. package/dist/harmony14.mjs.map +1 -1
  159. package/dist/harmony140.cjs +7 -11
  160. package/dist/harmony140.cjs.map +1 -1
  161. package/dist/harmony140.mjs +7 -11
  162. package/dist/harmony140.mjs.map +1 -1
  163. package/dist/harmony141.cjs +7 -21
  164. package/dist/harmony141.cjs.map +1 -1
  165. package/dist/harmony141.mjs +7 -21
  166. package/dist/harmony141.mjs.map +1 -1
  167. package/dist/harmony142.cjs +14 -35
  168. package/dist/harmony142.cjs.map +1 -1
  169. package/dist/harmony142.mjs +14 -35
  170. package/dist/harmony142.mjs.map +1 -1
  171. package/dist/harmony143.cjs +87 -21
  172. package/dist/harmony143.cjs.map +1 -1
  173. package/dist/harmony143.mjs +86 -20
  174. package/dist/harmony143.mjs.map +1 -1
  175. package/dist/harmony144.cjs +30 -21
  176. package/dist/harmony144.cjs.map +1 -1
  177. package/dist/harmony144.mjs +30 -21
  178. package/dist/harmony144.mjs.map +1 -1
  179. package/dist/harmony145.cjs +5 -6
  180. package/dist/harmony145.cjs.map +1 -1
  181. package/dist/harmony145.mjs +5 -6
  182. package/dist/harmony146.cjs +5 -15
  183. package/dist/harmony146.cjs.map +1 -1
  184. package/dist/harmony146.mjs +5 -15
  185. package/dist/harmony146.mjs.map +1 -1
  186. package/dist/harmony147.cjs +9 -10
  187. package/dist/harmony147.cjs.map +1 -1
  188. package/dist/harmony147.mjs +8 -9
  189. package/dist/harmony147.mjs.map +1 -1
  190. package/dist/harmony148.cjs +7 -97
  191. package/dist/harmony148.cjs.map +1 -1
  192. package/dist/harmony148.mjs +6 -96
  193. package/dist/harmony148.mjs.map +1 -1
  194. package/dist/harmony149.cjs +10 -14
  195. package/dist/harmony149.cjs.map +1 -1
  196. package/dist/harmony149.mjs +9 -13
  197. package/dist/harmony149.mjs.map +1 -1
  198. package/dist/harmony15.cjs +30 -5
  199. package/dist/harmony15.cjs.map +1 -1
  200. package/dist/harmony15.mjs +30 -5
  201. package/dist/harmony15.mjs.map +1 -1
  202. package/dist/harmony150.cjs +25 -15
  203. package/dist/harmony150.cjs.map +1 -1
  204. package/dist/harmony150.mjs +24 -14
  205. package/dist/harmony150.mjs.map +1 -1
  206. package/dist/harmony151.cjs +7 -37
  207. package/dist/harmony151.cjs.map +1 -1
  208. package/dist/harmony151.mjs +6 -36
  209. package/dist/harmony151.mjs.map +1 -1
  210. package/dist/harmony152.cjs +13 -29
  211. package/dist/harmony152.cjs.map +1 -1
  212. package/dist/harmony152.mjs +12 -28
  213. package/dist/harmony152.mjs.map +1 -1
  214. package/dist/harmony153.cjs +7 -4
  215. package/dist/harmony153.cjs.map +1 -1
  216. package/dist/harmony153.mjs +6 -3
  217. package/dist/harmony153.mjs.map +1 -1
  218. package/dist/harmony154.cjs +96 -3
  219. package/dist/harmony154.cjs.map +1 -1
  220. package/dist/harmony154.mjs +96 -3
  221. package/dist/harmony154.mjs.map +1 -1
  222. package/dist/harmony155.cjs +13 -3
  223. package/dist/harmony155.cjs.map +1 -1
  224. package/dist/harmony155.mjs +13 -3
  225. package/dist/harmony155.mjs.map +1 -1
  226. package/dist/harmony156.cjs +14 -14
  227. package/dist/harmony156.cjs.map +1 -1
  228. package/dist/harmony156.mjs +14 -14
  229. package/dist/harmony156.mjs.map +1 -1
  230. package/dist/harmony157.cjs +36 -14
  231. package/dist/harmony157.cjs.map +1 -1
  232. package/dist/harmony157.mjs +36 -14
  233. package/dist/harmony157.mjs.map +1 -1
  234. package/dist/harmony158.cjs +28 -3
  235. package/dist/harmony158.cjs.map +1 -1
  236. package/dist/harmony158.mjs +28 -3
  237. package/dist/harmony158.mjs.map +1 -1
  238. package/dist/harmony159.cjs +10 -13
  239. package/dist/harmony159.cjs.map +1 -1
  240. package/dist/harmony159.mjs +10 -13
  241. package/dist/harmony159.mjs.map +1 -1
  242. package/dist/harmony16.cjs +18 -15
  243. package/dist/harmony16.cjs.map +1 -1
  244. package/dist/harmony16.mjs +18 -15
  245. package/dist/harmony16.mjs.map +1 -1
  246. package/dist/harmony160.cjs +3 -15
  247. package/dist/harmony160.cjs.map +1 -1
  248. package/dist/harmony160.mjs +3 -15
  249. package/dist/harmony160.mjs.map +1 -1
  250. package/dist/harmony161.cjs +3 -16
  251. package/dist/harmony161.cjs.map +1 -1
  252. package/dist/harmony161.mjs +3 -16
  253. package/dist/harmony161.mjs.map +1 -1
  254. package/dist/harmony162.cjs +4 -10
  255. package/dist/harmony162.cjs.map +1 -1
  256. package/dist/harmony162.mjs +3 -9
  257. package/dist/harmony162.mjs.map +1 -1
  258. package/dist/harmony163.cjs +15 -7
  259. package/dist/harmony163.cjs.map +1 -1
  260. package/dist/harmony163.mjs +14 -6
  261. package/dist/harmony163.mjs.map +1 -1
  262. package/dist/harmony164.cjs +15 -10
  263. package/dist/harmony164.cjs.map +1 -1
  264. package/dist/harmony164.mjs +14 -9
  265. package/dist/harmony164.mjs.map +1 -1
  266. package/dist/harmony165.cjs +4 -25
  267. package/dist/harmony165.cjs.map +1 -1
  268. package/dist/harmony165.mjs +3 -24
  269. package/dist/harmony165.mjs.map +1 -1
  270. package/dist/harmony166.cjs +14 -7
  271. package/dist/harmony166.cjs.map +1 -1
  272. package/dist/harmony166.mjs +13 -6
  273. package/dist/harmony166.mjs.map +1 -1
  274. package/dist/harmony167.cjs +16 -13
  275. package/dist/harmony167.cjs.map +1 -1
  276. package/dist/harmony167.mjs +15 -12
  277. package/dist/harmony167.mjs.map +1 -1
  278. package/dist/harmony168.cjs +17 -7
  279. package/dist/harmony168.cjs.map +1 -1
  280. package/dist/harmony168.mjs +16 -6
  281. package/dist/harmony168.mjs.map +1 -1
  282. package/dist/harmony169.cjs +10 -15
  283. package/dist/harmony169.cjs.map +1 -1
  284. package/dist/harmony169.mjs +10 -15
  285. package/dist/harmony169.mjs.map +1 -1
  286. package/dist/harmony17.cjs +28 -32
  287. package/dist/harmony17.cjs.map +1 -1
  288. package/dist/harmony17.mjs +28 -32
  289. package/dist/harmony17.mjs.map +1 -1
  290. package/dist/harmony170.cjs +13 -18
  291. package/dist/harmony170.cjs.map +1 -1
  292. package/dist/harmony170.mjs +13 -18
  293. package/dist/harmony170.mjs.map +1 -1
  294. package/dist/harmony171.cjs +19 -10
  295. package/dist/harmony171.cjs.map +1 -1
  296. package/dist/harmony171.mjs +19 -10
  297. package/dist/harmony171.mjs.map +1 -1
  298. package/dist/harmony172.cjs +11 -10
  299. package/dist/harmony172.cjs.map +1 -1
  300. package/dist/harmony172.mjs +11 -10
  301. package/dist/harmony172.mjs.map +1 -1
  302. package/dist/harmony174.cjs +5 -11
  303. package/dist/harmony174.cjs.map +1 -1
  304. package/dist/harmony174.mjs +5 -11
  305. package/dist/harmony174.mjs.map +1 -1
  306. package/dist/harmony175.cjs +11 -31
  307. package/dist/harmony175.cjs.map +1 -1
  308. package/dist/harmony175.mjs +11 -31
  309. package/dist/harmony175.mjs.map +1 -1
  310. package/dist/harmony176.cjs +28 -10
  311. package/dist/harmony176.cjs.map +1 -1
  312. package/dist/harmony176.mjs +28 -10
  313. package/dist/harmony176.mjs.map +1 -1
  314. package/dist/harmony177.cjs +13 -5
  315. package/dist/harmony177.cjs.map +1 -1
  316. package/dist/harmony177.mjs +13 -5
  317. package/dist/harmony177.mjs.map +1 -1
  318. package/dist/harmony18.cjs +14 -5
  319. package/dist/harmony18.cjs.map +1 -1
  320. package/dist/harmony18.mjs +14 -5
  321. package/dist/harmony18.mjs.map +1 -1
  322. package/dist/harmony19.cjs +13 -10
  323. package/dist/harmony19.cjs.map +1 -1
  324. package/dist/harmony19.mjs +13 -10
  325. package/dist/harmony19.mjs.map +1 -1
  326. package/dist/harmony20.cjs +13 -10
  327. package/dist/harmony20.cjs.map +1 -1
  328. package/dist/harmony20.mjs +13 -10
  329. package/dist/harmony20.mjs.map +1 -1
  330. package/dist/harmony21.cjs +13 -17
  331. package/dist/harmony21.cjs.map +1 -1
  332. package/dist/harmony21.mjs +13 -17
  333. package/dist/harmony21.mjs.map +1 -1
  334. package/dist/harmony22.cjs +13 -15
  335. package/dist/harmony22.cjs.map +1 -1
  336. package/dist/harmony22.mjs +13 -15
  337. package/dist/harmony22.mjs.map +1 -1
  338. package/dist/harmony23.cjs +12 -141
  339. package/dist/harmony23.cjs.map +1 -1
  340. package/dist/harmony23.mjs +12 -141
  341. package/dist/harmony23.mjs.map +1 -1
  342. package/dist/harmony24.cjs +22 -20
  343. package/dist/harmony24.cjs.map +1 -1
  344. package/dist/harmony24.mjs +22 -20
  345. package/dist/harmony24.mjs.map +1 -1
  346. package/dist/harmony25.cjs +13 -14
  347. package/dist/harmony25.cjs.map +1 -1
  348. package/dist/harmony25.mjs +13 -14
  349. package/dist/harmony25.mjs.map +1 -1
  350. package/dist/harmony26.cjs +12 -16
  351. package/dist/harmony26.cjs.map +1 -1
  352. package/dist/harmony26.mjs +13 -17
  353. package/dist/harmony26.mjs.map +1 -1
  354. package/dist/harmony27.cjs +15 -16
  355. package/dist/harmony27.cjs.map +1 -1
  356. package/dist/harmony27.mjs +16 -17
  357. package/dist/harmony27.mjs.map +1 -1
  358. package/dist/harmony28.cjs +15 -18
  359. package/dist/harmony28.cjs.map +1 -1
  360. package/dist/harmony28.mjs +15 -18
  361. package/dist/harmony28.mjs.map +1 -1
  362. package/dist/harmony29.cjs +15 -20
  363. package/dist/harmony29.cjs.map +1 -1
  364. package/dist/harmony29.mjs +15 -20
  365. package/dist/harmony29.mjs.map +1 -1
  366. package/dist/harmony30.cjs +15 -10
  367. package/dist/harmony30.cjs.map +1 -1
  368. package/dist/harmony30.mjs +15 -10
  369. package/dist/harmony30.mjs.map +1 -1
  370. package/dist/harmony31.cjs +15 -11
  371. package/dist/harmony31.cjs.map +1 -1
  372. package/dist/harmony31.mjs +15 -11
  373. package/dist/harmony31.mjs.map +1 -1
  374. package/dist/harmony32.cjs +16 -8
  375. package/dist/harmony32.cjs.map +1 -1
  376. package/dist/harmony32.mjs +16 -8
  377. package/dist/harmony32.mjs.map +1 -1
  378. package/dist/harmony33.cjs +16 -8
  379. package/dist/harmony33.cjs.map +1 -1
  380. package/dist/harmony33.mjs +16 -8
  381. package/dist/harmony33.mjs.map +1 -1
  382. package/dist/harmony34.cjs +16 -14
  383. package/dist/harmony34.cjs.map +1 -1
  384. package/dist/harmony34.mjs +16 -14
  385. package/dist/harmony34.mjs.map +1 -1
  386. package/dist/harmony35.cjs +16 -9
  387. package/dist/harmony35.cjs.map +1 -1
  388. package/dist/harmony35.mjs +16 -9
  389. package/dist/harmony35.mjs.map +1 -1
  390. package/dist/harmony36.cjs +16 -12
  391. package/dist/harmony36.cjs.map +1 -1
  392. package/dist/harmony36.mjs +16 -12
  393. package/dist/harmony36.mjs.map +1 -1
  394. package/dist/harmony37.cjs +14 -9
  395. package/dist/harmony37.cjs.map +1 -1
  396. package/dist/harmony37.mjs +14 -9
  397. package/dist/harmony37.mjs.map +1 -1
  398. package/dist/harmony38.cjs +16 -13
  399. package/dist/harmony38.cjs.map +1 -1
  400. package/dist/harmony38.mjs +16 -13
  401. package/dist/harmony38.mjs.map +1 -1
  402. package/dist/harmony39.cjs +16 -7
  403. package/dist/harmony39.cjs.map +1 -1
  404. package/dist/harmony39.mjs +16 -7
  405. package/dist/harmony39.mjs.map +1 -1
  406. package/dist/harmony40.cjs +17 -10
  407. package/dist/harmony40.cjs.map +1 -1
  408. package/dist/harmony40.mjs +17 -10
  409. package/dist/harmony40.mjs.map +1 -1
  410. package/dist/harmony41.cjs +14 -11
  411. package/dist/harmony41.cjs.map +1 -1
  412. package/dist/harmony41.mjs +14 -11
  413. package/dist/harmony41.mjs.map +1 -1
  414. package/dist/harmony42.cjs +14 -9
  415. package/dist/harmony42.cjs.map +1 -1
  416. package/dist/harmony42.mjs +14 -9
  417. package/dist/harmony42.mjs.map +1 -1
  418. package/dist/harmony43.cjs +124 -9
  419. package/dist/harmony43.cjs.map +1 -1
  420. package/dist/harmony43.mjs +124 -9
  421. package/dist/harmony43.mjs.map +1 -1
  422. package/dist/harmony44.cjs +82 -9
  423. package/dist/harmony44.cjs.map +1 -1
  424. package/dist/harmony44.mjs +82 -9
  425. package/dist/harmony44.mjs.map +1 -1
  426. package/dist/harmony45.cjs +6 -88
  427. package/dist/harmony45.cjs.map +1 -1
  428. package/dist/harmony45.mjs +6 -88
  429. package/dist/harmony45.mjs.map +1 -1
  430. package/dist/harmony46.cjs +25 -52
  431. package/dist/harmony46.cjs.map +1 -1
  432. package/dist/harmony46.mjs +25 -52
  433. package/dist/harmony46.mjs.map +1 -1
  434. package/dist/harmony47.cjs +23 -30
  435. package/dist/harmony47.cjs.map +1 -1
  436. package/dist/harmony47.mjs +23 -30
  437. package/dist/harmony47.mjs.map +1 -1
  438. package/dist/harmony48.cjs +141 -11
  439. package/dist/harmony48.cjs.map +1 -1
  440. package/dist/harmony48.mjs +140 -10
  441. package/dist/harmony48.mjs.map +1 -1
  442. package/dist/harmony49.cjs +32 -50
  443. package/dist/harmony49.cjs.map +1 -1
  444. package/dist/harmony49.mjs +32 -50
  445. package/dist/harmony49.mjs.map +1 -1
  446. package/dist/harmony5.cjs +5 -5
  447. package/dist/harmony5.mjs +5 -5
  448. package/dist/harmony50.cjs +26 -30
  449. package/dist/harmony50.cjs.map +1 -1
  450. package/dist/harmony50.mjs +26 -30
  451. package/dist/harmony50.mjs.map +1 -1
  452. package/dist/harmony51.cjs +4 -18
  453. package/dist/harmony51.cjs.map +1 -1
  454. package/dist/harmony51.mjs +4 -18
  455. package/dist/harmony51.mjs.map +1 -1
  456. package/dist/harmony52.cjs +81 -25
  457. package/dist/harmony52.cjs.map +1 -1
  458. package/dist/harmony52.mjs +81 -25
  459. package/dist/harmony52.mjs.map +1 -1
  460. package/dist/harmony53.cjs +57 -13
  461. package/dist/harmony53.cjs.map +1 -1
  462. package/dist/harmony53.mjs +56 -12
  463. package/dist/harmony53.mjs.map +1 -1
  464. package/dist/harmony54.cjs +18 -14
  465. package/dist/harmony54.cjs.map +1 -1
  466. package/dist/harmony54.mjs +18 -14
  467. package/dist/harmony54.mjs.map +1 -1
  468. package/dist/harmony55.cjs +30 -14
  469. package/dist/harmony55.cjs.map +1 -1
  470. package/dist/harmony55.mjs +30 -14
  471. package/dist/harmony55.mjs.map +1 -1
  472. package/dist/harmony56.cjs +22 -13
  473. package/dist/harmony56.cjs.map +1 -1
  474. package/dist/harmony56.mjs +22 -13
  475. package/dist/harmony56.mjs.map +1 -1
  476. package/dist/harmony57.cjs +52 -14
  477. package/dist/harmony57.cjs.map +1 -1
  478. package/dist/harmony57.mjs +52 -14
  479. package/dist/harmony57.mjs.map +1 -1
  480. package/dist/harmony58.cjs +9 -13
  481. package/dist/harmony58.cjs.map +1 -1
  482. package/dist/harmony58.mjs +9 -13
  483. package/dist/harmony58.mjs.map +1 -1
  484. package/dist/harmony59.cjs +5 -22
  485. package/dist/harmony59.cjs.map +1 -1
  486. package/dist/harmony59.mjs +5 -22
  487. package/dist/harmony59.mjs.map +1 -1
  488. package/dist/harmony6.cjs +1 -1
  489. package/dist/harmony6.mjs +2 -2
  490. package/dist/harmony60.cjs +14 -12
  491. package/dist/harmony60.cjs.map +1 -1
  492. package/dist/harmony60.mjs +14 -12
  493. package/dist/harmony60.mjs.map +1 -1
  494. package/dist/harmony61.cjs +31 -12
  495. package/dist/harmony61.cjs.map +1 -1
  496. package/dist/harmony61.mjs +31 -12
  497. package/dist/harmony61.mjs.map +1 -1
  498. package/dist/harmony62.cjs +5 -17
  499. package/dist/harmony62.cjs.map +1 -1
  500. package/dist/harmony62.mjs +5 -17
  501. package/dist/harmony62.mjs.map +1 -1
  502. package/dist/harmony63.cjs +10 -16
  503. package/dist/harmony63.cjs.map +1 -1
  504. package/dist/harmony63.mjs +10 -16
  505. package/dist/harmony63.mjs.map +1 -1
  506. package/dist/harmony64.cjs +11 -15
  507. package/dist/harmony64.cjs.map +1 -1
  508. package/dist/harmony64.mjs +11 -15
  509. package/dist/harmony64.mjs.map +1 -1
  510. package/dist/harmony65.cjs +18 -15
  511. package/dist/harmony65.cjs.map +1 -1
  512. package/dist/harmony65.mjs +18 -15
  513. package/dist/harmony65.mjs.map +1 -1
  514. package/dist/harmony66.cjs +16 -15
  515. package/dist/harmony66.cjs.map +1 -1
  516. package/dist/harmony66.mjs +16 -15
  517. package/dist/harmony66.mjs.map +1 -1
  518. package/dist/harmony67.cjs +142 -17
  519. package/dist/harmony67.cjs.map +1 -1
  520. package/dist/harmony67.mjs +142 -17
  521. package/dist/harmony67.mjs.map +1 -1
  522. package/dist/harmony68.cjs +19 -16
  523. package/dist/harmony68.cjs.map +1 -1
  524. package/dist/harmony68.mjs +19 -16
  525. package/dist/harmony68.mjs.map +1 -1
  526. package/dist/harmony69.cjs +13 -16
  527. package/dist/harmony69.cjs.map +1 -1
  528. package/dist/harmony69.mjs +13 -16
  529. package/dist/harmony69.mjs.map +1 -1
  530. package/dist/harmony70.cjs +15 -15
  531. package/dist/harmony70.cjs.map +1 -1
  532. package/dist/harmony70.mjs +16 -16
  533. package/dist/harmony70.mjs.map +1 -1
  534. package/dist/harmony71.cjs +16 -15
  535. package/dist/harmony71.cjs.map +1 -1
  536. package/dist/harmony71.mjs +17 -16
  537. package/dist/harmony71.mjs.map +1 -1
  538. package/dist/harmony72.cjs +20 -15
  539. package/dist/harmony72.cjs.map +1 -1
  540. package/dist/harmony72.mjs +20 -15
  541. package/dist/harmony72.mjs.map +1 -1
  542. package/dist/harmony73.cjs +19 -16
  543. package/dist/harmony73.cjs.map +1 -1
  544. package/dist/harmony73.mjs +19 -16
  545. package/dist/harmony73.mjs.map +1 -1
  546. package/dist/harmony74.cjs +8 -15
  547. package/dist/harmony74.cjs.map +1 -1
  548. package/dist/harmony74.mjs +8 -15
  549. package/dist/harmony74.mjs.map +1 -1
  550. package/dist/harmony75.cjs +9 -16
  551. package/dist/harmony75.cjs.map +1 -1
  552. package/dist/harmony75.mjs +9 -16
  553. package/dist/harmony75.mjs.map +1 -1
  554. package/dist/harmony76.cjs +9 -14
  555. package/dist/harmony76.cjs.map +1 -1
  556. package/dist/harmony76.mjs +9 -14
  557. package/dist/harmony76.mjs.map +1 -1
  558. package/dist/harmony77.cjs +9 -14
  559. package/dist/harmony77.cjs.map +1 -1
  560. package/dist/harmony77.mjs +9 -14
  561. package/dist/harmony77.mjs.map +1 -1
  562. package/dist/harmony78.cjs +15 -124
  563. package/dist/harmony78.cjs.map +1 -1
  564. package/dist/harmony78.mjs +15 -124
  565. package/dist/harmony78.mjs.map +1 -1
  566. package/dist/harmony79.cjs +10 -82
  567. package/dist/harmony79.cjs.map +1 -1
  568. package/dist/harmony79.mjs +10 -82
  569. package/dist/harmony79.mjs.map +1 -1
  570. package/dist/harmony80.cjs +13 -6
  571. package/dist/harmony80.cjs.map +1 -1
  572. package/dist/harmony80.mjs +13 -6
  573. package/dist/harmony80.mjs.map +1 -1
  574. package/dist/harmony81.cjs +10 -28
  575. package/dist/harmony81.cjs.map +1 -1
  576. package/dist/harmony81.mjs +10 -28
  577. package/dist/harmony81.mjs.map +1 -1
  578. package/dist/harmony82.cjs +14 -24
  579. package/dist/harmony82.cjs.map +1 -1
  580. package/dist/harmony82.mjs +14 -24
  581. package/dist/harmony82.mjs.map +1 -1
  582. package/dist/harmony83.cjs +8 -141
  583. package/dist/harmony83.cjs.map +1 -1
  584. package/dist/harmony83.mjs +8 -141
  585. package/dist/harmony83.mjs.map +1 -1
  586. package/dist/harmony84.cjs +11 -37
  587. package/dist/harmony84.cjs.map +1 -1
  588. package/dist/harmony84.mjs +11 -37
  589. package/dist/harmony84.mjs.map +1 -1
  590. package/dist/harmony85.cjs +11 -26
  591. package/dist/harmony85.cjs.map +1 -1
  592. package/dist/harmony85.mjs +11 -26
  593. package/dist/harmony85.mjs.map +1 -1
  594. package/dist/harmony86.cjs +9 -4
  595. package/dist/harmony86.cjs.map +1 -1
  596. package/dist/harmony86.mjs +9 -4
  597. package/dist/harmony86.mjs.map +1 -1
  598. package/dist/harmony87.cjs +9 -84
  599. package/dist/harmony87.cjs.map +1 -1
  600. package/dist/harmony87.mjs +9 -84
  601. package/dist/harmony87.mjs.map +1 -1
  602. package/dist/harmony88.cjs +9 -58
  603. package/dist/harmony88.cjs.map +1 -1
  604. package/dist/harmony88.mjs +9 -58
  605. package/dist/harmony88.mjs.map +1 -1
  606. package/dist/harmony89.cjs +88 -18
  607. package/dist/harmony89.cjs.map +1 -1
  608. package/dist/harmony89.mjs +88 -18
  609. package/dist/harmony89.mjs.map +1 -1
  610. package/dist/harmony96.cjs +2 -2
  611. package/dist/harmony96.mjs +2 -2
  612. package/dist/harmony98.cjs +2 -2
  613. package/dist/harmony98.mjs +2 -2
  614. package/dist/harmony99.cjs +4 -4
  615. package/dist/harmony99.mjs +4 -4
  616. package/dist/types/src/features/permissions/components/ProjectActionResolverContextProvider.d.ts +2 -2
  617. package/dist/types/src/features/permissions/context/ActionsContext.d.ts +2 -2
  618. package/dist/types/src/features/permissions/types.d.ts +3 -1
  619. package/package.json +1 -1
@@ -1,25 +1,11 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const jsxRuntime = require("react/jsx-runtime");
4
- const useSidebar = require("./harmony114.cjs");
5
- const TeamMenuItem = require("./harmony139.cjs");
6
- const TeamSwitch_module = require("./harmony166.cjs");
7
- const TeamSwitch = ({ onSwitchTeam }) => {
8
- var _a, _b;
9
- const {
10
- data: { otherTeams }
11
- } = useSidebar.useSidebar();
12
- if (((_a = otherTeams.result) == null ? void 0 : _a.length) === 0) {
13
- return null;
14
- }
15
- return /* @__PURE__ */ jsxRuntime.jsx(
16
- "div",
17
- {
18
- "data-testid": "sidebar-team-switch",
19
- className: `flex-col items-stretch ${TeamSwitch_module.default.teamsContainer}`,
20
- children: (_b = otherTeams.result) == null ? void 0 : _b.map((team) => /* @__PURE__ */ jsxRuntime.jsx(TeamMenuItem.TeamMenuItem, { team, onClick: onSwitchTeam, hidePlanLabel: true }, team.id))
21
- }
22
- );
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));
23
9
  };
24
- exports.TeamSwitch = TeamSwitch;
10
+ exports.has = has;
25
11
  //# sourceMappingURL=harmony141.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"harmony141.cjs","sources":["../src/components/Sidebar/Widgets/ProfileMenu/TeamSwitch/TeamSwitch.tsx"],"sourcesContent":["import { useSidebar } from '@components/Sidebar/hooks/useSidebar'\nimport type { SidebarTeam } from '@components/Sidebar/types'\nimport { TeamMenuItem } from '../TeamMenuItem/TeamMenuItem'\nimport styles from './TeamSwitch.module.css'\n\n/**\n * A component that displays a list of available teams for switching.\n * It automatically excludes the current team from the list and renders\n * nothing if there are no other teams available.\n *\n * Uses the Sidebar context to access the list of other teams and\n * renders each team as a TeamMenuItem with click functionality.\n *\n * @example\n * ```tsx\n * <TeamSwitch\n * onSwitchTeam={(team) => {\n * console.log(`Switching to team: ${team.name}`);\n * // Handle team switch logic\n * }}\n * />\n * ```\n *\n * @note This component must be used within a Sidebar Context\n */\n\ntype TeamSwitchProps = {\n\tonSwitchTeam: (team: SidebarTeam) => void\n}\n\nexport const TeamSwitch = ({ onSwitchTeam }: TeamSwitchProps) => {\n\tconst {\n\t\tdata: { otherTeams },\n\t} = useSidebar()\n\n\tif (otherTeams.result?.length === 0) {\n\t\treturn null\n\t}\n\n\treturn (\n\t\t<div\n\t\t\tdata-testid=\"sidebar-team-switch\"\n\t\t\tclassName={`flex-col items-stretch ${styles.teamsContainer}`}\n\t\t>\n\t\t\t{otherTeams.result?.map((team) => (\n\t\t\t\t<TeamMenuItem team={team} key={team.id} onClick={onSwitchTeam} hidePlanLabel />\n\t\t\t))}\n\t\t</div>\n\t)\n}\n"],"names":["useSidebar","jsx","styles","TeamMenuItem"],"mappings":";;;;;;AA8BO,MAAM,aAAa,CAAC,EAAE,mBAAoC;;AAC1D,QAAA;AAAA,IACL,MAAM,EAAE,WAAW;AAAA,MAChBA,sBAAW;AAEX,QAAA,gBAAW,WAAX,mBAAmB,YAAW,GAAG;AAC7B,WAAA;AAAA,EAAA;AAIP,SAAAC,2BAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACA,eAAY;AAAA,MACZ,WAAW,0BAA0BC,kBAAA,QAAO,cAAc;AAAA,MAEzD,WAAW,gBAAA,WAAA,mBAAQ,IAAI,CAAC,SACvBD,2BAAAA,IAAAE,aAAA,cAAA,EAAa,MAA0B,SAAS,cAAc,eAAa,KAA7C,GAAA,KAAK,EAAyC;AAAA,IAC7E;AAAA,EACF;AAEF;;"}
1
+ {"version":3,"file":"harmony141.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,25 +1,11 @@
1
- import { jsx } from "react/jsx-runtime";
2
- import { useSidebar } from "./harmony114.mjs";
3
- import { TeamMenuItem } from "./harmony139.mjs";
4
- import styles from "./harmony166.mjs";
5
- const TeamSwitch = ({ onSwitchTeam }) => {
6
- var _a, _b;
7
- const {
8
- data: { otherTeams }
9
- } = useSidebar();
10
- if (((_a = otherTeams.result) == null ? void 0 : _a.length) === 0) {
11
- return null;
12
- }
13
- return /* @__PURE__ */ jsx(
14
- "div",
15
- {
16
- "data-testid": "sidebar-team-switch",
17
- className: `flex-col items-stretch ${styles.teamsContainer}`,
18
- children: (_b = otherTeams.result) == null ? void 0 : _b.map((team) => /* @__PURE__ */ jsx(TeamMenuItem, { team, onClick: onSwitchTeam, hidePlanLabel: true }, team.id))
19
- }
20
- );
1
+ const 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));
21
7
  };
22
8
  export {
23
- TeamSwitch
9
+ has
24
10
  };
25
11
  //# sourceMappingURL=harmony141.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"harmony141.mjs","sources":["../src/components/Sidebar/Widgets/ProfileMenu/TeamSwitch/TeamSwitch.tsx"],"sourcesContent":["import { useSidebar } from '@components/Sidebar/hooks/useSidebar'\nimport type { SidebarTeam } from '@components/Sidebar/types'\nimport { TeamMenuItem } from '../TeamMenuItem/TeamMenuItem'\nimport styles from './TeamSwitch.module.css'\n\n/**\n * A component that displays a list of available teams for switching.\n * It automatically excludes the current team from the list and renders\n * nothing if there are no other teams available.\n *\n * Uses the Sidebar context to access the list of other teams and\n * renders each team as a TeamMenuItem with click functionality.\n *\n * @example\n * ```tsx\n * <TeamSwitch\n * onSwitchTeam={(team) => {\n * console.log(`Switching to team: ${team.name}`);\n * // Handle team switch logic\n * }}\n * />\n * ```\n *\n * @note This component must be used within a Sidebar Context\n */\n\ntype TeamSwitchProps = {\n\tonSwitchTeam: (team: SidebarTeam) => void\n}\n\nexport const TeamSwitch = ({ onSwitchTeam }: TeamSwitchProps) => {\n\tconst {\n\t\tdata: { otherTeams },\n\t} = useSidebar()\n\n\tif (otherTeams.result?.length === 0) {\n\t\treturn null\n\t}\n\n\treturn (\n\t\t<div\n\t\t\tdata-testid=\"sidebar-team-switch\"\n\t\t\tclassName={`flex-col items-stretch ${styles.teamsContainer}`}\n\t\t>\n\t\t\t{otherTeams.result?.map((team) => (\n\t\t\t\t<TeamMenuItem team={team} key={team.id} onClick={onSwitchTeam} hidePlanLabel />\n\t\t\t))}\n\t\t</div>\n\t)\n}\n"],"names":[],"mappings":";;;;AA8BO,MAAM,aAAa,CAAC,EAAE,mBAAoC;;AAC1D,QAAA;AAAA,IACL,MAAM,EAAE,WAAW;AAAA,MAChB,WAAW;AAEX,QAAA,gBAAW,WAAX,mBAAmB,YAAW,GAAG;AAC7B,WAAA;AAAA,EAAA;AAIP,SAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACA,eAAY;AAAA,MACZ,WAAW,0BAA0B,OAAO,cAAc;AAAA,MAEzD,WAAW,gBAAA,WAAA,mBAAQ,IAAI,CAAC,SACvB,oBAAA,cAAA,EAAa,MAA0B,SAAS,cAAc,eAAa,KAA7C,GAAA,KAAK,EAAyC;AAAA,IAC7E;AAAA,EACF;AAEF;"}
1
+ {"version":3,"file":"harmony141.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,39 +1,18 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const jsxRuntime = require("react/jsx-runtime");
4
- const useSidebar = require("./harmony114.cjs");
5
- const louis = require("@lokalise/louis");
6
- const plan = require("./harmony11.cjs");
7
- const permissions = require("./harmony115.cjs");
8
- const UpgradeIcon = require("./harmony144.cjs");
9
- const UpgradeMenuItem_module = require("./harmony167.cjs");
10
- const UpgradeMenuItem = ({ href }) => {
11
- const {
12
- jwt,
13
- data: { currentTeam }
14
- } = useSidebar.useSidebar();
15
- if (!jwt || !permissions.canUpgradePlan(jwt) || !currentTeam.result) {
16
- return null;
17
- }
18
- const isOnFreePlan = plan.isFreePlan(jwt.planId);
19
- const trialDaysLeft = currentTeam.result.trialDaysLeft;
20
- const daysNoun = trialDaysLeft === 1 ? "day" : "days";
21
- const ctaMessage = isOnFreePlan ? "Your team is currently on the Free plan" : `Free trial ends in ${trialDaysLeft} ${daysNoun}`;
22
- return /* @__PURE__ */ jsxRuntime.jsxs(
23
- louis.MenuItem,
24
- {
25
- "data-testid": "sidebar-upgrade-menu-item",
26
- href,
27
- className: `flex-col gap-1 items-start ${UpgradeMenuItem_module.default.container}`,
28
- children: [
29
- /* @__PURE__ */ jsxRuntime.jsx("span", { className: UpgradeMenuItem_module.default.planCta, children: ctaMessage }),
30
- /* @__PURE__ */ jsxRuntime.jsxs("div", { className: `flex-row items-center gap-1 ${UpgradeMenuItem_module.default.upgradeIconWrapper}`, children: [
31
- /* @__PURE__ */ jsxRuntime.jsx(UpgradeIcon.UpgradeIcon, {}),
32
- /* @__PURE__ */ jsxRuntime.jsx("span", { children: "See upgrade options" })
33
- ] })
34
- ]
35
- }
36
- );
3
+ const accessMarketingProjects = require("./harmony160.cjs");
4
+ const deleteProjects = require("./harmony161.cjs");
5
+ const manageContributors = require("./harmony162.cjs");
6
+ const canDownloadFiles = require("./harmony163.cjs");
7
+ const canUploadFiles = require("./harmony164.cjs");
8
+ const createProjects = require("./harmony165.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
37
16
  };
38
- exports.UpgradeMenuItem = UpgradeMenuItem;
17
+ exports.actionResolvers = actionResolvers;
39
18
  //# sourceMappingURL=harmony142.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"harmony142.cjs","sources":["../src/components/Sidebar/Widgets/ProfileMenu/UpgradeMenuItem/UpgradeMenuItem.tsx"],"sourcesContent":["import { useSidebar } from '@components/Sidebar/hooks/useSidebar'\nimport { MenuItem } from '@lokalise/louis'\nimport { isFreePlan } from '@utils'\nimport { canUpgradePlan } from '@utils/user/permissions'\nimport { UpgradeIcon } from '../UpgradeIcon/UpgradeIcon'\nimport styles from './UpgradeMenuItem.module.css'\n\n/**\n * A menu item component that displays upgrade call-to-action information.\n * Only renders when upgrade options should be shown (determined by context).\n *\n * The component displays different messages based on the team's current plan:\n * - For free plans: \"Your team is currently on the Free plan\"\n * - For trial plans: \"Free trial ends in X days\"\n *\n * Includes an upgrade icon and \"See upgrade options\" text, styled to draw attention\n * to the upgrade opportunity.\n *\n * @example\n * ```tsx\n * <UpgradeMenuItem href=\"/pricing\" />\n * ```\n *\n * @note This component must be used within a Sidebar Context\n */\n\ntype UpgradeMenuItemProps = {\n\thref: string\n}\n\nexport const UpgradeMenuItem = ({ href }: UpgradeMenuItemProps) => {\n\tconst {\n\t\tjwt,\n\t\tdata: { currentTeam },\n\t} = useSidebar()\n\n\tif (!jwt || !canUpgradePlan(jwt) || !currentTeam.result) {\n\t\treturn null\n\t}\n\n\tconst isOnFreePlan = isFreePlan(jwt.planId)\n\n\tconst trialDaysLeft = currentTeam.result.trialDaysLeft\n\n\tconst daysNoun = trialDaysLeft === 1 ? 'day' : 'days'\n\tconst ctaMessage = isOnFreePlan\n\t\t? 'Your team is currently on the Free plan'\n\t\t: `Free trial ends in ${trialDaysLeft} ${daysNoun}`\n\n\treturn (\n\t\t<MenuItem\n\t\t\tdata-testid=\"sidebar-upgrade-menu-item\"\n\t\t\thref={href}\n\t\t\tclassName={`flex-col gap-1 items-start ${styles.container}`}\n\t\t>\n\t\t\t<span className={styles.planCta}>{ctaMessage}</span>\n\t\t\t<div className={`flex-row items-center gap-1 ${styles.upgradeIconWrapper}`}>\n\t\t\t\t<UpgradeIcon />\n\t\t\t\t<span>See upgrade options</span>\n\t\t\t</div>\n\t\t</MenuItem>\n\t)\n}\n"],"names":["useSidebar","canUpgradePlan","isFreePlan","jsxs","MenuItem","styles","jsx","UpgradeIcon"],"mappings":";;;;;;;;;AA8BO,MAAM,kBAAkB,CAAC,EAAE,WAAiC;AAC5D,QAAA;AAAA,IACL;AAAA,IACA,MAAM,EAAE,YAAY;AAAA,MACjBA,sBAAW;AAEX,MAAA,CAAC,OAAO,CAACC,YAAA,eAAe,GAAG,KAAK,CAAC,YAAY,QAAQ;AACjD,WAAA;AAAA,EAAA;AAGF,QAAA,eAAeC,KAAAA,WAAW,IAAI,MAAM;AAEpC,QAAA,gBAAgB,YAAY,OAAO;AAEnC,QAAA,WAAW,kBAAkB,IAAI,QAAQ;AAC/C,QAAM,aAAa,eAChB,4CACA,sBAAsB,aAAa,IAAI,QAAQ;AAGjD,SAAAC,2BAAA;AAAA,IAACC,MAAA;AAAA,IAAA;AAAA,MACA,eAAY;AAAA,MACZ;AAAA,MACA,WAAW,8BAA8BC,uBAAA,QAAO,SAAS;AAAA,MAEzD,UAAA;AAAA,QAAAC,2BAAA,IAAC,QAAK,EAAA,WAAWD,uBAAO,QAAA,SAAU,UAAW,YAAA;AAAA,wCAC5C,OAAI,EAAA,WAAW,+BAA+BA,+BAAO,kBAAkB,IACvE,UAAA;AAAA,UAAAC,2BAAA,IAACC,YAAY,aAAA,EAAA;AAAA,UACbD,2BAAAA,IAAC,UAAK,UAAmB,sBAAA,CAAA;AAAA,QAAA,EAC1B,CAAA;AAAA,MAAA;AAAA,IAAA;AAAA,EACD;AAEF;;"}
1
+ {"version":3,"file":"harmony142.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,39 +1,18 @@
1
- import { jsxs, jsx } from "react/jsx-runtime";
2
- import { useSidebar } from "./harmony114.mjs";
3
- import { MenuItem } from "@lokalise/louis";
4
- import { isFreePlan } from "./harmony11.mjs";
5
- import { canUpgradePlan } from "./harmony115.mjs";
6
- import { UpgradeIcon } from "./harmony144.mjs";
7
- import styles from "./harmony167.mjs";
8
- const UpgradeMenuItem = ({ href }) => {
9
- const {
10
- jwt,
11
- data: { currentTeam }
12
- } = useSidebar();
13
- if (!jwt || !canUpgradePlan(jwt) || !currentTeam.result) {
14
- return null;
15
- }
16
- const isOnFreePlan = isFreePlan(jwt.planId);
17
- const trialDaysLeft = currentTeam.result.trialDaysLeft;
18
- const daysNoun = trialDaysLeft === 1 ? "day" : "days";
19
- const ctaMessage = isOnFreePlan ? "Your team is currently on the Free plan" : `Free trial ends in ${trialDaysLeft} ${daysNoun}`;
20
- return /* @__PURE__ */ jsxs(
21
- MenuItem,
22
- {
23
- "data-testid": "sidebar-upgrade-menu-item",
24
- href,
25
- className: `flex-col gap-1 items-start ${styles.container}`,
26
- children: [
27
- /* @__PURE__ */ jsx("span", { className: styles.planCta, children: ctaMessage }),
28
- /* @__PURE__ */ jsxs("div", { className: `flex-row items-center gap-1 ${styles.upgradeIconWrapper}`, children: [
29
- /* @__PURE__ */ jsx(UpgradeIcon, {}),
30
- /* @__PURE__ */ jsx("span", { children: "See upgrade options" })
31
- ] })
32
- ]
33
- }
34
- );
1
+ import { accessMarketingProjects } from "./harmony160.mjs";
2
+ import { deleteProjects } from "./harmony161.mjs";
3
+ import { manageContributors } from "./harmony162.mjs";
4
+ import { canDownloadFiles } from "./harmony163.mjs";
5
+ import { canUploadFiles } from "./harmony164.mjs";
6
+ import { createProjects } from "./harmony165.mjs";
7
+ const actionResolvers = {
8
+ accessMarketingProjects,
9
+ canDownloadFiles,
10
+ canUploadFiles,
11
+ createProjects,
12
+ deleteProjects,
13
+ manageContributors
35
14
  };
36
15
  export {
37
- UpgradeMenuItem
16
+ actionResolvers
38
17
  };
39
18
  //# sourceMappingURL=harmony142.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"harmony142.mjs","sources":["../src/components/Sidebar/Widgets/ProfileMenu/UpgradeMenuItem/UpgradeMenuItem.tsx"],"sourcesContent":["import { useSidebar } from '@components/Sidebar/hooks/useSidebar'\nimport { MenuItem } from '@lokalise/louis'\nimport { isFreePlan } from '@utils'\nimport { canUpgradePlan } from '@utils/user/permissions'\nimport { UpgradeIcon } from '../UpgradeIcon/UpgradeIcon'\nimport styles from './UpgradeMenuItem.module.css'\n\n/**\n * A menu item component that displays upgrade call-to-action information.\n * Only renders when upgrade options should be shown (determined by context).\n *\n * The component displays different messages based on the team's current plan:\n * - For free plans: \"Your team is currently on the Free plan\"\n * - For trial plans: \"Free trial ends in X days\"\n *\n * Includes an upgrade icon and \"See upgrade options\" text, styled to draw attention\n * to the upgrade opportunity.\n *\n * @example\n * ```tsx\n * <UpgradeMenuItem href=\"/pricing\" />\n * ```\n *\n * @note This component must be used within a Sidebar Context\n */\n\ntype UpgradeMenuItemProps = {\n\thref: string\n}\n\nexport const UpgradeMenuItem = ({ href }: UpgradeMenuItemProps) => {\n\tconst {\n\t\tjwt,\n\t\tdata: { currentTeam },\n\t} = useSidebar()\n\n\tif (!jwt || !canUpgradePlan(jwt) || !currentTeam.result) {\n\t\treturn null\n\t}\n\n\tconst isOnFreePlan = isFreePlan(jwt.planId)\n\n\tconst trialDaysLeft = currentTeam.result.trialDaysLeft\n\n\tconst daysNoun = trialDaysLeft === 1 ? 'day' : 'days'\n\tconst ctaMessage = isOnFreePlan\n\t\t? 'Your team is currently on the Free plan'\n\t\t: `Free trial ends in ${trialDaysLeft} ${daysNoun}`\n\n\treturn (\n\t\t<MenuItem\n\t\t\tdata-testid=\"sidebar-upgrade-menu-item\"\n\t\t\thref={href}\n\t\t\tclassName={`flex-col gap-1 items-start ${styles.container}`}\n\t\t>\n\t\t\t<span className={styles.planCta}>{ctaMessage}</span>\n\t\t\t<div className={`flex-row items-center gap-1 ${styles.upgradeIconWrapper}`}>\n\t\t\t\t<UpgradeIcon />\n\t\t\t\t<span>See upgrade options</span>\n\t\t\t</div>\n\t\t</MenuItem>\n\t)\n}\n"],"names":[],"mappings":";;;;;;;AA8BO,MAAM,kBAAkB,CAAC,EAAE,WAAiC;AAC5D,QAAA;AAAA,IACL;AAAA,IACA,MAAM,EAAE,YAAY;AAAA,MACjB,WAAW;AAEX,MAAA,CAAC,OAAO,CAAC,eAAe,GAAG,KAAK,CAAC,YAAY,QAAQ;AACjD,WAAA;AAAA,EAAA;AAGF,QAAA,eAAe,WAAW,IAAI,MAAM;AAEpC,QAAA,gBAAgB,YAAY,OAAO;AAEnC,QAAA,WAAW,kBAAkB,IAAI,QAAQ;AAC/C,QAAM,aAAa,eAChB,4CACA,sBAAsB,aAAa,IAAI,QAAQ;AAGjD,SAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACA,eAAY;AAAA,MACZ;AAAA,MACA,WAAW,8BAA8B,OAAO,SAAS;AAAA,MAEzD,UAAA;AAAA,QAAA,oBAAC,QAAK,EAAA,WAAW,OAAO,SAAU,UAAW,YAAA;AAAA,6BAC5C,OAAI,EAAA,WAAW,+BAA+B,OAAO,kBAAkB,IACvE,UAAA;AAAA,UAAA,oBAAC,aAAY,EAAA;AAAA,UACb,oBAAC,UAAK,UAAmB,sBAAA,CAAA;AAAA,QAAA,EAC1B,CAAA;AAAA,MAAA;AAAA,IAAA;AAAA,EACD;AAEF;"}
1
+ {"version":3,"file":"harmony142.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,24 +1,90 @@
1
1
  "use strict";
2
- Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
3
- const menuContainer = "_menuContainer_1phdw_10";
4
- const profileButton = "_profileButton_1phdw_20";
5
- const profileImage = "_profileImage_1phdw_33";
6
- const profileImageHighlight = "_profileImageHighlight_1phdw_41";
7
- const profileImageUpgradeIcon = "_profileImageUpgradeIcon_1phdw_45";
8
- const userIconWrapper = "_userIconWrapper_1phdw_51";
9
- const styles = {
10
- menuContainer,
11
- profileButton,
12
- profileImage,
13
- profileImageHighlight,
14
- profileImageUpgradeIcon,
15
- userIconWrapper
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const permissions = require("./harmony159.cjs");
4
+ const getProjectNavigationVisibilityMap = (project, adminRights, isFeatureEnabled) => {
5
+ var _a, _b;
6
+ return {
7
+ upload: {
8
+ visible: permissions.hasAdminRight(adminRights, "upload"),
9
+ disabled: false
10
+ },
11
+ download: {
12
+ visible: permissions.hasAdminRight(adminRights, "download"),
13
+ disabled: false
14
+ },
15
+ // TODO: HOME-1009, Clean up after permission management
16
+ // -- There is a plan for "Install apps" permission. Right..?
17
+ apps: {
18
+ visible: true,
19
+ disabled: false
20
+ },
21
+ // TODO: HOME-1009, Clean up after permission management
22
+ // -- There is a plan for "Install apps" permission. Right..?
23
+ contentManagement: {
24
+ visible: project.project_type === "content_integration" && permissions.hasAdminRight(adminRights, "keys"),
25
+ disabled: false
26
+ },
27
+ editor: {
28
+ visible: true,
29
+ disabled: false
30
+ },
31
+ files: {
32
+ visible: isFeatureEnabled("lionLfcFilesManagement") && project.project_type === "paged_documents" && permissions.hasAnyAdminRight(adminRights, ["upload", "download"]),
33
+ disabled: false
34
+ },
35
+ tasks: {
36
+ visible: permissions.hasAdminRight(adminRights, "tasks"),
37
+ disabled: false
38
+ },
39
+ contributors: {
40
+ visible: permissions.hasAdminRight(adminRights, "contributors"),
41
+ disabled: false
42
+ },
43
+ workflows: {
44
+ visible: permissions.hasAdminRight(adminRights, "settings"),
45
+ disabled: false
46
+ },
47
+ screenshots: {
48
+ visible: permissions.hasAdminRight(adminRights, "screenshots"),
49
+ disabled: false
50
+ },
51
+ glossary: {
52
+ visible: permissions.hasAdminRight(adminRights, "glossary"),
53
+ disabled: false
54
+ },
55
+ more: {
56
+ visible: true,
57
+ disabled: false
58
+ },
59
+ settings: {
60
+ visible: permissions.hasAdminRight(adminRights, "settings"),
61
+ disabled: false
62
+ },
63
+ branches: {
64
+ visible: !!((_a = project.settings) == null ? void 0 : _a.branching) && permissions.hasAnyAdminRight(adminRights, ["branches_create", "create_branches", "branches_merge"]),
65
+ disabled: false
66
+ },
67
+ otaBundles: {
68
+ visible: permissions.hasAnyAdminRight(adminRights, ["download", "settings", "keys"]) && project.project_type === "localization_files",
69
+ disabled: false
70
+ },
71
+ automations: {
72
+ visible: permissions.hasAdminRight(adminRights, "settings"),
73
+ disabled: false
74
+ },
75
+ duplicateFinder: {
76
+ visible: permissions.hasAdminRight(adminRights, "keys") && project.project_type === "localization_files",
77
+ disabled: false
78
+ },
79
+ activity: {
80
+ visible: !!((_b = project.settings) == null ? void 0 : _b.offline_translation) || permissions.hasAdminRight(adminRights, "activity"),
81
+ disabled: false
82
+ },
83
+ statistics: {
84
+ visible: permissions.hasAdminRight(adminRights, "statistics"),
85
+ disabled: false
86
+ }
87
+ };
16
88
  };
17
- exports.default = styles;
18
- exports.menuContainer = menuContainer;
19
- exports.profileButton = profileButton;
20
- exports.profileImage = profileImage;
21
- exports.profileImageHighlight = profileImageHighlight;
22
- exports.profileImageUpgradeIcon = profileImageUpgradeIcon;
23
- exports.userIconWrapper = userIconWrapper;
89
+ exports.getProjectNavigationVisibilityMap = getProjectNavigationVisibilityMap;
24
90
  //# sourceMappingURL=harmony143.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"harmony143.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"harmony143.cjs","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":["hasAdminRight","hasAnyAdminRight"],"mappings":";;;AA8BO,MAAM,oCAAoC,CAChD,SACA,aACA,qBAC2B;;AAAA;AAAA,IAC3B,QAAQ;AAAA,MACP,SAASA,YAAAA,cAAc,aAAa,QAAQ;AAAA,MAC5C,UAAU;AAAA,IACX;AAAA,IACA,UAAU;AAAA,MACT,SAASA,YAAAA,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,yBAAyBA,YAAA,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,qBACzBC,YAAAA,iBAAiB,aAAa,CAAC,UAAU,UAAU,CAAC;AAAA,MACrD,UAAU;AAAA,IACX;AAAA,IACA,OAAO;AAAA,MACN,SAASD,YAAAA,cAAc,aAAa,OAAO;AAAA,MAC3C,UAAU;AAAA,IACX;AAAA,IACA,cAAc;AAAA,MACb,SAASA,YAAAA,cAAc,aAAa,cAAc;AAAA,MAClD,UAAU;AAAA,IACX;AAAA,IACA,WAAW;AAAA,MACV,SAASA,YAAAA,cAAc,aAAa,UAAU;AAAA,MAC9C,UAAU;AAAA,IACX;AAAA,IACA,aAAa;AAAA,MACZ,SAASA,YAAAA,cAAc,aAAa,aAAa;AAAA,MACjD,UAAU;AAAA,IACX;AAAA,IACA,UAAU;AAAA,MACT,SAASA,YAAAA,cAAc,aAAa,UAAU;AAAA,MAC9C,UAAU;AAAA,IACX;AAAA,IACA,MAAM;AAAA,MACL,SAAS;AAAA,MACT,UAAU;AAAA,IACX;AAAA,IACA,UAAU;AAAA,MACT,SAASA,YAAAA,cAAc,aAAa,UAAU;AAAA,MAC9C,UAAU;AAAA,IACX;AAAA,IACA,UAAU;AAAA,MACT,SACC,CAAC,GAAC,aAAQ,aAAR,mBAAkB,cACpBC,6BAAiB,aAAa,CAAC,mBAAmB,mBAAmB,gBAAgB,CAAC;AAAA,MACvF,UAAU;AAAA,IACX;AAAA,IACA,YAAY;AAAA,MACX,SACCA,YAAAA,iBAAiB,aAAa,CAAC,YAAY,YAAY,MAAM,CAAC,KAC9D,QAAQ,iBAAiB;AAAA,MAC1B,UAAU;AAAA,IACX;AAAA,IACA,aAAa;AAAA,MACZ,SAASD,YAAAA,cAAc,aAAa,UAAU;AAAA,MAC9C,UAAU;AAAA,IACX;AAAA,IACA,iBAAiB;AAAA,MAChB,SAASA,YAAc,cAAA,aAAa,MAAM,KAAK,QAAQ,iBAAiB;AAAA,MACxE,UAAU;AAAA,IACX;AAAA,IACA,UAAU;AAAA,MACT,SAAS,CAAC,GAAC,aAAQ,aAAR,mBAAkB,wBAAuBA,YAAA,cAAc,aAAa,UAAU;AAAA,MACzF,UAAU;AAAA,IACX;AAAA,IACA,YAAY;AAAA,MACX,SAASA,YAAAA,cAAc,aAAa,YAAY;AAAA,MAChD,UAAU;AAAA,IAAA;AAAA,EAEZ;AAAA;;"}
@@ -1,24 +1,90 @@
1
- const menuContainer = "_menuContainer_1phdw_10";
2
- const profileButton = "_profileButton_1phdw_20";
3
- const profileImage = "_profileImage_1phdw_33";
4
- const profileImageHighlight = "_profileImageHighlight_1phdw_41";
5
- const profileImageUpgradeIcon = "_profileImageUpgradeIcon_1phdw_45";
6
- const userIconWrapper = "_userIconWrapper_1phdw_51";
7
- const styles = {
8
- menuContainer,
9
- profileButton,
10
- profileImage,
11
- profileImageHighlight,
12
- profileImageUpgradeIcon,
13
- userIconWrapper
1
+ import { hasAdminRight, hasAnyAdminRight } from "./harmony159.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
+ };
14
86
  };
15
87
  export {
16
- styles as default,
17
- menuContainer,
18
- profileButton,
19
- profileImage,
20
- profileImageHighlight,
21
- profileImageUpgradeIcon,
22
- userIconWrapper
88
+ getProjectNavigationVisibilityMap
23
89
  };
24
90
  //# sourceMappingURL=harmony143.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"harmony143.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"harmony143.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,24 +1,33 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const jsxRuntime = require("react/jsx-runtime");
4
- const louis = require("@lokalise/louis");
5
- const clsx = require("./harmony92.cjs");
6
- const UpgradeIcon_module = require("./harmony168.cjs");
7
- const UpgradeIcon = ({ className = "" }) => {
8
- return /* @__PURE__ */ jsxRuntime.jsx(
9
- "div",
10
- {
11
- "aria-label": "Upgrade Icon",
12
- className: clsx.clsx(
13
- UpgradeIcon_module.default.iconContainer,
14
- "flex-row",
15
- "items-center",
16
- "justify-center",
17
- className
18
- ),
19
- children: /* @__PURE__ */ jsxRuntime.jsx(louis.CaretUpIcon, {})
20
- }
21
- );
22
- };
23
- exports.UpgradeIcon = UpgradeIcon;
3
+ const navigationItems = [
4
+ {
5
+ key: "editor",
6
+ labelKey: "Editor",
7
+ path: ({ projectId }) => `/project/${projectId}/editor`
8
+ },
9
+ {
10
+ key: "dashboard",
11
+ labelKey: "Download",
12
+ path: ({ projectId }) => `/project/${projectId}/dashboard`
13
+ },
14
+ {
15
+ key: "contributors",
16
+ labelKey: "Contributors",
17
+ path: ({ projectId }) => `/project/${projectId}/contributors`
18
+ },
19
+ {
20
+ key: "orders",
21
+ labelKey: "Human proofreading",
22
+ path: ({ projectId }) => `/project/${projectId}/orders`,
23
+ shouldShow: ({ flags }) => flags.ap_feature_hraas === "on"
24
+ },
25
+ {
26
+ key: "billing",
27
+ labelKey: "Billing",
28
+ path: ({ projectId }) => `/project/${projectId}/billing`,
29
+ shouldShow: ({ flags }) => flags.ap_feature_billing === "on"
30
+ }
31
+ ];
32
+ exports.navigationItems = navigationItems;
24
33
  //# sourceMappingURL=harmony144.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"harmony144.cjs","sources":["../src/components/Sidebar/Widgets/ProfileMenu/UpgradeIcon/UpgradeIcon.tsx"],"sourcesContent":["import { CaretUpIcon } from '@lokalise/louis'\nimport clsx from 'clsx'\nimport styles from './UpgradeIcon.module.css'\n\ntype UpgradeIconProps = {\n\tclassName?: string\n}\n\nexport const UpgradeIcon = ({ className = '' }: UpgradeIconProps) => {\n\treturn (\n\t\t<div\n\t\t\taria-label={'Upgrade Icon'}\n\t\t\tclassName={clsx(\n\t\t\t\tstyles.iconContainer,\n\t\t\t\t'flex-row',\n\t\t\t\t'items-center',\n\t\t\t\t'justify-center',\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t>\n\t\t\t<CaretUpIcon />\n\t\t</div>\n\t)\n}\n"],"names":["jsx","clsx","styles","CaretUpIcon"],"mappings":";;;;;;AAQO,MAAM,cAAc,CAAC,EAAE,YAAY,SAA2B;AAEnE,SAAAA,2BAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACA,cAAY;AAAA,MACZ,WAAWC,KAAA;AAAA,QACVC,mBAAAA,QAAO;AAAA,QACP;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MACD;AAAA,MAEA,yCAACC,MAAAA,aAAY,CAAA,CAAA;AAAA,IAAA;AAAA,EACd;AAEF;;"}
1
+ {"version":3,"file":"harmony144.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,24 +1,33 @@
1
- import { jsx } from "react/jsx-runtime";
2
- import { CaretUpIcon } from "@lokalise/louis";
3
- import { clsx } from "./harmony92.mjs";
4
- import styles from "./harmony168.mjs";
5
- const UpgradeIcon = ({ className = "" }) => {
6
- return /* @__PURE__ */ jsx(
7
- "div",
8
- {
9
- "aria-label": "Upgrade Icon",
10
- className: clsx(
11
- styles.iconContainer,
12
- "flex-row",
13
- "items-center",
14
- "justify-center",
15
- className
16
- ),
17
- children: /* @__PURE__ */ jsx(CaretUpIcon, {})
18
- }
19
- );
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
+ ];
21
30
  export {
22
- UpgradeIcon
31
+ navigationItems
23
32
  };
24
33
  //# sourceMappingURL=harmony144.mjs.map