@lokalise/harmony 1.34.3 → 1.36.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 (480) hide show
  1. package/dist/harmony.cjs +49 -32
  2. package/dist/harmony.cjs.map +1 -1
  3. package/dist/harmony.mjs +50 -33
  4. package/dist/harmony.mjs.map +1 -1
  5. package/dist/harmony100.cjs +12 -99
  6. package/dist/harmony100.cjs.map +1 -1
  7. package/dist/harmony100.mjs +11 -81
  8. package/dist/harmony100.mjs.map +1 -1
  9. package/dist/harmony101.cjs +11 -14
  10. package/dist/harmony101.cjs.map +1 -1
  11. package/dist/harmony101.mjs +11 -14
  12. package/dist/harmony101.mjs.map +1 -1
  13. package/dist/harmony102.cjs +22 -19
  14. package/dist/harmony102.cjs.map +1 -1
  15. package/dist/harmony102.mjs +21 -18
  16. package/dist/harmony102.mjs.map +1 -1
  17. package/dist/harmony103.cjs +99 -21
  18. package/dist/harmony103.cjs.map +1 -1
  19. package/dist/harmony103.mjs +81 -20
  20. package/dist/harmony103.mjs.map +1 -1
  21. package/dist/harmony104.cjs +21 -6
  22. package/dist/harmony104.cjs.map +1 -1
  23. package/dist/harmony104.mjs +20 -5
  24. package/dist/harmony104.mjs.map +1 -1
  25. package/dist/harmony105.cjs +7 -6
  26. package/dist/harmony105.cjs.map +1 -1
  27. package/dist/harmony105.mjs +6 -5
  28. package/dist/harmony105.mjs.map +1 -1
  29. package/dist/harmony106.cjs +133 -6
  30. package/dist/harmony106.cjs.map +1 -1
  31. package/dist/harmony106.mjs +132 -5
  32. package/dist/harmony106.mjs.map +1 -1
  33. package/dist/harmony107.cjs +12 -132
  34. package/dist/harmony107.cjs.map +1 -1
  35. package/dist/harmony107.mjs +11 -131
  36. package/dist/harmony107.mjs.map +1 -1
  37. package/dist/harmony108.cjs +6 -13
  38. package/dist/harmony108.cjs.map +1 -1
  39. package/dist/harmony108.mjs +5 -12
  40. package/dist/harmony108.mjs.map +1 -1
  41. package/dist/harmony109.cjs +40 -5
  42. package/dist/harmony109.cjs.map +1 -1
  43. package/dist/harmony109.mjs +40 -5
  44. package/dist/harmony109.mjs.map +1 -1
  45. package/dist/harmony110.cjs +53 -33
  46. package/dist/harmony110.cjs.map +1 -1
  47. package/dist/harmony110.mjs +54 -34
  48. package/dist/harmony110.mjs.map +1 -1
  49. package/dist/harmony111.cjs +6 -59
  50. package/dist/harmony111.cjs.map +1 -1
  51. package/dist/harmony111.mjs +6 -59
  52. package/dist/harmony111.mjs.map +1 -1
  53. package/dist/harmony112.cjs +13 -6
  54. package/dist/harmony112.cjs.map +1 -1
  55. package/dist/harmony112.mjs +13 -6
  56. package/dist/harmony112.mjs.map +1 -1
  57. package/dist/harmony113.cjs +19 -7
  58. package/dist/harmony113.cjs.map +1 -1
  59. package/dist/harmony113.mjs +18 -6
  60. package/dist/harmony113.mjs.map +1 -1
  61. package/dist/harmony114.cjs +7 -97
  62. package/dist/harmony114.cjs.map +1 -1
  63. package/dist/harmony114.mjs +6 -96
  64. package/dist/harmony114.mjs.map +1 -1
  65. package/dist/harmony115.cjs +6 -14
  66. package/dist/harmony115.cjs.map +1 -1
  67. package/dist/harmony115.mjs +5 -13
  68. package/dist/harmony115.mjs.map +1 -1
  69. package/dist/harmony116.cjs +6 -15
  70. package/dist/harmony116.cjs.map +1 -1
  71. package/dist/harmony116.mjs +5 -14
  72. package/dist/harmony116.mjs.map +1 -1
  73. package/dist/harmony117.cjs +62 -36
  74. package/dist/harmony117.cjs.map +1 -1
  75. package/dist/harmony117.mjs +61 -35
  76. package/dist/harmony117.mjs.map +1 -1
  77. package/dist/harmony118.cjs +88 -28
  78. package/dist/harmony118.cjs.map +1 -1
  79. package/dist/harmony118.mjs +88 -28
  80. package/dist/harmony118.mjs.map +1 -1
  81. package/dist/harmony119.cjs +19 -63
  82. package/dist/harmony119.cjs.map +1 -1
  83. package/dist/harmony119.mjs +18 -62
  84. package/dist/harmony119.mjs.map +1 -1
  85. package/dist/harmony120.cjs +93 -85
  86. package/dist/harmony120.cjs.map +1 -1
  87. package/dist/harmony120.mjs +93 -85
  88. package/dist/harmony120.mjs.map +1 -1
  89. package/dist/harmony121.cjs +14 -19
  90. package/dist/harmony121.cjs.map +1 -1
  91. package/dist/harmony121.mjs +13 -18
  92. package/dist/harmony121.mjs.map +1 -1
  93. package/dist/harmony122.cjs +13 -12
  94. package/dist/harmony122.cjs.map +1 -1
  95. package/dist/harmony122.mjs +13 -12
  96. package/dist/harmony122.mjs.map +1 -1
  97. package/dist/harmony123.cjs +34 -13
  98. package/dist/harmony123.cjs.map +1 -1
  99. package/dist/harmony123.mjs +34 -13
  100. package/dist/harmony123.mjs.map +1 -1
  101. package/dist/harmony124.cjs +26 -14
  102. package/dist/harmony124.cjs.map +1 -1
  103. package/dist/harmony124.mjs +26 -14
  104. package/dist/harmony124.mjs.map +1 -1
  105. package/dist/harmony125.cjs +12 -10
  106. package/dist/harmony125.cjs.map +1 -1
  107. package/dist/harmony125.mjs +12 -10
  108. package/dist/harmony125.mjs.map +1 -1
  109. package/dist/harmony126.cjs +13 -14
  110. package/dist/harmony126.cjs.map +1 -1
  111. package/dist/harmony126.mjs +13 -14
  112. package/dist/harmony126.mjs.map +1 -1
  113. package/dist/harmony127.cjs +14 -19
  114. package/dist/harmony127.cjs.map +1 -1
  115. package/dist/harmony127.mjs +14 -19
  116. package/dist/harmony127.mjs.map +1 -1
  117. package/dist/harmony128.cjs +7 -12
  118. package/dist/harmony128.cjs.map +1 -1
  119. package/dist/harmony128.mjs +7 -12
  120. package/dist/harmony128.mjs.map +1 -1
  121. package/dist/harmony129.cjs +56 -6
  122. package/dist/harmony129.cjs.map +1 -1
  123. package/dist/harmony129.mjs +56 -6
  124. package/dist/harmony129.mjs.map +1 -1
  125. package/dist/harmony13.cjs +1 -1
  126. package/dist/harmony13.mjs +1 -1
  127. package/dist/harmony130.cjs +57 -54
  128. package/dist/harmony130.cjs.map +1 -1
  129. package/dist/harmony130.mjs +58 -55
  130. package/dist/harmony130.mjs.map +1 -1
  131. package/dist/harmony131.cjs +18 -60
  132. package/dist/harmony131.cjs.map +1 -1
  133. package/dist/harmony131.mjs +17 -59
  134. package/dist/harmony131.mjs.map +1 -1
  135. package/dist/harmony132.cjs +12 -19
  136. package/dist/harmony132.cjs.map +1 -1
  137. package/dist/harmony132.mjs +11 -18
  138. package/dist/harmony132.mjs.map +1 -1
  139. package/dist/harmony133.cjs +15 -5
  140. package/dist/harmony133.cjs.map +1 -1
  141. package/dist/harmony133.mjs +15 -5
  142. package/dist/harmony133.mjs.map +1 -1
  143. package/dist/harmony134.cjs +20 -11
  144. package/dist/harmony134.cjs.map +1 -1
  145. package/dist/harmony134.mjs +20 -11
  146. package/dist/harmony134.mjs.map +1 -1
  147. package/dist/harmony135.cjs +10 -30
  148. package/dist/harmony135.cjs.map +1 -1
  149. package/dist/harmony135.mjs +10 -30
  150. package/dist/harmony135.mjs.map +1 -1
  151. package/dist/harmony136.cjs +5 -13
  152. package/dist/harmony136.cjs.map +1 -1
  153. package/dist/harmony136.mjs +5 -13
  154. package/dist/harmony136.mjs.map +1 -1
  155. package/dist/harmony137.cjs +12 -46
  156. package/dist/harmony137.cjs.map +1 -1
  157. package/dist/harmony137.mjs +12 -46
  158. package/dist/harmony137.mjs.map +1 -1
  159. package/dist/harmony138.cjs +33 -13
  160. package/dist/harmony138.cjs.map +1 -1
  161. package/dist/harmony138.mjs +32 -12
  162. package/dist/harmony138.mjs.map +1 -1
  163. package/dist/harmony139.cjs +17 -0
  164. package/dist/harmony139.cjs.map +1 -0
  165. package/dist/harmony139.mjs +17 -0
  166. package/dist/harmony139.mjs.map +1 -0
  167. package/dist/harmony140.cjs +49 -0
  168. package/dist/harmony140.cjs.map +1 -0
  169. package/dist/harmony140.mjs +49 -0
  170. package/dist/harmony140.mjs.map +1 -0
  171. package/dist/harmony141.cjs +15 -0
  172. package/dist/harmony141.cjs.map +1 -0
  173. package/dist/harmony141.mjs +15 -0
  174. package/dist/harmony141.mjs.map +1 -0
  175. package/dist/harmony16.cjs +1 -1
  176. package/dist/harmony16.mjs +1 -1
  177. package/dist/harmony23.cjs +2 -2
  178. package/dist/harmony23.mjs +2 -2
  179. package/dist/harmony24.cjs +1 -1
  180. package/dist/harmony24.mjs +1 -1
  181. package/dist/harmony25.cjs +1 -1
  182. package/dist/harmony25.mjs +1 -1
  183. package/dist/harmony26.cjs +1 -1
  184. package/dist/harmony26.mjs +1 -1
  185. package/dist/harmony27.cjs +32 -4
  186. package/dist/harmony27.cjs.map +1 -1
  187. package/dist/harmony27.mjs +34 -6
  188. package/dist/harmony27.mjs.map +1 -1
  189. package/dist/harmony28.cjs +2 -2
  190. package/dist/harmony28.mjs +2 -2
  191. package/dist/harmony29.cjs +2 -2
  192. package/dist/harmony29.mjs +2 -2
  193. package/dist/harmony3.cjs +3 -3
  194. package/dist/harmony3.mjs +3 -3
  195. package/dist/harmony30.cjs +1 -1
  196. package/dist/harmony30.mjs +1 -1
  197. package/dist/harmony31.cjs +2 -2
  198. package/dist/harmony31.mjs +2 -2
  199. package/dist/harmony32.cjs +1 -1
  200. package/dist/harmony32.mjs +1 -1
  201. package/dist/harmony33.cjs +1 -1
  202. package/dist/harmony33.mjs +1 -1
  203. package/dist/harmony34.cjs +1 -1
  204. package/dist/harmony34.mjs +1 -1
  205. package/dist/harmony35.cjs +6 -6
  206. package/dist/harmony35.cjs.map +1 -1
  207. package/dist/harmony35.mjs +6 -6
  208. package/dist/harmony35.mjs.map +1 -1
  209. package/dist/harmony36.cjs +3 -3
  210. package/dist/harmony36.cjs.map +1 -1
  211. package/dist/harmony36.mjs +4 -4
  212. package/dist/harmony36.mjs.map +1 -1
  213. package/dist/harmony37.cjs +6 -6
  214. package/dist/harmony37.cjs.map +1 -1
  215. package/dist/harmony37.mjs +6 -6
  216. package/dist/harmony37.mjs.map +1 -1
  217. package/dist/harmony38.cjs +6 -5
  218. package/dist/harmony38.cjs.map +1 -1
  219. package/dist/harmony38.mjs +6 -5
  220. package/dist/harmony38.mjs.map +1 -1
  221. package/dist/harmony39.cjs +6 -15
  222. package/dist/harmony39.cjs.map +1 -1
  223. package/dist/harmony39.mjs +7 -16
  224. package/dist/harmony39.mjs.map +1 -1
  225. package/dist/harmony4.cjs +10 -10
  226. package/dist/harmony4.mjs +10 -10
  227. package/dist/harmony40.cjs +16 -7
  228. package/dist/harmony40.cjs.map +1 -1
  229. package/dist/harmony40.mjs +16 -7
  230. package/dist/harmony40.mjs.map +1 -1
  231. package/dist/harmony41.cjs +7 -11
  232. package/dist/harmony41.cjs.map +1 -1
  233. package/dist/harmony41.mjs +9 -13
  234. package/dist/harmony41.mjs.map +1 -1
  235. package/dist/harmony42.cjs +6 -10
  236. package/dist/harmony42.cjs.map +1 -1
  237. package/dist/harmony42.mjs +8 -12
  238. package/dist/harmony42.mjs.map +1 -1
  239. package/dist/harmony43.cjs +14 -12
  240. package/dist/harmony43.cjs.map +1 -1
  241. package/dist/harmony43.mjs +14 -12
  242. package/dist/harmony43.mjs.map +1 -1
  243. package/dist/harmony44.cjs +14 -12
  244. package/dist/harmony44.cjs.map +1 -1
  245. package/dist/harmony44.mjs +15 -13
  246. package/dist/harmony44.mjs.map +1 -1
  247. package/dist/harmony45.cjs +9 -9
  248. package/dist/harmony45.cjs.map +1 -1
  249. package/dist/harmony45.mjs +9 -9
  250. package/dist/harmony45.mjs.map +1 -1
  251. package/dist/harmony46.cjs +12 -14
  252. package/dist/harmony46.cjs.map +1 -1
  253. package/dist/harmony46.mjs +13 -15
  254. package/dist/harmony46.mjs.map +1 -1
  255. package/dist/harmony47.cjs +12 -14
  256. package/dist/harmony47.cjs.map +1 -1
  257. package/dist/harmony47.mjs +12 -14
  258. package/dist/harmony47.mjs.map +1 -1
  259. package/dist/harmony48.cjs +10 -10
  260. package/dist/harmony48.cjs.map +1 -1
  261. package/dist/harmony48.mjs +10 -10
  262. package/dist/harmony48.mjs.map +1 -1
  263. package/dist/harmony49.cjs +8 -8
  264. package/dist/harmony49.cjs.map +1 -1
  265. package/dist/harmony49.mjs +8 -8
  266. package/dist/harmony49.mjs.map +1 -1
  267. package/dist/harmony5.cjs +1 -1
  268. package/dist/harmony5.mjs +1 -1
  269. package/dist/harmony50.cjs +8 -8
  270. package/dist/harmony50.cjs.map +1 -1
  271. package/dist/harmony50.mjs +8 -8
  272. package/dist/harmony50.mjs.map +1 -1
  273. package/dist/harmony51.cjs +14 -12
  274. package/dist/harmony51.cjs.map +1 -1
  275. package/dist/harmony51.mjs +14 -12
  276. package/dist/harmony51.mjs.map +1 -1
  277. package/dist/harmony52.cjs +8 -8
  278. package/dist/harmony52.cjs.map +1 -1
  279. package/dist/harmony52.mjs +8 -8
  280. package/dist/harmony52.mjs.map +1 -1
  281. package/dist/harmony53.cjs +12 -14
  282. package/dist/harmony53.cjs.map +1 -1
  283. package/dist/harmony53.mjs +12 -14
  284. package/dist/harmony53.mjs.map +1 -1
  285. package/dist/harmony54.cjs +9 -6
  286. package/dist/harmony54.cjs.map +1 -1
  287. package/dist/harmony54.mjs +12 -9
  288. package/dist/harmony54.mjs.map +1 -1
  289. package/dist/harmony55.cjs +17 -62
  290. package/dist/harmony55.cjs.map +1 -1
  291. package/dist/harmony55.mjs +17 -62
  292. package/dist/harmony55.mjs.map +1 -1
  293. package/dist/harmony56.cjs +13 -81
  294. package/dist/harmony56.cjs.map +1 -1
  295. package/dist/harmony56.mjs +13 -81
  296. package/dist/harmony56.mjs.map +1 -1
  297. package/dist/harmony57.cjs +14 -6
  298. package/dist/harmony57.cjs.map +1 -1
  299. package/dist/harmony57.mjs +14 -6
  300. package/dist/harmony57.mjs.map +1 -1
  301. package/dist/harmony58.cjs +123 -22
  302. package/dist/harmony58.cjs.map +1 -1
  303. package/dist/harmony58.mjs +122 -21
  304. package/dist/harmony58.mjs.map +1 -1
  305. package/dist/harmony59.cjs +81 -19
  306. package/dist/harmony59.cjs.map +1 -1
  307. package/dist/harmony59.mjs +80 -18
  308. package/dist/harmony59.mjs.map +1 -1
  309. package/dist/harmony6.cjs +4 -4
  310. package/dist/harmony6.mjs +4 -4
  311. package/dist/harmony60.cjs +2 -139
  312. package/dist/harmony60.cjs.map +1 -1
  313. package/dist/harmony60.mjs +2 -139
  314. package/dist/harmony60.mjs.map +1 -1
  315. package/dist/harmony61.cjs +19 -43
  316. package/dist/harmony61.cjs.map +1 -1
  317. package/dist/harmony61.mjs +19 -43
  318. package/dist/harmony61.mjs.map +1 -1
  319. package/dist/harmony62.cjs +18 -24
  320. package/dist/harmony62.cjs.map +1 -1
  321. package/dist/harmony62.mjs +18 -24
  322. package/dist/harmony62.mjs.map +1 -1
  323. package/dist/harmony63.cjs +141 -6
  324. package/dist/harmony63.cjs.map +1 -1
  325. package/dist/harmony63.mjs +141 -6
  326. package/dist/harmony63.mjs.map +1 -1
  327. package/dist/harmony64.cjs +42 -79
  328. package/dist/harmony64.cjs.map +1 -1
  329. package/dist/harmony64.mjs +42 -79
  330. package/dist/harmony64.mjs.map +1 -1
  331. package/dist/harmony65.cjs +25 -32
  332. package/dist/harmony65.cjs.map +1 -1
  333. package/dist/harmony65.mjs +25 -32
  334. package/dist/harmony65.mjs.map +1 -1
  335. package/dist/harmony66.cjs +6 -16
  336. package/dist/harmony66.cjs.map +1 -1
  337. package/dist/harmony66.mjs +6 -16
  338. package/dist/harmony66.mjs.map +1 -1
  339. package/dist/harmony67.cjs +85 -16
  340. package/dist/harmony67.cjs.map +1 -1
  341. package/dist/harmony67.mjs +84 -15
  342. package/dist/harmony67.mjs.map +1 -1
  343. package/dist/harmony68.cjs +34 -19
  344. package/dist/harmony68.cjs.map +1 -1
  345. package/dist/harmony68.mjs +33 -18
  346. package/dist/harmony68.mjs.map +1 -1
  347. package/dist/harmony69.cjs +19 -62
  348. package/dist/harmony69.cjs.map +1 -1
  349. package/dist/harmony69.mjs +18 -61
  350. package/dist/harmony69.mjs.map +1 -1
  351. package/dist/harmony7.cjs +9 -2
  352. package/dist/harmony7.cjs.map +1 -1
  353. package/dist/harmony7.mjs +9 -2
  354. package/dist/harmony7.mjs.map +1 -1
  355. package/dist/harmony70.cjs +15 -6
  356. package/dist/harmony70.cjs.map +1 -1
  357. package/dist/harmony70.mjs +15 -6
  358. package/dist/harmony70.mjs.map +1 -1
  359. package/dist/harmony71.cjs +19 -10
  360. package/dist/harmony71.cjs.map +1 -1
  361. package/dist/harmony71.mjs +18 -9
  362. package/dist/harmony71.mjs.map +1 -1
  363. package/dist/harmony72.cjs +61 -18
  364. package/dist/harmony72.cjs.map +1 -1
  365. package/dist/harmony72.mjs +60 -17
  366. package/dist/harmony72.mjs.map +1 -1
  367. package/dist/harmony73.cjs +6 -23
  368. package/dist/harmony73.cjs.map +1 -1
  369. package/dist/harmony73.mjs +5 -22
  370. package/dist/harmony73.mjs.map +1 -1
  371. package/dist/harmony74.cjs +8 -4
  372. package/dist/harmony74.cjs.map +1 -1
  373. package/dist/harmony74.mjs +8 -4
  374. package/dist/harmony74.mjs.map +1 -1
  375. package/dist/harmony75.cjs +15 -29
  376. package/dist/harmony75.cjs.map +1 -1
  377. package/dist/harmony75.mjs +17 -31
  378. package/dist/harmony75.mjs.map +1 -1
  379. package/dist/harmony76.cjs +17 -26
  380. package/dist/harmony76.cjs.map +1 -1
  381. package/dist/harmony76.mjs +19 -28
  382. package/dist/harmony76.mjs.map +1 -1
  383. package/dist/harmony77.cjs +4 -18
  384. package/dist/harmony77.cjs.map +1 -1
  385. package/dist/harmony77.mjs +4 -18
  386. package/dist/harmony77.mjs.map +1 -1
  387. package/dist/harmony78.cjs +26 -25
  388. package/dist/harmony78.cjs.map +1 -1
  389. package/dist/harmony78.mjs +28 -27
  390. package/dist/harmony78.mjs.map +1 -1
  391. package/dist/harmony79.cjs +28 -55
  392. package/dist/harmony79.cjs.map +1 -1
  393. package/dist/harmony79.mjs +30 -57
  394. package/dist/harmony79.mjs.map +1 -1
  395. package/dist/harmony80.cjs +19 -9
  396. package/dist/harmony80.cjs.map +1 -1
  397. package/dist/harmony80.mjs +18 -8
  398. package/dist/harmony80.mjs.map +1 -1
  399. package/dist/harmony81.cjs +29 -6
  400. package/dist/harmony81.cjs.map +1 -1
  401. package/dist/harmony81.mjs +31 -8
  402. package/dist/harmony81.mjs.map +1 -1
  403. package/dist/harmony82.cjs +50 -20
  404. package/dist/harmony82.cjs.map +1 -1
  405. package/dist/harmony82.mjs +53 -23
  406. package/dist/harmony82.mjs.map +1 -1
  407. package/dist/harmony83.cjs +10 -4
  408. package/dist/harmony83.cjs.map +1 -1
  409. package/dist/harmony83.mjs +9 -3
  410. package/dist/harmony83.mjs.map +1 -1
  411. package/dist/harmony84.cjs +6 -38
  412. package/dist/harmony84.cjs.map +1 -1
  413. package/dist/harmony84.mjs +8 -40
  414. package/dist/harmony84.mjs.map +1 -1
  415. package/dist/harmony85.cjs +27 -10
  416. package/dist/harmony85.cjs.map +1 -1
  417. package/dist/harmony85.mjs +28 -11
  418. package/dist/harmony85.mjs.map +1 -1
  419. package/dist/harmony86.cjs +4 -13
  420. package/dist/harmony86.cjs.map +1 -1
  421. package/dist/harmony86.mjs +3 -12
  422. package/dist/harmony86.mjs.map +1 -1
  423. package/dist/harmony87.cjs +31 -9
  424. package/dist/harmony87.cjs.map +1 -1
  425. package/dist/harmony87.mjs +32 -10
  426. package/dist/harmony87.mjs.map +1 -1
  427. package/dist/harmony88.cjs +5 -20
  428. package/dist/harmony88.cjs.map +1 -1
  429. package/dist/harmony88.mjs +5 -20
  430. package/dist/harmony88.mjs.map +1 -1
  431. package/dist/harmony89.cjs +6 -3
  432. package/dist/harmony89.cjs.map +1 -1
  433. package/dist/harmony89.mjs +6 -3
  434. package/dist/harmony89.mjs.map +1 -1
  435. package/dist/harmony90.cjs +6 -6
  436. package/dist/harmony90.mjs +6 -6
  437. package/dist/harmony91.cjs +57 -9
  438. package/dist/harmony91.cjs.map +1 -1
  439. package/dist/harmony91.mjs +56 -8
  440. package/dist/harmony91.mjs.map +1 -1
  441. package/dist/harmony92.cjs +36 -51
  442. package/dist/harmony92.cjs.map +1 -1
  443. package/dist/harmony92.mjs +37 -52
  444. package/dist/harmony92.mjs.map +1 -1
  445. package/dist/harmony93.cjs +5 -42
  446. package/dist/harmony93.cjs.map +1 -1
  447. package/dist/harmony93.mjs +5 -42
  448. package/dist/harmony93.mjs.map +1 -1
  449. package/dist/harmony94.cjs +10 -6
  450. package/dist/harmony94.cjs.map +1 -1
  451. package/dist/harmony94.mjs +9 -5
  452. package/dist/harmony94.mjs.map +1 -1
  453. package/dist/harmony95.cjs +21 -6
  454. package/dist/harmony95.cjs.map +1 -1
  455. package/dist/harmony95.mjs +21 -6
  456. package/dist/harmony95.mjs.map +1 -1
  457. package/dist/harmony96.cjs +3 -21
  458. package/dist/harmony96.cjs.map +1 -1
  459. package/dist/harmony96.mjs +3 -21
  460. package/dist/harmony96.mjs.map +1 -1
  461. package/dist/harmony97.cjs +21 -6
  462. package/dist/harmony97.cjs.map +1 -1
  463. package/dist/harmony97.mjs +20 -5
  464. package/dist/harmony97.mjs.map +1 -1
  465. package/dist/harmony98.cjs +12 -21
  466. package/dist/harmony98.cjs.map +1 -1
  467. package/dist/harmony98.mjs +11 -20
  468. package/dist/harmony98.mjs.map +1 -1
  469. package/dist/harmony99.cjs +12 -12
  470. package/dist/harmony99.cjs.map +1 -1
  471. package/dist/harmony99.mjs +11 -11
  472. package/dist/harmony99.mjs.map +1 -1
  473. package/dist/types/src/components/Table/components/TableHeaderCell.d.ts +3 -6
  474. package/dist/types/src/features/publicApi/contributors.d.ts +662 -0
  475. package/dist/types/src/features/publicApi/hooks/useAddContributorsMutation.d.ts +51 -0
  476. package/dist/types/src/features/publicApi/hooks/useDeleteContributorMutation.d.ts +16 -0
  477. package/dist/types/src/features/publicApi/hooks/useUpdateContributorMutation.d.ts +46 -0
  478. package/dist/types/src/features/publicApi/node.d.ts +3 -0
  479. package/dist/types/src/features/publicApi/types/contributorTypes.d.ts +480 -0
  480. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"harmony127.mjs","sources":["../node_modules/lodash/_baseGetTag.js"],"sourcesContent":["var Symbol = require('./_Symbol'),\n getRawTag = require('./_getRawTag'),\n objectToString = require('./_objectToString');\n\n/** `Object#toString` result references. */\nvar nullTag = '[object Null]',\n undefinedTag = '[object Undefined]';\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * The base implementation of `getTag` without fallbacks for buggy environments.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nfunction baseGetTag(value) {\n if (value == null) {\n return value === undefined ? undefinedTag : nullTag;\n }\n return (symToStringTag && symToStringTag in Object(value))\n ? getRawTag(value)\n : objectToString(value);\n}\n\nmodule.exports = baseGetTag;\n"],"names":["require$$0","require$$1","require$$2"],"mappings":";;;;;;;;AAAA,MAAI,SAASA,eAAoB,GAC7B,YAAYC,kBAAuB,GACnC,iBAAiBC,uBAA4B;AAGjD,MAAI,UAAU,iBACV,eAAe;AAGnB,MAAI,iBAAiB,SAAS,OAAO,cAAc;AASnD,WAAS,WAAW,OAAO;AACzB,QAAI,SAAS,MAAM;AACjB,aAAO,UAAU,SAAY,eAAe;AAAA,IAChD;AACE,WAAQ,kBAAkB,kBAAkB,OAAO,KAAK,IACpD,UAAU,KAAK,IACf,eAAe,KAAK;AAAA,EAC1B;AAEA,gBAAiB;;;","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"harmony127.mjs","sources":["../node_modules/lodash/isSymbol.js"],"sourcesContent":["var baseGetTag = require('./_baseGetTag'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar symbolTag = '[object Symbol]';\n\n/**\n * Checks if `value` is classified as a `Symbol` primitive or object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a symbol, else `false`.\n * @example\n *\n * _.isSymbol(Symbol.iterator);\n * // => true\n *\n * _.isSymbol('abc');\n * // => false\n */\nfunction isSymbol(value) {\n return typeof value == 'symbol' ||\n (isObjectLike(value) && baseGetTag(value) == symbolTag);\n}\n\nmodule.exports = isSymbol;\n"],"names":["require$$0","require$$1"],"mappings":";;;;;;;AAAA,MAAI,aAAaA,mBAAwB,GACrC,eAAeC,oBAAyB;AAG5C,MAAI,YAAY;AAmBhB,WAAS,SAAS,OAAO;AACvB,WAAO,OAAO,SAAS,YACpB,aAAa,KAAK,KAAK,WAAW,KAAK,KAAK;AAAA,EACjD;AAEA,eAAiB;;;","x_google_ignoreList":[0]}
@@ -1,15 +1,10 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- var isObjectLike_1;
4
- var hasRequiredIsObjectLike;
5
- function requireIsObjectLike() {
6
- if (hasRequiredIsObjectLike) return isObjectLike_1;
7
- hasRequiredIsObjectLike = 1;
8
- function isObjectLike(value) {
9
- return value != null && typeof value == "object";
10
- }
11
- isObjectLike_1 = isObjectLike;
12
- return isObjectLike_1;
13
- }
14
- exports.__require = requireIsObjectLike;
3
+ const splitFileName = (fileName) => {
4
+ const lastDotIndex = fileName.lastIndexOf(".");
5
+ const name = fileName.slice(0, lastDotIndex);
6
+ const extension = fileName.slice(lastDotIndex + 1);
7
+ return { name, extension };
8
+ };
9
+ exports.splitFileName = splitFileName;
15
10
  //# sourceMappingURL=harmony128.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"harmony128.cjs","sources":["../node_modules/lodash/isObjectLike.js"],"sourcesContent":["/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return value != null && typeof value == 'object';\n}\n\nmodule.exports = isObjectLike;\n"],"names":[],"mappings":";;;;;;;AAwBA,WAAS,aAAa,OAAO;AAC3B,WAAO,SAAS,QAAQ,OAAO,SAAS;AAAA,EAC1C;AAEA,mBAAiB;;;;","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"harmony128.cjs","sources":["../src/components/Sidebar/utils/index.ts"],"sourcesContent":["export const splitFileName = (fileName: string) => {\n\tconst lastDotIndex = fileName.lastIndexOf('.')\n\tconst name = fileName.slice(0, lastDotIndex)\n\tconst extension = fileName.slice(lastDotIndex + 1)\n\n\treturn { name, extension }\n}\n"],"names":[],"mappings":";;AAAa,MAAA,gBAAgB,CAAC,aAAqB;AAC5C,QAAA,eAAe,SAAS,YAAY,GAAG;AAC7C,QAAM,OAAO,SAAS,MAAM,GAAG,YAAY;AAC3C,QAAM,YAAY,SAAS,MAAM,eAAe,CAAC;AAE1C,SAAA,EAAE,MAAM,UAAU;AAC1B;;"}
@@ -1,15 +1,10 @@
1
- var isObjectLike_1;
2
- var hasRequiredIsObjectLike;
3
- function requireIsObjectLike() {
4
- if (hasRequiredIsObjectLike) return isObjectLike_1;
5
- hasRequiredIsObjectLike = 1;
6
- function isObjectLike(value) {
7
- return value != null && typeof value == "object";
8
- }
9
- isObjectLike_1 = isObjectLike;
10
- return isObjectLike_1;
11
- }
1
+ const splitFileName = (fileName) => {
2
+ const lastDotIndex = fileName.lastIndexOf(".");
3
+ const name = fileName.slice(0, lastDotIndex);
4
+ const extension = fileName.slice(lastDotIndex + 1);
5
+ return { name, extension };
6
+ };
12
7
  export {
13
- requireIsObjectLike as __require
8
+ splitFileName
14
9
  };
15
10
  //# sourceMappingURL=harmony128.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"harmony128.mjs","sources":["../node_modules/lodash/isObjectLike.js"],"sourcesContent":["/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return value != null && typeof value == 'object';\n}\n\nmodule.exports = isObjectLike;\n"],"names":[],"mappings":";;;;;AAwBA,WAAS,aAAa,OAAO;AAC3B,WAAO,SAAS,QAAQ,OAAO,SAAS;AAAA,EAC1C;AAEA,mBAAiB;;;","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"harmony128.mjs","sources":["../src/components/Sidebar/utils/index.ts"],"sourcesContent":["export const splitFileName = (fileName: string) => {\n\tconst lastDotIndex = fileName.lastIndexOf('.')\n\tconst name = fileName.slice(0, lastDotIndex)\n\tconst extension = fileName.slice(lastDotIndex + 1)\n\n\treturn { name, extension }\n}\n"],"names":[],"mappings":"AAAa,MAAA,gBAAgB,CAAC,aAAqB;AAC5C,QAAA,eAAe,SAAS,YAAY,GAAG;AAC7C,QAAM,OAAO,SAAS,MAAM,GAAG,YAAY;AAC3C,QAAM,YAAY,SAAS,MAAM,eAAe,CAAC;AAE1C,SAAA,EAAE,MAAM,UAAU;AAC1B;"}
@@ -1,10 +1,60 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const splitFileName = (fileName) => {
4
- const lastDotIndex = fileName.lastIndexOf(".");
5
- const name = fileName.slice(0, lastDotIndex);
6
- const extension = fileName.slice(lastDotIndex + 1);
7
- return { name, extension };
3
+ const jsxRuntime = require("react/jsx-runtime");
4
+ const louis = require("@lokalise/louis");
5
+ const content = require("./harmony130.cjs");
6
+ const types = require("./harmony2.cjs");
7
+ const clsx = require("./harmony70.cjs");
8
+ const TaskLanguageCompleted = require("./harmony140.cjs");
9
+ const TasksContext = require("./harmony108.cjs");
10
+ const TaskLanguage_module = require("./harmony141.cjs");
11
+ const TaskLanguage = ({ language, task }) => {
12
+ const { getProjectUrl, langNameOnClick, langProgressOnClick } = TasksContext.useTasks();
13
+ const progressValue = language.progress ?? 0;
14
+ const isLanguageCompleted = language.status === types.SidebarTaskLanguageStatuses.Completed;
15
+ const languageProgressCompleted = content.isLanguageProgressCompleted(task, language);
16
+ return /* @__PURE__ */ jsxRuntime.jsxs(
17
+ "tr",
18
+ {
19
+ className: clsx.clsx({
20
+ [TaskLanguage_module.default.langRowCompleted]: languageProgressCompleted
21
+ }),
22
+ children: [
23
+ /* @__PURE__ */ jsxRuntime.jsx("td", { children: /* @__PURE__ */ jsxRuntime.jsx(louis.Tooltip, { tooltip: "Open in bilingual view", children: /* @__PURE__ */ jsxRuntime.jsx(
24
+ louis.Link,
25
+ {
26
+ href: getProjectUrl({ task, language }),
27
+ onClick: () => {
28
+ langNameOnClick == null ? void 0 : langNameOnClick({ task, language });
29
+ },
30
+ children: language.name
31
+ }
32
+ ) }) }),
33
+ /* @__PURE__ */ jsxRuntime.jsx("td", { className: TaskLanguage_module.default.langCellSecondary, children: languageProgressCompleted || isLanguageCompleted ? "0" : /* @__PURE__ */ jsxRuntime.jsx(louis.Tooltip, { tooltip: "Open uncompleted items", children: /* @__PURE__ */ jsxRuntime.jsx(
34
+ louis.Link,
35
+ {
36
+ href: getProjectUrl({ task, language, taskUncompleted: true }),
37
+ onClick: () => {
38
+ langProgressOnClick == null ? void 0 : langProgressOnClick({ task, language });
39
+ },
40
+ children: language.base_words_total - language.base_words_done
41
+ }
42
+ ) }) }),
43
+ /* @__PURE__ */ jsxRuntime.jsxs("td", { children: [
44
+ progressValue,
45
+ "%"
46
+ ] }),
47
+ /* @__PURE__ */ jsxRuntime.jsx("td", { children: languageProgressCompleted ? /* @__PURE__ */ jsxRuntime.jsx(TaskLanguageCompleted.TaskLanguageCompleted, { task, language }) : /* @__PURE__ */ jsxRuntime.jsx(
48
+ "span",
49
+ {
50
+ className: `${TaskLanguage_module.default.langStatus} flex-row items-center justify-start`,
51
+ "data-status": language.status,
52
+ children: content.getStatusText(language.status, progressValue)
53
+ }
54
+ ) })
55
+ ]
56
+ }
57
+ );
8
58
  };
9
- exports.splitFileName = splitFileName;
59
+ exports.TaskLanguage = TaskLanguage;
10
60
  //# sourceMappingURL=harmony129.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"harmony129.cjs","sources":["../src/components/Sidebar/utils/index.ts"],"sourcesContent":["export const splitFileName = (fileName: string) => {\n\tconst lastDotIndex = fileName.lastIndexOf('.')\n\tconst name = fileName.slice(0, lastDotIndex)\n\tconst extension = fileName.slice(lastDotIndex + 1)\n\n\treturn { name, extension }\n}\n"],"names":[],"mappings":";;AAAa,MAAA,gBAAgB,CAAC,aAAqB;AAC5C,QAAA,eAAe,SAAS,YAAY,GAAG;AAC7C,QAAM,OAAO,SAAS,MAAM,GAAG,YAAY;AAC3C,QAAM,YAAY,SAAS,MAAM,eAAe,CAAC;AAE1C,SAAA,EAAE,MAAM,UAAU;AAC1B;;"}
1
+ {"version":3,"file":"harmony129.cjs","sources":["../src/components/Sidebar/Widgets/Tasks/TaskLanguage/TaskLanguage.tsx"],"sourcesContent":["import { Link, Tooltip } from '@lokalise/louis'\nimport { getStatusText, isLanguageProgressCompleted } from '../utils/content'\n\nimport { type SidebarTask, type SidebarTaskLanguage, SidebarTaskLanguageStatuses } from '../types'\n\nimport clsx from 'clsx'\nimport { TaskLanguageCompleted } from '../TaskLanguageCompleted/TaskLanguageCompleted'\nimport { useTasks } from '../TasksContext'\nimport styles from './TaskLanguage.module.css'\n\nexport type TaskLanguageProps = {\n\ttask: SidebarTask\n\tlanguage: SidebarTaskLanguage\n}\n\nexport const TaskLanguage = ({ language, task }: TaskLanguageProps) => {\n\tconst { getProjectUrl, langNameOnClick, langProgressOnClick } = useTasks()\n\n\tconst progressValue = language.progress ?? 0\n\n\tconst isLanguageCompleted = language.status === SidebarTaskLanguageStatuses.Completed\n\n\tconst languageProgressCompleted = isLanguageProgressCompleted(task, language)\n\n\treturn (\n\t\t<tr\n\t\t\tclassName={clsx({\n\t\t\t\t[styles.langRowCompleted]: languageProgressCompleted,\n\t\t\t})}\n\t\t>\n\t\t\t<td>\n\t\t\t\t<Tooltip tooltip=\"Open in bilingual view\">\n\t\t\t\t\t<Link\n\t\t\t\t\t\thref={getProjectUrl({ task, language })}\n\t\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\t\tlangNameOnClick?.({ task, language })\n\t\t\t\t\t\t}}\n\t\t\t\t\t>\n\t\t\t\t\t\t{language.name}\n\t\t\t\t\t</Link>\n\t\t\t\t</Tooltip>\n\t\t\t</td>\n\t\t\t<td className={styles.langCellSecondary}>\n\t\t\t\t{languageProgressCompleted || isLanguageCompleted ? (\n\t\t\t\t\t'0'\n\t\t\t\t) : (\n\t\t\t\t\t<Tooltip tooltip=\"Open uncompleted items\">\n\t\t\t\t\t\t<Link\n\t\t\t\t\t\t\thref={getProjectUrl({ task, language, taskUncompleted: true })}\n\t\t\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\t\t\tlangProgressOnClick?.({ task, language })\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{language.base_words_total - language.base_words_done}\n\t\t\t\t\t\t</Link>\n\t\t\t\t\t</Tooltip>\n\t\t\t\t)}\n\t\t\t</td>\n\t\t\t<td>{progressValue}%</td>\n\t\t\t<td>\n\t\t\t\t{languageProgressCompleted ? (\n\t\t\t\t\t<TaskLanguageCompleted task={task} language={language} />\n\t\t\t\t) : (\n\t\t\t\t\t<span\n\t\t\t\t\t\tclassName={`${styles.langStatus} flex-row items-center justify-start`}\n\t\t\t\t\t\tdata-status={language.status}\n\t\t\t\t\t>\n\t\t\t\t\t\t{getStatusText(language.status, progressValue)}\n\t\t\t\t\t</span>\n\t\t\t\t)}\n\t\t\t</td>\n\t\t</tr>\n\t)\n}\n"],"names":["useTasks","SidebarTaskLanguageStatuses","isLanguageProgressCompleted","jsxs","clsx","styles","jsx","Tooltip","Link","TaskLanguageCompleted","getStatusText"],"mappings":";;;;;;;;;;AAeO,MAAM,eAAe,CAAC,EAAE,UAAU,WAA8B;AACtE,QAAM,EAAE,eAAe,iBAAiB,oBAAA,IAAwBA,aAAAA,SAAS;AAEnE,QAAA,gBAAgB,SAAS,YAAY;AAErC,QAAA,sBAAsB,SAAS,WAAWC,MAA4B,4BAAA;AAEtE,QAAA,4BAA4BC,QAAAA,4BAA4B,MAAM,QAAQ;AAG3E,SAAAC,2BAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACA,WAAWC,KAAAA,KAAK;AAAA,QACf,CAACC,oBAAAA,QAAO,gBAAgB,GAAG;AAAA,MAAA,CAC3B;AAAA,MAED,UAAA;AAAA,QAAAC,+BAAC,MACA,EAAA,UAAAA,2BAAA,IAACC,MAAQ,SAAA,EAAA,SAAQ,0BAChB,UAAAD,2BAAA;AAAA,UAACE,MAAA;AAAA,UAAA;AAAA,YACA,MAAM,cAAc,EAAE,MAAM,UAAU;AAAA,YACtC,SAAS,MAAM;AACI,iEAAA,EAAE,MAAM;YAC3B;AAAA,YAEC,UAAS,SAAA;AAAA,UAAA;AAAA,WAEZ,EACD,CAAA;AAAA,QACAF,2BAAA,IAAC,MAAG,EAAA,WAAWD,oBAAAA,QAAO,mBACpB,UAA6B,6BAAA,sBAC7B,MAEAC,2BAAA,IAACC,MAAQ,SAAA,EAAA,SAAQ,0BAChB,UAAAD,2BAAA;AAAA,UAACE,MAAA;AAAA,UAAA;AAAA,YACA,MAAM,cAAc,EAAE,MAAM,UAAU,iBAAiB,MAAM;AAAA,YAC7D,SAAS,MAAM;AACQ,yEAAA,EAAE,MAAM;YAC/B;AAAA,YAEC,UAAA,SAAS,mBAAmB,SAAS;AAAA,UAAA;AAAA,WAExC,EAEF,CAAA;AAAA,wCACC,MAAI,EAAA,UAAA;AAAA,UAAA;AAAA,UAAc;AAAA,QAAA,GAAC;AAAA,uCACnB,MACC,EAAA,UAAA,2DACCC,sBAAsB,uBAAA,EAAA,MAAY,SAAoB,CAAA,IAEvDH,2BAAA;AAAA,UAAC;AAAA,UAAA;AAAA,YACA,WAAW,GAAGD,4BAAO,UAAU;AAAA,YAC/B,eAAa,SAAS;AAAA,YAErB,UAAAK,QAAA,cAAc,SAAS,QAAQ,aAAa;AAAA,UAAA;AAAA,QAAA,EAGhD,CAAA;AAAA,MAAA;AAAA,IAAA;AAAA,EACD;AAEF;;"}
@@ -1,10 +1,60 @@
1
- const splitFileName = (fileName) => {
2
- const lastDotIndex = fileName.lastIndexOf(".");
3
- const name = fileName.slice(0, lastDotIndex);
4
- const extension = fileName.slice(lastDotIndex + 1);
5
- return { name, extension };
1
+ import { jsxs, jsx } from "react/jsx-runtime";
2
+ import { Tooltip, Link } from "@lokalise/louis";
3
+ import { isLanguageProgressCompleted, getStatusText } from "./harmony130.mjs";
4
+ import { SidebarTaskLanguageStatuses } from "./harmony2.mjs";
5
+ import { clsx } from "./harmony70.mjs";
6
+ import { TaskLanguageCompleted } from "./harmony140.mjs";
7
+ import { useTasks } from "./harmony108.mjs";
8
+ import styles from "./harmony141.mjs";
9
+ const TaskLanguage = ({ language, task }) => {
10
+ const { getProjectUrl, langNameOnClick, langProgressOnClick } = useTasks();
11
+ const progressValue = language.progress ?? 0;
12
+ const isLanguageCompleted = language.status === SidebarTaskLanguageStatuses.Completed;
13
+ const languageProgressCompleted = isLanguageProgressCompleted(task, language);
14
+ return /* @__PURE__ */ jsxs(
15
+ "tr",
16
+ {
17
+ className: clsx({
18
+ [styles.langRowCompleted]: languageProgressCompleted
19
+ }),
20
+ children: [
21
+ /* @__PURE__ */ jsx("td", { children: /* @__PURE__ */ jsx(Tooltip, { tooltip: "Open in bilingual view", children: /* @__PURE__ */ jsx(
22
+ Link,
23
+ {
24
+ href: getProjectUrl({ task, language }),
25
+ onClick: () => {
26
+ langNameOnClick == null ? void 0 : langNameOnClick({ task, language });
27
+ },
28
+ children: language.name
29
+ }
30
+ ) }) }),
31
+ /* @__PURE__ */ jsx("td", { className: styles.langCellSecondary, children: languageProgressCompleted || isLanguageCompleted ? "0" : /* @__PURE__ */ jsx(Tooltip, { tooltip: "Open uncompleted items", children: /* @__PURE__ */ jsx(
32
+ Link,
33
+ {
34
+ href: getProjectUrl({ task, language, taskUncompleted: true }),
35
+ onClick: () => {
36
+ langProgressOnClick == null ? void 0 : langProgressOnClick({ task, language });
37
+ },
38
+ children: language.base_words_total - language.base_words_done
39
+ }
40
+ ) }) }),
41
+ /* @__PURE__ */ jsxs("td", { children: [
42
+ progressValue,
43
+ "%"
44
+ ] }),
45
+ /* @__PURE__ */ jsx("td", { children: languageProgressCompleted ? /* @__PURE__ */ jsx(TaskLanguageCompleted, { task, language }) : /* @__PURE__ */ jsx(
46
+ "span",
47
+ {
48
+ className: `${styles.langStatus} flex-row items-center justify-start`,
49
+ "data-status": language.status,
50
+ children: getStatusText(language.status, progressValue)
51
+ }
52
+ ) })
53
+ ]
54
+ }
55
+ );
6
56
  };
7
57
  export {
8
- splitFileName
58
+ TaskLanguage
9
59
  };
10
60
  //# sourceMappingURL=harmony129.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"harmony129.mjs","sources":["../src/components/Sidebar/utils/index.ts"],"sourcesContent":["export const splitFileName = (fileName: string) => {\n\tconst lastDotIndex = fileName.lastIndexOf('.')\n\tconst name = fileName.slice(0, lastDotIndex)\n\tconst extension = fileName.slice(lastDotIndex + 1)\n\n\treturn { name, extension }\n}\n"],"names":[],"mappings":"AAAa,MAAA,gBAAgB,CAAC,aAAqB;AAC5C,QAAA,eAAe,SAAS,YAAY,GAAG;AAC7C,QAAM,OAAO,SAAS,MAAM,GAAG,YAAY;AAC3C,QAAM,YAAY,SAAS,MAAM,eAAe,CAAC;AAE1C,SAAA,EAAE,MAAM,UAAU;AAC1B;"}
1
+ {"version":3,"file":"harmony129.mjs","sources":["../src/components/Sidebar/Widgets/Tasks/TaskLanguage/TaskLanguage.tsx"],"sourcesContent":["import { Link, Tooltip } from '@lokalise/louis'\nimport { getStatusText, isLanguageProgressCompleted } from '../utils/content'\n\nimport { type SidebarTask, type SidebarTaskLanguage, SidebarTaskLanguageStatuses } from '../types'\n\nimport clsx from 'clsx'\nimport { TaskLanguageCompleted } from '../TaskLanguageCompleted/TaskLanguageCompleted'\nimport { useTasks } from '../TasksContext'\nimport styles from './TaskLanguage.module.css'\n\nexport type TaskLanguageProps = {\n\ttask: SidebarTask\n\tlanguage: SidebarTaskLanguage\n}\n\nexport const TaskLanguage = ({ language, task }: TaskLanguageProps) => {\n\tconst { getProjectUrl, langNameOnClick, langProgressOnClick } = useTasks()\n\n\tconst progressValue = language.progress ?? 0\n\n\tconst isLanguageCompleted = language.status === SidebarTaskLanguageStatuses.Completed\n\n\tconst languageProgressCompleted = isLanguageProgressCompleted(task, language)\n\n\treturn (\n\t\t<tr\n\t\t\tclassName={clsx({\n\t\t\t\t[styles.langRowCompleted]: languageProgressCompleted,\n\t\t\t})}\n\t\t>\n\t\t\t<td>\n\t\t\t\t<Tooltip tooltip=\"Open in bilingual view\">\n\t\t\t\t\t<Link\n\t\t\t\t\t\thref={getProjectUrl({ task, language })}\n\t\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\t\tlangNameOnClick?.({ task, language })\n\t\t\t\t\t\t}}\n\t\t\t\t\t>\n\t\t\t\t\t\t{language.name}\n\t\t\t\t\t</Link>\n\t\t\t\t</Tooltip>\n\t\t\t</td>\n\t\t\t<td className={styles.langCellSecondary}>\n\t\t\t\t{languageProgressCompleted || isLanguageCompleted ? (\n\t\t\t\t\t'0'\n\t\t\t\t) : (\n\t\t\t\t\t<Tooltip tooltip=\"Open uncompleted items\">\n\t\t\t\t\t\t<Link\n\t\t\t\t\t\t\thref={getProjectUrl({ task, language, taskUncompleted: true })}\n\t\t\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\t\t\tlangProgressOnClick?.({ task, language })\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{language.base_words_total - language.base_words_done}\n\t\t\t\t\t\t</Link>\n\t\t\t\t\t</Tooltip>\n\t\t\t\t)}\n\t\t\t</td>\n\t\t\t<td>{progressValue}%</td>\n\t\t\t<td>\n\t\t\t\t{languageProgressCompleted ? (\n\t\t\t\t\t<TaskLanguageCompleted task={task} language={language} />\n\t\t\t\t) : (\n\t\t\t\t\t<span\n\t\t\t\t\t\tclassName={`${styles.langStatus} flex-row items-center justify-start`}\n\t\t\t\t\t\tdata-status={language.status}\n\t\t\t\t\t>\n\t\t\t\t\t\t{getStatusText(language.status, progressValue)}\n\t\t\t\t\t</span>\n\t\t\t\t)}\n\t\t\t</td>\n\t\t</tr>\n\t)\n}\n"],"names":[],"mappings":";;;;;;;;AAeO,MAAM,eAAe,CAAC,EAAE,UAAU,WAA8B;AACtE,QAAM,EAAE,eAAe,iBAAiB,oBAAA,IAAwB,SAAS;AAEnE,QAAA,gBAAgB,SAAS,YAAY;AAErC,QAAA,sBAAsB,SAAS,WAAW,4BAA4B;AAEtE,QAAA,4BAA4B,4BAA4B,MAAM,QAAQ;AAG3E,SAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACA,WAAW,KAAK;AAAA,QACf,CAAC,OAAO,gBAAgB,GAAG;AAAA,MAAA,CAC3B;AAAA,MAED,UAAA;AAAA,QAAA,oBAAC,MACA,EAAA,UAAA,oBAAC,SAAQ,EAAA,SAAQ,0BAChB,UAAA;AAAA,UAAC;AAAA,UAAA;AAAA,YACA,MAAM,cAAc,EAAE,MAAM,UAAU;AAAA,YACtC,SAAS,MAAM;AACI,iEAAA,EAAE,MAAM;YAC3B;AAAA,YAEC,UAAS,SAAA;AAAA,UAAA;AAAA,WAEZ,EACD,CAAA;AAAA,QACA,oBAAC,MAAG,EAAA,WAAW,OAAO,mBACpB,UAA6B,6BAAA,sBAC7B,MAEA,oBAAC,SAAQ,EAAA,SAAQ,0BAChB,UAAA;AAAA,UAAC;AAAA,UAAA;AAAA,YACA,MAAM,cAAc,EAAE,MAAM,UAAU,iBAAiB,MAAM;AAAA,YAC7D,SAAS,MAAM;AACQ,yEAAA,EAAE,MAAM;YAC/B;AAAA,YAEC,UAAA,SAAS,mBAAmB,SAAS;AAAA,UAAA;AAAA,WAExC,EAEF,CAAA;AAAA,6BACC,MAAI,EAAA,UAAA;AAAA,UAAA;AAAA,UAAc;AAAA,QAAA,GAAC;AAAA,4BACnB,MACC,EAAA,UAAA,gDACC,uBAAsB,EAAA,MAAY,SAAoB,CAAA,IAEvD;AAAA,UAAC;AAAA,UAAA;AAAA,YACA,WAAW,GAAG,OAAO,UAAU;AAAA,YAC/B,eAAa,SAAS;AAAA,YAErB,UAAA,cAAc,SAAS,QAAQ,aAAa;AAAA,UAAA;AAAA,QAAA,EAGhD,CAAA;AAAA,MAAA;AAAA,IAAA;AAAA,EACD;AAEF;"}
@@ -3,7 +3,7 @@ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
3
  const createHeaderBuilderMiddleware = require("./harmony18.cjs");
4
4
  const jwtTokenPayload = require("./harmony16.cjs");
5
5
  const UnauthorizedError = require("./harmony15.cjs");
6
- const NewJwtIssuedEvent = require("./harmony101.cjs");
6
+ const NewJwtIssuedEvent = require("./harmony112.cjs");
7
7
  function JwtAuthHeaderBuilderMiddleware(props) {
8
8
  return createHeaderBuilderMiddleware.createHeaderBuilderMiddleware(async (builder) => {
9
9
  var _a, _b;
@@ -1,7 +1,7 @@
1
1
  import { createHeaderBuilderMiddleware } from "./harmony18.mjs";
2
2
  import { parseJwtTokenPayload } from "./harmony16.mjs";
3
3
  import { UnauthorizedError } from "./harmony15.mjs";
4
- import { NewJwtIssuedEvent } from "./harmony101.mjs";
4
+ import { NewJwtIssuedEvent } from "./harmony112.mjs";
5
5
  function JwtAuthHeaderBuilderMiddleware(props) {
6
6
  return createHeaderBuilderMiddleware(async (builder) => {
7
7
  var _a, _b;
@@ -1,60 +1,63 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const jsxRuntime = require("react/jsx-runtime");
4
- const louis = require("@lokalise/louis");
5
- const content = require("./harmony131.cjs");
6
3
  const types = require("./harmony2.cjs");
7
- const clsx = require("./harmony67.cjs");
8
- const TaskLanguageCompleted = require("./harmony137.cjs");
9
- const TasksContext = require("./harmony109.cjs");
10
- const TaskLanguage_module = require("./harmony138.cjs");
11
- const TaskLanguage = ({ language, task }) => {
12
- const { getProjectUrl, langNameOnClick, langProgressOnClick } = TasksContext.useTasks();
13
- const progressValue = language.progress ?? 0;
14
- const isLanguageCompleted = language.status === types.SidebarTaskLanguageStatuses.Completed;
15
- const languageProgressCompleted = content.isLanguageProgressCompleted(task, language);
16
- return /* @__PURE__ */ jsxRuntime.jsxs(
17
- "tr",
18
- {
19
- className: clsx.clsx({
20
- [TaskLanguage_module.default.langRowCompleted]: languageProgressCompleted
21
- }),
22
- children: [
23
- /* @__PURE__ */ jsxRuntime.jsx("td", { children: /* @__PURE__ */ jsxRuntime.jsx(louis.Tooltip, { tooltip: "Open in bilingual view", children: /* @__PURE__ */ jsxRuntime.jsx(
24
- louis.Link,
25
- {
26
- href: getProjectUrl({ task, language }),
27
- onClick: () => {
28
- langNameOnClick == null ? void 0 : langNameOnClick({ task, language });
29
- },
30
- children: language.name
31
- }
32
- ) }) }),
33
- /* @__PURE__ */ jsxRuntime.jsx("td", { className: TaskLanguage_module.default.langCellSecondary, children: languageProgressCompleted || isLanguageCompleted ? "0" : /* @__PURE__ */ jsxRuntime.jsx(louis.Tooltip, { tooltip: "Open uncompleted items", children: /* @__PURE__ */ jsxRuntime.jsx(
34
- louis.Link,
35
- {
36
- href: getProjectUrl({ task, language, taskUncompleted: true }),
37
- onClick: () => {
38
- langProgressOnClick == null ? void 0 : langProgressOnClick({ task, language });
39
- },
40
- children: language.base_words_total - language.base_words_done
41
- }
42
- ) }) }),
43
- /* @__PURE__ */ jsxRuntime.jsxs("td", { children: [
44
- progressValue,
45
- "%"
46
- ] }),
47
- /* @__PURE__ */ jsxRuntime.jsx("td", { children: languageProgressCompleted ? /* @__PURE__ */ jsxRuntime.jsx(TaskLanguageCompleted.TaskLanguageCompleted, { task, language }) : /* @__PURE__ */ jsxRuntime.jsx(
48
- "span",
49
- {
50
- className: `${TaskLanguage_module.default.langStatus} flex-row items-center justify-start`,
51
- "data-status": language.status,
52
- children: content.getStatusText(language.status, progressValue)
53
- }
54
- ) })
55
- ]
4
+ const getStatusText = (status, progressValue) => {
5
+ switch (status) {
6
+ case types.SidebarTaskLanguageStatuses.Completed:
7
+ return progressValue < 100 ? "Closed" : "Completed";
8
+ case types.SidebarTaskLanguageStatuses.Created:
9
+ return progressValue > 0 ? "In progress" : "Not started";
10
+ case types.SidebarTaskLanguageStatuses.InProgress:
11
+ return "In progress";
12
+ case types.SidebarTaskLanguageStatuses.Queued:
13
+ return "Queued";
14
+ case types.SidebarTaskLanguageStatuses.NotStarted:
15
+ return "Not started";
16
+ default:
17
+ return "-";
18
+ }
19
+ };
20
+ const resolveStatus = (language) => {
21
+ const progress = language.progress ?? 0;
22
+ if (language.status === types.SidebarTaskLanguageStatuses.Created && progress > 0) {
23
+ return types.SidebarTaskLanguageStatuses.InProgress;
24
+ }
25
+ return language.status;
26
+ };
27
+ const tagColor = {
28
+ [types.SidebarTaskTypeOptions.translation]: "#0891B2",
29
+ [types.SidebarTaskTypeOptions.review]: "#16922D",
30
+ [types.SidebarTaskTypeOptions.lqa_by_ai]: "#8B5CF6",
31
+ [types.SidebarTaskTypeOptions.automatic_translation]: "#60A5FA"
32
+ };
33
+ const getTaskLanguages = (langs) => {
34
+ const statusSortOrder = [
35
+ types.SidebarTaskLanguageStatuses.InProgress,
36
+ types.SidebarTaskLanguageStatuses.Created,
37
+ types.SidebarTaskLanguageStatuses.Completed
38
+ ];
39
+ return langs.filter((language) => language.status !== "queued").map((lang) => ({ ...lang, status: resolveStatus(lang) })).sort((a, b) => {
40
+ if (a.status === types.SidebarTaskLanguageStatuses.InProgress && a.progress === 100) {
41
+ return -1;
42
+ }
43
+ if (b.status === types.SidebarTaskLanguageStatuses.InProgress && b.progress === 100) {
44
+ return 1;
56
45
  }
57
- );
46
+ if (a.status === b.status) {
47
+ return a.name < b.name ? 1 : -1;
48
+ }
49
+ return statusSortOrder.indexOf(a.status) - statusSortOrder.indexOf(b.status);
50
+ });
51
+ };
52
+ const isInProgressOrCreated = (status) => {
53
+ return [types.SidebarTaskStatuses.InProgress, types.SidebarTaskStatuses.Created].includes(status);
54
+ };
55
+ const isLanguageProgressCompleted = (task, language) => {
56
+ return isInProgressOrCreated(task.status) && isInProgressOrCreated(language.status) && (language.progress ?? 0) >= 100;
58
57
  };
59
- exports.TaskLanguage = TaskLanguage;
58
+ exports.getStatusText = getStatusText;
59
+ exports.getTaskLanguages = getTaskLanguages;
60
+ exports.isLanguageProgressCompleted = isLanguageProgressCompleted;
61
+ exports.resolveStatus = resolveStatus;
62
+ exports.tagColor = tagColor;
60
63
  //# sourceMappingURL=harmony130.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"harmony130.cjs","sources":["../src/components/Sidebar/Widgets/Tasks/TaskLanguage/TaskLanguage.tsx"],"sourcesContent":["import { Link, Tooltip } from '@lokalise/louis'\nimport { getStatusText, isLanguageProgressCompleted } from '../utils/content'\n\nimport { type SidebarTask, type SidebarTaskLanguage, SidebarTaskLanguageStatuses } from '../types'\n\nimport clsx from 'clsx'\nimport { TaskLanguageCompleted } from '../TaskLanguageCompleted/TaskLanguageCompleted'\nimport { useTasks } from '../TasksContext'\nimport styles from './TaskLanguage.module.css'\n\nexport type TaskLanguageProps = {\n\ttask: SidebarTask\n\tlanguage: SidebarTaskLanguage\n}\n\nexport const TaskLanguage = ({ language, task }: TaskLanguageProps) => {\n\tconst { getProjectUrl, langNameOnClick, langProgressOnClick } = useTasks()\n\n\tconst progressValue = language.progress ?? 0\n\n\tconst isLanguageCompleted = language.status === SidebarTaskLanguageStatuses.Completed\n\n\tconst languageProgressCompleted = isLanguageProgressCompleted(task, language)\n\n\treturn (\n\t\t<tr\n\t\t\tclassName={clsx({\n\t\t\t\t[styles.langRowCompleted]: languageProgressCompleted,\n\t\t\t})}\n\t\t>\n\t\t\t<td>\n\t\t\t\t<Tooltip tooltip=\"Open in bilingual view\">\n\t\t\t\t\t<Link\n\t\t\t\t\t\thref={getProjectUrl({ task, language })}\n\t\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\t\tlangNameOnClick?.({ task, language })\n\t\t\t\t\t\t}}\n\t\t\t\t\t>\n\t\t\t\t\t\t{language.name}\n\t\t\t\t\t</Link>\n\t\t\t\t</Tooltip>\n\t\t\t</td>\n\t\t\t<td className={styles.langCellSecondary}>\n\t\t\t\t{languageProgressCompleted || isLanguageCompleted ? (\n\t\t\t\t\t'0'\n\t\t\t\t) : (\n\t\t\t\t\t<Tooltip tooltip=\"Open uncompleted items\">\n\t\t\t\t\t\t<Link\n\t\t\t\t\t\t\thref={getProjectUrl({ task, language, taskUncompleted: true })}\n\t\t\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\t\t\tlangProgressOnClick?.({ task, language })\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{language.base_words_total - language.base_words_done}\n\t\t\t\t\t\t</Link>\n\t\t\t\t\t</Tooltip>\n\t\t\t\t)}\n\t\t\t</td>\n\t\t\t<td>{progressValue}%</td>\n\t\t\t<td>\n\t\t\t\t{languageProgressCompleted ? (\n\t\t\t\t\t<TaskLanguageCompleted task={task} language={language} />\n\t\t\t\t) : (\n\t\t\t\t\t<span\n\t\t\t\t\t\tclassName={`${styles.langStatus} flex-row items-center justify-start`}\n\t\t\t\t\t\tdata-status={language.status}\n\t\t\t\t\t>\n\t\t\t\t\t\t{getStatusText(language.status, progressValue)}\n\t\t\t\t\t</span>\n\t\t\t\t)}\n\t\t\t</td>\n\t\t</tr>\n\t)\n}\n"],"names":["useTasks","SidebarTaskLanguageStatuses","isLanguageProgressCompleted","jsxs","clsx","styles","jsx","Tooltip","Link","TaskLanguageCompleted","getStatusText"],"mappings":";;;;;;;;;;AAeO,MAAM,eAAe,CAAC,EAAE,UAAU,WAA8B;AACtE,QAAM,EAAE,eAAe,iBAAiB,oBAAA,IAAwBA,aAAAA,SAAS;AAEnE,QAAA,gBAAgB,SAAS,YAAY;AAErC,QAAA,sBAAsB,SAAS,WAAWC,MAA4B,4BAAA;AAEtE,QAAA,4BAA4BC,QAAAA,4BAA4B,MAAM,QAAQ;AAG3E,SAAAC,2BAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACA,WAAWC,KAAAA,KAAK;AAAA,QACf,CAACC,oBAAAA,QAAO,gBAAgB,GAAG;AAAA,MAAA,CAC3B;AAAA,MAED,UAAA;AAAA,QAAAC,+BAAC,MACA,EAAA,UAAAA,2BAAA,IAACC,MAAQ,SAAA,EAAA,SAAQ,0BAChB,UAAAD,2BAAA;AAAA,UAACE,MAAA;AAAA,UAAA;AAAA,YACA,MAAM,cAAc,EAAE,MAAM,UAAU;AAAA,YACtC,SAAS,MAAM;AACI,iEAAA,EAAE,MAAM;YAC3B;AAAA,YAEC,UAAS,SAAA;AAAA,UAAA;AAAA,WAEZ,EACD,CAAA;AAAA,QACAF,2BAAA,IAAC,MAAG,EAAA,WAAWD,oBAAAA,QAAO,mBACpB,UAA6B,6BAAA,sBAC7B,MAEAC,2BAAA,IAACC,MAAQ,SAAA,EAAA,SAAQ,0BAChB,UAAAD,2BAAA;AAAA,UAACE,MAAA;AAAA,UAAA;AAAA,YACA,MAAM,cAAc,EAAE,MAAM,UAAU,iBAAiB,MAAM;AAAA,YAC7D,SAAS,MAAM;AACQ,yEAAA,EAAE,MAAM;YAC/B;AAAA,YAEC,UAAA,SAAS,mBAAmB,SAAS;AAAA,UAAA;AAAA,WAExC,EAEF,CAAA;AAAA,wCACC,MAAI,EAAA,UAAA;AAAA,UAAA;AAAA,UAAc;AAAA,QAAA,GAAC;AAAA,uCACnB,MACC,EAAA,UAAA,2DACCC,sBAAsB,uBAAA,EAAA,MAAY,SAAoB,CAAA,IAEvDH,2BAAA;AAAA,UAAC;AAAA,UAAA;AAAA,YACA,WAAW,GAAGD,4BAAO,UAAU;AAAA,YAC/B,eAAa,SAAS;AAAA,YAErB,UAAAK,QAAA,cAAc,SAAS,QAAQ,aAAa;AAAA,UAAA;AAAA,QAAA,EAGhD,CAAA;AAAA,MAAA;AAAA,IAAA;AAAA,EACD;AAEF;;"}
1
+ {"version":3,"file":"harmony130.cjs","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":["SidebarTaskLanguageStatuses","SidebarTaskTypeOptions","SidebarTaskStatuses"],"mappings":";;;AAWa,MAAA,gBAAgB,CAAC,QAAmC,kBAA0B;AAC1F,UAAQ,QAAQ;AAAA,IACf,KAAKA,MAA4B,4BAAA;AACzB,aAAA,gBAAgB,MAAM,WAAW;AAAA,IACzC,KAAKA,MAA4B,4BAAA;AAGzB,aAAA,gBAAgB,IAAI,gBAAgB;AAAA,IAC5C,KAAKA,MAA4B,4BAAA;AACzB,aAAA;AAAA,IACR,KAAKA,MAA4B,4BAAA;AACzB,aAAA;AAAA,IACR,KAAKA,MAA4B,4BAAA;AACzB,aAAA;AAAA,IACR;AACQ,aAAA;AAAA,EAAA;AAEV;AAEa,MAAA,gBAAgB,CAAC,aAA6D;AACpF,QAAA,WAAW,SAAS,YAAY;AAEtC,MAAI,SAAS,WAAWA,MAAAA,4BAA4B,WAAW,WAAW,GAAG;AAG5E,WAAOA,MAA4B,4BAAA;AAAA,EAAA;AAGpC,SAAO,SAAS;AACjB;AAKO,MAAM,WAAkD;AAAA,EAC9D,CAACC,MAAAA,uBAAuB,WAAW,GAAG;AAAA,EACtC,CAACA,MAAAA,uBAAuB,MAAM,GAAG;AAAA,EACjC,CAACA,MAAAA,uBAAuB,SAAS,GAAG;AAAA,EACpC,CAACA,MAAAA,uBAAuB,qBAAqB,GAAG;AACjD;AAEa,MAAA,mBAAmB,CAAC,UAAiC;AACjE,QAAM,kBAA+C;AAAA,IACpDD,MAAAA,4BAA4B;AAAA,IAC5BA,MAAAA,4BAA4B;AAAA,IAC5BA,kCAA4B;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,WAAWA,MAAA,4BAA4B,cAAc,EAAE,aAAa,KAAK;AACvE,aAAA;AAAA,IAAA;AAGR,QAAI,EAAE,WAAWA,MAAA,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,CAACE,MAAoB,oBAAA,YAAYA,MAAAA,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,60 +1,63 @@
1
- import { jsxs, jsx } from "react/jsx-runtime";
2
- import { Tooltip, Link } from "@lokalise/louis";
3
- import { isLanguageProgressCompleted, getStatusText } from "./harmony131.mjs";
4
- import { SidebarTaskLanguageStatuses } from "./harmony2.mjs";
5
- import { clsx } from "./harmony67.mjs";
6
- import { TaskLanguageCompleted } from "./harmony137.mjs";
7
- import { useTasks } from "./harmony109.mjs";
8
- import styles from "./harmony138.mjs";
9
- const TaskLanguage = ({ language, task }) => {
10
- const { getProjectUrl, langNameOnClick, langProgressOnClick } = useTasks();
11
- const progressValue = language.progress ?? 0;
12
- const isLanguageCompleted = language.status === SidebarTaskLanguageStatuses.Completed;
13
- const languageProgressCompleted = isLanguageProgressCompleted(task, language);
14
- return /* @__PURE__ */ jsxs(
15
- "tr",
16
- {
17
- className: clsx({
18
- [styles.langRowCompleted]: languageProgressCompleted
19
- }),
20
- children: [
21
- /* @__PURE__ */ jsx("td", { children: /* @__PURE__ */ jsx(Tooltip, { tooltip: "Open in bilingual view", children: /* @__PURE__ */ jsx(
22
- Link,
23
- {
24
- href: getProjectUrl({ task, language }),
25
- onClick: () => {
26
- langNameOnClick == null ? void 0 : langNameOnClick({ task, language });
27
- },
28
- children: language.name
29
- }
30
- ) }) }),
31
- /* @__PURE__ */ jsx("td", { className: styles.langCellSecondary, children: languageProgressCompleted || isLanguageCompleted ? "0" : /* @__PURE__ */ jsx(Tooltip, { tooltip: "Open uncompleted items", children: /* @__PURE__ */ jsx(
32
- Link,
33
- {
34
- href: getProjectUrl({ task, language, taskUncompleted: true }),
35
- onClick: () => {
36
- langProgressOnClick == null ? void 0 : langProgressOnClick({ task, language });
37
- },
38
- children: language.base_words_total - language.base_words_done
39
- }
40
- ) }) }),
41
- /* @__PURE__ */ jsxs("td", { children: [
42
- progressValue,
43
- "%"
44
- ] }),
45
- /* @__PURE__ */ jsx("td", { children: languageProgressCompleted ? /* @__PURE__ */ jsx(TaskLanguageCompleted, { task, language }) : /* @__PURE__ */ jsx(
46
- "span",
47
- {
48
- className: `${styles.langStatus} flex-row items-center justify-start`,
49
- "data-status": language.status,
50
- children: getStatusText(language.status, progressValue)
51
- }
52
- ) })
53
- ]
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
+ }
17
+ };
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;
54
43
  }
55
- );
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;
56
55
  };
57
56
  export {
58
- TaskLanguage
57
+ getStatusText,
58
+ getTaskLanguages,
59
+ isLanguageProgressCompleted,
60
+ resolveStatus,
61
+ tagColor
59
62
  };
60
63
  //# sourceMappingURL=harmony130.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"harmony130.mjs","sources":["../src/components/Sidebar/Widgets/Tasks/TaskLanguage/TaskLanguage.tsx"],"sourcesContent":["import { Link, Tooltip } from '@lokalise/louis'\nimport { getStatusText, isLanguageProgressCompleted } from '../utils/content'\n\nimport { type SidebarTask, type SidebarTaskLanguage, SidebarTaskLanguageStatuses } from '../types'\n\nimport clsx from 'clsx'\nimport { TaskLanguageCompleted } from '../TaskLanguageCompleted/TaskLanguageCompleted'\nimport { useTasks } from '../TasksContext'\nimport styles from './TaskLanguage.module.css'\n\nexport type TaskLanguageProps = {\n\ttask: SidebarTask\n\tlanguage: SidebarTaskLanguage\n}\n\nexport const TaskLanguage = ({ language, task }: TaskLanguageProps) => {\n\tconst { getProjectUrl, langNameOnClick, langProgressOnClick } = useTasks()\n\n\tconst progressValue = language.progress ?? 0\n\n\tconst isLanguageCompleted = language.status === SidebarTaskLanguageStatuses.Completed\n\n\tconst languageProgressCompleted = isLanguageProgressCompleted(task, language)\n\n\treturn (\n\t\t<tr\n\t\t\tclassName={clsx({\n\t\t\t\t[styles.langRowCompleted]: languageProgressCompleted,\n\t\t\t})}\n\t\t>\n\t\t\t<td>\n\t\t\t\t<Tooltip tooltip=\"Open in bilingual view\">\n\t\t\t\t\t<Link\n\t\t\t\t\t\thref={getProjectUrl({ task, language })}\n\t\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\t\tlangNameOnClick?.({ task, language })\n\t\t\t\t\t\t}}\n\t\t\t\t\t>\n\t\t\t\t\t\t{language.name}\n\t\t\t\t\t</Link>\n\t\t\t\t</Tooltip>\n\t\t\t</td>\n\t\t\t<td className={styles.langCellSecondary}>\n\t\t\t\t{languageProgressCompleted || isLanguageCompleted ? (\n\t\t\t\t\t'0'\n\t\t\t\t) : (\n\t\t\t\t\t<Tooltip tooltip=\"Open uncompleted items\">\n\t\t\t\t\t\t<Link\n\t\t\t\t\t\t\thref={getProjectUrl({ task, language, taskUncompleted: true })}\n\t\t\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\t\t\tlangProgressOnClick?.({ task, language })\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{language.base_words_total - language.base_words_done}\n\t\t\t\t\t\t</Link>\n\t\t\t\t\t</Tooltip>\n\t\t\t\t)}\n\t\t\t</td>\n\t\t\t<td>{progressValue}%</td>\n\t\t\t<td>\n\t\t\t\t{languageProgressCompleted ? (\n\t\t\t\t\t<TaskLanguageCompleted task={task} language={language} />\n\t\t\t\t) : (\n\t\t\t\t\t<span\n\t\t\t\t\t\tclassName={`${styles.langStatus} flex-row items-center justify-start`}\n\t\t\t\t\t\tdata-status={language.status}\n\t\t\t\t\t>\n\t\t\t\t\t\t{getStatusText(language.status, progressValue)}\n\t\t\t\t\t</span>\n\t\t\t\t)}\n\t\t\t</td>\n\t\t</tr>\n\t)\n}\n"],"names":[],"mappings":";;;;;;;;AAeO,MAAM,eAAe,CAAC,EAAE,UAAU,WAA8B;AACtE,QAAM,EAAE,eAAe,iBAAiB,oBAAA,IAAwB,SAAS;AAEnE,QAAA,gBAAgB,SAAS,YAAY;AAErC,QAAA,sBAAsB,SAAS,WAAW,4BAA4B;AAEtE,QAAA,4BAA4B,4BAA4B,MAAM,QAAQ;AAG3E,SAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACA,WAAW,KAAK;AAAA,QACf,CAAC,OAAO,gBAAgB,GAAG;AAAA,MAAA,CAC3B;AAAA,MAED,UAAA;AAAA,QAAA,oBAAC,MACA,EAAA,UAAA,oBAAC,SAAQ,EAAA,SAAQ,0BAChB,UAAA;AAAA,UAAC;AAAA,UAAA;AAAA,YACA,MAAM,cAAc,EAAE,MAAM,UAAU;AAAA,YACtC,SAAS,MAAM;AACI,iEAAA,EAAE,MAAM;YAC3B;AAAA,YAEC,UAAS,SAAA;AAAA,UAAA;AAAA,WAEZ,EACD,CAAA;AAAA,QACA,oBAAC,MAAG,EAAA,WAAW,OAAO,mBACpB,UAA6B,6BAAA,sBAC7B,MAEA,oBAAC,SAAQ,EAAA,SAAQ,0BAChB,UAAA;AAAA,UAAC;AAAA,UAAA;AAAA,YACA,MAAM,cAAc,EAAE,MAAM,UAAU,iBAAiB,MAAM;AAAA,YAC7D,SAAS,MAAM;AACQ,yEAAA,EAAE,MAAM;YAC/B;AAAA,YAEC,UAAA,SAAS,mBAAmB,SAAS;AAAA,UAAA;AAAA,WAExC,EAEF,CAAA;AAAA,6BACC,MAAI,EAAA,UAAA;AAAA,UAAA;AAAA,UAAc;AAAA,QAAA,GAAC;AAAA,4BACnB,MACC,EAAA,UAAA,gDACC,uBAAsB,EAAA,MAAY,SAAoB,CAAA,IAEvD;AAAA,UAAC;AAAA,UAAA;AAAA,YACA,WAAW,GAAG,OAAO,UAAU;AAAA,YAC/B,eAAa,SAAS;AAAA,YAErB,UAAA,cAAc,SAAS,QAAQ,aAAa;AAAA,UAAA;AAAA,QAAA,EAGhD,CAAA;AAAA,MAAA;AAAA,IAAA;AAAA,EACD;AAEF;"}
1
+ {"version":3,"file":"harmony130.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;"}