@lokalise/harmony 1.38.0 → 1.39.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/harmony.cjs +5 -0
- package/dist/harmony.cjs.map +1 -1
- package/dist/harmony.mjs +8 -3
- package/dist/harmony104.cjs +1 -1
- package/dist/harmony104.mjs +1 -1
- package/dist/harmony112.cjs +14 -21
- package/dist/harmony112.cjs.map +1 -1
- package/dist/harmony112.mjs +13 -20
- package/dist/harmony112.mjs.map +1 -1
- package/dist/harmony113.cjs +18 -6
- package/dist/harmony113.cjs.map +1 -1
- package/dist/harmony113.mjs +18 -6
- package/dist/harmony113.mjs.map +1 -1
- package/dist/harmony114.cjs +21 -132
- package/dist/harmony114.cjs.map +1 -1
- package/dist/harmony114.mjs +20 -131
- package/dist/harmony114.mjs.map +1 -1
- package/dist/harmony115.cjs +6 -12
- package/dist/harmony115.cjs.map +1 -1
- package/dist/harmony115.mjs +5 -11
- package/dist/harmony115.mjs.map +1 -1
- package/dist/harmony116.cjs +132 -5
- package/dist/harmony116.cjs.map +1 -1
- package/dist/harmony116.mjs +132 -5
- package/dist/harmony116.mjs.map +1 -1
- package/dist/harmony117.cjs +12 -40
- package/dist/harmony117.cjs.map +1 -1
- package/dist/harmony117.mjs +11 -39
- package/dist/harmony117.mjs.map +1 -1
- package/dist/harmony118.cjs +4 -59
- package/dist/harmony118.cjs.map +1 -1
- package/dist/harmony118.mjs +5 -60
- package/dist/harmony118.mjs.map +1 -1
- package/dist/harmony119.cjs +39 -6
- package/dist/harmony119.cjs.map +1 -1
- package/dist/harmony119.mjs +39 -6
- package/dist/harmony119.mjs.map +1 -1
- package/dist/harmony120.cjs +59 -13
- package/dist/harmony120.cjs.map +1 -1
- package/dist/harmony120.mjs +59 -13
- package/dist/harmony120.mjs.map +1 -1
- package/dist/harmony121.cjs +7 -18
- package/dist/harmony121.cjs.map +1 -1
- package/dist/harmony121.mjs +7 -18
- package/dist/harmony121.mjs.map +1 -1
- package/dist/harmony122.cjs +99 -6
- package/dist/harmony122.cjs.map +1 -1
- package/dist/harmony122.mjs +81 -5
- package/dist/harmony122.mjs.map +1 -1
- package/dist/harmony125.cjs +6 -99
- package/dist/harmony125.cjs.map +1 -1
- package/dist/harmony125.mjs +5 -81
- package/dist/harmony125.mjs.map +1 -1
- package/dist/harmony126.cjs +6 -63
- package/dist/harmony126.cjs.map +1 -1
- package/dist/harmony126.mjs +5 -62
- package/dist/harmony126.mjs.map +1 -1
- package/dist/harmony127.cjs +6 -89
- package/dist/harmony127.cjs.map +1 -1
- package/dist/harmony127.mjs +5 -88
- package/dist/harmony127.mjs.map +1 -1
- package/dist/harmony128.cjs +63 -19
- package/dist/harmony128.cjs.map +1 -1
- package/dist/harmony128.mjs +62 -18
- package/dist/harmony128.mjs.map +1 -1
- package/dist/harmony129.cjs +89 -6
- package/dist/harmony129.cjs.map +1 -1
- package/dist/harmony129.mjs +88 -5
- package/dist/harmony129.mjs.map +1 -1
- package/dist/harmony130.cjs +18 -5
- package/dist/harmony130.cjs.map +1 -1
- package/dist/harmony130.mjs +18 -5
- package/dist/harmony130.mjs.map +1 -1
- package/dist/harmony132.cjs +96 -7
- package/dist/harmony132.cjs.map +1 -1
- package/dist/harmony132.mjs +96 -7
- package/dist/harmony132.mjs.map +1 -1
- package/dist/harmony133.cjs +13 -57
- package/dist/harmony133.cjs.map +1 -1
- package/dist/harmony133.mjs +13 -57
- package/dist/harmony133.mjs.map +1 -1
- package/dist/harmony134.cjs +14 -60
- package/dist/harmony134.cjs.map +1 -1
- package/dist/harmony134.mjs +14 -60
- package/dist/harmony134.mjs.map +1 -1
- package/dist/harmony135.cjs +37 -19
- package/dist/harmony135.cjs.map +1 -1
- package/dist/harmony135.mjs +36 -18
- package/dist/harmony135.mjs.map +1 -1
- package/dist/harmony136.cjs +19 -87
- package/dist/harmony136.cjs.map +1 -1
- package/dist/harmony136.mjs +19 -87
- package/dist/harmony136.mjs.map +1 -1
- package/dist/harmony137.cjs +7 -13
- package/dist/harmony137.cjs.map +1 -1
- package/dist/harmony137.mjs +7 -13
- package/dist/harmony137.mjs.map +1 -1
- package/dist/harmony138.cjs +57 -14
- package/dist/harmony138.cjs.map +1 -1
- package/dist/harmony138.mjs +57 -14
- package/dist/harmony138.mjs.map +1 -1
- package/dist/harmony139.cjs +57 -33
- package/dist/harmony139.cjs.map +1 -1
- package/dist/harmony139.mjs +57 -33
- package/dist/harmony139.mjs.map +1 -1
- package/dist/harmony14.cjs +1 -1
- package/dist/harmony14.mjs +1 -1
- package/dist/harmony140.cjs +19 -29
- package/dist/harmony140.cjs.map +1 -1
- package/dist/harmony140.mjs +18 -28
- package/dist/harmony140.mjs.map +1 -1
- package/dist/harmony141.cjs +1 -1
- package/dist/harmony141.mjs +1 -1
- package/dist/harmony142.cjs +1 -1
- package/dist/harmony142.mjs +1 -1
- package/dist/harmony143.cjs +2 -2
- package/dist/harmony143.mjs +2 -2
- package/dist/harmony144.cjs +11 -46
- package/dist/harmony144.cjs.map +1 -1
- package/dist/harmony144.mjs +11 -46
- package/dist/harmony144.mjs.map +1 -1
- package/dist/harmony145.cjs +17 -13
- package/dist/harmony145.cjs.map +1 -1
- package/dist/harmony145.mjs +16 -12
- package/dist/harmony145.mjs.map +1 -1
- package/dist/harmony146.cjs +20 -10
- package/dist/harmony146.cjs.map +1 -1
- package/dist/harmony146.mjs +20 -10
- package/dist/harmony146.mjs.map +1 -1
- package/dist/harmony147.cjs +10 -14
- package/dist/harmony147.cjs.map +1 -1
- package/dist/harmony147.mjs +10 -14
- package/dist/harmony147.mjs.map +1 -1
- package/dist/harmony148.cjs +5 -20
- package/dist/harmony148.cjs.map +1 -1
- package/dist/harmony148.mjs +5 -20
- package/dist/harmony148.mjs.map +1 -1
- package/dist/harmony149.cjs +11 -11
- package/dist/harmony149.cjs.map +1 -1
- package/dist/harmony149.mjs +11 -11
- package/dist/harmony149.mjs.map +1 -1
- package/dist/harmony150.cjs +31 -5
- package/dist/harmony150.cjs.map +1 -1
- package/dist/harmony150.mjs +31 -5
- package/dist/harmony150.mjs.map +1 -1
- package/dist/harmony151.cjs +13 -11
- package/dist/harmony151.cjs.map +1 -1
- package/dist/harmony151.mjs +13 -11
- package/dist/harmony151.mjs.map +1 -1
- package/dist/harmony152.cjs +45 -31
- package/dist/harmony152.cjs.map +1 -1
- package/dist/harmony152.mjs +45 -31
- package/dist/harmony152.mjs.map +1 -1
- package/dist/harmony153.cjs +13 -15
- package/dist/harmony153.cjs.map +1 -1
- package/dist/harmony153.mjs +12 -14
- package/dist/harmony153.mjs.map +1 -1
- package/dist/harmony17.cjs +1 -1
- package/dist/harmony17.mjs +1 -1
- package/dist/harmony25.cjs +1 -1
- package/dist/harmony25.mjs +1 -1
- package/dist/harmony26.cjs +1 -1
- package/dist/harmony26.mjs +1 -1
- package/dist/harmony35.cjs +10 -0
- package/dist/harmony35.cjs.map +1 -1
- package/dist/harmony35.mjs +12 -2
- package/dist/harmony35.mjs.map +1 -1
- package/dist/harmony64.cjs +19 -0
- package/dist/harmony64.cjs.map +1 -1
- package/dist/harmony64.mjs +19 -0
- package/dist/harmony64.mjs.map +1 -1
- package/dist/harmony70.cjs +21 -0
- package/dist/harmony70.cjs.map +1 -1
- package/dist/harmony70.mjs +22 -1
- package/dist/harmony70.mjs.map +1 -1
- package/dist/harmony74.cjs +1 -1
- package/dist/harmony74.mjs +1 -1
- package/dist/harmony84.cjs +6 -6
- package/dist/harmony84.mjs +6 -6
- package/dist/harmony98.cjs +1 -1
- package/dist/harmony98.mjs +1 -1
- package/dist/harmony99.cjs +1 -1
- package/dist/harmony99.mjs +1 -1
- package/dist/types/src/features/auth/frontend/hooks/useAuthenticatedProjectContributor.d.ts +1 -1
- package/dist/types/src/features/navigation/hooks/useNavigationQueries.d.ts +6 -6
- package/dist/types/src/features/publicApi/contributors.d.ts +16 -16
- package/dist/types/src/features/publicApi/hooks/useAddContributorsMutation.d.ts +1 -1
- package/dist/types/src/features/publicApi/hooks/useCreateProjectMutation.d.ts +1 -1
- package/dist/types/src/features/publicApi/hooks/useListContributorsQuery.d.ts +1 -1
- package/dist/types/src/features/publicApi/hooks/useListProjectsQuery.d.ts +1 -1
- package/dist/types/src/features/publicApi/hooks/useRetrieveContributorQuery.d.ts +1 -1
- package/dist/types/src/features/publicApi/hooks/useRetrieveProjectQuery.d.ts +1 -1
- package/dist/types/src/features/publicApi/hooks/useRetrieveUserPermissions.d.ts +23 -0
- package/dist/types/src/features/publicApi/hooks/useUpdateContributorMutation.d.ts +1 -1
- package/dist/types/src/features/publicApi/hooks/useUpdateProjectMutation.d.ts +1 -1
- package/dist/types/src/features/publicApi/projects.d.ts +10 -10
- package/dist/types/src/features/publicApi/teamUsers.d.ts +111 -0
- package/dist/types/src/features/publicApi/types/contributorTypes.d.ts +18 -18
- package/dist/types/src/features/publicApi/types/permissionTypes.d.ts +1 -0
- package/dist/types/src/features/publicApi/types/projectTypes.d.ts +6 -6
- package/dist/types/src/features/publicApi/types/teamUserTypes.d.ts +66 -0
- package/package.json +1 -1
package/dist/harmony119.mjs
CHANGED
@@ -1,10 +1,43 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
1
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
2
|
+
import { Loading, Link } from "@lokalise/louis";
|
3
|
+
import { useEffectOnce } from "./harmony13.mjs";
|
4
|
+
import { TaskOverview } from "./harmony129.mjs";
|
5
|
+
import { useTasks } from "./harmony118.mjs";
|
6
|
+
import { TaskEvents } from "./harmony121.mjs";
|
7
|
+
import styles from "./harmony130.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)) });
|
6
39
|
};
|
7
40
|
export {
|
8
|
-
|
41
|
+
TasksPopover
|
9
42
|
};
|
10
43
|
//# sourceMappingURL=harmony119.mjs.map
|
package/dist/harmony119.mjs.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"harmony119.mjs","sources":["../src/components/Sidebar/Widgets/Tasks/
|
1
|
+
{"version":3,"file":"harmony119.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/harmony120.cjs
CHANGED
@@ -1,17 +1,63 @@
|
|
1
1
|
"use strict";
|
2
|
-
var __defProp = Object.defineProperty;
|
3
|
-
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
4
|
-
var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
|
5
2
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
6
|
-
const
|
7
|
-
const
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
3
|
+
const jsxRuntime = require("react/jsx-runtime");
|
4
|
+
const useEffectOnce = require("./harmony13.cjs");
|
5
|
+
const React = require("react");
|
6
|
+
const TasksContext = require("./harmony118.cjs");
|
7
|
+
const taskEvents = require("./harmony121.cjs");
|
8
|
+
const TasksProvider = ({ children, config }) => {
|
9
|
+
const [tasks, setTasks] = React.useState([]);
|
10
|
+
const [loadingTasks, setLoadingTasks] = React.useState(true);
|
11
|
+
const [tasksCount, setTaskCount] = React.useState(0);
|
12
|
+
const {
|
13
|
+
getProjectUrl,
|
14
|
+
onLanguageCompleteConfirm,
|
15
|
+
onTasksWidgetOpen,
|
16
|
+
langNameOnClick,
|
17
|
+
langProgressOnClick,
|
18
|
+
taskTitleOnClick
|
19
|
+
} = config;
|
20
|
+
const { getTasks, getTasksCount } = config;
|
21
|
+
const fetchTasks = async () => {
|
22
|
+
setLoadingTasks(true);
|
23
|
+
const result = await getTasks();
|
24
|
+
setTasks(result);
|
25
|
+
setLoadingTasks(false);
|
26
|
+
return result;
|
27
|
+
};
|
28
|
+
const fetchTaskCount = async () => {
|
29
|
+
const result = await getTasksCount();
|
30
|
+
setTaskCount(result);
|
31
|
+
};
|
32
|
+
useEffectOnce.useEffectOnce(() => {
|
33
|
+
fetchTaskCount();
|
34
|
+
document.addEventListener(taskEvents.TaskEvents.TaskCompleted, fetchTaskCount);
|
35
|
+
document.addEventListener(taskEvents.TaskEvents.TaskClosed, fetchTaskCount);
|
36
|
+
document.addEventListener(taskEvents.TaskEvents.Refresh, fetchTaskCount);
|
37
|
+
return () => {
|
38
|
+
document.removeEventListener(taskEvents.TaskEvents.TaskCompleted, fetchTaskCount);
|
39
|
+
document.removeEventListener(taskEvents.TaskEvents.TaskClosed, fetchTaskCount);
|
40
|
+
document.removeEventListener(taskEvents.TaskEvents.Refresh, fetchTaskCount);
|
41
|
+
};
|
42
|
+
});
|
43
|
+
const providerValue = {
|
44
|
+
fetchTasks,
|
45
|
+
tasks,
|
46
|
+
tasksCount,
|
47
|
+
loadingTasks,
|
48
|
+
getProjectUrl,
|
49
|
+
onLanguageCompleteConfirm,
|
50
|
+
onTasksWidgetOpen,
|
51
|
+
langNameOnClick,
|
52
|
+
langProgressOnClick,
|
53
|
+
taskTitleOnClick
|
54
|
+
};
|
55
|
+
return /* @__PURE__ */ jsxRuntime.jsx(TasksContext.TasksContext.Provider, { value: providerValue, children });
|
13
56
|
};
|
14
|
-
|
15
|
-
|
16
|
-
|
57
|
+
const withTasksContext = (WrappedComponent) => function withTasksContextFn(props) {
|
58
|
+
const { config, ...rest } = props;
|
59
|
+
return /* @__PURE__ */ jsxRuntime.jsx(TasksProvider, { config, children: /* @__PURE__ */ jsxRuntime.jsx(WrappedComponent, { ...rest }) });
|
60
|
+
};
|
61
|
+
exports.TasksProvider = TasksProvider;
|
62
|
+
exports.withTasksContext = withTasksContext;
|
17
63
|
//# sourceMappingURL=harmony120.cjs.map
|
package/dist/harmony120.cjs.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"harmony120.cjs","sources":["../src/
|
1
|
+
{"version":3,"file":"harmony120.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/harmony120.mjs
CHANGED
@@ -1,17 +1,63 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
|
4
|
-
import {
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
1
|
+
import { jsx } from "react/jsx-runtime";
|
2
|
+
import { useEffectOnce } from "./harmony13.mjs";
|
3
|
+
import { useState } from "react";
|
4
|
+
import { TasksContext } from "./harmony118.mjs";
|
5
|
+
import { TaskEvents } from "./harmony121.mjs";
|
6
|
+
const TasksProvider = ({ children, config }) => {
|
7
|
+
const [tasks, setTasks] = useState([]);
|
8
|
+
const [loadingTasks, setLoadingTasks] = useState(true);
|
9
|
+
const [tasksCount, setTaskCount] = useState(0);
|
10
|
+
const {
|
11
|
+
getProjectUrl,
|
12
|
+
onLanguageCompleteConfirm,
|
13
|
+
onTasksWidgetOpen,
|
14
|
+
langNameOnClick,
|
15
|
+
langProgressOnClick,
|
16
|
+
taskTitleOnClick
|
17
|
+
} = config;
|
18
|
+
const { getTasks, getTasksCount } = config;
|
19
|
+
const fetchTasks = async () => {
|
20
|
+
setLoadingTasks(true);
|
21
|
+
const result = await getTasks();
|
22
|
+
setTasks(result);
|
23
|
+
setLoadingTasks(false);
|
24
|
+
return result;
|
25
|
+
};
|
26
|
+
const fetchTaskCount = async () => {
|
27
|
+
const result = await getTasksCount();
|
28
|
+
setTaskCount(result);
|
29
|
+
};
|
30
|
+
useEffectOnce(() => {
|
31
|
+
fetchTaskCount();
|
32
|
+
document.addEventListener(TaskEvents.TaskCompleted, fetchTaskCount);
|
33
|
+
document.addEventListener(TaskEvents.TaskClosed, fetchTaskCount);
|
34
|
+
document.addEventListener(TaskEvents.Refresh, fetchTaskCount);
|
35
|
+
return () => {
|
36
|
+
document.removeEventListener(TaskEvents.TaskCompleted, fetchTaskCount);
|
37
|
+
document.removeEventListener(TaskEvents.TaskClosed, fetchTaskCount);
|
38
|
+
document.removeEventListener(TaskEvents.Refresh, fetchTaskCount);
|
39
|
+
};
|
40
|
+
});
|
41
|
+
const providerValue = {
|
42
|
+
fetchTasks,
|
43
|
+
tasks,
|
44
|
+
tasksCount,
|
45
|
+
loadingTasks,
|
46
|
+
getProjectUrl,
|
47
|
+
onLanguageCompleteConfirm,
|
48
|
+
onTasksWidgetOpen,
|
49
|
+
langNameOnClick,
|
50
|
+
langProgressOnClick,
|
51
|
+
taskTitleOnClick
|
52
|
+
};
|
53
|
+
return /* @__PURE__ */ jsx(TasksContext.Provider, { value: providerValue, children });
|
54
|
+
};
|
55
|
+
const withTasksContext = (WrappedComponent) => function withTasksContextFn(props) {
|
56
|
+
const { config, ...rest } = props;
|
57
|
+
return /* @__PURE__ */ jsx(TasksProvider, { config, children: /* @__PURE__ */ jsx(WrappedComponent, { ...rest }) });
|
11
58
|
};
|
12
|
-
__publicField(_NewJwtIssuedEvent, "eventName", "new-jwt-issued");
|
13
|
-
let NewJwtIssuedEvent = _NewJwtIssuedEvent;
|
14
59
|
export {
|
15
|
-
|
60
|
+
TasksProvider,
|
61
|
+
withTasksContext
|
16
62
|
};
|
17
63
|
//# sourceMappingURL=harmony120.mjs.map
|
package/dist/harmony120.mjs.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"harmony120.mjs","sources":["../src/
|
1
|
+
{"version":3,"file":"harmony120.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/harmony121.cjs
CHANGED
@@ -1,21 +1,10 @@
|
|
1
1
|
"use strict";
|
2
2
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
3
|
-
const
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
userTeamRole: teamRoleTypes.TEAM_ROLE_SCHEMA,
|
11
|
-
userEmail: zod.z.string().email(),
|
12
|
-
userName: zod.z.string(),
|
13
|
-
userCurrentTeamId: zod.z.number(),
|
14
|
-
planId: zod.z.number(),
|
15
|
-
planName: zod.z.string(),
|
16
|
-
isProviderAlpha: zod.z.boolean(),
|
17
|
-
isFullyAuthenticated: zod.z.boolean(),
|
18
|
-
exp: zod.z.number()
|
19
|
-
});
|
20
|
-
exports.JWT_TOKEN_PAYLOAD_SCHEMA = JWT_TOKEN_PAYLOAD_SCHEMA;
|
3
|
+
const TaskEvents = {
|
4
|
+
TaskCompleted: "task_completed",
|
5
|
+
TaskClosed: "task_closed",
|
6
|
+
Refresh: "refresh",
|
7
|
+
ShowDialog: "show_dialog"
|
8
|
+
};
|
9
|
+
exports.TaskEvents = TaskEvents;
|
21
10
|
//# sourceMappingURL=harmony121.cjs.map
|
package/dist/harmony121.cjs.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"harmony121.cjs","sources":["../src/
|
1
|
+
{"version":3,"file":"harmony121.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/harmony121.mjs
CHANGED
@@ -1,21 +1,10 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
teamUuid: z.string().uuid(),
|
8
|
-
userTeamRole: TEAM_ROLE_SCHEMA,
|
9
|
-
userEmail: z.string().email(),
|
10
|
-
userName: z.string(),
|
11
|
-
userCurrentTeamId: z.number(),
|
12
|
-
planId: z.number(),
|
13
|
-
planName: z.string(),
|
14
|
-
isProviderAlpha: z.boolean(),
|
15
|
-
isFullyAuthenticated: z.boolean(),
|
16
|
-
exp: z.number()
|
17
|
-
});
|
1
|
+
const TaskEvents = {
|
2
|
+
TaskCompleted: "task_completed",
|
3
|
+
TaskClosed: "task_closed",
|
4
|
+
Refresh: "refresh",
|
5
|
+
ShowDialog: "show_dialog"
|
6
|
+
};
|
18
7
|
export {
|
19
|
-
|
8
|
+
TaskEvents
|
20
9
|
};
|
21
10
|
//# sourceMappingURL=harmony121.mjs.map
|
package/dist/harmony121.mjs.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"harmony121.mjs","sources":["../src/
|
1
|
+
{"version":3,"file":"harmony121.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/harmony122.cjs
CHANGED
@@ -1,9 +1,102 @@
|
|
1
1
|
"use strict";
|
2
|
-
Object.
|
3
|
-
const
|
4
|
-
const
|
5
|
-
|
2
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
3
|
+
const React = require("react");
|
4
|
+
const debounce = require("./harmony126.cjs");
|
5
|
+
const throttle = require("./harmony127.cjs");
|
6
|
+
function _interopNamespaceDefault(e) {
|
7
|
+
const n = Object.create(null, { [Symbol.toStringTag]: { value: "Module" } });
|
8
|
+
if (e) {
|
9
|
+
for (const k in e) {
|
10
|
+
if (k !== "default") {
|
11
|
+
const d = Object.getOwnPropertyDescriptor(e, k);
|
12
|
+
Object.defineProperty(n, k, d.get ? d : {
|
13
|
+
enumerable: true,
|
14
|
+
get: () => e[k]
|
15
|
+
});
|
16
|
+
}
|
17
|
+
}
|
18
|
+
}
|
19
|
+
n.default = e;
|
20
|
+
return Object.freeze(n);
|
21
|
+
}
|
22
|
+
const React__namespace = /* @__PURE__ */ _interopNamespaceDefault(React);
|
23
|
+
const patchResizeCallback = (resizeCallback, refreshMode, refreshRate, refreshOptions) => {
|
24
|
+
switch (refreshMode) {
|
25
|
+
case "debounce":
|
26
|
+
return debounce.default(resizeCallback, refreshRate, refreshOptions);
|
27
|
+
case "throttle":
|
28
|
+
return throttle.default(resizeCallback, refreshRate, refreshOptions);
|
29
|
+
default:
|
30
|
+
return resizeCallback;
|
31
|
+
}
|
6
32
|
};
|
7
|
-
|
8
|
-
|
33
|
+
const useCallbackRef = (
|
34
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
35
|
+
(callback) => {
|
36
|
+
const callbackRef = React__namespace.useRef(callback);
|
37
|
+
React__namespace.useEffect(() => {
|
38
|
+
callbackRef.current = callback;
|
39
|
+
});
|
40
|
+
return React__namespace.useMemo(() => (...args) => {
|
41
|
+
var _a;
|
42
|
+
return (_a = callbackRef.current) === null || _a === void 0 ? void 0 : _a.call(callbackRef, ...args);
|
43
|
+
}, []);
|
44
|
+
}
|
45
|
+
);
|
46
|
+
const useRefProxy = (
|
47
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
48
|
+
(targetRef) => {
|
49
|
+
const [refElement, setRefElement] = React__namespace.useState((targetRef === null || targetRef === void 0 ? void 0 : targetRef.current) || null);
|
50
|
+
if (targetRef) {
|
51
|
+
setTimeout(() => {
|
52
|
+
if (targetRef.current !== refElement) {
|
53
|
+
setRefElement(targetRef.current);
|
54
|
+
}
|
55
|
+
}, 0);
|
56
|
+
}
|
57
|
+
const refProxy = React__namespace.useMemo(() => new Proxy((node) => {
|
58
|
+
if (node !== refElement) {
|
59
|
+
setRefElement(node);
|
60
|
+
}
|
61
|
+
}, {
|
62
|
+
get(target, prop) {
|
63
|
+
if (prop === "current") {
|
64
|
+
return refElement;
|
65
|
+
}
|
66
|
+
return target[prop];
|
67
|
+
},
|
68
|
+
set(target, prop, value) {
|
69
|
+
if (prop === "current") {
|
70
|
+
setRefElement(value);
|
71
|
+
} else {
|
72
|
+
target[prop] = value;
|
73
|
+
}
|
74
|
+
return true;
|
75
|
+
}
|
76
|
+
}), [refElement]);
|
77
|
+
return { refProxy, refElement, setRefElement };
|
78
|
+
}
|
79
|
+
);
|
80
|
+
const getDimensions = (entry, box) => {
|
81
|
+
if (box === "border-box") {
|
82
|
+
return {
|
83
|
+
width: entry.borderBoxSize[0].inlineSize,
|
84
|
+
height: entry.borderBoxSize[0].blockSize
|
85
|
+
};
|
86
|
+
}
|
87
|
+
if (box === "content-box") {
|
88
|
+
return {
|
89
|
+
width: entry.contentBoxSize[0].inlineSize,
|
90
|
+
height: entry.contentBoxSize[0].blockSize
|
91
|
+
};
|
92
|
+
}
|
93
|
+
return {
|
94
|
+
width: entry.contentRect.width,
|
95
|
+
height: entry.contentRect.height
|
96
|
+
};
|
97
|
+
};
|
98
|
+
exports.getDimensions = getDimensions;
|
99
|
+
exports.patchResizeCallback = patchResizeCallback;
|
100
|
+
exports.useCallbackRef = useCallbackRef;
|
101
|
+
exports.useRefProxy = useRefProxy;
|
9
102
|
//# sourceMappingURL=harmony122.cjs.map
|
package/dist/harmony122.cjs.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"harmony122.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
1
|
+
{"version":3,"file":"harmony122.cjs","sources":["../node_modules/react-resize-detector/build/utils.js"],"sourcesContent":["import * as React from 'react';\nimport debounce from 'lodash/debounce.js';\nimport throttle from 'lodash/throttle.js';\n\n/**\n * Wraps the resize callback with a lodash debounce / throttle based on the refresh mode\n */\nconst patchResizeCallback = (resizeCallback, refreshMode, refreshRate, refreshOptions) => {\n switch (refreshMode) {\n case 'debounce':\n return debounce(resizeCallback, refreshRate, refreshOptions);\n case 'throttle':\n return throttle(resizeCallback, refreshRate, refreshOptions);\n default:\n return resizeCallback;\n }\n};\n/**\n * A custom hook that converts a callback to a ref to avoid triggering re-renders when passed as a\n * prop or avoid re-executing effects when passed as a dependency\n */\nconst useCallbackRef = \n// eslint-disable-next-line @typescript-eslint/no-explicit-any\n(callback) => {\n const callbackRef = React.useRef(callback);\n React.useEffect(() => {\n callbackRef.current = callback;\n });\n return React.useMemo(() => ((...args) => { var _a; return (_a = callbackRef.current) === null || _a === void 0 ? void 0 : _a.call(callbackRef, ...args); }), []);\n};\n/** `useRef` hook doesn't handle conditional rendering or dynamic ref changes.\n * This hook creates a proxy that ensures that `refElement` is updated whenever the ref is changed. */\nconst useRefProxy = \n// eslint-disable-next-line @typescript-eslint/no-explicit-any\n(targetRef) => {\n // we are going to use this ref to store the last element that was passed to the hook\n const [refElement, setRefElement] = React.useState((targetRef === null || targetRef === void 0 ? void 0 : targetRef.current) || null);\n // if targetRef is passed, we need to update the refElement\n // we have to use setTimeout because ref get assigned after the hook is called\n // in the future releases we are going to remove targetRef and force users to use ref returned by the hook\n if (targetRef) {\n setTimeout(() => {\n if (targetRef.current !== refElement) {\n setRefElement(targetRef.current);\n }\n }, 0);\n }\n // this is a memo that will be called every time the ref is changed\n // This proxy will properly call setState either when the ref is called as a function or when `.current` is set\n // we call setState inside to trigger rerender\n const refProxy = React.useMemo(() => new Proxy((node) => {\n if (node !== refElement) {\n setRefElement(node);\n }\n }, {\n get(target, prop) {\n if (prop === 'current') {\n return refElement;\n }\n return target[prop];\n },\n set(target, prop, value) {\n if (prop === 'current') {\n setRefElement(value);\n }\n else {\n target[prop] = value;\n }\n return true;\n },\n }), [refElement]);\n return { refProxy, refElement, setRefElement };\n};\n/** Calculates the dimensions of the element based on the current box model.\n * @see https://developer.mozilla.org/en-US/docs/Learn/CSS/Building_blocks/The_box_model\n */\nconst getDimensions = (entry, box) => {\n // Value\t Border\t Padding\t Inner Content\n // ---------------------------------------------------\n // 'border-box'\t Yes\t Yes\t Yes\n // 'content-box'\t No\t No\t Yes\n // undefined No\t No?\t Yes\n if (box === 'border-box') {\n return {\n width: entry.borderBoxSize[0].inlineSize,\n height: entry.borderBoxSize[0].blockSize,\n };\n }\n if (box === 'content-box') {\n return {\n width: entry.contentBoxSize[0].inlineSize,\n height: entry.contentBoxSize[0].blockSize,\n };\n }\n return {\n width: entry.contentRect.width,\n height: entry.contentRect.height,\n };\n};\n\nexport { getDimensions, patchResizeCallback, useCallbackRef, useRefProxy };\n//# sourceMappingURL=utils.js.map\n"],"names":["debounce","throttle","React"],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAOK,MAAC,sBAAsB,CAAC,gBAAgB,aAAa,aAAa,mBAAmB;AACtF,UAAQ,aAAW;AAAA,IACf,KAAK;AACD,aAAOA,iBAAS,gBAAgB,aAAa,cAAc;AAAA,IAC/D,KAAK;AACD,aAAOC,iBAAS,gBAAgB,aAAa,cAAc;AAAA,IAC/D;AACI,aAAO;AAAA,EACnB;AACA;AAKK,MAAC;AAAA;AAAA,EAEN,CAAC,aAAa;AACV,UAAM,cAAcC,iBAAM,OAAO,QAAQ;AACzCA,qBAAM,UAAU,MAAM;AAClB,kBAAY,UAAU;AAAA,IAC9B,CAAK;AACD,WAAOA,iBAAM,QAAQ,MAAO,IAAI,SAAS;AAAE,UAAI;AAAI,cAAQ,KAAK,YAAY,aAAa,QAAQ,OAAO,SAAS,SAAS,GAAG,KAAK,aAAa,GAAG,IAAI;AAAA,IAAI,GAAG,CAAA,CAAE;AAAA,EACnK;AAAA;AAGK,MAAC;AAAA;AAAA,EAEN,CAAC,cAAc;AAEX,UAAM,CAAC,YAAY,aAAa,IAAIA,iBAAM,UAAU,cAAc,QAAQ,cAAc,SAAS,SAAS,UAAU,YAAY,IAAI;AAIpI,QAAI,WAAW;AACX,iBAAW,MAAM;AACb,YAAI,UAAU,YAAY,YAAY;AAClC,wBAAc,UAAU,OAAO;AAAA,QAC/C;AAAA,MACS,GAAE,CAAC;AAAA,IACZ;AAII,UAAM,WAAWA,iBAAM,QAAQ,MAAM,IAAI,MAAM,CAAC,SAAS;AACrD,UAAI,SAAS,YAAY;AACrB,sBAAc,IAAI;AAAA,MAC9B;AAAA,IACA,GAAO;AAAA,MACC,IAAI,QAAQ,MAAM;AACd,YAAI,SAAS,WAAW;AACpB,iBAAO;AAAA,QACvB;AACY,eAAO,OAAO,IAAI;AAAA,MACrB;AAAA,MACD,IAAI,QAAQ,MAAM,OAAO;AACrB,YAAI,SAAS,WAAW;AACpB,wBAAc,KAAK;AAAA,QACnC,OACiB;AACD,iBAAO,IAAI,IAAI;AAAA,QAC/B;AACY,eAAO;AAAA,MACV;AAAA,IACT,CAAK,GAAG,CAAC,UAAU,CAAC;AAChB,WAAO,EAAE,UAAU,YAAY,cAAe;AAAA,EAClD;AAAA;AAIK,MAAC,gBAAgB,CAAC,OAAO,QAAQ;AAMlC,MAAI,QAAQ,cAAc;AACtB,WAAO;AAAA,MACH,OAAO,MAAM,cAAc,CAAC,EAAE;AAAA,MAC9B,QAAQ,MAAM,cAAc,CAAC,EAAE;AAAA,IAClC;AAAA,EACT;AACI,MAAI,QAAQ,eAAe;AACvB,WAAO;AAAA,MACH,OAAO,MAAM,eAAe,CAAC,EAAE;AAAA,MAC/B,QAAQ,MAAM,eAAe,CAAC,EAAE;AAAA,IACnC;AAAA,EACT;AACI,SAAO;AAAA,IACH,OAAO,MAAM,YAAY;AAAA,IACzB,QAAQ,MAAM,YAAY;AAAA,EAC7B;AACL;;;;;","x_google_ignoreList":[0]}
|
package/dist/harmony122.mjs
CHANGED
@@ -1,9 +1,85 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
|
1
|
+
import * as React from "react";
|
2
|
+
import debounce from "./harmony126.mjs";
|
3
|
+
import throttle from "./harmony127.mjs";
|
4
|
+
const patchResizeCallback = (resizeCallback, refreshMode, refreshRate, refreshOptions) => {
|
5
|
+
switch (refreshMode) {
|
6
|
+
case "debounce":
|
7
|
+
return debounce(resizeCallback, refreshRate, refreshOptions);
|
8
|
+
case "throttle":
|
9
|
+
return throttle(resizeCallback, refreshRate, refreshOptions);
|
10
|
+
default:
|
11
|
+
return resizeCallback;
|
12
|
+
}
|
13
|
+
};
|
14
|
+
const useCallbackRef = (
|
15
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
16
|
+
(callback) => {
|
17
|
+
const callbackRef = React.useRef(callback);
|
18
|
+
React.useEffect(() => {
|
19
|
+
callbackRef.current = callback;
|
20
|
+
});
|
21
|
+
return React.useMemo(() => (...args) => {
|
22
|
+
var _a;
|
23
|
+
return (_a = callbackRef.current) === null || _a === void 0 ? void 0 : _a.call(callbackRef, ...args);
|
24
|
+
}, []);
|
25
|
+
}
|
26
|
+
);
|
27
|
+
const useRefProxy = (
|
28
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
29
|
+
(targetRef) => {
|
30
|
+
const [refElement, setRefElement] = React.useState((targetRef === null || targetRef === void 0 ? void 0 : targetRef.current) || null);
|
31
|
+
if (targetRef) {
|
32
|
+
setTimeout(() => {
|
33
|
+
if (targetRef.current !== refElement) {
|
34
|
+
setRefElement(targetRef.current);
|
35
|
+
}
|
36
|
+
}, 0);
|
37
|
+
}
|
38
|
+
const refProxy = React.useMemo(() => new Proxy((node) => {
|
39
|
+
if (node !== refElement) {
|
40
|
+
setRefElement(node);
|
41
|
+
}
|
42
|
+
}, {
|
43
|
+
get(target, prop) {
|
44
|
+
if (prop === "current") {
|
45
|
+
return refElement;
|
46
|
+
}
|
47
|
+
return target[prop];
|
48
|
+
},
|
49
|
+
set(target, prop, value) {
|
50
|
+
if (prop === "current") {
|
51
|
+
setRefElement(value);
|
52
|
+
} else {
|
53
|
+
target[prop] = value;
|
54
|
+
}
|
55
|
+
return true;
|
56
|
+
}
|
57
|
+
}), [refElement]);
|
58
|
+
return { refProxy, refElement, setRefElement };
|
59
|
+
}
|
60
|
+
);
|
61
|
+
const getDimensions = (entry, box) => {
|
62
|
+
if (box === "border-box") {
|
63
|
+
return {
|
64
|
+
width: entry.borderBoxSize[0].inlineSize,
|
65
|
+
height: entry.borderBoxSize[0].blockSize
|
66
|
+
};
|
67
|
+
}
|
68
|
+
if (box === "content-box") {
|
69
|
+
return {
|
70
|
+
width: entry.contentBoxSize[0].inlineSize,
|
71
|
+
height: entry.contentBoxSize[0].blockSize
|
72
|
+
};
|
73
|
+
}
|
74
|
+
return {
|
75
|
+
width: entry.contentRect.width,
|
76
|
+
height: entry.contentRect.height
|
77
|
+
};
|
4
78
|
};
|
5
79
|
export {
|
6
|
-
|
7
|
-
|
80
|
+
getDimensions,
|
81
|
+
patchResizeCallback,
|
82
|
+
useCallbackRef,
|
83
|
+
useRefProxy
|
8
84
|
};
|
9
85
|
//# sourceMappingURL=harmony122.mjs.map
|
package/dist/harmony122.mjs.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"harmony122.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
1
|
+
{"version":3,"file":"harmony122.mjs","sources":["../node_modules/react-resize-detector/build/utils.js"],"sourcesContent":["import * as React from 'react';\nimport debounce from 'lodash/debounce.js';\nimport throttle from 'lodash/throttle.js';\n\n/**\n * Wraps the resize callback with a lodash debounce / throttle based on the refresh mode\n */\nconst patchResizeCallback = (resizeCallback, refreshMode, refreshRate, refreshOptions) => {\n switch (refreshMode) {\n case 'debounce':\n return debounce(resizeCallback, refreshRate, refreshOptions);\n case 'throttle':\n return throttle(resizeCallback, refreshRate, refreshOptions);\n default:\n return resizeCallback;\n }\n};\n/**\n * A custom hook that converts a callback to a ref to avoid triggering re-renders when passed as a\n * prop or avoid re-executing effects when passed as a dependency\n */\nconst useCallbackRef = \n// eslint-disable-next-line @typescript-eslint/no-explicit-any\n(callback) => {\n const callbackRef = React.useRef(callback);\n React.useEffect(() => {\n callbackRef.current = callback;\n });\n return React.useMemo(() => ((...args) => { var _a; return (_a = callbackRef.current) === null || _a === void 0 ? void 0 : _a.call(callbackRef, ...args); }), []);\n};\n/** `useRef` hook doesn't handle conditional rendering or dynamic ref changes.\n * This hook creates a proxy that ensures that `refElement` is updated whenever the ref is changed. */\nconst useRefProxy = \n// eslint-disable-next-line @typescript-eslint/no-explicit-any\n(targetRef) => {\n // we are going to use this ref to store the last element that was passed to the hook\n const [refElement, setRefElement] = React.useState((targetRef === null || targetRef === void 0 ? void 0 : targetRef.current) || null);\n // if targetRef is passed, we need to update the refElement\n // we have to use setTimeout because ref get assigned after the hook is called\n // in the future releases we are going to remove targetRef and force users to use ref returned by the hook\n if (targetRef) {\n setTimeout(() => {\n if (targetRef.current !== refElement) {\n setRefElement(targetRef.current);\n }\n }, 0);\n }\n // this is a memo that will be called every time the ref is changed\n // This proxy will properly call setState either when the ref is called as a function or when `.current` is set\n // we call setState inside to trigger rerender\n const refProxy = React.useMemo(() => new Proxy((node) => {\n if (node !== refElement) {\n setRefElement(node);\n }\n }, {\n get(target, prop) {\n if (prop === 'current') {\n return refElement;\n }\n return target[prop];\n },\n set(target, prop, value) {\n if (prop === 'current') {\n setRefElement(value);\n }\n else {\n target[prop] = value;\n }\n return true;\n },\n }), [refElement]);\n return { refProxy, refElement, setRefElement };\n};\n/** Calculates the dimensions of the element based on the current box model.\n * @see https://developer.mozilla.org/en-US/docs/Learn/CSS/Building_blocks/The_box_model\n */\nconst getDimensions = (entry, box) => {\n // Value\t Border\t Padding\t Inner Content\n // ---------------------------------------------------\n // 'border-box'\t Yes\t Yes\t Yes\n // 'content-box'\t No\t No\t Yes\n // undefined No\t No?\t Yes\n if (box === 'border-box') {\n return {\n width: entry.borderBoxSize[0].inlineSize,\n height: entry.borderBoxSize[0].blockSize,\n };\n }\n if (box === 'content-box') {\n return {\n width: entry.contentBoxSize[0].inlineSize,\n height: entry.contentBoxSize[0].blockSize,\n };\n }\n return {\n width: entry.contentRect.width,\n height: entry.contentRect.height,\n };\n};\n\nexport { getDimensions, patchResizeCallback, useCallbackRef, useRefProxy };\n//# sourceMappingURL=utils.js.map\n"],"names":[],"mappings":";;;AAOK,MAAC,sBAAsB,CAAC,gBAAgB,aAAa,aAAa,mBAAmB;AACtF,UAAQ,aAAW;AAAA,IACf,KAAK;AACD,aAAO,SAAS,gBAAgB,aAAa,cAAc;AAAA,IAC/D,KAAK;AACD,aAAO,SAAS,gBAAgB,aAAa,cAAc;AAAA,IAC/D;AACI,aAAO;AAAA,EACnB;AACA;AAKK,MAAC;AAAA;AAAA,EAEN,CAAC,aAAa;AACV,UAAM,cAAc,MAAM,OAAO,QAAQ;AACzC,UAAM,UAAU,MAAM;AAClB,kBAAY,UAAU;AAAA,IAC9B,CAAK;AACD,WAAO,MAAM,QAAQ,MAAO,IAAI,SAAS;AAAE,UAAI;AAAI,cAAQ,KAAK,YAAY,aAAa,QAAQ,OAAO,SAAS,SAAS,GAAG,KAAK,aAAa,GAAG,IAAI;AAAA,IAAI,GAAG,CAAA,CAAE;AAAA,EACnK;AAAA;AAGK,MAAC;AAAA;AAAA,EAEN,CAAC,cAAc;AAEX,UAAM,CAAC,YAAY,aAAa,IAAI,MAAM,UAAU,cAAc,QAAQ,cAAc,SAAS,SAAS,UAAU,YAAY,IAAI;AAIpI,QAAI,WAAW;AACX,iBAAW,MAAM;AACb,YAAI,UAAU,YAAY,YAAY;AAClC,wBAAc,UAAU,OAAO;AAAA,QAC/C;AAAA,MACS,GAAE,CAAC;AAAA,IACZ;AAII,UAAM,WAAW,MAAM,QAAQ,MAAM,IAAI,MAAM,CAAC,SAAS;AACrD,UAAI,SAAS,YAAY;AACrB,sBAAc,IAAI;AAAA,MAC9B;AAAA,IACA,GAAO;AAAA,MACC,IAAI,QAAQ,MAAM;AACd,YAAI,SAAS,WAAW;AACpB,iBAAO;AAAA,QACvB;AACY,eAAO,OAAO,IAAI;AAAA,MACrB;AAAA,MACD,IAAI,QAAQ,MAAM,OAAO;AACrB,YAAI,SAAS,WAAW;AACpB,wBAAc,KAAK;AAAA,QACnC,OACiB;AACD,iBAAO,IAAI,IAAI;AAAA,QAC/B;AACY,eAAO;AAAA,MACV;AAAA,IACT,CAAK,GAAG,CAAC,UAAU,CAAC;AAChB,WAAO,EAAE,UAAU,YAAY,cAAe;AAAA,EAClD;AAAA;AAIK,MAAC,gBAAgB,CAAC,OAAO,QAAQ;AAMlC,MAAI,QAAQ,cAAc;AACtB,WAAO;AAAA,MACH,OAAO,MAAM,cAAc,CAAC,EAAE;AAAA,MAC9B,QAAQ,MAAM,cAAc,CAAC,EAAE;AAAA,IAClC;AAAA,EACT;AACI,MAAI,QAAQ,eAAe;AACvB,WAAO;AAAA,MACH,OAAO,MAAM,eAAe,CAAC,EAAE;AAAA,MAC/B,QAAQ,MAAM,eAAe,CAAC,EAAE;AAAA,IACnC;AAAA,EACT;AACI,SAAO;AAAA,IACH,OAAO,MAAM,YAAY;AAAA,IACzB,QAAQ,MAAM,YAAY;AAAA,EAC7B;AACL;","x_google_ignoreList":[0]}
|