@lokalise/harmony 1.40.3-exp-epic2x.2 → 1.40.3-exp-epic2x.3

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 (609) hide show
  1. package/dist/harmony.cjs +71 -68
  2. package/dist/harmony.cjs.map +1 -1
  3. package/dist/harmony.mjs +71 -68
  4. package/dist/harmony.mjs.map +1 -1
  5. package/dist/harmony10.cjs +30 -23
  6. package/dist/harmony10.cjs.map +1 -1
  7. package/dist/harmony10.mjs +30 -23
  8. package/dist/harmony10.mjs.map +1 -1
  9. package/dist/harmony100.cjs +13 -12
  10. package/dist/harmony100.cjs.map +1 -1
  11. package/dist/harmony100.mjs +12 -11
  12. package/dist/harmony100.mjs.map +1 -1
  13. package/dist/harmony101.cjs +12 -22
  14. package/dist/harmony101.cjs.map +1 -1
  15. package/dist/harmony101.mjs +11 -21
  16. package/dist/harmony101.mjs.map +1 -1
  17. package/dist/harmony102.cjs +21 -99
  18. package/dist/harmony102.cjs.map +1 -1
  19. package/dist/harmony102.mjs +20 -81
  20. package/dist/harmony102.mjs.map +1 -1
  21. package/dist/harmony103.cjs +96 -11
  22. package/dist/harmony103.cjs.map +1 -1
  23. package/dist/harmony103.mjs +79 -11
  24. package/dist/harmony103.mjs.map +1 -1
  25. package/dist/harmony104.cjs +14 -20
  26. package/dist/harmony104.cjs.map +1 -1
  27. package/dist/harmony104.mjs +14 -20
  28. package/dist/harmony104.mjs.map +1 -1
  29. package/dist/harmony105.cjs +20 -87
  30. package/dist/harmony105.cjs.map +1 -1
  31. package/dist/harmony105.mjs +20 -87
  32. package/dist/harmony105.mjs.map +1 -1
  33. package/dist/harmony106.cjs +87 -30
  34. package/dist/harmony106.cjs.map +1 -1
  35. package/dist/harmony106.mjs +87 -30
  36. package/dist/harmony106.mjs.map +1 -1
  37. package/dist/harmony107.cjs +31 -10
  38. package/dist/harmony107.cjs.map +1 -1
  39. package/dist/harmony107.mjs +30 -9
  40. package/dist/harmony107.mjs.map +1 -1
  41. package/dist/harmony108.cjs +9 -12
  42. package/dist/harmony108.cjs.map +1 -1
  43. package/dist/harmony108.mjs +8 -11
  44. package/dist/harmony108.mjs.map +1 -1
  45. package/dist/harmony109.cjs +6 -9
  46. package/dist/harmony109.cjs.map +1 -1
  47. package/dist/harmony109.mjs +8 -11
  48. package/dist/harmony109.mjs.map +1 -1
  49. package/dist/harmony11.cjs +16 -45
  50. package/dist/harmony11.cjs.map +1 -1
  51. package/dist/harmony11.mjs +16 -45
  52. package/dist/harmony11.mjs.map +1 -1
  53. package/dist/harmony110.cjs +5 -9
  54. package/dist/harmony110.cjs.map +1 -1
  55. package/dist/harmony110.mjs +5 -9
  56. package/dist/harmony110.mjs.map +1 -1
  57. package/dist/harmony111.cjs +16 -7
  58. package/dist/harmony111.cjs.map +1 -1
  59. package/dist/harmony111.mjs +17 -8
  60. package/dist/harmony111.mjs.map +1 -1
  61. package/dist/harmony112.cjs +7 -24
  62. package/dist/harmony112.cjs.map +1 -1
  63. package/dist/harmony112.mjs +7 -24
  64. package/dist/harmony112.mjs.map +1 -1
  65. package/dist/harmony113.cjs +21 -6
  66. package/dist/harmony113.cjs.map +1 -1
  67. package/dist/harmony113.mjs +22 -7
  68. package/dist/harmony113.mjs.map +1 -1
  69. package/dist/harmony114.cjs +7 -33
  70. package/dist/harmony114.cjs.map +1 -1
  71. package/dist/harmony114.mjs +9 -35
  72. package/dist/harmony114.mjs.map +1 -1
  73. package/dist/harmony115.cjs +33 -7
  74. package/dist/harmony115.cjs.map +1 -1
  75. package/dist/harmony115.mjs +35 -9
  76. package/dist/harmony115.mjs.map +1 -1
  77. package/dist/harmony116.cjs +8 -18
  78. package/dist/harmony116.cjs.map +1 -1
  79. package/dist/harmony116.mjs +8 -18
  80. package/dist/harmony116.mjs.map +1 -1
  81. package/dist/harmony117.cjs +13 -27
  82. package/dist/harmony117.cjs.map +1 -1
  83. package/dist/harmony117.mjs +13 -27
  84. package/dist/harmony117.mjs.map +1 -1
  85. package/dist/harmony118.cjs +36 -21
  86. package/dist/harmony118.cjs.map +1 -1
  87. package/dist/harmony118.mjs +35 -20
  88. package/dist/harmony118.mjs.map +1 -1
  89. package/dist/harmony119.cjs +21 -21
  90. package/dist/harmony119.cjs.map +1 -1
  91. package/dist/harmony119.mjs +20 -20
  92. package/dist/harmony119.mjs.map +1 -1
  93. package/dist/harmony12.cjs +51 -8
  94. package/dist/harmony12.cjs.map +1 -1
  95. package/dist/harmony12.mjs +51 -8
  96. package/dist/harmony12.mjs.map +1 -1
  97. package/dist/harmony120.cjs +21 -6
  98. package/dist/harmony120.cjs.map +1 -1
  99. package/dist/harmony120.mjs +20 -5
  100. package/dist/harmony120.mjs.map +1 -1
  101. package/dist/harmony121.cjs +3 -12
  102. package/dist/harmony121.cjs.map +1 -1
  103. package/dist/harmony121.mjs +3 -12
  104. package/dist/harmony121.mjs.map +1 -1
  105. package/dist/harmony122.cjs +15 -5
  106. package/dist/harmony122.cjs.map +1 -1
  107. package/dist/harmony122.mjs +15 -5
  108. package/dist/harmony122.mjs.map +1 -1
  109. package/dist/harmony123.cjs +5 -5
  110. package/dist/harmony123.mjs +5 -5
  111. package/dist/harmony124.cjs +6 -97
  112. package/dist/harmony124.cjs.map +1 -1
  113. package/dist/harmony124.mjs +5 -96
  114. package/dist/harmony124.mjs.map +1 -1
  115. package/dist/harmony125.cjs +94 -11
  116. package/dist/harmony125.cjs.map +1 -1
  117. package/dist/harmony125.mjs +94 -11
  118. package/dist/harmony125.mjs.map +1 -1
  119. package/dist/harmony126.cjs +12 -13
  120. package/dist/harmony126.cjs.map +1 -1
  121. package/dist/harmony126.mjs +12 -13
  122. package/dist/harmony126.mjs.map +1 -1
  123. package/dist/harmony127.cjs +13 -35
  124. package/dist/harmony127.cjs.map +1 -1
  125. package/dist/harmony127.mjs +13 -35
  126. package/dist/harmony127.mjs.map +1 -1
  127. package/dist/harmony128.cjs +32 -24
  128. package/dist/harmony128.cjs.map +1 -1
  129. package/dist/harmony128.mjs +32 -24
  130. package/dist/harmony128.mjs.map +1 -1
  131. package/dist/harmony129.cjs +28 -10
  132. package/dist/harmony129.cjs.map +1 -1
  133. package/dist/harmony129.mjs +28 -10
  134. package/dist/harmony129.mjs.map +1 -1
  135. package/dist/harmony13.cjs +8 -4
  136. package/dist/harmony13.cjs.map +1 -1
  137. package/dist/harmony13.mjs +8 -4
  138. package/dist/harmony13.mjs.map +1 -1
  139. package/dist/harmony130.cjs +10 -9
  140. package/dist/harmony130.cjs.map +1 -1
  141. package/dist/harmony130.mjs +9 -8
  142. package/dist/harmony130.mjs.map +1 -1
  143. package/dist/harmony131.cjs +6 -3
  144. package/dist/harmony131.cjs.map +1 -1
  145. package/dist/harmony131.mjs +6 -3
  146. package/dist/harmony131.mjs.map +1 -1
  147. package/dist/harmony132.cjs +3 -6
  148. package/dist/harmony132.cjs.map +1 -1
  149. package/dist/harmony132.mjs +3 -6
  150. package/dist/harmony132.mjs.map +1 -1
  151. package/dist/harmony133.cjs +6 -21
  152. package/dist/harmony133.cjs.map +1 -1
  153. package/dist/harmony133.mjs +6 -21
  154. package/dist/harmony133.mjs.map +1 -1
  155. package/dist/harmony134.cjs +21 -3
  156. package/dist/harmony134.cjs.map +1 -1
  157. package/dist/harmony134.mjs +21 -3
  158. package/dist/harmony134.mjs.map +1 -1
  159. package/dist/harmony135.cjs +3 -9
  160. package/dist/harmony135.cjs.map +1 -1
  161. package/dist/harmony135.mjs +3 -9
  162. package/dist/harmony135.mjs.map +1 -1
  163. package/dist/harmony136.cjs +9 -3
  164. package/dist/harmony136.cjs.map +1 -1
  165. package/dist/harmony136.mjs +9 -3
  166. package/dist/harmony136.mjs.map +1 -1
  167. package/dist/harmony137.cjs +7 -14
  168. package/dist/harmony137.cjs.map +1 -1
  169. package/dist/harmony137.mjs +6 -13
  170. package/dist/harmony137.mjs.map +1 -1
  171. package/dist/harmony138.cjs +12 -14
  172. package/dist/harmony138.cjs.map +1 -1
  173. package/dist/harmony138.mjs +12 -14
  174. package/dist/harmony138.mjs.map +1 -1
  175. package/dist/harmony139.cjs +13 -14
  176. package/dist/harmony139.cjs.map +1 -1
  177. package/dist/harmony139.mjs +13 -14
  178. package/dist/harmony139.mjs.map +1 -1
  179. package/dist/harmony14.cjs +5 -32
  180. package/dist/harmony14.cjs.map +1 -1
  181. package/dist/harmony14.mjs +5 -32
  182. package/dist/harmony14.mjs.map +1 -1
  183. package/dist/harmony140.cjs +15 -10
  184. package/dist/harmony140.cjs.map +1 -1
  185. package/dist/harmony140.mjs +15 -10
  186. package/dist/harmony140.mjs.map +1 -1
  187. package/dist/harmony141.cjs +10 -15
  188. package/dist/harmony141.cjs.map +1 -1
  189. package/dist/harmony141.mjs +10 -15
  190. package/dist/harmony141.mjs.map +1 -1
  191. package/dist/harmony142.cjs +13 -18
  192. package/dist/harmony142.cjs.map +1 -1
  193. package/dist/harmony142.mjs +13 -18
  194. package/dist/harmony142.mjs.map +1 -1
  195. package/dist/harmony143.cjs +19 -10
  196. package/dist/harmony143.cjs.map +1 -1
  197. package/dist/harmony143.mjs +19 -10
  198. package/dist/harmony143.mjs.map +1 -1
  199. package/dist/harmony144.cjs +11 -5
  200. package/dist/harmony144.cjs.map +1 -1
  201. package/dist/harmony144.mjs +11 -5
  202. package/dist/harmony144.mjs.map +1 -1
  203. package/dist/harmony145.cjs +5 -11
  204. package/dist/harmony145.cjs.map +1 -1
  205. package/dist/harmony145.mjs +5 -11
  206. package/dist/harmony145.mjs.map +1 -1
  207. package/dist/harmony146.cjs +11 -31
  208. package/dist/harmony146.cjs.map +1 -1
  209. package/dist/harmony146.mjs +11 -31
  210. package/dist/harmony146.mjs.map +1 -1
  211. package/dist/harmony147.cjs +28 -10
  212. package/dist/harmony147.cjs.map +1 -1
  213. package/dist/harmony147.mjs +28 -10
  214. package/dist/harmony147.mjs.map +1 -1
  215. package/dist/harmony148.cjs +17 -0
  216. package/dist/harmony148.cjs.map +1 -0
  217. package/dist/harmony148.mjs +17 -0
  218. package/dist/harmony148.mjs.map +1 -0
  219. package/dist/harmony15.cjs +32 -5
  220. package/dist/harmony15.cjs.map +1 -1
  221. package/dist/harmony15.mjs +32 -5
  222. package/dist/harmony15.mjs.map +1 -1
  223. package/dist/harmony16.cjs +5 -11
  224. package/dist/harmony16.cjs.map +1 -1
  225. package/dist/harmony16.mjs +5 -11
  226. package/dist/harmony16.mjs.map +1 -1
  227. package/dist/harmony17.cjs +9 -9
  228. package/dist/harmony17.cjs.map +1 -1
  229. package/dist/harmony17.mjs +9 -9
  230. package/dist/harmony17.mjs.map +1 -1
  231. package/dist/harmony18.cjs +9 -16
  232. package/dist/harmony18.cjs.map +1 -1
  233. package/dist/harmony18.mjs +9 -16
  234. package/dist/harmony18.mjs.map +1 -1
  235. package/dist/harmony19.cjs +16 -14
  236. package/dist/harmony19.cjs.map +1 -1
  237. package/dist/harmony19.mjs +16 -14
  238. package/dist/harmony19.mjs.map +1 -1
  239. package/dist/harmony20.cjs +13 -139
  240. package/dist/harmony20.cjs.map +1 -1
  241. package/dist/harmony20.mjs +13 -139
  242. package/dist/harmony20.mjs.map +1 -1
  243. package/dist/harmony21.cjs +142 -20
  244. package/dist/harmony21.cjs.map +1 -1
  245. package/dist/harmony21.mjs +142 -20
  246. package/dist/harmony21.mjs.map +1 -1
  247. package/dist/harmony22.cjs +20 -14
  248. package/dist/harmony22.cjs.map +1 -1
  249. package/dist/harmony22.mjs +20 -14
  250. package/dist/harmony22.mjs.map +1 -1
  251. package/dist/harmony23.cjs +13 -16
  252. package/dist/harmony23.cjs.map +1 -1
  253. package/dist/harmony23.mjs +13 -16
  254. package/dist/harmony23.mjs.map +1 -1
  255. package/dist/harmony24.cjs +10 -11
  256. package/dist/harmony24.cjs.map +1 -1
  257. package/dist/harmony24.mjs +10 -11
  258. package/dist/harmony24.mjs.map +1 -1
  259. package/dist/harmony25.cjs +16 -18
  260. package/dist/harmony25.cjs.map +1 -1
  261. package/dist/harmony25.mjs +16 -18
  262. package/dist/harmony25.mjs.map +1 -1
  263. package/dist/harmony26.cjs +17 -17
  264. package/dist/harmony26.cjs.map +1 -1
  265. package/dist/harmony26.mjs +18 -18
  266. package/dist/harmony26.mjs.map +1 -1
  267. package/dist/harmony27.cjs +19 -9
  268. package/dist/harmony27.cjs.map +1 -1
  269. package/dist/harmony27.mjs +19 -9
  270. package/dist/harmony27.mjs.map +1 -1
  271. package/dist/harmony28.cjs +7 -8
  272. package/dist/harmony28.cjs.map +1 -1
  273. package/dist/harmony28.mjs +7 -8
  274. package/dist/harmony28.mjs.map +1 -1
  275. package/dist/harmony29.cjs +11 -55
  276. package/dist/harmony29.cjs.map +1 -1
  277. package/dist/harmony29.mjs +11 -55
  278. package/dist/harmony29.mjs.map +1 -1
  279. package/dist/harmony3.cjs +3 -3
  280. package/dist/harmony3.mjs +3 -3
  281. package/dist/harmony30.cjs +49 -25
  282. package/dist/harmony30.cjs.map +1 -1
  283. package/dist/harmony30.mjs +50 -26
  284. package/dist/harmony30.mjs.map +1 -1
  285. package/dist/harmony31.cjs +28 -8
  286. package/dist/harmony31.cjs.map +1 -1
  287. package/dist/harmony31.mjs +29 -9
  288. package/dist/harmony31.mjs.map +1 -1
  289. package/dist/harmony32.cjs +10 -54
  290. package/dist/harmony32.cjs.map +1 -1
  291. package/dist/harmony32.mjs +10 -54
  292. package/dist/harmony32.mjs.map +1 -1
  293. package/dist/harmony33.cjs +50 -25
  294. package/dist/harmony33.cjs.map +1 -1
  295. package/dist/harmony33.mjs +51 -26
  296. package/dist/harmony33.mjs.map +1 -1
  297. package/dist/harmony34.cjs +27 -15
  298. package/dist/harmony34.cjs.map +1 -1
  299. package/dist/harmony34.mjs +28 -16
  300. package/dist/harmony34.mjs.map +1 -1
  301. package/dist/harmony35.cjs +15 -25
  302. package/dist/harmony35.cjs.map +1 -1
  303. package/dist/harmony35.mjs +16 -26
  304. package/dist/harmony35.mjs.map +1 -1
  305. package/dist/harmony36.cjs +25 -11
  306. package/dist/harmony36.cjs.map +1 -1
  307. package/dist/harmony36.mjs +26 -12
  308. package/dist/harmony36.mjs.map +1 -1
  309. package/dist/harmony37.cjs +14 -14
  310. package/dist/harmony37.cjs.map +1 -1
  311. package/dist/harmony37.mjs +14 -14
  312. package/dist/harmony37.mjs.map +1 -1
  313. package/dist/harmony38.cjs +6 -6
  314. package/dist/harmony38.cjs.map +1 -1
  315. package/dist/harmony38.mjs +6 -6
  316. package/dist/harmony38.mjs.map +1 -1
  317. package/dist/harmony39.cjs +4 -4
  318. package/dist/harmony39.cjs.map +1 -1
  319. package/dist/harmony39.mjs +4 -4
  320. package/dist/harmony39.mjs.map +1 -1
  321. package/dist/harmony4.cjs +2 -2
  322. package/dist/harmony4.mjs +2 -2
  323. package/dist/harmony40.cjs +6 -6
  324. package/dist/harmony40.cjs.map +1 -1
  325. package/dist/harmony40.mjs +6 -6
  326. package/dist/harmony40.mjs.map +1 -1
  327. package/dist/harmony41.cjs +6 -5
  328. package/dist/harmony41.cjs.map +1 -1
  329. package/dist/harmony41.mjs +6 -5
  330. package/dist/harmony41.mjs.map +1 -1
  331. package/dist/harmony42.cjs +6 -15
  332. package/dist/harmony42.cjs.map +1 -1
  333. package/dist/harmony42.mjs +7 -16
  334. package/dist/harmony42.mjs.map +1 -1
  335. package/dist/harmony43.cjs +16 -7
  336. package/dist/harmony43.cjs.map +1 -1
  337. package/dist/harmony43.mjs +16 -7
  338. package/dist/harmony43.mjs.map +1 -1
  339. package/dist/harmony44.cjs +4 -4
  340. package/dist/harmony44.cjs.map +1 -1
  341. package/dist/harmony44.mjs +4 -4
  342. package/dist/harmony44.mjs.map +1 -1
  343. package/dist/harmony45.cjs +7 -11
  344. package/dist/harmony45.cjs.map +1 -1
  345. package/dist/harmony45.mjs +9 -13
  346. package/dist/harmony45.mjs.map +1 -1
  347. package/dist/harmony46.cjs +8 -8
  348. package/dist/harmony46.cjs.map +1 -1
  349. package/dist/harmony46.mjs +8 -8
  350. package/dist/harmony46.mjs.map +1 -1
  351. package/dist/harmony47.cjs +14 -12
  352. package/dist/harmony47.cjs.map +1 -1
  353. package/dist/harmony47.mjs +14 -12
  354. package/dist/harmony47.mjs.map +1 -1
  355. package/dist/harmony48.cjs +8 -8
  356. package/dist/harmony48.cjs.map +1 -1
  357. package/dist/harmony48.mjs +9 -9
  358. package/dist/harmony48.mjs.map +1 -1
  359. package/dist/harmony49.cjs +9 -9
  360. package/dist/harmony49.cjs.map +1 -1
  361. package/dist/harmony49.mjs +10 -10
  362. package/dist/harmony49.mjs.map +1 -1
  363. package/dist/harmony5.cjs +25 -10
  364. package/dist/harmony5.cjs.map +1 -1
  365. package/dist/harmony5.mjs +25 -10
  366. package/dist/harmony5.mjs.map +1 -1
  367. package/dist/harmony50.cjs +12 -14
  368. package/dist/harmony50.cjs.map +1 -1
  369. package/dist/harmony50.mjs +12 -14
  370. package/dist/harmony50.mjs.map +1 -1
  371. package/dist/harmony51.cjs +10 -10
  372. package/dist/harmony51.cjs.map +1 -1
  373. package/dist/harmony51.mjs +10 -10
  374. package/dist/harmony51.mjs.map +1 -1
  375. package/dist/harmony52.cjs +8 -8
  376. package/dist/harmony52.cjs.map +1 -1
  377. package/dist/harmony52.mjs +8 -8
  378. package/dist/harmony52.mjs.map +1 -1
  379. package/dist/harmony53.cjs +7 -7
  380. package/dist/harmony53.cjs.map +1 -1
  381. package/dist/harmony53.mjs +7 -7
  382. package/dist/harmony53.mjs.map +1 -1
  383. package/dist/harmony54.cjs +8 -8
  384. package/dist/harmony54.cjs.map +1 -1
  385. package/dist/harmony54.mjs +8 -8
  386. package/dist/harmony54.mjs.map +1 -1
  387. package/dist/harmony55.cjs +14 -12
  388. package/dist/harmony55.cjs.map +1 -1
  389. package/dist/harmony55.mjs +14 -12
  390. package/dist/harmony55.mjs.map +1 -1
  391. package/dist/harmony56.cjs +12 -14
  392. package/dist/harmony56.cjs.map +1 -1
  393. package/dist/harmony56.mjs +12 -14
  394. package/dist/harmony56.mjs.map +1 -1
  395. package/dist/harmony57.cjs +8 -8
  396. package/dist/harmony57.cjs.map +1 -1
  397. package/dist/harmony57.mjs +8 -8
  398. package/dist/harmony57.mjs.map +1 -1
  399. package/dist/harmony58.cjs +8 -9
  400. package/dist/harmony58.cjs.map +1 -1
  401. package/dist/harmony58.mjs +9 -10
  402. package/dist/harmony58.mjs.map +1 -1
  403. package/dist/harmony59.cjs +11 -7
  404. package/dist/harmony59.cjs.map +1 -1
  405. package/dist/harmony59.mjs +12 -8
  406. package/dist/harmony59.mjs.map +1 -1
  407. package/dist/harmony6.cjs +9 -47
  408. package/dist/harmony6.cjs.map +1 -1
  409. package/dist/harmony6.mjs +11 -49
  410. package/dist/harmony6.mjs.map +1 -1
  411. package/dist/harmony60.cjs +4 -4
  412. package/dist/harmony60.cjs.map +1 -1
  413. package/dist/harmony60.mjs +4 -4
  414. package/dist/harmony60.mjs.map +1 -1
  415. package/dist/harmony61.cjs +13 -123
  416. package/dist/harmony61.cjs.map +1 -1
  417. package/dist/harmony61.mjs +13 -123
  418. package/dist/harmony61.mjs.map +1 -1
  419. package/dist/harmony62.cjs +102 -60
  420. package/dist/harmony62.cjs.map +1 -1
  421. package/dist/harmony62.mjs +102 -60
  422. package/dist/harmony62.mjs.map +1 -1
  423. package/dist/harmony63.cjs +80 -4
  424. package/dist/harmony63.cjs.map +1 -1
  425. package/dist/harmony63.mjs +80 -4
  426. package/dist/harmony63.mjs.map +1 -1
  427. package/dist/harmony64.cjs +4 -21
  428. package/dist/harmony64.cjs.map +1 -1
  429. package/dist/harmony64.mjs +4 -21
  430. package/dist/harmony64.mjs.map +1 -1
  431. package/dist/harmony65.cjs +20 -36
  432. package/dist/harmony65.cjs.map +1 -1
  433. package/dist/harmony65.mjs +20 -36
  434. package/dist/harmony65.mjs.map +1 -1
  435. package/dist/harmony66.cjs +34 -141
  436. package/dist/harmony66.cjs.map +1 -1
  437. package/dist/harmony66.mjs +31 -138
  438. package/dist/harmony66.mjs.map +1 -1
  439. package/dist/harmony67.cjs +145 -36
  440. package/dist/harmony67.cjs.map +1 -1
  441. package/dist/harmony67.mjs +144 -35
  442. package/dist/harmony67.mjs.map +1 -1
  443. package/dist/harmony68.cjs +36 -25
  444. package/dist/harmony68.cjs.map +1 -1
  445. package/dist/harmony68.mjs +36 -25
  446. package/dist/harmony68.mjs.map +1 -1
  447. package/dist/harmony69.cjs +24 -6
  448. package/dist/harmony69.cjs.map +1 -1
  449. package/dist/harmony69.mjs +24 -6
  450. package/dist/harmony69.mjs.map +1 -1
  451. package/dist/harmony7.cjs +45 -14
  452. package/dist/harmony7.cjs.map +1 -1
  453. package/dist/harmony7.mjs +47 -16
  454. package/dist/harmony7.mjs.map +1 -1
  455. package/dist/harmony70.cjs +6 -82
  456. package/dist/harmony70.cjs.map +1 -1
  457. package/dist/harmony70.mjs +6 -82
  458. package/dist/harmony70.mjs.map +1 -1
  459. package/dist/harmony71.cjs +79 -49
  460. package/dist/harmony71.cjs.map +1 -1
  461. package/dist/harmony71.mjs +79 -49
  462. package/dist/harmony71.mjs.map +1 -1
  463. package/dist/harmony72.cjs +53 -17
  464. package/dist/harmony72.cjs.map +1 -1
  465. package/dist/harmony72.mjs +53 -17
  466. package/dist/harmony72.mjs.map +1 -1
  467. package/dist/harmony73.cjs +19 -16
  468. package/dist/harmony73.cjs.map +1 -1
  469. package/dist/harmony73.mjs +18 -15
  470. package/dist/harmony73.mjs.map +1 -1
  471. package/dist/harmony74.cjs +15 -18
  472. package/dist/harmony74.cjs.map +1 -1
  473. package/dist/harmony74.mjs +15 -18
  474. package/dist/harmony74.mjs.map +1 -1
  475. package/dist/harmony75.cjs +18 -61
  476. package/dist/harmony75.cjs.map +1 -1
  477. package/dist/harmony75.mjs +18 -61
  478. package/dist/harmony75.mjs.map +1 -1
  479. package/dist/harmony76.cjs +59 -37
  480. package/dist/harmony76.cjs.map +1 -1
  481. package/dist/harmony76.mjs +59 -37
  482. package/dist/harmony76.mjs.map +1 -1
  483. package/dist/harmony77.cjs +37 -35
  484. package/dist/harmony77.cjs.map +1 -1
  485. package/dist/harmony77.mjs +38 -36
  486. package/dist/harmony77.mjs.map +1 -1
  487. package/dist/harmony78.cjs +37 -9
  488. package/dist/harmony78.cjs.map +1 -1
  489. package/dist/harmony78.mjs +36 -8
  490. package/dist/harmony78.mjs.map +1 -1
  491. package/dist/harmony79.cjs +10 -9
  492. package/dist/harmony79.cjs.map +1 -1
  493. package/dist/harmony79.mjs +9 -8
  494. package/dist/harmony79.mjs.map +1 -1
  495. package/dist/harmony8.cjs +15 -56
  496. package/dist/harmony8.cjs.map +1 -1
  497. package/dist/harmony8.mjs +16 -57
  498. package/dist/harmony8.mjs.map +1 -1
  499. package/dist/harmony80.cjs +5 -26
  500. package/dist/harmony80.cjs.map +1 -1
  501. package/dist/harmony80.mjs +8 -29
  502. package/dist/harmony80.mjs.map +1 -1
  503. package/dist/harmony81.cjs +29 -3
  504. package/dist/harmony81.cjs.map +1 -1
  505. package/dist/harmony81.mjs +29 -3
  506. package/dist/harmony81.mjs.map +1 -1
  507. package/dist/harmony82.cjs +3 -33
  508. package/dist/harmony82.cjs.map +1 -1
  509. package/dist/harmony82.mjs +3 -33
  510. package/dist/harmony82.mjs.map +1 -1
  511. package/dist/harmony83.cjs +33 -43
  512. package/dist/harmony83.cjs.map +1 -1
  513. package/dist/harmony83.mjs +33 -43
  514. package/dist/harmony83.mjs.map +1 -1
  515. package/dist/harmony84.cjs +43 -29
  516. package/dist/harmony84.cjs.map +1 -1
  517. package/dist/harmony84.mjs +43 -29
  518. package/dist/harmony84.mjs.map +1 -1
  519. package/dist/harmony85.cjs +26 -63
  520. package/dist/harmony85.cjs.map +1 -1
  521. package/dist/harmony85.mjs +26 -63
  522. package/dist/harmony85.mjs.map +1 -1
  523. package/dist/harmony86.cjs +66 -15
  524. package/dist/harmony86.cjs.map +1 -1
  525. package/dist/harmony86.mjs +66 -15
  526. package/dist/harmony86.mjs.map +1 -1
  527. package/dist/harmony87.cjs +15 -3
  528. package/dist/harmony87.cjs.map +1 -1
  529. package/dist/harmony87.mjs +15 -3
  530. package/dist/harmony87.mjs.map +1 -1
  531. package/dist/harmony88.cjs +3 -166
  532. package/dist/harmony88.cjs.map +1 -1
  533. package/dist/harmony88.mjs +3 -166
  534. package/dist/harmony88.mjs.map +1 -1
  535. package/dist/harmony89.cjs +159 -37
  536. package/dist/harmony89.cjs.map +1 -1
  537. package/dist/harmony89.mjs +160 -38
  538. package/dist/harmony89.mjs.map +1 -1
  539. package/dist/harmony9.cjs +59 -30
  540. package/dist/harmony9.cjs.map +1 -1
  541. package/dist/harmony9.mjs +59 -30
  542. package/dist/harmony9.mjs.map +1 -1
  543. package/dist/harmony90.cjs +43 -11
  544. package/dist/harmony90.cjs.map +1 -1
  545. package/dist/harmony90.mjs +43 -11
  546. package/dist/harmony90.mjs.map +1 -1
  547. package/dist/harmony91.cjs +4 -13
  548. package/dist/harmony91.cjs.map +1 -1
  549. package/dist/harmony91.mjs +3 -12
  550. package/dist/harmony91.mjs.map +1 -1
  551. package/dist/harmony92.cjs +18 -3
  552. package/dist/harmony92.cjs.map +1 -1
  553. package/dist/harmony92.mjs +18 -3
  554. package/dist/harmony92.mjs.map +1 -1
  555. package/dist/harmony93.cjs +71 -13
  556. package/dist/harmony93.cjs.map +1 -1
  557. package/dist/harmony93.mjs +73 -15
  558. package/dist/harmony93.mjs.map +1 -1
  559. package/dist/harmony94.cjs +11 -75
  560. package/dist/harmony94.cjs.map +1 -1
  561. package/dist/harmony94.mjs +11 -75
  562. package/dist/harmony94.mjs.map +1 -1
  563. package/dist/harmony95.cjs +30 -12
  564. package/dist/harmony95.cjs.map +1 -1
  565. package/dist/harmony95.mjs +30 -12
  566. package/dist/harmony95.mjs.map +1 -1
  567. package/dist/harmony96.cjs +9 -30
  568. package/dist/harmony96.cjs.map +1 -1
  569. package/dist/harmony96.mjs +9 -30
  570. package/dist/harmony96.mjs.map +1 -1
  571. package/dist/harmony97.cjs +46 -8
  572. package/dist/harmony97.cjs.map +1 -1
  573. package/dist/harmony97.mjs +47 -9
  574. package/dist/harmony97.mjs.map +1 -1
  575. package/dist/harmony98.cjs +9 -47
  576. package/dist/harmony98.cjs.map +1 -1
  577. package/dist/harmony98.mjs +8 -46
  578. package/dist/harmony98.mjs.map +1 -1
  579. package/dist/harmony99.cjs +12 -9
  580. package/dist/harmony99.cjs.map +1 -1
  581. package/dist/harmony99.mjs +11 -8
  582. package/dist/harmony99.mjs.map +1 -1
  583. package/dist/types/src/components/Sidebar/Widgets/ProfileMenu/ProfileMenu.stories.d.ts +1 -0
  584. package/dist/types/src/components/Sidebar/utils/content.d.ts +4 -0
  585. package/dist/types/src/features/auth/frontend/hooks/useAuthenticatedProjectContributor.d.ts +2 -2
  586. package/dist/types/src/features/auth/frontend/hooks/useAuthenticatedUser.d.ts +2 -2
  587. package/dist/types/src/features/navigation/hooks/useNavigationQueries.d.ts +12 -12
  588. package/dist/types/src/features/publicApi/contributors.d.ts +32 -32
  589. package/dist/types/src/features/publicApi/hooks/useAddContributorsMutation.d.ts +2 -2
  590. package/dist/types/src/features/publicApi/hooks/useCreateProjectMutation.d.ts +2 -2
  591. package/dist/types/src/features/publicApi/hooks/useGetTeamUsersQuery.d.ts +2 -2
  592. package/dist/types/src/features/publicApi/hooks/useListContributorsQuery.d.ts +2 -2
  593. package/dist/types/src/features/publicApi/hooks/useListProjectsQuery.d.ts +3 -3
  594. package/dist/types/src/features/publicApi/hooks/useListTeamUsersQuery.d.ts +2 -2
  595. package/dist/types/src/features/publicApi/hooks/useListTeamsQuery.d.ts +4 -4
  596. package/dist/types/src/features/publicApi/hooks/useRetrieveContributorQuery.d.ts +2 -2
  597. package/dist/types/src/features/publicApi/hooks/useRetrieveProjectQuery.d.ts +2 -2
  598. package/dist/types/src/features/publicApi/hooks/useRetrieveTeamQuery.d.ts +4 -4
  599. package/dist/types/src/features/publicApi/hooks/useUpdateContributorMutation.d.ts +2 -2
  600. package/dist/types/src/features/publicApi/hooks/useUpdateProjectMutation.d.ts +2 -2
  601. package/dist/types/src/features/publicApi/projects.d.ts +22 -22
  602. package/dist/types/src/features/publicApi/team.d.ts +36 -36
  603. package/dist/types/src/features/publicApi/teamUsers.d.ts +16 -16
  604. package/dist/types/src/features/publicApi/types/contributorTypes.d.ts +36 -36
  605. package/dist/types/src/features/publicApi/types/projectTypes.d.ts +14 -14
  606. package/dist/types/src/features/publicApi/types/teamTypes.d.ts +42 -42
  607. package/dist/types/src/features/publicApi/types/teamUserTypes.d.ts +20 -20
  608. package/dist/types/src/node.d.ts +1 -0
  609. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"harmony111.mjs","sources":["../src/components/Sidebar/Widgets/ProfileMenu/DarkModeToggle/DarkModeToggle.tsx"],"sourcesContent":["import { MenuItem, Switch } from '@lokalise/louis'\nimport styles from './DarkModeToggle.module.css'\n\ntype DarkModeToggleProps = {\n\tonToggle: () => void\n\tisDarkMode: boolean\n}\n\n/**\n * A menu item component for toggling dark mode.\n * Displays a switch and label, and calls the provided onToggle handler when clicked.\n *\n * @example\n * ```\n * <DarkModeToggle\n * isDarkMode={isDarkMode}\n * onToggle={handleToggleDarkMode}\n * />\n * ```\n */\n\nexport const DarkModeToggle = ({ onToggle, isDarkMode }: DarkModeToggleProps) => {\n\treturn (\n\t\t<MenuItem onClick={onToggle}>\n\t\t\t<div className={`flex-row justify-between gap-1 ${styles.switchContainer}`}>\n\t\t\t\t<span>Dark mode</span>\n\t\t\t\t<Switch defaultChecked={isDarkMode} aria-label=\"Toggle dark mode\" />\n\t\t\t</div>\n\t\t</MenuItem>\n\t)\n}\n"],"names":[],"mappings":";;;AAqBO,MAAM,iBAAiB,CAAC,EAAE,UAAU,iBAAsC;AAE/E,SAAA,oBAAC,UAAS,EAAA,SAAS,UAClB,UAAA,qBAAC,SAAI,WAAW,kCAAkC,OAAO,eAAe,IACvE,UAAA;AAAA,IAAA,oBAAC,UAAK,UAAS,YAAA,CAAA;AAAA,IACd,oBAAA,QAAA,EAAO,gBAAgB,YAAY,cAAW,mBAAmB,CAAA;AAAA,EAAA,EAAA,CACnE,EACD,CAAA;AAEF;"}
1
+ {"version":3,"file":"harmony111.mjs","sources":["../src/components/Sidebar/Widgets/ProfileMenu/CreateNewTeamPlaceholder/CreateNewTeamPlaceholder.tsx"],"sourcesContent":["import { useSidebar } from '@components/Sidebar/hooks/useSidebar'\nimport { MenuDivider, MenuItem } from '@lokalise/louis'\nimport { canCreateTeam } from '@utils/user/permissions'\nimport styles from './CreateNewTeamPlaceholder.module.css'\n\ntype CreateNewTeamPlaceholderProps = {\n\tonClick: () => void\n}\n\n/**\n * A placeholder menu item for creating a new team.\n * Checks the user's permissions using the Sidebar context and renders\n * nothing if the user does not have access.\n *\n * @example\n * ```\n * <CreateNewTeamPlaceholder onClick={handleCreateTeam} />\n * ```\n *\n * @note This component must be used within a Sidebar Context.\n */\n\nexport const CreateNewTeamPlaceholder = ({ onClick }: CreateNewTeamPlaceholderProps) => {\n\tconst { jwt } = useSidebar()\n\n\tif (!canCreateTeam(jwt.result)) {\n\t\treturn null\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t<MenuItem onClick={onClick} data-testid=\"sidebar-create-new-team-placeholder\">\n\t\t\t\t<div className=\"flex flex-col\">\n\t\t\t\t\t<span className={styles.mainLabel}>Create new team</span>\n\t\t\t\t\t<span className={styles.subLabel}>Switch to Expert to create a new team</span>\n\t\t\t\t</div>\n\t\t\t</MenuItem>\n\t\t\t<MenuDivider />\n\t\t</>\n\t)\n}\n"],"names":[],"mappings":";;;;;AAsBO,MAAM,2BAA2B,CAAC,EAAE,cAA6C;AACjF,QAAA,EAAE,IAAI,IAAI,WAAW;AAE3B,MAAI,CAAC,cAAc,IAAI,MAAM,GAAG;AACxB,WAAA;AAAA,EAAA;AAGR,SAEE,qBAAA,UAAA,EAAA,UAAA;AAAA,IAAA,oBAAC,YAAS,SAAkB,eAAY,uCACvC,UAAC,qBAAA,OAAA,EAAI,WAAU,iBACd,UAAA;AAAA,MAAA,oBAAC,QAAK,EAAA,WAAW,OAAO,WAAW,UAAe,mBAAA;AAAA,MACjD,oBAAA,QAAA,EAAK,WAAW,OAAO,UAAU,UAAqC,wCAAA,CAAA;AAAA,IAAA,EAAA,CACxE,EACD,CAAA;AAAA,wBACC,aAAY,CAAA,CAAA;AAAA,EAAA,GACd;AAEF;"}
@@ -1,30 +1,13 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
3
  const jsxRuntime = require("react/jsx-runtime");
4
- const useSidebar = require("./harmony95.cjs");
5
4
  const louis = require("@lokalise/louis");
6
- const permissions = require("./harmony96.cjs");
7
- const ProfileSettingsMenuItem_module = require("./harmony132.cjs");
8
- const ProfileSettingsMenuItem = ({ onClick }) => {
9
- var _a;
10
- const { jwt } = useSidebar.useSidebar();
11
- if (!permissions.canAccessProfileSettings(jwt.result)) {
12
- return null;
13
- }
14
- return /* @__PURE__ */ jsxRuntime.jsx(
15
- louis.MenuItem,
16
- {
17
- "data-testid": "sidebar-profile-settings-menu-item",
18
- href: "/settings",
19
- onClick: () => {
20
- onClick == null ? void 0 : onClick();
21
- },
22
- children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: `flex-col ${ProfileSettingsMenuItem_module.default.container}`, children: [
23
- /* @__PURE__ */ jsxRuntime.jsx("span", { children: "Profile Settings" }),
24
- /* @__PURE__ */ jsxRuntime.jsx("span", { className: ProfileSettingsMenuItem_module.default.profileEmail, children: (_a = jwt.result) == null ? void 0 : _a.userEmail })
25
- ] })
26
- }
27
- );
5
+ const DarkModeToggle_module = require("./harmony132.cjs");
6
+ const DarkModeToggle = ({ onToggle, isDarkMode }) => {
7
+ return /* @__PURE__ */ jsxRuntime.jsx(louis.MenuItem, { onClick: onToggle, children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: `flex-row justify-between gap-1 ${DarkModeToggle_module.default.switchContainer}`, children: [
8
+ /* @__PURE__ */ jsxRuntime.jsx("span", { children: "Dark mode" }),
9
+ /* @__PURE__ */ jsxRuntime.jsx(louis.Switch, { defaultChecked: isDarkMode, "aria-label": "Toggle dark mode" })
10
+ ] }) });
28
11
  };
29
- exports.ProfileSettingsMenuItem = ProfileSettingsMenuItem;
12
+ exports.DarkModeToggle = DarkModeToggle;
30
13
  //# sourceMappingURL=harmony112.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"harmony112.cjs","sources":["../src/components/Sidebar/Widgets/ProfileMenu/ProfileSettingsMenuItem/ProfileSettingsMenuItem.tsx"],"sourcesContent":["import { useSidebar } from '@components/Sidebar/hooks/useSidebar'\nimport { MenuItem } from '@lokalise/louis'\nimport { canAccessProfileSettings } from '@utils/user/permissions'\nimport styles from './ProfileSettingsMenuItem.module.css'\n\n/**\n * A menu item component for navigating to the profile settings page.\n * Checks the user's permissions using the Sidebar context and renders\n * nothing if the user does not have access.\n *\n * @example\n * ```\n * <ProfileSettingsMenuItem onClick={() => { }} />\n * ```\n *\n * @note This component must be used within a Sidebar Context.\n */\n\ntype ProfileSettingsMenuItem = {\n\tonClick?: () => void\n}\n\nexport const ProfileSettingsMenuItem = ({ onClick }: ProfileSettingsMenuItem) => {\n\tconst { jwt } = useSidebar()\n\n\tif (!canAccessProfileSettings(jwt.result)) {\n\t\treturn null\n\t}\n\n\treturn (\n\t\t<MenuItem\n\t\t\tdata-testid=\"sidebar-profile-settings-menu-item\"\n\t\t\thref=\"/settings\"\n\t\t\tonClick={() => {\n\t\t\t\tonClick?.()\n\t\t\t}}\n\t\t>\n\t\t\t<div className={`flex-col ${styles.container}`}>\n\t\t\t\t<span>Profile Settings</span>\n\t\t\t\t<span className={styles.profileEmail}>{jwt.result?.userEmail}</span>\n\t\t\t</div>\n\t\t</MenuItem>\n\t)\n}\n"],"names":["useSidebar","canAccessProfileSettings","jsx","MenuItem","styles"],"mappings":";;;;;;;AAsBO,MAAM,0BAA0B,CAAC,EAAE,cAAuC;;AAC1E,QAAA,EAAE,IAAI,IAAIA,sBAAW;AAE3B,MAAI,CAACC,YAAA,yBAAyB,IAAI,MAAM,GAAG;AACnC,WAAA;AAAA,EAAA;AAIP,SAAAC,2BAAA;AAAA,IAACC,MAAA;AAAA,IAAA;AAAA,MACA,eAAY;AAAA,MACZ,MAAK;AAAA,MACL,SAAS,MAAM;AACJ;AAAA,MACX;AAAA,MAEA,0CAAC,OAAI,EAAA,WAAW,YAAYC,uCAAO,SAAS,IAC3C,UAAA;AAAA,QAAAF,2BAAAA,IAAC,UAAK,UAAgB,mBAAA,CAAA;AAAA,uCACrB,QAAK,EAAA,WAAWE,uCAAO,cAAe,WAAA,SAAI,WAAJ,mBAAY,UAAU,CAAA;AAAA,MAAA,EAC9D,CAAA;AAAA,IAAA;AAAA,EACD;AAEF;;"}
1
+ {"version":3,"file":"harmony112.cjs","sources":["../src/components/Sidebar/Widgets/ProfileMenu/DarkModeToggle/DarkModeToggle.tsx"],"sourcesContent":["import { MenuItem, Switch } from '@lokalise/louis'\nimport styles from './DarkModeToggle.module.css'\n\ntype DarkModeToggleProps = {\n\tonToggle: () => void\n\tisDarkMode: boolean\n}\n\n/**\n * A menu item component for toggling dark mode.\n * Displays a switch and label, and calls the provided onToggle handler when clicked.\n *\n * @example\n * ```\n * <DarkModeToggle\n * isDarkMode={isDarkMode}\n * onToggle={handleToggleDarkMode}\n * />\n * ```\n */\n\nexport const DarkModeToggle = ({ onToggle, isDarkMode }: DarkModeToggleProps) => {\n\treturn (\n\t\t<MenuItem onClick={onToggle}>\n\t\t\t<div className={`flex-row justify-between gap-1 ${styles.switchContainer}`}>\n\t\t\t\t<span>Dark mode</span>\n\t\t\t\t<Switch defaultChecked={isDarkMode} aria-label=\"Toggle dark mode\" />\n\t\t\t</div>\n\t\t</MenuItem>\n\t)\n}\n"],"names":["jsx","MenuItem","jsxs","styles","Switch"],"mappings":";;;;;AAqBO,MAAM,iBAAiB,CAAC,EAAE,UAAU,iBAAsC;AAE/E,SAAAA,2BAAAA,IAACC,MAAAA,UAAS,EAAA,SAAS,UAClB,UAAAC,2BAAA,KAAC,SAAI,WAAW,kCAAkCC,sBAAO,QAAA,eAAe,IACvE,UAAA;AAAA,IAAAH,2BAAAA,IAAC,UAAK,UAAS,YAAA,CAAA;AAAA,IACdA,2BAAA,IAAAI,MAAA,QAAA,EAAO,gBAAgB,YAAY,cAAW,mBAAmB,CAAA;AAAA,EAAA,EAAA,CACnE,EACD,CAAA;AAEF;;"}
@@ -1,30 +1,13 @@
1
1
  import { jsx, jsxs } from "react/jsx-runtime";
2
- import { useSidebar } from "./harmony95.mjs";
3
- import { MenuItem } from "@lokalise/louis";
4
- import { canAccessProfileSettings } from "./harmony96.mjs";
2
+ import { MenuItem, Switch } from "@lokalise/louis";
5
3
  import styles from "./harmony132.mjs";
6
- const ProfileSettingsMenuItem = ({ onClick }) => {
7
- var _a;
8
- const { jwt } = useSidebar();
9
- if (!canAccessProfileSettings(jwt.result)) {
10
- return null;
11
- }
12
- return /* @__PURE__ */ jsx(
13
- MenuItem,
14
- {
15
- "data-testid": "sidebar-profile-settings-menu-item",
16
- href: "/settings",
17
- onClick: () => {
18
- onClick == null ? void 0 : onClick();
19
- },
20
- children: /* @__PURE__ */ jsxs("div", { className: `flex-col ${styles.container}`, children: [
21
- /* @__PURE__ */ jsx("span", { children: "Profile Settings" }),
22
- /* @__PURE__ */ jsx("span", { className: styles.profileEmail, children: (_a = jwt.result) == null ? void 0 : _a.userEmail })
23
- ] })
24
- }
25
- );
4
+ const DarkModeToggle = ({ onToggle, isDarkMode }) => {
5
+ return /* @__PURE__ */ jsx(MenuItem, { onClick: onToggle, children: /* @__PURE__ */ jsxs("div", { className: `flex-row justify-between gap-1 ${styles.switchContainer}`, children: [
6
+ /* @__PURE__ */ jsx("span", { children: "Dark mode" }),
7
+ /* @__PURE__ */ jsx(Switch, { defaultChecked: isDarkMode, "aria-label": "Toggle dark mode" })
8
+ ] }) });
26
9
  };
27
10
  export {
28
- ProfileSettingsMenuItem
11
+ DarkModeToggle
29
12
  };
30
13
  //# sourceMappingURL=harmony112.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"harmony112.mjs","sources":["../src/components/Sidebar/Widgets/ProfileMenu/ProfileSettingsMenuItem/ProfileSettingsMenuItem.tsx"],"sourcesContent":["import { useSidebar } from '@components/Sidebar/hooks/useSidebar'\nimport { MenuItem } from '@lokalise/louis'\nimport { canAccessProfileSettings } from '@utils/user/permissions'\nimport styles from './ProfileSettingsMenuItem.module.css'\n\n/**\n * A menu item component for navigating to the profile settings page.\n * Checks the user's permissions using the Sidebar context and renders\n * nothing if the user does not have access.\n *\n * @example\n * ```\n * <ProfileSettingsMenuItem onClick={() => { }} />\n * ```\n *\n * @note This component must be used within a Sidebar Context.\n */\n\ntype ProfileSettingsMenuItem = {\n\tonClick?: () => void\n}\n\nexport const ProfileSettingsMenuItem = ({ onClick }: ProfileSettingsMenuItem) => {\n\tconst { jwt } = useSidebar()\n\n\tif (!canAccessProfileSettings(jwt.result)) {\n\t\treturn null\n\t}\n\n\treturn (\n\t\t<MenuItem\n\t\t\tdata-testid=\"sidebar-profile-settings-menu-item\"\n\t\t\thref=\"/settings\"\n\t\t\tonClick={() => {\n\t\t\t\tonClick?.()\n\t\t\t}}\n\t\t>\n\t\t\t<div className={`flex-col ${styles.container}`}>\n\t\t\t\t<span>Profile Settings</span>\n\t\t\t\t<span className={styles.profileEmail}>{jwt.result?.userEmail}</span>\n\t\t\t</div>\n\t\t</MenuItem>\n\t)\n}\n"],"names":[],"mappings":";;;;;AAsBO,MAAM,0BAA0B,CAAC,EAAE,cAAuC;;AAC1E,QAAA,EAAE,IAAI,IAAI,WAAW;AAE3B,MAAI,CAAC,yBAAyB,IAAI,MAAM,GAAG;AACnC,WAAA;AAAA,EAAA;AAIP,SAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACA,eAAY;AAAA,MACZ,MAAK;AAAA,MACL,SAAS,MAAM;AACJ;AAAA,MACX;AAAA,MAEA,+BAAC,OAAI,EAAA,WAAW,YAAY,OAAO,SAAS,IAC3C,UAAA;AAAA,QAAA,oBAAC,UAAK,UAAgB,mBAAA,CAAA;AAAA,4BACrB,QAAK,EAAA,WAAW,OAAO,cAAe,WAAA,SAAI,WAAJ,mBAAY,UAAU,CAAA;AAAA,MAAA,EAC9D,CAAA;AAAA,IAAA;AAAA,EACD;AAEF;"}
1
+ {"version":3,"file":"harmony112.mjs","sources":["../src/components/Sidebar/Widgets/ProfileMenu/DarkModeToggle/DarkModeToggle.tsx"],"sourcesContent":["import { MenuItem, Switch } from '@lokalise/louis'\nimport styles from './DarkModeToggle.module.css'\n\ntype DarkModeToggleProps = {\n\tonToggle: () => void\n\tisDarkMode: boolean\n}\n\n/**\n * A menu item component for toggling dark mode.\n * Displays a switch and label, and calls the provided onToggle handler when clicked.\n *\n * @example\n * ```\n * <DarkModeToggle\n * isDarkMode={isDarkMode}\n * onToggle={handleToggleDarkMode}\n * />\n * ```\n */\n\nexport const DarkModeToggle = ({ onToggle, isDarkMode }: DarkModeToggleProps) => {\n\treturn (\n\t\t<MenuItem onClick={onToggle}>\n\t\t\t<div className={`flex-row justify-between gap-1 ${styles.switchContainer}`}>\n\t\t\t\t<span>Dark mode</span>\n\t\t\t\t<Switch defaultChecked={isDarkMode} aria-label=\"Toggle dark mode\" />\n\t\t\t</div>\n\t\t</MenuItem>\n\t)\n}\n"],"names":[],"mappings":";;;AAqBO,MAAM,iBAAiB,CAAC,EAAE,UAAU,iBAAsC;AAE/E,SAAA,oBAAC,UAAS,EAAA,SAAS,UAClB,UAAA,qBAAC,SAAI,WAAW,kCAAkC,OAAO,eAAe,IACvE,UAAA;AAAA,IAAA,oBAAC,UAAK,UAAS,YAAA,CAAA;AAAA,IACd,oBAAA,QAAA,EAAO,gBAAgB,YAAY,cAAW,mBAAmB,CAAA;AAAA,EAAA,EAAA,CACnE,EACD,CAAA;AAEF;"}
@@ -1,15 +1,30 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
3
  const jsxRuntime = require("react/jsx-runtime");
4
- const useSidebar = require("./harmony95.cjs");
4
+ const useSidebar = require("./harmony94.cjs");
5
5
  const louis = require("@lokalise/louis");
6
- const permissions = require("./harmony96.cjs");
7
- const ProviderMenuItem = () => {
6
+ const permissions = require("./harmony95.cjs");
7
+ const ProfileSettingsMenuItem_module = require("./harmony133.cjs");
8
+ const ProfileSettingsMenuItem = ({ onClick }) => {
9
+ var _a;
8
10
  const { jwt } = useSidebar.useSidebar();
9
- if (!permissions.canAccessProviderDashboard(jwt.result)) {
11
+ if (!permissions.canAccessProfileSettings(jwt.result)) {
10
12
  return null;
11
13
  }
12
- return /* @__PURE__ */ jsxRuntime.jsx(louis.MenuItem, { href: "/provider", children: "Provider dashboard" });
14
+ return /* @__PURE__ */ jsxRuntime.jsx(
15
+ louis.MenuItem,
16
+ {
17
+ "data-testid": "sidebar-profile-settings-menu-item",
18
+ href: "/settings",
19
+ onClick: () => {
20
+ onClick == null ? void 0 : onClick();
21
+ },
22
+ children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: `flex-col ${ProfileSettingsMenuItem_module.default.container}`, children: [
23
+ /* @__PURE__ */ jsxRuntime.jsx("span", { children: "Profile Settings" }),
24
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: ProfileSettingsMenuItem_module.default.profileEmail, children: (_a = jwt.result) == null ? void 0 : _a.userEmail })
25
+ ] })
26
+ }
27
+ );
13
28
  };
14
- exports.ProviderMenuItem = ProviderMenuItem;
29
+ exports.ProfileSettingsMenuItem = ProfileSettingsMenuItem;
15
30
  //# sourceMappingURL=harmony113.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"harmony113.cjs","sources":["../src/components/Sidebar/Widgets/ProfileMenu/ProviderMenuItem/ProviderMenuItem.tsx"],"sourcesContent":["import { useSidebar } from '@components/Sidebar/hooks/useSidebar'\nimport { MenuItem } from '@lokalise/louis'\nimport { canAccessProviderDashboard } from '@utils/user/permissions'\n\n/**\n * A menu item component for navigating to the provider dashboard.\n * It checks the current user's permissions using the Sidebar context\n * and renders nothing if the user does not have access.\n *\n * @example\n * ```\n * <ProviderMenuItem />\n * ```\n *\n * @note This component must be used within a Sidebar Context.\n */\n\nexport const ProviderMenuItem = () => {\n\tconst { jwt } = useSidebar()\n\n\tif (!canAccessProviderDashboard(jwt.result)) {\n\t\treturn null\n\t}\n\n\treturn <MenuItem href=\"/provider\">Provider dashboard</MenuItem>\n}\n"],"names":["useSidebar","canAccessProviderDashboard","jsx","MenuItem"],"mappings":";;;;;;AAiBO,MAAM,mBAAmB,MAAM;AAC/B,QAAA,EAAE,IAAI,IAAIA,sBAAW;AAE3B,MAAI,CAACC,YAAA,2BAA2B,IAAI,MAAM,GAAG;AACrC,WAAA;AAAA,EAAA;AAGR,SAAQC,2BAAAA,IAAAC,MAAAA,UAAA,EAAS,MAAK,aAAY,UAAkB,sBAAA;AACrD;;"}
1
+ {"version":3,"file":"harmony113.cjs","sources":["../src/components/Sidebar/Widgets/ProfileMenu/ProfileSettingsMenuItem/ProfileSettingsMenuItem.tsx"],"sourcesContent":["import { useSidebar } from '@components/Sidebar/hooks/useSidebar'\nimport { MenuItem } from '@lokalise/louis'\nimport { canAccessProfileSettings } from '@utils/user/permissions'\nimport styles from './ProfileSettingsMenuItem.module.css'\n\n/**\n * A menu item component for navigating to the profile settings page.\n * Checks the user's permissions using the Sidebar context and renders\n * nothing if the user does not have access.\n *\n * @example\n * ```\n * <ProfileSettingsMenuItem onClick={() => { }} />\n * ```\n *\n * @note This component must be used within a Sidebar Context.\n */\n\ntype ProfileSettingsMenuItem = {\n\tonClick?: () => void\n}\n\nexport const ProfileSettingsMenuItem = ({ onClick }: ProfileSettingsMenuItem) => {\n\tconst { jwt } = useSidebar()\n\n\tif (!canAccessProfileSettings(jwt.result)) {\n\t\treturn null\n\t}\n\n\treturn (\n\t\t<MenuItem\n\t\t\tdata-testid=\"sidebar-profile-settings-menu-item\"\n\t\t\thref=\"/settings\"\n\t\t\tonClick={() => {\n\t\t\t\tonClick?.()\n\t\t\t}}\n\t\t>\n\t\t\t<div className={`flex-col ${styles.container}`}>\n\t\t\t\t<span>Profile Settings</span>\n\t\t\t\t<span className={styles.profileEmail}>{jwt.result?.userEmail}</span>\n\t\t\t</div>\n\t\t</MenuItem>\n\t)\n}\n"],"names":["useSidebar","canAccessProfileSettings","jsx","MenuItem","styles"],"mappings":";;;;;;;AAsBO,MAAM,0BAA0B,CAAC,EAAE,cAAuC;;AAC1E,QAAA,EAAE,IAAI,IAAIA,sBAAW;AAE3B,MAAI,CAACC,YAAA,yBAAyB,IAAI,MAAM,GAAG;AACnC,WAAA;AAAA,EAAA;AAIP,SAAAC,2BAAA;AAAA,IAACC,MAAA;AAAA,IAAA;AAAA,MACA,eAAY;AAAA,MACZ,MAAK;AAAA,MACL,SAAS,MAAM;AACJ;AAAA,MACX;AAAA,MAEA,0CAAC,OAAI,EAAA,WAAW,YAAYC,uCAAO,SAAS,IAC3C,UAAA;AAAA,QAAAF,2BAAAA,IAAC,UAAK,UAAgB,mBAAA,CAAA;AAAA,uCACrB,QAAK,EAAA,WAAWE,uCAAO,cAAe,WAAA,SAAI,WAAJ,mBAAY,UAAU,CAAA;AAAA,MAAA,EAC9D,CAAA;AAAA,IAAA;AAAA,EACD;AAEF;;"}
@@ -1,15 +1,30 @@
1
- import { jsx } from "react/jsx-runtime";
2
- import { useSidebar } from "./harmony95.mjs";
1
+ import { jsx, jsxs } from "react/jsx-runtime";
2
+ import { useSidebar } from "./harmony94.mjs";
3
3
  import { MenuItem } from "@lokalise/louis";
4
- import { canAccessProviderDashboard } from "./harmony96.mjs";
5
- const ProviderMenuItem = () => {
4
+ import { canAccessProfileSettings } from "./harmony95.mjs";
5
+ import styles from "./harmony133.mjs";
6
+ const ProfileSettingsMenuItem = ({ onClick }) => {
7
+ var _a;
6
8
  const { jwt } = useSidebar();
7
- if (!canAccessProviderDashboard(jwt.result)) {
9
+ if (!canAccessProfileSettings(jwt.result)) {
8
10
  return null;
9
11
  }
10
- return /* @__PURE__ */ jsx(MenuItem, { href: "/provider", children: "Provider dashboard" });
12
+ return /* @__PURE__ */ jsx(
13
+ MenuItem,
14
+ {
15
+ "data-testid": "sidebar-profile-settings-menu-item",
16
+ href: "/settings",
17
+ onClick: () => {
18
+ onClick == null ? void 0 : onClick();
19
+ },
20
+ children: /* @__PURE__ */ jsxs("div", { className: `flex-col ${styles.container}`, children: [
21
+ /* @__PURE__ */ jsx("span", { children: "Profile Settings" }),
22
+ /* @__PURE__ */ jsx("span", { className: styles.profileEmail, children: (_a = jwt.result) == null ? void 0 : _a.userEmail })
23
+ ] })
24
+ }
25
+ );
11
26
  };
12
27
  export {
13
- ProviderMenuItem
28
+ ProfileSettingsMenuItem
14
29
  };
15
30
  //# sourceMappingURL=harmony113.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"harmony113.mjs","sources":["../src/components/Sidebar/Widgets/ProfileMenu/ProviderMenuItem/ProviderMenuItem.tsx"],"sourcesContent":["import { useSidebar } from '@components/Sidebar/hooks/useSidebar'\nimport { MenuItem } from '@lokalise/louis'\nimport { canAccessProviderDashboard } from '@utils/user/permissions'\n\n/**\n * A menu item component for navigating to the provider dashboard.\n * It checks the current user's permissions using the Sidebar context\n * and renders nothing if the user does not have access.\n *\n * @example\n * ```\n * <ProviderMenuItem />\n * ```\n *\n * @note This component must be used within a Sidebar Context.\n */\n\nexport const ProviderMenuItem = () => {\n\tconst { jwt } = useSidebar()\n\n\tif (!canAccessProviderDashboard(jwt.result)) {\n\t\treturn null\n\t}\n\n\treturn <MenuItem href=\"/provider\">Provider dashboard</MenuItem>\n}\n"],"names":[],"mappings":";;;;AAiBO,MAAM,mBAAmB,MAAM;AAC/B,QAAA,EAAE,IAAI,IAAI,WAAW;AAE3B,MAAI,CAAC,2BAA2B,IAAI,MAAM,GAAG;AACrC,WAAA;AAAA,EAAA;AAGR,SAAQ,oBAAA,UAAA,EAAS,MAAK,aAAY,UAAkB,sBAAA;AACrD;"}
1
+ {"version":3,"file":"harmony113.mjs","sources":["../src/components/Sidebar/Widgets/ProfileMenu/ProfileSettingsMenuItem/ProfileSettingsMenuItem.tsx"],"sourcesContent":["import { useSidebar } from '@components/Sidebar/hooks/useSidebar'\nimport { MenuItem } from '@lokalise/louis'\nimport { canAccessProfileSettings } from '@utils/user/permissions'\nimport styles from './ProfileSettingsMenuItem.module.css'\n\n/**\n * A menu item component for navigating to the profile settings page.\n * Checks the user's permissions using the Sidebar context and renders\n * nothing if the user does not have access.\n *\n * @example\n * ```\n * <ProfileSettingsMenuItem onClick={() => { }} />\n * ```\n *\n * @note This component must be used within a Sidebar Context.\n */\n\ntype ProfileSettingsMenuItem = {\n\tonClick?: () => void\n}\n\nexport const ProfileSettingsMenuItem = ({ onClick }: ProfileSettingsMenuItem) => {\n\tconst { jwt } = useSidebar()\n\n\tif (!canAccessProfileSettings(jwt.result)) {\n\t\treturn null\n\t}\n\n\treturn (\n\t\t<MenuItem\n\t\t\tdata-testid=\"sidebar-profile-settings-menu-item\"\n\t\t\thref=\"/settings\"\n\t\t\tonClick={() => {\n\t\t\t\tonClick?.()\n\t\t\t}}\n\t\t>\n\t\t\t<div className={`flex-col ${styles.container}`}>\n\t\t\t\t<span>Profile Settings</span>\n\t\t\t\t<span className={styles.profileEmail}>{jwt.result?.userEmail}</span>\n\t\t\t</div>\n\t\t</MenuItem>\n\t)\n}\n"],"names":[],"mappings":";;;;;AAsBO,MAAM,0BAA0B,CAAC,EAAE,cAAuC;;AAC1E,QAAA,EAAE,IAAI,IAAI,WAAW;AAE3B,MAAI,CAAC,yBAAyB,IAAI,MAAM,GAAG;AACnC,WAAA;AAAA,EAAA;AAIP,SAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACA,eAAY;AAAA,MACZ,MAAK;AAAA,MACL,SAAS,MAAM;AACJ;AAAA,MACX;AAAA,MAEA,+BAAC,OAAI,EAAA,WAAW,YAAY,OAAO,SAAS,IAC3C,UAAA;AAAA,QAAA,oBAAC,UAAK,UAAgB,mBAAA,CAAA;AAAA,4BACrB,QAAK,EAAA,WAAW,OAAO,cAAe,WAAA,SAAI,WAAJ,mBAAY,UAAU,CAAA;AAAA,MAAA,EAC9D,CAAA;AAAA,IAAA;AAAA,EACD;AAEF;"}
@@ -1,41 +1,15 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
3
  const jsxRuntime = require("react/jsx-runtime");
4
- const useSidebar = require("./harmony95.cjs");
4
+ const useSidebar = require("./harmony94.cjs");
5
5
  const louis = require("@lokalise/louis");
6
- const plan = require("./harmony9.cjs");
7
- const TeamMenuItem_module = require("./harmony133.cjs");
8
- const TeamMenuItem = ({ team, onClick, hidePlanLabel }) => {
9
- var _a;
10
- const {
11
- jwt,
12
- data: { currentTeam }
13
- } = useSidebar.useSidebar();
14
- const contextTeam = team || currentTeam.result;
15
- if (!contextTeam || typeof ((_a = jwt.result) == null ? void 0 : _a.planId) !== "number" || !Number.isFinite(jwt.result.planId)) {
6
+ const permissions = require("./harmony95.cjs");
7
+ const ProviderMenuItem = () => {
8
+ const { jwt } = useSidebar.useSidebar();
9
+ if (!permissions.canAccessProviderDashboard(jwt.result)) {
16
10
  return null;
17
11
  }
18
- const planId = jwt.result.planId;
19
- const planLabel = plan.isFreePlan(planId) ? "Free" : plan.isTrialPlan(planId) ? "Trial" : void 0;
20
- const WrapperNode = onClick ? louis.MenuItem : "div";
21
- return /* @__PURE__ */ jsxRuntime.jsxs(
22
- WrapperNode,
23
- {
24
- "data-testid": "sidebar-team-menu-item",
25
- className: TeamMenuItem_module.default.wrapper,
26
- ...onClick && { onClick: () => onClick(contextTeam) },
27
- children: [
28
- contextTeam.logoUrl ? /* @__PURE__ */ jsxRuntime.jsx("img", { className: TeamMenuItem_module.default.profileImage, src: contextTeam.logoUrl, alt: "Team logo" }) : /* @__PURE__ */ jsxRuntime.jsx("span", { className: `${TeamMenuItem_module.default.defaultProfileImage}`, children: /* @__PURE__ */ jsxRuntime.jsx(louis.UserIcon, { size: "25px" }) }),
29
- /* @__PURE__ */ jsxRuntime.jsxs("div", { className: TeamMenuItem_module.default.teamDetails, children: [
30
- /* @__PURE__ */ jsxRuntime.jsxs("div", { className: TeamMenuItem_module.default.planWrapper, children: [
31
- /* @__PURE__ */ jsxRuntime.jsx("span", { title: contextTeam.name, className: TeamMenuItem_module.default.teamName, children: contextTeam.name }),
32
- planLabel && !hidePlanLabel && /* @__PURE__ */ jsxRuntime.jsx("span", { className: TeamMenuItem_module.default.teamName, children: planLabel })
33
- ] }),
34
- /* @__PURE__ */ jsxRuntime.jsx("span", { className: TeamMenuItem_module.default.membership, children: contextTeam.role })
35
- ] })
36
- ]
37
- }
38
- );
12
+ return /* @__PURE__ */ jsxRuntime.jsx(louis.MenuItem, { href: "/provider", children: "Provider dashboard" });
39
13
  };
40
- exports.TeamMenuItem = TeamMenuItem;
14
+ exports.ProviderMenuItem = ProviderMenuItem;
41
15
  //# sourceMappingURL=harmony114.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"harmony114.cjs","sources":["../src/components/Sidebar/Widgets/ProfileMenu/TeamMenuItem/TeamMenuItem.tsx"],"sourcesContent":["import { useSidebar } from '@components/Sidebar/hooks/useSidebar'\nimport { MenuItem, UserIcon } from '@lokalise/louis'\nimport { isFreePlan, isTrialPlan } from '@utils'\nimport type { SidebarTeam } from '../../../types'\nimport styles from './TeamMenuItem.module.css'\n\ntype TeamMenuItemProps = {\n\t/** Team to display. If not provided, uses the current team from context */\n\tteam?: SidebarTeam\n\t/** Callback for when the team item is clicked. If provided, renders as a clickable MenuItem */\n\tonClick?: (team: SidebarTeam) => void\n\t/** Whether to hide the plan label (Free/Trial). Useful when displaying multiple teams */\n\thidePlanLabel?: boolean\n}\n\n/**\n * A component that displays team information in a menu item format.\n * Renders team logo (or default user icon), team name, role, and plan label.\n *\n * The component can be used in two modes:\n * 1. As a static display of the current team (when no onClick handler is provided)\n * 2. As a clickable menu item for team switching (when onClick handler is provided)\n *\n * @example\n * ```tsx\n * // Static current team display\n * <TeamMenuItem />\n *\n * // Clickable team item for switching\n * <TeamMenuItem\n * team={someTeam}\n * onClick={(team) => handleTeamSwitch(team)}\n * hidePlanLabel\n * />\n * ```\n *\n * @note This component must be used within a Sidebar Context.\n */\n\nexport const TeamMenuItem = ({ team, onClick, hidePlanLabel }: TeamMenuItemProps) => {\n\tconst {\n\t\tjwt,\n\t\tdata: { currentTeam },\n\t} = useSidebar()\n\n\tconst contextTeam = team || currentTeam.result\n\n\tif (\n\t\t!contextTeam ||\n\t\ttypeof jwt.result?.planId !== 'number' ||\n\t\t!Number.isFinite(jwt.result.planId)\n\t) {\n\t\treturn null\n\t}\n\n\tconst planId = jwt.result.planId\n\n\tconst planLabel = isFreePlan(planId) ? 'Free' : isTrialPlan(planId) ? 'Trial' : undefined\n\n\tconst WrapperNode = onClick ? MenuItem : 'div'\n\n\treturn (\n\t\t<WrapperNode\n\t\t\tdata-testid=\"sidebar-team-menu-item\"\n\t\t\tclassName={styles.wrapper}\n\t\t\t{...(onClick && { onClick: () => onClick(contextTeam) })}\n\t\t>\n\t\t\t{contextTeam.logoUrl ? (\n\t\t\t\t<img className={styles.profileImage} src={contextTeam.logoUrl} alt=\"Team logo\" />\n\t\t\t) : (\n\t\t\t\t<span className={`${styles.defaultProfileImage}`}>\n\t\t\t\t\t<UserIcon size=\"25px\" />\n\t\t\t\t</span>\n\t\t\t)}\n\t\t\t<div className={styles.teamDetails}>\n\t\t\t\t<div className={styles.planWrapper}>\n\t\t\t\t\t<span title={contextTeam.name} className={styles.teamName}>\n\t\t\t\t\t\t{contextTeam.name}\n\t\t\t\t\t</span>\n\t\t\t\t\t{planLabel && !hidePlanLabel && <span className={styles.teamName}>{planLabel}</span>}\n\t\t\t\t</div>\n\t\t\t\t<span className={styles.membership}>{contextTeam.role}</span>\n\t\t\t</div>\n\t\t</WrapperNode>\n\t)\n}\n"],"names":["useSidebar","isFreePlan","isTrialPlan","MenuItem","jsxs","styles","jsx","UserIcon"],"mappings":";;;;;;;AAuCO,MAAM,eAAe,CAAC,EAAE,MAAM,SAAS,oBAAuC;;AAC9E,QAAA;AAAA,IACL;AAAA,IACA,MAAM,EAAE,YAAY;AAAA,MACjBA,sBAAW;AAET,QAAA,cAAc,QAAQ,YAAY;AAExC,MACC,CAAC,eACD,SAAO,SAAI,WAAJ,mBAAY,YAAW,YAC9B,CAAC,OAAO,SAAS,IAAI,OAAO,MAAM,GACjC;AACM,WAAA;AAAA,EAAA;AAGF,QAAA,SAAS,IAAI,OAAO;AAEpB,QAAA,YAAYC,gBAAW,MAAM,IAAI,SAASC,iBAAY,MAAM,IAAI,UAAU;AAE1E,QAAA,cAAc,UAAUC,MAAAA,WAAW;AAGxC,SAAAC,2BAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACA,eAAY;AAAA,MACZ,WAAWC,oBAAO,QAAA;AAAA,MACjB,GAAI,WAAW,EAAE,SAAS,MAAM,QAAQ,WAAW,EAAE;AAAA,MAErD,UAAA;AAAA,QAAY,YAAA,yCACX,OAAI,EAAA,WAAWA,oBAAAA,QAAO,cAAc,KAAK,YAAY,SAAS,KAAI,YAAA,CAAY,IAE9EC,+BAAA,QAAA,EAAK,WAAW,GAAGD,oBAAO,QAAA,mBAAmB,IAC7C,UAACC,2BAAAA,IAAAC,MAAAA,UAAA,EAAS,MAAK,OAAA,CAAO,EACvB,CAAA;AAAA,QAEAH,2BAAA,KAAA,OAAA,EAAI,WAAWC,oBAAAA,QAAO,aACtB,UAAA;AAAA,UAACD,2BAAA,KAAA,OAAA,EAAI,WAAWC,oBAAAA,QAAO,aACtB,UAAA;AAAA,YAACC,2BAAAA,IAAA,QAAA,EAAK,OAAO,YAAY,MAAM,WAAWD,oBAAAA,QAAO,UAC/C,sBAAY,KACd,CAAA;AAAA,YACC,aAAa,CAAC,iBAAiBC,2BAAAA,IAAC,UAAK,WAAWD,4BAAO,UAAW,UAAU,UAAA,CAAA;AAAA,UAAA,GAC9E;AAAA,yCACC,QAAK,EAAA,WAAWA,oBAAAA,QAAO,YAAa,sBAAY,KAAK,CAAA;AAAA,QAAA,EACvD,CAAA;AAAA,MAAA;AAAA,IAAA;AAAA,EACD;AAEF;;"}
1
+ {"version":3,"file":"harmony114.cjs","sources":["../src/components/Sidebar/Widgets/ProfileMenu/ProviderMenuItem/ProviderMenuItem.tsx"],"sourcesContent":["import { useSidebar } from '@components/Sidebar/hooks/useSidebar'\nimport { MenuItem } from '@lokalise/louis'\nimport { canAccessProviderDashboard } from '@utils/user/permissions'\n\n/**\n * A menu item component for navigating to the provider dashboard.\n * It checks the current user's permissions using the Sidebar context\n * and renders nothing if the user does not have access.\n *\n * @example\n * ```\n * <ProviderMenuItem />\n * ```\n *\n * @note This component must be used within a Sidebar Context.\n */\n\nexport const ProviderMenuItem = () => {\n\tconst { jwt } = useSidebar()\n\n\tif (!canAccessProviderDashboard(jwt.result)) {\n\t\treturn null\n\t}\n\n\treturn <MenuItem href=\"/provider\">Provider dashboard</MenuItem>\n}\n"],"names":["useSidebar","canAccessProviderDashboard","jsx","MenuItem"],"mappings":";;;;;;AAiBO,MAAM,mBAAmB,MAAM;AAC/B,QAAA,EAAE,IAAI,IAAIA,sBAAW;AAE3B,MAAI,CAACC,YAAA,2BAA2B,IAAI,MAAM,GAAG;AACrC,WAAA;AAAA,EAAA;AAGR,SAAQC,2BAAAA,IAAAC,MAAAA,UAAA,EAAS,MAAK,aAAY,UAAkB,sBAAA;AACrD;;"}
@@ -1,41 +1,15 @@
1
- import { jsxs, jsx } from "react/jsx-runtime";
2
- import { useSidebar } from "./harmony95.mjs";
3
- import { MenuItem, UserIcon } from "@lokalise/louis";
4
- import { isFreePlan, isTrialPlan } from "./harmony9.mjs";
5
- import styles from "./harmony133.mjs";
6
- const TeamMenuItem = ({ team, onClick, hidePlanLabel }) => {
7
- var _a;
8
- const {
9
- jwt,
10
- data: { currentTeam }
11
- } = useSidebar();
12
- const contextTeam = team || currentTeam.result;
13
- if (!contextTeam || typeof ((_a = jwt.result) == null ? void 0 : _a.planId) !== "number" || !Number.isFinite(jwt.result.planId)) {
1
+ import { jsx } from "react/jsx-runtime";
2
+ import { useSidebar } from "./harmony94.mjs";
3
+ import { MenuItem } from "@lokalise/louis";
4
+ import { canAccessProviderDashboard } from "./harmony95.mjs";
5
+ const ProviderMenuItem = () => {
6
+ const { jwt } = useSidebar();
7
+ if (!canAccessProviderDashboard(jwt.result)) {
14
8
  return null;
15
9
  }
16
- const planId = jwt.result.planId;
17
- const planLabel = isFreePlan(planId) ? "Free" : isTrialPlan(planId) ? "Trial" : void 0;
18
- const WrapperNode = onClick ? MenuItem : "div";
19
- return /* @__PURE__ */ jsxs(
20
- WrapperNode,
21
- {
22
- "data-testid": "sidebar-team-menu-item",
23
- className: styles.wrapper,
24
- ...onClick && { onClick: () => onClick(contextTeam) },
25
- children: [
26
- contextTeam.logoUrl ? /* @__PURE__ */ jsx("img", { className: styles.profileImage, src: contextTeam.logoUrl, alt: "Team logo" }) : /* @__PURE__ */ jsx("span", { className: `${styles.defaultProfileImage}`, children: /* @__PURE__ */ jsx(UserIcon, { size: "25px" }) }),
27
- /* @__PURE__ */ jsxs("div", { className: styles.teamDetails, children: [
28
- /* @__PURE__ */ jsxs("div", { className: styles.planWrapper, children: [
29
- /* @__PURE__ */ jsx("span", { title: contextTeam.name, className: styles.teamName, children: contextTeam.name }),
30
- planLabel && !hidePlanLabel && /* @__PURE__ */ jsx("span", { className: styles.teamName, children: planLabel })
31
- ] }),
32
- /* @__PURE__ */ jsx("span", { className: styles.membership, children: contextTeam.role })
33
- ] })
34
- ]
35
- }
36
- );
10
+ return /* @__PURE__ */ jsx(MenuItem, { href: "/provider", children: "Provider dashboard" });
37
11
  };
38
12
  export {
39
- TeamMenuItem
13
+ ProviderMenuItem
40
14
  };
41
15
  //# sourceMappingURL=harmony114.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"harmony114.mjs","sources":["../src/components/Sidebar/Widgets/ProfileMenu/TeamMenuItem/TeamMenuItem.tsx"],"sourcesContent":["import { useSidebar } from '@components/Sidebar/hooks/useSidebar'\nimport { MenuItem, UserIcon } from '@lokalise/louis'\nimport { isFreePlan, isTrialPlan } from '@utils'\nimport type { SidebarTeam } from '../../../types'\nimport styles from './TeamMenuItem.module.css'\n\ntype TeamMenuItemProps = {\n\t/** Team to display. If not provided, uses the current team from context */\n\tteam?: SidebarTeam\n\t/** Callback for when the team item is clicked. If provided, renders as a clickable MenuItem */\n\tonClick?: (team: SidebarTeam) => void\n\t/** Whether to hide the plan label (Free/Trial). Useful when displaying multiple teams */\n\thidePlanLabel?: boolean\n}\n\n/**\n * A component that displays team information in a menu item format.\n * Renders team logo (or default user icon), team name, role, and plan label.\n *\n * The component can be used in two modes:\n * 1. As a static display of the current team (when no onClick handler is provided)\n * 2. As a clickable menu item for team switching (when onClick handler is provided)\n *\n * @example\n * ```tsx\n * // Static current team display\n * <TeamMenuItem />\n *\n * // Clickable team item for switching\n * <TeamMenuItem\n * team={someTeam}\n * onClick={(team) => handleTeamSwitch(team)}\n * hidePlanLabel\n * />\n * ```\n *\n * @note This component must be used within a Sidebar Context.\n */\n\nexport const TeamMenuItem = ({ team, onClick, hidePlanLabel }: TeamMenuItemProps) => {\n\tconst {\n\t\tjwt,\n\t\tdata: { currentTeam },\n\t} = useSidebar()\n\n\tconst contextTeam = team || currentTeam.result\n\n\tif (\n\t\t!contextTeam ||\n\t\ttypeof jwt.result?.planId !== 'number' ||\n\t\t!Number.isFinite(jwt.result.planId)\n\t) {\n\t\treturn null\n\t}\n\n\tconst planId = jwt.result.planId\n\n\tconst planLabel = isFreePlan(planId) ? 'Free' : isTrialPlan(planId) ? 'Trial' : undefined\n\n\tconst WrapperNode = onClick ? MenuItem : 'div'\n\n\treturn (\n\t\t<WrapperNode\n\t\t\tdata-testid=\"sidebar-team-menu-item\"\n\t\t\tclassName={styles.wrapper}\n\t\t\t{...(onClick && { onClick: () => onClick(contextTeam) })}\n\t\t>\n\t\t\t{contextTeam.logoUrl ? (\n\t\t\t\t<img className={styles.profileImage} src={contextTeam.logoUrl} alt=\"Team logo\" />\n\t\t\t) : (\n\t\t\t\t<span className={`${styles.defaultProfileImage}`}>\n\t\t\t\t\t<UserIcon size=\"25px\" />\n\t\t\t\t</span>\n\t\t\t)}\n\t\t\t<div className={styles.teamDetails}>\n\t\t\t\t<div className={styles.planWrapper}>\n\t\t\t\t\t<span title={contextTeam.name} className={styles.teamName}>\n\t\t\t\t\t\t{contextTeam.name}\n\t\t\t\t\t</span>\n\t\t\t\t\t{planLabel && !hidePlanLabel && <span className={styles.teamName}>{planLabel}</span>}\n\t\t\t\t</div>\n\t\t\t\t<span className={styles.membership}>{contextTeam.role}</span>\n\t\t\t</div>\n\t\t</WrapperNode>\n\t)\n}\n"],"names":[],"mappings":";;;;;AAuCO,MAAM,eAAe,CAAC,EAAE,MAAM,SAAS,oBAAuC;;AAC9E,QAAA;AAAA,IACL;AAAA,IACA,MAAM,EAAE,YAAY;AAAA,MACjB,WAAW;AAET,QAAA,cAAc,QAAQ,YAAY;AAExC,MACC,CAAC,eACD,SAAO,SAAI,WAAJ,mBAAY,YAAW,YAC9B,CAAC,OAAO,SAAS,IAAI,OAAO,MAAM,GACjC;AACM,WAAA;AAAA,EAAA;AAGF,QAAA,SAAS,IAAI,OAAO;AAEpB,QAAA,YAAY,WAAW,MAAM,IAAI,SAAS,YAAY,MAAM,IAAI,UAAU;AAE1E,QAAA,cAAc,UAAU,WAAW;AAGxC,SAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACA,eAAY;AAAA,MACZ,WAAW,OAAO;AAAA,MACjB,GAAI,WAAW,EAAE,SAAS,MAAM,QAAQ,WAAW,EAAE;AAAA,MAErD,UAAA;AAAA,QAAY,YAAA,8BACX,OAAI,EAAA,WAAW,OAAO,cAAc,KAAK,YAAY,SAAS,KAAI,YAAA,CAAY,IAE9E,oBAAA,QAAA,EAAK,WAAW,GAAG,OAAO,mBAAmB,IAC7C,UAAC,oBAAA,UAAA,EAAS,MAAK,OAAA,CAAO,EACvB,CAAA;AAAA,QAEA,qBAAA,OAAA,EAAI,WAAW,OAAO,aACtB,UAAA;AAAA,UAAC,qBAAA,OAAA,EAAI,WAAW,OAAO,aACtB,UAAA;AAAA,YAAC,oBAAA,QAAA,EAAK,OAAO,YAAY,MAAM,WAAW,OAAO,UAC/C,sBAAY,KACd,CAAA;AAAA,YACC,aAAa,CAAC,iBAAiB,oBAAC,UAAK,WAAW,OAAO,UAAW,UAAU,UAAA,CAAA;AAAA,UAAA,GAC9E;AAAA,8BACC,QAAK,EAAA,WAAW,OAAO,YAAa,sBAAY,KAAK,CAAA;AAAA,QAAA,EACvD,CAAA;AAAA,MAAA;AAAA,IAAA;AAAA,EACD;AAEF;"}
1
+ {"version":3,"file":"harmony114.mjs","sources":["../src/components/Sidebar/Widgets/ProfileMenu/ProviderMenuItem/ProviderMenuItem.tsx"],"sourcesContent":["import { useSidebar } from '@components/Sidebar/hooks/useSidebar'\nimport { MenuItem } from '@lokalise/louis'\nimport { canAccessProviderDashboard } from '@utils/user/permissions'\n\n/**\n * A menu item component for navigating to the provider dashboard.\n * It checks the current user's permissions using the Sidebar context\n * and renders nothing if the user does not have access.\n *\n * @example\n * ```\n * <ProviderMenuItem />\n * ```\n *\n * @note This component must be used within a Sidebar Context.\n */\n\nexport const ProviderMenuItem = () => {\n\tconst { jwt } = useSidebar()\n\n\tif (!canAccessProviderDashboard(jwt.result)) {\n\t\treturn null\n\t}\n\n\treturn <MenuItem href=\"/provider\">Provider dashboard</MenuItem>\n}\n"],"names":[],"mappings":";;;;AAiBO,MAAM,mBAAmB,MAAM;AAC/B,QAAA,EAAE,IAAI,IAAI,WAAW;AAE3B,MAAI,CAAC,2BAA2B,IAAI,MAAM,GAAG;AACrC,WAAA;AAAA,EAAA;AAGR,SAAQ,oBAAA,UAAA,EAAS,MAAK,aAAY,UAAkB,sBAAA;AACrD;"}
@@ -1,15 +1,41 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
3
  const jsxRuntime = require("react/jsx-runtime");
4
- const useSidebar = require("./harmony95.cjs");
4
+ const useSidebar = require("./harmony94.cjs");
5
5
  const louis = require("@lokalise/louis");
6
- const permissions = require("./harmony96.cjs");
7
- const TeamSettingsMenuItem = () => {
8
- const { jwt } = useSidebar.useSidebar();
9
- if (!permissions.canAccessTeamSettings(jwt.result)) {
6
+ const plan = require("./harmony10.cjs");
7
+ const TeamMenuItem_module = require("./harmony134.cjs");
8
+ const TeamMenuItem = ({ team, onClick, hidePlanLabel }) => {
9
+ var _a;
10
+ const {
11
+ jwt,
12
+ data: { currentTeam }
13
+ } = useSidebar.useSidebar();
14
+ const contextTeam = team || currentTeam.result;
15
+ if (!contextTeam || typeof ((_a = jwt.result) == null ? void 0 : _a.planId) !== "number" || !Number.isFinite(jwt.result.planId)) {
10
16
  return null;
11
17
  }
12
- return /* @__PURE__ */ jsxRuntime.jsx(louis.MenuItem, { href: "/team", children: "Team settings" });
18
+ const planId = jwt.result.planId;
19
+ const planLabel = plan.isFreePlan(planId) ? "Free" : plan.isTrialPlan(planId) ? "Trial" : void 0;
20
+ const WrapperNode = onClick ? louis.MenuItem : "div";
21
+ return /* @__PURE__ */ jsxRuntime.jsxs(
22
+ WrapperNode,
23
+ {
24
+ "data-testid": "sidebar-team-menu-item",
25
+ className: TeamMenuItem_module.default.wrapper,
26
+ ...onClick && { onClick: () => onClick(contextTeam) },
27
+ children: [
28
+ contextTeam.logoUrl ? /* @__PURE__ */ jsxRuntime.jsx("img", { className: TeamMenuItem_module.default.profileImage, src: contextTeam.logoUrl, alt: "Team logo" }) : /* @__PURE__ */ jsxRuntime.jsx("span", { className: `${TeamMenuItem_module.default.defaultProfileImage}`, children: /* @__PURE__ */ jsxRuntime.jsx(louis.UserIcon, { size: "25px" }) }),
29
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: TeamMenuItem_module.default.teamDetails, children: [
30
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: TeamMenuItem_module.default.planWrapper, children: [
31
+ /* @__PURE__ */ jsxRuntime.jsx("span", { title: contextTeam.name, className: TeamMenuItem_module.default.teamName, children: contextTeam.name }),
32
+ planLabel && !hidePlanLabel && /* @__PURE__ */ jsxRuntime.jsx("span", { className: TeamMenuItem_module.default.teamName, children: planLabel })
33
+ ] }),
34
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: TeamMenuItem_module.default.membership, children: contextTeam.role })
35
+ ] })
36
+ ]
37
+ }
38
+ );
13
39
  };
14
- exports.TeamSettingsMenuItem = TeamSettingsMenuItem;
40
+ exports.TeamMenuItem = TeamMenuItem;
15
41
  //# sourceMappingURL=harmony115.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"harmony115.cjs","sources":["../src/components/Sidebar/Widgets/ProfileMenu/TeamSettingsMenuItem/TeamSettingsMenuItem.tsx"],"sourcesContent":["import { useSidebar } from '@components/Sidebar/hooks/useSidebar'\nimport { MenuItem } from '@lokalise/louis'\nimport { canAccessTeamSettings } from '@utils/user/permissions'\n\n/**\n * A menu item component for navigating to the team settings page.\n * It checks the current user's permissions using the Sidebar context\n * and renders nothing if the user does not have access.\n *\n * @example\n * ```\n * <TeamSettingsMenuItem />\n * ```\n *\n * @note This component must be used within a Sidebar Context.\n */\n\nexport const TeamSettingsMenuItem = () => {\n\tconst { jwt } = useSidebar()\n\n\tif (!canAccessTeamSettings(jwt.result)) {\n\t\treturn null\n\t}\n\n\treturn <MenuItem href=\"/team\">Team settings</MenuItem>\n}\n"],"names":["useSidebar","canAccessTeamSettings","jsx","MenuItem"],"mappings":";;;;;;AAiBO,MAAM,uBAAuB,MAAM;AACnC,QAAA,EAAE,IAAI,IAAIA,sBAAW;AAE3B,MAAI,CAACC,YAAA,sBAAsB,IAAI,MAAM,GAAG;AAChC,WAAA;AAAA,EAAA;AAGR,SAAQC,2BAAAA,IAAAC,MAAAA,UAAA,EAAS,MAAK,SAAQ,UAAa,iBAAA;AAC5C;;"}
1
+ {"version":3,"file":"harmony115.cjs","sources":["../src/components/Sidebar/Widgets/ProfileMenu/TeamMenuItem/TeamMenuItem.tsx"],"sourcesContent":["import { useSidebar } from '@components/Sidebar/hooks/useSidebar'\nimport { MenuItem, UserIcon } from '@lokalise/louis'\nimport { isFreePlan, isTrialPlan } from '@utils'\nimport type { SidebarTeam } from '../../../types'\nimport styles from './TeamMenuItem.module.css'\n\ntype TeamMenuItemProps = {\n\t/** Team to display. If not provided, uses the current team from context */\n\tteam?: SidebarTeam\n\t/** Callback for when the team item is clicked. If provided, renders as a clickable MenuItem */\n\tonClick?: (team: SidebarTeam) => void\n\t/** Whether to hide the plan label (Free/Trial). Useful when displaying multiple teams */\n\thidePlanLabel?: boolean\n}\n\n/**\n * A component that displays team information in a menu item format.\n * Renders team logo (or default user icon), team name, role, and plan label.\n *\n * The component can be used in two modes:\n * 1. As a static display of the current team (when no onClick handler is provided)\n * 2. As a clickable menu item for team switching (when onClick handler is provided)\n *\n * @example\n * ```tsx\n * // Static current team display\n * <TeamMenuItem />\n *\n * // Clickable team item for switching\n * <TeamMenuItem\n * team={someTeam}\n * onClick={(team) => handleTeamSwitch(team)}\n * hidePlanLabel\n * />\n * ```\n *\n * @note This component must be used within a Sidebar Context.\n */\n\nexport const TeamMenuItem = ({ team, onClick, hidePlanLabel }: TeamMenuItemProps) => {\n\tconst {\n\t\tjwt,\n\t\tdata: { currentTeam },\n\t} = useSidebar()\n\n\tconst contextTeam = team || currentTeam.result\n\n\tif (\n\t\t!contextTeam ||\n\t\ttypeof jwt.result?.planId !== 'number' ||\n\t\t!Number.isFinite(jwt.result.planId)\n\t) {\n\t\treturn null\n\t}\n\n\tconst planId = jwt.result.planId\n\n\tconst planLabel = isFreePlan(planId) ? 'Free' : isTrialPlan(planId) ? 'Trial' : undefined\n\n\tconst WrapperNode = onClick ? MenuItem : 'div'\n\n\treturn (\n\t\t<WrapperNode\n\t\t\tdata-testid=\"sidebar-team-menu-item\"\n\t\t\tclassName={styles.wrapper}\n\t\t\t{...(onClick && { onClick: () => onClick(contextTeam) })}\n\t\t>\n\t\t\t{contextTeam.logoUrl ? (\n\t\t\t\t<img className={styles.profileImage} src={contextTeam.logoUrl} alt=\"Team logo\" />\n\t\t\t) : (\n\t\t\t\t<span className={`${styles.defaultProfileImage}`}>\n\t\t\t\t\t<UserIcon size=\"25px\" />\n\t\t\t\t</span>\n\t\t\t)}\n\t\t\t<div className={styles.teamDetails}>\n\t\t\t\t<div className={styles.planWrapper}>\n\t\t\t\t\t<span title={contextTeam.name} className={styles.teamName}>\n\t\t\t\t\t\t{contextTeam.name}\n\t\t\t\t\t</span>\n\t\t\t\t\t{planLabel && !hidePlanLabel && <span className={styles.teamName}>{planLabel}</span>}\n\t\t\t\t</div>\n\t\t\t\t<span className={styles.membership}>{contextTeam.role}</span>\n\t\t\t</div>\n\t\t</WrapperNode>\n\t)\n}\n"],"names":["useSidebar","isFreePlan","isTrialPlan","MenuItem","jsxs","styles","jsx","UserIcon"],"mappings":";;;;;;;AAuCO,MAAM,eAAe,CAAC,EAAE,MAAM,SAAS,oBAAuC;;AAC9E,QAAA;AAAA,IACL;AAAA,IACA,MAAM,EAAE,YAAY;AAAA,MACjBA,sBAAW;AAET,QAAA,cAAc,QAAQ,YAAY;AAExC,MACC,CAAC,eACD,SAAO,SAAI,WAAJ,mBAAY,YAAW,YAC9B,CAAC,OAAO,SAAS,IAAI,OAAO,MAAM,GACjC;AACM,WAAA;AAAA,EAAA;AAGF,QAAA,SAAS,IAAI,OAAO;AAEpB,QAAA,YAAYC,gBAAW,MAAM,IAAI,SAASC,iBAAY,MAAM,IAAI,UAAU;AAE1E,QAAA,cAAc,UAAUC,MAAAA,WAAW;AAGxC,SAAAC,2BAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACA,eAAY;AAAA,MACZ,WAAWC,oBAAO,QAAA;AAAA,MACjB,GAAI,WAAW,EAAE,SAAS,MAAM,QAAQ,WAAW,EAAE;AAAA,MAErD,UAAA;AAAA,QAAY,YAAA,yCACX,OAAI,EAAA,WAAWA,oBAAAA,QAAO,cAAc,KAAK,YAAY,SAAS,KAAI,YAAA,CAAY,IAE9EC,+BAAA,QAAA,EAAK,WAAW,GAAGD,oBAAO,QAAA,mBAAmB,IAC7C,UAACC,2BAAAA,IAAAC,MAAAA,UAAA,EAAS,MAAK,OAAA,CAAO,EACvB,CAAA;AAAA,QAEAH,2BAAA,KAAA,OAAA,EAAI,WAAWC,oBAAAA,QAAO,aACtB,UAAA;AAAA,UAACD,2BAAA,KAAA,OAAA,EAAI,WAAWC,oBAAAA,QAAO,aACtB,UAAA;AAAA,YAACC,2BAAAA,IAAA,QAAA,EAAK,OAAO,YAAY,MAAM,WAAWD,oBAAAA,QAAO,UAC/C,sBAAY,KACd,CAAA;AAAA,YACC,aAAa,CAAC,iBAAiBC,2BAAAA,IAAC,UAAK,WAAWD,4BAAO,UAAW,UAAU,UAAA,CAAA;AAAA,UAAA,GAC9E;AAAA,yCACC,QAAK,EAAA,WAAWA,oBAAAA,QAAO,YAAa,sBAAY,KAAK,CAAA;AAAA,QAAA,EACvD,CAAA;AAAA,MAAA;AAAA,IAAA;AAAA,EACD;AAEF;;"}
@@ -1,15 +1,41 @@
1
- import { jsx } from "react/jsx-runtime";
2
- import { useSidebar } from "./harmony95.mjs";
3
- import { MenuItem } from "@lokalise/louis";
4
- import { canAccessTeamSettings } from "./harmony96.mjs";
5
- const TeamSettingsMenuItem = () => {
6
- const { jwt } = useSidebar();
7
- if (!canAccessTeamSettings(jwt.result)) {
1
+ import { jsxs, jsx } from "react/jsx-runtime";
2
+ import { useSidebar } from "./harmony94.mjs";
3
+ import { MenuItem, UserIcon } from "@lokalise/louis";
4
+ import { isFreePlan, isTrialPlan } from "./harmony10.mjs";
5
+ import styles from "./harmony134.mjs";
6
+ const TeamMenuItem = ({ team, onClick, hidePlanLabel }) => {
7
+ var _a;
8
+ const {
9
+ jwt,
10
+ data: { currentTeam }
11
+ } = useSidebar();
12
+ const contextTeam = team || currentTeam.result;
13
+ if (!contextTeam || typeof ((_a = jwt.result) == null ? void 0 : _a.planId) !== "number" || !Number.isFinite(jwt.result.planId)) {
8
14
  return null;
9
15
  }
10
- return /* @__PURE__ */ jsx(MenuItem, { href: "/team", children: "Team settings" });
16
+ const planId = jwt.result.planId;
17
+ const planLabel = isFreePlan(planId) ? "Free" : isTrialPlan(planId) ? "Trial" : void 0;
18
+ const WrapperNode = onClick ? MenuItem : "div";
19
+ return /* @__PURE__ */ jsxs(
20
+ WrapperNode,
21
+ {
22
+ "data-testid": "sidebar-team-menu-item",
23
+ className: styles.wrapper,
24
+ ...onClick && { onClick: () => onClick(contextTeam) },
25
+ children: [
26
+ contextTeam.logoUrl ? /* @__PURE__ */ jsx("img", { className: styles.profileImage, src: contextTeam.logoUrl, alt: "Team logo" }) : /* @__PURE__ */ jsx("span", { className: `${styles.defaultProfileImage}`, children: /* @__PURE__ */ jsx(UserIcon, { size: "25px" }) }),
27
+ /* @__PURE__ */ jsxs("div", { className: styles.teamDetails, children: [
28
+ /* @__PURE__ */ jsxs("div", { className: styles.planWrapper, children: [
29
+ /* @__PURE__ */ jsx("span", { title: contextTeam.name, className: styles.teamName, children: contextTeam.name }),
30
+ planLabel && !hidePlanLabel && /* @__PURE__ */ jsx("span", { className: styles.teamName, children: planLabel })
31
+ ] }),
32
+ /* @__PURE__ */ jsx("span", { className: styles.membership, children: contextTeam.role })
33
+ ] })
34
+ ]
35
+ }
36
+ );
11
37
  };
12
38
  export {
13
- TeamSettingsMenuItem
39
+ TeamMenuItem
14
40
  };
15
41
  //# sourceMappingURL=harmony115.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"harmony115.mjs","sources":["../src/components/Sidebar/Widgets/ProfileMenu/TeamSettingsMenuItem/TeamSettingsMenuItem.tsx"],"sourcesContent":["import { useSidebar } from '@components/Sidebar/hooks/useSidebar'\nimport { MenuItem } from '@lokalise/louis'\nimport { canAccessTeamSettings } from '@utils/user/permissions'\n\n/**\n * A menu item component for navigating to the team settings page.\n * It checks the current user's permissions using the Sidebar context\n * and renders nothing if the user does not have access.\n *\n * @example\n * ```\n * <TeamSettingsMenuItem />\n * ```\n *\n * @note This component must be used within a Sidebar Context.\n */\n\nexport const TeamSettingsMenuItem = () => {\n\tconst { jwt } = useSidebar()\n\n\tif (!canAccessTeamSettings(jwt.result)) {\n\t\treturn null\n\t}\n\n\treturn <MenuItem href=\"/team\">Team settings</MenuItem>\n}\n"],"names":[],"mappings":";;;;AAiBO,MAAM,uBAAuB,MAAM;AACnC,QAAA,EAAE,IAAI,IAAI,WAAW;AAE3B,MAAI,CAAC,sBAAsB,IAAI,MAAM,GAAG;AAChC,WAAA;AAAA,EAAA;AAGR,SAAQ,oBAAA,UAAA,EAAS,MAAK,SAAQ,UAAa,iBAAA;AAC5C;"}
1
+ {"version":3,"file":"harmony115.mjs","sources":["../src/components/Sidebar/Widgets/ProfileMenu/TeamMenuItem/TeamMenuItem.tsx"],"sourcesContent":["import { useSidebar } from '@components/Sidebar/hooks/useSidebar'\nimport { MenuItem, UserIcon } from '@lokalise/louis'\nimport { isFreePlan, isTrialPlan } from '@utils'\nimport type { SidebarTeam } from '../../../types'\nimport styles from './TeamMenuItem.module.css'\n\ntype TeamMenuItemProps = {\n\t/** Team to display. If not provided, uses the current team from context */\n\tteam?: SidebarTeam\n\t/** Callback for when the team item is clicked. If provided, renders as a clickable MenuItem */\n\tonClick?: (team: SidebarTeam) => void\n\t/** Whether to hide the plan label (Free/Trial). Useful when displaying multiple teams */\n\thidePlanLabel?: boolean\n}\n\n/**\n * A component that displays team information in a menu item format.\n * Renders team logo (or default user icon), team name, role, and plan label.\n *\n * The component can be used in two modes:\n * 1. As a static display of the current team (when no onClick handler is provided)\n * 2. As a clickable menu item for team switching (when onClick handler is provided)\n *\n * @example\n * ```tsx\n * // Static current team display\n * <TeamMenuItem />\n *\n * // Clickable team item for switching\n * <TeamMenuItem\n * team={someTeam}\n * onClick={(team) => handleTeamSwitch(team)}\n * hidePlanLabel\n * />\n * ```\n *\n * @note This component must be used within a Sidebar Context.\n */\n\nexport const TeamMenuItem = ({ team, onClick, hidePlanLabel }: TeamMenuItemProps) => {\n\tconst {\n\t\tjwt,\n\t\tdata: { currentTeam },\n\t} = useSidebar()\n\n\tconst contextTeam = team || currentTeam.result\n\n\tif (\n\t\t!contextTeam ||\n\t\ttypeof jwt.result?.planId !== 'number' ||\n\t\t!Number.isFinite(jwt.result.planId)\n\t) {\n\t\treturn null\n\t}\n\n\tconst planId = jwt.result.planId\n\n\tconst planLabel = isFreePlan(planId) ? 'Free' : isTrialPlan(planId) ? 'Trial' : undefined\n\n\tconst WrapperNode = onClick ? MenuItem : 'div'\n\n\treturn (\n\t\t<WrapperNode\n\t\t\tdata-testid=\"sidebar-team-menu-item\"\n\t\t\tclassName={styles.wrapper}\n\t\t\t{...(onClick && { onClick: () => onClick(contextTeam) })}\n\t\t>\n\t\t\t{contextTeam.logoUrl ? (\n\t\t\t\t<img className={styles.profileImage} src={contextTeam.logoUrl} alt=\"Team logo\" />\n\t\t\t) : (\n\t\t\t\t<span className={`${styles.defaultProfileImage}`}>\n\t\t\t\t\t<UserIcon size=\"25px\" />\n\t\t\t\t</span>\n\t\t\t)}\n\t\t\t<div className={styles.teamDetails}>\n\t\t\t\t<div className={styles.planWrapper}>\n\t\t\t\t\t<span title={contextTeam.name} className={styles.teamName}>\n\t\t\t\t\t\t{contextTeam.name}\n\t\t\t\t\t</span>\n\t\t\t\t\t{planLabel && !hidePlanLabel && <span className={styles.teamName}>{planLabel}</span>}\n\t\t\t\t</div>\n\t\t\t\t<span className={styles.membership}>{contextTeam.role}</span>\n\t\t\t</div>\n\t\t</WrapperNode>\n\t)\n}\n"],"names":[],"mappings":";;;;;AAuCO,MAAM,eAAe,CAAC,EAAE,MAAM,SAAS,oBAAuC;;AAC9E,QAAA;AAAA,IACL;AAAA,IACA,MAAM,EAAE,YAAY;AAAA,MACjB,WAAW;AAET,QAAA,cAAc,QAAQ,YAAY;AAExC,MACC,CAAC,eACD,SAAO,SAAI,WAAJ,mBAAY,YAAW,YAC9B,CAAC,OAAO,SAAS,IAAI,OAAO,MAAM,GACjC;AACM,WAAA;AAAA,EAAA;AAGF,QAAA,SAAS,IAAI,OAAO;AAEpB,QAAA,YAAY,WAAW,MAAM,IAAI,SAAS,YAAY,MAAM,IAAI,UAAU;AAE1E,QAAA,cAAc,UAAU,WAAW;AAGxC,SAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACA,eAAY;AAAA,MACZ,WAAW,OAAO;AAAA,MACjB,GAAI,WAAW,EAAE,SAAS,MAAM,QAAQ,WAAW,EAAE;AAAA,MAErD,UAAA;AAAA,QAAY,YAAA,8BACX,OAAI,EAAA,WAAW,OAAO,cAAc,KAAK,YAAY,SAAS,KAAI,YAAA,CAAY,IAE9E,oBAAA,QAAA,EAAK,WAAW,GAAG,OAAO,mBAAmB,IAC7C,UAAC,oBAAA,UAAA,EAAS,MAAK,OAAA,CAAO,EACvB,CAAA;AAAA,QAEA,qBAAA,OAAA,EAAI,WAAW,OAAO,aACtB,UAAA;AAAA,UAAC,qBAAA,OAAA,EAAI,WAAW,OAAO,aACtB,UAAA;AAAA,YAAC,oBAAA,QAAA,EAAK,OAAO,YAAY,MAAM,WAAW,OAAO,UAC/C,sBAAY,KACd,CAAA;AAAA,YACC,aAAa,CAAC,iBAAiB,oBAAC,UAAK,WAAW,OAAO,UAAW,UAAU,UAAA,CAAA;AAAA,UAAA,GAC9E;AAAA,8BACC,QAAK,EAAA,WAAW,OAAO,YAAa,sBAAY,KAAK,CAAA;AAAA,QAAA,EACvD,CAAA;AAAA,MAAA;AAAA,IAAA;AAAA,EACD;AAEF;"}
@@ -1,25 +1,15 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
3
  const jsxRuntime = require("react/jsx-runtime");
4
- const useSidebar = require("./harmony95.cjs");
5
- const TeamMenuItem = require("./harmony114.cjs");
6
- const TeamSwitch_module = require("./harmony134.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) {
4
+ const useSidebar = require("./harmony94.cjs");
5
+ const louis = require("@lokalise/louis");
6
+ const permissions = require("./harmony95.cjs");
7
+ const TeamSettingsMenuItem = () => {
8
+ const { jwt } = useSidebar.useSidebar();
9
+ if (!permissions.canAccessTeamSettings(jwt.result)) {
13
10
  return null;
14
11
  }
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
- );
12
+ return /* @__PURE__ */ jsxRuntime.jsx(louis.MenuItem, { href: "/team", children: "Team settings" });
23
13
  };
24
- exports.TeamSwitch = TeamSwitch;
14
+ exports.TeamSettingsMenuItem = TeamSettingsMenuItem;
25
15
  //# sourceMappingURL=harmony116.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"harmony116.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":"harmony116.cjs","sources":["../src/components/Sidebar/Widgets/ProfileMenu/TeamSettingsMenuItem/TeamSettingsMenuItem.tsx"],"sourcesContent":["import { useSidebar } from '@components/Sidebar/hooks/useSidebar'\nimport { MenuItem } from '@lokalise/louis'\nimport { canAccessTeamSettings } from '@utils/user/permissions'\n\n/**\n * A menu item component for navigating to the team settings page.\n * It checks the current user's permissions using the Sidebar context\n * and renders nothing if the user does not have access.\n *\n * @example\n * ```\n * <TeamSettingsMenuItem />\n * ```\n *\n * @note This component must be used within a Sidebar Context.\n */\n\nexport const TeamSettingsMenuItem = () => {\n\tconst { jwt } = useSidebar()\n\n\tif (!canAccessTeamSettings(jwt.result)) {\n\t\treturn null\n\t}\n\n\treturn <MenuItem href=\"/team\">Team settings</MenuItem>\n}\n"],"names":["useSidebar","canAccessTeamSettings","jsx","MenuItem"],"mappings":";;;;;;AAiBO,MAAM,uBAAuB,MAAM;AACnC,QAAA,EAAE,IAAI,IAAIA,sBAAW;AAE3B,MAAI,CAACC,YAAA,sBAAsB,IAAI,MAAM,GAAG;AAChC,WAAA;AAAA,EAAA;AAGR,SAAQC,2BAAAA,IAAAC,MAAAA,UAAA,EAAS,MAAK,SAAQ,UAAa,iBAAA;AAC5C;;"}
@@ -1,25 +1,15 @@
1
1
  import { jsx } from "react/jsx-runtime";
2
- import { useSidebar } from "./harmony95.mjs";
3
- import { TeamMenuItem } from "./harmony114.mjs";
4
- import styles from "./harmony134.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) {
2
+ import { useSidebar } from "./harmony94.mjs";
3
+ import { MenuItem } from "@lokalise/louis";
4
+ import { canAccessTeamSettings } from "./harmony95.mjs";
5
+ const TeamSettingsMenuItem = () => {
6
+ const { jwt } = useSidebar();
7
+ if (!canAccessTeamSettings(jwt.result)) {
11
8
  return null;
12
9
  }
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
- );
10
+ return /* @__PURE__ */ jsx(MenuItem, { href: "/team", children: "Team settings" });
21
11
  };
22
12
  export {
23
- TeamSwitch
13
+ TeamSettingsMenuItem
24
14
  };
25
15
  //# sourceMappingURL=harmony116.mjs.map