@lokalise/harmony 1.34.0 → 1.34.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.
- package/dist/harmony100.cjs +2 -2
- package/dist/harmony100.mjs +2 -2
- package/dist/harmony101.cjs +132 -18
- package/dist/harmony101.cjs.map +1 -1
- package/dist/harmony101.mjs +132 -18
- package/dist/harmony101.mjs.map +1 -1
- package/dist/harmony102.cjs +12 -14
- package/dist/harmony102.cjs.map +1 -1
- package/dist/harmony102.mjs +11 -13
- package/dist/harmony102.mjs.map +1 -1
- package/dist/harmony103.cjs +6 -22
- package/dist/harmony103.cjs.map +1 -1
- package/dist/harmony103.mjs +5 -21
- package/dist/harmony103.mjs.map +1 -1
- package/dist/harmony104.cjs +39 -5
- package/dist/harmony104.cjs.map +1 -1
- package/dist/harmony104.mjs +39 -5
- package/dist/harmony104.mjs.map +1 -1
- package/dist/harmony105.cjs +61 -6
- package/dist/harmony105.cjs.map +1 -1
- package/dist/harmony105.mjs +60 -5
- package/dist/harmony105.mjs.map +1 -1
- package/dist/harmony106.cjs +8 -6
- package/dist/harmony106.cjs.map +1 -1
- package/dist/harmony106.mjs +7 -5
- package/dist/harmony106.mjs.map +1 -1
- package/dist/harmony107.cjs +21 -132
- package/dist/harmony107.cjs.map +1 -1
- package/dist/harmony107.mjs +20 -131
- package/dist/harmony107.mjs.map +1 -1
- package/dist/harmony108.cjs +6 -12
- package/dist/harmony108.cjs.map +1 -1
- package/dist/harmony108.mjs +5 -11
- package/dist/harmony108.mjs.map +1 -1
- package/dist/harmony109.cjs +7 -6
- package/dist/harmony109.cjs.map +1 -1
- package/dist/harmony109.mjs +6 -5
- package/dist/harmony109.mjs.map +1 -1
- package/dist/harmony110.cjs +12 -38
- package/dist/harmony110.cjs.map +1 -1
- package/dist/harmony110.mjs +12 -38
- package/dist/harmony110.mjs.map +1 -1
- package/dist/harmony111.cjs +18 -60
- package/dist/harmony111.cjs.map +1 -1
- package/dist/harmony111.mjs +18 -60
- package/dist/harmony111.mjs.map +1 -1
- package/dist/harmony112.cjs +6 -8
- package/dist/harmony112.cjs.map +1 -1
- package/dist/harmony112.mjs +5 -7
- package/dist/harmony112.mjs.map +1 -1
- package/dist/harmony113.cjs +5 -6
- package/dist/harmony113.cjs.map +1 -1
- package/dist/harmony113.mjs +5 -6
- package/dist/harmony114.cjs +61 -95
- package/dist/harmony114.cjs.map +1 -1
- package/dist/harmony114.mjs +61 -95
- package/dist/harmony114.mjs.map +1 -1
- package/dist/harmony115.cjs +88 -13
- package/dist/harmony115.cjs.map +1 -1
- package/dist/harmony115.mjs +88 -13
- package/dist/harmony115.mjs.map +1 -1
- package/dist/harmony116.cjs +19 -15
- package/dist/harmony116.cjs.map +1 -1
- package/dist/harmony116.mjs +18 -14
- package/dist/harmony116.mjs.map +1 -1
- package/dist/harmony117.cjs +94 -34
- package/dist/harmony117.cjs.map +1 -1
- package/dist/harmony117.mjs +94 -34
- package/dist/harmony117.mjs.map +1 -1
- package/dist/harmony118.cjs +11 -26
- package/dist/harmony118.cjs.map +1 -1
- package/dist/harmony118.mjs +11 -26
- package/dist/harmony118.mjs.map +1 -1
- package/dist/harmony119.cjs +12 -60
- package/dist/harmony119.cjs.map +1 -1
- package/dist/harmony119.mjs +12 -60
- package/dist/harmony119.mjs.map +1 -1
- package/dist/harmony120.cjs +36 -88
- package/dist/harmony120.cjs.map +1 -1
- package/dist/harmony120.mjs +36 -88
- package/dist/harmony120.mjs.map +1 -1
- package/dist/harmony121.cjs +29 -19
- package/dist/harmony121.cjs.map +1 -1
- package/dist/harmony121.mjs +28 -18
- package/dist/harmony121.mjs.map +1 -1
- package/dist/harmony122.cjs +7 -13
- package/dist/harmony122.cjs.map +1 -1
- package/dist/harmony122.mjs +7 -13
- package/dist/harmony122.mjs.map +1 -1
- package/dist/harmony123.cjs +57 -15
- package/dist/harmony123.cjs.map +1 -1
- package/dist/harmony123.mjs +57 -15
- package/dist/harmony123.mjs.map +1 -1
- package/dist/harmony124.cjs +59 -15
- package/dist/harmony124.cjs.map +1 -1
- package/dist/harmony124.mjs +59 -15
- package/dist/harmony124.mjs.map +1 -1
- package/dist/harmony125.cjs +19 -12
- package/dist/harmony125.cjs.map +1 -1
- package/dist/harmony125.mjs +18 -11
- package/dist/harmony125.mjs.map +1 -1
- package/dist/harmony126.cjs +12 -15
- package/dist/harmony126.cjs.map +1 -1
- package/dist/harmony126.mjs +12 -15
- package/dist/harmony126.mjs.map +1 -1
- package/dist/harmony127.cjs +13 -19
- package/dist/harmony127.cjs.map +1 -1
- package/dist/harmony127.mjs +13 -19
- package/dist/harmony127.mjs.map +1 -1
- package/dist/harmony128.cjs +14 -10
- package/dist/harmony128.cjs.map +1 -1
- package/dist/harmony128.mjs +14 -10
- package/dist/harmony128.mjs.map +1 -1
- package/dist/harmony129.cjs +11 -7
- package/dist/harmony129.cjs.map +1 -1
- package/dist/harmony129.mjs +11 -7
- package/dist/harmony129.mjs.map +1 -1
- package/dist/harmony13.cjs +8 -1
- package/dist/harmony13.cjs.map +1 -1
- package/dist/harmony13.mjs +8 -1
- package/dist/harmony13.mjs.map +1 -1
- package/dist/harmony130.cjs +15 -56
- package/dist/harmony130.cjs.map +1 -1
- package/dist/harmony130.mjs +15 -56
- package/dist/harmony130.mjs.map +1 -1
- package/dist/harmony131.cjs +20 -59
- package/dist/harmony131.cjs.map +1 -1
- package/dist/harmony131.mjs +20 -59
- package/dist/harmony131.mjs.map +1 -1
- package/dist/harmony132.cjs +13 -19
- package/dist/harmony132.cjs.map +1 -1
- package/dist/harmony132.mjs +12 -18
- package/dist/harmony132.mjs.map +1 -1
- package/dist/harmony133.cjs +46 -6
- package/dist/harmony133.cjs.map +1 -1
- package/dist/harmony133.mjs +46 -6
- package/dist/harmony133.mjs.map +1 -1
- package/dist/harmony134.cjs +13 -13
- package/dist/harmony134.cjs.map +1 -1
- package/dist/harmony134.mjs +12 -12
- package/dist/harmony134.mjs.map +1 -1
- package/dist/harmony135.cjs +5 -31
- package/dist/harmony135.cjs.map +1 -1
- package/dist/harmony135.mjs +5 -31
- package/dist/harmony135.mjs.map +1 -1
- package/dist/harmony136.cjs +11 -13
- package/dist/harmony136.cjs.map +1 -1
- package/dist/harmony136.mjs +11 -13
- package/dist/harmony136.mjs.map +1 -1
- package/dist/harmony137.cjs +31 -45
- package/dist/harmony137.cjs.map +1 -1
- package/dist/harmony137.mjs +31 -45
- package/dist/harmony137.mjs.map +1 -1
- package/dist/harmony138.cjs +15 -13
- package/dist/harmony138.cjs.map +1 -1
- package/dist/harmony138.mjs +14 -12
- package/dist/harmony138.mjs.map +1 -1
- package/dist/harmony16.cjs +1 -1
- package/dist/harmony16.mjs +1 -1
- package/dist/harmony23.cjs +1 -1
- package/dist/harmony23.mjs +1 -1
- package/dist/harmony24.cjs +1 -1
- package/dist/harmony24.mjs +1 -1
- package/dist/harmony39.cjs +1 -0
- package/dist/harmony39.cjs.map +1 -1
- package/dist/harmony39.mjs +1 -0
- package/dist/harmony39.mjs.map +1 -1
- package/dist/harmony71.cjs +1 -1
- package/dist/harmony71.mjs +1 -1
- package/dist/harmony72.cjs +1 -1
- package/dist/harmony72.mjs +1 -1
- package/dist/harmony73.cjs +1 -1
- package/dist/harmony73.mjs +1 -1
- package/dist/harmony74.cjs +2 -2
- package/dist/harmony74.mjs +2 -2
- package/dist/harmony75.cjs +2 -2
- package/dist/harmony75.mjs +2 -2
- package/dist/harmony76.cjs +2 -2
- package/dist/harmony76.mjs +2 -2
- package/dist/harmony77.cjs +2 -2
- package/dist/harmony77.mjs +2 -2
- package/dist/harmony78.cjs +3 -3
- package/dist/harmony78.mjs +3 -3
- package/dist/harmony79.cjs +6 -6
- package/dist/harmony79.mjs +6 -6
- package/dist/harmony82.cjs +2 -2
- package/dist/harmony82.mjs +2 -2
- package/dist/harmony85.cjs +7 -12
- package/dist/harmony85.cjs.map +1 -1
- package/dist/harmony85.mjs +6 -11
- package/dist/harmony85.mjs.map +1 -1
- package/dist/harmony86.cjs +8 -20
- package/dist/harmony86.cjs.map +1 -1
- package/dist/harmony86.mjs +8 -20
- package/dist/harmony86.mjs.map +1 -1
- package/dist/harmony87.cjs +6 -3
- package/dist/harmony87.cjs.map +1 -1
- package/dist/harmony87.mjs +6 -3
- package/dist/harmony87.mjs.map +1 -1
- package/dist/harmony88.cjs +57 -9
- package/dist/harmony88.cjs.map +1 -1
- package/dist/harmony88.mjs +56 -8
- package/dist/harmony88.mjs.map +1 -1
- package/dist/harmony89.cjs +42 -9
- package/dist/harmony89.cjs.map +1 -1
- package/dist/harmony89.mjs +41 -8
- package/dist/harmony89.mjs.map +1 -1
- package/dist/harmony90.cjs +5 -57
- package/dist/harmony90.cjs.map +1 -1
- package/dist/harmony90.mjs +5 -57
- package/dist/harmony90.mjs.map +1 -1
- package/dist/harmony91.cjs +9 -42
- package/dist/harmony91.cjs.map +1 -1
- package/dist/harmony91.mjs +8 -41
- package/dist/harmony91.mjs.map +1 -1
- package/dist/harmony92.cjs +25 -6
- package/dist/harmony92.cjs.map +1 -1
- package/dist/harmony92.mjs +24 -5
- package/dist/harmony92.mjs.map +1 -1
- package/dist/harmony93.cjs +3 -6
- package/dist/harmony93.cjs.map +1 -1
- package/dist/harmony93.mjs +3 -6
- package/dist/harmony93.mjs.map +1 -1
- package/dist/harmony94.cjs +21 -24
- package/dist/harmony94.cjs.map +1 -1
- package/dist/harmony94.mjs +20 -23
- package/dist/harmony94.mjs.map +1 -1
- package/dist/harmony95.cjs +9 -3
- package/dist/harmony95.cjs.map +1 -1
- package/dist/harmony95.mjs +9 -3
- package/dist/harmony95.mjs.map +1 -1
- package/dist/harmony96.cjs +9 -19
- package/dist/harmony96.cjs.map +1 -1
- package/dist/harmony96.mjs +11 -21
- package/dist/harmony96.mjs.map +1 -1
- package/dist/harmony97.cjs +20 -11
- package/dist/harmony97.cjs.map +1 -1
- package/dist/harmony97.mjs +20 -11
- package/dist/harmony97.mjs.map +1 -1
- package/package.json +2 -2
package/dist/harmony103.cjs
CHANGED
@@ -1,24 +1,8 @@
|
|
1
1
|
"use strict";
|
2
|
-
Object.
|
3
|
-
const
|
4
|
-
const
|
5
|
-
const
|
6
|
-
|
7
|
-
|
8
|
-
const userIconWrapper = "_userIconWrapper_1phdw_51";
|
9
|
-
const styles = {
|
10
|
-
menuContainer,
|
11
|
-
profileButton,
|
12
|
-
profileImage,
|
13
|
-
profileImageHighlight,
|
14
|
-
profileImageUpgradeIcon,
|
15
|
-
userIconWrapper
|
16
|
-
};
|
17
|
-
exports.default = styles;
|
18
|
-
exports.menuContainer = menuContainer;
|
19
|
-
exports.profileButton = profileButton;
|
20
|
-
exports.profileImage = profileImage;
|
21
|
-
exports.profileImageHighlight = profileImageHighlight;
|
22
|
-
exports.profileImageUpgradeIcon = profileImageUpgradeIcon;
|
23
|
-
exports.userIconWrapper = userIconWrapper;
|
2
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
3
|
+
const React = require("react");
|
4
|
+
const TasksContext = React.createContext({});
|
5
|
+
const useTasks = () => React.useContext(TasksContext);
|
6
|
+
exports.TasksContext = TasksContext;
|
7
|
+
exports.useTasks = useTasks;
|
24
8
|
//# sourceMappingURL=harmony103.cjs.map
|
package/dist/harmony103.cjs.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"harmony103.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
1
|
+
{"version":3,"file":"harmony103.cjs","sources":["../src/components/Sidebar/Widgets/Tasks/TasksContext.ts"],"sourcesContent":["import { createContext, useContext } from 'react'\nimport type { SidebarTasksContextProps } from './types'\n\nexport const TasksContext = createContext({} as SidebarTasksContextProps)\n\nexport const useTasks = () => useContext(TasksContext)\n"],"names":["createContext","useContext"],"mappings":";;;AAGa,MAAA,eAAeA,MAAc,cAAA,CAA8B,CAAA;AAE3D,MAAA,WAAW,MAAMC,MAAAA,WAAW,YAAY;;;"}
|
package/dist/harmony103.mjs
CHANGED
@@ -1,24 +1,8 @@
|
|
1
|
-
|
2
|
-
const
|
3
|
-
const
|
4
|
-
const profileImageHighlight = "_profileImageHighlight_1phdw_41";
|
5
|
-
const profileImageUpgradeIcon = "_profileImageUpgradeIcon_1phdw_45";
|
6
|
-
const userIconWrapper = "_userIconWrapper_1phdw_51";
|
7
|
-
const styles = {
|
8
|
-
menuContainer,
|
9
|
-
profileButton,
|
10
|
-
profileImage,
|
11
|
-
profileImageHighlight,
|
12
|
-
profileImageUpgradeIcon,
|
13
|
-
userIconWrapper
|
14
|
-
};
|
1
|
+
import { createContext, useContext } from "react";
|
2
|
+
const TasksContext = createContext({});
|
3
|
+
const useTasks = () => useContext(TasksContext);
|
15
4
|
export {
|
16
|
-
|
17
|
-
|
18
|
-
profileButton,
|
19
|
-
profileImage,
|
20
|
-
profileImageHighlight,
|
21
|
-
profileImageUpgradeIcon,
|
22
|
-
userIconWrapper
|
5
|
+
TasksContext,
|
6
|
+
useTasks
|
23
7
|
};
|
24
8
|
//# sourceMappingURL=harmony103.mjs.map
|
package/dist/harmony103.mjs.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"harmony103.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
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;"}
|
package/dist/harmony104.cjs
CHANGED
@@ -1,9 +1,43 @@
|
|
1
1
|
"use strict";
|
2
2
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
3
|
-
const
|
4
|
-
|
5
|
-
|
6
|
-
|
3
|
+
const jsxRuntime = require("react/jsx-runtime");
|
4
|
+
const louis = require("@lokalise/louis");
|
5
|
+
const useEffectOnce = require("./harmony12.cjs");
|
6
|
+
const TaskOverview = require("./harmony115.cjs");
|
7
|
+
const TasksContext = require("./harmony103.cjs");
|
8
|
+
const taskEvents = require("./harmony106.cjs");
|
9
|
+
const TasksPopover_module = require("./harmony116.cjs");
|
10
|
+
const TasksPopover = () => {
|
11
|
+
const { tasks, onTasksWidgetOpen, loadingTasks, fetchTasks } = TasksContext.useTasks();
|
12
|
+
useEffectOnce.useEffectOnce(() => {
|
13
|
+
const handleTaskPopoverOpen = async () => {
|
14
|
+
const contextTasks = await fetchTasks();
|
15
|
+
onTasksWidgetOpen == null ? void 0 : onTasksWidgetOpen({ tasks: contextTasks });
|
16
|
+
};
|
17
|
+
handleTaskPopoverOpen();
|
18
|
+
document.addEventListener(taskEvents.TaskEvents.TaskCompleted, fetchTasks);
|
19
|
+
document.addEventListener(taskEvents.TaskEvents.TaskClosed, fetchTasks);
|
20
|
+
document.addEventListener(taskEvents.TaskEvents.Refresh, fetchTasks);
|
21
|
+
return () => {
|
22
|
+
document.removeEventListener(taskEvents.TaskEvents.TaskCompleted, fetchTasks);
|
23
|
+
document.removeEventListener(taskEvents.TaskEvents.TaskClosed, fetchTasks);
|
24
|
+
document.removeEventListener(taskEvents.TaskEvents.Refresh, fetchTasks);
|
25
|
+
};
|
26
|
+
});
|
27
|
+
if (loadingTasks) {
|
28
|
+
return /* @__PURE__ */ jsxRuntime.jsx("div", { "data-testid": "sidebar-tasks-loading-popover", className: TasksPopover_module.default.loadingContainer, children: /* @__PURE__ */ jsxRuntime.jsx(louis.Loading, {}) });
|
29
|
+
}
|
30
|
+
if (tasks.length === 0) {
|
31
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("div", { "data-testid": "sidebar-no-tasks-popover", className: TasksPopover_module.default.noTasksContainer, children: [
|
32
|
+
/* @__PURE__ */ jsxRuntime.jsx("h3", { className: TasksPopover_module.default.noTasksHeading, children: "No tasks" }),
|
33
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: TasksPopover_module.default.noTasksText, children: [
|
34
|
+
"Your incoming tasks will appear here.",
|
35
|
+
/* @__PURE__ */ jsxRuntime.jsx("br", {}),
|
36
|
+
/* @__PURE__ */ jsxRuntime.jsx(louis.Link, { href: "https://docs.lokalise.com/translation-workflow/tasks", target: "_new", children: "Learn more" })
|
37
|
+
] })
|
38
|
+
] });
|
39
|
+
}
|
40
|
+
return /* @__PURE__ */ jsxRuntime.jsx("div", { "data-testid": "sidebar-tasks-popover", className: TasksPopover_module.default.tasksContainer, children: tasks.map((task) => /* @__PURE__ */ jsxRuntime.jsx(TaskOverview.TaskOverview, { task }, task.id)) });
|
7
41
|
};
|
8
|
-
exports.
|
42
|
+
exports.TasksPopover = TasksPopover;
|
9
43
|
//# sourceMappingURL=harmony104.cjs.map
|
package/dist/harmony104.cjs.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"harmony104.cjs","sources":["../src/components/Sidebar/
|
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;;"}
|
package/dist/harmony104.mjs
CHANGED
@@ -1,9 +1,43 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
|
4
|
-
|
1
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
2
|
+
import { Loading, Link } from "@lokalise/louis";
|
3
|
+
import { useEffectOnce } from "./harmony12.mjs";
|
4
|
+
import { TaskOverview } from "./harmony115.mjs";
|
5
|
+
import { useTasks } from "./harmony103.mjs";
|
6
|
+
import { TaskEvents } from "./harmony106.mjs";
|
7
|
+
import styles from "./harmony116.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)) });
|
5
39
|
};
|
6
40
|
export {
|
7
|
-
|
41
|
+
TasksPopover
|
8
42
|
};
|
9
43
|
//# sourceMappingURL=harmony104.mjs.map
|
package/dist/harmony104.mjs.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"harmony104.mjs","sources":["../src/components/Sidebar/
|
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;"}
|
package/dist/harmony105.cjs
CHANGED
@@ -1,8 +1,63 @@
|
|
1
1
|
"use strict";
|
2
|
-
Object.
|
3
|
-
const
|
4
|
-
const
|
5
|
-
|
6
|
-
const
|
7
|
-
|
2
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
3
|
+
const jsxRuntime = require("react/jsx-runtime");
|
4
|
+
const useEffectOnce = require("./harmony12.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 });
|
56
|
+
};
|
57
|
+
const withTasksContext = (WrappedComponent) => function withTasksContextFn(props) {
|
58
|
+
const { config, ...rest } = props;
|
59
|
+
return /* @__PURE__ */ jsxRuntime.jsx(TasksProvider, { config, children: /* @__PURE__ */ jsxRuntime.jsx(WrappedComponent, { ...rest }) });
|
60
|
+
};
|
61
|
+
exports.TasksProvider = TasksProvider;
|
62
|
+
exports.withTasksContext = withTasksContext;
|
8
63
|
//# sourceMappingURL=harmony105.cjs.map
|
package/dist/harmony105.cjs.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"harmony105.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;"}
|
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;;;"}
|
package/dist/harmony105.mjs
CHANGED
@@ -1,8 +1,63 @@
|
|
1
|
-
import {
|
2
|
-
import {
|
3
|
-
|
4
|
-
|
1
|
+
import { jsx } from "react/jsx-runtime";
|
2
|
+
import { useEffectOnce } from "./harmony12.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 }) });
|
58
|
+
};
|
5
59
|
export {
|
6
|
-
|
60
|
+
TasksProvider,
|
61
|
+
withTasksContext
|
7
62
|
};
|
8
63
|
//# sourceMappingURL=harmony105.mjs.map
|
package/dist/harmony105.mjs.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"harmony105.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
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;"}
|
package/dist/harmony106.cjs
CHANGED
@@ -1,8 +1,10 @@
|
|
1
1
|
"use strict";
|
2
|
-
Object.
|
3
|
-
const
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
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"
|
8
|
+
};
|
9
|
+
exports.TaskEvents = TaskEvents;
|
8
10
|
//# sourceMappingURL=harmony106.cjs.map
|
package/dist/harmony106.cjs.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"harmony106.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
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;;"}
|
package/dist/harmony106.mjs
CHANGED
@@ -1,8 +1,10 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
|
4
|
-
|
1
|
+
const TaskEvents = {
|
2
|
+
TaskCompleted: "task_completed",
|
3
|
+
TaskClosed: "task_closed",
|
4
|
+
Refresh: "refresh",
|
5
|
+
ShowDialog: "show_dialog"
|
6
|
+
};
|
5
7
|
export {
|
6
|
-
|
8
|
+
TaskEvents
|
7
9
|
};
|
8
10
|
//# sourceMappingURL=harmony106.mjs.map
|
package/dist/harmony106.mjs.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"harmony106.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
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;"}
|
package/dist/harmony107.cjs
CHANGED
@@ -1,135 +1,24 @@
|
|
1
1
|
"use strict";
|
2
|
-
Object.
|
3
|
-
const
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
} = state;
|
17
|
-
const {
|
18
|
-
boundary = "clippingAncestors",
|
19
|
-
rootBoundary = "viewport",
|
20
|
-
elementContext = "floating",
|
21
|
-
altBoundary = false,
|
22
|
-
padding = 0
|
23
|
-
} = floatingUi_utils.evaluate(options, state);
|
24
|
-
const paddingObject = floatingUi_utils.getPaddingObject(padding);
|
25
|
-
const altContext = elementContext === "floating" ? "reference" : "floating";
|
26
|
-
const element = elements[altBoundary ? altContext : elementContext];
|
27
|
-
const clippingClientRect = floatingUi_utils.rectToClientRect(await platform.getClippingRect({
|
28
|
-
element: ((_await$platform$isEle = await (platform.isElement == null ? void 0 : platform.isElement(element))) != null ? _await$platform$isEle : true) ? element : element.contextElement || await (platform.getDocumentElement == null ? void 0 : platform.getDocumentElement(elements.floating)),
|
29
|
-
boundary,
|
30
|
-
rootBoundary,
|
31
|
-
strategy
|
32
|
-
}));
|
33
|
-
const rect = elementContext === "floating" ? {
|
34
|
-
x,
|
35
|
-
y,
|
36
|
-
width: rects.floating.width,
|
37
|
-
height: rects.floating.height
|
38
|
-
} : rects.reference;
|
39
|
-
const offsetParent = await (platform.getOffsetParent == null ? void 0 : platform.getOffsetParent(elements.floating));
|
40
|
-
const offsetScale = await (platform.isElement == null ? void 0 : platform.isElement(offsetParent)) ? await (platform.getScale == null ? void 0 : platform.getScale(offsetParent)) || {
|
41
|
-
x: 1,
|
42
|
-
y: 1
|
43
|
-
} : {
|
44
|
-
x: 1,
|
45
|
-
y: 1
|
46
|
-
};
|
47
|
-
const elementClientRect = floatingUi_utils.rectToClientRect(platform.convertOffsetParentRelativeRectToViewportRelativeRect ? await platform.convertOffsetParentRelativeRectToViewportRelativeRect({
|
48
|
-
elements,
|
49
|
-
rect,
|
50
|
-
offsetParent,
|
51
|
-
strategy
|
52
|
-
}) : rect);
|
53
|
-
return {
|
54
|
-
top: (clippingClientRect.top - elementClientRect.top + paddingObject.top) / offsetScale.y,
|
55
|
-
bottom: (elementClientRect.bottom - clippingClientRect.bottom + paddingObject.bottom) / offsetScale.y,
|
56
|
-
left: (clippingClientRect.left - elementClientRect.left + paddingObject.left) / offsetScale.x,
|
57
|
-
right: (elementClientRect.right - clippingClientRect.right + paddingObject.right) / offsetScale.x
|
58
|
-
};
|
59
|
-
}
|
60
|
-
const shift = function(options) {
|
61
|
-
if (options === void 0) {
|
62
|
-
options = {};
|
63
|
-
}
|
64
|
-
return {
|
65
|
-
name: "shift",
|
66
|
-
options,
|
67
|
-
async fn(state) {
|
68
|
-
const {
|
69
|
-
x,
|
70
|
-
y,
|
71
|
-
placement
|
72
|
-
} = state;
|
73
|
-
const {
|
74
|
-
mainAxis: checkMainAxis = true,
|
75
|
-
crossAxis: checkCrossAxis = false,
|
76
|
-
limiter = {
|
77
|
-
fn: (_ref) => {
|
78
|
-
let {
|
79
|
-
x: x2,
|
80
|
-
y: y2
|
81
|
-
} = _ref;
|
82
|
-
return {
|
83
|
-
x: x2,
|
84
|
-
y: y2
|
85
|
-
};
|
86
|
-
}
|
87
|
-
},
|
88
|
-
...detectOverflowOptions
|
89
|
-
} = floatingUi_utils.evaluate(options, state);
|
90
|
-
const coords = {
|
91
|
-
x,
|
92
|
-
y
|
93
|
-
};
|
94
|
-
const overflow = await detectOverflow(state, detectOverflowOptions);
|
95
|
-
const crossAxis = floatingUi_utils.getSideAxis(floatingUi_utils.getSide(placement));
|
96
|
-
const mainAxis = floatingUi_utils.getOppositeAxis(crossAxis);
|
97
|
-
let mainAxisCoord = coords[mainAxis];
|
98
|
-
let crossAxisCoord = coords[crossAxis];
|
99
|
-
if (checkMainAxis) {
|
100
|
-
const minSide = mainAxis === "y" ? "top" : "left";
|
101
|
-
const maxSide = mainAxis === "y" ? "bottom" : "right";
|
102
|
-
const min = mainAxisCoord + overflow[minSide];
|
103
|
-
const max = mainAxisCoord - overflow[maxSide];
|
104
|
-
mainAxisCoord = floatingUi_utils.clamp(min, mainAxisCoord, max);
|
105
|
-
}
|
106
|
-
if (checkCrossAxis) {
|
107
|
-
const minSide = crossAxis === "y" ? "top" : "left";
|
108
|
-
const maxSide = crossAxis === "y" ? "bottom" : "right";
|
109
|
-
const min = crossAxisCoord + overflow[minSide];
|
110
|
-
const max = crossAxisCoord - overflow[maxSide];
|
111
|
-
crossAxisCoord = floatingUi_utils.clamp(min, crossAxisCoord, max);
|
112
|
-
}
|
113
|
-
const limitedCoords = limiter.fn({
|
114
|
-
...state,
|
115
|
-
[mainAxis]: mainAxisCoord,
|
116
|
-
[crossAxis]: crossAxisCoord
|
117
|
-
});
|
118
|
-
return {
|
119
|
-
...limitedCoords,
|
120
|
-
data: {
|
121
|
-
x: limitedCoords.x - x,
|
122
|
-
y: limitedCoords.y - y,
|
123
|
-
enabled: {
|
124
|
-
[mainAxis]: checkMainAxis,
|
125
|
-
[crossAxis]: checkCrossAxis
|
126
|
-
}
|
127
|
-
}
|
128
|
-
};
|
129
|
-
}
|
130
|
-
};
|
2
|
+
Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
|
3
|
+
const menuContainer = "_menuContainer_1phdw_10";
|
4
|
+
const profileButton = "_profileButton_1phdw_20";
|
5
|
+
const profileImage = "_profileImage_1phdw_33";
|
6
|
+
const profileImageHighlight = "_profileImageHighlight_1phdw_41";
|
7
|
+
const profileImageUpgradeIcon = "_profileImageUpgradeIcon_1phdw_45";
|
8
|
+
const userIconWrapper = "_userIconWrapper_1phdw_51";
|
9
|
+
const styles = {
|
10
|
+
menuContainer,
|
11
|
+
profileButton,
|
12
|
+
profileImage,
|
13
|
+
profileImageHighlight,
|
14
|
+
profileImageUpgradeIcon,
|
15
|
+
userIconWrapper
|
131
16
|
};
|
132
|
-
exports.
|
133
|
-
exports.
|
134
|
-
exports.
|
17
|
+
exports.default = styles;
|
18
|
+
exports.menuContainer = menuContainer;
|
19
|
+
exports.profileButton = profileButton;
|
20
|
+
exports.profileImage = profileImage;
|
21
|
+
exports.profileImageHighlight = profileImageHighlight;
|
22
|
+
exports.profileImageUpgradeIcon = profileImageUpgradeIcon;
|
23
|
+
exports.userIconWrapper = userIconWrapper;
|
135
24
|
//# sourceMappingURL=harmony107.cjs.map
|