@lokalise/harmony 1.29.5-exp-teamSwitch.1 → 1.29.5-exp-teamSwitch.2

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 (367) hide show
  1. package/dist/harmony.cjs +15 -13
  2. package/dist/harmony.cjs.map +1 -1
  3. package/dist/harmony.mjs +15 -13
  4. package/dist/harmony.mjs.map +1 -1
  5. package/dist/harmony100.cjs +130 -12
  6. package/dist/harmony100.cjs.map +1 -1
  7. package/dist/harmony100.mjs +130 -12
  8. package/dist/harmony100.mjs.map +1 -1
  9. package/dist/harmony101.cjs +12 -132
  10. package/dist/harmony101.cjs.map +1 -1
  11. package/dist/harmony101.mjs +11 -131
  12. package/dist/harmony101.mjs.map +1 -1
  13. package/dist/harmony102.cjs +6 -13
  14. package/dist/harmony102.cjs.map +1 -1
  15. package/dist/harmony102.mjs +5 -12
  16. package/dist/harmony102.mjs.map +1 -1
  17. package/dist/harmony103.cjs +40 -5
  18. package/dist/harmony103.cjs.map +1 -1
  19. package/dist/harmony103.mjs +40 -5
  20. package/dist/harmony103.mjs.map +1 -1
  21. package/dist/harmony104.cjs +53 -33
  22. package/dist/harmony104.cjs.map +1 -1
  23. package/dist/harmony104.mjs +54 -34
  24. package/dist/harmony104.mjs.map +1 -1
  25. package/dist/harmony105.cjs +6 -59
  26. package/dist/harmony105.cjs.map +1 -1
  27. package/dist/harmony105.mjs +6 -59
  28. package/dist/harmony105.mjs.map +1 -1
  29. package/dist/harmony106.cjs +6 -7
  30. package/dist/harmony106.cjs.map +1 -1
  31. package/dist/harmony106.mjs +5 -6
  32. package/dist/harmony106.mjs.map +1 -1
  33. package/dist/harmony107.cjs +5 -6
  34. package/dist/harmony107.cjs.map +1 -1
  35. package/dist/harmony107.mjs +5 -6
  36. package/dist/harmony108.cjs +6 -97
  37. package/dist/harmony108.cjs.map +1 -1
  38. package/dist/harmony108.mjs +5 -96
  39. package/dist/harmony108.mjs.map +1 -1
  40. package/dist/harmony109.cjs +62 -13
  41. package/dist/harmony109.cjs.map +1 -1
  42. package/dist/harmony109.mjs +61 -12
  43. package/dist/harmony109.mjs.map +1 -1
  44. package/dist/harmony110.cjs +87 -13
  45. package/dist/harmony110.cjs.map +1 -1
  46. package/dist/harmony110.mjs +87 -13
  47. package/dist/harmony110.mjs.map +1 -1
  48. package/dist/harmony111.cjs +19 -37
  49. package/dist/harmony111.cjs.map +1 -1
  50. package/dist/harmony111.mjs +18 -36
  51. package/dist/harmony111.mjs.map +1 -1
  52. package/dist/harmony112.cjs +87 -19
  53. package/dist/harmony112.cjs.map +1 -1
  54. package/dist/harmony112.mjs +87 -19
  55. package/dist/harmony112.mjs.map +1 -1
  56. package/dist/harmony113.cjs +12 -12
  57. package/dist/harmony113.cjs.map +1 -1
  58. package/dist/harmony113.mjs +12 -12
  59. package/dist/harmony113.mjs.map +1 -1
  60. package/dist/harmony114.cjs +13 -14
  61. package/dist/harmony114.cjs.map +1 -1
  62. package/dist/harmony114.mjs +13 -14
  63. package/dist/harmony114.mjs.map +1 -1
  64. package/dist/harmony115.cjs +34 -14
  65. package/dist/harmony115.cjs.map +1 -1
  66. package/dist/harmony115.mjs +34 -14
  67. package/dist/harmony115.mjs.map +1 -1
  68. package/dist/harmony116.cjs +28 -62
  69. package/dist/harmony116.cjs.map +1 -1
  70. package/dist/harmony116.mjs +27 -61
  71. package/dist/harmony116.mjs.map +1 -1
  72. package/dist/harmony117.cjs +6 -87
  73. package/dist/harmony117.cjs.map +1 -1
  74. package/dist/harmony117.mjs +6 -87
  75. package/dist/harmony117.mjs.map +1 -1
  76. package/dist/harmony118.cjs +57 -18
  77. package/dist/harmony118.cjs.map +1 -1
  78. package/dist/harmony118.mjs +56 -17
  79. package/dist/harmony118.mjs.map +1 -1
  80. package/dist/harmony119.cjs +60 -11
  81. package/dist/harmony119.cjs.map +1 -1
  82. package/dist/harmony119.mjs +60 -11
  83. package/dist/harmony119.mjs.map +1 -1
  84. package/dist/harmony120.cjs +19 -17
  85. package/dist/harmony120.cjs.map +1 -1
  86. package/dist/harmony120.mjs +18 -16
  87. package/dist/harmony120.mjs.map +1 -1
  88. package/dist/harmony121.cjs +12 -20
  89. package/dist/harmony121.cjs.map +1 -1
  90. package/dist/harmony121.mjs +12 -20
  91. package/dist/harmony121.mjs.map +1 -1
  92. package/dist/harmony122.cjs +13 -10
  93. package/dist/harmony122.cjs.map +1 -1
  94. package/dist/harmony122.mjs +13 -10
  95. package/dist/harmony122.mjs.map +1 -1
  96. package/dist/harmony123.cjs +15 -5
  97. package/dist/harmony123.cjs.map +1 -1
  98. package/dist/harmony123.mjs +15 -5
  99. package/dist/harmony123.mjs.map +1 -1
  100. package/dist/harmony124.cjs +10 -11
  101. package/dist/harmony124.cjs.map +1 -1
  102. package/dist/harmony124.mjs +10 -11
  103. package/dist/harmony124.mjs.map +1 -1
  104. package/dist/harmony125.cjs +13 -29
  105. package/dist/harmony125.cjs.map +1 -1
  106. package/dist/harmony125.mjs +13 -29
  107. package/dist/harmony125.mjs.map +1 -1
  108. package/dist/harmony126.cjs +19 -12
  109. package/dist/harmony126.cjs.map +1 -1
  110. package/dist/harmony126.mjs +19 -12
  111. package/dist/harmony126.mjs.map +1 -1
  112. package/dist/harmony127.cjs +12 -7
  113. package/dist/harmony127.cjs.map +1 -1
  114. package/dist/harmony127.mjs +12 -7
  115. package/dist/harmony127.mjs.map +1 -1
  116. package/dist/harmony128.cjs +6 -57
  117. package/dist/harmony128.cjs.map +1 -1
  118. package/dist/harmony128.mjs +6 -57
  119. package/dist/harmony128.mjs.map +1 -1
  120. package/dist/harmony129.cjs +12 -60
  121. package/dist/harmony129.cjs.map +1 -1
  122. package/dist/harmony129.mjs +12 -60
  123. package/dist/harmony129.mjs.map +1 -1
  124. package/dist/harmony130.cjs +33 -19
  125. package/dist/harmony130.cjs.map +1 -1
  126. package/dist/harmony130.mjs +32 -18
  127. package/dist/harmony130.mjs.map +1 -1
  128. package/dist/harmony131.cjs +14 -46
  129. package/dist/harmony131.cjs.map +1 -1
  130. package/dist/harmony131.mjs +14 -46
  131. package/dist/harmony131.mjs.map +1 -1
  132. package/dist/harmony132.cjs +46 -12
  133. package/dist/harmony132.cjs.map +1 -1
  134. package/dist/harmony132.mjs +45 -11
  135. package/dist/harmony132.mjs.map +1 -1
  136. package/dist/harmony133.cjs +15 -0
  137. package/dist/harmony133.cjs.map +1 -0
  138. package/dist/harmony133.mjs +15 -0
  139. package/dist/harmony133.mjs.map +1 -0
  140. package/dist/harmony15.cjs +1 -1
  141. package/dist/harmony15.mjs +1 -1
  142. package/dist/harmony22.cjs +1 -1
  143. package/dist/harmony22.mjs +1 -1
  144. package/dist/harmony23.cjs +1 -1
  145. package/dist/harmony23.mjs +1 -1
  146. package/dist/harmony26.cjs +2 -2
  147. package/dist/harmony26.mjs +2 -2
  148. package/dist/harmony27.cjs +2 -2
  149. package/dist/harmony27.mjs +2 -2
  150. package/dist/harmony28.cjs +2 -2
  151. package/dist/harmony28.mjs +2 -2
  152. package/dist/harmony29.cjs +1 -1
  153. package/dist/harmony29.mjs +1 -1
  154. package/dist/harmony3.cjs +3 -3
  155. package/dist/harmony3.mjs +3 -3
  156. package/dist/harmony30.cjs +2 -2
  157. package/dist/harmony30.mjs +2 -2
  158. package/dist/harmony31.cjs +1 -1
  159. package/dist/harmony31.mjs +1 -1
  160. package/dist/harmony32.cjs +1 -1
  161. package/dist/harmony32.mjs +1 -1
  162. package/dist/harmony33.cjs +1 -1
  163. package/dist/harmony33.mjs +1 -1
  164. package/dist/harmony4.cjs +10 -10
  165. package/dist/harmony4.mjs +10 -10
  166. package/dist/harmony5.cjs +1 -1
  167. package/dist/harmony5.mjs +1 -1
  168. package/dist/harmony51.cjs +5 -6
  169. package/dist/harmony51.cjs.map +1 -1
  170. package/dist/harmony51.mjs +5 -6
  171. package/dist/harmony51.mjs.map +1 -1
  172. package/dist/harmony52.cjs +14 -56
  173. package/dist/harmony52.cjs.map +1 -1
  174. package/dist/harmony52.mjs +14 -56
  175. package/dist/harmony52.mjs.map +1 -1
  176. package/dist/harmony53.cjs +48 -72
  177. package/dist/harmony53.cjs.map +1 -1
  178. package/dist/harmony53.mjs +47 -71
  179. package/dist/harmony53.mjs.map +1 -1
  180. package/dist/harmony54.cjs +78 -4
  181. package/dist/harmony54.cjs.map +1 -1
  182. package/dist/harmony54.mjs +78 -4
  183. package/dist/harmony54.mjs.map +1 -1
  184. package/dist/harmony55.cjs +4 -21
  185. package/dist/harmony55.cjs.map +1 -1
  186. package/dist/harmony55.mjs +4 -21
  187. package/dist/harmony55.mjs.map +1 -1
  188. package/dist/harmony56.cjs +20 -34
  189. package/dist/harmony56.cjs.map +1 -1
  190. package/dist/harmony56.mjs +20 -34
  191. package/dist/harmony56.mjs.map +1 -1
  192. package/dist/harmony57.cjs +35 -120
  193. package/dist/harmony57.cjs.map +1 -1
  194. package/dist/harmony57.mjs +34 -119
  195. package/dist/harmony57.mjs.map +1 -1
  196. package/dist/harmony58.cjs +121 -28
  197. package/dist/harmony58.cjs.map +1 -1
  198. package/dist/harmony58.mjs +121 -28
  199. package/dist/harmony58.mjs.map +1 -1
  200. package/dist/harmony59.cjs +28 -25
  201. package/dist/harmony59.cjs.map +1 -1
  202. package/dist/harmony59.mjs +28 -25
  203. package/dist/harmony59.mjs.map +1 -1
  204. package/dist/harmony6.cjs +4 -4
  205. package/dist/harmony6.mjs +4 -4
  206. package/dist/harmony60.cjs +24 -6
  207. package/dist/harmony60.cjs.map +1 -1
  208. package/dist/harmony60.mjs +24 -6
  209. package/dist/harmony60.mjs.map +1 -1
  210. package/dist/harmony61.cjs +6 -88
  211. package/dist/harmony61.cjs.map +1 -1
  212. package/dist/harmony61.mjs +6 -88
  213. package/dist/harmony61.mjs.map +1 -1
  214. package/dist/harmony62.cjs +86 -20
  215. package/dist/harmony62.cjs.map +1 -1
  216. package/dist/harmony62.mjs +86 -20
  217. package/dist/harmony62.mjs.map +1 -1
  218. package/dist/harmony63.cjs +22 -16
  219. package/dist/harmony63.cjs.map +1 -1
  220. package/dist/harmony63.mjs +22 -16
  221. package/dist/harmony63.mjs.map +1 -1
  222. package/dist/harmony64.cjs +19 -16
  223. package/dist/harmony64.cjs.map +1 -1
  224. package/dist/harmony64.mjs +18 -15
  225. package/dist/harmony64.mjs.map +1 -1
  226. package/dist/harmony65.cjs +15 -18
  227. package/dist/harmony65.cjs.map +1 -1
  228. package/dist/harmony65.mjs +15 -18
  229. package/dist/harmony65.mjs.map +1 -1
  230. package/dist/harmony66.cjs +18 -61
  231. package/dist/harmony66.cjs.map +1 -1
  232. package/dist/harmony66.mjs +18 -61
  233. package/dist/harmony66.mjs.map +1 -1
  234. package/dist/harmony67.cjs +61 -6
  235. package/dist/harmony67.cjs.map +1 -1
  236. package/dist/harmony67.mjs +61 -6
  237. package/dist/harmony67.mjs.map +1 -1
  238. package/dist/harmony68.cjs +7 -10
  239. package/dist/harmony68.cjs.map +1 -1
  240. package/dist/harmony68.mjs +6 -9
  241. package/dist/harmony68.mjs.map +1 -1
  242. package/dist/harmony69.cjs +8 -17
  243. package/dist/harmony69.cjs.map +1 -1
  244. package/dist/harmony69.mjs +7 -16
  245. package/dist/harmony69.mjs.map +1 -1
  246. package/dist/harmony70.cjs +13 -18
  247. package/dist/harmony70.cjs.map +1 -1
  248. package/dist/harmony70.mjs +13 -18
  249. package/dist/harmony70.mjs.map +1 -1
  250. package/dist/harmony71.cjs +22 -4
  251. package/dist/harmony71.cjs.map +1 -1
  252. package/dist/harmony71.mjs +22 -4
  253. package/dist/harmony71.mjs.map +1 -1
  254. package/dist/harmony72.cjs +4 -31
  255. package/dist/harmony72.cjs.map +1 -1
  256. package/dist/harmony72.mjs +5 -32
  257. package/dist/harmony72.mjs.map +1 -1
  258. package/dist/harmony73.cjs +26 -26
  259. package/dist/harmony73.cjs.map +1 -1
  260. package/dist/harmony73.mjs +27 -27
  261. package/dist/harmony73.mjs.map +1 -1
  262. package/dist/harmony74.cjs +25 -12
  263. package/dist/harmony74.cjs.map +1 -1
  264. package/dist/harmony74.mjs +25 -12
  265. package/dist/harmony74.mjs.map +1 -1
  266. package/dist/harmony75.cjs +12 -24
  267. package/dist/harmony75.cjs.map +1 -1
  268. package/dist/harmony75.mjs +13 -25
  269. package/dist/harmony75.mjs.map +1 -1
  270. package/dist/harmony76.cjs +27 -55
  271. package/dist/harmony76.cjs.map +1 -1
  272. package/dist/harmony76.mjs +29 -57
  273. package/dist/harmony76.mjs.map +1 -1
  274. package/dist/harmony77.cjs +60 -10
  275. package/dist/harmony77.cjs.map +1 -1
  276. package/dist/harmony77.mjs +59 -9
  277. package/dist/harmony77.mjs.map +1 -1
  278. package/dist/harmony78.cjs +10 -9
  279. package/dist/harmony78.cjs.map +1 -1
  280. package/dist/harmony78.mjs +9 -8
  281. package/dist/harmony78.mjs.map +1 -1
  282. package/dist/harmony79.cjs +5 -26
  283. package/dist/harmony79.cjs.map +1 -1
  284. package/dist/harmony79.mjs +8 -29
  285. package/dist/harmony79.mjs.map +1 -1
  286. package/dist/harmony80.cjs +29 -3
  287. package/dist/harmony80.cjs.map +1 -1
  288. package/dist/harmony80.mjs +29 -3
  289. package/dist/harmony80.mjs.map +1 -1
  290. package/dist/harmony81.cjs +3 -11
  291. package/dist/harmony81.cjs.map +1 -1
  292. package/dist/harmony81.mjs +3 -11
  293. package/dist/harmony81.mjs.map +1 -1
  294. package/dist/harmony82.cjs +12 -22
  295. package/dist/harmony82.cjs.map +1 -1
  296. package/dist/harmony82.mjs +11 -21
  297. package/dist/harmony82.mjs.map +1 -1
  298. package/dist/harmony83.cjs +20 -5
  299. package/dist/harmony83.cjs.map +1 -1
  300. package/dist/harmony83.mjs +20 -5
  301. package/dist/harmony83.mjs.map +1 -1
  302. package/dist/harmony84.cjs +3 -6
  303. package/dist/harmony84.cjs.map +1 -1
  304. package/dist/harmony84.mjs +3 -6
  305. package/dist/harmony84.mjs.map +1 -1
  306. package/dist/harmony85.cjs +6 -6
  307. package/dist/harmony85.mjs +6 -6
  308. package/dist/harmony86.cjs +9 -57
  309. package/dist/harmony86.cjs.map +1 -1
  310. package/dist/harmony86.mjs +8 -56
  311. package/dist/harmony86.mjs.map +1 -1
  312. package/dist/harmony87.cjs +51 -36
  313. package/dist/harmony87.cjs.map +1 -1
  314. package/dist/harmony87.mjs +52 -37
  315. package/dist/harmony87.mjs.map +1 -1
  316. package/dist/harmony88.cjs +42 -5
  317. package/dist/harmony88.cjs.map +1 -1
  318. package/dist/harmony88.mjs +42 -5
  319. package/dist/harmony88.mjs.map +1 -1
  320. package/dist/harmony89.cjs +6 -10
  321. package/dist/harmony89.cjs.map +1 -1
  322. package/dist/harmony89.mjs +5 -9
  323. package/dist/harmony89.mjs.map +1 -1
  324. package/dist/harmony90.cjs +6 -21
  325. package/dist/harmony90.cjs.map +1 -1
  326. package/dist/harmony90.mjs +6 -21
  327. package/dist/harmony90.mjs.map +1 -1
  328. package/dist/harmony91.cjs +21 -3
  329. package/dist/harmony91.cjs.map +1 -1
  330. package/dist/harmony91.mjs +21 -3
  331. package/dist/harmony91.mjs.map +1 -1
  332. package/dist/harmony92.cjs +6 -21
  333. package/dist/harmony92.cjs.map +1 -1
  334. package/dist/harmony92.mjs +5 -20
  335. package/dist/harmony92.mjs.map +1 -1
  336. package/dist/harmony93.cjs +21 -12
  337. package/dist/harmony93.cjs.map +1 -1
  338. package/dist/harmony93.mjs +20 -11
  339. package/dist/harmony93.mjs.map +1 -1
  340. package/dist/harmony94.cjs +12 -99
  341. package/dist/harmony94.cjs.map +1 -1
  342. package/dist/harmony94.mjs +11 -81
  343. package/dist/harmony94.mjs.map +1 -1
  344. package/dist/harmony95.cjs +19 -22
  345. package/dist/harmony95.cjs.map +1 -1
  346. package/dist/harmony95.mjs +18 -21
  347. package/dist/harmony95.mjs.map +1 -1
  348. package/dist/harmony96.cjs +13 -5
  349. package/dist/harmony96.cjs.map +1 -1
  350. package/dist/harmony96.mjs +13 -5
  351. package/dist/harmony96.mjs.map +1 -1
  352. package/dist/harmony97.cjs +100 -6
  353. package/dist/harmony97.cjs.map +1 -1
  354. package/dist/harmony97.mjs +82 -5
  355. package/dist/harmony97.mjs.map +1 -1
  356. package/dist/harmony98.cjs +21 -5
  357. package/dist/harmony98.cjs.map +1 -1
  358. package/dist/harmony98.mjs +21 -5
  359. package/dist/harmony98.mjs.map +1 -1
  360. package/dist/harmony99.cjs +6 -18
  361. package/dist/harmony99.cjs.map +1 -1
  362. package/dist/harmony99.mjs +6 -18
  363. package/dist/harmony99.mjs.map +1 -1
  364. package/dist/types/src/features/publicApi/node.d.ts +1 -0
  365. package/dist/types/src/features/publicApi/team.d.ts +1 -1
  366. package/dist/types/src/features/publicApi/types/teamTypes.d.ts +1 -1
  367. package/package.json +1 -1
@@ -1,8 +1,43 @@
1
- import { createContext, useContext } from "react";
2
- const TasksContext = createContext({});
3
- const useTasks = () => useContext(TasksContext);
1
+ import { jsx, jsxs } from "react/jsx-runtime";
2
+ import { Loading, Link } from "@lokalise/louis";
3
+ import { useEffectOnce } from "./harmony11.mjs";
4
+ import { TaskOverview } from "./harmony110.mjs";
5
+ import { useTasks } from "./harmony102.mjs";
6
+ import { TaskEvents } from "./harmony105.mjs";
7
+ import styles from "./harmony111.mjs";
8
+ const TasksPopover = () => {
9
+ const { tasks, onTasksWidgetOpen, loadingTasks, fetchTasks } = useTasks();
10
+ useEffectOnce(() => {
11
+ const handleTaskPopoverOpen = async () => {
12
+ const contextTasks = await fetchTasks();
13
+ onTasksWidgetOpen == null ? void 0 : onTasksWidgetOpen({ tasks: contextTasks });
14
+ };
15
+ handleTaskPopoverOpen();
16
+ document.addEventListener(TaskEvents.TaskCompleted, fetchTasks);
17
+ document.addEventListener(TaskEvents.TaskClosed, fetchTasks);
18
+ document.addEventListener(TaskEvents.Refresh, fetchTasks);
19
+ return () => {
20
+ document.removeEventListener(TaskEvents.TaskCompleted, fetchTasks);
21
+ document.removeEventListener(TaskEvents.TaskClosed, fetchTasks);
22
+ document.removeEventListener(TaskEvents.Refresh, fetchTasks);
23
+ };
24
+ });
25
+ if (loadingTasks) {
26
+ return /* @__PURE__ */ jsx("div", { "data-testid": "sidebar-tasks-loading-popover", className: styles.loadingContainer, children: /* @__PURE__ */ jsx(Loading, {}) });
27
+ }
28
+ if (tasks.length === 0) {
29
+ return /* @__PURE__ */ jsxs("div", { "data-testid": "sidebar-no-tasks-popover", className: styles.noTasksContainer, children: [
30
+ /* @__PURE__ */ jsx("h3", { className: styles.noTasksHeading, children: "No tasks" }),
31
+ /* @__PURE__ */ jsxs("div", { className: styles.noTasksText, children: [
32
+ "Your incoming tasks will appear here.",
33
+ /* @__PURE__ */ jsx("br", {}),
34
+ /* @__PURE__ */ jsx(Link, { href: "https://docs.lokalise.com/translation-workflow/tasks", target: "_new", children: "Learn more" })
35
+ ] })
36
+ ] });
37
+ }
38
+ return /* @__PURE__ */ jsx("div", { "data-testid": "sidebar-tasks-popover", className: styles.tasksContainer, children: tasks.map((task) => /* @__PURE__ */ jsx(TaskOverview, { task }, task.id)) });
39
+ };
4
40
  export {
5
- TasksContext,
6
- useTasks
41
+ TasksPopover
7
42
  };
8
43
  //# sourceMappingURL=harmony103.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"harmony103.mjs","sources":["../src/components/Sidebar/Widgets/Tasks/TasksContext.ts"],"sourcesContent":["import { createContext, useContext } from 'react'\nimport type { SidebarTasksContextProps } from './types'\n\nexport const TasksContext = createContext({} as SidebarTasksContextProps)\n\nexport const useTasks = () => useContext(TasksContext)\n"],"names":[],"mappings":";AAGa,MAAA,eAAe,cAAc,CAA8B,CAAA;AAE3D,MAAA,WAAW,MAAM,WAAW,YAAY;"}
1
+ {"version":3,"file":"harmony103.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,43 +1,63 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
3
  const jsxRuntime = require("react/jsx-runtime");
4
- const louis = require("@lokalise/louis");
5
4
  const useEffectOnce = require("./harmony11.cjs");
6
- const TaskOverview = require("./harmony117.cjs");
7
- const TasksContext = require("./harmony103.cjs");
8
- const taskEvents = require("./harmony106.cjs");
9
- const TasksPopover_module = require("./harmony118.cjs");
10
- const TasksPopover = () => {
11
- const { tasks, onTasksWidgetOpen, loadingTasks, fetchTasks } = TasksContext.useTasks();
5
+ const React = require("react");
6
+ const TasksContext = require("./harmony102.cjs");
7
+ const taskEvents = require("./harmony105.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
+ };
12
32
  useEffectOnce.useEffectOnce(() => {
13
- const handleTaskPopoverOpen = async () => {
14
- const contextTasks = await fetchTasks();
15
- onTasksWidgetOpen == null ? void 0 : onTasksWidgetOpen({ tasks: contextTasks });
16
- };
17
- handleTaskPopoverOpen();
18
- document.addEventListener(taskEvents.TaskEvents.TaskCompleted, fetchTasks);
19
- document.addEventListener(taskEvents.TaskEvents.TaskClosed, fetchTasks);
20
- document.addEventListener(taskEvents.TaskEvents.Refresh, fetchTasks);
33
+ fetchTaskCount();
34
+ document.addEventListener(taskEvents.TaskEvents.TaskCompleted, fetchTaskCount);
35
+ document.addEventListener(taskEvents.TaskEvents.TaskClosed, fetchTaskCount);
36
+ document.addEventListener(taskEvents.TaskEvents.Refresh, fetchTaskCount);
21
37
  return () => {
22
- document.removeEventListener(taskEvents.TaskEvents.TaskCompleted, fetchTasks);
23
- document.removeEventListener(taskEvents.TaskEvents.TaskClosed, fetchTasks);
24
- document.removeEventListener(taskEvents.TaskEvents.Refresh, fetchTasks);
38
+ document.removeEventListener(taskEvents.TaskEvents.TaskCompleted, fetchTaskCount);
39
+ document.removeEventListener(taskEvents.TaskEvents.TaskClosed, fetchTaskCount);
40
+ document.removeEventListener(taskEvents.TaskEvents.Refresh, fetchTaskCount);
25
41
  };
26
42
  });
27
- if (loadingTasks) {
28
- return /* @__PURE__ */ jsxRuntime.jsx("div", { "data-testid": "sidebar-tasks-loading-popover", className: TasksPopover_module.default.loadingContainer, children: /* @__PURE__ */ jsxRuntime.jsx(louis.Loading, {}) });
29
- }
30
- if (tasks.length === 0) {
31
- return /* @__PURE__ */ jsxRuntime.jsxs("div", { "data-testid": "sidebar-no-tasks-popover", className: TasksPopover_module.default.noTasksContainer, children: [
32
- /* @__PURE__ */ jsxRuntime.jsx("h3", { className: TasksPopover_module.default.noTasksHeading, children: "No tasks" }),
33
- /* @__PURE__ */ jsxRuntime.jsxs("div", { className: TasksPopover_module.default.noTasksText, children: [
34
- "Your incoming tasks will appear here.",
35
- /* @__PURE__ */ jsxRuntime.jsx("br", {}),
36
- /* @__PURE__ */ jsxRuntime.jsx(louis.Link, { href: "https://docs.lokalise.com/translation-workflow/tasks", target: "_new", children: "Learn more" })
37
- ] })
38
- ] });
39
- }
40
- return /* @__PURE__ */ jsxRuntime.jsx("div", { "data-testid": "sidebar-tasks-popover", className: TasksPopover_module.default.tasksContainer, children: tasks.map((task) => /* @__PURE__ */ jsxRuntime.jsx(TaskOverview.TaskOverview, { task }, task.id)) });
43
+ const providerValue = {
44
+ fetchTasks,
45
+ tasks,
46
+ tasksCount,
47
+ loadingTasks,
48
+ getProjectUrl,
49
+ onLanguageCompleteConfirm,
50
+ onTasksWidgetOpen,
51
+ langNameOnClick,
52
+ langProgressOnClick,
53
+ taskTitleOnClick
54
+ };
55
+ return /* @__PURE__ */ jsxRuntime.jsx(TasksContext.TasksContext.Provider, { value: providerValue, children });
56
+ };
57
+ const withTasksContext = (WrappedComponent) => function withTasksContextFn(props) {
58
+ const { config, ...rest } = props;
59
+ return /* @__PURE__ */ jsxRuntime.jsx(TasksProvider, { config, children: /* @__PURE__ */ jsxRuntime.jsx(WrappedComponent, { ...rest }) });
41
60
  };
42
- exports.TasksPopover = TasksPopover;
61
+ exports.TasksProvider = TasksProvider;
62
+ exports.withTasksContext = withTasksContext;
43
63
  //# sourceMappingURL=harmony104.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"harmony104.cjs","sources":["../src/components/Sidebar/Widgets/Tasks/TasksPopover/TasksPopover.tsx"],"sourcesContent":["import { Link, Loading } from '@lokalise/louis'\nimport { useEffectOnce } from '@utils'\nimport { TaskOverview } from '../TaskOverview/TaskOverview'\nimport { useTasks } from '../TasksContext'\nimport type { SidebarTask } from '../types'\nimport { TaskEvents } from '../utils/taskEvents'\nimport styles from './TasksPopover.module.css'\n\nexport const TasksPopover = () => {\n\tconst { tasks, onTasksWidgetOpen, loadingTasks, fetchTasks } = useTasks()\n\n\tuseEffectOnce(() => {\n\t\tconst handleTaskPopoverOpen = async () => {\n\t\t\tconst contextTasks = await fetchTasks()\n\t\t\tonTasksWidgetOpen?.({ tasks: contextTasks })\n\t\t}\n\n\t\thandleTaskPopoverOpen()\n\n\t\tdocument.addEventListener(TaskEvents.TaskCompleted, fetchTasks)\n\t\tdocument.addEventListener(TaskEvents.TaskClosed, fetchTasks)\n\t\tdocument.addEventListener(TaskEvents.Refresh, fetchTasks)\n\n\t\treturn () => {\n\t\t\tdocument.removeEventListener(TaskEvents.TaskCompleted, fetchTasks)\n\t\t\tdocument.removeEventListener(TaskEvents.TaskClosed, fetchTasks)\n\t\t\tdocument.removeEventListener(TaskEvents.Refresh, fetchTasks)\n\t\t}\n\t})\n\n\tif (loadingTasks) {\n\t\treturn (\n\t\t\t<div data-testid=\"sidebar-tasks-loading-popover\" className={styles.loadingContainer}>\n\t\t\t\t<Loading />\n\t\t\t</div>\n\t\t)\n\t}\n\n\tif (tasks.length === 0) {\n\t\treturn (\n\t\t\t<div data-testid=\"sidebar-no-tasks-popover\" className={styles.noTasksContainer}>\n\t\t\t\t<h3 className={styles.noTasksHeading}>No tasks</h3>\n\t\t\t\t<div className={styles.noTasksText}>\n\t\t\t\t\tYour incoming tasks will appear here.\n\t\t\t\t\t<br />\n\t\t\t\t\t<Link href=\"https://docs.lokalise.com/translation-workflow/tasks\" target=\"_new\">\n\t\t\t\t\t\tLearn more\n\t\t\t\t\t</Link>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t)\n\t}\n\n\treturn (\n\t\t<div data-testid=\"sidebar-tasks-popover\" className={styles.tasksContainer}>\n\t\t\t{tasks.map((task: SidebarTask) => (\n\t\t\t\t<TaskOverview key={task.id} task={task} />\n\t\t\t))}\n\t\t</div>\n\t)\n}\n"],"names":["useTasks","useEffectOnce","TaskEvents","jsx","styles","Loading","jsxs","Link","TaskOverview"],"mappings":";;;;;;;;;AAQO,MAAM,eAAe,MAAM;AACjC,QAAM,EAAE,OAAO,mBAAmB,cAAc,WAAA,IAAeA,aAAAA,SAAS;AAExEC,gBAAAA,cAAc,MAAM;AACnB,UAAM,wBAAwB,YAAY;AACnC,YAAA,eAAe,MAAM,WAAW;AAClB,6DAAA,EAAE,OAAO;IAC9B;AAEsB,0BAAA;AAEb,aAAA,iBAAiBC,sBAAW,eAAe,UAAU;AACrD,aAAA,iBAAiBA,sBAAW,YAAY,UAAU;AAClD,aAAA,iBAAiBA,sBAAW,SAAS,UAAU;AAExD,WAAO,MAAM;AACH,eAAA,oBAAoBA,sBAAW,eAAe,UAAU;AACxD,eAAA,oBAAoBA,sBAAW,YAAY,UAAU;AACrD,eAAA,oBAAoBA,sBAAW,SAAS,UAAU;AAAA,IAC5D;AAAA,EAAA,CACA;AAED,MAAI,cAAc;AAEhB,WAAAC,2BAAA,IAAC,SAAI,eAAY,iCAAgC,WAAWC,4BAAO,kBAClE,UAACD,2BAAAA,IAAAE,MAAAA,SAAA,CAAA,CAAQ,EACV,CAAA;AAAA,EAAA;AAIE,MAAA,MAAM,WAAW,GAAG;AACvB,2CACE,OAAI,EAAA,eAAY,4BAA2B,WAAWD,oBAAAA,QAAO,kBAC7D,UAAA;AAAA,MAAAD,2BAAA,IAAC,MAAG,EAAA,WAAWC,oBAAO,QAAA,gBAAgB,UAAQ,YAAA;AAAA,MAC7CE,2BAAA,KAAA,OAAA,EAAI,WAAWF,oBAAAA,QAAO,aAAa,UAAA;AAAA,QAAA;AAAA,uCAElC,MAAG,EAAA;AAAA,uCACHG,MAAAA,MAAK,EAAA,MAAK,wDAAuD,QAAO,QAAO,UAEhF,aAAA,CAAA;AAAA,MAAA,EACD,CAAA;AAAA,IAAA,GACD;AAAA,EAAA;AAIF,wCACE,OAAI,EAAA,eAAY,yBAAwB,WAAWH,oBAAAA,QAAO,gBACzD,UAAA,MAAM,IAAI,CAAC,SACVD,2BAAA,IAAAK,2BAAA,EAA2B,QAAT,KAAK,EAAgB,CACxC,GACF;AAEF;;"}
1
+ {"version":3,"file":"harmony104.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,43 +1,63 @@
1
- import { jsx, jsxs } from "react/jsx-runtime";
2
- import { Loading, Link } from "@lokalise/louis";
1
+ import { jsx } from "react/jsx-runtime";
3
2
  import { useEffectOnce } from "./harmony11.mjs";
4
- import { TaskOverview } from "./harmony117.mjs";
5
- import { useTasks } from "./harmony103.mjs";
6
- import { TaskEvents } from "./harmony106.mjs";
7
- import styles from "./harmony118.mjs";
8
- const TasksPopover = () => {
9
- const { tasks, onTasksWidgetOpen, loadingTasks, fetchTasks } = useTasks();
3
+ import { useState } from "react";
4
+ import { TasksContext } from "./harmony102.mjs";
5
+ import { TaskEvents } from "./harmony105.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
+ };
10
30
  useEffectOnce(() => {
11
- const handleTaskPopoverOpen = async () => {
12
- const contextTasks = await fetchTasks();
13
- onTasksWidgetOpen == null ? void 0 : onTasksWidgetOpen({ tasks: contextTasks });
14
- };
15
- handleTaskPopoverOpen();
16
- document.addEventListener(TaskEvents.TaskCompleted, fetchTasks);
17
- document.addEventListener(TaskEvents.TaskClosed, fetchTasks);
18
- document.addEventListener(TaskEvents.Refresh, fetchTasks);
31
+ fetchTaskCount();
32
+ document.addEventListener(TaskEvents.TaskCompleted, fetchTaskCount);
33
+ document.addEventListener(TaskEvents.TaskClosed, fetchTaskCount);
34
+ document.addEventListener(TaskEvents.Refresh, fetchTaskCount);
19
35
  return () => {
20
- document.removeEventListener(TaskEvents.TaskCompleted, fetchTasks);
21
- document.removeEventListener(TaskEvents.TaskClosed, fetchTasks);
22
- document.removeEventListener(TaskEvents.Refresh, fetchTasks);
36
+ document.removeEventListener(TaskEvents.TaskCompleted, fetchTaskCount);
37
+ document.removeEventListener(TaskEvents.TaskClosed, fetchTaskCount);
38
+ document.removeEventListener(TaskEvents.Refresh, fetchTaskCount);
23
39
  };
24
40
  });
25
- if (loadingTasks) {
26
- return /* @__PURE__ */ jsx("div", { "data-testid": "sidebar-tasks-loading-popover", className: styles.loadingContainer, children: /* @__PURE__ */ jsx(Loading, {}) });
27
- }
28
- if (tasks.length === 0) {
29
- return /* @__PURE__ */ jsxs("div", { "data-testid": "sidebar-no-tasks-popover", className: styles.noTasksContainer, children: [
30
- /* @__PURE__ */ jsx("h3", { className: styles.noTasksHeading, children: "No tasks" }),
31
- /* @__PURE__ */ jsxs("div", { className: styles.noTasksText, children: [
32
- "Your incoming tasks will appear here.",
33
- /* @__PURE__ */ jsx("br", {}),
34
- /* @__PURE__ */ jsx(Link, { href: "https://docs.lokalise.com/translation-workflow/tasks", target: "_new", children: "Learn more" })
35
- ] })
36
- ] });
37
- }
38
- return /* @__PURE__ */ jsx("div", { "data-testid": "sidebar-tasks-popover", className: styles.tasksContainer, children: tasks.map((task) => /* @__PURE__ */ jsx(TaskOverview, { task }, task.id)) });
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 }) });
39
58
  };
40
59
  export {
41
- TasksPopover
60
+ TasksProvider,
61
+ withTasksContext
42
62
  };
43
63
  //# sourceMappingURL=harmony104.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"harmony104.mjs","sources":["../src/components/Sidebar/Widgets/Tasks/TasksPopover/TasksPopover.tsx"],"sourcesContent":["import { Link, Loading } from '@lokalise/louis'\nimport { useEffectOnce } from '@utils'\nimport { TaskOverview } from '../TaskOverview/TaskOverview'\nimport { useTasks } from '../TasksContext'\nimport type { SidebarTask } from '../types'\nimport { TaskEvents } from '../utils/taskEvents'\nimport styles from './TasksPopover.module.css'\n\nexport const TasksPopover = () => {\n\tconst { tasks, onTasksWidgetOpen, loadingTasks, fetchTasks } = useTasks()\n\n\tuseEffectOnce(() => {\n\t\tconst handleTaskPopoverOpen = async () => {\n\t\t\tconst contextTasks = await fetchTasks()\n\t\t\tonTasksWidgetOpen?.({ tasks: contextTasks })\n\t\t}\n\n\t\thandleTaskPopoverOpen()\n\n\t\tdocument.addEventListener(TaskEvents.TaskCompleted, fetchTasks)\n\t\tdocument.addEventListener(TaskEvents.TaskClosed, fetchTasks)\n\t\tdocument.addEventListener(TaskEvents.Refresh, fetchTasks)\n\n\t\treturn () => {\n\t\t\tdocument.removeEventListener(TaskEvents.TaskCompleted, fetchTasks)\n\t\t\tdocument.removeEventListener(TaskEvents.TaskClosed, fetchTasks)\n\t\t\tdocument.removeEventListener(TaskEvents.Refresh, fetchTasks)\n\t\t}\n\t})\n\n\tif (loadingTasks) {\n\t\treturn (\n\t\t\t<div data-testid=\"sidebar-tasks-loading-popover\" className={styles.loadingContainer}>\n\t\t\t\t<Loading />\n\t\t\t</div>\n\t\t)\n\t}\n\n\tif (tasks.length === 0) {\n\t\treturn (\n\t\t\t<div data-testid=\"sidebar-no-tasks-popover\" className={styles.noTasksContainer}>\n\t\t\t\t<h3 className={styles.noTasksHeading}>No tasks</h3>\n\t\t\t\t<div className={styles.noTasksText}>\n\t\t\t\t\tYour incoming tasks will appear here.\n\t\t\t\t\t<br />\n\t\t\t\t\t<Link href=\"https://docs.lokalise.com/translation-workflow/tasks\" target=\"_new\">\n\t\t\t\t\t\tLearn more\n\t\t\t\t\t</Link>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t)\n\t}\n\n\treturn (\n\t\t<div data-testid=\"sidebar-tasks-popover\" className={styles.tasksContainer}>\n\t\t\t{tasks.map((task: SidebarTask) => (\n\t\t\t\t<TaskOverview key={task.id} task={task} />\n\t\t\t))}\n\t\t</div>\n\t)\n}\n"],"names":[],"mappings":";;;;;;;AAQO,MAAM,eAAe,MAAM;AACjC,QAAM,EAAE,OAAO,mBAAmB,cAAc,WAAA,IAAe,SAAS;AAExE,gBAAc,MAAM;AACnB,UAAM,wBAAwB,YAAY;AACnC,YAAA,eAAe,MAAM,WAAW;AAClB,6DAAA,EAAE,OAAO;IAC9B;AAEsB,0BAAA;AAEb,aAAA,iBAAiB,WAAW,eAAe,UAAU;AACrD,aAAA,iBAAiB,WAAW,YAAY,UAAU;AAClD,aAAA,iBAAiB,WAAW,SAAS,UAAU;AAExD,WAAO,MAAM;AACH,eAAA,oBAAoB,WAAW,eAAe,UAAU;AACxD,eAAA,oBAAoB,WAAW,YAAY,UAAU;AACrD,eAAA,oBAAoB,WAAW,SAAS,UAAU;AAAA,IAC5D;AAAA,EAAA,CACA;AAED,MAAI,cAAc;AAEhB,WAAA,oBAAC,SAAI,eAAY,iCAAgC,WAAW,OAAO,kBAClE,UAAC,oBAAA,SAAA,CAAA,CAAQ,EACV,CAAA;AAAA,EAAA;AAIE,MAAA,MAAM,WAAW,GAAG;AACvB,gCACE,OAAI,EAAA,eAAY,4BAA2B,WAAW,OAAO,kBAC7D,UAAA;AAAA,MAAA,oBAAC,MAAG,EAAA,WAAW,OAAO,gBAAgB,UAAQ,YAAA;AAAA,MAC7C,qBAAA,OAAA,EAAI,WAAW,OAAO,aAAa,UAAA;AAAA,QAAA;AAAA,4BAElC,MAAG,EAAA;AAAA,4BACH,MAAK,EAAA,MAAK,wDAAuD,QAAO,QAAO,UAEhF,aAAA,CAAA;AAAA,MAAA,EACD,CAAA;AAAA,IAAA,GACD;AAAA,EAAA;AAIF,6BACE,OAAI,EAAA,eAAY,yBAAwB,WAAW,OAAO,gBACzD,UAAA,MAAM,IAAI,CAAC,SACV,oBAAA,cAAA,EAA2B,QAAT,KAAK,EAAgB,CACxC,GACF;AAEF;"}
1
+ {"version":3,"file":"harmony104.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,63 +1,10 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const jsxRuntime = require("react/jsx-runtime");
4
- const useEffectOnce = require("./harmony11.cjs");
5
- const React = require("react");
6
- const TasksContext = require("./harmony103.cjs");
7
- const taskEvents = require("./harmony106.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 });
3
+ const TaskEvents = {
4
+ TaskCompleted: "task_completed",
5
+ TaskClosed: "task_closed",
6
+ Refresh: "refresh",
7
+ ShowDialog: "show_dialog"
56
8
  };
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;
9
+ exports.TaskEvents = TaskEvents;
63
10
  //# sourceMappingURL=harmony105.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"harmony105.cjs","sources":["../src/components/Sidebar/Widgets/Tasks/TasksProvider.tsx"],"sourcesContent":["import { useEffectOnce } from '@utils'\nimport { type FC, type PropsWithChildren, useState } from 'react'\nimport { TasksContext } from './TasksContext'\nimport type { SidebarTask, SidebarTasksConfig, SidebarTasksContextProps } from './types'\nimport { TaskEvents } from './utils/taskEvents'\n\ntype TasksProviderProps = PropsWithChildren<{\n\tconfig: SidebarTasksConfig\n}>\n\nexport const TasksProvider = ({ children, config }: TasksProviderProps) => {\n\tconst [tasks, setTasks] = useState<SidebarTask[]>([])\n\tconst [loadingTasks, setLoadingTasks] = useState(true)\n\n\tconst [tasksCount, setTaskCount] = useState(0)\n\n\tconst {\n\t\tgetProjectUrl,\n\t\tonLanguageCompleteConfirm,\n\t\tonTasksWidgetOpen,\n\t\tlangNameOnClick,\n\t\tlangProgressOnClick,\n\t\ttaskTitleOnClick,\n\t} = config\n\n\tconst { getTasks, getTasksCount } = config\n\n\tconst fetchTasks = async () => {\n\t\tsetLoadingTasks(true)\n\t\tconst result = await getTasks()\n\t\tsetTasks(result)\n\t\tsetLoadingTasks(false)\n\t\treturn result\n\t}\n\n\tconst fetchTaskCount = async () => {\n\t\tconst result = await getTasksCount()\n\t\tsetTaskCount(result)\n\t}\n\n\tuseEffectOnce(() => {\n\t\tfetchTaskCount()\n\n\t\tdocument.addEventListener(TaskEvents.TaskCompleted, fetchTaskCount)\n\t\tdocument.addEventListener(TaskEvents.TaskClosed, fetchTaskCount)\n\t\tdocument.addEventListener(TaskEvents.Refresh, fetchTaskCount)\n\n\t\treturn () => {\n\t\t\tdocument.removeEventListener(TaskEvents.TaskCompleted, fetchTaskCount)\n\t\t\tdocument.removeEventListener(TaskEvents.TaskClosed, fetchTaskCount)\n\t\t\tdocument.removeEventListener(TaskEvents.Refresh, fetchTaskCount)\n\t\t}\n\t})\n\n\tconst providerValue: SidebarTasksContextProps = {\n\t\tfetchTasks,\n\t\ttasks,\n\t\ttasksCount,\n\t\tloadingTasks,\n\t\tgetProjectUrl,\n\t\tonLanguageCompleteConfirm,\n\t\tonTasksWidgetOpen,\n\t\tlangNameOnClick,\n\t\tlangProgressOnClick,\n\t\ttaskTitleOnClick,\n\t}\n\n\treturn <TasksContext.Provider value={providerValue}>{children}</TasksContext.Provider>\n}\n\nexport const withTasksContext = <P extends { config: SidebarTasksConfig }>(\n\tWrappedComponent: FC<Omit<P, 'config'>>,\n) =>\n\tfunction withTasksContextFn(props: P) {\n\t\tconst { config, ...rest } = props\n\n\t\treturn (\n\t\t\t<TasksProvider config={config}>\n\t\t\t\t<WrappedComponent {...rest} />\n\t\t\t</TasksProvider>\n\t\t)\n\t}\n"],"names":["useState","useEffectOnce","TaskEvents","TasksContext"],"mappings":";;;;;;;AAUO,MAAM,gBAAgB,CAAC,EAAE,UAAU,aAAiC;AAC1E,QAAM,CAAC,OAAO,QAAQ,IAAIA,MAAAA,SAAwB,CAAA,CAAE;AACpD,QAAM,CAAC,cAAc,eAAe,IAAIA,MAAAA,SAAS,IAAI;AAErD,QAAM,CAAC,YAAY,YAAY,IAAIA,MAAAA,SAAS,CAAC;AAEvC,QAAA;AAAA,IACL;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EAAA,IACG;AAEE,QAAA,EAAE,UAAU,cAAA,IAAkB;AAEpC,QAAM,aAAa,YAAY;AAC9B,oBAAgB,IAAI;AACd,UAAA,SAAS,MAAM,SAAS;AAC9B,aAAS,MAAM;AACf,oBAAgB,KAAK;AACd,WAAA;AAAA,EACR;AAEA,QAAM,iBAAiB,YAAY;AAC5B,UAAA,SAAS,MAAM,cAAc;AACnC,iBAAa,MAAM;AAAA,EACpB;AAEAC,gBAAAA,cAAc,MAAM;AACJ,mBAAA;AAEN,aAAA,iBAAiBC,sBAAW,eAAe,cAAc;AACzD,aAAA,iBAAiBA,sBAAW,YAAY,cAAc;AACtD,aAAA,iBAAiBA,sBAAW,SAAS,cAAc;AAE5D,WAAO,MAAM;AACH,eAAA,oBAAoBA,sBAAW,eAAe,cAAc;AAC5D,eAAA,oBAAoBA,sBAAW,YAAY,cAAc;AACzD,eAAA,oBAAoBA,sBAAW,SAAS,cAAc;AAAA,IAChE;AAAA,EAAA,CACA;AAED,QAAM,gBAA0C;AAAA,IAC/C;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACD;AAEA,wCAAQC,aAAAA,aAAa,UAAb,EAAsB,OAAO,eAAgB,UAAS;AAC/D;AAEO,MAAM,mBAAmB,CAC/B,qBAEA,SAAS,mBAAmB,OAAU;AACrC,QAAM,EAAE,QAAQ,GAAG,KAAA,IAAS;AAE5B,wCACE,eAAc,EAAA,QACd,yCAAC,kBAAkB,EAAA,GAAG,KAAM,CAAA,GAC7B;AAEF;;;"}
1
+ {"version":3,"file":"harmony105.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,63 +1,10 @@
1
- import { jsx } from "react/jsx-runtime";
2
- import { useEffectOnce } from "./harmony11.mjs";
3
- import { useState } from "react";
4
- import { TasksContext } from "./harmony103.mjs";
5
- import { TaskEvents } from "./harmony106.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 }) });
1
+ const TaskEvents = {
2
+ TaskCompleted: "task_completed",
3
+ TaskClosed: "task_closed",
4
+ Refresh: "refresh",
5
+ ShowDialog: "show_dialog"
58
6
  };
59
7
  export {
60
- TasksProvider,
61
- withTasksContext
8
+ TaskEvents
62
9
  };
63
10
  //# sourceMappingURL=harmony105.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"harmony105.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
+ {"version":3,"file":"harmony105.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,10 +1,9 @@
1
1
  "use strict";
2
- Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const TaskEvents = {
4
- TaskCompleted: "task_completed",
5
- TaskClosed: "task_closed",
6
- Refresh: "refresh",
7
- ShowDialog: "show_dialog"
2
+ Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
3
+ const iconContainer = "_iconContainer_nz34m_1";
4
+ const styles = {
5
+ iconContainer
8
6
  };
9
- exports.TaskEvents = TaskEvents;
7
+ exports.default = styles;
8
+ exports.iconContainer = iconContainer;
10
9
  //# sourceMappingURL=harmony106.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"harmony106.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
+ {"version":3,"file":"harmony106.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;"}
@@ -1,10 +1,9 @@
1
- const TaskEvents = {
2
- TaskCompleted: "task_completed",
3
- TaskClosed: "task_closed",
4
- Refresh: "refresh",
5
- ShowDialog: "show_dialog"
1
+ const iconContainer = "_iconContainer_nz34m_1";
2
+ const styles = {
3
+ iconContainer
6
4
  };
7
5
  export {
8
- TaskEvents
6
+ styles as default,
7
+ iconContainer
9
8
  };
10
9
  //# sourceMappingURL=harmony106.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"harmony106.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
+ {"version":3,"file":"harmony106.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;"}
@@ -1,9 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
3
- const iconContainer = "_iconContainer_nz34m_1";
4
- const styles = {
5
- iconContainer
6
- };
7
- exports.default = styles;
8
- exports.iconContainer = iconContainer;
3
+ const _commonjsHelpers = require("./harmony128.cjs");
4
+ const debounce$1 = require("./harmony112.cjs");
5
+ var debounceExports = debounce$1.__require();
6
+ const debounce = /* @__PURE__ */ _commonjsHelpers.getDefaultExportFromCjs(debounceExports);
7
+ exports.default = debounce;
9
8
  //# sourceMappingURL=harmony107.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"harmony107.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;"}
1
+ {"version":3,"file":"harmony107.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;"}
@@ -1,9 +1,8 @@
1
- const iconContainer = "_iconContainer_nz34m_1";
2
- const styles = {
3
- iconContainer
4
- };
1
+ import { getDefaultExportFromCjs } from "./harmony128.mjs";
2
+ import { __require as requireDebounce } from "./harmony112.mjs";
3
+ var debounceExports = requireDebounce();
4
+ const debounce = /* @__PURE__ */ getDefaultExportFromCjs(debounceExports);
5
5
  export {
6
- styles as default,
7
- iconContainer
6
+ debounce as default
8
7
  };
9
8
  //# sourceMappingURL=harmony107.mjs.map