@lokalise/harmony 1.38.0 → 1.39.1

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 (448) hide show
  1. package/dist/harmony.cjs +21 -14
  2. package/dist/harmony.cjs.map +1 -1
  3. package/dist/harmony.mjs +22 -15
  4. package/dist/harmony.mjs.map +1 -1
  5. package/dist/harmony100.cjs +7 -6
  6. package/dist/harmony100.cjs.map +1 -1
  7. package/dist/harmony100.mjs +6 -5
  8. package/dist/harmony100.mjs.map +1 -1
  9. package/dist/harmony101.cjs +6 -6
  10. package/dist/harmony101.mjs +6 -6
  11. package/dist/harmony102.cjs +6 -21
  12. package/dist/harmony102.cjs.map +1 -1
  13. package/dist/harmony102.mjs +6 -21
  14. package/dist/harmony102.mjs.map +1 -1
  15. package/dist/harmony103.cjs +57 -6
  16. package/dist/harmony103.cjs.map +1 -1
  17. package/dist/harmony103.mjs +56 -5
  18. package/dist/harmony103.mjs.map +1 -1
  19. package/dist/harmony104.cjs +40 -19
  20. package/dist/harmony104.cjs.map +1 -1
  21. package/dist/harmony104.mjs +40 -19
  22. package/dist/harmony104.mjs.map +1 -1
  23. package/dist/harmony105.cjs +6 -13
  24. package/dist/harmony105.cjs.map +1 -1
  25. package/dist/harmony105.mjs +5 -12
  26. package/dist/harmony105.mjs.map +1 -1
  27. package/dist/harmony106.cjs +9 -166
  28. package/dist/harmony106.cjs.map +1 -1
  29. package/dist/harmony106.mjs +8 -165
  30. package/dist/harmony106.mjs.map +1 -1
  31. package/dist/harmony107.cjs +24 -44
  32. package/dist/harmony107.cjs.map +1 -1
  33. package/dist/harmony107.mjs +23 -43
  34. package/dist/harmony107.mjs.map +1 -1
  35. package/dist/harmony108.cjs +6 -12
  36. package/dist/harmony108.cjs.map +1 -1
  37. package/dist/harmony108.mjs +5 -11
  38. package/dist/harmony108.mjs.map +1 -1
  39. package/dist/harmony109.cjs +21 -12
  40. package/dist/harmony109.cjs.map +1 -1
  41. package/dist/harmony109.mjs +20 -11
  42. package/dist/harmony109.mjs.map +1 -1
  43. package/dist/harmony110.cjs +13 -12
  44. package/dist/harmony110.cjs.map +1 -1
  45. package/dist/harmony110.mjs +12 -11
  46. package/dist/harmony110.mjs.map +1 -1
  47. package/dist/harmony111.cjs +12 -21
  48. package/dist/harmony111.cjs.map +1 -1
  49. package/dist/harmony111.mjs +11 -20
  50. package/dist/harmony111.mjs.map +1 -1
  51. package/dist/harmony112.cjs +9 -18
  52. package/dist/harmony112.cjs.map +1 -1
  53. package/dist/harmony112.mjs +9 -18
  54. package/dist/harmony112.mjs.map +1 -1
  55. package/dist/harmony113.cjs +98 -5
  56. package/dist/harmony113.cjs.map +1 -1
  57. package/dist/harmony113.mjs +81 -5
  58. package/dist/harmony113.mjs.map +1 -1
  59. package/dist/harmony114.cjs +12 -130
  60. package/dist/harmony114.cjs.map +1 -1
  61. package/dist/harmony114.mjs +12 -130
  62. package/dist/harmony114.mjs.map +1 -1
  63. package/dist/harmony115.cjs +19 -13
  64. package/dist/harmony115.cjs.map +1 -1
  65. package/dist/harmony115.mjs +18 -12
  66. package/dist/harmony115.mjs.map +1 -1
  67. package/dist/harmony116.cjs +87 -5
  68. package/dist/harmony116.cjs.map +1 -1
  69. package/dist/harmony116.mjs +87 -5
  70. package/dist/harmony116.mjs.map +1 -1
  71. package/dist/harmony117.cjs +29 -39
  72. package/dist/harmony117.cjs.map +1 -1
  73. package/dist/harmony117.mjs +29 -39
  74. package/dist/harmony117.mjs.map +1 -1
  75. package/dist/harmony118.cjs +21 -60
  76. package/dist/harmony118.cjs.map +1 -1
  77. package/dist/harmony118.mjs +20 -59
  78. package/dist/harmony118.mjs.map +1 -1
  79. package/dist/harmony119.cjs +5 -6
  80. package/dist/harmony119.cjs.map +1 -1
  81. package/dist/harmony119.mjs +5 -6
  82. package/dist/harmony119.mjs.map +1 -1
  83. package/dist/harmony120.cjs +6 -15
  84. package/dist/harmony120.cjs.map +1 -1
  85. package/dist/harmony120.mjs +5 -14
  86. package/dist/harmony120.mjs.map +1 -1
  87. package/dist/harmony121.cjs +6 -19
  88. package/dist/harmony121.cjs.map +1 -1
  89. package/dist/harmony121.mjs +5 -18
  90. package/dist/harmony121.mjs.map +1 -1
  91. package/dist/harmony122.cjs +132 -6
  92. package/dist/harmony122.cjs.map +1 -1
  93. package/dist/harmony122.mjs +131 -5
  94. package/dist/harmony122.mjs.map +1 -1
  95. package/dist/harmony123.cjs +12 -87
  96. package/dist/harmony123.cjs.map +1 -1
  97. package/dist/harmony123.mjs +11 -86
  98. package/dist/harmony123.mjs.map +1 -1
  99. package/dist/harmony124.cjs +5 -30
  100. package/dist/harmony124.cjs.map +1 -1
  101. package/dist/harmony124.mjs +5 -30
  102. package/dist/harmony124.mjs.map +1 -1
  103. package/dist/harmony125.cjs +36 -95
  104. package/dist/harmony125.cjs.map +1 -1
  105. package/dist/harmony125.mjs +36 -78
  106. package/dist/harmony125.mjs.map +1 -1
  107. package/dist/harmony126.cjs +57 -59
  108. package/dist/harmony126.cjs.map +1 -1
  109. package/dist/harmony126.mjs +57 -59
  110. package/dist/harmony126.mjs.map +1 -1
  111. package/dist/harmony127.cjs +6 -87
  112. package/dist/harmony127.cjs.map +1 -1
  113. package/dist/harmony127.mjs +6 -87
  114. package/dist/harmony127.mjs.map +1 -1
  115. package/dist/harmony128.cjs +3 -15
  116. package/dist/harmony128.cjs.map +1 -1
  117. package/dist/harmony128.mjs +3 -15
  118. package/dist/harmony128.mjs.map +1 -1
  119. package/dist/harmony129.cjs +97 -6
  120. package/dist/harmony129.cjs.map +1 -1
  121. package/dist/harmony129.mjs +96 -5
  122. package/dist/harmony129.mjs.map +1 -1
  123. package/dist/harmony130.cjs +14 -6
  124. package/dist/harmony130.cjs.map +1 -1
  125. package/dist/harmony130.mjs +13 -5
  126. package/dist/harmony130.mjs.map +1 -1
  127. package/dist/harmony131.cjs +14 -10
  128. package/dist/harmony131.cjs.map +1 -1
  129. package/dist/harmony131.mjs +14 -10
  130. package/dist/harmony131.mjs.map +1 -1
  131. package/dist/harmony132.cjs +36 -7
  132. package/dist/harmony132.cjs.map +1 -1
  133. package/dist/harmony132.mjs +36 -7
  134. package/dist/harmony132.mjs.map +1 -1
  135. package/dist/harmony133.cjs +27 -56
  136. package/dist/harmony133.cjs.map +1 -1
  137. package/dist/harmony133.mjs +27 -56
  138. package/dist/harmony133.mjs.map +1 -1
  139. package/dist/harmony134.cjs +8 -58
  140. package/dist/harmony134.cjs.map +1 -1
  141. package/dist/harmony134.mjs +8 -58
  142. package/dist/harmony134.mjs.map +1 -1
  143. package/dist/harmony135.cjs +63 -19
  144. package/dist/harmony135.cjs.map +1 -1
  145. package/dist/harmony135.mjs +62 -18
  146. package/dist/harmony135.mjs.map +1 -1
  147. package/dist/harmony136.cjs +85 -93
  148. package/dist/harmony136.cjs.map +1 -1
  149. package/dist/harmony136.mjs +85 -93
  150. package/dist/harmony136.mjs.map +1 -1
  151. package/dist/harmony137.cjs +19 -14
  152. package/dist/harmony137.cjs.map +1 -1
  153. package/dist/harmony137.mjs +18 -13
  154. package/dist/harmony137.mjs.map +1 -1
  155. package/dist/harmony138.cjs +12 -13
  156. package/dist/harmony138.cjs.map +1 -1
  157. package/dist/harmony138.mjs +12 -13
  158. package/dist/harmony138.mjs.map +1 -1
  159. package/dist/harmony139.cjs +13 -34
  160. package/dist/harmony139.cjs.map +1 -1
  161. package/dist/harmony139.mjs +13 -34
  162. package/dist/harmony139.mjs.map +1 -1
  163. package/dist/harmony14.cjs +1 -1
  164. package/dist/harmony14.mjs +1 -1
  165. package/dist/harmony140.cjs +14 -26
  166. package/dist/harmony140.cjs.map +1 -1
  167. package/dist/harmony140.mjs +14 -26
  168. package/dist/harmony140.mjs.map +1 -1
  169. package/dist/harmony141.cjs +10 -12
  170. package/dist/harmony141.cjs.map +1 -1
  171. package/dist/harmony141.mjs +10 -12
  172. package/dist/harmony141.mjs.map +1 -1
  173. package/dist/harmony142.cjs +14 -13
  174. package/dist/harmony142.cjs.map +1 -1
  175. package/dist/harmony142.mjs +14 -13
  176. package/dist/harmony142.mjs.map +1 -1
  177. package/dist/harmony143.cjs +19 -14
  178. package/dist/harmony143.cjs.map +1 -1
  179. package/dist/harmony143.mjs +19 -14
  180. package/dist/harmony143.mjs.map +1 -1
  181. package/dist/harmony144.cjs +12 -46
  182. package/dist/harmony144.cjs.map +1 -1
  183. package/dist/harmony144.mjs +12 -46
  184. package/dist/harmony144.mjs.map +1 -1
  185. package/dist/harmony145.cjs +7 -12
  186. package/dist/harmony145.cjs.map +1 -1
  187. package/dist/harmony145.mjs +6 -11
  188. package/dist/harmony145.mjs.map +1 -1
  189. package/dist/harmony146.cjs +57 -11
  190. package/dist/harmony146.cjs.map +1 -1
  191. package/dist/harmony146.mjs +57 -11
  192. package/dist/harmony146.mjs.map +1 -1
  193. package/dist/harmony147.cjs +59 -15
  194. package/dist/harmony147.cjs.map +1 -1
  195. package/dist/harmony147.mjs +59 -15
  196. package/dist/harmony147.mjs.map +1 -1
  197. package/dist/harmony148.cjs +19 -22
  198. package/dist/harmony148.cjs.map +1 -1
  199. package/dist/harmony148.mjs +18 -21
  200. package/dist/harmony148.mjs.map +1 -1
  201. package/dist/harmony149.cjs +5 -11
  202. package/dist/harmony149.cjs.map +1 -1
  203. package/dist/harmony149.mjs +5 -11
  204. package/dist/harmony149.mjs.map +1 -1
  205. package/dist/harmony150.cjs +11 -5
  206. package/dist/harmony150.cjs.map +1 -1
  207. package/dist/harmony150.mjs +11 -5
  208. package/dist/harmony150.mjs.map +1 -1
  209. package/dist/harmony151.cjs +31 -11
  210. package/dist/harmony151.cjs.map +1 -1
  211. package/dist/harmony151.mjs +31 -11
  212. package/dist/harmony151.mjs.map +1 -1
  213. package/dist/harmony152.cjs +10 -28
  214. package/dist/harmony152.cjs.map +1 -1
  215. package/dist/harmony152.mjs +10 -28
  216. package/dist/harmony152.mjs.map +1 -1
  217. package/dist/harmony153.cjs +46 -14
  218. package/dist/harmony153.cjs.map +1 -1
  219. package/dist/harmony153.mjs +46 -14
  220. package/dist/harmony153.mjs.map +1 -1
  221. package/dist/harmony154.cjs +15 -0
  222. package/dist/harmony154.cjs.map +1 -0
  223. package/dist/harmony154.mjs +15 -0
  224. package/dist/harmony154.mjs.map +1 -0
  225. package/dist/harmony17.cjs +1 -1
  226. package/dist/harmony17.mjs +1 -1
  227. package/dist/harmony25.cjs +1 -1
  228. package/dist/harmony25.mjs +1 -1
  229. package/dist/harmony26.cjs +1 -1
  230. package/dist/harmony26.mjs +1 -1
  231. package/dist/harmony29.cjs +1 -1
  232. package/dist/harmony29.mjs +1 -1
  233. package/dist/harmony3.cjs +3 -3
  234. package/dist/harmony3.mjs +3 -3
  235. package/dist/harmony30.cjs +2 -2
  236. package/dist/harmony30.mjs +2 -2
  237. package/dist/harmony31.cjs +2 -2
  238. package/dist/harmony31.mjs +2 -2
  239. package/dist/harmony32.cjs +1 -1
  240. package/dist/harmony32.mjs +1 -1
  241. package/dist/harmony33.cjs +2 -2
  242. package/dist/harmony33.mjs +2 -2
  243. package/dist/harmony34.cjs +1 -1
  244. package/dist/harmony34.mjs +1 -1
  245. package/dist/harmony35.cjs +11 -1
  246. package/dist/harmony35.cjs.map +1 -1
  247. package/dist/harmony35.mjs +12 -2
  248. package/dist/harmony35.mjs.map +1 -1
  249. package/dist/harmony36.cjs +1 -1
  250. package/dist/harmony36.mjs +1 -1
  251. package/dist/harmony4.cjs +10 -10
  252. package/dist/harmony4.mjs +10 -10
  253. package/dist/harmony5.cjs +1 -1
  254. package/dist/harmony5.mjs +1 -1
  255. package/dist/harmony58.cjs +4 -4
  256. package/dist/harmony58.cjs.map +1 -1
  257. package/dist/harmony58.mjs +4 -4
  258. package/dist/harmony58.mjs.map +1 -1
  259. package/dist/harmony59.cjs +4 -4
  260. package/dist/harmony59.cjs.map +1 -1
  261. package/dist/harmony59.mjs +4 -4
  262. package/dist/harmony59.mjs.map +1 -1
  263. package/dist/harmony6.cjs +4 -4
  264. package/dist/harmony6.mjs +4 -4
  265. package/dist/harmony60.cjs +13 -123
  266. package/dist/harmony60.cjs.map +1 -1
  267. package/dist/harmony60.mjs +13 -123
  268. package/dist/harmony60.mjs.map +1 -1
  269. package/dist/harmony61.cjs +102 -60
  270. package/dist/harmony61.cjs.map +1 -1
  271. package/dist/harmony61.mjs +102 -60
  272. package/dist/harmony61.mjs.map +1 -1
  273. package/dist/harmony62.cjs +80 -4
  274. package/dist/harmony62.cjs.map +1 -1
  275. package/dist/harmony62.mjs +80 -4
  276. package/dist/harmony62.mjs.map +1 -1
  277. package/dist/harmony63.cjs +4 -21
  278. package/dist/harmony63.cjs.map +1 -1
  279. package/dist/harmony63.mjs +4 -21
  280. package/dist/harmony63.mjs.map +1 -1
  281. package/dist/harmony64.cjs +20 -17
  282. package/dist/harmony64.cjs.map +1 -1
  283. package/dist/harmony64.mjs +20 -17
  284. package/dist/harmony64.mjs.map +1 -1
  285. package/dist/harmony65.cjs +34 -140
  286. package/dist/harmony65.cjs.map +1 -1
  287. package/dist/harmony65.mjs +31 -137
  288. package/dist/harmony65.mjs.map +1 -1
  289. package/dist/harmony66.cjs +144 -35
  290. package/dist/harmony66.cjs.map +1 -1
  291. package/dist/harmony66.mjs +143 -34
  292. package/dist/harmony66.mjs.map +1 -1
  293. package/dist/harmony67.cjs +35 -25
  294. package/dist/harmony67.cjs.map +1 -1
  295. package/dist/harmony67.mjs +35 -25
  296. package/dist/harmony67.mjs.map +1 -1
  297. package/dist/harmony68.cjs +24 -6
  298. package/dist/harmony68.cjs.map +1 -1
  299. package/dist/harmony68.mjs +24 -6
  300. package/dist/harmony68.mjs.map +1 -1
  301. package/dist/harmony69.cjs +6 -82
  302. package/dist/harmony69.cjs.map +1 -1
  303. package/dist/harmony69.mjs +6 -82
  304. package/dist/harmony69.mjs.map +1 -1
  305. package/dist/harmony7.cjs +1 -1
  306. package/dist/harmony7.mjs +1 -1
  307. package/dist/harmony70.cjs +79 -28
  308. package/dist/harmony70.cjs.map +1 -1
  309. package/dist/harmony70.mjs +79 -28
  310. package/dist/harmony70.mjs.map +1 -1
  311. package/dist/harmony71.cjs +53 -17
  312. package/dist/harmony71.cjs.map +1 -1
  313. package/dist/harmony71.mjs +53 -17
  314. package/dist/harmony71.mjs.map +1 -1
  315. package/dist/harmony72.cjs +19 -16
  316. package/dist/harmony72.cjs.map +1 -1
  317. package/dist/harmony72.mjs +18 -15
  318. package/dist/harmony72.mjs.map +1 -1
  319. package/dist/harmony73.cjs +15 -18
  320. package/dist/harmony73.cjs.map +1 -1
  321. package/dist/harmony73.mjs +15 -18
  322. package/dist/harmony73.mjs.map +1 -1
  323. package/dist/harmony74.cjs +18 -61
  324. package/dist/harmony74.cjs.map +1 -1
  325. package/dist/harmony74.mjs +18 -61
  326. package/dist/harmony74.mjs.map +1 -1
  327. package/dist/harmony75.cjs +61 -6
  328. package/dist/harmony75.cjs.map +1 -1
  329. package/dist/harmony75.mjs +61 -6
  330. package/dist/harmony75.mjs.map +1 -1
  331. package/dist/harmony76.cjs +7 -10
  332. package/dist/harmony76.cjs.map +1 -1
  333. package/dist/harmony76.mjs +6 -9
  334. package/dist/harmony76.mjs.map +1 -1
  335. package/dist/harmony77.cjs +8 -17
  336. package/dist/harmony77.cjs.map +1 -1
  337. package/dist/harmony77.mjs +8 -17
  338. package/dist/harmony77.mjs.map +1 -1
  339. package/dist/harmony78.cjs +13 -18
  340. package/dist/harmony78.cjs.map +1 -1
  341. package/dist/harmony78.mjs +14 -19
  342. package/dist/harmony78.mjs.map +1 -1
  343. package/dist/harmony79.cjs +22 -4
  344. package/dist/harmony79.cjs.map +1 -1
  345. package/dist/harmony79.mjs +22 -4
  346. package/dist/harmony79.mjs.map +1 -1
  347. package/dist/harmony8.cjs +5 -5
  348. package/dist/harmony8.mjs +5 -5
  349. package/dist/harmony80.cjs +4 -31
  350. package/dist/harmony80.cjs.map +1 -1
  351. package/dist/harmony80.mjs +5 -32
  352. package/dist/harmony80.mjs.map +1 -1
  353. package/dist/harmony81.cjs +26 -26
  354. package/dist/harmony81.cjs.map +1 -1
  355. package/dist/harmony81.mjs +28 -28
  356. package/dist/harmony81.mjs.map +1 -1
  357. package/dist/harmony82.cjs +25 -12
  358. package/dist/harmony82.cjs.map +1 -1
  359. package/dist/harmony82.mjs +26 -13
  360. package/dist/harmony82.mjs.map +1 -1
  361. package/dist/harmony83.cjs +12 -24
  362. package/dist/harmony83.cjs.map +1 -1
  363. package/dist/harmony83.mjs +13 -25
  364. package/dist/harmony83.mjs.map +1 -1
  365. package/dist/harmony84.cjs +27 -55
  366. package/dist/harmony84.cjs.map +1 -1
  367. package/dist/harmony84.mjs +29 -57
  368. package/dist/harmony84.mjs.map +1 -1
  369. package/dist/harmony85.cjs +60 -10
  370. package/dist/harmony85.cjs.map +1 -1
  371. package/dist/harmony85.mjs +59 -9
  372. package/dist/harmony85.mjs.map +1 -1
  373. package/dist/harmony86.cjs +10 -9
  374. package/dist/harmony86.cjs.map +1 -1
  375. package/dist/harmony86.mjs +9 -8
  376. package/dist/harmony86.mjs.map +1 -1
  377. package/dist/harmony87.cjs +5 -26
  378. package/dist/harmony87.cjs.map +1 -1
  379. package/dist/harmony87.mjs +8 -29
  380. package/dist/harmony87.mjs.map +1 -1
  381. package/dist/harmony88.cjs +29 -3
  382. package/dist/harmony88.cjs.map +1 -1
  383. package/dist/harmony88.mjs +29 -3
  384. package/dist/harmony88.mjs.map +1 -1
  385. package/dist/harmony89.cjs +3 -33
  386. package/dist/harmony89.cjs.map +1 -1
  387. package/dist/harmony89.mjs +3 -33
  388. package/dist/harmony89.mjs.map +1 -1
  389. package/dist/harmony90.cjs +33 -43
  390. package/dist/harmony90.cjs.map +1 -1
  391. package/dist/harmony90.mjs +33 -43
  392. package/dist/harmony90.mjs.map +1 -1
  393. package/dist/harmony91.cjs +43 -29
  394. package/dist/harmony91.cjs.map +1 -1
  395. package/dist/harmony91.mjs +43 -29
  396. package/dist/harmony91.mjs.map +1 -1
  397. package/dist/harmony92.cjs +26 -63
  398. package/dist/harmony92.cjs.map +1 -1
  399. package/dist/harmony92.mjs +26 -63
  400. package/dist/harmony92.mjs.map +1 -1
  401. package/dist/harmony93.cjs +66 -15
  402. package/dist/harmony93.cjs.map +1 -1
  403. package/dist/harmony93.mjs +66 -15
  404. package/dist/harmony93.mjs.map +1 -1
  405. package/dist/harmony94.cjs +15 -3
  406. package/dist/harmony94.cjs.map +1 -1
  407. package/dist/harmony94.mjs +15 -3
  408. package/dist/harmony94.mjs.map +1 -1
  409. package/dist/harmony95.cjs +4 -7
  410. package/dist/harmony95.cjs.map +1 -1
  411. package/dist/harmony95.mjs +3 -6
  412. package/dist/harmony95.mjs.map +1 -1
  413. package/dist/harmony96.cjs +166 -9
  414. package/dist/harmony96.cjs.map +1 -1
  415. package/dist/harmony96.mjs +165 -8
  416. package/dist/harmony96.mjs.map +1 -1
  417. package/dist/harmony97.cjs +44 -9
  418. package/dist/harmony97.cjs.map +1 -1
  419. package/dist/harmony97.mjs +43 -8
  420. package/dist/harmony97.mjs.map +1 -1
  421. package/dist/harmony98.cjs +9 -55
  422. package/dist/harmony98.cjs.map +1 -1
  423. package/dist/harmony98.mjs +11 -57
  424. package/dist/harmony98.mjs.map +1 -1
  425. package/dist/harmony99.cjs +21 -42
  426. package/dist/harmony99.cjs.map +1 -1
  427. package/dist/harmony99.mjs +20 -41
  428. package/dist/harmony99.mjs.map +1 -1
  429. package/dist/types/src/features/auth/frontend/hooks/useAuthenticatedProjectContributor.d.ts +1 -1
  430. package/dist/types/src/features/navigation/hooks/useNavigationQueries.d.ts +6 -6
  431. package/dist/types/src/features/publicApi/contributors.d.ts +16 -16
  432. package/dist/types/src/features/publicApi/hooks/useAddContributorsMutation.d.ts +1 -1
  433. package/dist/types/src/features/publicApi/hooks/useCreateProjectMutation.d.ts +1 -1
  434. package/dist/types/src/features/publicApi/hooks/useListContributorsQuery.d.ts +1 -1
  435. package/dist/types/src/features/publicApi/hooks/useListProjectsQuery.d.ts +1 -1
  436. package/dist/types/src/features/publicApi/hooks/useRetrieveContributorQuery.d.ts +1 -1
  437. package/dist/types/src/features/publicApi/hooks/useRetrieveProjectQuery.d.ts +1 -1
  438. package/dist/types/src/features/publicApi/hooks/useRetrieveUserPermissions.d.ts +23 -0
  439. package/dist/types/src/features/publicApi/hooks/useUpdateContributorMutation.d.ts +1 -1
  440. package/dist/types/src/features/publicApi/hooks/useUpdateProjectMutation.d.ts +1 -1
  441. package/dist/types/src/features/publicApi/node.d.ts +1 -0
  442. package/dist/types/src/features/publicApi/projects.d.ts +10 -10
  443. package/dist/types/src/features/publicApi/teamUsers.d.ts +111 -0
  444. package/dist/types/src/features/publicApi/types/contributorTypes.d.ts +18 -18
  445. package/dist/types/src/features/publicApi/types/permissionTypes.d.ts +1 -0
  446. package/dist/types/src/features/publicApi/types/projectTypes.d.ts +6 -6
  447. package/dist/types/src/features/publicApi/types/teamUserTypes.d.ts +66 -0
  448. package/package.json +1 -1
@@ -1,63 +1,13 @@
1
- import { SidebarTaskLanguageStatuses, SidebarTaskTypeOptions, SidebarTaskStatuses } from "./harmony2.mjs";
2
- const getStatusText = (status, progressValue) => {
3
- switch (status) {
4
- case SidebarTaskLanguageStatuses.Completed:
5
- return progressValue < 100 ? "Closed" : "Completed";
6
- case SidebarTaskLanguageStatuses.Created:
7
- return progressValue > 0 ? "In progress" : "Not started";
8
- case SidebarTaskLanguageStatuses.InProgress:
9
- return "In progress";
10
- case SidebarTaskLanguageStatuses.Queued:
11
- return "Queued";
12
- case SidebarTaskLanguageStatuses.NotStarted:
13
- return "Not started";
14
- default:
15
- return "-";
16
- }
1
+ const hasAdminRight = (adminRights, right) => {
2
+ if (!Array.isArray(adminRights)) return false;
3
+ return adminRights.includes(right);
17
4
  };
18
- const resolveStatus = (language) => {
19
- const progress = language.progress ?? 0;
20
- if (language.status === SidebarTaskLanguageStatuses.Created && progress > 0) {
21
- return SidebarTaskLanguageStatuses.InProgress;
22
- }
23
- return language.status;
24
- };
25
- const tagColor = {
26
- [SidebarTaskTypeOptions.translation]: "#0891B2",
27
- [SidebarTaskTypeOptions.review]: "#16922D",
28
- [SidebarTaskTypeOptions.lqa_by_ai]: "#8B5CF6",
29
- [SidebarTaskTypeOptions.automatic_translation]: "#60A5FA"
30
- };
31
- const getTaskLanguages = (langs) => {
32
- const statusSortOrder = [
33
- SidebarTaskLanguageStatuses.InProgress,
34
- SidebarTaskLanguageStatuses.Created,
35
- SidebarTaskLanguageStatuses.Completed
36
- ];
37
- return langs.filter((language) => language.status !== "queued").map((lang) => ({ ...lang, status: resolveStatus(lang) })).sort((a, b) => {
38
- if (a.status === SidebarTaskLanguageStatuses.InProgress && a.progress === 100) {
39
- return -1;
40
- }
41
- if (b.status === SidebarTaskLanguageStatuses.InProgress && b.progress === 100) {
42
- return 1;
43
- }
44
- if (a.status === b.status) {
45
- return a.name < b.name ? 1 : -1;
46
- }
47
- return statusSortOrder.indexOf(a.status) - statusSortOrder.indexOf(b.status);
48
- });
49
- };
50
- const isInProgressOrCreated = (status) => {
51
- return [SidebarTaskStatuses.InProgress, SidebarTaskStatuses.Created].includes(status);
52
- };
53
- const isLanguageProgressCompleted = (task, language) => {
54
- return isInProgressOrCreated(task.status) && isInProgressOrCreated(language.status) && (language.progress ?? 0) >= 100;
5
+ const hasAnyAdminRight = (adminRights, rights) => {
6
+ if (!Array.isArray(adminRights)) return false;
7
+ return rights.some((right) => adminRights.includes(right));
55
8
  };
56
9
  export {
57
- getStatusText,
58
- getTaskLanguages,
59
- isLanguageProgressCompleted,
60
- resolveStatus,
61
- tagColor
10
+ hasAdminRight,
11
+ hasAnyAdminRight
62
12
  };
63
13
  //# sourceMappingURL=harmony134.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"harmony134.mjs","sources":["../src/components/Sidebar/Widgets/Tasks/utils/content.ts"],"sourcesContent":["import {\n\ttype SidebarTask,\n\ttype SidebarTaskLanguage,\n\ttype SidebarTaskLanguageStatus,\n\tSidebarTaskLanguageStatuses,\n\ttype SidebarTaskStatus,\n\tSidebarTaskStatuses,\n\ttype SidebarTaskTypeOption,\n\tSidebarTaskTypeOptions,\n} from '../types'\n\nexport const getStatusText = (status: SidebarTaskLanguageStatus, progressValue: number) => {\n\tswitch (status) {\n\t\tcase SidebarTaskLanguageStatuses.Completed:\n\t\t\treturn progressValue < 100 ? 'Closed' : 'Completed'\n\t\tcase SidebarTaskLanguageStatuses.Created:\n\t\t\t// For some reason project task lang status is not correctly updated to \"in progress\". So instead\n\t\t\t// we need to rely on `created` status and progress value is not 0.\n\t\t\treturn progressValue > 0 ? 'In progress' : 'Not started'\n\t\tcase SidebarTaskLanguageStatuses.InProgress:\n\t\t\treturn 'In progress'\n\t\tcase SidebarTaskLanguageStatuses.Queued:\n\t\t\treturn 'Queued'\n\t\tcase SidebarTaskLanguageStatuses.NotStarted:\n\t\t\treturn 'Not started'\n\t\tdefault:\n\t\t\treturn '-'\n\t}\n}\n\nexport const resolveStatus = (language: SidebarTaskLanguage): SidebarTaskLanguageStatus => {\n\tconst progress = language.progress ?? 0\n\n\tif (language.status === SidebarTaskLanguageStatuses.Created && progress > 0) {\n\t\t// For some reason project task lang status is not correctly updated to \"in progress\". So instead\n\t\t// we need to rely on `created` status and progress value is not 0.\n\t\treturn SidebarTaskLanguageStatuses.InProgress\n\t}\n\n\treturn language.status\n}\n\n/**\n * TODO - these should be taken from louis\n */\nexport const tagColor: Record<SidebarTaskTypeOption, string> = {\n\t[SidebarTaskTypeOptions.translation]: '#0891B2',\n\t[SidebarTaskTypeOptions.review]: '#16922D',\n\t[SidebarTaskTypeOptions.lqa_by_ai]: '#8B5CF6',\n\t[SidebarTaskTypeOptions.automatic_translation]: '#60A5FA',\n}\n\nexport const getTaskLanguages = (langs: SidebarTaskLanguage[]) => {\n\tconst statusSortOrder: SidebarTaskLanguageStatus[] = [\n\t\tSidebarTaskLanguageStatuses.InProgress,\n\t\tSidebarTaskLanguageStatuses.Created,\n\t\tSidebarTaskLanguageStatuses.Completed,\n\t]\n\n\treturn langs\n\t\t.filter((language) => language.status !== 'queued')\n\t\t.map((lang) => ({ ...lang, status: resolveStatus(lang) }))\n\t\t.sort((a, b) => {\n\t\t\tif (a.status === SidebarTaskLanguageStatuses.InProgress && a.progress === 100) {\n\t\t\t\treturn -1\n\t\t\t}\n\n\t\t\tif (b.status === SidebarTaskLanguageStatuses.InProgress && b.progress === 100) {\n\t\t\t\treturn 1\n\t\t\t}\n\n\t\t\tif (a.status === b.status) {\n\t\t\t\t// Order by lang id\n\t\t\t\treturn a.name < b.name ? 1 : -1\n\t\t\t}\n\n\t\t\t// The index of array will serve as sorting order so if we get `in_progress` for \"a\" and `created`\n\t\t\t// for b, they will have `0` and `1` indices. So `0 - 1` will result in `-1` which means\n\t\t\t// \"a\" will be sorted before \"b\".\n\t\t\treturn statusSortOrder.indexOf(a.status) - statusSortOrder.indexOf(b.status)\n\t\t})\n}\n\nconst isInProgressOrCreated = (status: SidebarTaskLanguageStatus | SidebarTaskStatus): boolean => {\n\t// @ts-ignore - complaints about status missing completed and other statuses\n\treturn [SidebarTaskStatuses.InProgress, SidebarTaskStatuses.Created].includes(status)\n}\n\nexport const isLanguageProgressCompleted = (\n\ttask: SidebarTask,\n\tlanguage: SidebarTaskLanguage,\n): boolean => {\n\treturn (\n\t\tisInProgressOrCreated(task.status) &&\n\t\tisInProgressOrCreated(language.status) &&\n\t\t(language.progress ?? 0) >= 100\n\t)\n}\n"],"names":[],"mappings":";AAWa,MAAA,gBAAgB,CAAC,QAAmC,kBAA0B;AAC1F,UAAQ,QAAQ;AAAA,IACf,KAAK,4BAA4B;AACzB,aAAA,gBAAgB,MAAM,WAAW;AAAA,IACzC,KAAK,4BAA4B;AAGzB,aAAA,gBAAgB,IAAI,gBAAgB;AAAA,IAC5C,KAAK,4BAA4B;AACzB,aAAA;AAAA,IACR,KAAK,4BAA4B;AACzB,aAAA;AAAA,IACR,KAAK,4BAA4B;AACzB,aAAA;AAAA,IACR;AACQ,aAAA;AAAA,EAAA;AAEV;AAEa,MAAA,gBAAgB,CAAC,aAA6D;AACpF,QAAA,WAAW,SAAS,YAAY;AAEtC,MAAI,SAAS,WAAW,4BAA4B,WAAW,WAAW,GAAG;AAG5E,WAAO,4BAA4B;AAAA,EAAA;AAGpC,SAAO,SAAS;AACjB;AAKO,MAAM,WAAkD;AAAA,EAC9D,CAAC,uBAAuB,WAAW,GAAG;AAAA,EACtC,CAAC,uBAAuB,MAAM,GAAG;AAAA,EACjC,CAAC,uBAAuB,SAAS,GAAG;AAAA,EACpC,CAAC,uBAAuB,qBAAqB,GAAG;AACjD;AAEa,MAAA,mBAAmB,CAAC,UAAiC;AACjE,QAAM,kBAA+C;AAAA,IACpD,4BAA4B;AAAA,IAC5B,4BAA4B;AAAA,IAC5B,4BAA4B;AAAA,EAC7B;AAEO,SAAA,MACL,OAAO,CAAC,aAAa,SAAS,WAAW,QAAQ,EACjD,IAAI,CAAC,UAAU,EAAE,GAAG,MAAM,QAAQ,cAAc,IAAI,EAAA,EAAI,EACxD,KAAK,CAAC,GAAG,MAAM;AACf,QAAI,EAAE,WAAW,4BAA4B,cAAc,EAAE,aAAa,KAAK;AACvE,aAAA;AAAA,IAAA;AAGR,QAAI,EAAE,WAAW,4BAA4B,cAAc,EAAE,aAAa,KAAK;AACvE,aAAA;AAAA,IAAA;AAGJ,QAAA,EAAE,WAAW,EAAE,QAAQ;AAE1B,aAAO,EAAE,OAAO,EAAE,OAAO,IAAI;AAAA,IAAA;AAMvB,WAAA,gBAAgB,QAAQ,EAAE,MAAM,IAAI,gBAAgB,QAAQ,EAAE,MAAM;AAAA,EAAA,CAC3E;AACH;AAEA,MAAM,wBAAwB,CAAC,WAAmE;AAEjG,SAAO,CAAC,oBAAoB,YAAY,oBAAoB,OAAO,EAAE,SAAS,MAAM;AACrF;AAEa,MAAA,8BAA8B,CAC1C,MACA,aACa;AAEZ,SAAA,sBAAsB,KAAK,MAAM,KACjC,sBAAsB,SAAS,MAAM,MACpC,SAAS,YAAY,MAAM;AAE9B;"}
1
+ {"version":3,"file":"harmony134.mjs","sources":["../src/features/auth/utils/permissions.ts"],"sourcesContent":["// Helper function to check if user has a specific admin right\nexport const hasAdminRight = (adminRights: string[], right: string): boolean => {\n\tif (!Array.isArray(adminRights)) return false\n\treturn adminRights.includes(right)\n}\n\n// Helper function to check if user has any of the specified admin rights\nexport const hasAnyAdminRight = (adminRights: string[], rights: string[]): boolean => {\n\tif (!Array.isArray(adminRights)) return false\n\treturn rights.some((right) => adminRights.includes(right))\n}\n"],"names":[],"mappings":"AACa,MAAA,gBAAgB,CAAC,aAAuB,UAA2B;AAC/E,MAAI,CAAC,MAAM,QAAQ,WAAW,EAAU,QAAA;AACjC,SAAA,YAAY,SAAS,KAAK;AAClC;AAGa,MAAA,mBAAmB,CAAC,aAAuB,WAA8B;AACrF,MAAI,CAAC,MAAM,QAAQ,WAAW,EAAU,QAAA;AACxC,SAAO,OAAO,KAAK,CAAC,UAAU,YAAY,SAAS,KAAK,CAAC;AAC1D;"}
@@ -1,21 +1,65 @@
1
1
  "use strict";
2
- Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
3
- const taskContainer = "_taskContainer_mt2or_1";
4
- const taskTitle = "_taskTitle_mt2or_21";
5
- const taskDescription = "_taskDescription_mt2or_28";
6
- const languagesTable = "_languagesTable_mt2or_35";
7
- const metadata = "_metadata_mt2or_87";
8
- const styles = {
9
- taskContainer,
10
- taskTitle,
11
- taskDescription,
12
- languagesTable,
13
- metadata
14
- };
15
- exports.default = styles;
16
- exports.languagesTable = languagesTable;
17
- exports.metadata = metadata;
18
- exports.taskContainer = taskContainer;
19
- exports.taskDescription = taskDescription;
20
- exports.taskTitle = taskTitle;
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const min = Math.min;
4
+ const max = Math.max;
5
+ function clamp(start, value, end) {
6
+ return max(start, min(value, end));
7
+ }
8
+ function evaluate(value, param) {
9
+ return typeof value === "function" ? value(param) : value;
10
+ }
11
+ function getSide(placement) {
12
+ return placement.split("-")[0];
13
+ }
14
+ function getOppositeAxis(axis) {
15
+ return axis === "x" ? "y" : "x";
16
+ }
17
+ function getSideAxis(placement) {
18
+ return ["top", "bottom"].includes(getSide(placement)) ? "y" : "x";
19
+ }
20
+ function expandPaddingObject(padding) {
21
+ return {
22
+ top: 0,
23
+ right: 0,
24
+ bottom: 0,
25
+ left: 0,
26
+ ...padding
27
+ };
28
+ }
29
+ function getPaddingObject(padding) {
30
+ return typeof padding !== "number" ? expandPaddingObject(padding) : {
31
+ top: padding,
32
+ right: padding,
33
+ bottom: padding,
34
+ left: padding
35
+ };
36
+ }
37
+ function rectToClientRect(rect) {
38
+ const {
39
+ x,
40
+ y,
41
+ width,
42
+ height
43
+ } = rect;
44
+ return {
45
+ width,
46
+ height,
47
+ top: y,
48
+ left: x,
49
+ right: x + width,
50
+ bottom: y + height,
51
+ x,
52
+ y
53
+ };
54
+ }
55
+ exports.clamp = clamp;
56
+ exports.evaluate = evaluate;
57
+ exports.expandPaddingObject = expandPaddingObject;
58
+ exports.getOppositeAxis = getOppositeAxis;
59
+ exports.getPaddingObject = getPaddingObject;
60
+ exports.getSide = getSide;
61
+ exports.getSideAxis = getSideAxis;
62
+ exports.max = max;
63
+ exports.min = min;
64
+ exports.rectToClientRect = rectToClientRect;
21
65
  //# sourceMappingURL=harmony135.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"harmony135.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"harmony135.cjs","sources":["../node_modules/@floating-ui/utils/dist/floating-ui.utils.mjs"],"sourcesContent":["/**\n * Custom positioning reference element.\n * @see https://floating-ui.com/docs/virtual-elements\n */\n\nconst sides = ['top', 'right', 'bottom', 'left'];\nconst alignments = ['start', 'end'];\nconst placements = /*#__PURE__*/sides.reduce((acc, side) => acc.concat(side, side + \"-\" + alignments[0], side + \"-\" + alignments[1]), []);\nconst min = Math.min;\nconst max = Math.max;\nconst round = Math.round;\nconst floor = Math.floor;\nconst createCoords = v => ({\n x: v,\n y: v\n});\nconst oppositeSideMap = {\n left: 'right',\n right: 'left',\n bottom: 'top',\n top: 'bottom'\n};\nconst oppositeAlignmentMap = {\n start: 'end',\n end: 'start'\n};\nfunction clamp(start, value, end) {\n return max(start, min(value, end));\n}\nfunction evaluate(value, param) {\n return typeof value === 'function' ? value(param) : value;\n}\nfunction getSide(placement) {\n return placement.split('-')[0];\n}\nfunction getAlignment(placement) {\n return placement.split('-')[1];\n}\nfunction getOppositeAxis(axis) {\n return axis === 'x' ? 'y' : 'x';\n}\nfunction getAxisLength(axis) {\n return axis === 'y' ? 'height' : 'width';\n}\nfunction getSideAxis(placement) {\n return ['top', 'bottom'].includes(getSide(placement)) ? 'y' : 'x';\n}\nfunction getAlignmentAxis(placement) {\n return getOppositeAxis(getSideAxis(placement));\n}\nfunction getAlignmentSides(placement, rects, rtl) {\n if (rtl === void 0) {\n rtl = false;\n }\n const alignment = getAlignment(placement);\n const alignmentAxis = getAlignmentAxis(placement);\n const length = getAxisLength(alignmentAxis);\n let mainAlignmentSide = alignmentAxis === 'x' ? alignment === (rtl ? 'end' : 'start') ? 'right' : 'left' : alignment === 'start' ? 'bottom' : 'top';\n if (rects.reference[length] > rects.floating[length]) {\n mainAlignmentSide = getOppositePlacement(mainAlignmentSide);\n }\n return [mainAlignmentSide, getOppositePlacement(mainAlignmentSide)];\n}\nfunction getExpandedPlacements(placement) {\n const oppositePlacement = getOppositePlacement(placement);\n return [getOppositeAlignmentPlacement(placement), oppositePlacement, getOppositeAlignmentPlacement(oppositePlacement)];\n}\nfunction getOppositeAlignmentPlacement(placement) {\n return placement.replace(/start|end/g, alignment => oppositeAlignmentMap[alignment]);\n}\nfunction getSideList(side, isStart, rtl) {\n const lr = ['left', 'right'];\n const rl = ['right', 'left'];\n const tb = ['top', 'bottom'];\n const bt = ['bottom', 'top'];\n switch (side) {\n case 'top':\n case 'bottom':\n if (rtl) return isStart ? rl : lr;\n return isStart ? lr : rl;\n case 'left':\n case 'right':\n return isStart ? tb : bt;\n default:\n return [];\n }\n}\nfunction getOppositeAxisPlacements(placement, flipAlignment, direction, rtl) {\n const alignment = getAlignment(placement);\n let list = getSideList(getSide(placement), direction === 'start', rtl);\n if (alignment) {\n list = list.map(side => side + \"-\" + alignment);\n if (flipAlignment) {\n list = list.concat(list.map(getOppositeAlignmentPlacement));\n }\n }\n return list;\n}\nfunction getOppositePlacement(placement) {\n return placement.replace(/left|right|bottom|top/g, side => oppositeSideMap[side]);\n}\nfunction expandPaddingObject(padding) {\n return {\n top: 0,\n right: 0,\n bottom: 0,\n left: 0,\n ...padding\n };\n}\nfunction getPaddingObject(padding) {\n return typeof padding !== 'number' ? expandPaddingObject(padding) : {\n top: padding,\n right: padding,\n bottom: padding,\n left: padding\n };\n}\nfunction rectToClientRect(rect) {\n const {\n x,\n y,\n width,\n height\n } = rect;\n return {\n width,\n height,\n top: y,\n left: x,\n right: x + width,\n bottom: y + height,\n x,\n y\n };\n}\n\nexport { alignments, clamp, createCoords, evaluate, expandPaddingObject, floor, getAlignment, getAlignmentAxis, getAlignmentSides, getAxisLength, getExpandedPlacements, getOppositeAlignmentPlacement, getOppositeAxis, getOppositeAxisPlacements, getOppositePlacement, getPaddingObject, getSide, getSideAxis, max, min, placements, rectToClientRect, round, sides };\n"],"names":[],"mappings":";;AAQK,MAAC,MAAM,KAAK;AACZ,MAAC,MAAM,KAAK;AAiBjB,SAAS,MAAM,OAAO,OAAO,KAAK;AAChC,SAAO,IAAI,OAAO,IAAI,OAAO,GAAG,CAAC;AACnC;AACA,SAAS,SAAS,OAAO,OAAO;AAC9B,SAAO,OAAO,UAAU,aAAa,MAAM,KAAK,IAAI;AACtD;AACA,SAAS,QAAQ,WAAW;AAC1B,SAAO,UAAU,MAAM,GAAG,EAAE,CAAC;AAC/B;AAIA,SAAS,gBAAgB,MAAM;AAC7B,SAAO,SAAS,MAAM,MAAM;AAC9B;AAIA,SAAS,YAAY,WAAW;AAC9B,SAAO,CAAC,OAAO,QAAQ,EAAE,SAAS,QAAQ,SAAS,CAAC,IAAI,MAAM;AAChE;AAuDA,SAAS,oBAAoB,SAAS;AACpC,SAAO;AAAA,IACL,KAAK;AAAA,IACL,OAAO;AAAA,IACP,QAAQ;AAAA,IACR,MAAM;AAAA,IACN,GAAG;AAAA,EACJ;AACH;AACA,SAAS,iBAAiB,SAAS;AACjC,SAAO,OAAO,YAAY,WAAW,oBAAoB,OAAO,IAAI;AAAA,IAClE,KAAK;AAAA,IACL,OAAO;AAAA,IACP,QAAQ;AAAA,IACR,MAAM;AAAA,EACP;AACH;AACA,SAAS,iBAAiB,MAAM;AAC9B,QAAM;AAAA,IACJ;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACJ,IAAM;AACJ,SAAO;AAAA,IACL;AAAA,IACA;AAAA,IACA,KAAK;AAAA,IACL,MAAM;AAAA,IACN,OAAO,IAAI;AAAA,IACX,QAAQ,IAAI;AAAA,IACZ;AAAA,IACA;AAAA,EACD;AACH;;;;;;;;;;;","x_google_ignoreList":[0]}
@@ -1,21 +1,65 @@
1
- const taskContainer = "_taskContainer_mt2or_1";
2
- const taskTitle = "_taskTitle_mt2or_21";
3
- const taskDescription = "_taskDescription_mt2or_28";
4
- const languagesTable = "_languagesTable_mt2or_35";
5
- const metadata = "_metadata_mt2or_87";
6
- const styles = {
7
- taskContainer,
8
- taskTitle,
9
- taskDescription,
10
- languagesTable,
11
- metadata
12
- };
1
+ const min = Math.min;
2
+ const max = Math.max;
3
+ function clamp(start, value, end) {
4
+ return max(start, min(value, end));
5
+ }
6
+ function evaluate(value, param) {
7
+ return typeof value === "function" ? value(param) : value;
8
+ }
9
+ function getSide(placement) {
10
+ return placement.split("-")[0];
11
+ }
12
+ function getOppositeAxis(axis) {
13
+ return axis === "x" ? "y" : "x";
14
+ }
15
+ function getSideAxis(placement) {
16
+ return ["top", "bottom"].includes(getSide(placement)) ? "y" : "x";
17
+ }
18
+ function expandPaddingObject(padding) {
19
+ return {
20
+ top: 0,
21
+ right: 0,
22
+ bottom: 0,
23
+ left: 0,
24
+ ...padding
25
+ };
26
+ }
27
+ function getPaddingObject(padding) {
28
+ return typeof padding !== "number" ? expandPaddingObject(padding) : {
29
+ top: padding,
30
+ right: padding,
31
+ bottom: padding,
32
+ left: padding
33
+ };
34
+ }
35
+ function rectToClientRect(rect) {
36
+ const {
37
+ x,
38
+ y,
39
+ width,
40
+ height
41
+ } = rect;
42
+ return {
43
+ width,
44
+ height,
45
+ top: y,
46
+ left: x,
47
+ right: x + width,
48
+ bottom: y + height,
49
+ x,
50
+ y
51
+ };
52
+ }
13
53
  export {
14
- styles as default,
15
- languagesTable,
16
- metadata,
17
- taskContainer,
18
- taskDescription,
19
- taskTitle
54
+ clamp,
55
+ evaluate,
56
+ expandPaddingObject,
57
+ getOppositeAxis,
58
+ getPaddingObject,
59
+ getSide,
60
+ getSideAxis,
61
+ max,
62
+ min,
63
+ rectToClientRect
20
64
  };
21
65
  //# sourceMappingURL=harmony135.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"harmony135.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;"}
1
+ {"version":3,"file":"harmony135.mjs","sources":["../node_modules/@floating-ui/utils/dist/floating-ui.utils.mjs"],"sourcesContent":["/**\n * Custom positioning reference element.\n * @see https://floating-ui.com/docs/virtual-elements\n */\n\nconst sides = ['top', 'right', 'bottom', 'left'];\nconst alignments = ['start', 'end'];\nconst placements = /*#__PURE__*/sides.reduce((acc, side) => acc.concat(side, side + \"-\" + alignments[0], side + \"-\" + alignments[1]), []);\nconst min = Math.min;\nconst max = Math.max;\nconst round = Math.round;\nconst floor = Math.floor;\nconst createCoords = v => ({\n x: v,\n y: v\n});\nconst oppositeSideMap = {\n left: 'right',\n right: 'left',\n bottom: 'top',\n top: 'bottom'\n};\nconst oppositeAlignmentMap = {\n start: 'end',\n end: 'start'\n};\nfunction clamp(start, value, end) {\n return max(start, min(value, end));\n}\nfunction evaluate(value, param) {\n return typeof value === 'function' ? value(param) : value;\n}\nfunction getSide(placement) {\n return placement.split('-')[0];\n}\nfunction getAlignment(placement) {\n return placement.split('-')[1];\n}\nfunction getOppositeAxis(axis) {\n return axis === 'x' ? 'y' : 'x';\n}\nfunction getAxisLength(axis) {\n return axis === 'y' ? 'height' : 'width';\n}\nfunction getSideAxis(placement) {\n return ['top', 'bottom'].includes(getSide(placement)) ? 'y' : 'x';\n}\nfunction getAlignmentAxis(placement) {\n return getOppositeAxis(getSideAxis(placement));\n}\nfunction getAlignmentSides(placement, rects, rtl) {\n if (rtl === void 0) {\n rtl = false;\n }\n const alignment = getAlignment(placement);\n const alignmentAxis = getAlignmentAxis(placement);\n const length = getAxisLength(alignmentAxis);\n let mainAlignmentSide = alignmentAxis === 'x' ? alignment === (rtl ? 'end' : 'start') ? 'right' : 'left' : alignment === 'start' ? 'bottom' : 'top';\n if (rects.reference[length] > rects.floating[length]) {\n mainAlignmentSide = getOppositePlacement(mainAlignmentSide);\n }\n return [mainAlignmentSide, getOppositePlacement(mainAlignmentSide)];\n}\nfunction getExpandedPlacements(placement) {\n const oppositePlacement = getOppositePlacement(placement);\n return [getOppositeAlignmentPlacement(placement), oppositePlacement, getOppositeAlignmentPlacement(oppositePlacement)];\n}\nfunction getOppositeAlignmentPlacement(placement) {\n return placement.replace(/start|end/g, alignment => oppositeAlignmentMap[alignment]);\n}\nfunction getSideList(side, isStart, rtl) {\n const lr = ['left', 'right'];\n const rl = ['right', 'left'];\n const tb = ['top', 'bottom'];\n const bt = ['bottom', 'top'];\n switch (side) {\n case 'top':\n case 'bottom':\n if (rtl) return isStart ? rl : lr;\n return isStart ? lr : rl;\n case 'left':\n case 'right':\n return isStart ? tb : bt;\n default:\n return [];\n }\n}\nfunction getOppositeAxisPlacements(placement, flipAlignment, direction, rtl) {\n const alignment = getAlignment(placement);\n let list = getSideList(getSide(placement), direction === 'start', rtl);\n if (alignment) {\n list = list.map(side => side + \"-\" + alignment);\n if (flipAlignment) {\n list = list.concat(list.map(getOppositeAlignmentPlacement));\n }\n }\n return list;\n}\nfunction getOppositePlacement(placement) {\n return placement.replace(/left|right|bottom|top/g, side => oppositeSideMap[side]);\n}\nfunction expandPaddingObject(padding) {\n return {\n top: 0,\n right: 0,\n bottom: 0,\n left: 0,\n ...padding\n };\n}\nfunction getPaddingObject(padding) {\n return typeof padding !== 'number' ? expandPaddingObject(padding) : {\n top: padding,\n right: padding,\n bottom: padding,\n left: padding\n };\n}\nfunction rectToClientRect(rect) {\n const {\n x,\n y,\n width,\n height\n } = rect;\n return {\n width,\n height,\n top: y,\n left: x,\n right: x + width,\n bottom: y + height,\n x,\n y\n };\n}\n\nexport { alignments, clamp, createCoords, evaluate, expandPaddingObject, floor, getAlignment, getAlignmentAxis, getAlignmentSides, getAxisLength, getExpandedPlacements, getOppositeAlignmentPlacement, getOppositeAxis, getOppositeAxisPlacements, getOppositePlacement, getPaddingObject, getSide, getSideAxis, max, min, placements, rectToClientRect, round, sides };\n"],"names":[],"mappings":"AAQK,MAAC,MAAM,KAAK;AACZ,MAAC,MAAM,KAAK;AAiBjB,SAAS,MAAM,OAAO,OAAO,KAAK;AAChC,SAAO,IAAI,OAAO,IAAI,OAAO,GAAG,CAAC;AACnC;AACA,SAAS,SAAS,OAAO,OAAO;AAC9B,SAAO,OAAO,UAAU,aAAa,MAAM,KAAK,IAAI;AACtD;AACA,SAAS,QAAQ,WAAW;AAC1B,SAAO,UAAU,MAAM,GAAG,EAAE,CAAC;AAC/B;AAIA,SAAS,gBAAgB,MAAM;AAC7B,SAAO,SAAS,MAAM,MAAM;AAC9B;AAIA,SAAS,YAAY,WAAW;AAC9B,SAAO,CAAC,OAAO,QAAQ,EAAE,SAAS,QAAQ,SAAS,CAAC,IAAI,MAAM;AAChE;AAuDA,SAAS,oBAAoB,SAAS;AACpC,SAAO;AAAA,IACL,KAAK;AAAA,IACL,OAAO;AAAA,IACP,QAAQ;AAAA,IACR,MAAM;AAAA,IACN,GAAG;AAAA,EACJ;AACH;AACA,SAAS,iBAAiB,SAAS;AACjC,SAAO,OAAO,YAAY,WAAW,oBAAoB,OAAO,IAAI;AAAA,IAClE,KAAK;AAAA,IACL,OAAO;AAAA,IACP,QAAQ;AAAA,IACR,MAAM;AAAA,EACP;AACH;AACA,SAAS,iBAAiB,MAAM;AAC9B,QAAM;AAAA,IACJ;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACJ,IAAM;AACJ,SAAO;AAAA,IACL;AAAA,IACA;AAAA,IACA,KAAK;AAAA,IACL,MAAM;AAAA,IACN,OAAO,IAAI;AAAA,IACX,QAAQ,IAAI;AAAA,IACZ;AAAA,IACA;AAAA,EACD;AACH;","x_google_ignoreList":[0]}
@@ -1,99 +1,91 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const isObject = require("./harmony137.cjs");
4
- const now = require("./harmony138.cjs");
5
- const toNumber = require("./harmony139.cjs");
6
- var debounce_1;
7
- var hasRequiredDebounce;
8
- function requireDebounce() {
9
- if (hasRequiredDebounce) return debounce_1;
10
- hasRequiredDebounce = 1;
11
- var isObject$1 = isObject.__require(), now$1 = now.__require(), toNumber$1 = toNumber.__require();
12
- var FUNC_ERROR_TEXT = "Expected a function";
13
- var nativeMax = Math.max, nativeMin = Math.min;
14
- function debounce(func, wait, options) {
15
- var lastArgs, lastThis, maxWait, result, timerId, lastCallTime, lastInvokeTime = 0, leading = false, maxing = false, trailing = true;
16
- if (typeof func != "function") {
17
- throw new TypeError(FUNC_ERROR_TEXT);
18
- }
19
- wait = toNumber$1(wait) || 0;
20
- if (isObject$1(options)) {
21
- leading = !!options.leading;
22
- maxing = "maxWait" in options;
23
- maxWait = maxing ? nativeMax(toNumber$1(options.maxWait) || 0, wait) : maxWait;
24
- trailing = "trailing" in options ? !!options.trailing : trailing;
25
- }
26
- function invokeFunc(time) {
27
- var args = lastArgs, thisArg = lastThis;
28
- lastArgs = lastThis = void 0;
29
- lastInvokeTime = time;
30
- result = func.apply(thisArg, args);
31
- return result;
32
- }
33
- function leadingEdge(time) {
34
- lastInvokeTime = time;
35
- timerId = setTimeout(timerExpired, wait);
36
- return leading ? invokeFunc(time) : result;
37
- }
38
- function remainingWait(time) {
39
- var timeSinceLastCall = time - lastCallTime, timeSinceLastInvoke = time - lastInvokeTime, timeWaiting = wait - timeSinceLastCall;
40
- return maxing ? nativeMin(timeWaiting, maxWait - timeSinceLastInvoke) : timeWaiting;
41
- }
42
- function shouldInvoke(time) {
43
- var timeSinceLastCall = time - lastCallTime, timeSinceLastInvoke = time - lastInvokeTime;
44
- return lastCallTime === void 0 || timeSinceLastCall >= wait || timeSinceLastCall < 0 || maxing && timeSinceLastInvoke >= maxWait;
45
- }
46
- function timerExpired() {
47
- var time = now$1();
48
- if (shouldInvoke(time)) {
49
- return trailingEdge(time);
50
- }
51
- timerId = setTimeout(timerExpired, remainingWait(time));
52
- }
53
- function trailingEdge(time) {
54
- timerId = void 0;
55
- if (trailing && lastArgs) {
56
- return invokeFunc(time);
57
- }
58
- lastArgs = lastThis = void 0;
59
- return result;
60
- }
61
- function cancel() {
62
- if (timerId !== void 0) {
63
- clearTimeout(timerId);
64
- }
65
- lastInvokeTime = 0;
66
- lastArgs = lastCallTime = lastThis = timerId = void 0;
67
- }
68
- function flush() {
69
- return timerId === void 0 ? result : trailingEdge(now$1());
70
- }
71
- function debounced() {
72
- var time = now$1(), isInvoking = shouldInvoke(time);
73
- lastArgs = arguments;
74
- lastThis = this;
75
- lastCallTime = time;
76
- if (isInvoking) {
77
- if (timerId === void 0) {
78
- return leadingEdge(lastCallTime);
3
+ const jsxRuntime = require("react/jsx-runtime");
4
+ const louis = require("@lokalise/louis");
5
+ const text = require("./harmony10.cjs");
6
+ const url = require("./harmony11.cjs");
7
+ const date = require("./harmony12.cjs");
8
+ const dateFns = require("date-fns");
9
+ const index = require("./harmony145.cjs");
10
+ const TaskLanguage = require("./harmony146.cjs");
11
+ const TasksContext = require("./harmony124.cjs");
12
+ const content = require("./harmony147.cjs");
13
+ const TaskOverview_module = require("./harmony148.cjs");
14
+ const TaskOverview = ({ task }) => {
15
+ const { getProjectUrl, taskTitleOnClick } = TasksContext.useTasks();
16
+ const taskLanguages = content.getTaskLanguages(task.langs);
17
+ const handleDownloadStyleGuide = (styleGuide) => {
18
+ window.open(
19
+ `/style-guide/${task.team_id}/download/${styleGuide.id}/link`,
20
+ "_blank",
21
+ "noopener,noreferrer"
22
+ );
23
+ };
24
+ return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: TaskOverview_module.default.taskContainer, children: [
25
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex-row gap-1 items-center", children: [
26
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex-row gap-1 items-start flex-wrap", children: [
27
+ /* @__PURE__ */ jsxRuntime.jsx(louis.Tag, { color: content.tagColor[task.task_type], variant: "solid", children: task.task_type.toLocaleUpperCase() }),
28
+ task.due_date && /* @__PURE__ */ jsxRuntime.jsxs(louis.Tag, { color: "#EAB308", children: [
29
+ "DUE ",
30
+ date.formatDate(dateFns.parseISO(task.due_date), "yyyy-MM-dd")
31
+ ] })
32
+ ] }),
33
+ task.style_guides.length > 0 && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex-row", children: task.style_guides.length === 1 ? /* @__PURE__ */ jsxRuntime.jsx(
34
+ louis.Button,
35
+ {
36
+ size: "sm",
37
+ variant: "secondary",
38
+ onClick: () => handleDownloadStyleGuide(task.style_guides[0]),
39
+ children: "Download style guide"
79
40
  }
80
- if (maxing) {
81
- clearTimeout(timerId);
82
- timerId = setTimeout(timerExpired, wait);
83
- return invokeFunc(lastCallTime);
41
+ ) : /* @__PURE__ */ jsxRuntime.jsx(
42
+ louis.Menu,
43
+ {
44
+ menuButton: /* @__PURE__ */ jsxRuntime.jsx(louis.Button, { variant: "secondary", size: "sm", children: "Download style guide" }),
45
+ children: /* @__PURE__ */ jsxRuntime.jsx(louis.MenuList, { children: task.style_guides.map((styleGuide) => /* @__PURE__ */ jsxRuntime.jsx(
46
+ louis.MenuItem,
47
+ {
48
+ onClick: () => handleDownloadStyleGuide(styleGuide),
49
+ children: index.splitFileName(styleGuide.name).name
50
+ },
51
+ styleGuide.id
52
+ )) })
84
53
  }
54
+ ) })
55
+ ] }),
56
+ /* @__PURE__ */ jsxRuntime.jsx("h4", { className: TaskOverview_module.default.taskTitle, children: /* @__PURE__ */ jsxRuntime.jsx(
57
+ louis.Link,
58
+ {
59
+ href: getProjectUrl({ task, view: "multi" }),
60
+ onClick: () => {
61
+ taskTitleOnClick == null ? void 0 : taskTitleOnClick({ task });
62
+ },
63
+ children: task.title
85
64
  }
86
- if (timerId === void 0) {
87
- timerId = setTimeout(timerExpired, wait);
88
- }
89
- return result;
90
- }
91
- debounced.cancel = cancel;
92
- debounced.flush = flush;
93
- return debounced;
94
- }
95
- debounce_1 = debounce;
96
- return debounce_1;
97
- }
98
- exports.__require = requireDebounce;
65
+ ) }),
66
+ task.description && /* @__PURE__ */ jsxRuntime.jsx("div", { className: TaskOverview_module.default.taskDescription, children: text.convertNewLineToBreakTag(url.makeUrlClickable(task.description)) }),
67
+ /* @__PURE__ */ jsxRuntime.jsxs("table", { className: TaskOverview_module.default.languagesTable, children: [
68
+ /* @__PURE__ */ jsxRuntime.jsx("thead", { children: /* @__PURE__ */ jsxRuntime.jsxs("tr", { children: [
69
+ /* @__PURE__ */ jsxRuntime.jsx("th", { children: "Languages" }),
70
+ /* @__PURE__ */ jsxRuntime.jsx("th", { children: "Words to do" }),
71
+ /* @__PURE__ */ jsxRuntime.jsx("th", { children: "Progress" }),
72
+ /* @__PURE__ */ jsxRuntime.jsx("th", { children: "Status" })
73
+ ] }) }),
74
+ /* @__PURE__ */ jsxRuntime.jsx("tbody", { children: taskLanguages.map((language) => /* @__PURE__ */ jsxRuntime.jsx(TaskLanguage.TaskLanguage, { language, task }, language.lang_id)) })
75
+ ] }),
76
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { "data-testid": "sidebar-task-overview-metadata", className: TaskOverview_module.default.metadata, children: [
77
+ /* @__PURE__ */ jsxRuntime.jsxs("span", { children: [
78
+ "Source: ",
79
+ task.source_lang_name
80
+ ] }),
81
+ /* @__PURE__ */ jsxRuntime.jsx("span", { children: task.created_by_fullname }),
82
+ /* @__PURE__ */ jsxRuntime.jsxs("span", { children: [
83
+ "In ",
84
+ task.project_name,
85
+ task.master_branching_enabled === "1" && /* @__PURE__ */ jsxRuntime.jsx("div", { className: TaskOverview_module.default.tag, children: task.branch_name ? task.branch_name : "master" })
86
+ ] })
87
+ ] })
88
+ ] });
89
+ };
90
+ exports.TaskOverview = TaskOverview;
99
91
  //# sourceMappingURL=harmony136.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"harmony136.cjs","sources":["../node_modules/lodash/debounce.js"],"sourcesContent":["var isObject = require('./isObject'),\n now = require('./now'),\n toNumber = require('./toNumber');\n\n/** Error message constants. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMax = Math.max,\n nativeMin = Math.min;\n\n/**\n * Creates a debounced function that delays invoking `func` until after `wait`\n * milliseconds have elapsed since the last time the debounced function was\n * invoked. The debounced function comes with a `cancel` method to cancel\n * delayed `func` invocations and a `flush` method to immediately invoke them.\n * Provide `options` to indicate whether `func` should be invoked on the\n * leading and/or trailing edge of the `wait` timeout. The `func` is invoked\n * with the last arguments provided to the debounced function. Subsequent\n * calls to the debounced function return the result of the last `func`\n * invocation.\n *\n * **Note:** If `leading` and `trailing` options are `true`, `func` is\n * invoked on the trailing edge of the timeout only if the debounced function\n * is invoked more than once during the `wait` timeout.\n *\n * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred\n * until to the next tick, similar to `setTimeout` with a timeout of `0`.\n *\n * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/)\n * for details over the differences between `_.debounce` and `_.throttle`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to debounce.\n * @param {number} [wait=0] The number of milliseconds to delay.\n * @param {Object} [options={}] The options object.\n * @param {boolean} [options.leading=false]\n * Specify invoking on the leading edge of the timeout.\n * @param {number} [options.maxWait]\n * The maximum time `func` is allowed to be delayed before it's invoked.\n * @param {boolean} [options.trailing=true]\n * Specify invoking on the trailing edge of the timeout.\n * @returns {Function} Returns the new debounced function.\n * @example\n *\n * // Avoid costly calculations while the window size is in flux.\n * jQuery(window).on('resize', _.debounce(calculateLayout, 150));\n *\n * // Invoke `sendMail` when clicked, debouncing subsequent calls.\n * jQuery(element).on('click', _.debounce(sendMail, 300, {\n * 'leading': true,\n * 'trailing': false\n * }));\n *\n * // Ensure `batchLog` is invoked once after 1 second of debounced calls.\n * var debounced = _.debounce(batchLog, 250, { 'maxWait': 1000 });\n * var source = new EventSource('/stream');\n * jQuery(source).on('message', debounced);\n *\n * // Cancel the trailing debounced invocation.\n * jQuery(window).on('popstate', debounced.cancel);\n */\nfunction debounce(func, wait, options) {\n var lastArgs,\n lastThis,\n maxWait,\n result,\n timerId,\n lastCallTime,\n lastInvokeTime = 0,\n leading = false,\n maxing = false,\n trailing = true;\n\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n wait = toNumber(wait) || 0;\n if (isObject(options)) {\n leading = !!options.leading;\n maxing = 'maxWait' in options;\n maxWait = maxing ? nativeMax(toNumber(options.maxWait) || 0, wait) : maxWait;\n trailing = 'trailing' in options ? !!options.trailing : trailing;\n }\n\n function invokeFunc(time) {\n var args = lastArgs,\n thisArg = lastThis;\n\n lastArgs = lastThis = undefined;\n lastInvokeTime = time;\n result = func.apply(thisArg, args);\n return result;\n }\n\n function leadingEdge(time) {\n // Reset any `maxWait` timer.\n lastInvokeTime = time;\n // Start the timer for the trailing edge.\n timerId = setTimeout(timerExpired, wait);\n // Invoke the leading edge.\n return leading ? invokeFunc(time) : result;\n }\n\n function remainingWait(time) {\n var timeSinceLastCall = time - lastCallTime,\n timeSinceLastInvoke = time - lastInvokeTime,\n timeWaiting = wait - timeSinceLastCall;\n\n return maxing\n ? nativeMin(timeWaiting, maxWait - timeSinceLastInvoke)\n : timeWaiting;\n }\n\n function shouldInvoke(time) {\n var timeSinceLastCall = time - lastCallTime,\n timeSinceLastInvoke = time - lastInvokeTime;\n\n // Either this is the first call, activity has stopped and we're at the\n // trailing edge, the system time has gone backwards and we're treating\n // it as the trailing edge, or we've hit the `maxWait` limit.\n return (lastCallTime === undefined || (timeSinceLastCall >= wait) ||\n (timeSinceLastCall < 0) || (maxing && timeSinceLastInvoke >= maxWait));\n }\n\n function timerExpired() {\n var time = now();\n if (shouldInvoke(time)) {\n return trailingEdge(time);\n }\n // Restart the timer.\n timerId = setTimeout(timerExpired, remainingWait(time));\n }\n\n function trailingEdge(time) {\n timerId = undefined;\n\n // Only invoke if we have `lastArgs` which means `func` has been\n // debounced at least once.\n if (trailing && lastArgs) {\n return invokeFunc(time);\n }\n lastArgs = lastThis = undefined;\n return result;\n }\n\n function cancel() {\n if (timerId !== undefined) {\n clearTimeout(timerId);\n }\n lastInvokeTime = 0;\n lastArgs = lastCallTime = lastThis = timerId = undefined;\n }\n\n function flush() {\n return timerId === undefined ? result : trailingEdge(now());\n }\n\n function debounced() {\n var time = now(),\n isInvoking = shouldInvoke(time);\n\n lastArgs = arguments;\n lastThis = this;\n lastCallTime = time;\n\n if (isInvoking) {\n if (timerId === undefined) {\n return leadingEdge(lastCallTime);\n }\n if (maxing) {\n // Handle invocations in a tight loop.\n clearTimeout(timerId);\n timerId = setTimeout(timerExpired, wait);\n return invokeFunc(lastCallTime);\n }\n }\n if (timerId === undefined) {\n timerId = setTimeout(timerExpired, wait);\n }\n return result;\n }\n debounced.cancel = cancel;\n debounced.flush = flush;\n return debounced;\n}\n\nmodule.exports = debounce;\n"],"names":["isObject","require$$0","now","require$$1","toNumber","require$$2"],"mappings":";;;;;;;;;;AAAA,MAAIA,aAAWC,SAAAA,UAAqB,GAChCC,QAAMC,IAAAA,UAAgB,GACtBC,aAAWC,SAAAA,UAAqB;AAGpC,MAAI,kBAAkB;AAGtB,MAAI,YAAY,KAAK,KACjB,YAAY,KAAK;AAwDrB,WAAS,SAAS,MAAM,MAAM,SAAS;AACrC,QAAI,UACA,UACA,SACA,QACA,SACA,cACA,iBAAiB,GACjB,UAAU,OACV,SAAS,OACT,WAAW;AAEf,QAAI,OAAO,QAAQ,YAAY;AAC7B,YAAM,IAAI,UAAU,eAAe;AAAA,IACvC;AACE,WAAOD,WAAS,IAAI,KAAK;AACzB,QAAIJ,WAAS,OAAO,GAAG;AACrB,gBAAU,CAAC,CAAC,QAAQ;AACpB,eAAS,aAAa;AACtB,gBAAU,SAAS,UAAUI,WAAS,QAAQ,OAAO,KAAK,GAAG,IAAI,IAAI;AACrE,iBAAW,cAAc,UAAU,CAAC,CAAC,QAAQ,WAAW;AAAA,IAC5D;AAEE,aAAS,WAAW,MAAM;AACxB,UAAI,OAAO,UACP,UAAU;AAEd,iBAAW,WAAW;AACtB,uBAAiB;AACjB,eAAS,KAAK,MAAM,SAAS,IAAI;AACjC,aAAO;AAAA,IACX;AAEE,aAAS,YAAY,MAAM;AAEzB,uBAAiB;AAEjB,gBAAU,WAAW,cAAc,IAAI;AAEvC,aAAO,UAAU,WAAW,IAAI,IAAI;AAAA,IACxC;AAEE,aAAS,cAAc,MAAM;AAC3B,UAAI,oBAAoB,OAAO,cAC3B,sBAAsB,OAAO,gBAC7B,cAAc,OAAO;AAEzB,aAAO,SACH,UAAU,aAAa,UAAU,mBAAmB,IACpD;AAAA,IACR;AAEE,aAAS,aAAa,MAAM;AAC1B,UAAI,oBAAoB,OAAO,cAC3B,sBAAsB,OAAO;AAKjC,aAAQ,iBAAiB,UAAc,qBAAqB,QACzD,oBAAoB,KAAO,UAAU,uBAAuB;AAAA,IACnE;AAEE,aAAS,eAAe;AACtB,UAAI,OAAOF,MAAK;AAChB,UAAI,aAAa,IAAI,GAAG;AACtB,eAAO,aAAa,IAAI;AAAA,MAC9B;AAEI,gBAAU,WAAW,cAAc,cAAc,IAAI,CAAC;AAAA,IAC1D;AAEE,aAAS,aAAa,MAAM;AAC1B,gBAAU;AAIV,UAAI,YAAY,UAAU;AACxB,eAAO,WAAW,IAAI;AAAA,MAC5B;AACI,iBAAW,WAAW;AACtB,aAAO;AAAA,IACX;AAEE,aAAS,SAAS;AAChB,UAAI,YAAY,QAAW;AACzB,qBAAa,OAAO;AAAA,MAC1B;AACI,uBAAiB;AACjB,iBAAW,eAAe,WAAW,UAAU;AAAA,IACnD;AAEE,aAAS,QAAQ;AACf,aAAO,YAAY,SAAY,SAAS,aAAaA,MAAG,CAAE;AAAA,IAC9D;AAEE,aAAS,YAAY;AACnB,UAAI,OAAOA,MAAK,GACZ,aAAa,aAAa,IAAI;AAElC,iBAAW;AACX,iBAAW;AACX,qBAAe;AAEf,UAAI,YAAY;AACd,YAAI,YAAY,QAAW;AACzB,iBAAO,YAAY,YAAY;AAAA,QACvC;AACM,YAAI,QAAQ;AAEV,uBAAa,OAAO;AACpB,oBAAU,WAAW,cAAc,IAAI;AACvC,iBAAO,WAAW,YAAY;AAAA,QACtC;AAAA,MACA;AACI,UAAI,YAAY,QAAW;AACzB,kBAAU,WAAW,cAAc,IAAI;AAAA,MAC7C;AACI,aAAO;AAAA,IACX;AACE,cAAU,SAAS;AACnB,cAAU,QAAQ;AAClB,WAAO;AAAA,EACT;AAEA,eAAiB;;;;","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"harmony136.cjs","sources":["../src/components/Sidebar/Widgets/Tasks/TaskOverview/TaskOverview.tsx"],"sourcesContent":["import { Button, Link, Menu, MenuItem, MenuList, Tag } from '@lokalise/louis'\nimport { convertNewLineToBreakTag, formatDate, makeUrlClickable } from '@utils'\nimport { parseISO } from 'date-fns'\nimport { splitFileName } from '../../../utils'\nimport { TaskLanguage } from '../TaskLanguage/TaskLanguage'\nimport { useTasks } from '../TasksContext'\nimport type { SidebarTask, SidebarTaskStyleGuide } from '../types'\nimport { getTaskLanguages, tagColor } from '../utils/content'\nimport styles from './TaskOverview.module.css'\n\nexport type TaskProps = {\n\ttask: SidebarTask\n}\n\nexport const TaskOverview = ({ task }: TaskProps) => {\n\tconst { getProjectUrl, taskTitleOnClick } = useTasks()\n\n\tconst taskLanguages = getTaskLanguages(task.langs)\n\n\tconst handleDownloadStyleGuide = (styleGuide: SidebarTaskStyleGuide) => {\n\t\twindow.open(\n\t\t\t`/style-guide/${task.team_id}/download/${styleGuide.id}/link`,\n\t\t\t'_blank',\n\t\t\t'noopener,noreferrer',\n\t\t)\n\t}\n\n\treturn (\n\t\t<div className={styles.taskContainer}>\n\t\t\t<div className=\"flex-row gap-1 items-center\">\n\t\t\t\t<div className=\"flex-row gap-1 items-start flex-wrap\">\n\t\t\t\t\t<Tag color={tagColor[task.task_type]} variant=\"solid\">\n\t\t\t\t\t\t{task.task_type.toLocaleUpperCase()}\n\t\t\t\t\t</Tag>\n\t\t\t\t\t{task.due_date && (\n\t\t\t\t\t\t<Tag color={'#EAB308'}>DUE {formatDate(parseISO(task.due_date), 'yyyy-MM-dd')}</Tag>\n\t\t\t\t\t)}\n\t\t\t\t</div>\n\t\t\t\t{task.style_guides.length > 0 && (\n\t\t\t\t\t<div className=\"flex-row\">\n\t\t\t\t\t\t{task.style_guides.length === 1 ? (\n\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\t\t\t\tonClick={() => handleDownloadStyleGuide(task.style_guides[0])}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\tDownload style guide\n\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t<Menu\n\t\t\t\t\t\t\t\tmenuButton={\n\t\t\t\t\t\t\t\t\t<Button variant=\"secondary\" size=\"sm\">\n\t\t\t\t\t\t\t\t\t\tDownload style guide\n\t\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<MenuList>\n\t\t\t\t\t\t\t\t\t{task.style_guides.map((styleGuide) => (\n\t\t\t\t\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\t\t\t\t\tkey={styleGuide.id}\n\t\t\t\t\t\t\t\t\t\t\tonClick={() => handleDownloadStyleGuide(styleGuide)}\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t{splitFileName(styleGuide.name).name}\n\t\t\t\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t\t\t</MenuList>\n\t\t\t\t\t\t\t</Menu>\n\t\t\t\t\t\t)}\n\t\t\t\t\t</div>\n\t\t\t\t)}\n\t\t\t</div>\n\n\t\t\t<h4 className={styles.taskTitle}>\n\t\t\t\t<Link\n\t\t\t\t\thref={getProjectUrl({ task, view: 'multi' })}\n\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\ttaskTitleOnClick?.({ task })\n\t\t\t\t\t}}\n\t\t\t\t>\n\t\t\t\t\t{task.title}\n\t\t\t\t</Link>\n\t\t\t</h4>\n\n\t\t\t{task.description && (\n\t\t\t\t<div className={styles.taskDescription}>\n\t\t\t\t\t{convertNewLineToBreakTag(makeUrlClickable(task.description))}\n\t\t\t\t</div>\n\t\t\t)}\n\n\t\t\t<table className={styles.languagesTable}>\n\t\t\t\t<thead>\n\t\t\t\t\t<tr>\n\t\t\t\t\t\t<th>Languages</th>\n\t\t\t\t\t\t<th>Words to do</th>\n\t\t\t\t\t\t<th>Progress</th>\n\t\t\t\t\t\t<th>Status</th>\n\t\t\t\t\t</tr>\n\t\t\t\t</thead>\n\t\t\t\t<tbody>\n\t\t\t\t\t{taskLanguages.map((language) => (\n\t\t\t\t\t\t<TaskLanguage key={language.lang_id} language={language} task={task} />\n\t\t\t\t\t))}\n\t\t\t\t</tbody>\n\t\t\t</table>\n\t\t\t<div data-testid=\"sidebar-task-overview-metadata\" className={styles.metadata}>\n\t\t\t\t<span>Source: {task.source_lang_name}</span>\n\t\t\t\t<span>{task.created_by_fullname}</span>\n\t\t\t\t<span>\n\t\t\t\t\tIn {task.project_name}\n\t\t\t\t\t{task.master_branching_enabled === '1' && (\n\t\t\t\t\t\t<div className={styles.tag}>{task.branch_name ? task.branch_name : 'master'}</div>\n\t\t\t\t\t)}\n\t\t\t\t</span>\n\t\t\t</div>\n\t\t</div>\n\t)\n}\n"],"names":["useTasks","getTaskLanguages","jsxs","styles","jsx","Tag","tagColor","formatDate","parseISO","Button","Menu","MenuList","MenuItem","splitFileName","Link","convertNewLineToBreakTag","makeUrlClickable","TaskLanguage"],"mappings":";;;;;;;;;;;;;AAcO,MAAM,eAAe,CAAC,EAAE,WAAsB;AACpD,QAAM,EAAE,eAAe,iBAAiB,IAAIA,sBAAS;AAE/C,QAAA,gBAAgBC,QAAAA,iBAAiB,KAAK,KAAK;AAE3C,QAAA,2BAA2B,CAAC,eAAsC;AAChE,WAAA;AAAA,MACN,gBAAgB,KAAK,OAAO,aAAa,WAAW,EAAE;AAAA,MACtD;AAAA,MACA;AAAA,IACD;AAAA,EACD;AAEA,SACEC,2BAAAA,KAAA,OAAA,EAAI,WAAWC,oBAAA,QAAO,eACtB,UAAA;AAAA,IAACD,2BAAAA,KAAA,OAAA,EAAI,WAAU,+BACd,UAAA;AAAA,MAACA,2BAAAA,KAAA,OAAA,EAAI,WAAU,wCACd,UAAA;AAAA,QAACE,2BAAAA,IAAAC,MAAAA,KAAA,EAAI,OAAOC,QAAA,SAAS,KAAK,SAAS,GAAG,SAAQ,SAC5C,UAAA,KAAK,UAAU,kBACjB,EAAA,CAAA;AAAA,QACC,KAAK,YACJJ,gCAAAG,MAAAA,KAAA,EAAI,OAAO,WAAW,UAAA;AAAA,UAAA;AAAA,UAAKE,KAAAA,WAAWC,QAAA,SAAS,KAAK,QAAQ,GAAG,YAAY;AAAA,QAAA,EAAE,CAAA;AAAA,MAAA,GAEhF;AAAA,MACC,KAAK,aAAa,SAAS,KAC3BJ,2BAAAA,IAAC,OAAI,EAAA,WAAU,YACb,UAAA,KAAK,aAAa,WAAW,IAC7BA,2BAAA;AAAA,QAACK,MAAA;AAAA,QAAA;AAAA,UACA,MAAK;AAAA,UACL,SAAQ;AAAA,UACR,SAAS,MAAM,yBAAyB,KAAK,aAAa,CAAC,CAAC;AAAA,UAC5D,UAAA;AAAA,QAAA;AAAA,MAAA,IAIDL,2BAAA;AAAA,QAACM,MAAA;AAAA,QAAA;AAAA,UACA,YACEN,2BAAAA,IAAAK,MAAA,QAAA,EAAO,SAAQ,aAAY,MAAK,MAAK,UAEtC,wBAAA;AAAA,UAGD,yCAACE,MACC,UAAA,EAAA,UAAA,KAAK,aAAa,IAAI,CAAC,eACvBP,2BAAA;AAAA,YAACQ,MAAA;AAAA,YAAA;AAAA,cAEA,SAAS,MAAM,yBAAyB,UAAU;AAAA,cAEjD,UAAAC,MAAA,cAAc,WAAW,IAAI,EAAE;AAAA,YAAA;AAAA,YAH3B,WAAW;AAAA,UAAA,CAKjB,EACF,CAAA;AAAA,QAAA;AAAA,MAAA,EAGH,CAAA;AAAA,IAAA,GAEF;AAAA,IAECT,2BAAA,IAAA,MAAA,EAAG,WAAWD,oBAAAA,QAAO,WACrB,UAAAC,2BAAA;AAAA,MAACU,MAAA;AAAA,MAAA;AAAA,QACA,MAAM,cAAc,EAAE,MAAM,MAAM,SAAS;AAAA,QAC3C,SAAS,MAAM;AACK,+DAAA,EAAE;QACtB;AAAA,QAEC,UAAK,KAAA;AAAA,MAAA;AAAA,IAAA,GAER;AAAA,IAEC,KAAK,eACJV,2BAAAA,IAAA,OAAA,EAAI,WAAWD,oBAAA,QAAO,iBACrB,UAAAY,KAAA,yBAAyBC,IAAiB,iBAAA,KAAK,WAAW,CAAC,EAC7D,CAAA;AAAA,IAGAd,2BAAA,KAAA,SAAA,EAAM,WAAWC,oBAAAA,QAAO,gBACxB,UAAA;AAAA,MAACC,2BAAA,IAAA,SAAA,EACA,0CAAC,MACA,EAAA,UAAA;AAAA,QAAAA,2BAAAA,IAAC,QAAG,UAAS,YAAA,CAAA;AAAA,QACbA,2BAAAA,IAAC,QAAG,UAAW,cAAA,CAAA;AAAA,QACfA,2BAAAA,IAAC,QAAG,UAAQ,WAAA,CAAA;AAAA,QACZA,2BAAAA,IAAC,QAAG,UAAM,SAAA,CAAA;AAAA,MAAA,EAAA,CACX,EACD,CAAA;AAAA,MACCA,2BAAA,IAAA,SAAA,EACC,UAAc,cAAA,IAAI,CAAC,aAClBA,2BAAA,IAAAa,aAAA,cAAA,EAAoC,UAAoB,KAAA,GAAtC,SAAS,OAAyC,CACrE,EACF,CAAA;AAAA,IAAA,GACD;AAAA,oCACC,OAAI,EAAA,eAAY,kCAAiC,WAAWd,4BAAO,UACnE,UAAA;AAAA,MAAAD,gCAAC,QAAK,EAAA,UAAA;AAAA,QAAA;AAAA,QAAS,KAAK;AAAA,MAAA,GAAiB;AAAA,MACrCE,2BAAAA,IAAC,QAAM,EAAA,UAAA,KAAK,oBAAoB,CAAA;AAAA,sCAC/B,QAAK,EAAA,UAAA;AAAA,QAAA;AAAA,QACD,KAAK;AAAA,QACR,KAAK,6BAA6B,OAClCA,2BAAA,IAAC,OAAI,EAAA,WAAWD,oBAAAA,QAAO,KAAM,UAAK,KAAA,cAAc,KAAK,cAAc,SAAS,CAAA;AAAA,MAAA,EAE9E,CAAA;AAAA,IAAA,EACD,CAAA;AAAA,EAAA,GACD;AAEF;;"}