@lokalise/harmony 1.28.0 → 1.29.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 (385) hide show
  1. package/dist/harmony.cjs +35 -27
  2. package/dist/harmony.cjs.map +1 -1
  3. package/dist/harmony.mjs +36 -28
  4. package/dist/harmony.mjs.map +1 -1
  5. package/dist/harmony100.cjs +12 -60
  6. package/dist/harmony100.cjs.map +1 -1
  7. package/dist/harmony100.mjs +11 -59
  8. package/dist/harmony100.mjs.map +1 -1
  9. package/dist/harmony101.cjs +5 -7
  10. package/dist/harmony101.cjs.map +1 -1
  11. package/dist/harmony101.mjs +5 -7
  12. package/dist/harmony101.mjs.map +1 -1
  13. package/dist/harmony102.cjs +40 -18
  14. package/dist/harmony102.cjs.map +1 -1
  15. package/dist/harmony102.mjs +40 -18
  16. package/dist/harmony102.mjs.map +1 -1
  17. package/dist/harmony103.cjs +59 -13
  18. package/dist/harmony103.cjs.map +1 -1
  19. package/dist/harmony103.mjs +59 -13
  20. package/dist/harmony103.mjs.map +1 -1
  21. package/dist/harmony104.cjs +7 -16
  22. package/dist/harmony104.cjs.map +1 -1
  23. package/dist/harmony104.mjs +7 -16
  24. package/dist/harmony104.mjs.map +1 -1
  25. package/dist/harmony106.cjs +1 -1
  26. package/dist/harmony106.mjs +1 -1
  27. package/dist/harmony107.cjs +1 -1
  28. package/dist/harmony107.mjs +1 -1
  29. package/dist/harmony109.cjs +5 -5
  30. package/dist/harmony109.mjs +5 -5
  31. package/dist/harmony113.cjs +1 -1
  32. package/dist/harmony113.mjs +1 -1
  33. package/dist/harmony114.cjs +2 -2
  34. package/dist/harmony114.mjs +2 -2
  35. package/dist/harmony116.cjs +13 -7
  36. package/dist/harmony116.cjs.map +1 -1
  37. package/dist/harmony116.mjs +13 -7
  38. package/dist/harmony116.mjs.map +1 -1
  39. package/dist/harmony117.cjs +15 -57
  40. package/dist/harmony117.cjs.map +1 -1
  41. package/dist/harmony117.mjs +15 -57
  42. package/dist/harmony117.mjs.map +1 -1
  43. package/dist/harmony118.cjs +15 -59
  44. package/dist/harmony118.cjs.map +1 -1
  45. package/dist/harmony118.mjs +15 -59
  46. package/dist/harmony118.mjs.map +1 -1
  47. package/dist/harmony119.cjs +7 -18
  48. package/dist/harmony119.cjs.map +1 -1
  49. package/dist/harmony119.mjs +6 -17
  50. package/dist/harmony119.mjs.map +1 -1
  51. package/dist/harmony120.cjs +57 -13
  52. package/dist/harmony120.cjs.map +1 -1
  53. package/dist/harmony120.mjs +57 -13
  54. package/dist/harmony120.mjs.map +1 -1
  55. package/dist/harmony121.cjs +59 -14
  56. package/dist/harmony121.cjs.map +1 -1
  57. package/dist/harmony121.mjs +59 -14
  58. package/dist/harmony121.mjs.map +1 -1
  59. package/dist/harmony122.cjs +19 -17
  60. package/dist/harmony122.cjs.map +1 -1
  61. package/dist/harmony122.mjs +18 -16
  62. package/dist/harmony122.mjs.map +1 -1
  63. package/dist/harmony123.cjs +1 -1
  64. package/dist/harmony123.mjs +1 -1
  65. package/dist/harmony125.cjs +3 -3
  66. package/dist/harmony125.mjs +3 -3
  67. package/dist/harmony127.cjs +6 -46
  68. package/dist/harmony127.cjs.map +1 -1
  69. package/dist/harmony127.mjs +6 -46
  70. package/dist/harmony127.mjs.map +1 -1
  71. package/dist/harmony128.cjs +13 -13
  72. package/dist/harmony128.cjs.map +1 -1
  73. package/dist/harmony128.mjs +12 -12
  74. package/dist/harmony128.mjs.map +1 -1
  75. package/dist/harmony129.cjs +31 -5
  76. package/dist/harmony129.cjs.map +1 -1
  77. package/dist/harmony129.mjs +31 -5
  78. package/dist/harmony129.mjs.map +1 -1
  79. package/dist/harmony130.cjs +13 -11
  80. package/dist/harmony130.cjs.map +1 -1
  81. package/dist/harmony130.mjs +13 -11
  82. package/dist/harmony130.mjs.map +1 -1
  83. package/dist/harmony131.cjs +45 -31
  84. package/dist/harmony131.cjs.map +1 -1
  85. package/dist/harmony131.mjs +45 -31
  86. package/dist/harmony131.mjs.map +1 -1
  87. package/dist/harmony132.cjs +13 -15
  88. package/dist/harmony132.cjs.map +1 -1
  89. package/dist/harmony132.mjs +12 -14
  90. package/dist/harmony132.mjs.map +1 -1
  91. package/dist/harmony15.cjs +1 -1
  92. package/dist/harmony15.mjs +1 -1
  93. package/dist/harmony22.cjs +2 -2
  94. package/dist/harmony22.mjs +2 -2
  95. package/dist/harmony23.cjs +1 -1
  96. package/dist/harmony23.mjs +1 -1
  97. package/dist/harmony24.cjs +1 -1
  98. package/dist/harmony24.mjs +1 -1
  99. package/dist/harmony25.cjs +1 -1
  100. package/dist/harmony25.mjs +1 -1
  101. package/dist/harmony26.cjs +2 -2
  102. package/dist/harmony26.mjs +2 -2
  103. package/dist/harmony27.cjs +2 -2
  104. package/dist/harmony27.mjs +2 -2
  105. package/dist/harmony28.cjs +2 -2
  106. package/dist/harmony28.mjs +2 -2
  107. package/dist/harmony29.cjs +1 -1
  108. package/dist/harmony29.mjs +1 -1
  109. package/dist/harmony3.cjs +3 -3
  110. package/dist/harmony3.mjs +3 -3
  111. package/dist/harmony30.cjs +12 -3
  112. package/dist/harmony30.cjs.map +1 -1
  113. package/dist/harmony30.mjs +12 -3
  114. package/dist/harmony30.mjs.map +1 -1
  115. package/dist/harmony31.cjs +1 -1
  116. package/dist/harmony31.mjs +1 -1
  117. package/dist/harmony32.cjs +1 -1
  118. package/dist/harmony32.mjs +1 -1
  119. package/dist/harmony33.cjs +1 -1
  120. package/dist/harmony33.mjs +1 -1
  121. package/dist/harmony37.cjs +15 -7
  122. package/dist/harmony37.cjs.map +1 -1
  123. package/dist/harmony37.mjs +15 -7
  124. package/dist/harmony37.mjs.map +1 -1
  125. package/dist/harmony38.cjs +7 -11
  126. package/dist/harmony38.cjs.map +1 -1
  127. package/dist/harmony38.mjs +9 -13
  128. package/dist/harmony38.mjs.map +1 -1
  129. package/dist/harmony39.cjs +8 -8
  130. package/dist/harmony39.cjs.map +1 -1
  131. package/dist/harmony39.mjs +8 -8
  132. package/dist/harmony39.mjs.map +1 -1
  133. package/dist/harmony4.cjs +10 -10
  134. package/dist/harmony4.mjs +10 -10
  135. package/dist/harmony40.cjs +14 -12
  136. package/dist/harmony40.cjs.map +1 -1
  137. package/dist/harmony40.mjs +14 -12
  138. package/dist/harmony40.mjs.map +1 -1
  139. package/dist/harmony41.cjs +8 -8
  140. package/dist/harmony41.cjs.map +1 -1
  141. package/dist/harmony41.mjs +9 -9
  142. package/dist/harmony41.mjs.map +1 -1
  143. package/dist/harmony42.cjs +9 -9
  144. package/dist/harmony42.cjs.map +1 -1
  145. package/dist/harmony42.mjs +10 -10
  146. package/dist/harmony42.mjs.map +1 -1
  147. package/dist/harmony43.cjs +12 -14
  148. package/dist/harmony43.cjs.map +1 -1
  149. package/dist/harmony43.mjs +12 -14
  150. package/dist/harmony43.mjs.map +1 -1
  151. package/dist/harmony44.cjs +10 -10
  152. package/dist/harmony44.cjs.map +1 -1
  153. package/dist/harmony44.mjs +10 -10
  154. package/dist/harmony44.mjs.map +1 -1
  155. package/dist/harmony45.cjs +8 -8
  156. package/dist/harmony45.cjs.map +1 -1
  157. package/dist/harmony45.mjs +8 -8
  158. package/dist/harmony45.mjs.map +1 -1
  159. package/dist/harmony46.cjs +7 -7
  160. package/dist/harmony46.cjs.map +1 -1
  161. package/dist/harmony46.mjs +7 -7
  162. package/dist/harmony46.mjs.map +1 -1
  163. package/dist/harmony47.cjs +14 -12
  164. package/dist/harmony47.cjs.map +1 -1
  165. package/dist/harmony47.mjs +14 -12
  166. package/dist/harmony47.mjs.map +1 -1
  167. package/dist/harmony48.cjs +12 -14
  168. package/dist/harmony48.cjs.map +1 -1
  169. package/dist/harmony48.mjs +12 -14
  170. package/dist/harmony48.mjs.map +1 -1
  171. package/dist/harmony49.cjs +8 -8
  172. package/dist/harmony49.cjs.map +1 -1
  173. package/dist/harmony49.mjs +8 -8
  174. package/dist/harmony49.mjs.map +1 -1
  175. package/dist/harmony5.cjs +1 -1
  176. package/dist/harmony5.mjs +1 -1
  177. package/dist/harmony50.cjs +10 -7
  178. package/dist/harmony50.cjs.map +1 -1
  179. package/dist/harmony50.mjs +12 -9
  180. package/dist/harmony50.mjs.map +1 -1
  181. package/dist/harmony51.cjs +14 -56
  182. package/dist/harmony51.cjs.map +1 -1
  183. package/dist/harmony51.mjs +14 -56
  184. package/dist/harmony51.mjs.map +1 -1
  185. package/dist/harmony52.cjs +48 -72
  186. package/dist/harmony52.cjs.map +1 -1
  187. package/dist/harmony52.mjs +47 -71
  188. package/dist/harmony52.mjs.map +1 -1
  189. package/dist/harmony53.cjs +78 -4
  190. package/dist/harmony53.cjs.map +1 -1
  191. package/dist/harmony53.mjs +78 -4
  192. package/dist/harmony53.mjs.map +1 -1
  193. package/dist/harmony54.cjs +4 -21
  194. package/dist/harmony54.cjs.map +1 -1
  195. package/dist/harmony54.mjs +4 -21
  196. package/dist/harmony54.mjs.map +1 -1
  197. package/dist/harmony55.cjs +20 -34
  198. package/dist/harmony55.cjs.map +1 -1
  199. package/dist/harmony55.mjs +20 -34
  200. package/dist/harmony55.mjs.map +1 -1
  201. package/dist/harmony56.cjs +35 -120
  202. package/dist/harmony56.cjs.map +1 -1
  203. package/dist/harmony56.mjs +34 -119
  204. package/dist/harmony56.mjs.map +1 -1
  205. package/dist/harmony57.cjs +121 -20
  206. package/dist/harmony57.cjs.map +1 -1
  207. package/dist/harmony57.mjs +120 -19
  208. package/dist/harmony57.mjs.map +1 -1
  209. package/dist/harmony58.cjs +28 -25
  210. package/dist/harmony58.cjs.map +1 -1
  211. package/dist/harmony58.mjs +28 -25
  212. package/dist/harmony58.mjs.map +1 -1
  213. package/dist/harmony59.cjs +24 -6
  214. package/dist/harmony59.cjs.map +1 -1
  215. package/dist/harmony59.mjs +24 -6
  216. package/dist/harmony59.mjs.map +1 -1
  217. package/dist/harmony6.cjs +4 -4
  218. package/dist/harmony6.mjs +4 -4
  219. package/dist/harmony60.cjs +6 -48
  220. package/dist/harmony60.cjs.map +1 -1
  221. package/dist/harmony60.mjs +6 -48
  222. package/dist/harmony60.mjs.map +1 -1
  223. package/dist/harmony61.cjs +80 -20
  224. package/dist/harmony61.cjs.map +1 -1
  225. package/dist/harmony61.mjs +80 -20
  226. package/dist/harmony61.mjs.map +1 -1
  227. package/dist/harmony62.cjs +22 -16
  228. package/dist/harmony62.cjs.map +1 -1
  229. package/dist/harmony62.mjs +22 -16
  230. package/dist/harmony62.mjs.map +1 -1
  231. package/dist/harmony63.cjs +19 -16
  232. package/dist/harmony63.cjs.map +1 -1
  233. package/dist/harmony63.mjs +18 -15
  234. package/dist/harmony63.mjs.map +1 -1
  235. package/dist/harmony64.cjs +15 -18
  236. package/dist/harmony64.cjs.map +1 -1
  237. package/dist/harmony64.mjs +15 -18
  238. package/dist/harmony64.mjs.map +1 -1
  239. package/dist/harmony65.cjs +18 -61
  240. package/dist/harmony65.cjs.map +1 -1
  241. package/dist/harmony65.mjs +18 -61
  242. package/dist/harmony65.mjs.map +1 -1
  243. package/dist/harmony66.cjs +61 -6
  244. package/dist/harmony66.cjs.map +1 -1
  245. package/dist/harmony66.mjs +61 -6
  246. package/dist/harmony66.mjs.map +1 -1
  247. package/dist/harmony67.cjs +7 -10
  248. package/dist/harmony67.cjs.map +1 -1
  249. package/dist/harmony67.mjs +6 -9
  250. package/dist/harmony67.mjs.map +1 -1
  251. package/dist/harmony68.cjs +8 -17
  252. package/dist/harmony68.cjs.map +1 -1
  253. package/dist/harmony68.mjs +7 -16
  254. package/dist/harmony68.mjs.map +1 -1
  255. package/dist/harmony69.cjs +13 -18
  256. package/dist/harmony69.cjs.map +1 -1
  257. package/dist/harmony69.mjs +13 -18
  258. package/dist/harmony69.mjs.map +1 -1
  259. package/dist/harmony70.cjs +22 -4
  260. package/dist/harmony70.cjs.map +1 -1
  261. package/dist/harmony70.mjs +22 -4
  262. package/dist/harmony70.mjs.map +1 -1
  263. package/dist/harmony71.cjs +4 -31
  264. package/dist/harmony71.cjs.map +1 -1
  265. package/dist/harmony71.mjs +5 -32
  266. package/dist/harmony71.mjs.map +1 -1
  267. package/dist/harmony72.cjs +26 -26
  268. package/dist/harmony72.cjs.map +1 -1
  269. package/dist/harmony72.mjs +27 -27
  270. package/dist/harmony72.mjs.map +1 -1
  271. package/dist/harmony73.cjs +25 -12
  272. package/dist/harmony73.cjs.map +1 -1
  273. package/dist/harmony73.mjs +25 -12
  274. package/dist/harmony73.mjs.map +1 -1
  275. package/dist/harmony74.cjs +12 -24
  276. package/dist/harmony74.cjs.map +1 -1
  277. package/dist/harmony74.mjs +13 -25
  278. package/dist/harmony74.mjs.map +1 -1
  279. package/dist/harmony75.cjs +27 -55
  280. package/dist/harmony75.cjs.map +1 -1
  281. package/dist/harmony75.mjs +29 -57
  282. package/dist/harmony75.mjs.map +1 -1
  283. package/dist/harmony76.cjs +60 -10
  284. package/dist/harmony76.cjs.map +1 -1
  285. package/dist/harmony76.mjs +59 -9
  286. package/dist/harmony76.mjs.map +1 -1
  287. package/dist/harmony77.cjs +10 -9
  288. package/dist/harmony77.cjs.map +1 -1
  289. package/dist/harmony77.mjs +9 -8
  290. package/dist/harmony77.mjs.map +1 -1
  291. package/dist/harmony78.cjs +5 -26
  292. package/dist/harmony78.cjs.map +1 -1
  293. package/dist/harmony78.mjs +8 -29
  294. package/dist/harmony78.mjs.map +1 -1
  295. package/dist/harmony79.cjs +29 -3
  296. package/dist/harmony79.cjs.map +1 -1
  297. package/dist/harmony79.mjs +29 -3
  298. package/dist/harmony79.mjs.map +1 -1
  299. package/dist/harmony80.cjs +4 -7
  300. package/dist/harmony80.cjs.map +1 -1
  301. package/dist/harmony80.mjs +3 -6
  302. package/dist/harmony80.mjs.map +1 -1
  303. package/dist/harmony81.cjs +3 -6
  304. package/dist/harmony81.cjs.map +1 -1
  305. package/dist/harmony81.mjs +3 -6
  306. package/dist/harmony81.mjs.map +1 -1
  307. package/dist/harmony82.cjs +6 -6
  308. package/dist/harmony82.mjs +6 -6
  309. package/dist/harmony83.cjs +9 -57
  310. package/dist/harmony83.cjs.map +1 -1
  311. package/dist/harmony83.mjs +8 -56
  312. package/dist/harmony83.mjs.map +1 -1
  313. package/dist/harmony84.cjs +51 -26
  314. package/dist/harmony84.cjs.map +1 -1
  315. package/dist/harmony84.mjs +52 -27
  316. package/dist/harmony84.mjs.map +1 -1
  317. package/dist/harmony85.cjs +33 -5
  318. package/dist/harmony85.cjs.map +1 -1
  319. package/dist/harmony85.mjs +33 -5
  320. package/dist/harmony85.mjs.map +1 -1
  321. package/dist/harmony86.cjs +6 -10
  322. package/dist/harmony86.cjs.map +1 -1
  323. package/dist/harmony86.mjs +5 -9
  324. package/dist/harmony86.mjs.map +1 -1
  325. package/dist/harmony87.cjs +6 -21
  326. package/dist/harmony87.cjs.map +1 -1
  327. package/dist/harmony87.mjs +6 -21
  328. package/dist/harmony87.mjs.map +1 -1
  329. package/dist/harmony88.cjs +21 -3
  330. package/dist/harmony88.cjs.map +1 -1
  331. package/dist/harmony88.mjs +21 -3
  332. package/dist/harmony88.mjs.map +1 -1
  333. package/dist/harmony89.cjs +6 -21
  334. package/dist/harmony89.cjs.map +1 -1
  335. package/dist/harmony89.mjs +5 -20
  336. package/dist/harmony89.mjs.map +1 -1
  337. package/dist/harmony90.cjs +21 -12
  338. package/dist/harmony90.cjs.map +1 -1
  339. package/dist/harmony90.mjs +20 -11
  340. package/dist/harmony90.mjs.map +1 -1
  341. package/dist/harmony91.cjs +13 -12
  342. package/dist/harmony91.cjs.map +1 -1
  343. package/dist/harmony91.mjs +12 -11
  344. package/dist/harmony91.mjs.map +1 -1
  345. package/dist/harmony92.cjs +12 -22
  346. package/dist/harmony92.cjs.map +1 -1
  347. package/dist/harmony92.mjs +11 -21
  348. package/dist/harmony92.mjs.map +1 -1
  349. package/dist/harmony93.cjs +21 -99
  350. package/dist/harmony93.cjs.map +1 -1
  351. package/dist/harmony93.mjs +20 -81
  352. package/dist/harmony93.mjs.map +1 -1
  353. package/dist/harmony94.cjs +19 -22
  354. package/dist/harmony94.cjs.map +1 -1
  355. package/dist/harmony94.mjs +18 -21
  356. package/dist/harmony94.mjs.map +1 -1
  357. package/dist/harmony95.cjs +13 -4
  358. package/dist/harmony95.cjs.map +1 -1
  359. package/dist/harmony95.mjs +13 -4
  360. package/dist/harmony95.mjs.map +1 -1
  361. package/dist/harmony96.cjs +92 -125
  362. package/dist/harmony96.cjs.map +1 -1
  363. package/dist/harmony96.mjs +76 -126
  364. package/dist/harmony96.mjs.map +1 -1
  365. package/dist/harmony97.cjs +18 -9
  366. package/dist/harmony97.cjs.map +1 -1
  367. package/dist/harmony97.mjs +18 -9
  368. package/dist/harmony97.mjs.map +1 -1
  369. package/dist/harmony98.cjs +6 -5
  370. package/dist/harmony98.cjs.map +1 -1
  371. package/dist/harmony98.mjs +6 -5
  372. package/dist/harmony98.mjs.map +1 -1
  373. package/dist/harmony99.cjs +129 -37
  374. package/dist/harmony99.cjs.map +1 -1
  375. package/dist/harmony99.mjs +129 -37
  376. package/dist/harmony99.mjs.map +1 -1
  377. package/dist/types/src/features/publicApi/hooks/useDeleteScoreMutation.d.ts +17 -0
  378. package/dist/types/src/features/publicApi/hooks/useListTeamsQuery.d.ts +7 -9
  379. package/dist/types/src/features/publicApi/hooks/useRetrieveTeamQuery.d.ts +24 -11
  380. package/dist/types/src/features/publicApi/node.d.ts +1 -0
  381. package/dist/types/src/features/publicApi/score.d.ts +72 -1
  382. package/dist/types/src/features/publicApi/team.d.ts +187 -108
  383. package/dist/types/src/features/publicApi/types/scoreTypes.d.ts +16 -0
  384. package/dist/types/src/features/publicApi/types/teamTypes.d.ts +272 -115
  385. package/package.json +9 -9
@@ -1,17 +1,63 @@
1
1
  "use strict";
2
- var __defProp = Object.defineProperty;
3
- var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
4
- var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
5
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
6
- const jwtTokenPayload = require("./harmony15.cjs");
7
- const _NewJwtIssuedEvent = class _NewJwtIssuedEvent extends CustomEvent {
8
- constructor(token) {
9
- super(_NewJwtIssuedEvent.eventName, {
10
- detail: { token, payload: jwtTokenPayload.parseJwtTokenPayload(token.accessToken) }
11
- });
12
- }
3
+ const jsxRuntime = require("react/jsx-runtime");
4
+ const useEffectOnce = require("./harmony11.cjs");
5
+ const React = require("react");
6
+ const TasksContext = require("./harmony101.cjs");
7
+ const taskEvents = require("./harmony104.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 });
13
56
  };
14
- __publicField(_NewJwtIssuedEvent, "eventName", "new-jwt-issued");
15
- let NewJwtIssuedEvent = _NewJwtIssuedEvent;
16
- exports.NewJwtIssuedEvent = NewJwtIssuedEvent;
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;
17
63
  //# sourceMappingURL=harmony103.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"harmony103.cjs","sources":["../src/features/auth/frontend/events/NewJwtIssuedEvent.ts"],"sourcesContent":["import type { JwtTokenPayload } from '@features/auth/core/types/jwtTokenPayload'\nimport { parseJwtTokenPayload } from '@features/auth/core/utils/jwtTokenPayload'\nimport type { JwtToken } from '@features/publicApi/types/userTokenTypes'\n\ntype NewJwtIssuedEventDetail = {\n\ttoken: JwtToken\n\tpayload: JwtTokenPayload | undefined\n}\n\n/**\n * This event is emitted when a new JWT token is issued or refreshed.\n */\nexport class NewJwtIssuedEvent extends CustomEvent<NewJwtIssuedEventDetail> {\n\tstatic readonly eventName = 'new-jwt-issued' as const\n\n\tconstructor(token: JwtToken) {\n\t\tsuper(NewJwtIssuedEvent.eventName, {\n\t\t\tdetail: { token, payload: parseJwtTokenPayload(token.accessToken) },\n\t\t})\n\t}\n}\n\nexport const isNewJwtIssuedEvent = (event: Event): event is NewJwtIssuedEvent =>\n\tevent.type === NewJwtIssuedEvent.eventName\n\ndeclare global {\n\tinterface WindowEventMap {\n\t\t[NewJwtIssuedEvent.eventName]: NewJwtIssuedEvent\n\t}\n}\n"],"names":["parseJwtTokenPayload"],"mappings":";;;;;;AAYO,MAAM,qBAAN,MAAM,2BAA0B,YAAqC;AAAA,EAG3E,YAAY,OAAiB;AAC5B,UAAM,mBAAkB,WAAW;AAAA,MAClC,QAAQ,EAAE,OAAO,SAASA,gBAAAA,qBAAqB,MAAM,WAAW,EAAE;AAAA,IAAA,CAClE;AAAA,EAAA;AAEH;AAPC,cADY,oBACI,aAAY;AADtB,IAAM,oBAAN;;"}
1
+ {"version":3,"file":"harmony103.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,17 +1,63 @@
1
- var __defProp = Object.defineProperty;
2
- var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
3
- var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
4
- import { parseJwtTokenPayload } from "./harmony15.mjs";
5
- const _NewJwtIssuedEvent = class _NewJwtIssuedEvent extends CustomEvent {
6
- constructor(token) {
7
- super(_NewJwtIssuedEvent.eventName, {
8
- detail: { token, payload: parseJwtTokenPayload(token.accessToken) }
9
- });
10
- }
1
+ import { jsx } from "react/jsx-runtime";
2
+ import { useEffectOnce } from "./harmony11.mjs";
3
+ import { useState } from "react";
4
+ import { TasksContext } from "./harmony101.mjs";
5
+ import { TaskEvents } from "./harmony104.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 }) });
11
58
  };
12
- __publicField(_NewJwtIssuedEvent, "eventName", "new-jwt-issued");
13
- let NewJwtIssuedEvent = _NewJwtIssuedEvent;
14
59
  export {
15
- NewJwtIssuedEvent
60
+ TasksProvider,
61
+ withTasksContext
16
62
  };
17
63
  //# sourceMappingURL=harmony103.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"harmony103.mjs","sources":["../src/features/auth/frontend/events/NewJwtIssuedEvent.ts"],"sourcesContent":["import type { JwtTokenPayload } from '@features/auth/core/types/jwtTokenPayload'\nimport { parseJwtTokenPayload } from '@features/auth/core/utils/jwtTokenPayload'\nimport type { JwtToken } from '@features/publicApi/types/userTokenTypes'\n\ntype NewJwtIssuedEventDetail = {\n\ttoken: JwtToken\n\tpayload: JwtTokenPayload | undefined\n}\n\n/**\n * This event is emitted when a new JWT token is issued or refreshed.\n */\nexport class NewJwtIssuedEvent extends CustomEvent<NewJwtIssuedEventDetail> {\n\tstatic readonly eventName = 'new-jwt-issued' as const\n\n\tconstructor(token: JwtToken) {\n\t\tsuper(NewJwtIssuedEvent.eventName, {\n\t\t\tdetail: { token, payload: parseJwtTokenPayload(token.accessToken) },\n\t\t})\n\t}\n}\n\nexport const isNewJwtIssuedEvent = (event: Event): event is NewJwtIssuedEvent =>\n\tevent.type === NewJwtIssuedEvent.eventName\n\ndeclare global {\n\tinterface WindowEventMap {\n\t\t[NewJwtIssuedEvent.eventName]: NewJwtIssuedEvent\n\t}\n}\n"],"names":[],"mappings":";;;;AAYO,MAAM,qBAAN,MAAM,2BAA0B,YAAqC;AAAA,EAG3E,YAAY,OAAiB;AAC5B,UAAM,mBAAkB,WAAW;AAAA,MAClC,QAAQ,EAAE,OAAO,SAAS,qBAAqB,MAAM,WAAW,EAAE;AAAA,IAAA,CAClE;AAAA,EAAA;AAEH;AAPC,cADY,oBACI,aAAY;AADtB,IAAM,oBAAN;"}
1
+ {"version":3,"file":"harmony103.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,19 +1,10 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- function buildGetRoute(params) {
4
- return {
5
- isEmptyResponseExpected: params.isEmptyResponseExpected ?? false,
6
- isNonJSONResponseExpected: params.isNonJSONResponseExpected ?? false,
7
- method: "get",
8
- pathResolver: params.pathResolver,
9
- requestHeaderSchema: params.requestHeaderSchema,
10
- requestPathParamsSchema: params.requestPathParamsSchema,
11
- requestQuerySchema: params.requestQuerySchema,
12
- successResponseBodySchema: params.successResponseBodySchema,
13
- description: params.description,
14
- responseSchemasByStatusCode: params.responseSchemasByStatusCode,
15
- metadata: params.metadata
16
- };
17
- }
18
- exports.buildGetRoute = buildGetRoute;
3
+ const TaskEvents = {
4
+ TaskCompleted: "task_completed",
5
+ TaskClosed: "task_closed",
6
+ Refresh: "refresh",
7
+ ShowDialog: "show_dialog"
8
+ };
9
+ exports.TaskEvents = TaskEvents;
19
10
  //# sourceMappingURL=harmony104.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"harmony104.cjs","sources":["../node_modules/@lokalise/universal-ts-utils/dist/public/api-contracts/apiContracts.js"],"sourcesContent":["const EMPTY_PARAMS = {};\nexport function buildPayloadRoute(params) {\n return {\n isEmptyResponseExpected: params.isEmptyResponseExpected ?? false,\n isNonJSONResponseExpected: params.isNonJSONResponseExpected ?? false,\n method: params.method,\n pathResolver: params.pathResolver,\n requestBodySchema: params.requestBodySchema,\n requestHeaderSchema: params.requestHeaderSchema,\n requestPathParamsSchema: params.requestPathParamsSchema,\n requestQuerySchema: params.requestQuerySchema,\n successResponseBodySchema: params.successResponseBodySchema,\n description: params.description,\n responseSchemasByStatusCode: params.responseSchemasByStatusCode,\n metadata: params.metadata,\n };\n}\nexport function buildGetRoute(params) {\n return {\n isEmptyResponseExpected: params.isEmptyResponseExpected ?? false,\n isNonJSONResponseExpected: params.isNonJSONResponseExpected ?? false,\n method: 'get',\n pathResolver: params.pathResolver,\n requestHeaderSchema: params.requestHeaderSchema,\n requestPathParamsSchema: params.requestPathParamsSchema,\n requestQuerySchema: params.requestQuerySchema,\n successResponseBodySchema: params.successResponseBodySchema,\n description: params.description,\n responseSchemasByStatusCode: params.responseSchemasByStatusCode,\n metadata: params.metadata,\n };\n}\nexport function buildDeleteRoute(params) {\n return {\n isEmptyResponseExpected: params.isEmptyResponseExpected ?? true,\n isNonJSONResponseExpected: params.isNonJSONResponseExpected ?? false,\n method: 'delete',\n pathResolver: params.pathResolver,\n requestHeaderSchema: params.requestHeaderSchema,\n requestPathParamsSchema: params.requestPathParamsSchema,\n requestQuerySchema: params.requestQuerySchema,\n successResponseBodySchema: params.successResponseBodySchema,\n description: params.description,\n responseSchemasByStatusCode: params.responseSchemasByStatusCode,\n metadata: params.metadata,\n };\n}\n/**\n * This method maps given route definition to a string of the format '/static-path-part/:path-param-value'\n */\nexport function mapRouteToPath(\n// biome-ignore lint/suspicious/noExplicitAny: We don't care about types here, we just need Zod schema\nrouteDefinition) {\n if (!routeDefinition.requestPathParamsSchema) {\n return routeDefinition.pathResolver(EMPTY_PARAMS);\n }\n const shape = routeDefinition.requestPathParamsSchema.shape;\n const resolverParams = {};\n for (const key of Object.keys(shape)) {\n resolverParams[key] = `:${key}`;\n }\n return routeDefinition.pathResolver(resolverParams);\n}\n//# sourceMappingURL=apiContracts.js.map"],"names":[],"mappings":";;AAiBO,SAAS,cAAc,QAAQ;AAClC,SAAO;AAAA,IACH,yBAAyB,OAAO,2BAA2B;AAAA,IAC3D,2BAA2B,OAAO,6BAA6B;AAAA,IAC/D,QAAQ;AAAA,IACR,cAAc,OAAO;AAAA,IACrB,qBAAqB,OAAO;AAAA,IAC5B,yBAAyB,OAAO;AAAA,IAChC,oBAAoB,OAAO;AAAA,IAC3B,2BAA2B,OAAO;AAAA,IAClC,aAAa,OAAO;AAAA,IACpB,6BAA6B,OAAO;AAAA,IACpC,UAAU,OAAO;AAAA,EACpB;AACL;;","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"harmony104.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,19 +1,10 @@
1
- function buildGetRoute(params) {
2
- return {
3
- isEmptyResponseExpected: params.isEmptyResponseExpected ?? false,
4
- isNonJSONResponseExpected: params.isNonJSONResponseExpected ?? false,
5
- method: "get",
6
- pathResolver: params.pathResolver,
7
- requestHeaderSchema: params.requestHeaderSchema,
8
- requestPathParamsSchema: params.requestPathParamsSchema,
9
- requestQuerySchema: params.requestQuerySchema,
10
- successResponseBodySchema: params.successResponseBodySchema,
11
- description: params.description,
12
- responseSchemasByStatusCode: params.responseSchemasByStatusCode,
13
- metadata: params.metadata
14
- };
15
- }
1
+ const TaskEvents = {
2
+ TaskCompleted: "task_completed",
3
+ TaskClosed: "task_closed",
4
+ Refresh: "refresh",
5
+ ShowDialog: "show_dialog"
6
+ };
16
7
  export {
17
- buildGetRoute
8
+ TaskEvents
18
9
  };
19
10
  //# sourceMappingURL=harmony104.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"harmony104.mjs","sources":["../node_modules/@lokalise/universal-ts-utils/dist/public/api-contracts/apiContracts.js"],"sourcesContent":["const EMPTY_PARAMS = {};\nexport function buildPayloadRoute(params) {\n return {\n isEmptyResponseExpected: params.isEmptyResponseExpected ?? false,\n isNonJSONResponseExpected: params.isNonJSONResponseExpected ?? false,\n method: params.method,\n pathResolver: params.pathResolver,\n requestBodySchema: params.requestBodySchema,\n requestHeaderSchema: params.requestHeaderSchema,\n requestPathParamsSchema: params.requestPathParamsSchema,\n requestQuerySchema: params.requestQuerySchema,\n successResponseBodySchema: params.successResponseBodySchema,\n description: params.description,\n responseSchemasByStatusCode: params.responseSchemasByStatusCode,\n metadata: params.metadata,\n };\n}\nexport function buildGetRoute(params) {\n return {\n isEmptyResponseExpected: params.isEmptyResponseExpected ?? false,\n isNonJSONResponseExpected: params.isNonJSONResponseExpected ?? false,\n method: 'get',\n pathResolver: params.pathResolver,\n requestHeaderSchema: params.requestHeaderSchema,\n requestPathParamsSchema: params.requestPathParamsSchema,\n requestQuerySchema: params.requestQuerySchema,\n successResponseBodySchema: params.successResponseBodySchema,\n description: params.description,\n responseSchemasByStatusCode: params.responseSchemasByStatusCode,\n metadata: params.metadata,\n };\n}\nexport function buildDeleteRoute(params) {\n return {\n isEmptyResponseExpected: params.isEmptyResponseExpected ?? true,\n isNonJSONResponseExpected: params.isNonJSONResponseExpected ?? false,\n method: 'delete',\n pathResolver: params.pathResolver,\n requestHeaderSchema: params.requestHeaderSchema,\n requestPathParamsSchema: params.requestPathParamsSchema,\n requestQuerySchema: params.requestQuerySchema,\n successResponseBodySchema: params.successResponseBodySchema,\n description: params.description,\n responseSchemasByStatusCode: params.responseSchemasByStatusCode,\n metadata: params.metadata,\n };\n}\n/**\n * This method maps given route definition to a string of the format '/static-path-part/:path-param-value'\n */\nexport function mapRouteToPath(\n// biome-ignore lint/suspicious/noExplicitAny: We don't care about types here, we just need Zod schema\nrouteDefinition) {\n if (!routeDefinition.requestPathParamsSchema) {\n return routeDefinition.pathResolver(EMPTY_PARAMS);\n }\n const shape = routeDefinition.requestPathParamsSchema.shape;\n const resolverParams = {};\n for (const key of Object.keys(shape)) {\n resolverParams[key] = `:${key}`;\n }\n return routeDefinition.pathResolver(resolverParams);\n}\n//# sourceMappingURL=apiContracts.js.map"],"names":[],"mappings":"AAiBO,SAAS,cAAc,QAAQ;AAClC,SAAO;AAAA,IACH,yBAAyB,OAAO,2BAA2B;AAAA,IAC3D,2BAA2B,OAAO,6BAA6B;AAAA,IAC/D,QAAQ;AAAA,IACR,cAAc,OAAO;AAAA,IACrB,qBAAqB,OAAO;AAAA,IAC5B,yBAAyB,OAAO;AAAA,IAChC,oBAAoB,OAAO;AAAA,IAC3B,2BAA2B,OAAO;AAAA,IAClC,aAAa,OAAO;AAAA,IACpB,6BAA6B,OAAO;AAAA,IACpC,UAAU,OAAO;AAAA,EACpB;AACL;","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"harmony104.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,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
3
- const _commonjsHelpers = require("./harmony129.cjs");
3
+ const _commonjsHelpers = require("./harmony127.cjs");
4
4
  const debounce$1 = require("./harmony111.cjs");
5
5
  var debounceExports = debounce$1.__require();
6
6
  const debounce = /* @__PURE__ */ _commonjsHelpers.getDefaultExportFromCjs(debounceExports);
@@ -1,4 +1,4 @@
1
- import { getDefaultExportFromCjs } from "./harmony129.mjs";
1
+ import { getDefaultExportFromCjs } from "./harmony127.mjs";
2
2
  import { __require as requireDebounce } from "./harmony111.mjs";
3
3
  var debounceExports = requireDebounce();
4
4
  const debounce = /* @__PURE__ */ getDefaultExportFromCjs(debounceExports);
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
3
- const _commonjsHelpers = require("./harmony129.cjs");
3
+ const _commonjsHelpers = require("./harmony127.cjs");
4
4
  const throttle$1 = require("./harmony115.cjs");
5
5
  var throttleExports = throttle$1.__require();
6
6
  const throttle = /* @__PURE__ */ _commonjsHelpers.getDefaultExportFromCjs(throttleExports);
@@ -1,4 +1,4 @@
1
- import { getDefaultExportFromCjs } from "./harmony129.mjs";
1
+ import { getDefaultExportFromCjs } from "./harmony127.mjs";
2
2
  import { __require as requireThrottle } from "./harmony115.mjs";
3
3
  var throttleExports = requireThrottle();
4
4
  const throttle = /* @__PURE__ */ getDefaultExportFromCjs(throttleExports);
@@ -6,11 +6,11 @@ const text = require("./harmony8.cjs");
6
6
  const url = require("./harmony9.cjs");
7
7
  const date = require("./harmony10.cjs");
8
8
  const dateFns = require("date-fns");
9
- const index = require("./harmony116.cjs");
10
- const TaskLanguage = require("./harmony117.cjs");
11
- const TasksContext = require("./harmony98.cjs");
12
- const content = require("./harmony118.cjs");
13
- const TaskOverview_module = require("./harmony119.cjs");
9
+ const index = require("./harmony119.cjs");
10
+ const TaskLanguage = require("./harmony120.cjs");
11
+ const TasksContext = require("./harmony101.cjs");
12
+ const content = require("./harmony121.cjs");
13
+ const TaskOverview_module = require("./harmony122.cjs");
14
14
  const TaskOverview = ({ task }) => {
15
15
  const { getProjectUrl, taskTitleOnClick } = TasksContext.useTasks();
16
16
  const taskLanguages = content.getTaskLanguages(task.langs);
@@ -4,11 +4,11 @@ import { convertNewLineToBreakTag } from "./harmony8.mjs";
4
4
  import { makeUrlClickable } from "./harmony9.mjs";
5
5
  import { formatDate } from "./harmony10.mjs";
6
6
  import { parseISO } from "date-fns";
7
- import { splitFileName } from "./harmony116.mjs";
8
- import { TaskLanguage } from "./harmony117.mjs";
9
- import { useTasks } from "./harmony98.mjs";
10
- import { getTaskLanguages, tagColor } from "./harmony118.mjs";
11
- import styles from "./harmony119.mjs";
7
+ import { splitFileName } from "./harmony119.mjs";
8
+ import { TaskLanguage } from "./harmony120.mjs";
9
+ import { useTasks } from "./harmony101.mjs";
10
+ import { getTaskLanguages, tagColor } from "./harmony121.mjs";
11
+ import styles from "./harmony122.mjs";
12
12
  const TaskOverview = ({ task }) => {
13
13
  const { getProjectUrl, taskTitleOnClick } = useTasks();
14
14
  const taskLanguages = getTaskLanguages(task.langs);
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const _root = require("./harmony120.cjs");
3
+ const _root = require("./harmony116.cjs");
4
4
  var now_1;
5
5
  var hasRequiredNow;
6
6
  function requireNow() {
@@ -1,4 +1,4 @@
1
- import { __require as require_root } from "./harmony120.mjs";
1
+ import { __require as require_root } from "./harmony116.mjs";
2
2
  var now_1;
3
3
  var hasRequiredNow;
4
4
  function requireNow() {
@@ -1,8 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const _baseTrim = require("./harmony121.cjs");
3
+ const _baseTrim = require("./harmony117.cjs");
4
4
  const isObject = require("./harmony112.cjs");
5
- const isSymbol = require("./harmony122.cjs");
5
+ const isSymbol = require("./harmony118.cjs");
6
6
  var toNumber_1;
7
7
  var hasRequiredToNumber;
8
8
  function requireToNumber() {
@@ -1,6 +1,6 @@
1
- import { __require as require_baseTrim } from "./harmony121.mjs";
1
+ import { __require as require_baseTrim } from "./harmony117.mjs";
2
2
  import { __require as requireIsObject } from "./harmony112.mjs";
3
- import { __require as requireIsSymbol } from "./harmony122.mjs";
3
+ import { __require as requireIsSymbol } from "./harmony118.mjs";
4
4
  var toNumber_1;
5
5
  var hasRequiredToNumber;
6
6
  function requireToNumber() {
@@ -1,10 +1,16 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const splitFileName = (fileName) => {
4
- const lastDotIndex = fileName.lastIndexOf(".");
5
- const name = fileName.slice(0, lastDotIndex);
6
- const extension = fileName.slice(lastDotIndex + 1);
7
- return { name, extension };
8
- };
9
- exports.splitFileName = splitFileName;
3
+ const _freeGlobal = require("./harmony123.cjs");
4
+ var _root;
5
+ var hasRequired_root;
6
+ function require_root() {
7
+ if (hasRequired_root) return _root;
8
+ hasRequired_root = 1;
9
+ var freeGlobal = _freeGlobal.__require();
10
+ var freeSelf = typeof self == "object" && self && self.Object === Object && self;
11
+ var root = freeGlobal || freeSelf || Function("return this")();
12
+ _root = root;
13
+ return _root;
14
+ }
15
+ exports.__require = require_root;
10
16
  //# sourceMappingURL=harmony116.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"harmony116.cjs","sources":["../src/components/Sidebar/utils/index.ts"],"sourcesContent":["export const splitFileName = (fileName: string) => {\n\tconst lastDotIndex = fileName.lastIndexOf('.')\n\tconst name = fileName.slice(0, lastDotIndex)\n\tconst extension = fileName.slice(lastDotIndex + 1)\n\n\treturn { name, extension }\n}\n"],"names":[],"mappings":";;AAAa,MAAA,gBAAgB,CAAC,aAAqB;AAC5C,QAAA,eAAe,SAAS,YAAY,GAAG;AAC7C,QAAM,OAAO,SAAS,MAAM,GAAG,YAAY;AAC3C,QAAM,YAAY,SAAS,MAAM,eAAe,CAAC;AAE1C,SAAA,EAAE,MAAM,UAAU;AAC1B;;"}
1
+ {"version":3,"file":"harmony116.cjs","sources":["../node_modules/lodash/_root.js"],"sourcesContent":["var freeGlobal = require('./_freeGlobal');\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\nmodule.exports = root;\n"],"names":["require$$0"],"mappings":";;;;;;;;AAAA,MAAI,aAAaA,YAAAA,UAAwB;AAGzC,MAAI,WAAW,OAAO,QAAQ,YAAY,QAAQ,KAAK,WAAW,UAAU;AAG5E,MAAI,OAAO,cAAc,YAAY,SAAS,aAAa,EAAG;AAE9D,UAAiB;;;;","x_google_ignoreList":[0]}
@@ -1,10 +1,16 @@
1
- const splitFileName = (fileName) => {
2
- const lastDotIndex = fileName.lastIndexOf(".");
3
- const name = fileName.slice(0, lastDotIndex);
4
- const extension = fileName.slice(lastDotIndex + 1);
5
- return { name, extension };
6
- };
1
+ import { __require as require_freeGlobal } from "./harmony123.mjs";
2
+ var _root;
3
+ var hasRequired_root;
4
+ function require_root() {
5
+ if (hasRequired_root) return _root;
6
+ hasRequired_root = 1;
7
+ var freeGlobal = require_freeGlobal();
8
+ var freeSelf = typeof self == "object" && self && self.Object === Object && self;
9
+ var root = freeGlobal || freeSelf || Function("return this")();
10
+ _root = root;
11
+ return _root;
12
+ }
7
13
  export {
8
- splitFileName
14
+ require_root as __require
9
15
  };
10
16
  //# sourceMappingURL=harmony116.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"harmony116.mjs","sources":["../src/components/Sidebar/utils/index.ts"],"sourcesContent":["export const splitFileName = (fileName: string) => {\n\tconst lastDotIndex = fileName.lastIndexOf('.')\n\tconst name = fileName.slice(0, lastDotIndex)\n\tconst extension = fileName.slice(lastDotIndex + 1)\n\n\treturn { name, extension }\n}\n"],"names":[],"mappings":"AAAa,MAAA,gBAAgB,CAAC,aAAqB;AAC5C,QAAA,eAAe,SAAS,YAAY,GAAG;AAC7C,QAAM,OAAO,SAAS,MAAM,GAAG,YAAY;AAC3C,QAAM,YAAY,SAAS,MAAM,eAAe,CAAC;AAE1C,SAAA,EAAE,MAAM,UAAU;AAC1B;"}
1
+ {"version":3,"file":"harmony116.mjs","sources":["../node_modules/lodash/_root.js"],"sourcesContent":["var freeGlobal = require('./_freeGlobal');\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\nmodule.exports = root;\n"],"names":["require$$0"],"mappings":";;;;;;AAAA,MAAI,aAAaA,mBAAwB;AAGzC,MAAI,WAAW,OAAO,QAAQ,YAAY,QAAQ,KAAK,WAAW,UAAU;AAG5E,MAAI,OAAO,cAAc,YAAY,SAAS,aAAa,EAAG;AAE9D,UAAiB;;;","x_google_ignoreList":[0]}
@@ -1,60 +1,18 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const jsxRuntime = require("react/jsx-runtime");
4
- const louis = require("@lokalise/louis");
5
- const content = require("./harmony118.cjs");
6
- const types = require("./harmony2.cjs");
7
- const clsx = require("./harmony63.cjs");
8
- const TaskLanguageCompleted = require("./harmony127.cjs");
9
- const TasksContext = require("./harmony98.cjs");
10
- const TaskLanguage_module = require("./harmony128.cjs");
11
- const TaskLanguage = ({ language, task }) => {
12
- const { getProjectUrl, langNameOnClick, langProgressOnClick } = TasksContext.useTasks();
13
- const progressValue = language.progress ?? 0;
14
- const isLanguageCompleted = language.status === types.SidebarTaskLanguageStatuses.Completed;
15
- const languageProgressCompleted = content.isLanguageProgressCompleted(task, language);
16
- return /* @__PURE__ */ jsxRuntime.jsxs(
17
- "tr",
18
- {
19
- className: clsx.clsx({
20
- [TaskLanguage_module.default.langRowCompleted]: languageProgressCompleted
21
- }),
22
- children: [
23
- /* @__PURE__ */ jsxRuntime.jsx("td", { children: /* @__PURE__ */ jsxRuntime.jsx(louis.Tooltip, { tooltip: "Open in bilingual view", children: /* @__PURE__ */ jsxRuntime.jsx(
24
- louis.Link,
25
- {
26
- href: getProjectUrl({ task, language }),
27
- onClick: () => {
28
- langNameOnClick == null ? void 0 : langNameOnClick({ task, language });
29
- },
30
- children: language.name
31
- }
32
- ) }) }),
33
- /* @__PURE__ */ jsxRuntime.jsx("td", { className: TaskLanguage_module.default.langCellSecondary, children: languageProgressCompleted || isLanguageCompleted ? "0" : /* @__PURE__ */ jsxRuntime.jsx(louis.Tooltip, { tooltip: "Open uncompleted items", children: /* @__PURE__ */ jsxRuntime.jsx(
34
- louis.Link,
35
- {
36
- href: getProjectUrl({ task, language, taskUncompleted: true }),
37
- onClick: () => {
38
- langProgressOnClick == null ? void 0 : langProgressOnClick({ task, language });
39
- },
40
- children: language.base_words_total - language.base_words_done
41
- }
42
- ) }) }),
43
- /* @__PURE__ */ jsxRuntime.jsxs("td", { children: [
44
- progressValue,
45
- "%"
46
- ] }),
47
- /* @__PURE__ */ jsxRuntime.jsx("td", { children: languageProgressCompleted ? /* @__PURE__ */ jsxRuntime.jsx(TaskLanguageCompleted.TaskLanguageCompleted, { task, language }) : /* @__PURE__ */ jsxRuntime.jsx(
48
- "span",
49
- {
50
- className: `${TaskLanguage_module.default.langStatus} flex-row items-center justify-start`,
51
- "data-status": language.status,
52
- children: content.getStatusText(language.status, progressValue)
53
- }
54
- ) })
55
- ]
56
- }
57
- );
58
- };
59
- exports.TaskLanguage = TaskLanguage;
3
+ const _trimmedEndIndex = require("./harmony124.cjs");
4
+ var _baseTrim;
5
+ var hasRequired_baseTrim;
6
+ function require_baseTrim() {
7
+ if (hasRequired_baseTrim) return _baseTrim;
8
+ hasRequired_baseTrim = 1;
9
+ var trimmedEndIndex = _trimmedEndIndex.__require();
10
+ var reTrimStart = /^\s+/;
11
+ function baseTrim(string) {
12
+ return string ? string.slice(0, trimmedEndIndex(string) + 1).replace(reTrimStart, "") : string;
13
+ }
14
+ _baseTrim = baseTrim;
15
+ return _baseTrim;
16
+ }
17
+ exports.__require = require_baseTrim;
60
18
  //# sourceMappingURL=harmony117.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"harmony117.cjs","sources":["../src/components/Sidebar/Widgets/Tasks/TaskLanguage/TaskLanguage.tsx"],"sourcesContent":["import { Link, Tooltip } from '@lokalise/louis'\nimport { getStatusText, isLanguageProgressCompleted } from '../utils/content'\n\nimport { type SidebarTask, type SidebarTaskLanguage, SidebarTaskLanguageStatuses } from '../types'\n\nimport clsx from 'clsx'\nimport { TaskLanguageCompleted } from '../TaskLanguageCompleted/TaskLanguageCompleted'\nimport { useTasks } from '../TasksContext'\nimport styles from './TaskLanguage.module.css'\n\nexport type TaskLanguageProps = {\n\ttask: SidebarTask\n\tlanguage: SidebarTaskLanguage\n}\n\nexport const TaskLanguage = ({ language, task }: TaskLanguageProps) => {\n\tconst { getProjectUrl, langNameOnClick, langProgressOnClick } = useTasks()\n\n\tconst progressValue = language.progress ?? 0\n\n\tconst isLanguageCompleted = language.status === SidebarTaskLanguageStatuses.Completed\n\n\tconst languageProgressCompleted = isLanguageProgressCompleted(task, language)\n\n\treturn (\n\t\t<tr\n\t\t\tclassName={clsx({\n\t\t\t\t[styles.langRowCompleted]: languageProgressCompleted,\n\t\t\t})}\n\t\t>\n\t\t\t<td>\n\t\t\t\t<Tooltip tooltip=\"Open in bilingual view\">\n\t\t\t\t\t<Link\n\t\t\t\t\t\thref={getProjectUrl({ task, language })}\n\t\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\t\tlangNameOnClick?.({ task, language })\n\t\t\t\t\t\t}}\n\t\t\t\t\t>\n\t\t\t\t\t\t{language.name}\n\t\t\t\t\t</Link>\n\t\t\t\t</Tooltip>\n\t\t\t</td>\n\t\t\t<td className={styles.langCellSecondary}>\n\t\t\t\t{languageProgressCompleted || isLanguageCompleted ? (\n\t\t\t\t\t'0'\n\t\t\t\t) : (\n\t\t\t\t\t<Tooltip tooltip=\"Open uncompleted items\">\n\t\t\t\t\t\t<Link\n\t\t\t\t\t\t\thref={getProjectUrl({ task, language, taskUncompleted: true })}\n\t\t\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\t\t\tlangProgressOnClick?.({ task, language })\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{language.base_words_total - language.base_words_done}\n\t\t\t\t\t\t</Link>\n\t\t\t\t\t</Tooltip>\n\t\t\t\t)}\n\t\t\t</td>\n\t\t\t<td>{progressValue}%</td>\n\t\t\t<td>\n\t\t\t\t{languageProgressCompleted ? (\n\t\t\t\t\t<TaskLanguageCompleted task={task} language={language} />\n\t\t\t\t) : (\n\t\t\t\t\t<span\n\t\t\t\t\t\tclassName={`${styles.langStatus} flex-row items-center justify-start`}\n\t\t\t\t\t\tdata-status={language.status}\n\t\t\t\t\t>\n\t\t\t\t\t\t{getStatusText(language.status, progressValue)}\n\t\t\t\t\t</span>\n\t\t\t\t)}\n\t\t\t</td>\n\t\t</tr>\n\t)\n}\n"],"names":["useTasks","SidebarTaskLanguageStatuses","isLanguageProgressCompleted","jsxs","clsx","styles","jsx","Tooltip","Link","TaskLanguageCompleted","getStatusText"],"mappings":";;;;;;;;;;AAeO,MAAM,eAAe,CAAC,EAAE,UAAU,WAA8B;AACtE,QAAM,EAAE,eAAe,iBAAiB,oBAAA,IAAwBA,aAAAA,SAAS;AAEnE,QAAA,gBAAgB,SAAS,YAAY;AAErC,QAAA,sBAAsB,SAAS,WAAWC,MAA4B,4BAAA;AAEtE,QAAA,4BAA4BC,QAAAA,4BAA4B,MAAM,QAAQ;AAG3E,SAAAC,2BAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACA,WAAWC,KAAAA,KAAK;AAAA,QACf,CAACC,oBAAAA,QAAO,gBAAgB,GAAG;AAAA,MAAA,CAC3B;AAAA,MAED,UAAA;AAAA,QAAAC,+BAAC,MACA,EAAA,UAAAA,2BAAA,IAACC,MAAQ,SAAA,EAAA,SAAQ,0BAChB,UAAAD,2BAAA;AAAA,UAACE,MAAA;AAAA,UAAA;AAAA,YACA,MAAM,cAAc,EAAE,MAAM,UAAU;AAAA,YACtC,SAAS,MAAM;AACI,iEAAA,EAAE,MAAM;YAC3B;AAAA,YAEC,UAAS,SAAA;AAAA,UAAA;AAAA,WAEZ,EACD,CAAA;AAAA,QACAF,2BAAA,IAAC,MAAG,EAAA,WAAWD,oBAAAA,QAAO,mBACpB,UAA6B,6BAAA,sBAC7B,MAEAC,2BAAA,IAACC,MAAQ,SAAA,EAAA,SAAQ,0BAChB,UAAAD,2BAAA;AAAA,UAACE,MAAA;AAAA,UAAA;AAAA,YACA,MAAM,cAAc,EAAE,MAAM,UAAU,iBAAiB,MAAM;AAAA,YAC7D,SAAS,MAAM;AACQ,yEAAA,EAAE,MAAM;YAC/B;AAAA,YAEC,UAAA,SAAS,mBAAmB,SAAS;AAAA,UAAA;AAAA,WAExC,EAEF,CAAA;AAAA,wCACC,MAAI,EAAA,UAAA;AAAA,UAAA;AAAA,UAAc;AAAA,QAAA,GAAC;AAAA,uCACnB,MACC,EAAA,UAAA,2DACCC,sBAAsB,uBAAA,EAAA,MAAY,SAAoB,CAAA,IAEvDH,2BAAA;AAAA,UAAC;AAAA,UAAA;AAAA,YACA,WAAW,GAAGD,4BAAO,UAAU;AAAA,YAC/B,eAAa,SAAS;AAAA,YAErB,UAAAK,QAAA,cAAc,SAAS,QAAQ,aAAa;AAAA,UAAA;AAAA,QAAA,EAGhD,CAAA;AAAA,MAAA;AAAA,IAAA;AAAA,EACD;AAEF;;"}
1
+ {"version":3,"file":"harmony117.cjs","sources":["../node_modules/lodash/_baseTrim.js"],"sourcesContent":["var trimmedEndIndex = require('./_trimmedEndIndex');\n\n/** Used to match leading whitespace. */\nvar reTrimStart = /^\\s+/;\n\n/**\n * The base implementation of `_.trim`.\n *\n * @private\n * @param {string} string The string to trim.\n * @returns {string} Returns the trimmed string.\n */\nfunction baseTrim(string) {\n return string\n ? string.slice(0, trimmedEndIndex(string) + 1).replace(reTrimStart, '')\n : string;\n}\n\nmodule.exports = baseTrim;\n"],"names":["require$$0"],"mappings":";;;;;;;;AAAA,MAAI,kBAAkBA,iBAAAA,UAA6B;AAGnD,MAAI,cAAc;AASlB,WAAS,SAAS,QAAQ;AACxB,WAAO,SACH,OAAO,MAAM,GAAG,gBAAgB,MAAM,IAAI,CAAC,EAAE,QAAQ,aAAa,EAAE,IACpE;AAAA,EACN;AAEA,cAAiB;;;;","x_google_ignoreList":[0]}