@lokalise/harmony 1.26.2 → 1.27.0

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 (447) hide show
  1. package/dist/harmony.cjs +51 -26
  2. package/dist/harmony.cjs.map +1 -1
  3. package/dist/harmony.mjs +52 -27
  4. package/dist/harmony.mjs.map +1 -1
  5. package/dist/harmony100.cjs +18 -62
  6. package/dist/harmony100.cjs.map +1 -1
  7. package/dist/harmony100.mjs +18 -62
  8. package/dist/harmony100.mjs.map +1 -1
  9. package/dist/harmony101.cjs +13 -87
  10. package/dist/harmony101.cjs.map +1 -1
  11. package/dist/harmony101.mjs +13 -87
  12. package/dist/harmony101.mjs.map +1 -1
  13. package/dist/harmony102.cjs +3 -15
  14. package/dist/harmony102.cjs.map +1 -1
  15. package/dist/harmony102.mjs +3 -15
  16. package/dist/harmony102.mjs.map +1 -1
  17. package/dist/harmony103.cjs +6 -97
  18. package/dist/harmony103.cjs.map +1 -1
  19. package/dist/harmony103.mjs +5 -96
  20. package/dist/harmony103.mjs.map +1 -1
  21. package/dist/harmony104.cjs +6 -14
  22. package/dist/harmony104.cjs.map +1 -1
  23. package/dist/harmony104.mjs +5 -13
  24. package/dist/harmony104.mjs.map +1 -1
  25. package/dist/harmony105.cjs +60 -12
  26. package/dist/harmony105.cjs.map +1 -1
  27. package/dist/harmony105.mjs +60 -12
  28. package/dist/harmony105.mjs.map +1 -1
  29. package/dist/harmony106.cjs +88 -36
  30. package/dist/harmony106.cjs.map +1 -1
  31. package/dist/harmony106.mjs +88 -36
  32. package/dist/harmony106.mjs.map +1 -1
  33. package/dist/harmony107.cjs +19 -29
  34. package/dist/harmony107.cjs.map +1 -1
  35. package/dist/harmony107.mjs +18 -28
  36. package/dist/harmony107.mjs.map +1 -1
  37. package/dist/harmony108.cjs +96 -7
  38. package/dist/harmony108.cjs.map +1 -1
  39. package/dist/harmony108.mjs +96 -7
  40. package/dist/harmony108.mjs.map +1 -1
  41. package/dist/harmony109.cjs +13 -57
  42. package/dist/harmony109.cjs.map +1 -1
  43. package/dist/harmony109.mjs +13 -57
  44. package/dist/harmony109.mjs.map +1 -1
  45. package/dist/harmony110.cjs +14 -60
  46. package/dist/harmony110.cjs.map +1 -1
  47. package/dist/harmony110.mjs +14 -60
  48. package/dist/harmony110.mjs.map +1 -1
  49. package/dist/harmony111.cjs +37 -19
  50. package/dist/harmony111.cjs.map +1 -1
  51. package/dist/harmony111.mjs +36 -18
  52. package/dist/harmony111.mjs.map +1 -1
  53. package/dist/harmony112.cjs +27 -12
  54. package/dist/harmony112.cjs.map +1 -1
  55. package/dist/harmony112.mjs +27 -12
  56. package/dist/harmony112.mjs.map +1 -1
  57. package/dist/harmony113.cjs +7 -15
  58. package/dist/harmony113.cjs.map +1 -1
  59. package/dist/harmony113.mjs +7 -15
  60. package/dist/harmony113.mjs.map +1 -1
  61. package/dist/harmony114.cjs +57 -16
  62. package/dist/harmony114.cjs.map +1 -1
  63. package/dist/harmony114.mjs +57 -16
  64. package/dist/harmony114.mjs.map +1 -1
  65. package/dist/harmony115.cjs +60 -11
  66. package/dist/harmony115.cjs.map +1 -1
  67. package/dist/harmony115.mjs +60 -11
  68. package/dist/harmony115.mjs.map +1 -1
  69. package/dist/harmony116.cjs +19 -17
  70. package/dist/harmony116.cjs.map +1 -1
  71. package/dist/harmony116.mjs +18 -16
  72. package/dist/harmony116.mjs.map +1 -1
  73. package/dist/harmony117.cjs +12 -20
  74. package/dist/harmony117.cjs.map +1 -1
  75. package/dist/harmony117.mjs +12 -20
  76. package/dist/harmony117.mjs.map +1 -1
  77. package/dist/harmony118.cjs +13 -10
  78. package/dist/harmony118.cjs.map +1 -1
  79. package/dist/harmony118.mjs +13 -10
  80. package/dist/harmony118.mjs.map +1 -1
  81. package/dist/harmony119.cjs +16 -46
  82. package/dist/harmony119.cjs.map +1 -1
  83. package/dist/harmony119.mjs +16 -46
  84. package/dist/harmony119.mjs.map +1 -1
  85. package/dist/harmony120.cjs +12 -13
  86. package/dist/harmony120.cjs.map +1 -1
  87. package/dist/harmony120.mjs +11 -12
  88. package/dist/harmony120.mjs.map +1 -1
  89. package/dist/harmony121.cjs +15 -5
  90. package/dist/harmony121.cjs.map +1 -1
  91. package/dist/harmony121.mjs +15 -5
  92. package/dist/harmony121.mjs.map +1 -1
  93. package/dist/harmony122.cjs +20 -11
  94. package/dist/harmony122.cjs.map +1 -1
  95. package/dist/harmony122.mjs +20 -11
  96. package/dist/harmony122.mjs.map +1 -1
  97. package/dist/harmony123.cjs +10 -30
  98. package/dist/harmony123.cjs.map +1 -1
  99. package/dist/harmony123.mjs +10 -30
  100. package/dist/harmony123.mjs.map +1 -1
  101. package/dist/harmony124.cjs +5 -13
  102. package/dist/harmony124.cjs.map +1 -1
  103. package/dist/harmony124.mjs +5 -13
  104. package/dist/harmony124.mjs.map +1 -1
  105. package/dist/harmony125.cjs +15 -0
  106. package/dist/harmony125.cjs.map +1 -0
  107. package/dist/harmony125.mjs +15 -0
  108. package/dist/harmony125.mjs.map +1 -0
  109. package/dist/harmony126.cjs +35 -0
  110. package/dist/harmony126.cjs.map +1 -0
  111. package/dist/harmony126.mjs +35 -0
  112. package/dist/harmony126.mjs.map +1 -0
  113. package/dist/harmony127.cjs +17 -0
  114. package/dist/harmony127.cjs.map +1 -0
  115. package/dist/harmony127.mjs +17 -0
  116. package/dist/harmony127.mjs.map +1 -0
  117. package/dist/harmony128.cjs +49 -0
  118. package/dist/harmony128.cjs.map +1 -0
  119. package/dist/harmony128.mjs +49 -0
  120. package/dist/harmony128.mjs.map +1 -0
  121. package/dist/harmony129.cjs +15 -0
  122. package/dist/harmony129.cjs.map +1 -0
  123. package/dist/harmony129.mjs +15 -0
  124. package/dist/harmony129.mjs.map +1 -0
  125. package/dist/harmony15.cjs +1 -1
  126. package/dist/harmony15.mjs +1 -1
  127. package/dist/harmony20.cjs +1 -1
  128. package/dist/harmony20.mjs +1 -1
  129. package/dist/harmony21.cjs +1 -1
  130. package/dist/harmony21.mjs +1 -1
  131. package/dist/harmony22.cjs +2 -2
  132. package/dist/harmony22.mjs +2 -2
  133. package/dist/harmony23.cjs +1 -1
  134. package/dist/harmony23.mjs +1 -1
  135. package/dist/harmony24.cjs +1 -1
  136. package/dist/harmony24.mjs +1 -1
  137. package/dist/harmony25.cjs +1 -1
  138. package/dist/harmony25.mjs +1 -1
  139. package/dist/harmony26.cjs +2 -2
  140. package/dist/harmony26.mjs +2 -2
  141. package/dist/harmony27.cjs +2 -2
  142. package/dist/harmony27.mjs +2 -2
  143. package/dist/harmony28.cjs +2 -2
  144. package/dist/harmony28.mjs +2 -2
  145. package/dist/harmony29.cjs +15 -8
  146. package/dist/harmony29.cjs.map +1 -1
  147. package/dist/harmony29.mjs +15 -8
  148. package/dist/harmony29.mjs.map +1 -1
  149. package/dist/harmony3.cjs +3 -3
  150. package/dist/harmony3.mjs +3 -3
  151. package/dist/harmony30.cjs +3 -3
  152. package/dist/harmony30.mjs +3 -3
  153. package/dist/harmony31.cjs +16 -8
  154. package/dist/harmony31.cjs.map +1 -1
  155. package/dist/harmony31.mjs +16 -8
  156. package/dist/harmony31.mjs.map +1 -1
  157. package/dist/harmony32.cjs +8 -12
  158. package/dist/harmony32.cjs.map +1 -1
  159. package/dist/harmony32.mjs +9 -13
  160. package/dist/harmony32.mjs.map +1 -1
  161. package/dist/harmony33.cjs +14 -14
  162. package/dist/harmony33.cjs.map +1 -1
  163. package/dist/harmony33.mjs +14 -14
  164. package/dist/harmony33.mjs.map +1 -1
  165. package/dist/harmony34.cjs +3 -3
  166. package/dist/harmony34.cjs.map +1 -1
  167. package/dist/harmony34.mjs +4 -4
  168. package/dist/harmony34.mjs.map +1 -1
  169. package/dist/harmony35.cjs +5 -4
  170. package/dist/harmony35.cjs.map +1 -1
  171. package/dist/harmony35.mjs +5 -4
  172. package/dist/harmony35.mjs.map +1 -1
  173. package/dist/harmony36.cjs +6 -10
  174. package/dist/harmony36.cjs.map +1 -1
  175. package/dist/harmony36.mjs +8 -12
  176. package/dist/harmony36.mjs.map +1 -1
  177. package/dist/harmony37.cjs +14 -12
  178. package/dist/harmony37.cjs.map +1 -1
  179. package/dist/harmony37.mjs +14 -12
  180. package/dist/harmony37.mjs.map +1 -1
  181. package/dist/harmony38.cjs +14 -12
  182. package/dist/harmony38.cjs.map +1 -1
  183. package/dist/harmony38.mjs +15 -13
  184. package/dist/harmony38.mjs.map +1 -1
  185. package/dist/harmony39.cjs +9 -9
  186. package/dist/harmony39.cjs.map +1 -1
  187. package/dist/harmony39.mjs +9 -9
  188. package/dist/harmony39.mjs.map +1 -1
  189. package/dist/harmony4.cjs +10 -10
  190. package/dist/harmony4.mjs +10 -10
  191. package/dist/harmony40.cjs +12 -14
  192. package/dist/harmony40.cjs.map +1 -1
  193. package/dist/harmony40.mjs +13 -15
  194. package/dist/harmony40.mjs.map +1 -1
  195. package/dist/harmony41.cjs +12 -14
  196. package/dist/harmony41.cjs.map +1 -1
  197. package/dist/harmony41.mjs +12 -14
  198. package/dist/harmony41.mjs.map +1 -1
  199. package/dist/harmony42.cjs +10 -10
  200. package/dist/harmony42.cjs.map +1 -1
  201. package/dist/harmony42.mjs +10 -10
  202. package/dist/harmony42.mjs.map +1 -1
  203. package/dist/harmony43.cjs +14 -12
  204. package/dist/harmony43.cjs.map +1 -1
  205. package/dist/harmony43.mjs +14 -12
  206. package/dist/harmony43.mjs.map +1 -1
  207. package/dist/harmony44.cjs +7 -7
  208. package/dist/harmony44.cjs.map +1 -1
  209. package/dist/harmony44.mjs +8 -8
  210. package/dist/harmony44.mjs.map +1 -1
  211. package/dist/harmony45.cjs +13 -12
  212. package/dist/harmony45.cjs.map +1 -1
  213. package/dist/harmony45.mjs +15 -14
  214. package/dist/harmony45.mjs.map +1 -1
  215. package/dist/harmony46.cjs +17 -56
  216. package/dist/harmony46.cjs.map +1 -1
  217. package/dist/harmony46.mjs +17 -56
  218. package/dist/harmony46.mjs.map +1 -1
  219. package/dist/harmony47.cjs +13 -79
  220. package/dist/harmony47.cjs.map +1 -1
  221. package/dist/harmony47.mjs +13 -79
  222. package/dist/harmony47.mjs.map +1 -1
  223. package/dist/harmony48.cjs +52 -16
  224. package/dist/harmony48.cjs.map +1 -1
  225. package/dist/harmony48.mjs +52 -16
  226. package/dist/harmony48.mjs.map +1 -1
  227. package/dist/harmony49.cjs +68 -98
  228. package/dist/harmony49.cjs.map +1 -1
  229. package/dist/harmony49.mjs +68 -98
  230. package/dist/harmony49.mjs.map +1 -1
  231. package/dist/harmony5.cjs +1 -1
  232. package/dist/harmony5.mjs +1 -1
  233. package/dist/harmony50.cjs +4 -19
  234. package/dist/harmony50.cjs.map +1 -1
  235. package/dist/harmony50.mjs +4 -19
  236. package/dist/harmony50.mjs.map +1 -1
  237. package/dist/harmony51.cjs +22 -25
  238. package/dist/harmony51.cjs.map +1 -1
  239. package/dist/harmony51.mjs +22 -25
  240. package/dist/harmony51.mjs.map +1 -1
  241. package/dist/harmony52.cjs +35 -6
  242. package/dist/harmony52.cjs.map +1 -1
  243. package/dist/harmony52.mjs +35 -6
  244. package/dist/harmony52.mjs.map +1 -1
  245. package/dist/harmony53.cjs +111 -18
  246. package/dist/harmony53.cjs.map +1 -1
  247. package/dist/harmony53.mjs +111 -18
  248. package/dist/harmony53.mjs.map +1 -1
  249. package/dist/harmony54.cjs +19 -16
  250. package/dist/harmony54.cjs.map +1 -1
  251. package/dist/harmony54.mjs +19 -16
  252. package/dist/harmony54.mjs.map +1 -1
  253. package/dist/harmony55.cjs +27 -16
  254. package/dist/harmony55.cjs.map +1 -1
  255. package/dist/harmony55.mjs +26 -15
  256. package/dist/harmony55.mjs.map +1 -1
  257. package/dist/harmony56.cjs +9 -19
  258. package/dist/harmony56.cjs.map +1 -1
  259. package/dist/harmony56.mjs +8 -18
  260. package/dist/harmony56.mjs.map +1 -1
  261. package/dist/harmony57.cjs +51 -62
  262. package/dist/harmony57.cjs.map +1 -1
  263. package/dist/harmony57.mjs +50 -61
  264. package/dist/harmony57.mjs.map +1 -1
  265. package/dist/harmony58.cjs +25 -7
  266. package/dist/harmony58.cjs.map +1 -1
  267. package/dist/harmony58.mjs +24 -6
  268. package/dist/harmony58.mjs.map +1 -1
  269. package/dist/harmony59.cjs +18 -9
  270. package/dist/harmony59.cjs.map +1 -1
  271. package/dist/harmony59.mjs +18 -9
  272. package/dist/harmony59.mjs.map +1 -1
  273. package/dist/harmony6.cjs +4 -4
  274. package/dist/harmony6.mjs +4 -4
  275. package/dist/harmony60.cjs +16 -19
  276. package/dist/harmony60.cjs.map +1 -1
  277. package/dist/harmony60.mjs +15 -18
  278. package/dist/harmony60.mjs.map +1 -1
  279. package/dist/harmony61.cjs +18 -23
  280. package/dist/harmony61.cjs.map +1 -1
  281. package/dist/harmony61.mjs +17 -22
  282. package/dist/harmony61.mjs.map +1 -1
  283. package/dist/harmony62.cjs +62 -6
  284. package/dist/harmony62.cjs.map +1 -1
  285. package/dist/harmony62.mjs +61 -5
  286. package/dist/harmony62.mjs.map +1 -1
  287. package/dist/harmony63.cjs +6 -32
  288. package/dist/harmony63.cjs.map +1 -1
  289. package/dist/harmony63.mjs +5 -31
  290. package/dist/harmony63.mjs.map +1 -1
  291. package/dist/harmony64.cjs +8 -31
  292. package/dist/harmony64.cjs.map +1 -1
  293. package/dist/harmony64.mjs +9 -32
  294. package/dist/harmony64.mjs.map +1 -1
  295. package/dist/harmony65.cjs +14 -15
  296. package/dist/harmony65.cjs.map +1 -1
  297. package/dist/harmony65.mjs +14 -15
  298. package/dist/harmony65.mjs.map +1 -1
  299. package/dist/harmony66.cjs +17 -25
  300. package/dist/harmony66.cjs.map +1 -1
  301. package/dist/harmony66.mjs +19 -27
  302. package/dist/harmony66.mjs.map +1 -1
  303. package/dist/harmony67.cjs +4 -58
  304. package/dist/harmony67.cjs.map +1 -1
  305. package/dist/harmony67.mjs +5 -59
  306. package/dist/harmony67.mjs.map +1 -1
  307. package/dist/harmony68.cjs +32 -9
  308. package/dist/harmony68.cjs.map +1 -1
  309. package/dist/harmony68.mjs +31 -8
  310. package/dist/harmony68.mjs.map +1 -1
  311. package/dist/harmony69.cjs +30 -6
  312. package/dist/harmony69.cjs.map +1 -1
  313. package/dist/harmony69.mjs +32 -8
  314. package/dist/harmony69.mjs.map +1 -1
  315. package/dist/harmony70.cjs +15 -25
  316. package/dist/harmony70.cjs.map +1 -1
  317. package/dist/harmony70.mjs +15 -25
  318. package/dist/harmony70.mjs.map +1 -1
  319. package/dist/harmony71.cjs +31 -3
  320. package/dist/harmony71.cjs.map +1 -1
  321. package/dist/harmony71.mjs +31 -3
  322. package/dist/harmony71.mjs.map +1 -1
  323. package/dist/harmony72.cjs +57 -9
  324. package/dist/harmony72.cjs.map +1 -1
  325. package/dist/harmony72.mjs +59 -11
  326. package/dist/harmony72.mjs.map +1 -1
  327. package/dist/harmony73.cjs +6 -18
  328. package/dist/harmony73.cjs.map +1 -1
  329. package/dist/harmony73.mjs +7 -19
  330. package/dist/harmony73.mjs.map +1 -1
  331. package/dist/harmony74.cjs +9 -7
  332. package/dist/harmony74.cjs.map +1 -1
  333. package/dist/harmony74.mjs +8 -6
  334. package/dist/harmony74.mjs.map +1 -1
  335. package/dist/harmony75.cjs +30 -10
  336. package/dist/harmony75.cjs.map +1 -1
  337. package/dist/harmony75.mjs +29 -9
  338. package/dist/harmony75.mjs.map +1 -1
  339. package/dist/harmony76.cjs +4 -10
  340. package/dist/harmony76.cjs.map +1 -1
  341. package/dist/harmony76.mjs +3 -9
  342. package/dist/harmony76.mjs.map +1 -1
  343. package/dist/harmony77.cjs +6 -57
  344. package/dist/harmony77.cjs.map +1 -1
  345. package/dist/harmony77.mjs +5 -56
  346. package/dist/harmony77.mjs.map +1 -1
  347. package/dist/harmony78.cjs +9 -32
  348. package/dist/harmony78.cjs.map +1 -1
  349. package/dist/harmony78.mjs +8 -31
  350. package/dist/harmony78.mjs.map +1 -1
  351. package/dist/harmony79.cjs +10 -6
  352. package/dist/harmony79.cjs.map +1 -1
  353. package/dist/harmony79.mjs +9 -5
  354. package/dist/harmony79.mjs.map +1 -1
  355. package/dist/harmony80.cjs +57 -9
  356. package/dist/harmony80.cjs.map +1 -1
  357. package/dist/harmony80.mjs +56 -8
  358. package/dist/harmony80.mjs.map +1 -1
  359. package/dist/harmony81.cjs +32 -24
  360. package/dist/harmony81.cjs.map +1 -1
  361. package/dist/harmony81.mjs +31 -23
  362. package/dist/harmony81.mjs.map +1 -1
  363. package/dist/harmony82.cjs +6 -7
  364. package/dist/harmony82.cjs.map +1 -1
  365. package/dist/harmony82.mjs +5 -6
  366. package/dist/harmony82.mjs.map +1 -1
  367. package/dist/harmony83.cjs +9 -21
  368. package/dist/harmony83.cjs.map +1 -1
  369. package/dist/harmony83.mjs +8 -20
  370. package/dist/harmony83.mjs.map +1 -1
  371. package/dist/harmony84.cjs +21 -9
  372. package/dist/harmony84.cjs.map +1 -1
  373. package/dist/harmony84.mjs +21 -9
  374. package/dist/harmony84.mjs.map +1 -1
  375. package/dist/harmony85.cjs +7 -19
  376. package/dist/harmony85.cjs.map +1 -1
  377. package/dist/harmony85.mjs +6 -18
  378. package/dist/harmony85.mjs.map +1 -1
  379. package/dist/harmony86.cjs +20 -13
  380. package/dist/harmony86.cjs.map +1 -1
  381. package/dist/harmony86.mjs +20 -13
  382. package/dist/harmony86.mjs.map +1 -1
  383. package/dist/harmony87.cjs +13 -17
  384. package/dist/harmony87.cjs.map +1 -1
  385. package/dist/harmony87.mjs +12 -16
  386. package/dist/harmony87.mjs.map +1 -1
  387. package/dist/harmony88.cjs +12 -22
  388. package/dist/harmony88.cjs.map +1 -1
  389. package/dist/harmony88.mjs +11 -21
  390. package/dist/harmony88.mjs.map +1 -1
  391. package/dist/harmony89.cjs +21 -5
  392. package/dist/harmony89.cjs.map +1 -1
  393. package/dist/harmony89.mjs +20 -4
  394. package/dist/harmony89.mjs.map +1 -1
  395. package/dist/harmony90.cjs +2 -2
  396. package/dist/harmony90.mjs +2 -2
  397. package/dist/harmony91.cjs +13 -129
  398. package/dist/harmony91.cjs.map +1 -1
  399. package/dist/harmony91.mjs +13 -129
  400. package/dist/harmony91.mjs.map +1 -1
  401. package/dist/harmony92.cjs +18 -9
  402. package/dist/harmony92.cjs.map +1 -1
  403. package/dist/harmony92.mjs +18 -9
  404. package/dist/harmony92.mjs.map +1 -1
  405. package/dist/harmony93.cjs +5 -5
  406. package/dist/harmony93.cjs.map +1 -1
  407. package/dist/harmony93.mjs +5 -5
  408. package/dist/harmony93.mjs.map +1 -1
  409. package/dist/harmony94.cjs +129 -37
  410. package/dist/harmony94.cjs.map +1 -1
  411. package/dist/harmony94.mjs +129 -37
  412. package/dist/harmony94.mjs.map +1 -1
  413. package/dist/harmony95.cjs +12 -60
  414. package/dist/harmony95.cjs.map +1 -1
  415. package/dist/harmony95.mjs +11 -59
  416. package/dist/harmony95.mjs.map +1 -1
  417. package/dist/harmony96.cjs +5 -7
  418. package/dist/harmony96.cjs.map +1 -1
  419. package/dist/harmony96.mjs +5 -7
  420. package/dist/harmony96.mjs.map +1 -1
  421. package/dist/harmony97.cjs +40 -6
  422. package/dist/harmony97.cjs.map +1 -1
  423. package/dist/harmony97.mjs +39 -5
  424. package/dist/harmony97.mjs.map +1 -1
  425. package/dist/harmony98.cjs +61 -6
  426. package/dist/harmony98.cjs.map +1 -1
  427. package/dist/harmony98.mjs +60 -5
  428. package/dist/harmony98.mjs.map +1 -1
  429. package/dist/harmony99.cjs +8 -6
  430. package/dist/harmony99.cjs.map +1 -1
  431. package/dist/harmony99.mjs +7 -5
  432. package/dist/harmony99.mjs.map +1 -1
  433. package/dist/types/src/features/publicApi/hooks/useGetProjectPermissionMetaQuery.d.ts +42 -0
  434. package/dist/types/src/features/publicApi/hooks/useListPermissionTemplates.d.ts +7 -5
  435. package/dist/types/src/features/publicApi/hooks/useListTeamsQuery.d.ts +37 -0
  436. package/dist/types/src/features/publicApi/hooks/useRetrieveTeamQuery.d.ts +37 -0
  437. package/dist/types/src/features/publicApi/hooks/useUpdateProjectMutation.d.ts +2 -2
  438. package/dist/types/src/features/publicApi/node.d.ts +5 -0
  439. package/dist/types/src/features/publicApi/permissionTemplates.d.ts +35 -25
  440. package/dist/types/src/features/publicApi/projects.d.ts +178 -5
  441. package/dist/types/src/features/publicApi/team.d.ts +297 -0
  442. package/dist/types/src/features/publicApi/types/paginationTypes.d.ts +12 -0
  443. package/dist/types/src/features/publicApi/types/permissionTemplateTypes.d.ts +56 -40
  444. package/dist/types/src/features/publicApi/types/permissionTypes.d.ts +34 -0
  445. package/dist/types/src/features/publicApi/types/projectTypes.d.ts +121 -12
  446. package/dist/types/src/features/publicApi/types/teamTypes.d.ts +257 -0
  447. package/package.json +1 -1
@@ -1,32 +1,22 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
3
  const jsxRuntime = require("react/jsx-runtime");
4
- const louis = require("@lokalise/louis");
5
- const clsx = require("./harmony55.cjs");
6
- const React = require("react");
7
- const NavItemContents = require("./harmony72.cjs");
8
- const styles_module = require("./harmony73.cjs");
9
- const NavigationTabsItem = React.forwardRef(
10
- ({ label, href = "", disabled = false, badge, onClick, novel }, ref) => /* @__PURE__ */ jsxRuntime.jsx(louis.Tooltip, { tooltip: "You do not have access to this function", show: disabled, children: /* @__PURE__ */ jsxRuntime.jsx(
4
+ const ProfileMenuContext = require("./harmony82.cjs");
5
+ const TeamMenuItem = require("./harmony69.cjs");
6
+ const TeamSwitch_module = require("./harmony85.cjs");
7
+ const TeamSwitch = ({ onSwitchTeam }) => {
8
+ const { otherTeams } = ProfileMenuContext.useProfileMenu();
9
+ if (otherTeams.length === 0) {
10
+ return null;
11
+ }
12
+ return /* @__PURE__ */ jsxRuntime.jsx(
11
13
  "div",
12
14
  {
13
- className: disabled ? styles_module.default.projectNavigationItemDisabled : styles_module.default.projectNavigationItem,
14
- children: onClick || disabled || !href ? /* @__PURE__ */ jsxRuntime.jsx(
15
- "button",
16
- {
17
- type: "button",
18
- ref,
19
- className: clsx.clsx(styles_module.default.withNavLinkStyle, {
20
- [styles_module.default.disabled]: disabled
21
- }),
22
- disabled,
23
- onClick,
24
- children: /* @__PURE__ */ jsxRuntime.jsx(NavItemContents.NavItemContents, { label, badge, novel })
25
- }
26
- ) : /* @__PURE__ */ jsxRuntime.jsx("a", { href, className: styles_module.default.withNavLinkStyle, children: /* @__PURE__ */ jsxRuntime.jsx(NavItemContents.NavItemContents, { label, badge, novel }) })
15
+ "data-testid": "sidebar-team-switch",
16
+ className: `flex-col items-stretch ${TeamSwitch_module.default.teamsContainer}`,
17
+ children: otherTeams.map((team) => /* @__PURE__ */ jsxRuntime.jsx(TeamMenuItem.TeamMenuItem, { team, onClick: onSwitchTeam, hidePlanLabel: true }, team.id))
27
18
  }
28
- ) })
29
- );
30
- NavigationTabsItem.displayName = "NavigationTabsItem";
31
- exports.NavigationTabsItem = NavigationTabsItem;
19
+ );
20
+ };
21
+ exports.TeamSwitch = TeamSwitch;
32
22
  //# sourceMappingURL=harmony70.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"harmony70.cjs","sources":["../src/components/NavigationPanel/components/NavigationTabs/NavigationTabsItem/NavigationTabsItem.tsx"],"sourcesContent":["import { Tooltip } from '@lokalise/louis'\nimport clsx from 'clsx'\nimport { forwardRef } from 'react'\nimport { NavItemContents } from './NavItemContents'\nimport classes from './styles.module.css'\n\ntype NavigationTabsItemProps = {\n\tlabel: string\n\tbadge?: number\n\tdisabled?: boolean\n\tactive?: boolean\n\tonClick?: () => void\n\thref?: string\n\tnovel?: string\n}\n\nexport const NavigationTabsItem = forwardRef<HTMLButtonElement, NavigationTabsItemProps>(\n\t({ label, href = '', disabled = false, badge, onClick, novel }, ref) => (\n\t\t<Tooltip tooltip=\"You do not have access to this function\" show={disabled}>\n\t\t\t<div\n\t\t\t\tclassName={disabled ? classes.projectNavigationItemDisabled : classes.projectNavigationItem}\n\t\t\t>\n\t\t\t\t{onClick || disabled || !href ? (\n\t\t\t\t\t<button\n\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\tref={ref}\n\t\t\t\t\t\tclassName={clsx(classes.withNavLinkStyle, {\n\t\t\t\t\t\t\t[classes.disabled]: disabled,\n\t\t\t\t\t\t})}\n\t\t\t\t\t\tdisabled={disabled}\n\t\t\t\t\t\tonClick={onClick}\n\t\t\t\t\t>\n\t\t\t\t\t\t<NavItemContents label={label} badge={badge} novel={novel} />\n\t\t\t\t\t</button>\n\t\t\t\t) : (\n\t\t\t\t\t<a href={href} className={classes.withNavLinkStyle}>\n\t\t\t\t\t\t<NavItemContents label={label} badge={badge} novel={novel} />\n\t\t\t\t\t</a>\n\t\t\t\t)}\n\t\t\t</div>\n\t\t</Tooltip>\n\t),\n)\n\nNavigationTabsItem.displayName = 'NavigationTabsItem'\n"],"names":["forwardRef","jsx","Tooltip","classes","clsx","NavItemContents"],"mappings":";;;;;;;;AAgBO,MAAM,qBAAqBA,MAAA;AAAA,EACjC,CAAC,EAAE,OAAO,OAAO,IAAI,WAAW,OAAO,OAAO,SAAS,MAAA,GAAS,QAC/DC,2BAAA,IAACC,iBAAQ,SAAQ,2CAA0C,MAAM,UAChE,UAAAD,2BAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACA,WAAW,WAAWE,cAAAA,QAAQ,gCAAgCA,cAAQ,QAAA;AAAA,MAErE,UAAA,WAAW,YAAY,CAAC,OACxBF,2BAAA;AAAA,QAAC;AAAA,QAAA;AAAA,UACA,MAAK;AAAA,UACL;AAAA,UACA,WAAWG,KAAAA,KAAKD,cAAA,QAAQ,kBAAkB;AAAA,YACzC,CAACA,cAAAA,QAAQ,QAAQ,GAAG;AAAA,UAAA,CACpB;AAAA,UACD;AAAA,UACA;AAAA,UAEA,UAACF,2BAAA,IAAAI,gBAAA,iBAAA,EAAgB,OAAc,OAAc,MAAc,CAAA;AAAA,QAAA;AAAA,MAAA,IAG5DJ,2BAAAA,IAAC,KAAE,EAAA,MAAY,WAAWE,cAAA,QAAQ,kBACjC,UAAAF,2BAAA,IAACI,gBAAgB,iBAAA,EAAA,OAAc,OAAc,MAAc,CAAA,EAC5D,CAAA;AAAA,IAAA;AAAA,EAAA,EAGH,CAAA;AAEF;AAEA,mBAAmB,cAAc;;"}
1
+ {"version":3,"file":"harmony70.cjs","sources":["../src/components/Sidebar/Widgets/ProfileMenu/TeamSwitch/TeamSwitch.tsx"],"sourcesContent":["import type { SidebarTeam } from '../../../types'\nimport { useProfileMenu } from '../ProfileMenuContext'\nimport { TeamMenuItem } from '../TeamMenuItem/TeamMenuItem'\nimport styles from './TeamSwitch.module.css'\n\ntype TeamSwitchProps = {\n\t/** Callback function triggered when a user selects a different team */\n\tonSwitchTeam: (team: SidebarTeam) => void\n}\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 ProfileMenu 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 ProfileMenu component\n * as it requires access to the ProfileMenu context.\n */\nexport const TeamSwitch = ({ onSwitchTeam }: TeamSwitchProps) => {\n\tconst { otherTeams } = useProfileMenu()\n\n\tif (otherTeams.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.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":["useProfileMenu","jsx","styles","TeamMenuItem"],"mappings":";;;;;;AA+BO,MAAM,aAAa,CAAC,EAAE,mBAAoC;AAC1D,QAAA,EAAE,WAAW,IAAIA,kCAAe;AAElC,MAAA,WAAW,WAAW,GAAG;AACrB,WAAA;AAAA,EAAA;AAIP,SAAAC,2BAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACA,eAAY;AAAA,MACZ,WAAW,0BAA0BC,kBAAA,QAAO,cAAc;AAAA,MAEzD,UAAW,WAAA,IAAI,CAAC,SACfD,2BAAAA,IAAAE,aAAAA,cAAA,EAAa,MAA0B,SAAS,cAAc,eAAa,KAA7C,GAAA,KAAK,EAAyC,CAC7E;AAAA,IAAA;AAAA,EACF;AAEF;;"}
@@ -1,32 +1,22 @@
1
1
  import { jsx } from "react/jsx-runtime";
2
- import { Tooltip } from "@lokalise/louis";
3
- import { clsx } from "./harmony55.mjs";
4
- import { forwardRef } from "react";
5
- import { NavItemContents } from "./harmony72.mjs";
6
- import classes from "./harmony73.mjs";
7
- const NavigationTabsItem = forwardRef(
8
- ({ label, href = "", disabled = false, badge, onClick, novel }, ref) => /* @__PURE__ */ jsx(Tooltip, { tooltip: "You do not have access to this function", show: disabled, children: /* @__PURE__ */ jsx(
2
+ import { useProfileMenu } from "./harmony82.mjs";
3
+ import { TeamMenuItem } from "./harmony69.mjs";
4
+ import styles from "./harmony85.mjs";
5
+ const TeamSwitch = ({ onSwitchTeam }) => {
6
+ const { otherTeams } = useProfileMenu();
7
+ if (otherTeams.length === 0) {
8
+ return null;
9
+ }
10
+ return /* @__PURE__ */ jsx(
9
11
  "div",
10
12
  {
11
- className: disabled ? classes.projectNavigationItemDisabled : classes.projectNavigationItem,
12
- children: onClick || disabled || !href ? /* @__PURE__ */ jsx(
13
- "button",
14
- {
15
- type: "button",
16
- ref,
17
- className: clsx(classes.withNavLinkStyle, {
18
- [classes.disabled]: disabled
19
- }),
20
- disabled,
21
- onClick,
22
- children: /* @__PURE__ */ jsx(NavItemContents, { label, badge, novel })
23
- }
24
- ) : /* @__PURE__ */ jsx("a", { href, className: classes.withNavLinkStyle, children: /* @__PURE__ */ jsx(NavItemContents, { label, badge, novel }) })
13
+ "data-testid": "sidebar-team-switch",
14
+ className: `flex-col items-stretch ${styles.teamsContainer}`,
15
+ children: otherTeams.map((team) => /* @__PURE__ */ jsx(TeamMenuItem, { team, onClick: onSwitchTeam, hidePlanLabel: true }, team.id))
25
16
  }
26
- ) })
27
- );
28
- NavigationTabsItem.displayName = "NavigationTabsItem";
17
+ );
18
+ };
29
19
  export {
30
- NavigationTabsItem
20
+ TeamSwitch
31
21
  };
32
22
  //# sourceMappingURL=harmony70.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"harmony70.mjs","sources":["../src/components/NavigationPanel/components/NavigationTabs/NavigationTabsItem/NavigationTabsItem.tsx"],"sourcesContent":["import { Tooltip } from '@lokalise/louis'\nimport clsx from 'clsx'\nimport { forwardRef } from 'react'\nimport { NavItemContents } from './NavItemContents'\nimport classes from './styles.module.css'\n\ntype NavigationTabsItemProps = {\n\tlabel: string\n\tbadge?: number\n\tdisabled?: boolean\n\tactive?: boolean\n\tonClick?: () => void\n\thref?: string\n\tnovel?: string\n}\n\nexport const NavigationTabsItem = forwardRef<HTMLButtonElement, NavigationTabsItemProps>(\n\t({ label, href = '', disabled = false, badge, onClick, novel }, ref) => (\n\t\t<Tooltip tooltip=\"You do not have access to this function\" show={disabled}>\n\t\t\t<div\n\t\t\t\tclassName={disabled ? classes.projectNavigationItemDisabled : classes.projectNavigationItem}\n\t\t\t>\n\t\t\t\t{onClick || disabled || !href ? (\n\t\t\t\t\t<button\n\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\tref={ref}\n\t\t\t\t\t\tclassName={clsx(classes.withNavLinkStyle, {\n\t\t\t\t\t\t\t[classes.disabled]: disabled,\n\t\t\t\t\t\t})}\n\t\t\t\t\t\tdisabled={disabled}\n\t\t\t\t\t\tonClick={onClick}\n\t\t\t\t\t>\n\t\t\t\t\t\t<NavItemContents label={label} badge={badge} novel={novel} />\n\t\t\t\t\t</button>\n\t\t\t\t) : (\n\t\t\t\t\t<a href={href} className={classes.withNavLinkStyle}>\n\t\t\t\t\t\t<NavItemContents label={label} badge={badge} novel={novel} />\n\t\t\t\t\t</a>\n\t\t\t\t)}\n\t\t\t</div>\n\t\t</Tooltip>\n\t),\n)\n\nNavigationTabsItem.displayName = 'NavigationTabsItem'\n"],"names":[],"mappings":";;;;;;AAgBO,MAAM,qBAAqB;AAAA,EACjC,CAAC,EAAE,OAAO,OAAO,IAAI,WAAW,OAAO,OAAO,SAAS,MAAA,GAAS,QAC/D,oBAAC,WAAQ,SAAQ,2CAA0C,MAAM,UAChE,UAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACA,WAAW,WAAW,QAAQ,gCAAgC,QAAQ;AAAA,MAErE,UAAA,WAAW,YAAY,CAAC,OACxB;AAAA,QAAC;AAAA,QAAA;AAAA,UACA,MAAK;AAAA,UACL;AAAA,UACA,WAAW,KAAK,QAAQ,kBAAkB;AAAA,YACzC,CAAC,QAAQ,QAAQ,GAAG;AAAA,UAAA,CACpB;AAAA,UACD;AAAA,UACA;AAAA,UAEA,UAAC,oBAAA,iBAAA,EAAgB,OAAc,OAAc,MAAc,CAAA;AAAA,QAAA;AAAA,MAAA,IAG5D,oBAAC,KAAE,EAAA,MAAY,WAAW,QAAQ,kBACjC,UAAA,oBAAC,iBAAgB,EAAA,OAAc,OAAc,MAAc,CAAA,EAC5D,CAAA;AAAA,IAAA;AAAA,EAAA,EAGH,CAAA;AAEF;AAEA,mBAAmB,cAAc;"}
1
+ {"version":3,"file":"harmony70.mjs","sources":["../src/components/Sidebar/Widgets/ProfileMenu/TeamSwitch/TeamSwitch.tsx"],"sourcesContent":["import type { SidebarTeam } from '../../../types'\nimport { useProfileMenu } from '../ProfileMenuContext'\nimport { TeamMenuItem } from '../TeamMenuItem/TeamMenuItem'\nimport styles from './TeamSwitch.module.css'\n\ntype TeamSwitchProps = {\n\t/** Callback function triggered when a user selects a different team */\n\tonSwitchTeam: (team: SidebarTeam) => void\n}\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 ProfileMenu 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 ProfileMenu component\n * as it requires access to the ProfileMenu context.\n */\nexport const TeamSwitch = ({ onSwitchTeam }: TeamSwitchProps) => {\n\tconst { otherTeams } = useProfileMenu()\n\n\tif (otherTeams.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.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":";;;;AA+BO,MAAM,aAAa,CAAC,EAAE,mBAAoC;AAC1D,QAAA,EAAE,WAAW,IAAI,eAAe;AAElC,MAAA,WAAW,WAAW,GAAG;AACrB,WAAA;AAAA,EAAA;AAIP,SAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACA,eAAY;AAAA,MACZ,WAAW,0BAA0B,OAAO,cAAc;AAAA,MAEzD,UAAW,WAAA,IAAI,CAAC,SACf,oBAAA,cAAA,EAAa,MAA0B,SAAS,cAAc,eAAa,KAA7C,GAAA,KAAK,EAAyC,CAC7E;AAAA,IAAA;AAAA,EACF;AAEF;"}
@@ -1,6 +1,34 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const hasVisibleItems = (dropdownSections) => (dropdownSections == null ? void 0 : dropdownSections.some((section) => section.some((item) => item.visible))) ?? false;
4
- const isNavigationItemVisible = (item) => item.visible && (!item.dropdown || hasVisibleItems(item.dropdown));
5
- exports.isNavigationItemVisible = isNavigationItemVisible;
3
+ const jsxRuntime = require("react/jsx-runtime");
4
+ const louis = require("@lokalise/louis");
5
+ const plan = require("./harmony7.cjs");
6
+ const UpgradeIcon = require("./harmony86.cjs");
7
+ const ProfileMenuContext = require("./harmony82.cjs");
8
+ const UpgradeMenuItem_module = require("./harmony87.cjs");
9
+ const UpgradeMenuItem = ({ upgradeOptionHref }) => {
10
+ const { planId, trialDaysLeft, showUpgradeCta } = ProfileMenuContext.useProfileMenu();
11
+ if (!showUpgradeCta) {
12
+ return null;
13
+ }
14
+ const isOnFreePlan = plan.isFreePlan(planId);
15
+ const daysNoun = trialDaysLeft === 1 ? "day" : "days";
16
+ const ctaMessage = isOnFreePlan ? "Your team is currently on the Free plan" : `Free trial ends in ${trialDaysLeft} ${daysNoun}`;
17
+ return /* @__PURE__ */ jsxRuntime.jsxs(
18
+ louis.MenuItem,
19
+ {
20
+ "data-testid": "sidebar-upgrade-menu-item",
21
+ href: upgradeOptionHref,
22
+ className: `flex-col gap-1 items-start ${UpgradeMenuItem_module.default.container}`,
23
+ children: [
24
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: UpgradeMenuItem_module.default.planCta, children: ctaMessage }),
25
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: `flex-row items-center gap-1 ${UpgradeMenuItem_module.default.upgradeIconWrapper}`, children: [
26
+ /* @__PURE__ */ jsxRuntime.jsx(UpgradeIcon.UpgradeIcon, {}),
27
+ /* @__PURE__ */ jsxRuntime.jsx("span", { children: "See upgrade options" })
28
+ ] })
29
+ ]
30
+ }
31
+ );
32
+ };
33
+ exports.UpgradeMenuItem = UpgradeMenuItem;
6
34
  //# sourceMappingURL=harmony71.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"harmony71.cjs","sources":["../src/components/NavigationPanel/components/NavigationTabs/helpers.ts"],"sourcesContent":["import type { DropdownItem, NavigationTabsItem } from '../../types/navigation'\n\nconst hasVisibleItems = (dropdownSections?: DropdownItem[][]): boolean =>\n\tdropdownSections?.some((section) => section.some((item) => item.visible)) ?? false\n\nexport const isNavigationItemVisible = (item: NavigationTabsItem): boolean =>\n\titem.visible && (!item.dropdown || hasVisibleItems(item.dropdown))\n"],"names":[],"mappings":";;AAEA,MAAM,kBAAkB,CAAC,sBACxB,qDAAkB,KAAK,CAAC,YAAY,QAAQ,KAAK,CAAC,SAAS,KAAK,OAAO,OAAM;AAEjE,MAAA,0BAA0B,CAAC,SACvC,KAAK,YAAY,CAAC,KAAK,YAAY,gBAAgB,KAAK,QAAQ;;"}
1
+ {"version":3,"file":"harmony71.cjs","sources":["../src/components/Sidebar/Widgets/ProfileMenu/UpgradeMenuItem/UpgradeMenuItem.tsx"],"sourcesContent":["import { MenuItem } from '@lokalise/louis'\nimport { isFreePlan } from '@utils'\nimport { UpgradeIcon } from '../../../UpgradeIcon/UpgradeIcon'\nimport { useProfileMenu } from '../ProfileMenuContext'\nimport styles from './UpgradeMenuItem.module.css'\n\ntype UpgradeMenuItemProps = {\n\t/** URL to the upgrade page or pricing options */\n\tupgradeOptionHref: string\n}\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 upgradeOptionHref=\"/pricing\" />\n * ```\n *\n * @note This component must be used within a ProfileMenu component\n * as it requires access to the ProfileMenu context for plan information\n * and visibility control.\n */\nexport const UpgradeMenuItem = ({ upgradeOptionHref }: UpgradeMenuItemProps) => {\n\tconst { planId, trialDaysLeft, showUpgradeCta } = useProfileMenu()\n\n\tif (!showUpgradeCta) {\n\t\treturn null\n\t}\n\n\tconst isOnFreePlan = isFreePlan(planId)\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={upgradeOptionHref}\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":["useProfileMenu","isFreePlan","jsxs","MenuItem","styles","jsx","UpgradeIcon"],"mappings":";;;;;;;;AA+BO,MAAM,kBAAkB,CAAC,EAAE,wBAA8C;AAC/E,QAAM,EAAE,QAAQ,eAAe,eAAA,IAAmBA,mBAAAA,eAAe;AAEjE,MAAI,CAAC,gBAAgB;AACb,WAAA;AAAA,EAAA;AAGF,QAAA,eAAeC,gBAAW,MAAM;AAEhC,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,MAAM;AAAA,MACN,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,6 +1,34 @@
1
- const hasVisibleItems = (dropdownSections) => (dropdownSections == null ? void 0 : dropdownSections.some((section) => section.some((item) => item.visible))) ?? false;
2
- const isNavigationItemVisible = (item) => item.visible && (!item.dropdown || hasVisibleItems(item.dropdown));
1
+ import { jsxs, jsx } from "react/jsx-runtime";
2
+ import { MenuItem } from "@lokalise/louis";
3
+ import { isFreePlan } from "./harmony7.mjs";
4
+ import { UpgradeIcon } from "./harmony86.mjs";
5
+ import { useProfileMenu } from "./harmony82.mjs";
6
+ import styles from "./harmony87.mjs";
7
+ const UpgradeMenuItem = ({ upgradeOptionHref }) => {
8
+ const { planId, trialDaysLeft, showUpgradeCta } = useProfileMenu();
9
+ if (!showUpgradeCta) {
10
+ return null;
11
+ }
12
+ const isOnFreePlan = isFreePlan(planId);
13
+ const daysNoun = trialDaysLeft === 1 ? "day" : "days";
14
+ const ctaMessage = isOnFreePlan ? "Your team is currently on the Free plan" : `Free trial ends in ${trialDaysLeft} ${daysNoun}`;
15
+ return /* @__PURE__ */ jsxs(
16
+ MenuItem,
17
+ {
18
+ "data-testid": "sidebar-upgrade-menu-item",
19
+ href: upgradeOptionHref,
20
+ className: `flex-col gap-1 items-start ${styles.container}`,
21
+ children: [
22
+ /* @__PURE__ */ jsx("span", { className: styles.planCta, children: ctaMessage }),
23
+ /* @__PURE__ */ jsxs("div", { className: `flex-row items-center gap-1 ${styles.upgradeIconWrapper}`, children: [
24
+ /* @__PURE__ */ jsx(UpgradeIcon, {}),
25
+ /* @__PURE__ */ jsx("span", { children: "See upgrade options" })
26
+ ] })
27
+ ]
28
+ }
29
+ );
30
+ };
3
31
  export {
4
- isNavigationItemVisible
32
+ UpgradeMenuItem
5
33
  };
6
34
  //# sourceMappingURL=harmony71.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"harmony71.mjs","sources":["../src/components/NavigationPanel/components/NavigationTabs/helpers.ts"],"sourcesContent":["import type { DropdownItem, NavigationTabsItem } from '../../types/navigation'\n\nconst hasVisibleItems = (dropdownSections?: DropdownItem[][]): boolean =>\n\tdropdownSections?.some((section) => section.some((item) => item.visible)) ?? false\n\nexport const isNavigationItemVisible = (item: NavigationTabsItem): boolean =>\n\titem.visible && (!item.dropdown || hasVisibleItems(item.dropdown))\n"],"names":[],"mappings":"AAEA,MAAM,kBAAkB,CAAC,sBACxB,qDAAkB,KAAK,CAAC,YAAY,QAAQ,KAAK,CAAC,SAAS,KAAK,OAAO,OAAM;AAEjE,MAAA,0BAA0B,CAAC,SACvC,KAAK,YAAY,CAAC,KAAK,YAAY,gBAAgB,KAAK,QAAQ;"}
1
+ {"version":3,"file":"harmony71.mjs","sources":["../src/components/Sidebar/Widgets/ProfileMenu/UpgradeMenuItem/UpgradeMenuItem.tsx"],"sourcesContent":["import { MenuItem } from '@lokalise/louis'\nimport { isFreePlan } from '@utils'\nimport { UpgradeIcon } from '../../../UpgradeIcon/UpgradeIcon'\nimport { useProfileMenu } from '../ProfileMenuContext'\nimport styles from './UpgradeMenuItem.module.css'\n\ntype UpgradeMenuItemProps = {\n\t/** URL to the upgrade page or pricing options */\n\tupgradeOptionHref: string\n}\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 upgradeOptionHref=\"/pricing\" />\n * ```\n *\n * @note This component must be used within a ProfileMenu component\n * as it requires access to the ProfileMenu context for plan information\n * and visibility control.\n */\nexport const UpgradeMenuItem = ({ upgradeOptionHref }: UpgradeMenuItemProps) => {\n\tconst { planId, trialDaysLeft, showUpgradeCta } = useProfileMenu()\n\n\tif (!showUpgradeCta) {\n\t\treturn null\n\t}\n\n\tconst isOnFreePlan = isFreePlan(planId)\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={upgradeOptionHref}\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":";;;;;;AA+BO,MAAM,kBAAkB,CAAC,EAAE,wBAA8C;AAC/E,QAAM,EAAE,QAAQ,eAAe,eAAA,IAAmB,eAAe;AAEjE,MAAI,CAAC,gBAAgB;AACb,WAAA;AAAA,EAAA;AAGF,QAAA,eAAe,WAAW,MAAM;AAEhC,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,MAAM;AAAA,MACN,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,14 +1,62 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
3
  const jsxRuntime = require("react/jsx-runtime");
4
+ const floatingUi_core = require("./harmony94.cjs");
4
5
  const louis = require("@lokalise/louis");
5
- const styles_module = require("./harmony73.cjs");
6
- const NavItemContents = ({ label, badge, novel }) => /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex gap-1", children: [
7
- /* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
8
- /* @__PURE__ */ jsxRuntime.jsx("span", { children: label }),
9
- !!badge && /* @__PURE__ */ jsxRuntime.jsx("div", { className: styles_module.default.badge, "aria-label": `${badge} items requiring attention`, children: badge > 9 ? "9+" : badge })
10
- ] }),
11
- !!novel && /* @__PURE__ */ jsxRuntime.jsx(louis.Tag, { className: styles_module.default.tag, children: novel })
12
- ] });
13
- exports.NavItemContents = NavItemContents;
6
+ const useEffectOnce = require("./harmony11.cjs");
7
+ const clsx = require("./harmony60.cjs");
8
+ const React = require("react");
9
+ const Tasks_module = require("./harmony95.cjs");
10
+ const TasksContext = require("./harmony96.cjs");
11
+ const TasksPopover = require("./harmony97.cjs");
12
+ const TasksProvider = require("./harmony98.cjs");
13
+ const taskEvents = require("./harmony99.cjs");
14
+ const Tasks = TasksProvider.withTasksContext(() => {
15
+ const [open, setOpen] = React.useState(false);
16
+ const { tasksCount } = TasksContext.useTasks();
17
+ useEffectOnce.useEffectOnce(() => {
18
+ const showDialog = () => {
19
+ setOpen(true);
20
+ };
21
+ document.addEventListener(taskEvents.TaskEvents.ShowDialog, showDialog);
22
+ return () => {
23
+ document.removeEventListener(taskEvents.TaskEvents.ShowDialog, showDialog);
24
+ };
25
+ });
26
+ return /* @__PURE__ */ jsxRuntime.jsx(louis.Tooltip, { tooltip: "Tasks", placement: "right", children: /* @__PURE__ */ jsxRuntime.jsx(
27
+ louis.Popover,
28
+ {
29
+ content: /* @__PURE__ */ jsxRuntime.jsx(TasksPopover.TasksPopover, {}),
30
+ placement: "right",
31
+ open,
32
+ onOpenChange: setOpen,
33
+ middlewares: [
34
+ floatingUi_core.shift({
35
+ // Adding some spacing to the top and bottom so the popover
36
+ // doesn't extend to the edges of the screen.
37
+ padding: {
38
+ top: 32,
39
+ bottom: 32
40
+ }
41
+ })
42
+ ],
43
+ children: (visible) => /* @__PURE__ */ jsxRuntime.jsxs(
44
+ louis.Button,
45
+ {
46
+ type: "button",
47
+ "data-testid": "sidebar-tasks-widget-button",
48
+ "aria-label": "Tasks",
49
+ className: clsx.clsx(Tasks_module.default.navItem, {
50
+ [Tasks_module.default.activeNavItem]: visible
51
+ }),
52
+ children: [
53
+ /* @__PURE__ */ jsxRuntime.jsx(louis.JobIcon, { size: "25px" }),
54
+ tasksCount > 0 && /* @__PURE__ */ jsxRuntime.jsx("div", { className: Tasks_module.default.badge, "aria-label": `${tasksCount} items requiring attention`, children: tasksCount > 9 ? "9+" : tasksCount })
55
+ ]
56
+ }
57
+ )
58
+ }
59
+ ) });
60
+ });
61
+ exports.Tasks = Tasks;
14
62
  //# sourceMappingURL=harmony72.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"harmony72.cjs","sources":["../src/components/NavigationPanel/components/NavigationTabs/NavigationTabsItem/NavItemContents.tsx"],"sourcesContent":["import { Tag } from '@lokalise/louis'\n\nimport classes from './styles.module.css'\n\ninterface NavItemContentProps {\n\tlabel: string\n\tbadge?: number\n\tnovel?: string\n}\nexport const NavItemContents = ({ label, badge, novel }: NavItemContentProps) => (\n\t<div className=\"flex gap-1\">\n\t\t<div>\n\t\t\t<span>{label}</span>\n\t\t\t{!!badge && (\n\t\t\t\t<div className={classes.badge} aria-label={`${badge} items requiring attention`}>\n\t\t\t\t\t{badge > 9 ? '9+' : badge}\n\t\t\t\t</div>\n\t\t\t)}\n\t\t</div>\n\t\t{!!novel && <Tag className={classes.tag}>{novel}</Tag>}\n\t</div>\n)\n"],"names":["jsxs","jsx","classes","Tag"],"mappings":";;;;;AASa,MAAA,kBAAkB,CAAC,EAAE,OAAO,OAAO,YAC/CA,2BAAA,KAAC,OAAI,EAAA,WAAU,cACd,UAAA;AAAA,EAAAA,gCAAC,OACA,EAAA,UAAA;AAAA,IAAAC,2BAAAA,IAAC,UAAM,UAAM,MAAA,CAAA;AAAA,IACZ,CAAC,CAAC,SACFA,+BAAC,SAAI,WAAWC,cAAA,QAAQ,OAAO,cAAY,GAAG,KAAK,8BACjD,UAAQ,QAAA,IAAI,OAAO,MACrB,CAAA;AAAA,EAAA,GAEF;AAAA,EACC,CAAC,CAAC,SAASD,2BAAA,IAACE,aAAI,WAAWD,sBAAQ,KAAM,UAAM,MAAA,CAAA;AAAA,EACjD,CAAA;;"}
1
+ {"version":3,"file":"harmony72.cjs","sources":["../src/components/Sidebar/Widgets/Tasks/Tasks.tsx"],"sourcesContent":["import { shift } from '@floating-ui/core'\nimport { Button, JobIcon, Popover, Tooltip } from '@lokalise/louis'\nimport { useEffectOnce } from '@utils'\nimport clsx from 'clsx'\nimport { useState } from 'react'\nimport styles from './Tasks.module.css'\nimport { useTasks } from './TasksContext'\nimport { TasksPopover } from './TasksPopover/TasksPopover'\nimport { withTasksContext } from './TasksProvider'\nimport { TaskEvents } from './utils/taskEvents'\n\nexport const Tasks = withTasksContext(() => {\n\tconst [open, setOpen] = useState(false)\n\n\tconst { tasksCount } = useTasks()\n\n\tuseEffectOnce(() => {\n\t\tconst showDialog = () => {\n\t\t\tsetOpen(true)\n\t\t}\n\n\t\tdocument.addEventListener(TaskEvents.ShowDialog, showDialog)\n\n\t\treturn () => {\n\t\t\tdocument.removeEventListener(TaskEvents.ShowDialog, showDialog)\n\t\t}\n\t})\n\n\treturn (\n\t\t<Tooltip tooltip=\"Tasks\" placement=\"right\">\n\t\t\t<Popover\n\t\t\t\tcontent={<TasksPopover />}\n\t\t\t\tplacement=\"right\"\n\t\t\t\topen={open}\n\t\t\t\tonOpenChange={setOpen}\n\t\t\t\tmiddlewares={[\n\t\t\t\t\tshift({\n\t\t\t\t\t\t// Adding some spacing to the top and bottom so the popover\n\t\t\t\t\t\t// doesn't extend to the edges of the screen.\n\t\t\t\t\t\tpadding: {\n\t\t\t\t\t\t\ttop: 32,\n\t\t\t\t\t\t\tbottom: 32,\n\t\t\t\t\t\t},\n\t\t\t\t\t}),\n\t\t\t\t]}\n\t\t\t>\n\t\t\t\t{(visible) => (\n\t\t\t\t\t<Button\n\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\tdata-testid=\"sidebar-tasks-widget-button\"\n\t\t\t\t\t\taria-label=\"Tasks\"\n\t\t\t\t\t\tclassName={clsx(styles.navItem, {\n\t\t\t\t\t\t\t[styles.activeNavItem]: visible,\n\t\t\t\t\t\t})}\n\t\t\t\t\t>\n\t\t\t\t\t\t<JobIcon size=\"25px\" />\n\t\t\t\t\t\t{tasksCount > 0 && (\n\t\t\t\t\t\t\t<div className={styles.badge} aria-label={`${tasksCount} items requiring attention`}>\n\t\t\t\t\t\t\t\t{tasksCount > 9 ? '9+' : tasksCount}\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t)}\n\t\t\t\t\t</Button>\n\t\t\t\t)}\n\t\t\t</Popover>\n\t\t</Tooltip>\n\t)\n})\n"],"names":["withTasksContext","useState","useTasks","useEffectOnce","TaskEvents","jsx","Tooltip","Popover","TasksPopover","shift","jsxs","Button","clsx","styles","JobIcon"],"mappings":";;;;;;;;;;;;;AAWa,MAAA,QAAQA,+BAAiB,MAAM;AAC3C,QAAM,CAAC,MAAM,OAAO,IAAIC,MAAAA,SAAS,KAAK;AAEhC,QAAA,EAAE,WAAW,IAAIC,sBAAS;AAEhCC,gBAAAA,cAAc,MAAM;AACnB,UAAM,aAAa,MAAM;AACxB,cAAQ,IAAI;AAAA,IACb;AAES,aAAA,iBAAiBC,sBAAW,YAAY,UAAU;AAE3D,WAAO,MAAM;AACH,eAAA,oBAAoBA,sBAAW,YAAY,UAAU;AAAA,IAC/D;AAAA,EAAA,CACA;AAED,SACEC,2BAAA,IAAAC,MAAA,SAAA,EAAQ,SAAQ,SAAQ,WAAU,SAClC,UAAAD,2BAAA;AAAA,IAACE,MAAA;AAAA,IAAA;AAAA,MACA,wCAAUC,aAAa,cAAA,EAAA;AAAA,MACvB,WAAU;AAAA,MACV;AAAA,MACA,cAAc;AAAA,MACd,aAAa;AAAA,QACZC,sBAAM;AAAA;AAAA;AAAA,UAGL,SAAS;AAAA,YACR,KAAK;AAAA,YACL,QAAQ;AAAA,UAAA;AAAA,QAET,CAAA;AAAA,MACF;AAAA,MAEC,WAAC,YACDC,2BAAA;AAAA,QAACC,MAAA;AAAA,QAAA;AAAA,UACA,MAAK;AAAA,UACL,eAAY;AAAA,UACZ,cAAW;AAAA,UACX,WAAWC,KAAAA,KAAKC,aAAA,QAAO,SAAS;AAAA,YAC/B,CAACA,aAAAA,QAAO,aAAa,GAAG;AAAA,UAAA,CACxB;AAAA,UAED,UAAA;AAAA,YAACR,2BAAAA,IAAAS,MAAA,SAAA,EAAQ,MAAK,OAAO,CAAA;AAAA,YACpB,aAAa,KACZT,+BAAA,OAAA,EAAI,WAAWQ,aAAO,QAAA,OAAO,cAAY,GAAG,UAAU,8BACrD,UAAa,aAAA,IAAI,OAAO,WAC1B,CAAA;AAAA,UAAA;AAAA,QAAA;AAAA,MAAA;AAAA,IAEF;AAAA,EAAA,GAGH;AAEF,CAAC;;"}
@@ -1,14 +1,62 @@
1
- import { jsxs, jsx } from "react/jsx-runtime";
2
- import { Tag } from "@lokalise/louis";
3
- import classes from "./harmony73.mjs";
4
- const NavItemContents = ({ label, badge, novel }) => /* @__PURE__ */ jsxs("div", { className: "flex gap-1", children: [
5
- /* @__PURE__ */ jsxs("div", { children: [
6
- /* @__PURE__ */ jsx("span", { children: label }),
7
- !!badge && /* @__PURE__ */ jsx("div", { className: classes.badge, "aria-label": `${badge} items requiring attention`, children: badge > 9 ? "9+" : badge })
8
- ] }),
9
- !!novel && /* @__PURE__ */ jsx(Tag, { className: classes.tag, children: novel })
10
- ] });
1
+ import { jsx, jsxs } from "react/jsx-runtime";
2
+ import { shift } from "./harmony94.mjs";
3
+ import { Tooltip, Popover, Button, JobIcon } from "@lokalise/louis";
4
+ import { useEffectOnce } from "./harmony11.mjs";
5
+ import { clsx } from "./harmony60.mjs";
6
+ import { useState } from "react";
7
+ import styles from "./harmony95.mjs";
8
+ import { useTasks } from "./harmony96.mjs";
9
+ import { TasksPopover } from "./harmony97.mjs";
10
+ import { withTasksContext } from "./harmony98.mjs";
11
+ import { TaskEvents } from "./harmony99.mjs";
12
+ const Tasks = withTasksContext(() => {
13
+ const [open, setOpen] = useState(false);
14
+ const { tasksCount } = useTasks();
15
+ useEffectOnce(() => {
16
+ const showDialog = () => {
17
+ setOpen(true);
18
+ };
19
+ document.addEventListener(TaskEvents.ShowDialog, showDialog);
20
+ return () => {
21
+ document.removeEventListener(TaskEvents.ShowDialog, showDialog);
22
+ };
23
+ });
24
+ return /* @__PURE__ */ jsx(Tooltip, { tooltip: "Tasks", placement: "right", children: /* @__PURE__ */ jsx(
25
+ Popover,
26
+ {
27
+ content: /* @__PURE__ */ jsx(TasksPopover, {}),
28
+ placement: "right",
29
+ open,
30
+ onOpenChange: setOpen,
31
+ middlewares: [
32
+ shift({
33
+ // Adding some spacing to the top and bottom so the popover
34
+ // doesn't extend to the edges of the screen.
35
+ padding: {
36
+ top: 32,
37
+ bottom: 32
38
+ }
39
+ })
40
+ ],
41
+ children: (visible) => /* @__PURE__ */ jsxs(
42
+ Button,
43
+ {
44
+ type: "button",
45
+ "data-testid": "sidebar-tasks-widget-button",
46
+ "aria-label": "Tasks",
47
+ className: clsx(styles.navItem, {
48
+ [styles.activeNavItem]: visible
49
+ }),
50
+ children: [
51
+ /* @__PURE__ */ jsx(JobIcon, { size: "25px" }),
52
+ tasksCount > 0 && /* @__PURE__ */ jsx("div", { className: styles.badge, "aria-label": `${tasksCount} items requiring attention`, children: tasksCount > 9 ? "9+" : tasksCount })
53
+ ]
54
+ }
55
+ )
56
+ }
57
+ ) });
58
+ });
11
59
  export {
12
- NavItemContents
60
+ Tasks
13
61
  };
14
62
  //# sourceMappingURL=harmony72.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"harmony72.mjs","sources":["../src/components/NavigationPanel/components/NavigationTabs/NavigationTabsItem/NavItemContents.tsx"],"sourcesContent":["import { Tag } from '@lokalise/louis'\n\nimport classes from './styles.module.css'\n\ninterface NavItemContentProps {\n\tlabel: string\n\tbadge?: number\n\tnovel?: string\n}\nexport const NavItemContents = ({ label, badge, novel }: NavItemContentProps) => (\n\t<div className=\"flex gap-1\">\n\t\t<div>\n\t\t\t<span>{label}</span>\n\t\t\t{!!badge && (\n\t\t\t\t<div className={classes.badge} aria-label={`${badge} items requiring attention`}>\n\t\t\t\t\t{badge > 9 ? '9+' : badge}\n\t\t\t\t</div>\n\t\t\t)}\n\t\t</div>\n\t\t{!!novel && <Tag className={classes.tag}>{novel}</Tag>}\n\t</div>\n)\n"],"names":[],"mappings":";;;AASa,MAAA,kBAAkB,CAAC,EAAE,OAAO,OAAO,YAC/C,qBAAC,OAAI,EAAA,WAAU,cACd,UAAA;AAAA,EAAA,qBAAC,OACA,EAAA,UAAA;AAAA,IAAA,oBAAC,UAAM,UAAM,MAAA,CAAA;AAAA,IACZ,CAAC,CAAC,SACF,oBAAC,SAAI,WAAW,QAAQ,OAAO,cAAY,GAAG,KAAK,8BACjD,UAAQ,QAAA,IAAI,OAAO,MACrB,CAAA;AAAA,EAAA,GAEF;AAAA,EACC,CAAC,CAAC,SAAS,oBAAC,OAAI,WAAW,QAAQ,KAAM,UAAM,MAAA,CAAA;AAAA,EACjD,CAAA;"}
1
+ {"version":3,"file":"harmony72.mjs","sources":["../src/components/Sidebar/Widgets/Tasks/Tasks.tsx"],"sourcesContent":["import { shift } from '@floating-ui/core'\nimport { Button, JobIcon, Popover, Tooltip } from '@lokalise/louis'\nimport { useEffectOnce } from '@utils'\nimport clsx from 'clsx'\nimport { useState } from 'react'\nimport styles from './Tasks.module.css'\nimport { useTasks } from './TasksContext'\nimport { TasksPopover } from './TasksPopover/TasksPopover'\nimport { withTasksContext } from './TasksProvider'\nimport { TaskEvents } from './utils/taskEvents'\n\nexport const Tasks = withTasksContext(() => {\n\tconst [open, setOpen] = useState(false)\n\n\tconst { tasksCount } = useTasks()\n\n\tuseEffectOnce(() => {\n\t\tconst showDialog = () => {\n\t\t\tsetOpen(true)\n\t\t}\n\n\t\tdocument.addEventListener(TaskEvents.ShowDialog, showDialog)\n\n\t\treturn () => {\n\t\t\tdocument.removeEventListener(TaskEvents.ShowDialog, showDialog)\n\t\t}\n\t})\n\n\treturn (\n\t\t<Tooltip tooltip=\"Tasks\" placement=\"right\">\n\t\t\t<Popover\n\t\t\t\tcontent={<TasksPopover />}\n\t\t\t\tplacement=\"right\"\n\t\t\t\topen={open}\n\t\t\t\tonOpenChange={setOpen}\n\t\t\t\tmiddlewares={[\n\t\t\t\t\tshift({\n\t\t\t\t\t\t// Adding some spacing to the top and bottom so the popover\n\t\t\t\t\t\t// doesn't extend to the edges of the screen.\n\t\t\t\t\t\tpadding: {\n\t\t\t\t\t\t\ttop: 32,\n\t\t\t\t\t\t\tbottom: 32,\n\t\t\t\t\t\t},\n\t\t\t\t\t}),\n\t\t\t\t]}\n\t\t\t>\n\t\t\t\t{(visible) => (\n\t\t\t\t\t<Button\n\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\tdata-testid=\"sidebar-tasks-widget-button\"\n\t\t\t\t\t\taria-label=\"Tasks\"\n\t\t\t\t\t\tclassName={clsx(styles.navItem, {\n\t\t\t\t\t\t\t[styles.activeNavItem]: visible,\n\t\t\t\t\t\t})}\n\t\t\t\t\t>\n\t\t\t\t\t\t<JobIcon size=\"25px\" />\n\t\t\t\t\t\t{tasksCount > 0 && (\n\t\t\t\t\t\t\t<div className={styles.badge} aria-label={`${tasksCount} items requiring attention`}>\n\t\t\t\t\t\t\t\t{tasksCount > 9 ? '9+' : tasksCount}\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t)}\n\t\t\t\t\t</Button>\n\t\t\t\t)}\n\t\t\t</Popover>\n\t\t</Tooltip>\n\t)\n})\n"],"names":[],"mappings":";;;;;;;;;;;AAWa,MAAA,QAAQ,iBAAiB,MAAM;AAC3C,QAAM,CAAC,MAAM,OAAO,IAAI,SAAS,KAAK;AAEhC,QAAA,EAAE,WAAW,IAAI,SAAS;AAEhC,gBAAc,MAAM;AACnB,UAAM,aAAa,MAAM;AACxB,cAAQ,IAAI;AAAA,IACb;AAES,aAAA,iBAAiB,WAAW,YAAY,UAAU;AAE3D,WAAO,MAAM;AACH,eAAA,oBAAoB,WAAW,YAAY,UAAU;AAAA,IAC/D;AAAA,EAAA,CACA;AAED,SACE,oBAAA,SAAA,EAAQ,SAAQ,SAAQ,WAAU,SAClC,UAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACA,6BAAU,cAAa,EAAA;AAAA,MACvB,WAAU;AAAA,MACV;AAAA,MACA,cAAc;AAAA,MACd,aAAa;AAAA,QACZ,MAAM;AAAA;AAAA;AAAA,UAGL,SAAS;AAAA,YACR,KAAK;AAAA,YACL,QAAQ;AAAA,UAAA;AAAA,QAET,CAAA;AAAA,MACF;AAAA,MAEC,WAAC,YACD;AAAA,QAAC;AAAA,QAAA;AAAA,UACA,MAAK;AAAA,UACL,eAAY;AAAA,UACZ,cAAW;AAAA,UACX,WAAW,KAAK,OAAO,SAAS;AAAA,YAC/B,CAAC,OAAO,aAAa,GAAG;AAAA,UAAA,CACxB;AAAA,UAED,UAAA;AAAA,YAAC,oBAAA,SAAA,EAAQ,MAAK,OAAO,CAAA;AAAA,YACpB,aAAa,KACZ,oBAAA,OAAA,EAAI,WAAW,OAAO,OAAO,cAAY,GAAG,UAAU,8BACrD,UAAa,aAAA,IAAI,OAAO,WAC1B,CAAA;AAAA,UAAA;AAAA,QAAA;AAAA,MAAA;AAAA,IAEF;AAAA,EAAA,GAGH;AAEF,CAAC;"}
@@ -1,24 +1,12 @@
1
1
  "use strict";
2
2
  Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
3
- const badge = "_badge_1pc1v_1";
4
- const tag = "_tag_1pc1v_15";
5
- const withNavLinkStyle = "_withNavLinkStyle_1pc1v_42 _withLinkStyle_1pc1v_21";
6
- const disabled = "_disabled_1pc1v_57";
7
- const projectNavigationItem = "_projectNavigationItem_1pc1v_61";
8
- const projectNavigationItemDisabled = "_projectNavigationItemDisabled_1pc1v_67";
3
+ const breadcrumbsItem = "_breadcrumbsItem_1hm6a_1";
4
+ const breadcrumbs = "_breadcrumbs_1hm6a_1";
9
5
  const classes = {
10
- badge,
11
- tag,
12
- withNavLinkStyle,
13
- disabled,
14
- projectNavigationItem,
15
- projectNavigationItemDisabled
6
+ breadcrumbsItem,
7
+ breadcrumbs
16
8
  };
17
- exports.badge = badge;
9
+ exports.breadcrumbs = breadcrumbs;
10
+ exports.breadcrumbsItem = breadcrumbsItem;
18
11
  exports.default = classes;
19
- exports.disabled = disabled;
20
- exports.projectNavigationItem = projectNavigationItem;
21
- exports.projectNavigationItemDisabled = projectNavigationItemDisabled;
22
- exports.tag = tag;
23
- exports.withNavLinkStyle = withNavLinkStyle;
24
12
  //# sourceMappingURL=harmony73.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"harmony73.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"harmony73.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;"}
@@ -1,24 +1,12 @@
1
- const badge = "_badge_1pc1v_1";
2
- const tag = "_tag_1pc1v_15";
3
- const withNavLinkStyle = "_withNavLinkStyle_1pc1v_42 _withLinkStyle_1pc1v_21";
4
- const disabled = "_disabled_1pc1v_57";
5
- const projectNavigationItem = "_projectNavigationItem_1pc1v_61";
6
- const projectNavigationItemDisabled = "_projectNavigationItemDisabled_1pc1v_67";
1
+ const breadcrumbsItem = "_breadcrumbsItem_1hm6a_1";
2
+ const breadcrumbs = "_breadcrumbs_1hm6a_1";
7
3
  const classes = {
8
- badge,
9
- tag,
10
- withNavLinkStyle,
11
- disabled,
12
- projectNavigationItem,
13
- projectNavigationItemDisabled
4
+ breadcrumbsItem,
5
+ breadcrumbs
14
6
  };
15
7
  export {
16
- badge,
17
- classes as default,
18
- disabled,
19
- projectNavigationItem,
20
- projectNavigationItemDisabled,
21
- tag,
22
- withNavLinkStyle
8
+ breadcrumbs,
9
+ breadcrumbsItem,
10
+ classes as default
23
11
  };
24
12
  //# sourceMappingURL=harmony73.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"harmony73.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"harmony73.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;"}
@@ -1,9 +1,11 @@
1
1
  "use strict";
2
- Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
3
- const logoLink = "_logoLink_1baxb_1";
4
- const styles = {
5
- logoLink
6
- };
7
- exports.default = styles;
8
- exports.logoLink = logoLink;
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const jsxRuntime = require("react/jsx-runtime");
4
+ const louis = require("@lokalise/louis");
5
+ const React = require("react");
6
+ const DropdownContent = ({ items }) => /* @__PURE__ */ jsxRuntime.jsx(jsxRuntime.Fragment, { children: items.map((item, index) => /* @__PURE__ */ jsxRuntime.jsxs(React.Fragment, { children: [
7
+ !!index && item.some((value) => value.visible) && /* @__PURE__ */ jsxRuntime.jsx(louis.MenuDivider, {}),
8
+ item.filter(({ visible }) => visible).map(({ link, label, onClick }) => /* @__PURE__ */ jsxRuntime.jsx(louis.MenuItem, { href: link || "#", "aria-label": label, onClick, children: label }, label))
9
+ ] }, item[0].label)) });
10
+ exports.DropdownContent = DropdownContent;
9
11
  //# sourceMappingURL=harmony74.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"harmony74.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;"}
1
+ {"version":3,"file":"harmony74.cjs","sources":["../src/components/NavigationPanel/components/DropdownContent/DropdownContent.tsx"],"sourcesContent":["import { MenuDivider, MenuItem } from '@lokalise/louis'\nimport { Fragment } from 'react'\nimport type { DropdownItem } from '../../types/navigation'\n\nexport const DropdownContent = ({ items }: { items: DropdownItem[][] }) => (\n\t<>\n\t\t{items.map((item, index) => (\n\t\t\t<Fragment key={item[0].label}>\n\t\t\t\t{!!index && item.some((value) => value.visible) && <MenuDivider />}\n\t\t\t\t{item\n\t\t\t\t\t.filter(({ visible }) => visible)\n\t\t\t\t\t.map(({ link, label, onClick }) => (\n\t\t\t\t\t\t<MenuItem key={label} href={link || '#'} aria-label={label} onClick={onClick}>\n\t\t\t\t\t\t\t{label}\n\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t))}\n\t\t\t</Fragment>\n\t\t))}\n\t</>\n)\n"],"names":["jsx","Fragment","jsxs","MenuDivider","MenuItem"],"mappings":";;;;;AAIO,MAAM,kBAAkB,CAAC,EAAE,MAAA,MACjCA,2BAAAA,IAAAC,WAAAA,UAAA,EACE,UAAM,MAAA,IAAI,CAAC,MAAM,UACjBC,2BAAAA,KAACD,MAAAA,UAAA,EACC,UAAA;AAAA,EAAC,CAAA,CAAC,SAAS,KAAK,KAAK,CAAC,UAAU,MAAM,OAAO,KAAKD,+BAACG,MAAAA,aAAY,CAAA,CAAA;AAAA,EAC/D,KACC,OAAO,CAAC,EAAE,cAAc,OAAO,EAC/B,IAAI,CAAC,EAAE,MAAM,OAAO,QAAQ,MAC3BH,+BAAAI,MAAAA,UAAA,EAAqB,MAAM,QAAQ,KAAK,cAAY,OAAO,SAC1D,UADa,MAAA,GAAA,KAEf,CACA;AAAA,EAAA,GARY,KAAK,CAAC,EAAE,KASvB,CACA,EACF,CAAA;;"}
@@ -1,9 +1,11 @@
1
- const logoLink = "_logoLink_1baxb_1";
2
- const styles = {
3
- logoLink
4
- };
1
+ import { jsx, Fragment, jsxs } from "react/jsx-runtime";
2
+ import { MenuDivider, MenuItem } from "@lokalise/louis";
3
+ import { Fragment as Fragment$1 } from "react";
4
+ const DropdownContent = ({ items }) => /* @__PURE__ */ jsx(Fragment, { children: items.map((item, index) => /* @__PURE__ */ jsxs(Fragment$1, { children: [
5
+ !!index && item.some((value) => value.visible) && /* @__PURE__ */ jsx(MenuDivider, {}),
6
+ item.filter(({ visible }) => visible).map(({ link, label, onClick }) => /* @__PURE__ */ jsx(MenuItem, { href: link || "#", "aria-label": label, onClick, children: label }, label))
7
+ ] }, item[0].label)) });
5
8
  export {
6
- styles as default,
7
- logoLink
9
+ DropdownContent
8
10
  };
9
11
  //# sourceMappingURL=harmony74.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"harmony74.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;"}
1
+ {"version":3,"file":"harmony74.mjs","sources":["../src/components/NavigationPanel/components/DropdownContent/DropdownContent.tsx"],"sourcesContent":["import { MenuDivider, MenuItem } from '@lokalise/louis'\nimport { Fragment } from 'react'\nimport type { DropdownItem } from '../../types/navigation'\n\nexport const DropdownContent = ({ items }: { items: DropdownItem[][] }) => (\n\t<>\n\t\t{items.map((item, index) => (\n\t\t\t<Fragment key={item[0].label}>\n\t\t\t\t{!!index && item.some((value) => value.visible) && <MenuDivider />}\n\t\t\t\t{item\n\t\t\t\t\t.filter(({ visible }) => visible)\n\t\t\t\t\t.map(({ link, label, onClick }) => (\n\t\t\t\t\t\t<MenuItem key={label} href={link || '#'} aria-label={label} onClick={onClick}>\n\t\t\t\t\t\t\t{label}\n\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t))}\n\t\t\t</Fragment>\n\t\t))}\n\t</>\n)\n"],"names":["Fragment"],"mappings":";;;AAIO,MAAM,kBAAkB,CAAC,EAAE,MAAA,MACjC,oBAAA,UAAA,EACE,UAAM,MAAA,IAAI,CAAC,MAAM,UACjB,qBAACA,YAAA,EACC,UAAA;AAAA,EAAC,CAAA,CAAC,SAAS,KAAK,KAAK,CAAC,UAAU,MAAM,OAAO,KAAK,oBAAC,aAAY,CAAA,CAAA;AAAA,EAC/D,KACC,OAAO,CAAC,EAAE,cAAc,OAAO,EAC/B,IAAI,CAAC,EAAE,MAAM,OAAO,QAAQ,MAC3B,oBAAA,UAAA,EAAqB,MAAM,QAAQ,KAAK,cAAY,OAAO,SAC1D,UADa,MAAA,GAAA,KAEf,CACA;AAAA,EAAA,GARY,KAAK,CAAC,EAAE,KASvB,CACA,EACF,CAAA;"}
@@ -1,12 +1,32 @@
1
1
  "use strict";
2
- Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
3
- const link = "_link_18vhx_1";
4
- const active = "_active_18vhx_18";
5
- const styles = {
6
- link,
7
- active
8
- };
9
- exports.active = active;
10
- exports.default = styles;
11
- exports.link = link;
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("./harmony60.cjs");
6
+ const React = require("react");
7
+ const NavItemContents = require("./harmony88.cjs");
8
+ const styles_module = require("./harmony89.cjs");
9
+ const NavigationTabsItem = React.forwardRef(
10
+ ({ label, href = "", disabled = false, badge, onClick, novel }, ref) => /* @__PURE__ */ jsxRuntime.jsx(louis.Tooltip, { tooltip: "You do not have access to this function", show: disabled, children: /* @__PURE__ */ jsxRuntime.jsx(
11
+ "div",
12
+ {
13
+ className: disabled ? styles_module.default.projectNavigationItemDisabled : styles_module.default.projectNavigationItem,
14
+ children: onClick || disabled || !href ? /* @__PURE__ */ jsxRuntime.jsx(
15
+ "button",
16
+ {
17
+ type: "button",
18
+ ref,
19
+ className: clsx.clsx(styles_module.default.withNavLinkStyle, {
20
+ [styles_module.default.disabled]: disabled
21
+ }),
22
+ disabled,
23
+ onClick,
24
+ children: /* @__PURE__ */ jsxRuntime.jsx(NavItemContents.NavItemContents, { label, badge, novel })
25
+ }
26
+ ) : /* @__PURE__ */ jsxRuntime.jsx("a", { href, className: styles_module.default.withNavLinkStyle, children: /* @__PURE__ */ jsxRuntime.jsx(NavItemContents.NavItemContents, { label, badge, novel }) })
27
+ }
28
+ ) })
29
+ );
30
+ NavigationTabsItem.displayName = "NavigationTabsItem";
31
+ exports.NavigationTabsItem = NavigationTabsItem;
12
32
  //# sourceMappingURL=harmony75.cjs.map