@lokalise/harmony 1.38.0 → 1.39.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (448) hide show
  1. package/dist/harmony.cjs +21 -14
  2. package/dist/harmony.cjs.map +1 -1
  3. package/dist/harmony.mjs +22 -15
  4. package/dist/harmony.mjs.map +1 -1
  5. package/dist/harmony100.cjs +7 -6
  6. package/dist/harmony100.cjs.map +1 -1
  7. package/dist/harmony100.mjs +6 -5
  8. package/dist/harmony100.mjs.map +1 -1
  9. package/dist/harmony101.cjs +6 -6
  10. package/dist/harmony101.mjs +6 -6
  11. package/dist/harmony102.cjs +6 -21
  12. package/dist/harmony102.cjs.map +1 -1
  13. package/dist/harmony102.mjs +6 -21
  14. package/dist/harmony102.mjs.map +1 -1
  15. package/dist/harmony103.cjs +57 -6
  16. package/dist/harmony103.cjs.map +1 -1
  17. package/dist/harmony103.mjs +56 -5
  18. package/dist/harmony103.mjs.map +1 -1
  19. package/dist/harmony104.cjs +40 -19
  20. package/dist/harmony104.cjs.map +1 -1
  21. package/dist/harmony104.mjs +40 -19
  22. package/dist/harmony104.mjs.map +1 -1
  23. package/dist/harmony105.cjs +6 -13
  24. package/dist/harmony105.cjs.map +1 -1
  25. package/dist/harmony105.mjs +5 -12
  26. package/dist/harmony105.mjs.map +1 -1
  27. package/dist/harmony106.cjs +9 -166
  28. package/dist/harmony106.cjs.map +1 -1
  29. package/dist/harmony106.mjs +8 -165
  30. package/dist/harmony106.mjs.map +1 -1
  31. package/dist/harmony107.cjs +24 -44
  32. package/dist/harmony107.cjs.map +1 -1
  33. package/dist/harmony107.mjs +23 -43
  34. package/dist/harmony107.mjs.map +1 -1
  35. package/dist/harmony108.cjs +6 -12
  36. package/dist/harmony108.cjs.map +1 -1
  37. package/dist/harmony108.mjs +5 -11
  38. package/dist/harmony108.mjs.map +1 -1
  39. package/dist/harmony109.cjs +21 -12
  40. package/dist/harmony109.cjs.map +1 -1
  41. package/dist/harmony109.mjs +20 -11
  42. package/dist/harmony109.mjs.map +1 -1
  43. package/dist/harmony110.cjs +13 -12
  44. package/dist/harmony110.cjs.map +1 -1
  45. package/dist/harmony110.mjs +12 -11
  46. package/dist/harmony110.mjs.map +1 -1
  47. package/dist/harmony111.cjs +12 -21
  48. package/dist/harmony111.cjs.map +1 -1
  49. package/dist/harmony111.mjs +11 -20
  50. package/dist/harmony111.mjs.map +1 -1
  51. package/dist/harmony112.cjs +9 -18
  52. package/dist/harmony112.cjs.map +1 -1
  53. package/dist/harmony112.mjs +9 -18
  54. package/dist/harmony112.mjs.map +1 -1
  55. package/dist/harmony113.cjs +98 -5
  56. package/dist/harmony113.cjs.map +1 -1
  57. package/dist/harmony113.mjs +81 -5
  58. package/dist/harmony113.mjs.map +1 -1
  59. package/dist/harmony114.cjs +12 -130
  60. package/dist/harmony114.cjs.map +1 -1
  61. package/dist/harmony114.mjs +12 -130
  62. package/dist/harmony114.mjs.map +1 -1
  63. package/dist/harmony115.cjs +19 -13
  64. package/dist/harmony115.cjs.map +1 -1
  65. package/dist/harmony115.mjs +18 -12
  66. package/dist/harmony115.mjs.map +1 -1
  67. package/dist/harmony116.cjs +87 -5
  68. package/dist/harmony116.cjs.map +1 -1
  69. package/dist/harmony116.mjs +87 -5
  70. package/dist/harmony116.mjs.map +1 -1
  71. package/dist/harmony117.cjs +29 -39
  72. package/dist/harmony117.cjs.map +1 -1
  73. package/dist/harmony117.mjs +29 -39
  74. package/dist/harmony117.mjs.map +1 -1
  75. package/dist/harmony118.cjs +21 -60
  76. package/dist/harmony118.cjs.map +1 -1
  77. package/dist/harmony118.mjs +20 -59
  78. package/dist/harmony118.mjs.map +1 -1
  79. package/dist/harmony119.cjs +5 -6
  80. package/dist/harmony119.cjs.map +1 -1
  81. package/dist/harmony119.mjs +5 -6
  82. package/dist/harmony119.mjs.map +1 -1
  83. package/dist/harmony120.cjs +6 -15
  84. package/dist/harmony120.cjs.map +1 -1
  85. package/dist/harmony120.mjs +5 -14
  86. package/dist/harmony120.mjs.map +1 -1
  87. package/dist/harmony121.cjs +6 -19
  88. package/dist/harmony121.cjs.map +1 -1
  89. package/dist/harmony121.mjs +5 -18
  90. package/dist/harmony121.mjs.map +1 -1
  91. package/dist/harmony122.cjs +132 -6
  92. package/dist/harmony122.cjs.map +1 -1
  93. package/dist/harmony122.mjs +131 -5
  94. package/dist/harmony122.mjs.map +1 -1
  95. package/dist/harmony123.cjs +12 -87
  96. package/dist/harmony123.cjs.map +1 -1
  97. package/dist/harmony123.mjs +11 -86
  98. package/dist/harmony123.mjs.map +1 -1
  99. package/dist/harmony124.cjs +5 -30
  100. package/dist/harmony124.cjs.map +1 -1
  101. package/dist/harmony124.mjs +5 -30
  102. package/dist/harmony124.mjs.map +1 -1
  103. package/dist/harmony125.cjs +36 -95
  104. package/dist/harmony125.cjs.map +1 -1
  105. package/dist/harmony125.mjs +36 -78
  106. package/dist/harmony125.mjs.map +1 -1
  107. package/dist/harmony126.cjs +57 -59
  108. package/dist/harmony126.cjs.map +1 -1
  109. package/dist/harmony126.mjs +57 -59
  110. package/dist/harmony126.mjs.map +1 -1
  111. package/dist/harmony127.cjs +6 -87
  112. package/dist/harmony127.cjs.map +1 -1
  113. package/dist/harmony127.mjs +6 -87
  114. package/dist/harmony127.mjs.map +1 -1
  115. package/dist/harmony128.cjs +3 -15
  116. package/dist/harmony128.cjs.map +1 -1
  117. package/dist/harmony128.mjs +3 -15
  118. package/dist/harmony128.mjs.map +1 -1
  119. package/dist/harmony129.cjs +97 -6
  120. package/dist/harmony129.cjs.map +1 -1
  121. package/dist/harmony129.mjs +96 -5
  122. package/dist/harmony129.mjs.map +1 -1
  123. package/dist/harmony130.cjs +14 -6
  124. package/dist/harmony130.cjs.map +1 -1
  125. package/dist/harmony130.mjs +13 -5
  126. package/dist/harmony130.mjs.map +1 -1
  127. package/dist/harmony131.cjs +14 -10
  128. package/dist/harmony131.cjs.map +1 -1
  129. package/dist/harmony131.mjs +14 -10
  130. package/dist/harmony131.mjs.map +1 -1
  131. package/dist/harmony132.cjs +36 -7
  132. package/dist/harmony132.cjs.map +1 -1
  133. package/dist/harmony132.mjs +36 -7
  134. package/dist/harmony132.mjs.map +1 -1
  135. package/dist/harmony133.cjs +27 -56
  136. package/dist/harmony133.cjs.map +1 -1
  137. package/dist/harmony133.mjs +27 -56
  138. package/dist/harmony133.mjs.map +1 -1
  139. package/dist/harmony134.cjs +8 -58
  140. package/dist/harmony134.cjs.map +1 -1
  141. package/dist/harmony134.mjs +8 -58
  142. package/dist/harmony134.mjs.map +1 -1
  143. package/dist/harmony135.cjs +63 -19
  144. package/dist/harmony135.cjs.map +1 -1
  145. package/dist/harmony135.mjs +62 -18
  146. package/dist/harmony135.mjs.map +1 -1
  147. package/dist/harmony136.cjs +85 -93
  148. package/dist/harmony136.cjs.map +1 -1
  149. package/dist/harmony136.mjs +85 -93
  150. package/dist/harmony136.mjs.map +1 -1
  151. package/dist/harmony137.cjs +19 -14
  152. package/dist/harmony137.cjs.map +1 -1
  153. package/dist/harmony137.mjs +18 -13
  154. package/dist/harmony137.mjs.map +1 -1
  155. package/dist/harmony138.cjs +12 -13
  156. package/dist/harmony138.cjs.map +1 -1
  157. package/dist/harmony138.mjs +12 -13
  158. package/dist/harmony138.mjs.map +1 -1
  159. package/dist/harmony139.cjs +13 -34
  160. package/dist/harmony139.cjs.map +1 -1
  161. package/dist/harmony139.mjs +13 -34
  162. package/dist/harmony139.mjs.map +1 -1
  163. package/dist/harmony14.cjs +1 -1
  164. package/dist/harmony14.mjs +1 -1
  165. package/dist/harmony140.cjs +14 -26
  166. package/dist/harmony140.cjs.map +1 -1
  167. package/dist/harmony140.mjs +14 -26
  168. package/dist/harmony140.mjs.map +1 -1
  169. package/dist/harmony141.cjs +10 -12
  170. package/dist/harmony141.cjs.map +1 -1
  171. package/dist/harmony141.mjs +10 -12
  172. package/dist/harmony141.mjs.map +1 -1
  173. package/dist/harmony142.cjs +14 -13
  174. package/dist/harmony142.cjs.map +1 -1
  175. package/dist/harmony142.mjs +14 -13
  176. package/dist/harmony142.mjs.map +1 -1
  177. package/dist/harmony143.cjs +19 -14
  178. package/dist/harmony143.cjs.map +1 -1
  179. package/dist/harmony143.mjs +19 -14
  180. package/dist/harmony143.mjs.map +1 -1
  181. package/dist/harmony144.cjs +12 -46
  182. package/dist/harmony144.cjs.map +1 -1
  183. package/dist/harmony144.mjs +12 -46
  184. package/dist/harmony144.mjs.map +1 -1
  185. package/dist/harmony145.cjs +7 -12
  186. package/dist/harmony145.cjs.map +1 -1
  187. package/dist/harmony145.mjs +6 -11
  188. package/dist/harmony145.mjs.map +1 -1
  189. package/dist/harmony146.cjs +57 -11
  190. package/dist/harmony146.cjs.map +1 -1
  191. package/dist/harmony146.mjs +57 -11
  192. package/dist/harmony146.mjs.map +1 -1
  193. package/dist/harmony147.cjs +59 -15
  194. package/dist/harmony147.cjs.map +1 -1
  195. package/dist/harmony147.mjs +59 -15
  196. package/dist/harmony147.mjs.map +1 -1
  197. package/dist/harmony148.cjs +19 -22
  198. package/dist/harmony148.cjs.map +1 -1
  199. package/dist/harmony148.mjs +18 -21
  200. package/dist/harmony148.mjs.map +1 -1
  201. package/dist/harmony149.cjs +5 -11
  202. package/dist/harmony149.cjs.map +1 -1
  203. package/dist/harmony149.mjs +5 -11
  204. package/dist/harmony149.mjs.map +1 -1
  205. package/dist/harmony150.cjs +11 -5
  206. package/dist/harmony150.cjs.map +1 -1
  207. package/dist/harmony150.mjs +11 -5
  208. package/dist/harmony150.mjs.map +1 -1
  209. package/dist/harmony151.cjs +31 -11
  210. package/dist/harmony151.cjs.map +1 -1
  211. package/dist/harmony151.mjs +31 -11
  212. package/dist/harmony151.mjs.map +1 -1
  213. package/dist/harmony152.cjs +10 -28
  214. package/dist/harmony152.cjs.map +1 -1
  215. package/dist/harmony152.mjs +10 -28
  216. package/dist/harmony152.mjs.map +1 -1
  217. package/dist/harmony153.cjs +46 -14
  218. package/dist/harmony153.cjs.map +1 -1
  219. package/dist/harmony153.mjs +46 -14
  220. package/dist/harmony153.mjs.map +1 -1
  221. package/dist/harmony154.cjs +15 -0
  222. package/dist/harmony154.cjs.map +1 -0
  223. package/dist/harmony154.mjs +15 -0
  224. package/dist/harmony154.mjs.map +1 -0
  225. package/dist/harmony17.cjs +1 -1
  226. package/dist/harmony17.mjs +1 -1
  227. package/dist/harmony25.cjs +1 -1
  228. package/dist/harmony25.mjs +1 -1
  229. package/dist/harmony26.cjs +1 -1
  230. package/dist/harmony26.mjs +1 -1
  231. package/dist/harmony29.cjs +1 -1
  232. package/dist/harmony29.mjs +1 -1
  233. package/dist/harmony3.cjs +3 -3
  234. package/dist/harmony3.mjs +3 -3
  235. package/dist/harmony30.cjs +2 -2
  236. package/dist/harmony30.mjs +2 -2
  237. package/dist/harmony31.cjs +2 -2
  238. package/dist/harmony31.mjs +2 -2
  239. package/dist/harmony32.cjs +1 -1
  240. package/dist/harmony32.mjs +1 -1
  241. package/dist/harmony33.cjs +2 -2
  242. package/dist/harmony33.mjs +2 -2
  243. package/dist/harmony34.cjs +1 -1
  244. package/dist/harmony34.mjs +1 -1
  245. package/dist/harmony35.cjs +11 -1
  246. package/dist/harmony35.cjs.map +1 -1
  247. package/dist/harmony35.mjs +12 -2
  248. package/dist/harmony35.mjs.map +1 -1
  249. package/dist/harmony36.cjs +1 -1
  250. package/dist/harmony36.mjs +1 -1
  251. package/dist/harmony4.cjs +10 -10
  252. package/dist/harmony4.mjs +10 -10
  253. package/dist/harmony5.cjs +1 -1
  254. package/dist/harmony5.mjs +1 -1
  255. package/dist/harmony58.cjs +4 -4
  256. package/dist/harmony58.cjs.map +1 -1
  257. package/dist/harmony58.mjs +4 -4
  258. package/dist/harmony58.mjs.map +1 -1
  259. package/dist/harmony59.cjs +4 -4
  260. package/dist/harmony59.cjs.map +1 -1
  261. package/dist/harmony59.mjs +4 -4
  262. package/dist/harmony59.mjs.map +1 -1
  263. package/dist/harmony6.cjs +4 -4
  264. package/dist/harmony6.mjs +4 -4
  265. package/dist/harmony60.cjs +13 -123
  266. package/dist/harmony60.cjs.map +1 -1
  267. package/dist/harmony60.mjs +13 -123
  268. package/dist/harmony60.mjs.map +1 -1
  269. package/dist/harmony61.cjs +102 -60
  270. package/dist/harmony61.cjs.map +1 -1
  271. package/dist/harmony61.mjs +102 -60
  272. package/dist/harmony61.mjs.map +1 -1
  273. package/dist/harmony62.cjs +80 -4
  274. package/dist/harmony62.cjs.map +1 -1
  275. package/dist/harmony62.mjs +80 -4
  276. package/dist/harmony62.mjs.map +1 -1
  277. package/dist/harmony63.cjs +4 -21
  278. package/dist/harmony63.cjs.map +1 -1
  279. package/dist/harmony63.mjs +4 -21
  280. package/dist/harmony63.mjs.map +1 -1
  281. package/dist/harmony64.cjs +20 -17
  282. package/dist/harmony64.cjs.map +1 -1
  283. package/dist/harmony64.mjs +20 -17
  284. package/dist/harmony64.mjs.map +1 -1
  285. package/dist/harmony65.cjs +34 -140
  286. package/dist/harmony65.cjs.map +1 -1
  287. package/dist/harmony65.mjs +31 -137
  288. package/dist/harmony65.mjs.map +1 -1
  289. package/dist/harmony66.cjs +144 -35
  290. package/dist/harmony66.cjs.map +1 -1
  291. package/dist/harmony66.mjs +143 -34
  292. package/dist/harmony66.mjs.map +1 -1
  293. package/dist/harmony67.cjs +35 -25
  294. package/dist/harmony67.cjs.map +1 -1
  295. package/dist/harmony67.mjs +35 -25
  296. package/dist/harmony67.mjs.map +1 -1
  297. package/dist/harmony68.cjs +24 -6
  298. package/dist/harmony68.cjs.map +1 -1
  299. package/dist/harmony68.mjs +24 -6
  300. package/dist/harmony68.mjs.map +1 -1
  301. package/dist/harmony69.cjs +6 -82
  302. package/dist/harmony69.cjs.map +1 -1
  303. package/dist/harmony69.mjs +6 -82
  304. package/dist/harmony69.mjs.map +1 -1
  305. package/dist/harmony7.cjs +1 -1
  306. package/dist/harmony7.mjs +1 -1
  307. package/dist/harmony70.cjs +79 -28
  308. package/dist/harmony70.cjs.map +1 -1
  309. package/dist/harmony70.mjs +79 -28
  310. package/dist/harmony70.mjs.map +1 -1
  311. package/dist/harmony71.cjs +53 -17
  312. package/dist/harmony71.cjs.map +1 -1
  313. package/dist/harmony71.mjs +53 -17
  314. package/dist/harmony71.mjs.map +1 -1
  315. package/dist/harmony72.cjs +19 -16
  316. package/dist/harmony72.cjs.map +1 -1
  317. package/dist/harmony72.mjs +18 -15
  318. package/dist/harmony72.mjs.map +1 -1
  319. package/dist/harmony73.cjs +15 -18
  320. package/dist/harmony73.cjs.map +1 -1
  321. package/dist/harmony73.mjs +15 -18
  322. package/dist/harmony73.mjs.map +1 -1
  323. package/dist/harmony74.cjs +18 -61
  324. package/dist/harmony74.cjs.map +1 -1
  325. package/dist/harmony74.mjs +18 -61
  326. package/dist/harmony74.mjs.map +1 -1
  327. package/dist/harmony75.cjs +61 -6
  328. package/dist/harmony75.cjs.map +1 -1
  329. package/dist/harmony75.mjs +61 -6
  330. package/dist/harmony75.mjs.map +1 -1
  331. package/dist/harmony76.cjs +7 -10
  332. package/dist/harmony76.cjs.map +1 -1
  333. package/dist/harmony76.mjs +6 -9
  334. package/dist/harmony76.mjs.map +1 -1
  335. package/dist/harmony77.cjs +8 -17
  336. package/dist/harmony77.cjs.map +1 -1
  337. package/dist/harmony77.mjs +8 -17
  338. package/dist/harmony77.mjs.map +1 -1
  339. package/dist/harmony78.cjs +13 -18
  340. package/dist/harmony78.cjs.map +1 -1
  341. package/dist/harmony78.mjs +14 -19
  342. package/dist/harmony78.mjs.map +1 -1
  343. package/dist/harmony79.cjs +22 -4
  344. package/dist/harmony79.cjs.map +1 -1
  345. package/dist/harmony79.mjs +22 -4
  346. package/dist/harmony79.mjs.map +1 -1
  347. package/dist/harmony8.cjs +5 -5
  348. package/dist/harmony8.mjs +5 -5
  349. package/dist/harmony80.cjs +4 -31
  350. package/dist/harmony80.cjs.map +1 -1
  351. package/dist/harmony80.mjs +5 -32
  352. package/dist/harmony80.mjs.map +1 -1
  353. package/dist/harmony81.cjs +26 -26
  354. package/dist/harmony81.cjs.map +1 -1
  355. package/dist/harmony81.mjs +28 -28
  356. package/dist/harmony81.mjs.map +1 -1
  357. package/dist/harmony82.cjs +25 -12
  358. package/dist/harmony82.cjs.map +1 -1
  359. package/dist/harmony82.mjs +26 -13
  360. package/dist/harmony82.mjs.map +1 -1
  361. package/dist/harmony83.cjs +12 -24
  362. package/dist/harmony83.cjs.map +1 -1
  363. package/dist/harmony83.mjs +13 -25
  364. package/dist/harmony83.mjs.map +1 -1
  365. package/dist/harmony84.cjs +27 -55
  366. package/dist/harmony84.cjs.map +1 -1
  367. package/dist/harmony84.mjs +29 -57
  368. package/dist/harmony84.mjs.map +1 -1
  369. package/dist/harmony85.cjs +60 -10
  370. package/dist/harmony85.cjs.map +1 -1
  371. package/dist/harmony85.mjs +59 -9
  372. package/dist/harmony85.mjs.map +1 -1
  373. package/dist/harmony86.cjs +10 -9
  374. package/dist/harmony86.cjs.map +1 -1
  375. package/dist/harmony86.mjs +9 -8
  376. package/dist/harmony86.mjs.map +1 -1
  377. package/dist/harmony87.cjs +5 -26
  378. package/dist/harmony87.cjs.map +1 -1
  379. package/dist/harmony87.mjs +8 -29
  380. package/dist/harmony87.mjs.map +1 -1
  381. package/dist/harmony88.cjs +29 -3
  382. package/dist/harmony88.cjs.map +1 -1
  383. package/dist/harmony88.mjs +29 -3
  384. package/dist/harmony88.mjs.map +1 -1
  385. package/dist/harmony89.cjs +3 -33
  386. package/dist/harmony89.cjs.map +1 -1
  387. package/dist/harmony89.mjs +3 -33
  388. package/dist/harmony89.mjs.map +1 -1
  389. package/dist/harmony90.cjs +33 -43
  390. package/dist/harmony90.cjs.map +1 -1
  391. package/dist/harmony90.mjs +33 -43
  392. package/dist/harmony90.mjs.map +1 -1
  393. package/dist/harmony91.cjs +43 -29
  394. package/dist/harmony91.cjs.map +1 -1
  395. package/dist/harmony91.mjs +43 -29
  396. package/dist/harmony91.mjs.map +1 -1
  397. package/dist/harmony92.cjs +26 -63
  398. package/dist/harmony92.cjs.map +1 -1
  399. package/dist/harmony92.mjs +26 -63
  400. package/dist/harmony92.mjs.map +1 -1
  401. package/dist/harmony93.cjs +66 -15
  402. package/dist/harmony93.cjs.map +1 -1
  403. package/dist/harmony93.mjs +66 -15
  404. package/dist/harmony93.mjs.map +1 -1
  405. package/dist/harmony94.cjs +15 -3
  406. package/dist/harmony94.cjs.map +1 -1
  407. package/dist/harmony94.mjs +15 -3
  408. package/dist/harmony94.mjs.map +1 -1
  409. package/dist/harmony95.cjs +4 -7
  410. package/dist/harmony95.cjs.map +1 -1
  411. package/dist/harmony95.mjs +3 -6
  412. package/dist/harmony95.mjs.map +1 -1
  413. package/dist/harmony96.cjs +166 -9
  414. package/dist/harmony96.cjs.map +1 -1
  415. package/dist/harmony96.mjs +165 -8
  416. package/dist/harmony96.mjs.map +1 -1
  417. package/dist/harmony97.cjs +44 -9
  418. package/dist/harmony97.cjs.map +1 -1
  419. package/dist/harmony97.mjs +43 -8
  420. package/dist/harmony97.mjs.map +1 -1
  421. package/dist/harmony98.cjs +9 -55
  422. package/dist/harmony98.cjs.map +1 -1
  423. package/dist/harmony98.mjs +11 -57
  424. package/dist/harmony98.mjs.map +1 -1
  425. package/dist/harmony99.cjs +21 -42
  426. package/dist/harmony99.cjs.map +1 -1
  427. package/dist/harmony99.mjs +20 -41
  428. package/dist/harmony99.mjs.map +1 -1
  429. package/dist/types/src/features/auth/frontend/hooks/useAuthenticatedProjectContributor.d.ts +1 -1
  430. package/dist/types/src/features/navigation/hooks/useNavigationQueries.d.ts +6 -6
  431. package/dist/types/src/features/publicApi/contributors.d.ts +16 -16
  432. package/dist/types/src/features/publicApi/hooks/useAddContributorsMutation.d.ts +1 -1
  433. package/dist/types/src/features/publicApi/hooks/useCreateProjectMutation.d.ts +1 -1
  434. package/dist/types/src/features/publicApi/hooks/useListContributorsQuery.d.ts +1 -1
  435. package/dist/types/src/features/publicApi/hooks/useListProjectsQuery.d.ts +1 -1
  436. package/dist/types/src/features/publicApi/hooks/useRetrieveContributorQuery.d.ts +1 -1
  437. package/dist/types/src/features/publicApi/hooks/useRetrieveProjectQuery.d.ts +1 -1
  438. package/dist/types/src/features/publicApi/hooks/useRetrieveUserPermissions.d.ts +23 -0
  439. package/dist/types/src/features/publicApi/hooks/useUpdateContributorMutation.d.ts +1 -1
  440. package/dist/types/src/features/publicApi/hooks/useUpdateProjectMutation.d.ts +1 -1
  441. package/dist/types/src/features/publicApi/node.d.ts +1 -0
  442. package/dist/types/src/features/publicApi/projects.d.ts +10 -10
  443. package/dist/types/src/features/publicApi/teamUsers.d.ts +111 -0
  444. package/dist/types/src/features/publicApi/types/contributorTypes.d.ts +18 -18
  445. package/dist/types/src/features/publicApi/types/permissionTypes.d.ts +1 -0
  446. package/dist/types/src/features/publicApi/types/projectTypes.d.ts +6 -6
  447. package/dist/types/src/features/publicApi/types/teamUserTypes.d.ts +66 -0
  448. package/package.json +1 -1
@@ -1,102 +1,43 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const React = require("react");
4
- const debounce = require("./harmony129.cjs");
5
- const throttle = require("./harmony130.cjs");
6
- function _interopNamespaceDefault(e) {
7
- const n = Object.create(null, { [Symbol.toStringTag]: { value: "Module" } });
8
- if (e) {
9
- for (const k in e) {
10
- if (k !== "default") {
11
- const d = Object.getOwnPropertyDescriptor(e, k);
12
- Object.defineProperty(n, k, d.get ? d : {
13
- enumerable: true,
14
- get: () => e[k]
15
- });
16
- }
17
- }
18
- }
19
- n.default = e;
20
- return Object.freeze(n);
21
- }
22
- const React__namespace = /* @__PURE__ */ _interopNamespaceDefault(React);
23
- const patchResizeCallback = (resizeCallback, refreshMode, refreshRate, refreshOptions) => {
24
- switch (refreshMode) {
25
- case "debounce":
26
- return debounce.default(resizeCallback, refreshRate, refreshOptions);
27
- case "throttle":
28
- return throttle.default(resizeCallback, refreshRate, refreshOptions);
29
- default:
30
- return resizeCallback;
31
- }
32
- };
33
- const useCallbackRef = (
34
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
35
- (callback) => {
36
- const callbackRef = React__namespace.useRef(callback);
37
- React__namespace.useEffect(() => {
38
- callbackRef.current = callback;
39
- });
40
- return React__namespace.useMemo(() => (...args) => {
41
- var _a;
42
- return (_a = callbackRef.current) === null || _a === void 0 ? void 0 : _a.call(callbackRef, ...args);
43
- }, []);
44
- }
45
- );
46
- const useRefProxy = (
47
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
48
- (targetRef) => {
49
- const [refElement, setRefElement] = React__namespace.useState((targetRef === null || targetRef === void 0 ? void 0 : targetRef.current) || null);
50
- if (targetRef) {
51
- setTimeout(() => {
52
- if (targetRef.current !== refElement) {
53
- setRefElement(targetRef.current);
54
- }
55
- }, 0);
56
- }
57
- const refProxy = React__namespace.useMemo(() => new Proxy((node) => {
58
- if (node !== refElement) {
59
- setRefElement(node);
60
- }
61
- }, {
62
- get(target, prop) {
63
- if (prop === "current") {
64
- return refElement;
65
- }
66
- return target[prop];
67
- },
68
- set(target, prop, value) {
69
- if (prop === "current") {
70
- setRefElement(value);
71
- } else {
72
- target[prop] = value;
73
- }
74
- return true;
75
- }
76
- }), [refElement]);
77
- return { refProxy, refElement, setRefElement };
78
- }
79
- );
80
- const getDimensions = (entry, box) => {
81
- if (box === "border-box") {
82
- return {
83
- width: entry.borderBoxSize[0].inlineSize,
84
- height: entry.borderBoxSize[0].blockSize
3
+ const jsxRuntime = require("react/jsx-runtime");
4
+ const louis = require("@lokalise/louis");
5
+ const useEffectOnce = require("./harmony13.cjs");
6
+ const TaskOverview = require("./harmony136.cjs");
7
+ const TasksContext = require("./harmony124.cjs");
8
+ const taskEvents = require("./harmony127.cjs");
9
+ const TasksPopover_module = require("./harmony137.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 });
85
16
  };
86
- }
87
- if (box === "content-box") {
88
- return {
89
- width: entry.contentBoxSize[0].inlineSize,
90
- height: entry.contentBoxSize[0].blockSize
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);
91
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
+ ] });
92
39
  }
93
- return {
94
- width: entry.contentRect.width,
95
- height: entry.contentRect.height
96
- };
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)) });
97
41
  };
98
- exports.getDimensions = getDimensions;
99
- exports.patchResizeCallback = patchResizeCallback;
100
- exports.useCallbackRef = useCallbackRef;
101
- exports.useRefProxy = useRefProxy;
42
+ exports.TasksPopover = TasksPopover;
102
43
  //# sourceMappingURL=harmony125.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"harmony125.cjs","sources":["../node_modules/react-resize-detector/build/utils.js"],"sourcesContent":["import * as React from 'react';\nimport debounce from 'lodash/debounce.js';\nimport throttle from 'lodash/throttle.js';\n\n/**\n * Wraps the resize callback with a lodash debounce / throttle based on the refresh mode\n */\nconst patchResizeCallback = (resizeCallback, refreshMode, refreshRate, refreshOptions) => {\n switch (refreshMode) {\n case 'debounce':\n return debounce(resizeCallback, refreshRate, refreshOptions);\n case 'throttle':\n return throttle(resizeCallback, refreshRate, refreshOptions);\n default:\n return resizeCallback;\n }\n};\n/**\n * A custom hook that converts a callback to a ref to avoid triggering re-renders when passed as a\n * prop or avoid re-executing effects when passed as a dependency\n */\nconst useCallbackRef = \n// eslint-disable-next-line @typescript-eslint/no-explicit-any\n(callback) => {\n const callbackRef = React.useRef(callback);\n React.useEffect(() => {\n callbackRef.current = callback;\n });\n return React.useMemo(() => ((...args) => { var _a; return (_a = callbackRef.current) === null || _a === void 0 ? void 0 : _a.call(callbackRef, ...args); }), []);\n};\n/** `useRef` hook doesn't handle conditional rendering or dynamic ref changes.\n * This hook creates a proxy that ensures that `refElement` is updated whenever the ref is changed. */\nconst useRefProxy = \n// eslint-disable-next-line @typescript-eslint/no-explicit-any\n(targetRef) => {\n // we are going to use this ref to store the last element that was passed to the hook\n const [refElement, setRefElement] = React.useState((targetRef === null || targetRef === void 0 ? void 0 : targetRef.current) || null);\n // if targetRef is passed, we need to update the refElement\n // we have to use setTimeout because ref get assigned after the hook is called\n // in the future releases we are going to remove targetRef and force users to use ref returned by the hook\n if (targetRef) {\n setTimeout(() => {\n if (targetRef.current !== refElement) {\n setRefElement(targetRef.current);\n }\n }, 0);\n }\n // this is a memo that will be called every time the ref is changed\n // This proxy will properly call setState either when the ref is called as a function or when `.current` is set\n // we call setState inside to trigger rerender\n const refProxy = React.useMemo(() => new Proxy((node) => {\n if (node !== refElement) {\n setRefElement(node);\n }\n }, {\n get(target, prop) {\n if (prop === 'current') {\n return refElement;\n }\n return target[prop];\n },\n set(target, prop, value) {\n if (prop === 'current') {\n setRefElement(value);\n }\n else {\n target[prop] = value;\n }\n return true;\n },\n }), [refElement]);\n return { refProxy, refElement, setRefElement };\n};\n/** Calculates the dimensions of the element based on the current box model.\n * @see https://developer.mozilla.org/en-US/docs/Learn/CSS/Building_blocks/The_box_model\n */\nconst getDimensions = (entry, box) => {\n // Value\t Border\t Padding\t Inner Content\n // ---------------------------------------------------\n // 'border-box'\t Yes\t Yes\t Yes\n // 'content-box'\t No\t No\t Yes\n // undefined No\t No?\t Yes\n if (box === 'border-box') {\n return {\n width: entry.borderBoxSize[0].inlineSize,\n height: entry.borderBoxSize[0].blockSize,\n };\n }\n if (box === 'content-box') {\n return {\n width: entry.contentBoxSize[0].inlineSize,\n height: entry.contentBoxSize[0].blockSize,\n };\n }\n return {\n width: entry.contentRect.width,\n height: entry.contentRect.height,\n };\n};\n\nexport { getDimensions, patchResizeCallback, useCallbackRef, useRefProxy };\n//# sourceMappingURL=utils.js.map\n"],"names":["debounce","throttle","React"],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAOK,MAAC,sBAAsB,CAAC,gBAAgB,aAAa,aAAa,mBAAmB;AACtF,UAAQ,aAAW;AAAA,IACf,KAAK;AACD,aAAOA,iBAAS,gBAAgB,aAAa,cAAc;AAAA,IAC/D,KAAK;AACD,aAAOC,iBAAS,gBAAgB,aAAa,cAAc;AAAA,IAC/D;AACI,aAAO;AAAA,EACnB;AACA;AAKK,MAAC;AAAA;AAAA,EAEN,CAAC,aAAa;AACV,UAAM,cAAcC,iBAAM,OAAO,QAAQ;AACzCA,qBAAM,UAAU,MAAM;AAClB,kBAAY,UAAU;AAAA,IAC9B,CAAK;AACD,WAAOA,iBAAM,QAAQ,MAAO,IAAI,SAAS;AAAE,UAAI;AAAI,cAAQ,KAAK,YAAY,aAAa,QAAQ,OAAO,SAAS,SAAS,GAAG,KAAK,aAAa,GAAG,IAAI;AAAA,IAAI,GAAG,CAAA,CAAE;AAAA,EACnK;AAAA;AAGK,MAAC;AAAA;AAAA,EAEN,CAAC,cAAc;AAEX,UAAM,CAAC,YAAY,aAAa,IAAIA,iBAAM,UAAU,cAAc,QAAQ,cAAc,SAAS,SAAS,UAAU,YAAY,IAAI;AAIpI,QAAI,WAAW;AACX,iBAAW,MAAM;AACb,YAAI,UAAU,YAAY,YAAY;AAClC,wBAAc,UAAU,OAAO;AAAA,QAC/C;AAAA,MACS,GAAE,CAAC;AAAA,IACZ;AAII,UAAM,WAAWA,iBAAM,QAAQ,MAAM,IAAI,MAAM,CAAC,SAAS;AACrD,UAAI,SAAS,YAAY;AACrB,sBAAc,IAAI;AAAA,MAC9B;AAAA,IACA,GAAO;AAAA,MACC,IAAI,QAAQ,MAAM;AACd,YAAI,SAAS,WAAW;AACpB,iBAAO;AAAA,QACvB;AACY,eAAO,OAAO,IAAI;AAAA,MACrB;AAAA,MACD,IAAI,QAAQ,MAAM,OAAO;AACrB,YAAI,SAAS,WAAW;AACpB,wBAAc,KAAK;AAAA,QACnC,OACiB;AACD,iBAAO,IAAI,IAAI;AAAA,QAC/B;AACY,eAAO;AAAA,MACV;AAAA,IACT,CAAK,GAAG,CAAC,UAAU,CAAC;AAChB,WAAO,EAAE,UAAU,YAAY,cAAe;AAAA,EAClD;AAAA;AAIK,MAAC,gBAAgB,CAAC,OAAO,QAAQ;AAMlC,MAAI,QAAQ,cAAc;AACtB,WAAO;AAAA,MACH,OAAO,MAAM,cAAc,CAAC,EAAE;AAAA,MAC9B,QAAQ,MAAM,cAAc,CAAC,EAAE;AAAA,IAClC;AAAA,EACT;AACI,MAAI,QAAQ,eAAe;AACvB,WAAO;AAAA,MACH,OAAO,MAAM,eAAe,CAAC,EAAE;AAAA,MAC/B,QAAQ,MAAM,eAAe,CAAC,EAAE;AAAA,IACnC;AAAA,EACT;AACI,SAAO;AAAA,IACH,OAAO,MAAM,YAAY;AAAA,IACzB,QAAQ,MAAM,YAAY;AAAA,EAC7B;AACL;;;;;","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"harmony125.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,85 +1,43 @@
1
- import * as React from "react";
2
- import debounce from "./harmony129.mjs";
3
- import throttle from "./harmony130.mjs";
4
- const patchResizeCallback = (resizeCallback, refreshMode, refreshRate, refreshOptions) => {
5
- switch (refreshMode) {
6
- case "debounce":
7
- return debounce(resizeCallback, refreshRate, refreshOptions);
8
- case "throttle":
9
- return throttle(resizeCallback, refreshRate, refreshOptions);
10
- default:
11
- return resizeCallback;
12
- }
13
- };
14
- const useCallbackRef = (
15
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
16
- (callback) => {
17
- const callbackRef = React.useRef(callback);
18
- React.useEffect(() => {
19
- callbackRef.current = callback;
20
- });
21
- return React.useMemo(() => (...args) => {
22
- var _a;
23
- return (_a = callbackRef.current) === null || _a === void 0 ? void 0 : _a.call(callbackRef, ...args);
24
- }, []);
25
- }
26
- );
27
- const useRefProxy = (
28
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
29
- (targetRef) => {
30
- const [refElement, setRefElement] = React.useState((targetRef === null || targetRef === void 0 ? void 0 : targetRef.current) || null);
31
- if (targetRef) {
32
- setTimeout(() => {
33
- if (targetRef.current !== refElement) {
34
- setRefElement(targetRef.current);
35
- }
36
- }, 0);
37
- }
38
- const refProxy = React.useMemo(() => new Proxy((node) => {
39
- if (node !== refElement) {
40
- setRefElement(node);
41
- }
42
- }, {
43
- get(target, prop) {
44
- if (prop === "current") {
45
- return refElement;
46
- }
47
- return target[prop];
48
- },
49
- set(target, prop, value) {
50
- if (prop === "current") {
51
- setRefElement(value);
52
- } else {
53
- target[prop] = value;
54
- }
55
- return true;
56
- }
57
- }), [refElement]);
58
- return { refProxy, refElement, setRefElement };
59
- }
60
- );
61
- const getDimensions = (entry, box) => {
62
- if (box === "border-box") {
63
- return {
64
- width: entry.borderBoxSize[0].inlineSize,
65
- height: entry.borderBoxSize[0].blockSize
1
+ import { jsx, jsxs } from "react/jsx-runtime";
2
+ import { Loading, Link } from "@lokalise/louis";
3
+ import { useEffectOnce } from "./harmony13.mjs";
4
+ import { TaskOverview } from "./harmony136.mjs";
5
+ import { useTasks } from "./harmony124.mjs";
6
+ import { TaskEvents } from "./harmony127.mjs";
7
+ import styles from "./harmony137.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 });
66
14
  };
67
- }
68
- if (box === "content-box") {
69
- return {
70
- width: entry.contentBoxSize[0].inlineSize,
71
- height: entry.contentBoxSize[0].blockSize
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);
72
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
+ ] });
73
37
  }
74
- return {
75
- width: entry.contentRect.width,
76
- height: entry.contentRect.height
77
- };
38
+ return /* @__PURE__ */ jsx("div", { "data-testid": "sidebar-tasks-popover", className: styles.tasksContainer, children: tasks.map((task) => /* @__PURE__ */ jsx(TaskOverview, { task }, task.id)) });
78
39
  };
79
40
  export {
80
- getDimensions,
81
- patchResizeCallback,
82
- useCallbackRef,
83
- useRefProxy
41
+ TasksPopover
84
42
  };
85
43
  //# sourceMappingURL=harmony125.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"harmony125.mjs","sources":["../node_modules/react-resize-detector/build/utils.js"],"sourcesContent":["import * as React from 'react';\nimport debounce from 'lodash/debounce.js';\nimport throttle from 'lodash/throttle.js';\n\n/**\n * Wraps the resize callback with a lodash debounce / throttle based on the refresh mode\n */\nconst patchResizeCallback = (resizeCallback, refreshMode, refreshRate, refreshOptions) => {\n switch (refreshMode) {\n case 'debounce':\n return debounce(resizeCallback, refreshRate, refreshOptions);\n case 'throttle':\n return throttle(resizeCallback, refreshRate, refreshOptions);\n default:\n return resizeCallback;\n }\n};\n/**\n * A custom hook that converts a callback to a ref to avoid triggering re-renders when passed as a\n * prop or avoid re-executing effects when passed as a dependency\n */\nconst useCallbackRef = \n// eslint-disable-next-line @typescript-eslint/no-explicit-any\n(callback) => {\n const callbackRef = React.useRef(callback);\n React.useEffect(() => {\n callbackRef.current = callback;\n });\n return React.useMemo(() => ((...args) => { var _a; return (_a = callbackRef.current) === null || _a === void 0 ? void 0 : _a.call(callbackRef, ...args); }), []);\n};\n/** `useRef` hook doesn't handle conditional rendering or dynamic ref changes.\n * This hook creates a proxy that ensures that `refElement` is updated whenever the ref is changed. */\nconst useRefProxy = \n// eslint-disable-next-line @typescript-eslint/no-explicit-any\n(targetRef) => {\n // we are going to use this ref to store the last element that was passed to the hook\n const [refElement, setRefElement] = React.useState((targetRef === null || targetRef === void 0 ? void 0 : targetRef.current) || null);\n // if targetRef is passed, we need to update the refElement\n // we have to use setTimeout because ref get assigned after the hook is called\n // in the future releases we are going to remove targetRef and force users to use ref returned by the hook\n if (targetRef) {\n setTimeout(() => {\n if (targetRef.current !== refElement) {\n setRefElement(targetRef.current);\n }\n }, 0);\n }\n // this is a memo that will be called every time the ref is changed\n // This proxy will properly call setState either when the ref is called as a function or when `.current` is set\n // we call setState inside to trigger rerender\n const refProxy = React.useMemo(() => new Proxy((node) => {\n if (node !== refElement) {\n setRefElement(node);\n }\n }, {\n get(target, prop) {\n if (prop === 'current') {\n return refElement;\n }\n return target[prop];\n },\n set(target, prop, value) {\n if (prop === 'current') {\n setRefElement(value);\n }\n else {\n target[prop] = value;\n }\n return true;\n },\n }), [refElement]);\n return { refProxy, refElement, setRefElement };\n};\n/** Calculates the dimensions of the element based on the current box model.\n * @see https://developer.mozilla.org/en-US/docs/Learn/CSS/Building_blocks/The_box_model\n */\nconst getDimensions = (entry, box) => {\n // Value\t Border\t Padding\t Inner Content\n // ---------------------------------------------------\n // 'border-box'\t Yes\t Yes\t Yes\n // 'content-box'\t No\t No\t Yes\n // undefined No\t No?\t Yes\n if (box === 'border-box') {\n return {\n width: entry.borderBoxSize[0].inlineSize,\n height: entry.borderBoxSize[0].blockSize,\n };\n }\n if (box === 'content-box') {\n return {\n width: entry.contentBoxSize[0].inlineSize,\n height: entry.contentBoxSize[0].blockSize,\n };\n }\n return {\n width: entry.contentRect.width,\n height: entry.contentRect.height,\n };\n};\n\nexport { getDimensions, patchResizeCallback, useCallbackRef, useRefProxy };\n//# sourceMappingURL=utils.js.map\n"],"names":[],"mappings":";;;AAOK,MAAC,sBAAsB,CAAC,gBAAgB,aAAa,aAAa,mBAAmB;AACtF,UAAQ,aAAW;AAAA,IACf,KAAK;AACD,aAAO,SAAS,gBAAgB,aAAa,cAAc;AAAA,IAC/D,KAAK;AACD,aAAO,SAAS,gBAAgB,aAAa,cAAc;AAAA,IAC/D;AACI,aAAO;AAAA,EACnB;AACA;AAKK,MAAC;AAAA;AAAA,EAEN,CAAC,aAAa;AACV,UAAM,cAAc,MAAM,OAAO,QAAQ;AACzC,UAAM,UAAU,MAAM;AAClB,kBAAY,UAAU;AAAA,IAC9B,CAAK;AACD,WAAO,MAAM,QAAQ,MAAO,IAAI,SAAS;AAAE,UAAI;AAAI,cAAQ,KAAK,YAAY,aAAa,QAAQ,OAAO,SAAS,SAAS,GAAG,KAAK,aAAa,GAAG,IAAI;AAAA,IAAI,GAAG,CAAA,CAAE;AAAA,EACnK;AAAA;AAGK,MAAC;AAAA;AAAA,EAEN,CAAC,cAAc;AAEX,UAAM,CAAC,YAAY,aAAa,IAAI,MAAM,UAAU,cAAc,QAAQ,cAAc,SAAS,SAAS,UAAU,YAAY,IAAI;AAIpI,QAAI,WAAW;AACX,iBAAW,MAAM;AACb,YAAI,UAAU,YAAY,YAAY;AAClC,wBAAc,UAAU,OAAO;AAAA,QAC/C;AAAA,MACS,GAAE,CAAC;AAAA,IACZ;AAII,UAAM,WAAW,MAAM,QAAQ,MAAM,IAAI,MAAM,CAAC,SAAS;AACrD,UAAI,SAAS,YAAY;AACrB,sBAAc,IAAI;AAAA,MAC9B;AAAA,IACA,GAAO;AAAA,MACC,IAAI,QAAQ,MAAM;AACd,YAAI,SAAS,WAAW;AACpB,iBAAO;AAAA,QACvB;AACY,eAAO,OAAO,IAAI;AAAA,MACrB;AAAA,MACD,IAAI,QAAQ,MAAM,OAAO;AACrB,YAAI,SAAS,WAAW;AACpB,wBAAc,KAAK;AAAA,QACnC,OACiB;AACD,iBAAO,IAAI,IAAI;AAAA,QAC/B;AACY,eAAO;AAAA,MACV;AAAA,IACT,CAAK,GAAG,CAAC,UAAU,CAAC;AAChB,WAAO,EAAE,UAAU,YAAY,cAAe;AAAA,EAClD;AAAA;AAIK,MAAC,gBAAgB,CAAC,OAAO,QAAQ;AAMlC,MAAI,QAAQ,cAAc;AACtB,WAAO;AAAA,MACH,OAAO,MAAM,cAAc,CAAC,EAAE;AAAA,MAC9B,QAAQ,MAAM,cAAc,CAAC,EAAE;AAAA,IAClC;AAAA,EACT;AACI,MAAI,QAAQ,eAAe;AACvB,WAAO;AAAA,MACH,OAAO,MAAM,eAAe,CAAC,EAAE;AAAA,MAC/B,QAAQ,MAAM,eAAe,CAAC,EAAE;AAAA,IACnC;AAAA,EACT;AACI,SAAO;AAAA,IACH,OAAO,MAAM,YAAY;AAAA,IACzB,QAAQ,MAAM,YAAY;AAAA,EAC7B;AACL;","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"harmony125.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,65 +1,63 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const min = Math.min;
4
- const max = Math.max;
5
- function clamp(start, value, end) {
6
- return max(start, min(value, end));
7
- }
8
- function evaluate(value, param) {
9
- return typeof value === "function" ? value(param) : value;
10
- }
11
- function getSide(placement) {
12
- return placement.split("-")[0];
13
- }
14
- function getOppositeAxis(axis) {
15
- return axis === "x" ? "y" : "x";
16
- }
17
- function getSideAxis(placement) {
18
- return ["top", "bottom"].includes(getSide(placement)) ? "y" : "x";
19
- }
20
- function expandPaddingObject(padding) {
21
- return {
22
- top: 0,
23
- right: 0,
24
- bottom: 0,
25
- left: 0,
26
- ...padding
3
+ const jsxRuntime = require("react/jsx-runtime");
4
+ const useEffectOnce = require("./harmony13.cjs");
5
+ const React = require("react");
6
+ const TasksContext = require("./harmony124.cjs");
7
+ const taskEvents = require("./harmony127.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
27
  };
28
- }
29
- function getPaddingObject(padding) {
30
- return typeof padding !== "number" ? expandPaddingObject(padding) : {
31
- top: padding,
32
- right: padding,
33
- bottom: padding,
34
- left: padding
28
+ const fetchTaskCount = async () => {
29
+ const result = await getTasksCount();
30
+ setTaskCount(result);
35
31
  };
36
- }
37
- function rectToClientRect(rect) {
38
- const {
39
- x,
40
- y,
41
- width,
42
- height
43
- } = rect;
44
- return {
45
- width,
46
- height,
47
- top: y,
48
- left: x,
49
- right: x + width,
50
- bottom: y + height,
51
- x,
52
- y
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
53
54
  };
54
- }
55
- exports.clamp = clamp;
56
- exports.evaluate = evaluate;
57
- exports.expandPaddingObject = expandPaddingObject;
58
- exports.getOppositeAxis = getOppositeAxis;
59
- exports.getPaddingObject = getPaddingObject;
60
- exports.getSide = getSide;
61
- exports.getSideAxis = getSideAxis;
62
- exports.max = max;
63
- exports.min = min;
64
- exports.rectToClientRect = rectToClientRect;
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;
65
63
  //# sourceMappingURL=harmony126.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"harmony126.cjs","sources":["../node_modules/@floating-ui/utils/dist/floating-ui.utils.mjs"],"sourcesContent":["/**\n * Custom positioning reference element.\n * @see https://floating-ui.com/docs/virtual-elements\n */\n\nconst sides = ['top', 'right', 'bottom', 'left'];\nconst alignments = ['start', 'end'];\nconst placements = /*#__PURE__*/sides.reduce((acc, side) => acc.concat(side, side + \"-\" + alignments[0], side + \"-\" + alignments[1]), []);\nconst min = Math.min;\nconst max = Math.max;\nconst round = Math.round;\nconst floor = Math.floor;\nconst createCoords = v => ({\n x: v,\n y: v\n});\nconst oppositeSideMap = {\n left: 'right',\n right: 'left',\n bottom: 'top',\n top: 'bottom'\n};\nconst oppositeAlignmentMap = {\n start: 'end',\n end: 'start'\n};\nfunction clamp(start, value, end) {\n return max(start, min(value, end));\n}\nfunction evaluate(value, param) {\n return typeof value === 'function' ? value(param) : value;\n}\nfunction getSide(placement) {\n return placement.split('-')[0];\n}\nfunction getAlignment(placement) {\n return placement.split('-')[1];\n}\nfunction getOppositeAxis(axis) {\n return axis === 'x' ? 'y' : 'x';\n}\nfunction getAxisLength(axis) {\n return axis === 'y' ? 'height' : 'width';\n}\nfunction getSideAxis(placement) {\n return ['top', 'bottom'].includes(getSide(placement)) ? 'y' : 'x';\n}\nfunction getAlignmentAxis(placement) {\n return getOppositeAxis(getSideAxis(placement));\n}\nfunction getAlignmentSides(placement, rects, rtl) {\n if (rtl === void 0) {\n rtl = false;\n }\n const alignment = getAlignment(placement);\n const alignmentAxis = getAlignmentAxis(placement);\n const length = getAxisLength(alignmentAxis);\n let mainAlignmentSide = alignmentAxis === 'x' ? alignment === (rtl ? 'end' : 'start') ? 'right' : 'left' : alignment === 'start' ? 'bottom' : 'top';\n if (rects.reference[length] > rects.floating[length]) {\n mainAlignmentSide = getOppositePlacement(mainAlignmentSide);\n }\n return [mainAlignmentSide, getOppositePlacement(mainAlignmentSide)];\n}\nfunction getExpandedPlacements(placement) {\n const oppositePlacement = getOppositePlacement(placement);\n return [getOppositeAlignmentPlacement(placement), oppositePlacement, getOppositeAlignmentPlacement(oppositePlacement)];\n}\nfunction getOppositeAlignmentPlacement(placement) {\n return placement.replace(/start|end/g, alignment => oppositeAlignmentMap[alignment]);\n}\nfunction getSideList(side, isStart, rtl) {\n const lr = ['left', 'right'];\n const rl = ['right', 'left'];\n const tb = ['top', 'bottom'];\n const bt = ['bottom', 'top'];\n switch (side) {\n case 'top':\n case 'bottom':\n if (rtl) return isStart ? rl : lr;\n return isStart ? lr : rl;\n case 'left':\n case 'right':\n return isStart ? tb : bt;\n default:\n return [];\n }\n}\nfunction getOppositeAxisPlacements(placement, flipAlignment, direction, rtl) {\n const alignment = getAlignment(placement);\n let list = getSideList(getSide(placement), direction === 'start', rtl);\n if (alignment) {\n list = list.map(side => side + \"-\" + alignment);\n if (flipAlignment) {\n list = list.concat(list.map(getOppositeAlignmentPlacement));\n }\n }\n return list;\n}\nfunction getOppositePlacement(placement) {\n return placement.replace(/left|right|bottom|top/g, side => oppositeSideMap[side]);\n}\nfunction expandPaddingObject(padding) {\n return {\n top: 0,\n right: 0,\n bottom: 0,\n left: 0,\n ...padding\n };\n}\nfunction getPaddingObject(padding) {\n return typeof padding !== 'number' ? expandPaddingObject(padding) : {\n top: padding,\n right: padding,\n bottom: padding,\n left: padding\n };\n}\nfunction rectToClientRect(rect) {\n const {\n x,\n y,\n width,\n height\n } = rect;\n return {\n width,\n height,\n top: y,\n left: x,\n right: x + width,\n bottom: y + height,\n x,\n y\n };\n}\n\nexport { alignments, clamp, createCoords, evaluate, expandPaddingObject, floor, getAlignment, getAlignmentAxis, getAlignmentSides, getAxisLength, getExpandedPlacements, getOppositeAlignmentPlacement, getOppositeAxis, getOppositeAxisPlacements, getOppositePlacement, getPaddingObject, getSide, getSideAxis, max, min, placements, rectToClientRect, round, sides };\n"],"names":[],"mappings":";;AAQK,MAAC,MAAM,KAAK;AACZ,MAAC,MAAM,KAAK;AAiBjB,SAAS,MAAM,OAAO,OAAO,KAAK;AAChC,SAAO,IAAI,OAAO,IAAI,OAAO,GAAG,CAAC;AACnC;AACA,SAAS,SAAS,OAAO,OAAO;AAC9B,SAAO,OAAO,UAAU,aAAa,MAAM,KAAK,IAAI;AACtD;AACA,SAAS,QAAQ,WAAW;AAC1B,SAAO,UAAU,MAAM,GAAG,EAAE,CAAC;AAC/B;AAIA,SAAS,gBAAgB,MAAM;AAC7B,SAAO,SAAS,MAAM,MAAM;AAC9B;AAIA,SAAS,YAAY,WAAW;AAC9B,SAAO,CAAC,OAAO,QAAQ,EAAE,SAAS,QAAQ,SAAS,CAAC,IAAI,MAAM;AAChE;AAuDA,SAAS,oBAAoB,SAAS;AACpC,SAAO;AAAA,IACL,KAAK;AAAA,IACL,OAAO;AAAA,IACP,QAAQ;AAAA,IACR,MAAM;AAAA,IACN,GAAG;AAAA,EACJ;AACH;AACA,SAAS,iBAAiB,SAAS;AACjC,SAAO,OAAO,YAAY,WAAW,oBAAoB,OAAO,IAAI;AAAA,IAClE,KAAK;AAAA,IACL,OAAO;AAAA,IACP,QAAQ;AAAA,IACR,MAAM;AAAA,EACP;AACH;AACA,SAAS,iBAAiB,MAAM;AAC9B,QAAM;AAAA,IACJ;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACJ,IAAM;AACJ,SAAO;AAAA,IACL;AAAA,IACA;AAAA,IACA,KAAK;AAAA,IACL,MAAM;AAAA,IACN,OAAO,IAAI;AAAA,IACX,QAAQ,IAAI;AAAA,IACZ;AAAA,IACA;AAAA,EACD;AACH;;;;;;;;;;;","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"harmony126.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,65 +1,63 @@
1
- const min = Math.min;
2
- const max = Math.max;
3
- function clamp(start, value, end) {
4
- return max(start, min(value, end));
5
- }
6
- function evaluate(value, param) {
7
- return typeof value === "function" ? value(param) : value;
8
- }
9
- function getSide(placement) {
10
- return placement.split("-")[0];
11
- }
12
- function getOppositeAxis(axis) {
13
- return axis === "x" ? "y" : "x";
14
- }
15
- function getSideAxis(placement) {
16
- return ["top", "bottom"].includes(getSide(placement)) ? "y" : "x";
17
- }
18
- function expandPaddingObject(padding) {
19
- return {
20
- top: 0,
21
- right: 0,
22
- bottom: 0,
23
- left: 0,
24
- ...padding
1
+ import { jsx } from "react/jsx-runtime";
2
+ import { useEffectOnce } from "./harmony13.mjs";
3
+ import { useState } from "react";
4
+ import { TasksContext } from "./harmony124.mjs";
5
+ import { TaskEvents } from "./harmony127.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
25
  };
26
- }
27
- function getPaddingObject(padding) {
28
- return typeof padding !== "number" ? expandPaddingObject(padding) : {
29
- top: padding,
30
- right: padding,
31
- bottom: padding,
32
- left: padding
26
+ const fetchTaskCount = async () => {
27
+ const result = await getTasksCount();
28
+ setTaskCount(result);
33
29
  };
34
- }
35
- function rectToClientRect(rect) {
36
- const {
37
- x,
38
- y,
39
- width,
40
- height
41
- } = rect;
42
- return {
43
- width,
44
- height,
45
- top: y,
46
- left: x,
47
- right: x + width,
48
- bottom: y + height,
49
- x,
50
- y
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
51
52
  };
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
+ };
53
59
  export {
54
- clamp,
55
- evaluate,
56
- expandPaddingObject,
57
- getOppositeAxis,
58
- getPaddingObject,
59
- getSide,
60
- getSideAxis,
61
- max,
62
- min,
63
- rectToClientRect
60
+ TasksProvider,
61
+ withTasksContext
64
62
  };
65
63
  //# sourceMappingURL=harmony126.mjs.map