@lokalise/harmony 1.27.3 → 1.28.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 (425) hide show
  1. package/dist/harmony.cjs +29 -25
  2. package/dist/harmony.cjs.map +1 -1
  3. package/dist/harmony.mjs +30 -26
  4. package/dist/harmony.mjs.map +1 -1
  5. package/dist/harmony100.cjs +59 -4
  6. package/dist/harmony100.cjs.map +1 -1
  7. package/dist/harmony100.mjs +60 -5
  8. package/dist/harmony100.mjs.map +1 -1
  9. package/dist/harmony101.cjs +6 -39
  10. package/dist/harmony101.cjs.map +1 -1
  11. package/dist/harmony101.mjs +6 -39
  12. package/dist/harmony101.mjs.map +1 -1
  13. package/dist/harmony102.cjs +18 -60
  14. package/dist/harmony102.cjs.map +1 -1
  15. package/dist/harmony102.mjs +18 -60
  16. package/dist/harmony102.mjs.map +1 -1
  17. package/dist/harmony103.cjs +13 -6
  18. package/dist/harmony103.cjs.map +1 -1
  19. package/dist/harmony103.mjs +13 -6
  20. package/dist/harmony103.mjs.map +1 -1
  21. package/dist/harmony104.cjs +17 -6
  22. package/dist/harmony104.cjs.map +1 -1
  23. package/dist/harmony104.mjs +16 -5
  24. package/dist/harmony104.mjs.map +1 -1
  25. package/dist/harmony105.cjs +6 -5
  26. package/dist/harmony105.cjs.map +1 -1
  27. package/dist/harmony105.mjs +6 -5
  28. package/dist/harmony106.cjs +5 -6
  29. package/dist/harmony106.cjs.map +1 -1
  30. package/dist/harmony106.mjs +5 -6
  31. package/dist/harmony107.cjs +6 -97
  32. package/dist/harmony107.cjs.map +1 -1
  33. package/dist/harmony107.mjs +5 -96
  34. package/dist/harmony107.mjs.map +1 -1
  35. package/dist/harmony108.cjs +62 -13
  36. package/dist/harmony108.cjs.map +1 -1
  37. package/dist/harmony108.mjs +61 -12
  38. package/dist/harmony108.mjs.map +1 -1
  39. package/dist/harmony109.cjs +87 -13
  40. package/dist/harmony109.cjs.map +1 -1
  41. package/dist/harmony109.mjs +87 -13
  42. package/dist/harmony109.mjs.map +1 -1
  43. package/dist/harmony110.cjs +19 -37
  44. package/dist/harmony110.cjs.map +1 -1
  45. package/dist/harmony110.mjs +18 -36
  46. package/dist/harmony110.mjs.map +1 -1
  47. package/dist/harmony111.cjs +87 -19
  48. package/dist/harmony111.cjs.map +1 -1
  49. package/dist/harmony111.mjs +87 -19
  50. package/dist/harmony111.mjs.map +1 -1
  51. package/dist/harmony112.cjs +13 -62
  52. package/dist/harmony112.cjs.map +1 -1
  53. package/dist/harmony112.mjs +12 -61
  54. package/dist/harmony112.mjs.map +1 -1
  55. package/dist/harmony113.cjs +13 -87
  56. package/dist/harmony113.cjs.map +1 -1
  57. package/dist/harmony113.mjs +13 -87
  58. package/dist/harmony113.mjs.map +1 -1
  59. package/dist/harmony114.cjs +37 -19
  60. package/dist/harmony114.cjs.map +1 -1
  61. package/dist/harmony114.mjs +36 -18
  62. package/dist/harmony114.mjs.map +1 -1
  63. package/dist/harmony115.cjs +27 -12
  64. package/dist/harmony115.cjs.map +1 -1
  65. package/dist/harmony115.mjs +27 -12
  66. package/dist/harmony115.mjs.map +1 -1
  67. package/dist/harmony116.cjs +7 -15
  68. package/dist/harmony116.cjs.map +1 -1
  69. package/dist/harmony116.mjs +7 -15
  70. package/dist/harmony116.mjs.map +1 -1
  71. package/dist/harmony117.cjs +57 -16
  72. package/dist/harmony117.cjs.map +1 -1
  73. package/dist/harmony117.mjs +57 -16
  74. package/dist/harmony117.mjs.map +1 -1
  75. package/dist/harmony118.cjs +60 -11
  76. package/dist/harmony118.cjs.map +1 -1
  77. package/dist/harmony118.mjs +60 -11
  78. package/dist/harmony118.mjs.map +1 -1
  79. package/dist/harmony119.cjs +19 -17
  80. package/dist/harmony119.cjs.map +1 -1
  81. package/dist/harmony119.mjs +18 -16
  82. package/dist/harmony119.mjs.map +1 -1
  83. package/dist/harmony120.cjs +12 -20
  84. package/dist/harmony120.cjs.map +1 -1
  85. package/dist/harmony120.mjs +12 -20
  86. package/dist/harmony120.mjs.map +1 -1
  87. package/dist/harmony121.cjs +13 -10
  88. package/dist/harmony121.cjs.map +1 -1
  89. package/dist/harmony121.mjs +13 -10
  90. package/dist/harmony121.mjs.map +1 -1
  91. package/dist/harmony122.cjs +15 -5
  92. package/dist/harmony122.cjs.map +1 -1
  93. package/dist/harmony122.mjs +15 -5
  94. package/dist/harmony122.mjs.map +1 -1
  95. package/dist/harmony123.cjs +11 -7
  96. package/dist/harmony123.cjs.map +1 -1
  97. package/dist/harmony123.mjs +11 -7
  98. package/dist/harmony123.mjs.map +1 -1
  99. package/dist/harmony124.cjs +15 -56
  100. package/dist/harmony124.cjs.map +1 -1
  101. package/dist/harmony124.mjs +15 -56
  102. package/dist/harmony124.mjs.map +1 -1
  103. package/dist/harmony125.cjs +20 -59
  104. package/dist/harmony125.cjs.map +1 -1
  105. package/dist/harmony125.mjs +20 -59
  106. package/dist/harmony125.mjs.map +1 -1
  107. package/dist/harmony126.cjs +13 -19
  108. package/dist/harmony126.cjs.map +1 -1
  109. package/dist/harmony126.mjs +12 -18
  110. package/dist/harmony126.mjs.map +1 -1
  111. package/dist/harmony127.cjs +46 -12
  112. package/dist/harmony127.cjs.map +1 -1
  113. package/dist/harmony127.mjs +46 -12
  114. package/dist/harmony127.mjs.map +1 -1
  115. package/dist/harmony128.cjs +13 -33
  116. package/dist/harmony128.cjs.map +1 -1
  117. package/dist/harmony128.mjs +12 -32
  118. package/dist/harmony128.mjs.map +1 -1
  119. package/dist/harmony129.cjs +5 -13
  120. package/dist/harmony129.cjs.map +1 -1
  121. package/dist/harmony129.mjs +5 -13
  122. package/dist/harmony129.mjs.map +1 -1
  123. package/dist/harmony130.cjs +12 -46
  124. package/dist/harmony130.cjs.map +1 -1
  125. package/dist/harmony130.mjs +12 -46
  126. package/dist/harmony130.mjs.map +1 -1
  127. package/dist/harmony131.cjs +33 -13
  128. package/dist/harmony131.cjs.map +1 -1
  129. package/dist/harmony131.mjs +32 -12
  130. package/dist/harmony131.mjs.map +1 -1
  131. package/dist/harmony132.cjs +17 -0
  132. package/dist/harmony132.cjs.map +1 -0
  133. package/dist/harmony132.mjs +17 -0
  134. package/dist/harmony132.mjs.map +1 -0
  135. package/dist/harmony15.cjs +1 -1
  136. package/dist/harmony15.mjs +1 -1
  137. package/dist/harmony22.cjs +2 -2
  138. package/dist/harmony22.mjs +2 -2
  139. package/dist/harmony23.cjs +1 -1
  140. package/dist/harmony23.mjs +1 -1
  141. package/dist/harmony24.cjs +1 -1
  142. package/dist/harmony24.mjs +1 -1
  143. package/dist/harmony25.cjs +1 -1
  144. package/dist/harmony25.mjs +1 -1
  145. package/dist/harmony26.cjs +2 -2
  146. package/dist/harmony26.mjs +2 -2
  147. package/dist/harmony27.cjs +2 -2
  148. package/dist/harmony27.mjs +2 -2
  149. package/dist/harmony28.cjs +2 -2
  150. package/dist/harmony28.mjs +2 -2
  151. package/dist/harmony29.cjs +11 -1
  152. package/dist/harmony29.cjs.map +1 -1
  153. package/dist/harmony29.mjs +12 -2
  154. package/dist/harmony29.mjs.map +1 -1
  155. package/dist/harmony3.cjs +3 -3
  156. package/dist/harmony3.mjs +3 -3
  157. package/dist/harmony30.cjs +3 -3
  158. package/dist/harmony30.mjs +3 -3
  159. package/dist/harmony31.cjs +1 -1
  160. package/dist/harmony31.mjs +1 -1
  161. package/dist/harmony32.cjs +1 -1
  162. package/dist/harmony32.mjs +1 -1
  163. package/dist/harmony33.cjs +1 -1
  164. package/dist/harmony33.mjs +1 -1
  165. package/dist/harmony37.cjs +7 -11
  166. package/dist/harmony37.cjs.map +1 -1
  167. package/dist/harmony37.mjs +9 -13
  168. package/dist/harmony37.mjs.map +1 -1
  169. package/dist/harmony38.cjs +8 -8
  170. package/dist/harmony38.cjs.map +1 -1
  171. package/dist/harmony38.mjs +8 -8
  172. package/dist/harmony38.mjs.map +1 -1
  173. package/dist/harmony39.cjs +14 -12
  174. package/dist/harmony39.cjs.map +1 -1
  175. package/dist/harmony39.mjs +14 -12
  176. package/dist/harmony39.mjs.map +1 -1
  177. package/dist/harmony4.cjs +10 -10
  178. package/dist/harmony4.mjs +10 -10
  179. package/dist/harmony40.cjs +8 -8
  180. package/dist/harmony40.cjs.map +1 -1
  181. package/dist/harmony40.mjs +9 -9
  182. package/dist/harmony40.mjs.map +1 -1
  183. package/dist/harmony41.cjs +9 -9
  184. package/dist/harmony41.cjs.map +1 -1
  185. package/dist/harmony41.mjs +10 -10
  186. package/dist/harmony41.mjs.map +1 -1
  187. package/dist/harmony42.cjs +12 -14
  188. package/dist/harmony42.cjs.map +1 -1
  189. package/dist/harmony42.mjs +12 -14
  190. package/dist/harmony42.mjs.map +1 -1
  191. package/dist/harmony43.cjs +10 -10
  192. package/dist/harmony43.cjs.map +1 -1
  193. package/dist/harmony43.mjs +10 -10
  194. package/dist/harmony43.mjs.map +1 -1
  195. package/dist/harmony44.cjs +8 -8
  196. package/dist/harmony44.cjs.map +1 -1
  197. package/dist/harmony44.mjs +8 -8
  198. package/dist/harmony44.mjs.map +1 -1
  199. package/dist/harmony45.cjs +7 -7
  200. package/dist/harmony45.cjs.map +1 -1
  201. package/dist/harmony45.mjs +7 -7
  202. package/dist/harmony45.mjs.map +1 -1
  203. package/dist/harmony46.cjs +14 -12
  204. package/dist/harmony46.cjs.map +1 -1
  205. package/dist/harmony46.mjs +14 -12
  206. package/dist/harmony46.mjs.map +1 -1
  207. package/dist/harmony47.cjs +12 -14
  208. package/dist/harmony47.cjs.map +1 -1
  209. package/dist/harmony47.mjs +12 -14
  210. package/dist/harmony47.mjs.map +1 -1
  211. package/dist/harmony48.cjs +8 -8
  212. package/dist/harmony48.cjs.map +1 -1
  213. package/dist/harmony48.mjs +8 -8
  214. package/dist/harmony48.mjs.map +1 -1
  215. package/dist/harmony49.cjs +10 -7
  216. package/dist/harmony49.cjs.map +1 -1
  217. package/dist/harmony49.mjs +12 -9
  218. package/dist/harmony49.mjs.map +1 -1
  219. package/dist/harmony5.cjs +1 -1
  220. package/dist/harmony5.mjs +1 -1
  221. package/dist/harmony50.cjs +14 -56
  222. package/dist/harmony50.cjs.map +1 -1
  223. package/dist/harmony50.mjs +14 -56
  224. package/dist/harmony50.mjs.map +1 -1
  225. package/dist/harmony51.cjs +48 -72
  226. package/dist/harmony51.cjs.map +1 -1
  227. package/dist/harmony51.mjs +47 -71
  228. package/dist/harmony51.mjs.map +1 -1
  229. package/dist/harmony52.cjs +78 -4
  230. package/dist/harmony52.cjs.map +1 -1
  231. package/dist/harmony52.mjs +78 -4
  232. package/dist/harmony52.mjs.map +1 -1
  233. package/dist/harmony53.cjs +4 -21
  234. package/dist/harmony53.cjs.map +1 -1
  235. package/dist/harmony53.mjs +4 -21
  236. package/dist/harmony53.mjs.map +1 -1
  237. package/dist/harmony54.cjs +20 -34
  238. package/dist/harmony54.cjs.map +1 -1
  239. package/dist/harmony54.mjs +20 -34
  240. package/dist/harmony54.mjs.map +1 -1
  241. package/dist/harmony55.cjs +35 -115
  242. package/dist/harmony55.cjs.map +1 -1
  243. package/dist/harmony55.mjs +34 -114
  244. package/dist/harmony55.mjs.map +1 -1
  245. package/dist/harmony56.cjs +121 -20
  246. package/dist/harmony56.cjs.map +1 -1
  247. package/dist/harmony56.mjs +120 -19
  248. package/dist/harmony56.mjs.map +1 -1
  249. package/dist/harmony57.cjs +20 -25
  250. package/dist/harmony57.cjs.map +1 -1
  251. package/dist/harmony57.mjs +20 -25
  252. package/dist/harmony57.mjs.map +1 -1
  253. package/dist/harmony58.cjs +24 -6
  254. package/dist/harmony58.cjs.map +1 -1
  255. package/dist/harmony58.mjs +24 -6
  256. package/dist/harmony58.mjs.map +1 -1
  257. package/dist/harmony59.cjs +6 -48
  258. package/dist/harmony59.cjs.map +1 -1
  259. package/dist/harmony59.mjs +6 -48
  260. package/dist/harmony59.mjs.map +1 -1
  261. package/dist/harmony6.cjs +4 -4
  262. package/dist/harmony6.mjs +4 -4
  263. package/dist/harmony60.cjs +46 -20
  264. package/dist/harmony60.cjs.map +1 -1
  265. package/dist/harmony60.mjs +46 -20
  266. package/dist/harmony60.mjs.map +1 -1
  267. package/dist/harmony61.cjs +22 -16
  268. package/dist/harmony61.cjs.map +1 -1
  269. package/dist/harmony61.mjs +22 -16
  270. package/dist/harmony61.mjs.map +1 -1
  271. package/dist/harmony62.cjs +19 -16
  272. package/dist/harmony62.cjs.map +1 -1
  273. package/dist/harmony62.mjs +18 -15
  274. package/dist/harmony62.mjs.map +1 -1
  275. package/dist/harmony63.cjs +15 -18
  276. package/dist/harmony63.cjs.map +1 -1
  277. package/dist/harmony63.mjs +15 -18
  278. package/dist/harmony63.mjs.map +1 -1
  279. package/dist/harmony64.cjs +18 -61
  280. package/dist/harmony64.cjs.map +1 -1
  281. package/dist/harmony64.mjs +18 -61
  282. package/dist/harmony64.mjs.map +1 -1
  283. package/dist/harmony65.cjs +61 -6
  284. package/dist/harmony65.cjs.map +1 -1
  285. package/dist/harmony65.mjs +61 -6
  286. package/dist/harmony65.mjs.map +1 -1
  287. package/dist/harmony66.cjs +7 -10
  288. package/dist/harmony66.cjs.map +1 -1
  289. package/dist/harmony66.mjs +6 -9
  290. package/dist/harmony66.mjs.map +1 -1
  291. package/dist/harmony67.cjs +8 -17
  292. package/dist/harmony67.cjs.map +1 -1
  293. package/dist/harmony67.mjs +8 -17
  294. package/dist/harmony67.mjs.map +1 -1
  295. package/dist/harmony68.cjs +13 -18
  296. package/dist/harmony68.cjs.map +1 -1
  297. package/dist/harmony68.mjs +14 -19
  298. package/dist/harmony68.mjs.map +1 -1
  299. package/dist/harmony69.cjs +22 -4
  300. package/dist/harmony69.cjs.map +1 -1
  301. package/dist/harmony69.mjs +22 -4
  302. package/dist/harmony69.mjs.map +1 -1
  303. package/dist/harmony70.cjs +4 -31
  304. package/dist/harmony70.cjs.map +1 -1
  305. package/dist/harmony70.mjs +5 -32
  306. package/dist/harmony70.mjs.map +1 -1
  307. package/dist/harmony71.cjs +26 -26
  308. package/dist/harmony71.cjs.map +1 -1
  309. package/dist/harmony71.mjs +28 -28
  310. package/dist/harmony71.mjs.map +1 -1
  311. package/dist/harmony72.cjs +25 -12
  312. package/dist/harmony72.cjs.map +1 -1
  313. package/dist/harmony72.mjs +26 -13
  314. package/dist/harmony72.mjs.map +1 -1
  315. package/dist/harmony73.cjs +12 -24
  316. package/dist/harmony73.cjs.map +1 -1
  317. package/dist/harmony73.mjs +13 -25
  318. package/dist/harmony73.mjs.map +1 -1
  319. package/dist/harmony74.cjs +27 -55
  320. package/dist/harmony74.cjs.map +1 -1
  321. package/dist/harmony74.mjs +29 -57
  322. package/dist/harmony74.mjs.map +1 -1
  323. package/dist/harmony75.cjs +60 -10
  324. package/dist/harmony75.cjs.map +1 -1
  325. package/dist/harmony75.mjs +59 -9
  326. package/dist/harmony75.mjs.map +1 -1
  327. package/dist/harmony76.cjs +10 -9
  328. package/dist/harmony76.cjs.map +1 -1
  329. package/dist/harmony76.mjs +9 -8
  330. package/dist/harmony76.mjs.map +1 -1
  331. package/dist/harmony77.cjs +5 -26
  332. package/dist/harmony77.cjs.map +1 -1
  333. package/dist/harmony77.mjs +8 -29
  334. package/dist/harmony77.mjs.map +1 -1
  335. package/dist/harmony78.cjs +29 -3
  336. package/dist/harmony78.cjs.map +1 -1
  337. package/dist/harmony78.mjs +29 -3
  338. package/dist/harmony78.mjs.map +1 -1
  339. package/dist/harmony79.cjs +3 -11
  340. package/dist/harmony79.cjs.map +1 -1
  341. package/dist/harmony79.mjs +3 -11
  342. package/dist/harmony79.mjs.map +1 -1
  343. package/dist/harmony80.cjs +5 -20
  344. package/dist/harmony80.cjs.map +1 -1
  345. package/dist/harmony80.mjs +5 -20
  346. package/dist/harmony80.mjs.map +1 -1
  347. package/dist/harmony81.cjs +6 -3
  348. package/dist/harmony81.cjs.map +1 -1
  349. package/dist/harmony81.mjs +6 -3
  350. package/dist/harmony81.mjs.map +1 -1
  351. package/dist/harmony82.cjs +6 -6
  352. package/dist/harmony82.mjs +6 -6
  353. package/dist/harmony83.cjs +57 -9
  354. package/dist/harmony83.cjs.map +1 -1
  355. package/dist/harmony83.mjs +56 -8
  356. package/dist/harmony83.mjs.map +1 -1
  357. package/dist/harmony84.cjs +26 -51
  358. package/dist/harmony84.cjs.map +1 -1
  359. package/dist/harmony84.mjs +27 -52
  360. package/dist/harmony84.mjs.map +1 -1
  361. package/dist/harmony85.cjs +5 -32
  362. package/dist/harmony85.cjs.map +1 -1
  363. package/dist/harmony85.mjs +5 -32
  364. package/dist/harmony85.mjs.map +1 -1
  365. package/dist/harmony86.cjs +10 -6
  366. package/dist/harmony86.cjs.map +1 -1
  367. package/dist/harmony86.mjs +9 -5
  368. package/dist/harmony86.mjs.map +1 -1
  369. package/dist/harmony87.cjs +21 -6
  370. package/dist/harmony87.cjs.map +1 -1
  371. package/dist/harmony87.mjs +21 -6
  372. package/dist/harmony87.mjs.map +1 -1
  373. package/dist/harmony88.cjs +3 -21
  374. package/dist/harmony88.cjs.map +1 -1
  375. package/dist/harmony88.mjs +3 -21
  376. package/dist/harmony88.mjs.map +1 -1
  377. package/dist/harmony89.cjs +21 -6
  378. package/dist/harmony89.cjs.map +1 -1
  379. package/dist/harmony89.mjs +20 -5
  380. package/dist/harmony89.mjs.map +1 -1
  381. package/dist/harmony90.cjs +12 -21
  382. package/dist/harmony90.cjs.map +1 -1
  383. package/dist/harmony90.mjs +11 -20
  384. package/dist/harmony90.mjs.map +1 -1
  385. package/dist/harmony91.cjs +12 -13
  386. package/dist/harmony91.cjs.map +1 -1
  387. package/dist/harmony91.mjs +11 -12
  388. package/dist/harmony91.mjs.map +1 -1
  389. package/dist/harmony92.cjs +21 -99
  390. package/dist/harmony92.cjs.map +1 -1
  391. package/dist/harmony92.mjs +20 -81
  392. package/dist/harmony92.mjs.map +1 -1
  393. package/dist/harmony93.cjs +99 -18
  394. package/dist/harmony93.cjs.map +1 -1
  395. package/dist/harmony93.mjs +82 -18
  396. package/dist/harmony93.mjs.map +1 -1
  397. package/dist/harmony94.cjs +21 -14
  398. package/dist/harmony94.cjs.map +1 -1
  399. package/dist/harmony94.mjs +20 -13
  400. package/dist/harmony94.mjs.map +1 -1
  401. package/dist/harmony95.cjs +5 -16
  402. package/dist/harmony95.cjs.map +1 -1
  403. package/dist/harmony95.mjs +5 -16
  404. package/dist/harmony95.mjs.map +1 -1
  405. package/dist/harmony96.cjs +132 -21
  406. package/dist/harmony96.cjs.map +1 -1
  407. package/dist/harmony96.mjs +131 -20
  408. package/dist/harmony96.mjs.map +1 -1
  409. package/dist/harmony97.cjs +12 -5
  410. package/dist/harmony97.cjs.map +1 -1
  411. package/dist/harmony97.mjs +11 -4
  412. package/dist/harmony97.mjs.map +1 -1
  413. package/dist/harmony98.cjs +5 -132
  414. package/dist/harmony98.cjs.map +1 -1
  415. package/dist/harmony98.mjs +5 -132
  416. package/dist/harmony98.mjs.map +1 -1
  417. package/dist/harmony99.cjs +40 -12
  418. package/dist/harmony99.cjs.map +1 -1
  419. package/dist/harmony99.mjs +39 -11
  420. package/dist/harmony99.mjs.map +1 -1
  421. package/dist/types/src/features/publicApi/hooks/useDeleteProjectMutation.d.ts +16 -0
  422. package/dist/types/src/features/publicApi/node.d.ts +1 -0
  423. package/dist/types/src/features/publicApi/projects.d.ts +72 -0
  424. package/dist/types/src/features/publicApi/types/projectTypes.d.ts +11 -0
  425. package/package.json +1 -1
package/dist/harmony.cjs CHANGED
@@ -35,31 +35,32 @@ const userToken = require("./harmony33.cjs");
35
35
  const useAddLanguagesToProjectMutation = require("./harmony34.cjs");
36
36
  const useBulkUpdateProjectLanguagesMutation = require("./harmony35.cjs");
37
37
  const useCreateProjectMutation = require("./harmony36.cjs");
38
- const useGetProjectPermissionMetaQuery = require("./harmony37.cjs");
39
- const useGetScoreQuery = require("./harmony38.cjs");
40
- const useGetTeamUsersQuery = require("./harmony39.cjs");
41
- const useGetUserTokenQuery = require("./harmony40.cjs");
42
- const useListContributorsQuery = require("./harmony41.cjs");
43
- const useListPermissionTemplates = require("./harmony42.cjs");
44
- const useListProjectLanguagesQuery = require("./harmony43.cjs");
45
- const useListProjectsQuery = require("./harmony44.cjs");
46
- const useListTeamsQuery = require("./harmony45.cjs");
47
- const useRetrieveContributorQuery = require("./harmony46.cjs");
48
- const useRetrieveProjectQuery = require("./harmony47.cjs");
49
- const useRetrieveTeamQuery = require("./harmony48.cjs");
50
- const useUpdateProjectMutation = require("./harmony49.cjs");
51
- const contributorTypes = require("./harmony50.cjs");
52
- const languageTypes = require("./harmony51.cjs");
53
- const paginationTypes = require("./harmony52.cjs");
54
- const permissionTemplateTypes = require("./harmony53.cjs");
55
- const permissionTypes = require("./harmony54.cjs");
56
- const projectTypes = require("./harmony55.cjs");
57
- const scoreTypes = require("./harmony56.cjs");
58
- const sharedTypes = require("./harmony57.cjs");
59
- const teamRoleTypes = require("./harmony58.cjs");
60
- const teamTypes = require("./harmony59.cjs");
61
- const teamUserTypes = require("./harmony60.cjs");
62
- const userTokenTypes = require("./harmony61.cjs");
38
+ const useDeleteProjectMutation = require("./harmony37.cjs");
39
+ const useGetProjectPermissionMetaQuery = require("./harmony38.cjs");
40
+ const useGetScoreQuery = require("./harmony39.cjs");
41
+ const useGetTeamUsersQuery = require("./harmony40.cjs");
42
+ const useGetUserTokenQuery = require("./harmony41.cjs");
43
+ const useListContributorsQuery = require("./harmony42.cjs");
44
+ const useListPermissionTemplates = require("./harmony43.cjs");
45
+ const useListProjectLanguagesQuery = require("./harmony44.cjs");
46
+ const useListProjectsQuery = require("./harmony45.cjs");
47
+ const useListTeamsQuery = require("./harmony46.cjs");
48
+ const useRetrieveContributorQuery = require("./harmony47.cjs");
49
+ const useRetrieveProjectQuery = require("./harmony48.cjs");
50
+ const useRetrieveTeamQuery = require("./harmony49.cjs");
51
+ const useUpdateProjectMutation = require("./harmony50.cjs");
52
+ const contributorTypes = require("./harmony51.cjs");
53
+ const languageTypes = require("./harmony52.cjs");
54
+ const paginationTypes = require("./harmony53.cjs");
55
+ const permissionTemplateTypes = require("./harmony54.cjs");
56
+ const permissionTypes = require("./harmony55.cjs");
57
+ const projectTypes = require("./harmony56.cjs");
58
+ const scoreTypes = require("./harmony57.cjs");
59
+ const sharedTypes = require("./harmony58.cjs");
60
+ const teamRoleTypes = require("./harmony59.cjs");
61
+ const teamTypes = require("./harmony60.cjs");
62
+ const teamUserTypes = require("./harmony61.cjs");
63
+ const userTokenTypes = require("./harmony62.cjs");
63
64
  exports.SidebarTaskLanguageStatuses = types.SidebarTaskLanguageStatuses;
64
65
  exports.SidebarTaskStatuses = types.SidebarTaskStatuses;
65
66
  exports.SidebarTaskTypeOptions = types.SidebarTaskTypeOptions;
@@ -109,6 +110,7 @@ exports.bulkUpdateProjectLanguages = languages.bulkUpdateProjectLanguages;
109
110
  exports.listProjectLanguages = languages.listProjectLanguages;
110
111
  exports.listPermissionTemplates = permissionTemplates.listPermissionTemplates;
111
112
  exports.createProject = projects.createProject;
113
+ exports.deleteProject = projects.deleteProject;
112
114
  exports.getProjectPermissionMeta = projects.getProjectPermissionMeta;
113
115
  exports.listProjects = projects.listProjects;
114
116
  exports.retrieveProject = projects.retrieveProject;
@@ -121,6 +123,7 @@ exports.getUserToken = userToken.getUserToken;
121
123
  exports.useAddLanguagesToProjectMutation = useAddLanguagesToProjectMutation.useAddLanguagesToProjectMutation;
122
124
  exports.useBulkUpdateProjectLanguagesMutation = useBulkUpdateProjectLanguagesMutation.useBulkUpdateProjectLanguagesMutation;
123
125
  exports.useCreateProjectMutation = useCreateProjectMutation.useCreateProjectMutation;
126
+ exports.useDeleteProjectMutation = useDeleteProjectMutation.useDeleteProjectMutation;
124
127
  exports.getProjectPermissionMetaQueryKey = useGetProjectPermissionMetaQuery.getProjectPermissionMetaQueryKey;
125
128
  exports.useGetProjectPermissionMetaQuery = useGetProjectPermissionMetaQuery.useGetProjectPermissionMetaQuery;
126
129
  exports.getScoreKey = useGetScoreQuery.getScoreKey;
@@ -172,6 +175,7 @@ exports.PERMISSION_DETAILS_SCHEMA = permissionTypes.PERMISSION_DETAILS_SCHEMA;
172
175
  exports.PERMISSION_ID_SCHEMA = permissionTypes.PERMISSION_ID_SCHEMA;
173
176
  exports.PERMISSION_SCOPE_SCHEMA = permissionTypes.PERMISSION_SCOPE_SCHEMA;
174
177
  exports.CREATE_PROJECT_REQUEST_BODY_SCHEMA = projectTypes.CREATE_PROJECT_REQUEST_BODY_SCHEMA;
178
+ exports.DELETE_PROJECT_RESPONSE_SCHEMA = projectTypes.DELETE_PROJECT_RESPONSE_SCHEMA;
175
179
  exports.GET_PROJECT_PERMISSION_META_RESPONSE_BODY_SCHEMA = projectTypes.GET_PROJECT_PERMISSION_META_RESPONSE_BODY_SCHEMA;
176
180
  exports.LIST_PROJECTS_REQUEST_QUERY_SCHEMA = projectTypes.LIST_PROJECTS_REQUEST_QUERY_SCHEMA;
177
181
  exports.LIST_PROJECTS_SUCCESS_RESPONSE_BODY = projectTypes.LIST_PROJECTS_SUCCESS_RESPONSE_BODY;
@@ -1 +1 @@
1
- {"version":3,"file":"harmony.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"harmony.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
package/dist/harmony.mjs CHANGED
@@ -25,7 +25,7 @@ import { useAuthenticatedProjectContributor } from "./harmony25.mjs";
25
25
  import { listContributors, retrieveContributor } from "./harmony26.mjs";
26
26
  import { addLanguagesToProject, bulkUpdateProjectLanguages, listProjectLanguages } from "./harmony27.mjs";
27
27
  import { listPermissionTemplates } from "./harmony28.mjs";
28
- import { createProject, getProjectPermissionMeta, listProjects, retrieveProject, updateProject } from "./harmony29.mjs";
28
+ import { createProject, deleteProject, getProjectPermissionMeta, listProjects, retrieveProject, updateProject } from "./harmony29.mjs";
29
29
  import { getScore } from "./harmony30.mjs";
30
30
  import { listTeams, retrieveTeam } from "./harmony31.mjs";
31
31
  import { getTeamUser } from "./harmony32.mjs";
@@ -33,31 +33,32 @@ import { getUserToken } from "./harmony33.mjs";
33
33
  import { useAddLanguagesToProjectMutation } from "./harmony34.mjs";
34
34
  import { useBulkUpdateProjectLanguagesMutation } from "./harmony35.mjs";
35
35
  import { useCreateProjectMutation } from "./harmony36.mjs";
36
- import { getProjectPermissionMetaQueryKey, useGetProjectPermissionMetaQuery } from "./harmony37.mjs";
37
- import { getScoreKey, useGetScoreQuery } from "./harmony38.mjs";
38
- import { getTeamUsersQueryKey, useGetTeamUsersQuery } from "./harmony39.mjs";
39
- import { getUserTokenKey, useGetUserTokenQuery } from "./harmony40.mjs";
40
- import { listContributorsKeys, useListContributorsQuery } from "./harmony41.mjs";
41
- import { listPermissionTemplatesKeys, useListPermissionTemplatesQuery } from "./harmony42.mjs";
42
- import { listProjectLanguagesKey, useListProjectLanguagesQuery } from "./harmony43.mjs";
43
- import { listProjectsKey, useListProjectsQuery } from "./harmony44.mjs";
44
- import { listTeamsKey, useListTeamsQuery } from "./harmony45.mjs";
45
- import { retrieveContributorKeys, useRetrieveContributorQuery } from "./harmony46.mjs";
46
- import { retrieveProjectQueryKey, useRetrieveProjectQuery } from "./harmony47.mjs";
47
- import { retrieveTeamQueryKey, useRetrieveTeamQuery } from "./harmony48.mjs";
48
- import { useUpdateProjectMutation } from "./harmony49.mjs";
49
- import { CONTRIBUTOR_API_BASE_HEADER_SCHEMA, CONTRIBUTOR_LANGUAGE_SCHEMA, CONTRIBUTOR_SCHEMA, LIST_CONTRIBUTORS_PATH_PARAMS_SCHEMA, LIST_CONTRIBUTORS_RESPONSE_SCHEMA, RETRIEVE_CONTRIBUTOR_PATH_PARAMS_SCHEMA, RETRIEVE_CONTRIBUTOR_RESPONSE_SCHEMA } from "./harmony50.mjs";
50
- import { ADD_LANGUAGES_TO_PROJECT_PATH_PARAMS_SCHEMA, ADD_LANGUAGES_TO_PROJECT_REQUEST_BODY_SCHEMA, ADD_LANGUAGES_TO_PROJECT_RESPONSE_SCHEMA, BULK_UPDATE_PROJECT_LANGUAGES_PATH_PARAMS_SCHEMA, BULK_UPDATE_PROJECT_LANGUAGES_REQUEST_BODY_SCHEMA, BULK_UPDATE_PROJECT_LANGUAGES_RESPONSE_SCHEMA, LANGUAGE_ISO_SCHEMA, LANGUAGE_SCHEMA, LANGUAGE_STATISTICS_SCHEMA, LIST_PROJECT_LANGUAGES_PATH_PARAMS_SCHEMA, LIST_PROJECT_LANGUAGES_RESPONSE_SCHEMA } from "./harmony51.mjs";
51
- import { PAGINATION_QUERY_PARAMS_SCHEMA } from "./harmony52.mjs";
52
- import { LIST_PERMISSION_TEMPLATES_PATH_PARAMS, LIST_PERMISSION_TEMPLATES_RESPONSE, PERMISSION_TEMPLATE_SCHEMA } from "./harmony53.mjs";
53
- import { PERMISSION_DETAILS_SCHEMA, PERMISSION_ID_SCHEMA, PERMISSION_SCOPE_SCHEMA } from "./harmony54.mjs";
54
- import { CREATE_PROJECT_REQUEST_BODY_SCHEMA, GET_PROJECT_PERMISSION_META_RESPONSE_BODY_SCHEMA, LIST_PROJECTS_REQUEST_QUERY_SCHEMA, LIST_PROJECTS_SUCCESS_RESPONSE_BODY, PROJECT_API_BASE_HEADERS_SCHEMA, PROJECT_ID_OR_UUID_SCHEMA, PROJECT_ID_PATH_PARAM_SCHEMA, PROJECT_ID_SCHEMA, PROJECT_QA_ISSUES_SCHEMA, PROJECT_SCHEMA, PROJECT_SETTINGS_SCHEMA, PROJECT_STATISTICS_SCHEMA, PROJECT_TYPE_SCHEMA, UPDATE_PROJECT_REQUEST_BODY_SCHEMA } from "./harmony55.mjs";
55
- import { GET_SCORE_REQUEST_QUERY_SCHEMA, GET_SCORE_RESPONSE_SCHEMA, ISSUE_SCHEMA, SEVERITY_ENUM } from "./harmony56.mjs";
56
- import { API_PLUGIN_HEADER_SCHEMA, APU_TOKEN_AUTH_HEADER_SCHEMA, AUTHENTICATION_HEADERS_SCHEMA, AUTHORIZATION_HEADER_SCHEMA, BASE_API_ENDPOINT_HEADER_SCHEMA } from "./harmony57.mjs";
57
- import { TEAM_ROLE_SCHEMA } from "./harmony58.mjs";
58
- import { LIST_TEAMS_QUERY_SCHEMA, LIST_TEAMS_RESPONSE_SCHEMA, RETRIEVE_TEAM_PATH_PARAMS_SCHEMA, RETRIEVE_TEAM_RESPONSE_SCHEMA, TEAM_API_BASE_HEADERS_SCHEMA, TEAM_QUOTA_ALLOWED_SCHEMA, TEAM_QUOTA_METRICS, TEAM_QUOTA_METRICS_SCHEMA, TEAM_QUOTA_USAGE_SCHEMA } from "./harmony59.mjs";
59
- import { TEAM_USER_API_BASE_HEADERS_SCHEMA, TEAM_USER_PATH_PARAMS_SCHEMA, TEAM_USER_RESPONSE_SCHEMA, TEAM_USER_SCHEMA } from "./harmony60.mjs";
60
- import { JWT_TOKEN_SCHEMA, USER_TOKEN_REQUEST_HEADER_SCHEMA } from "./harmony61.mjs";
36
+ import { useDeleteProjectMutation } from "./harmony37.mjs";
37
+ import { getProjectPermissionMetaQueryKey, useGetProjectPermissionMetaQuery } from "./harmony38.mjs";
38
+ import { getScoreKey, useGetScoreQuery } from "./harmony39.mjs";
39
+ import { getTeamUsersQueryKey, useGetTeamUsersQuery } from "./harmony40.mjs";
40
+ import { getUserTokenKey, useGetUserTokenQuery } from "./harmony41.mjs";
41
+ import { listContributorsKeys, useListContributorsQuery } from "./harmony42.mjs";
42
+ import { listPermissionTemplatesKeys, useListPermissionTemplatesQuery } from "./harmony43.mjs";
43
+ import { listProjectLanguagesKey, useListProjectLanguagesQuery } from "./harmony44.mjs";
44
+ import { listProjectsKey, useListProjectsQuery } from "./harmony45.mjs";
45
+ import { listTeamsKey, useListTeamsQuery } from "./harmony46.mjs";
46
+ import { retrieveContributorKeys, useRetrieveContributorQuery } from "./harmony47.mjs";
47
+ import { retrieveProjectQueryKey, useRetrieveProjectQuery } from "./harmony48.mjs";
48
+ import { retrieveTeamQueryKey, useRetrieveTeamQuery } from "./harmony49.mjs";
49
+ import { useUpdateProjectMutation } from "./harmony50.mjs";
50
+ import { CONTRIBUTOR_API_BASE_HEADER_SCHEMA, CONTRIBUTOR_LANGUAGE_SCHEMA, CONTRIBUTOR_SCHEMA, LIST_CONTRIBUTORS_PATH_PARAMS_SCHEMA, LIST_CONTRIBUTORS_RESPONSE_SCHEMA, RETRIEVE_CONTRIBUTOR_PATH_PARAMS_SCHEMA, RETRIEVE_CONTRIBUTOR_RESPONSE_SCHEMA } from "./harmony51.mjs";
51
+ import { ADD_LANGUAGES_TO_PROJECT_PATH_PARAMS_SCHEMA, ADD_LANGUAGES_TO_PROJECT_REQUEST_BODY_SCHEMA, ADD_LANGUAGES_TO_PROJECT_RESPONSE_SCHEMA, BULK_UPDATE_PROJECT_LANGUAGES_PATH_PARAMS_SCHEMA, BULK_UPDATE_PROJECT_LANGUAGES_REQUEST_BODY_SCHEMA, BULK_UPDATE_PROJECT_LANGUAGES_RESPONSE_SCHEMA, LANGUAGE_ISO_SCHEMA, LANGUAGE_SCHEMA, LANGUAGE_STATISTICS_SCHEMA, LIST_PROJECT_LANGUAGES_PATH_PARAMS_SCHEMA, LIST_PROJECT_LANGUAGES_RESPONSE_SCHEMA } from "./harmony52.mjs";
52
+ import { PAGINATION_QUERY_PARAMS_SCHEMA } from "./harmony53.mjs";
53
+ import { LIST_PERMISSION_TEMPLATES_PATH_PARAMS, LIST_PERMISSION_TEMPLATES_RESPONSE, PERMISSION_TEMPLATE_SCHEMA } from "./harmony54.mjs";
54
+ import { PERMISSION_DETAILS_SCHEMA, PERMISSION_ID_SCHEMA, PERMISSION_SCOPE_SCHEMA } from "./harmony55.mjs";
55
+ import { CREATE_PROJECT_REQUEST_BODY_SCHEMA, DELETE_PROJECT_RESPONSE_SCHEMA, GET_PROJECT_PERMISSION_META_RESPONSE_BODY_SCHEMA, LIST_PROJECTS_REQUEST_QUERY_SCHEMA, LIST_PROJECTS_SUCCESS_RESPONSE_BODY, PROJECT_API_BASE_HEADERS_SCHEMA, PROJECT_ID_OR_UUID_SCHEMA, PROJECT_ID_PATH_PARAM_SCHEMA, PROJECT_ID_SCHEMA, PROJECT_QA_ISSUES_SCHEMA, PROJECT_SCHEMA, PROJECT_SETTINGS_SCHEMA, PROJECT_STATISTICS_SCHEMA, PROJECT_TYPE_SCHEMA, UPDATE_PROJECT_REQUEST_BODY_SCHEMA } from "./harmony56.mjs";
56
+ import { GET_SCORE_REQUEST_QUERY_SCHEMA, GET_SCORE_RESPONSE_SCHEMA, ISSUE_SCHEMA, SEVERITY_ENUM } from "./harmony57.mjs";
57
+ import { API_PLUGIN_HEADER_SCHEMA, APU_TOKEN_AUTH_HEADER_SCHEMA, AUTHENTICATION_HEADERS_SCHEMA, AUTHORIZATION_HEADER_SCHEMA, BASE_API_ENDPOINT_HEADER_SCHEMA } from "./harmony58.mjs";
58
+ import { TEAM_ROLE_SCHEMA } from "./harmony59.mjs";
59
+ import { LIST_TEAMS_QUERY_SCHEMA, LIST_TEAMS_RESPONSE_SCHEMA, RETRIEVE_TEAM_PATH_PARAMS_SCHEMA, RETRIEVE_TEAM_RESPONSE_SCHEMA, TEAM_API_BASE_HEADERS_SCHEMA, TEAM_QUOTA_ALLOWED_SCHEMA, TEAM_QUOTA_METRICS, TEAM_QUOTA_METRICS_SCHEMA, TEAM_QUOTA_USAGE_SCHEMA } from "./harmony60.mjs";
60
+ import { TEAM_USER_API_BASE_HEADERS_SCHEMA, TEAM_USER_PATH_PARAMS_SCHEMA, TEAM_USER_RESPONSE_SCHEMA, TEAM_USER_SCHEMA } from "./harmony61.mjs";
61
+ import { JWT_TOKEN_SCHEMA, USER_TOKEN_REQUEST_HEADER_SCHEMA } from "./harmony62.mjs";
61
62
  export {
62
63
  ADD_LANGUAGES_TO_PROJECT_PATH_PARAMS_SCHEMA,
63
64
  ADD_LANGUAGES_TO_PROJECT_REQUEST_BODY_SCHEMA,
@@ -75,6 +76,7 @@ export {
75
76
  CONTRIBUTOR_LANGUAGE_SCHEMA,
76
77
  CONTRIBUTOR_SCHEMA,
77
78
  CREATE_PROJECT_REQUEST_BODY_SCHEMA,
79
+ DELETE_PROJECT_RESPONSE_SCHEMA,
78
80
  ENTERPRISE_OPENSOURCE_PLAN_ID,
79
81
  ENTERPRISE_PLAN_IDS,
80
82
  ESSENTIAL_PLAN_IDS,
@@ -146,6 +148,7 @@ export {
146
148
  convertNewLineToBreakTag,
147
149
  createHeaderBuilderMiddleware,
148
150
  createProject,
151
+ deleteProject,
149
152
  formatDate,
150
153
  formatDateTz,
151
154
  generateTokenFromClassicSession,
@@ -194,6 +197,7 @@ export {
194
197
  useAuthenticatedUser,
195
198
  useBulkUpdateProjectLanguagesMutation,
196
199
  useCreateProjectMutation,
200
+ useDeleteProjectMutation,
197
201
  useEffectOnce,
198
202
  useGetProjectPermissionMetaQuery,
199
203
  useGetPromotedClassicSessionJwtQuery,
@@ -1 +1 @@
1
- {"version":3,"file":"harmony.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"harmony.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -1,8 +1,63 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const jsxRuntime = require("react/jsx-runtime");
4
+ const useEffectOnce = require("./harmony11.cjs");
3
5
  const React = require("react");
4
- const TasksContext = React.createContext({});
5
- const useTasks = () => React.useContext(TasksContext);
6
- exports.TasksContext = TasksContext;
7
- exports.useTasks = useTasks;
6
+ const TasksContext = require("./harmony98.cjs");
7
+ const taskEvents = require("./harmony101.cjs");
8
+ const TasksProvider = ({ children, config }) => {
9
+ const [tasks, setTasks] = React.useState([]);
10
+ const [loadingTasks, setLoadingTasks] = React.useState(true);
11
+ const [tasksCount, setTaskCount] = React.useState(0);
12
+ const {
13
+ getProjectUrl,
14
+ onLanguageCompleteConfirm,
15
+ onTasksWidgetOpen,
16
+ langNameOnClick,
17
+ langProgressOnClick,
18
+ taskTitleOnClick
19
+ } = config;
20
+ const { getTasks, getTasksCount } = config;
21
+ const fetchTasks = async () => {
22
+ setLoadingTasks(true);
23
+ const result = await getTasks();
24
+ setTasks(result);
25
+ setLoadingTasks(false);
26
+ return result;
27
+ };
28
+ const fetchTaskCount = async () => {
29
+ const result = await getTasksCount();
30
+ setTaskCount(result);
31
+ };
32
+ useEffectOnce.useEffectOnce(() => {
33
+ fetchTaskCount();
34
+ document.addEventListener(taskEvents.TaskEvents.TaskCompleted, fetchTaskCount);
35
+ document.addEventListener(taskEvents.TaskEvents.TaskClosed, fetchTaskCount);
36
+ document.addEventListener(taskEvents.TaskEvents.Refresh, fetchTaskCount);
37
+ return () => {
38
+ document.removeEventListener(taskEvents.TaskEvents.TaskCompleted, fetchTaskCount);
39
+ document.removeEventListener(taskEvents.TaskEvents.TaskClosed, fetchTaskCount);
40
+ document.removeEventListener(taskEvents.TaskEvents.Refresh, fetchTaskCount);
41
+ };
42
+ });
43
+ const providerValue = {
44
+ fetchTasks,
45
+ tasks,
46
+ tasksCount,
47
+ loadingTasks,
48
+ getProjectUrl,
49
+ onLanguageCompleteConfirm,
50
+ onTasksWidgetOpen,
51
+ langNameOnClick,
52
+ langProgressOnClick,
53
+ taskTitleOnClick
54
+ };
55
+ return /* @__PURE__ */ jsxRuntime.jsx(TasksContext.TasksContext.Provider, { value: providerValue, children });
56
+ };
57
+ const withTasksContext = (WrappedComponent) => function withTasksContextFn(props) {
58
+ const { config, ...rest } = props;
59
+ return /* @__PURE__ */ jsxRuntime.jsx(TasksProvider, { config, children: /* @__PURE__ */ jsxRuntime.jsx(WrappedComponent, { ...rest }) });
60
+ };
61
+ exports.TasksProvider = TasksProvider;
62
+ exports.withTasksContext = withTasksContext;
8
63
  //# sourceMappingURL=harmony100.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"harmony100.cjs","sources":["../src/components/Sidebar/Widgets/Tasks/TasksContext.ts"],"sourcesContent":["import { createContext, useContext } from 'react'\nimport type { SidebarTasksContextProps } from './types'\n\nexport const TasksContext = createContext({} as SidebarTasksContextProps)\n\nexport const useTasks = () => useContext(TasksContext)\n"],"names":["createContext","useContext"],"mappings":";;;AAGa,MAAA,eAAeA,MAAc,cAAA,CAA8B,CAAA;AAE3D,MAAA,WAAW,MAAMC,MAAAA,WAAW,YAAY;;;"}
1
+ {"version":3,"file":"harmony100.cjs","sources":["../src/components/Sidebar/Widgets/Tasks/TasksProvider.tsx"],"sourcesContent":["import { useEffectOnce } from '@utils'\nimport { type FC, type PropsWithChildren, useState } from 'react'\nimport { TasksContext } from './TasksContext'\nimport type { SidebarTask, SidebarTasksConfig, SidebarTasksContextProps } from './types'\nimport { TaskEvents } from './utils/taskEvents'\n\ntype TasksProviderProps = PropsWithChildren<{\n\tconfig: SidebarTasksConfig\n}>\n\nexport const TasksProvider = ({ children, config }: TasksProviderProps) => {\n\tconst [tasks, setTasks] = useState<SidebarTask[]>([])\n\tconst [loadingTasks, setLoadingTasks] = useState(true)\n\n\tconst [tasksCount, setTaskCount] = useState(0)\n\n\tconst {\n\t\tgetProjectUrl,\n\t\tonLanguageCompleteConfirm,\n\t\tonTasksWidgetOpen,\n\t\tlangNameOnClick,\n\t\tlangProgressOnClick,\n\t\ttaskTitleOnClick,\n\t} = config\n\n\tconst { getTasks, getTasksCount } = config\n\n\tconst fetchTasks = async () => {\n\t\tsetLoadingTasks(true)\n\t\tconst result = await getTasks()\n\t\tsetTasks(result)\n\t\tsetLoadingTasks(false)\n\t\treturn result\n\t}\n\n\tconst fetchTaskCount = async () => {\n\t\tconst result = await getTasksCount()\n\t\tsetTaskCount(result)\n\t}\n\n\tuseEffectOnce(() => {\n\t\tfetchTaskCount()\n\n\t\tdocument.addEventListener(TaskEvents.TaskCompleted, fetchTaskCount)\n\t\tdocument.addEventListener(TaskEvents.TaskClosed, fetchTaskCount)\n\t\tdocument.addEventListener(TaskEvents.Refresh, fetchTaskCount)\n\n\t\treturn () => {\n\t\t\tdocument.removeEventListener(TaskEvents.TaskCompleted, fetchTaskCount)\n\t\t\tdocument.removeEventListener(TaskEvents.TaskClosed, fetchTaskCount)\n\t\t\tdocument.removeEventListener(TaskEvents.Refresh, fetchTaskCount)\n\t\t}\n\t})\n\n\tconst providerValue: SidebarTasksContextProps = {\n\t\tfetchTasks,\n\t\ttasks,\n\t\ttasksCount,\n\t\tloadingTasks,\n\t\tgetProjectUrl,\n\t\tonLanguageCompleteConfirm,\n\t\tonTasksWidgetOpen,\n\t\tlangNameOnClick,\n\t\tlangProgressOnClick,\n\t\ttaskTitleOnClick,\n\t}\n\n\treturn <TasksContext.Provider value={providerValue}>{children}</TasksContext.Provider>\n}\n\nexport const withTasksContext = <P extends { config: SidebarTasksConfig }>(\n\tWrappedComponent: FC<Omit<P, 'config'>>,\n) =>\n\tfunction withTasksContextFn(props: P) {\n\t\tconst { config, ...rest } = props\n\n\t\treturn (\n\t\t\t<TasksProvider config={config}>\n\t\t\t\t<WrappedComponent {...rest} />\n\t\t\t</TasksProvider>\n\t\t)\n\t}\n"],"names":["useState","useEffectOnce","TaskEvents","TasksContext"],"mappings":";;;;;;;AAUO,MAAM,gBAAgB,CAAC,EAAE,UAAU,aAAiC;AAC1E,QAAM,CAAC,OAAO,QAAQ,IAAIA,MAAAA,SAAwB,CAAA,CAAE;AACpD,QAAM,CAAC,cAAc,eAAe,IAAIA,MAAAA,SAAS,IAAI;AAErD,QAAM,CAAC,YAAY,YAAY,IAAIA,MAAAA,SAAS,CAAC;AAEvC,QAAA;AAAA,IACL;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EAAA,IACG;AAEE,QAAA,EAAE,UAAU,cAAA,IAAkB;AAEpC,QAAM,aAAa,YAAY;AAC9B,oBAAgB,IAAI;AACd,UAAA,SAAS,MAAM,SAAS;AAC9B,aAAS,MAAM;AACf,oBAAgB,KAAK;AACd,WAAA;AAAA,EACR;AAEA,QAAM,iBAAiB,YAAY;AAC5B,UAAA,SAAS,MAAM,cAAc;AACnC,iBAAa,MAAM;AAAA,EACpB;AAEAC,gBAAAA,cAAc,MAAM;AACJ,mBAAA;AAEN,aAAA,iBAAiBC,sBAAW,eAAe,cAAc;AACzD,aAAA,iBAAiBA,sBAAW,YAAY,cAAc;AACtD,aAAA,iBAAiBA,sBAAW,SAAS,cAAc;AAE5D,WAAO,MAAM;AACH,eAAA,oBAAoBA,sBAAW,eAAe,cAAc;AAC5D,eAAA,oBAAoBA,sBAAW,YAAY,cAAc;AACzD,eAAA,oBAAoBA,sBAAW,SAAS,cAAc;AAAA,IAChE;AAAA,EAAA,CACA;AAED,QAAM,gBAA0C;AAAA,IAC/C;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACD;AAEA,wCAAQC,aAAAA,aAAa,UAAb,EAAsB,OAAO,eAAgB,UAAS;AAC/D;AAEO,MAAM,mBAAmB,CAC/B,qBAEA,SAAS,mBAAmB,OAAU;AACrC,QAAM,EAAE,QAAQ,GAAG,KAAA,IAAS;AAE5B,wCACE,eAAc,EAAA,QACd,yCAAC,kBAAkB,EAAA,GAAG,KAAM,CAAA,GAC7B;AAEF;;;"}
@@ -1,8 +1,63 @@
1
- import { createContext, useContext } from "react";
2
- const TasksContext = createContext({});
3
- const useTasks = () => useContext(TasksContext);
1
+ import { jsx } from "react/jsx-runtime";
2
+ import { useEffectOnce } from "./harmony11.mjs";
3
+ import { useState } from "react";
4
+ import { TasksContext } from "./harmony98.mjs";
5
+ import { TaskEvents } from "./harmony101.mjs";
6
+ const TasksProvider = ({ children, config }) => {
7
+ const [tasks, setTasks] = useState([]);
8
+ const [loadingTasks, setLoadingTasks] = useState(true);
9
+ const [tasksCount, setTaskCount] = useState(0);
10
+ const {
11
+ getProjectUrl,
12
+ onLanguageCompleteConfirm,
13
+ onTasksWidgetOpen,
14
+ langNameOnClick,
15
+ langProgressOnClick,
16
+ taskTitleOnClick
17
+ } = config;
18
+ const { getTasks, getTasksCount } = config;
19
+ const fetchTasks = async () => {
20
+ setLoadingTasks(true);
21
+ const result = await getTasks();
22
+ setTasks(result);
23
+ setLoadingTasks(false);
24
+ return result;
25
+ };
26
+ const fetchTaskCount = async () => {
27
+ const result = await getTasksCount();
28
+ setTaskCount(result);
29
+ };
30
+ useEffectOnce(() => {
31
+ fetchTaskCount();
32
+ document.addEventListener(TaskEvents.TaskCompleted, fetchTaskCount);
33
+ document.addEventListener(TaskEvents.TaskClosed, fetchTaskCount);
34
+ document.addEventListener(TaskEvents.Refresh, fetchTaskCount);
35
+ return () => {
36
+ document.removeEventListener(TaskEvents.TaskCompleted, fetchTaskCount);
37
+ document.removeEventListener(TaskEvents.TaskClosed, fetchTaskCount);
38
+ document.removeEventListener(TaskEvents.Refresh, fetchTaskCount);
39
+ };
40
+ });
41
+ const providerValue = {
42
+ fetchTasks,
43
+ tasks,
44
+ tasksCount,
45
+ loadingTasks,
46
+ getProjectUrl,
47
+ onLanguageCompleteConfirm,
48
+ onTasksWidgetOpen,
49
+ langNameOnClick,
50
+ langProgressOnClick,
51
+ taskTitleOnClick
52
+ };
53
+ return /* @__PURE__ */ jsx(TasksContext.Provider, { value: providerValue, children });
54
+ };
55
+ const withTasksContext = (WrappedComponent) => function withTasksContextFn(props) {
56
+ const { config, ...rest } = props;
57
+ return /* @__PURE__ */ jsx(TasksProvider, { config, children: /* @__PURE__ */ jsx(WrappedComponent, { ...rest }) });
58
+ };
4
59
  export {
5
- TasksContext,
6
- useTasks
60
+ TasksProvider,
61
+ withTasksContext
7
62
  };
8
63
  //# sourceMappingURL=harmony100.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"harmony100.mjs","sources":["../src/components/Sidebar/Widgets/Tasks/TasksContext.ts"],"sourcesContent":["import { createContext, useContext } from 'react'\nimport type { SidebarTasksContextProps } from './types'\n\nexport const TasksContext = createContext({} as SidebarTasksContextProps)\n\nexport const useTasks = () => useContext(TasksContext)\n"],"names":[],"mappings":";AAGa,MAAA,eAAe,cAAc,CAA8B,CAAA;AAE3D,MAAA,WAAW,MAAM,WAAW,YAAY;"}
1
+ {"version":3,"file":"harmony100.mjs","sources":["../src/components/Sidebar/Widgets/Tasks/TasksProvider.tsx"],"sourcesContent":["import { useEffectOnce } from '@utils'\nimport { type FC, type PropsWithChildren, useState } from 'react'\nimport { TasksContext } from './TasksContext'\nimport type { SidebarTask, SidebarTasksConfig, SidebarTasksContextProps } from './types'\nimport { TaskEvents } from './utils/taskEvents'\n\ntype TasksProviderProps = PropsWithChildren<{\n\tconfig: SidebarTasksConfig\n}>\n\nexport const TasksProvider = ({ children, config }: TasksProviderProps) => {\n\tconst [tasks, setTasks] = useState<SidebarTask[]>([])\n\tconst [loadingTasks, setLoadingTasks] = useState(true)\n\n\tconst [tasksCount, setTaskCount] = useState(0)\n\n\tconst {\n\t\tgetProjectUrl,\n\t\tonLanguageCompleteConfirm,\n\t\tonTasksWidgetOpen,\n\t\tlangNameOnClick,\n\t\tlangProgressOnClick,\n\t\ttaskTitleOnClick,\n\t} = config\n\n\tconst { getTasks, getTasksCount } = config\n\n\tconst fetchTasks = async () => {\n\t\tsetLoadingTasks(true)\n\t\tconst result = await getTasks()\n\t\tsetTasks(result)\n\t\tsetLoadingTasks(false)\n\t\treturn result\n\t}\n\n\tconst fetchTaskCount = async () => {\n\t\tconst result = await getTasksCount()\n\t\tsetTaskCount(result)\n\t}\n\n\tuseEffectOnce(() => {\n\t\tfetchTaskCount()\n\n\t\tdocument.addEventListener(TaskEvents.TaskCompleted, fetchTaskCount)\n\t\tdocument.addEventListener(TaskEvents.TaskClosed, fetchTaskCount)\n\t\tdocument.addEventListener(TaskEvents.Refresh, fetchTaskCount)\n\n\t\treturn () => {\n\t\t\tdocument.removeEventListener(TaskEvents.TaskCompleted, fetchTaskCount)\n\t\t\tdocument.removeEventListener(TaskEvents.TaskClosed, fetchTaskCount)\n\t\t\tdocument.removeEventListener(TaskEvents.Refresh, fetchTaskCount)\n\t\t}\n\t})\n\n\tconst providerValue: SidebarTasksContextProps = {\n\t\tfetchTasks,\n\t\ttasks,\n\t\ttasksCount,\n\t\tloadingTasks,\n\t\tgetProjectUrl,\n\t\tonLanguageCompleteConfirm,\n\t\tonTasksWidgetOpen,\n\t\tlangNameOnClick,\n\t\tlangProgressOnClick,\n\t\ttaskTitleOnClick,\n\t}\n\n\treturn <TasksContext.Provider value={providerValue}>{children}</TasksContext.Provider>\n}\n\nexport const withTasksContext = <P extends { config: SidebarTasksConfig }>(\n\tWrappedComponent: FC<Omit<P, 'config'>>,\n) =>\n\tfunction withTasksContextFn(props: P) {\n\t\tconst { config, ...rest } = props\n\n\t\treturn (\n\t\t\t<TasksProvider config={config}>\n\t\t\t\t<WrappedComponent {...rest} />\n\t\t\t</TasksProvider>\n\t\t)\n\t}\n"],"names":[],"mappings":";;;;;AAUO,MAAM,gBAAgB,CAAC,EAAE,UAAU,aAAiC;AAC1E,QAAM,CAAC,OAAO,QAAQ,IAAI,SAAwB,CAAA,CAAE;AACpD,QAAM,CAAC,cAAc,eAAe,IAAI,SAAS,IAAI;AAErD,QAAM,CAAC,YAAY,YAAY,IAAI,SAAS,CAAC;AAEvC,QAAA;AAAA,IACL;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EAAA,IACG;AAEE,QAAA,EAAE,UAAU,cAAA,IAAkB;AAEpC,QAAM,aAAa,YAAY;AAC9B,oBAAgB,IAAI;AACd,UAAA,SAAS,MAAM,SAAS;AAC9B,aAAS,MAAM;AACf,oBAAgB,KAAK;AACd,WAAA;AAAA,EACR;AAEA,QAAM,iBAAiB,YAAY;AAC5B,UAAA,SAAS,MAAM,cAAc;AACnC,iBAAa,MAAM;AAAA,EACpB;AAEA,gBAAc,MAAM;AACJ,mBAAA;AAEN,aAAA,iBAAiB,WAAW,eAAe,cAAc;AACzD,aAAA,iBAAiB,WAAW,YAAY,cAAc;AACtD,aAAA,iBAAiB,WAAW,SAAS,cAAc;AAE5D,WAAO,MAAM;AACH,eAAA,oBAAoB,WAAW,eAAe,cAAc;AAC5D,eAAA,oBAAoB,WAAW,YAAY,cAAc;AACzD,eAAA,oBAAoB,WAAW,SAAS,cAAc;AAAA,IAChE;AAAA,EAAA,CACA;AAED,QAAM,gBAA0C;AAAA,IAC/C;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACD;AAEA,6BAAQ,aAAa,UAAb,EAAsB,OAAO,eAAgB,UAAS;AAC/D;AAEO,MAAM,mBAAmB,CAC/B,qBAEA,SAAS,mBAAmB,OAAU;AACrC,QAAM,EAAE,QAAQ,GAAG,KAAA,IAAS;AAE5B,6BACE,eAAc,EAAA,QACd,8BAAC,kBAAkB,EAAA,GAAG,KAAM,CAAA,GAC7B;AAEF;"}
@@ -1,43 +1,10 @@
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 useEffectOnce = require("./harmony11.cjs");
6
- const TaskOverview = require("./harmony113.cjs");
7
- const TasksContext = require("./harmony100.cjs");
8
- const taskEvents = require("./harmony103.cjs");
9
- const TasksPopover_module = require("./harmony114.cjs");
10
- const TasksPopover = () => {
11
- const { tasks, onTasksWidgetOpen, loadingTasks, fetchTasks } = TasksContext.useTasks();
12
- useEffectOnce.useEffectOnce(() => {
13
- const handleTaskPopoverOpen = async () => {
14
- const contextTasks = await fetchTasks();
15
- onTasksWidgetOpen == null ? void 0 : onTasksWidgetOpen({ tasks: contextTasks });
16
- };
17
- handleTaskPopoverOpen();
18
- document.addEventListener(taskEvents.TaskEvents.TaskCompleted, fetchTasks);
19
- document.addEventListener(taskEvents.TaskEvents.TaskClosed, fetchTasks);
20
- document.addEventListener(taskEvents.TaskEvents.Refresh, fetchTasks);
21
- return () => {
22
- document.removeEventListener(taskEvents.TaskEvents.TaskCompleted, fetchTasks);
23
- document.removeEventListener(taskEvents.TaskEvents.TaskClosed, fetchTasks);
24
- document.removeEventListener(taskEvents.TaskEvents.Refresh, fetchTasks);
25
- };
26
- });
27
- if (loadingTasks) {
28
- return /* @__PURE__ */ jsxRuntime.jsx("div", { "data-testid": "sidebar-tasks-loading-popover", className: TasksPopover_module.default.loadingContainer, children: /* @__PURE__ */ jsxRuntime.jsx(louis.Loading, {}) });
29
- }
30
- if (tasks.length === 0) {
31
- return /* @__PURE__ */ jsxRuntime.jsxs("div", { "data-testid": "sidebar-no-tasks-popover", className: TasksPopover_module.default.noTasksContainer, children: [
32
- /* @__PURE__ */ jsxRuntime.jsx("h3", { className: TasksPopover_module.default.noTasksHeading, children: "No tasks" }),
33
- /* @__PURE__ */ jsxRuntime.jsxs("div", { className: TasksPopover_module.default.noTasksText, children: [
34
- "Your incoming tasks will appear here.",
35
- /* @__PURE__ */ jsxRuntime.jsx("br", {}),
36
- /* @__PURE__ */ jsxRuntime.jsx(louis.Link, { href: "https://docs.lokalise.com/translation-workflow/tasks", target: "_new", children: "Learn more" })
37
- ] })
38
- ] });
39
- }
40
- return /* @__PURE__ */ jsxRuntime.jsx("div", { "data-testid": "sidebar-tasks-popover", className: TasksPopover_module.default.tasksContainer, children: tasks.map((task) => /* @__PURE__ */ jsxRuntime.jsx(TaskOverview.TaskOverview, { task }, task.id)) });
3
+ const TaskEvents = {
4
+ TaskCompleted: "task_completed",
5
+ TaskClosed: "task_closed",
6
+ Refresh: "refresh",
7
+ ShowDialog: "show_dialog"
41
8
  };
42
- exports.TasksPopover = TasksPopover;
9
+ exports.TaskEvents = TaskEvents;
43
10
  //# sourceMappingURL=harmony101.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"harmony101.cjs","sources":["../src/components/Sidebar/Widgets/Tasks/TasksPopover/TasksPopover.tsx"],"sourcesContent":["import { Link, Loading } from '@lokalise/louis'\nimport { useEffectOnce } from '@utils'\nimport { TaskOverview } from '../TaskOverview/TaskOverview'\nimport { useTasks } from '../TasksContext'\nimport type { SidebarTask } from '../types'\nimport { TaskEvents } from '../utils/taskEvents'\nimport styles from './TasksPopover.module.css'\n\nexport const TasksPopover = () => {\n\tconst { tasks, onTasksWidgetOpen, loadingTasks, fetchTasks } = useTasks()\n\n\tuseEffectOnce(() => {\n\t\tconst handleTaskPopoverOpen = async () => {\n\t\t\tconst contextTasks = await fetchTasks()\n\t\t\tonTasksWidgetOpen?.({ tasks: contextTasks })\n\t\t}\n\n\t\thandleTaskPopoverOpen()\n\n\t\tdocument.addEventListener(TaskEvents.TaskCompleted, fetchTasks)\n\t\tdocument.addEventListener(TaskEvents.TaskClosed, fetchTasks)\n\t\tdocument.addEventListener(TaskEvents.Refresh, fetchTasks)\n\n\t\treturn () => {\n\t\t\tdocument.removeEventListener(TaskEvents.TaskCompleted, fetchTasks)\n\t\t\tdocument.removeEventListener(TaskEvents.TaskClosed, fetchTasks)\n\t\t\tdocument.removeEventListener(TaskEvents.Refresh, fetchTasks)\n\t\t}\n\t})\n\n\tif (loadingTasks) {\n\t\treturn (\n\t\t\t<div data-testid=\"sidebar-tasks-loading-popover\" className={styles.loadingContainer}>\n\t\t\t\t<Loading />\n\t\t\t</div>\n\t\t)\n\t}\n\n\tif (tasks.length === 0) {\n\t\treturn (\n\t\t\t<div data-testid=\"sidebar-no-tasks-popover\" className={styles.noTasksContainer}>\n\t\t\t\t<h3 className={styles.noTasksHeading}>No tasks</h3>\n\t\t\t\t<div className={styles.noTasksText}>\n\t\t\t\t\tYour incoming tasks will appear here.\n\t\t\t\t\t<br />\n\t\t\t\t\t<Link href=\"https://docs.lokalise.com/translation-workflow/tasks\" target=\"_new\">\n\t\t\t\t\t\tLearn more\n\t\t\t\t\t</Link>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t)\n\t}\n\n\treturn (\n\t\t<div data-testid=\"sidebar-tasks-popover\" className={styles.tasksContainer}>\n\t\t\t{tasks.map((task: SidebarTask) => (\n\t\t\t\t<TaskOverview key={task.id} task={task} />\n\t\t\t))}\n\t\t</div>\n\t)\n}\n"],"names":["useTasks","useEffectOnce","TaskEvents","jsx","styles","Loading","jsxs","Link","TaskOverview"],"mappings":";;;;;;;;;AAQO,MAAM,eAAe,MAAM;AACjC,QAAM,EAAE,OAAO,mBAAmB,cAAc,WAAA,IAAeA,aAAAA,SAAS;AAExEC,gBAAAA,cAAc,MAAM;AACnB,UAAM,wBAAwB,YAAY;AACnC,YAAA,eAAe,MAAM,WAAW;AAClB,6DAAA,EAAE,OAAO;IAC9B;AAEsB,0BAAA;AAEb,aAAA,iBAAiBC,sBAAW,eAAe,UAAU;AACrD,aAAA,iBAAiBA,sBAAW,YAAY,UAAU;AAClD,aAAA,iBAAiBA,sBAAW,SAAS,UAAU;AAExD,WAAO,MAAM;AACH,eAAA,oBAAoBA,sBAAW,eAAe,UAAU;AACxD,eAAA,oBAAoBA,sBAAW,YAAY,UAAU;AACrD,eAAA,oBAAoBA,sBAAW,SAAS,UAAU;AAAA,IAC5D;AAAA,EAAA,CACA;AAED,MAAI,cAAc;AAEhB,WAAAC,2BAAA,IAAC,SAAI,eAAY,iCAAgC,WAAWC,4BAAO,kBAClE,UAACD,2BAAAA,IAAAE,MAAAA,SAAA,CAAA,CAAQ,EACV,CAAA;AAAA,EAAA;AAIE,MAAA,MAAM,WAAW,GAAG;AACvB,2CACE,OAAI,EAAA,eAAY,4BAA2B,WAAWD,oBAAAA,QAAO,kBAC7D,UAAA;AAAA,MAAAD,2BAAA,IAAC,MAAG,EAAA,WAAWC,oBAAO,QAAA,gBAAgB,UAAQ,YAAA;AAAA,MAC7CE,2BAAA,KAAA,OAAA,EAAI,WAAWF,oBAAAA,QAAO,aAAa,UAAA;AAAA,QAAA;AAAA,uCAElC,MAAG,EAAA;AAAA,uCACHG,MAAAA,MAAK,EAAA,MAAK,wDAAuD,QAAO,QAAO,UAEhF,aAAA,CAAA;AAAA,MAAA,EACD,CAAA;AAAA,IAAA,GACD;AAAA,EAAA;AAIF,wCACE,OAAI,EAAA,eAAY,yBAAwB,WAAWH,oBAAAA,QAAO,gBACzD,UAAA,MAAM,IAAI,CAAC,SACVD,2BAAA,IAAAK,2BAAA,EAA2B,QAAT,KAAK,EAAgB,CACxC,GACF;AAEF;;"}
1
+ {"version":3,"file":"harmony101.cjs","sources":["../src/components/Sidebar/Widgets/Tasks/utils/taskEvents.ts"],"sourcesContent":["import type { TypesFromMap } from '@utils'\n\nexport const TaskEvents = {\n\tTaskCompleted: 'task_completed',\n\tTaskClosed: 'task_closed',\n\tRefresh: 'refresh',\n\tShowDialog: 'show_dialog',\n} as const\n\nexport type TaskEvent = TypesFromMap<typeof TaskEvents>\n\ntype SingleTaskPayload = {\n\ttaskId: string | number\n}\n\ntype DispatchTaskEventPayload =\n\t| {\n\t\t\tname: typeof TaskEvents.TaskCompleted\n\t\t\tdetail: SingleTaskPayload\n\t }\n\t| {\n\t\t\tname: typeof TaskEvents.TaskClosed\n\t\t\tdetail: SingleTaskPayload\n\t }\n\t| {\n\t\t\tname: typeof TaskEvents.Refresh\n\t }\n\t| {\n\t\t\tname: typeof TaskEvents.ShowDialog\n\t }\n\nexport const dispatchTaskEvent = (props: DispatchTaskEventPayload) => {\n\tconst { name } = props\n\tdocument.dispatchEvent(new CustomEvent(name, { detail: 'detail' in props ? props.detail : {} }))\n}\n"],"names":[],"mappings":";;AAEO,MAAM,aAAa;AAAA,EACzB,eAAe;AAAA,EACf,YAAY;AAAA,EACZ,SAAS;AAAA,EACT,YAAY;AACb;;"}
@@ -1,43 +1,10 @@
1
- import { jsx, jsxs } from "react/jsx-runtime";
2
- import { Loading, Link } from "@lokalise/louis";
3
- import { useEffectOnce } from "./harmony11.mjs";
4
- import { TaskOverview } from "./harmony113.mjs";
5
- import { useTasks } from "./harmony100.mjs";
6
- import { TaskEvents } from "./harmony103.mjs";
7
- import styles from "./harmony114.mjs";
8
- const TasksPopover = () => {
9
- const { tasks, onTasksWidgetOpen, loadingTasks, fetchTasks } = useTasks();
10
- useEffectOnce(() => {
11
- const handleTaskPopoverOpen = async () => {
12
- const contextTasks = await fetchTasks();
13
- onTasksWidgetOpen == null ? void 0 : onTasksWidgetOpen({ tasks: contextTasks });
14
- };
15
- handleTaskPopoverOpen();
16
- document.addEventListener(TaskEvents.TaskCompleted, fetchTasks);
17
- document.addEventListener(TaskEvents.TaskClosed, fetchTasks);
18
- document.addEventListener(TaskEvents.Refresh, fetchTasks);
19
- return () => {
20
- document.removeEventListener(TaskEvents.TaskCompleted, fetchTasks);
21
- document.removeEventListener(TaskEvents.TaskClosed, fetchTasks);
22
- document.removeEventListener(TaskEvents.Refresh, fetchTasks);
23
- };
24
- });
25
- if (loadingTasks) {
26
- return /* @__PURE__ */ jsx("div", { "data-testid": "sidebar-tasks-loading-popover", className: styles.loadingContainer, children: /* @__PURE__ */ jsx(Loading, {}) });
27
- }
28
- if (tasks.length === 0) {
29
- return /* @__PURE__ */ jsxs("div", { "data-testid": "sidebar-no-tasks-popover", className: styles.noTasksContainer, children: [
30
- /* @__PURE__ */ jsx("h3", { className: styles.noTasksHeading, children: "No tasks" }),
31
- /* @__PURE__ */ jsxs("div", { className: styles.noTasksText, children: [
32
- "Your incoming tasks will appear here.",
33
- /* @__PURE__ */ jsx("br", {}),
34
- /* @__PURE__ */ jsx(Link, { href: "https://docs.lokalise.com/translation-workflow/tasks", target: "_new", children: "Learn more" })
35
- ] })
36
- ] });
37
- }
38
- return /* @__PURE__ */ jsx("div", { "data-testid": "sidebar-tasks-popover", className: styles.tasksContainer, children: tasks.map((task) => /* @__PURE__ */ jsx(TaskOverview, { task }, task.id)) });
1
+ const TaskEvents = {
2
+ TaskCompleted: "task_completed",
3
+ TaskClosed: "task_closed",
4
+ Refresh: "refresh",
5
+ ShowDialog: "show_dialog"
39
6
  };
40
7
  export {
41
- TasksPopover
8
+ TaskEvents
42
9
  };
43
10
  //# sourceMappingURL=harmony101.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"harmony101.mjs","sources":["../src/components/Sidebar/Widgets/Tasks/TasksPopover/TasksPopover.tsx"],"sourcesContent":["import { Link, Loading } from '@lokalise/louis'\nimport { useEffectOnce } from '@utils'\nimport { TaskOverview } from '../TaskOverview/TaskOverview'\nimport { useTasks } from '../TasksContext'\nimport type { SidebarTask } from '../types'\nimport { TaskEvents } from '../utils/taskEvents'\nimport styles from './TasksPopover.module.css'\n\nexport const TasksPopover = () => {\n\tconst { tasks, onTasksWidgetOpen, loadingTasks, fetchTasks } = useTasks()\n\n\tuseEffectOnce(() => {\n\t\tconst handleTaskPopoverOpen = async () => {\n\t\t\tconst contextTasks = await fetchTasks()\n\t\t\tonTasksWidgetOpen?.({ tasks: contextTasks })\n\t\t}\n\n\t\thandleTaskPopoverOpen()\n\n\t\tdocument.addEventListener(TaskEvents.TaskCompleted, fetchTasks)\n\t\tdocument.addEventListener(TaskEvents.TaskClosed, fetchTasks)\n\t\tdocument.addEventListener(TaskEvents.Refresh, fetchTasks)\n\n\t\treturn () => {\n\t\t\tdocument.removeEventListener(TaskEvents.TaskCompleted, fetchTasks)\n\t\t\tdocument.removeEventListener(TaskEvents.TaskClosed, fetchTasks)\n\t\t\tdocument.removeEventListener(TaskEvents.Refresh, fetchTasks)\n\t\t}\n\t})\n\n\tif (loadingTasks) {\n\t\treturn (\n\t\t\t<div data-testid=\"sidebar-tasks-loading-popover\" className={styles.loadingContainer}>\n\t\t\t\t<Loading />\n\t\t\t</div>\n\t\t)\n\t}\n\n\tif (tasks.length === 0) {\n\t\treturn (\n\t\t\t<div data-testid=\"sidebar-no-tasks-popover\" className={styles.noTasksContainer}>\n\t\t\t\t<h3 className={styles.noTasksHeading}>No tasks</h3>\n\t\t\t\t<div className={styles.noTasksText}>\n\t\t\t\t\tYour incoming tasks will appear here.\n\t\t\t\t\t<br />\n\t\t\t\t\t<Link href=\"https://docs.lokalise.com/translation-workflow/tasks\" target=\"_new\">\n\t\t\t\t\t\tLearn more\n\t\t\t\t\t</Link>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t)\n\t}\n\n\treturn (\n\t\t<div data-testid=\"sidebar-tasks-popover\" className={styles.tasksContainer}>\n\t\t\t{tasks.map((task: SidebarTask) => (\n\t\t\t\t<TaskOverview key={task.id} task={task} />\n\t\t\t))}\n\t\t</div>\n\t)\n}\n"],"names":[],"mappings":";;;;;;;AAQO,MAAM,eAAe,MAAM;AACjC,QAAM,EAAE,OAAO,mBAAmB,cAAc,WAAA,IAAe,SAAS;AAExE,gBAAc,MAAM;AACnB,UAAM,wBAAwB,YAAY;AACnC,YAAA,eAAe,MAAM,WAAW;AAClB,6DAAA,EAAE,OAAO;IAC9B;AAEsB,0BAAA;AAEb,aAAA,iBAAiB,WAAW,eAAe,UAAU;AACrD,aAAA,iBAAiB,WAAW,YAAY,UAAU;AAClD,aAAA,iBAAiB,WAAW,SAAS,UAAU;AAExD,WAAO,MAAM;AACH,eAAA,oBAAoB,WAAW,eAAe,UAAU;AACxD,eAAA,oBAAoB,WAAW,YAAY,UAAU;AACrD,eAAA,oBAAoB,WAAW,SAAS,UAAU;AAAA,IAC5D;AAAA,EAAA,CACA;AAED,MAAI,cAAc;AAEhB,WAAA,oBAAC,SAAI,eAAY,iCAAgC,WAAW,OAAO,kBAClE,UAAC,oBAAA,SAAA,CAAA,CAAQ,EACV,CAAA;AAAA,EAAA;AAIE,MAAA,MAAM,WAAW,GAAG;AACvB,gCACE,OAAI,EAAA,eAAY,4BAA2B,WAAW,OAAO,kBAC7D,UAAA;AAAA,MAAA,oBAAC,MAAG,EAAA,WAAW,OAAO,gBAAgB,UAAQ,YAAA;AAAA,MAC7C,qBAAA,OAAA,EAAI,WAAW,OAAO,aAAa,UAAA;AAAA,QAAA;AAAA,4BAElC,MAAG,EAAA;AAAA,4BACH,MAAK,EAAA,MAAK,wDAAuD,QAAO,QAAO,UAEhF,aAAA,CAAA;AAAA,MAAA,EACD,CAAA;AAAA,IAAA,GACD;AAAA,EAAA;AAIF,6BACE,OAAI,EAAA,eAAY,yBAAwB,WAAW,OAAO,gBACzD,UAAA,MAAM,IAAI,CAAC,SACV,oBAAA,cAAA,EAA2B,QAAT,KAAK,EAAgB,CACxC,GACF;AAEF;"}
1
+ {"version":3,"file":"harmony101.mjs","sources":["../src/components/Sidebar/Widgets/Tasks/utils/taskEvents.ts"],"sourcesContent":["import type { TypesFromMap } from '@utils'\n\nexport const TaskEvents = {\n\tTaskCompleted: 'task_completed',\n\tTaskClosed: 'task_closed',\n\tRefresh: 'refresh',\n\tShowDialog: 'show_dialog',\n} as const\n\nexport type TaskEvent = TypesFromMap<typeof TaskEvents>\n\ntype SingleTaskPayload = {\n\ttaskId: string | number\n}\n\ntype DispatchTaskEventPayload =\n\t| {\n\t\t\tname: typeof TaskEvents.TaskCompleted\n\t\t\tdetail: SingleTaskPayload\n\t }\n\t| {\n\t\t\tname: typeof TaskEvents.TaskClosed\n\t\t\tdetail: SingleTaskPayload\n\t }\n\t| {\n\t\t\tname: typeof TaskEvents.Refresh\n\t }\n\t| {\n\t\t\tname: typeof TaskEvents.ShowDialog\n\t }\n\nexport const dispatchTaskEvent = (props: DispatchTaskEventPayload) => {\n\tconst { name } = props\n\tdocument.dispatchEvent(new CustomEvent(name, { detail: 'detail' in props ? props.detail : {} }))\n}\n"],"names":[],"mappings":"AAEO,MAAM,aAAa;AAAA,EACzB,eAAe;AAAA,EACf,YAAY;AAAA,EACZ,SAAS;AAAA,EACT,YAAY;AACb;"}
@@ -1,63 +1,21 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const jsxRuntime = require("react/jsx-runtime");
4
- const useEffectOnce = require("./harmony11.cjs");
5
- const React = require("react");
6
- const TasksContext = require("./harmony100.cjs");
7
- const taskEvents = require("./harmony103.cjs");
8
- const TasksProvider = ({ children, config }) => {
9
- const [tasks, setTasks] = React.useState([]);
10
- const [loadingTasks, setLoadingTasks] = React.useState(true);
11
- const [tasksCount, setTaskCount] = React.useState(0);
12
- const {
13
- getProjectUrl,
14
- onLanguageCompleteConfirm,
15
- onTasksWidgetOpen,
16
- langNameOnClick,
17
- langProgressOnClick,
18
- taskTitleOnClick
19
- } = config;
20
- const { getTasks, getTasksCount } = config;
21
- const fetchTasks = async () => {
22
- setLoadingTasks(true);
23
- const result = await getTasks();
24
- setTasks(result);
25
- setLoadingTasks(false);
26
- return result;
27
- };
28
- const fetchTaskCount = async () => {
29
- const result = await getTasksCount();
30
- setTaskCount(result);
31
- };
32
- useEffectOnce.useEffectOnce(() => {
33
- fetchTaskCount();
34
- document.addEventListener(taskEvents.TaskEvents.TaskCompleted, fetchTaskCount);
35
- document.addEventListener(taskEvents.TaskEvents.TaskClosed, fetchTaskCount);
36
- document.addEventListener(taskEvents.TaskEvents.Refresh, fetchTaskCount);
37
- return () => {
38
- document.removeEventListener(taskEvents.TaskEvents.TaskCompleted, fetchTaskCount);
39
- document.removeEventListener(taskEvents.TaskEvents.TaskClosed, fetchTaskCount);
40
- document.removeEventListener(taskEvents.TaskEvents.Refresh, fetchTaskCount);
41
- };
42
- });
43
- const providerValue = {
44
- fetchTasks,
45
- tasks,
46
- tasksCount,
47
- loadingTasks,
48
- getProjectUrl,
49
- onLanguageCompleteConfirm,
50
- onTasksWidgetOpen,
51
- langNameOnClick,
52
- langProgressOnClick,
53
- taskTitleOnClick
54
- };
55
- return /* @__PURE__ */ jsxRuntime.jsx(TasksContext.TasksContext.Provider, { value: providerValue, children });
56
- };
57
- const withTasksContext = (WrappedComponent) => function withTasksContextFn(props) {
58
- const { config, ...rest } = props;
59
- return /* @__PURE__ */ jsxRuntime.jsx(TasksProvider, { config, children: /* @__PURE__ */ jsxRuntime.jsx(WrappedComponent, { ...rest }) });
60
- };
61
- exports.TasksProvider = TasksProvider;
62
- exports.withTasksContext = withTasksContext;
3
+ const zod = require("zod");
4
+ const teamRoleTypes = require("./harmony59.cjs");
5
+ const JWT_TOKEN_PAYLOAD_SCHEMA = zod.z.object({
6
+ userId: zod.z.number(),
7
+ userUuid: zod.z.string().uuid(),
8
+ teamId: zod.z.number(),
9
+ teamUuid: zod.z.string().uuid(),
10
+ userTeamRole: teamRoleTypes.TEAM_ROLE_SCHEMA,
11
+ userEmail: zod.z.string().email(),
12
+ userName: zod.z.string(),
13
+ userCurrentTeamId: zod.z.number(),
14
+ planId: zod.z.number(),
15
+ planName: zod.z.string(),
16
+ isProviderAlpha: zod.z.boolean(),
17
+ isFullyAuthenticated: zod.z.boolean(),
18
+ exp: zod.z.number()
19
+ });
20
+ exports.JWT_TOKEN_PAYLOAD_SCHEMA = JWT_TOKEN_PAYLOAD_SCHEMA;
63
21
  //# sourceMappingURL=harmony102.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"harmony102.cjs","sources":["../src/components/Sidebar/Widgets/Tasks/TasksProvider.tsx"],"sourcesContent":["import { useEffectOnce } from '@utils'\nimport { type FC, type PropsWithChildren, useState } from 'react'\nimport { TasksContext } from './TasksContext'\nimport type { SidebarTask, SidebarTasksConfig, SidebarTasksContextProps } from './types'\nimport { TaskEvents } from './utils/taskEvents'\n\ntype TasksProviderProps = PropsWithChildren<{\n\tconfig: SidebarTasksConfig\n}>\n\nexport const TasksProvider = ({ children, config }: TasksProviderProps) => {\n\tconst [tasks, setTasks] = useState<SidebarTask[]>([])\n\tconst [loadingTasks, setLoadingTasks] = useState(true)\n\n\tconst [tasksCount, setTaskCount] = useState(0)\n\n\tconst {\n\t\tgetProjectUrl,\n\t\tonLanguageCompleteConfirm,\n\t\tonTasksWidgetOpen,\n\t\tlangNameOnClick,\n\t\tlangProgressOnClick,\n\t\ttaskTitleOnClick,\n\t} = config\n\n\tconst { getTasks, getTasksCount } = config\n\n\tconst fetchTasks = async () => {\n\t\tsetLoadingTasks(true)\n\t\tconst result = await getTasks()\n\t\tsetTasks(result)\n\t\tsetLoadingTasks(false)\n\t\treturn result\n\t}\n\n\tconst fetchTaskCount = async () => {\n\t\tconst result = await getTasksCount()\n\t\tsetTaskCount(result)\n\t}\n\n\tuseEffectOnce(() => {\n\t\tfetchTaskCount()\n\n\t\tdocument.addEventListener(TaskEvents.TaskCompleted, fetchTaskCount)\n\t\tdocument.addEventListener(TaskEvents.TaskClosed, fetchTaskCount)\n\t\tdocument.addEventListener(TaskEvents.Refresh, fetchTaskCount)\n\n\t\treturn () => {\n\t\t\tdocument.removeEventListener(TaskEvents.TaskCompleted, fetchTaskCount)\n\t\t\tdocument.removeEventListener(TaskEvents.TaskClosed, fetchTaskCount)\n\t\t\tdocument.removeEventListener(TaskEvents.Refresh, fetchTaskCount)\n\t\t}\n\t})\n\n\tconst providerValue: SidebarTasksContextProps = {\n\t\tfetchTasks,\n\t\ttasks,\n\t\ttasksCount,\n\t\tloadingTasks,\n\t\tgetProjectUrl,\n\t\tonLanguageCompleteConfirm,\n\t\tonTasksWidgetOpen,\n\t\tlangNameOnClick,\n\t\tlangProgressOnClick,\n\t\ttaskTitleOnClick,\n\t}\n\n\treturn <TasksContext.Provider value={providerValue}>{children}</TasksContext.Provider>\n}\n\nexport const withTasksContext = <P extends { config: SidebarTasksConfig }>(\n\tWrappedComponent: FC<Omit<P, 'config'>>,\n) =>\n\tfunction withTasksContextFn(props: P) {\n\t\tconst { config, ...rest } = props\n\n\t\treturn (\n\t\t\t<TasksProvider config={config}>\n\t\t\t\t<WrappedComponent {...rest} />\n\t\t\t</TasksProvider>\n\t\t)\n\t}\n"],"names":["useState","useEffectOnce","TaskEvents","TasksContext"],"mappings":";;;;;;;AAUO,MAAM,gBAAgB,CAAC,EAAE,UAAU,aAAiC;AAC1E,QAAM,CAAC,OAAO,QAAQ,IAAIA,MAAAA,SAAwB,CAAA,CAAE;AACpD,QAAM,CAAC,cAAc,eAAe,IAAIA,MAAAA,SAAS,IAAI;AAErD,QAAM,CAAC,YAAY,YAAY,IAAIA,MAAAA,SAAS,CAAC;AAEvC,QAAA;AAAA,IACL;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EAAA,IACG;AAEE,QAAA,EAAE,UAAU,cAAA,IAAkB;AAEpC,QAAM,aAAa,YAAY;AAC9B,oBAAgB,IAAI;AACd,UAAA,SAAS,MAAM,SAAS;AAC9B,aAAS,MAAM;AACf,oBAAgB,KAAK;AACd,WAAA;AAAA,EACR;AAEA,QAAM,iBAAiB,YAAY;AAC5B,UAAA,SAAS,MAAM,cAAc;AACnC,iBAAa,MAAM;AAAA,EACpB;AAEAC,gBAAAA,cAAc,MAAM;AACJ,mBAAA;AAEN,aAAA,iBAAiBC,sBAAW,eAAe,cAAc;AACzD,aAAA,iBAAiBA,sBAAW,YAAY,cAAc;AACtD,aAAA,iBAAiBA,sBAAW,SAAS,cAAc;AAE5D,WAAO,MAAM;AACH,eAAA,oBAAoBA,sBAAW,eAAe,cAAc;AAC5D,eAAA,oBAAoBA,sBAAW,YAAY,cAAc;AACzD,eAAA,oBAAoBA,sBAAW,SAAS,cAAc;AAAA,IAChE;AAAA,EAAA,CACA;AAED,QAAM,gBAA0C;AAAA,IAC/C;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACD;AAEA,wCAAQC,aAAAA,aAAa,UAAb,EAAsB,OAAO,eAAgB,UAAS;AAC/D;AAEO,MAAM,mBAAmB,CAC/B,qBAEA,SAAS,mBAAmB,OAAU;AACrC,QAAM,EAAE,QAAQ,GAAG,KAAA,IAAS;AAE5B,wCACE,eAAc,EAAA,QACd,yCAAC,kBAAkB,EAAA,GAAG,KAAM,CAAA,GAC7B;AAEF;;;"}
1
+ {"version":3,"file":"harmony102.cjs","sources":["../src/features/auth/core/types/jwtTokenPayload.ts"],"sourcesContent":["import { z } from 'zod'\nimport { TEAM_ROLE_SCHEMA } from '../../../publicApi/types/teamRoleTypes'\n\nexport const JWT_TOKEN_PAYLOAD_SCHEMA = z.object({\n\tuserId: z.number(),\n\tuserUuid: z.string().uuid(),\n\tteamId: z.number(),\n\tteamUuid: z.string().uuid(),\n\tuserTeamRole: TEAM_ROLE_SCHEMA,\n\tuserEmail: z.string().email(),\n\tuserName: z.string(),\n\tuserCurrentTeamId: z.number(),\n\tplanId: z.number(),\n\tplanName: z.string(),\n\tisProviderAlpha: z.boolean(),\n\tisFullyAuthenticated: z.boolean(),\n\texp: z.number(),\n})\nexport type JwtTokenPayload = z.infer<typeof JWT_TOKEN_PAYLOAD_SCHEMA>\n"],"names":["z","TEAM_ROLE_SCHEMA"],"mappings":";;;;AAGa,MAAA,2BAA2BA,MAAE,OAAO;AAAA,EAChD,QAAQA,MAAE,OAAO;AAAA,EACjB,UAAUA,IAAA,EAAE,OAAO,EAAE,KAAK;AAAA,EAC1B,QAAQA,MAAE,OAAO;AAAA,EACjB,UAAUA,IAAA,EAAE,OAAO,EAAE,KAAK;AAAA,EAC1B,cAAcC,cAAA;AAAA,EACd,WAAWD,IAAA,EAAE,OAAO,EAAE,MAAM;AAAA,EAC5B,UAAUA,MAAE,OAAO;AAAA,EACnB,mBAAmBA,MAAE,OAAO;AAAA,EAC5B,QAAQA,MAAE,OAAO;AAAA,EACjB,UAAUA,MAAE,OAAO;AAAA,EACnB,iBAAiBA,MAAE,QAAQ;AAAA,EAC3B,sBAAsBA,MAAE,QAAQ;AAAA,EAChC,KAAKA,MAAE,OAAO;AACf,CAAC;;"}