@lokalise/harmony 1.39.0 → 1.39.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/harmony.cjs +16 -14
- package/dist/harmony.cjs.map +1 -1
- package/dist/harmony.mjs +16 -14
- package/dist/harmony.mjs.map +1 -1
- package/dist/harmony100.cjs +11 -5
- package/dist/harmony100.cjs.map +1 -1
- package/dist/harmony100.mjs +11 -5
- package/dist/harmony100.mjs.map +1 -1
- package/dist/harmony101.cjs +20 -8
- package/dist/harmony101.cjs.map +1 -1
- package/dist/harmony101.mjs +20 -8
- package/dist/harmony101.mjs.map +1 -1
- package/dist/harmony102.cjs +3 -21
- package/dist/harmony102.cjs.map +1 -1
- package/dist/harmony102.mjs +3 -21
- package/dist/harmony102.mjs.map +1 -1
- package/dist/harmony103.cjs +6 -3
- package/dist/harmony103.cjs.map +1 -1
- package/dist/harmony103.mjs +6 -3
- package/dist/harmony103.mjs.map +1 -1
- package/dist/harmony104.cjs +9 -21
- package/dist/harmony104.cjs.map +1 -1
- package/dist/harmony104.mjs +8 -20
- package/dist/harmony104.mjs.map +1 -1
- package/dist/harmony105.cjs +57 -12
- package/dist/harmony105.cjs.map +1 -1
- package/dist/harmony105.mjs +56 -11
- package/dist/harmony105.mjs.map +1 -1
- package/dist/harmony106.cjs +41 -165
- package/dist/harmony106.cjs.map +1 -1
- package/dist/harmony106.mjs +41 -165
- package/dist/harmony106.mjs.map +1 -1
- package/dist/harmony107.cjs +4 -43
- package/dist/harmony107.cjs.map +1 -1
- package/dist/harmony107.mjs +5 -44
- package/dist/harmony107.mjs.map +1 -1
- package/dist/harmony108.cjs +9 -12
- package/dist/harmony108.cjs.map +1 -1
- package/dist/harmony108.mjs +8 -11
- package/dist/harmony108.mjs.map +1 -1
- package/dist/harmony109.cjs +21 -9
- package/dist/harmony109.cjs.map +1 -1
- package/dist/harmony109.mjs +21 -9
- package/dist/harmony109.mjs.map +1 -1
- package/dist/harmony110.cjs +7 -12
- package/dist/harmony110.cjs.map +1 -1
- package/dist/harmony110.mjs +6 -11
- package/dist/harmony110.mjs.map +1 -1
- package/dist/harmony111.cjs +21 -21
- package/dist/harmony111.cjs.map +1 -1
- package/dist/harmony111.mjs +20 -20
- package/dist/harmony111.mjs.map +1 -1
- package/dist/harmony112.cjs +12 -14
- package/dist/harmony112.cjs.map +1 -1
- package/dist/harmony112.mjs +11 -13
- package/dist/harmony112.mjs.map +1 -1
- package/dist/harmony113.cjs +14 -18
- package/dist/harmony113.cjs.map +1 -1
- package/dist/harmony113.mjs +14 -18
- package/dist/harmony113.mjs.map +1 -1
- package/dist/harmony114.cjs +19 -22
- package/dist/harmony114.cjs.map +1 -1
- package/dist/harmony114.mjs +18 -21
- package/dist/harmony114.mjs.map +1 -1
- package/dist/harmony115.cjs +98 -5
- package/dist/harmony115.cjs.map +1 -1
- package/dist/harmony115.mjs +81 -5
- package/dist/harmony115.mjs.map +1 -1
- package/dist/harmony116.cjs +21 -132
- package/dist/harmony116.cjs.map +1 -1
- package/dist/harmony116.mjs +20 -131
- package/dist/harmony116.mjs.map +1 -1
- package/dist/harmony117.cjs +6 -12
- package/dist/harmony117.cjs.map +1 -1
- package/dist/harmony117.mjs +5 -11
- package/dist/harmony117.mjs.map +1 -1
- package/dist/harmony118.cjs +87 -5
- package/dist/harmony118.cjs.map +1 -1
- package/dist/harmony118.mjs +87 -5
- package/dist/harmony118.mjs.map +1 -1
- package/dist/harmony119.cjs +29 -39
- package/dist/harmony119.cjs.map +1 -1
- package/dist/harmony119.mjs +29 -39
- package/dist/harmony119.mjs.map +1 -1
- package/dist/harmony120.cjs +127 -55
- package/dist/harmony120.cjs.map +1 -1
- package/dist/harmony120.mjs +127 -55
- package/dist/harmony120.mjs.map +1 -1
- package/dist/harmony121.cjs +12 -7
- package/dist/harmony121.cjs.map +1 -1
- package/dist/harmony121.mjs +11 -6
- package/dist/harmony121.mjs.map +1 -1
- package/dist/harmony122.cjs +4 -98
- package/dist/harmony122.cjs.map +1 -1
- package/dist/harmony122.mjs +5 -82
- package/dist/harmony122.mjs.map +1 -1
- package/dist/harmony123.cjs +39 -86
- package/dist/harmony123.cjs.map +1 -1
- package/dist/harmony123.mjs +39 -86
- package/dist/harmony123.mjs.map +1 -1
- package/dist/harmony124.cjs +60 -30
- package/dist/harmony124.cjs.map +1 -1
- package/dist/harmony124.mjs +60 -30
- package/dist/harmony124.mjs.map +1 -1
- package/dist/harmony125.cjs +7 -6
- package/dist/harmony125.cjs.map +1 -1
- package/dist/harmony125.mjs +6 -5
- package/dist/harmony125.mjs.map +1 -1
- package/dist/harmony126.cjs +6 -5
- package/dist/harmony126.cjs.map +1 -1
- package/dist/harmony126.mjs +6 -5
- package/dist/harmony127.cjs +5 -5
- package/dist/harmony127.mjs +5 -5
- package/dist/harmony128.cjs +6 -63
- package/dist/harmony128.cjs.map +1 -1
- package/dist/harmony128.mjs +5 -62
- package/dist/harmony128.mjs.map +1 -1
- package/dist/harmony129.cjs +9 -87
- package/dist/harmony129.cjs.map +1 -1
- package/dist/harmony129.mjs +9 -87
- package/dist/harmony129.mjs.map +1 -1
- package/dist/harmony130.cjs +63 -19
- package/dist/harmony130.cjs.map +1 -1
- package/dist/harmony130.mjs +62 -18
- package/dist/harmony130.mjs.map +1 -1
- package/dist/harmony131.cjs +87 -9
- package/dist/harmony131.cjs.map +1 -1
- package/dist/harmony131.mjs +87 -9
- package/dist/harmony131.mjs.map +1 -1
- package/dist/harmony132.cjs +19 -97
- package/dist/harmony132.cjs.map +1 -1
- package/dist/harmony132.mjs +18 -96
- package/dist/harmony132.mjs.map +1 -1
- package/dist/harmony133.cjs +94 -11
- package/dist/harmony133.cjs.map +1 -1
- package/dist/harmony133.mjs +94 -11
- package/dist/harmony133.mjs.map +1 -1
- package/dist/harmony134.cjs +12 -13
- package/dist/harmony134.cjs.map +1 -1
- package/dist/harmony134.mjs +12 -13
- package/dist/harmony134.mjs.map +1 -1
- package/dist/harmony135.cjs +13 -35
- package/dist/harmony135.cjs.map +1 -1
- package/dist/harmony135.mjs +13 -35
- package/dist/harmony135.mjs.map +1 -1
- package/dist/harmony136.cjs +32 -24
- package/dist/harmony136.cjs.map +1 -1
- package/dist/harmony136.mjs +32 -24
- package/dist/harmony136.mjs.map +1 -1
- package/dist/harmony137.cjs +28 -7
- package/dist/harmony137.cjs.map +1 -1
- package/dist/harmony137.mjs +28 -7
- package/dist/harmony137.mjs.map +1 -1
- package/dist/harmony138.cjs +13 -57
- package/dist/harmony138.cjs.map +1 -1
- package/dist/harmony138.mjs +13 -57
- package/dist/harmony138.mjs.map +1 -1
- package/dist/harmony139.cjs +14 -59
- package/dist/harmony139.cjs.map +1 -1
- package/dist/harmony139.mjs +14 -59
- package/dist/harmony139.mjs.map +1 -1
- package/dist/harmony14.cjs +1 -1
- package/dist/harmony14.mjs +1 -1
- package/dist/harmony140.cjs +17 -19
- package/dist/harmony140.cjs.map +1 -1
- package/dist/harmony140.mjs +16 -18
- package/dist/harmony140.mjs.map +1 -1
- package/dist/harmony141.cjs +7 -13
- package/dist/harmony141.cjs.map +1 -1
- package/dist/harmony141.mjs +7 -13
- package/dist/harmony141.mjs.map +1 -1
- package/dist/harmony142.cjs +57 -15
- package/dist/harmony142.cjs.map +1 -1
- package/dist/harmony142.mjs +57 -15
- package/dist/harmony142.mjs.map +1 -1
- package/dist/harmony143.cjs +59 -15
- package/dist/harmony143.cjs.map +1 -1
- package/dist/harmony143.mjs +59 -15
- package/dist/harmony143.mjs.map +1 -1
- package/dist/harmony144.cjs +19 -12
- package/dist/harmony144.cjs.map +1 -1
- package/dist/harmony144.mjs +18 -11
- package/dist/harmony144.mjs.map +1 -1
- package/dist/harmony145.cjs +10 -15
- package/dist/harmony145.cjs.map +1 -1
- package/dist/harmony145.mjs +10 -15
- package/dist/harmony145.mjs.map +1 -1
- package/dist/harmony146.cjs +13 -18
- package/dist/harmony146.cjs.map +1 -1
- package/dist/harmony146.mjs +13 -18
- package/dist/harmony146.mjs.map +1 -1
- package/dist/harmony147.cjs +19 -10
- package/dist/harmony147.cjs.map +1 -1
- package/dist/harmony147.mjs +19 -10
- package/dist/harmony147.mjs.map +1 -1
- package/dist/harmony148.cjs +11 -5
- package/dist/harmony148.cjs.map +1 -1
- package/dist/harmony148.mjs +11 -5
- package/dist/harmony148.mjs.map +1 -1
- package/dist/harmony149.cjs +5 -11
- package/dist/harmony149.cjs.map +1 -1
- package/dist/harmony149.mjs +5 -11
- package/dist/harmony149.mjs.map +1 -1
- package/dist/harmony150.cjs +11 -31
- package/dist/harmony150.cjs.map +1 -1
- package/dist/harmony150.mjs +11 -31
- package/dist/harmony150.mjs.map +1 -1
- package/dist/harmony151.cjs +28 -10
- package/dist/harmony151.cjs.map +1 -1
- package/dist/harmony151.mjs +28 -10
- package/dist/harmony151.mjs.map +1 -1
- package/dist/harmony152.cjs +14 -46
- package/dist/harmony152.cjs.map +1 -1
- package/dist/harmony152.mjs +14 -46
- package/dist/harmony152.mjs.map +1 -1
- package/dist/harmony153.cjs +46 -12
- package/dist/harmony153.cjs.map +1 -1
- package/dist/harmony153.mjs +45 -11
- package/dist/harmony153.mjs.map +1 -1
- package/dist/harmony154.cjs +15 -0
- package/dist/harmony154.cjs.map +1 -0
- package/dist/harmony154.mjs +15 -0
- package/dist/harmony154.mjs.map +1 -0
- 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/harmony29.cjs +1 -1
- package/dist/harmony29.mjs +1 -1
- package/dist/harmony3.cjs +3 -3
- package/dist/harmony3.mjs +3 -3
- package/dist/harmony30.cjs +2 -2
- package/dist/harmony30.mjs +2 -2
- package/dist/harmony31.cjs +2 -2
- package/dist/harmony31.mjs +2 -2
- package/dist/harmony32.cjs +1 -1
- package/dist/harmony32.mjs +1 -1
- package/dist/harmony33.cjs +2 -2
- package/dist/harmony33.mjs +2 -2
- package/dist/harmony34.cjs +1 -1
- package/dist/harmony34.mjs +1 -1
- package/dist/harmony35.cjs +2 -2
- package/dist/harmony35.cjs.map +1 -1
- package/dist/harmony35.mjs +2 -2
- package/dist/harmony35.mjs.map +1 -1
- package/dist/harmony36.cjs +1 -1
- package/dist/harmony36.mjs +1 -1
- package/dist/harmony4.cjs +10 -10
- package/dist/harmony4.mjs +10 -10
- package/dist/harmony5.cjs +1 -1
- package/dist/harmony5.mjs +1 -1
- package/dist/harmony58.cjs +4 -4
- package/dist/harmony58.cjs.map +1 -1
- package/dist/harmony58.mjs +4 -4
- package/dist/harmony58.mjs.map +1 -1
- package/dist/harmony59.cjs +4 -4
- package/dist/harmony59.cjs.map +1 -1
- package/dist/harmony59.mjs +4 -4
- package/dist/harmony59.mjs.map +1 -1
- package/dist/harmony6.cjs +4 -4
- package/dist/harmony6.mjs +4 -4
- package/dist/harmony60.cjs +13 -123
- package/dist/harmony60.cjs.map +1 -1
- package/dist/harmony60.mjs +13 -123
- package/dist/harmony60.mjs.map +1 -1
- package/dist/harmony61.cjs +102 -60
- package/dist/harmony61.cjs.map +1 -1
- package/dist/harmony61.mjs +102 -60
- package/dist/harmony61.mjs.map +1 -1
- package/dist/harmony62.cjs +80 -4
- package/dist/harmony62.cjs.map +1 -1
- package/dist/harmony62.mjs +80 -4
- package/dist/harmony62.mjs.map +1 -1
- package/dist/harmony63.cjs +4 -21
- package/dist/harmony63.cjs.map +1 -1
- package/dist/harmony63.mjs +4 -21
- package/dist/harmony63.mjs.map +1 -1
- package/dist/harmony64.cjs +20 -36
- package/dist/harmony64.cjs.map +1 -1
- package/dist/harmony64.mjs +20 -36
- package/dist/harmony64.mjs.map +1 -1
- package/dist/harmony65.cjs +34 -140
- package/dist/harmony65.cjs.map +1 -1
- package/dist/harmony65.mjs +31 -137
- package/dist/harmony65.mjs.map +1 -1
- package/dist/harmony66.cjs +144 -35
- package/dist/harmony66.cjs.map +1 -1
- package/dist/harmony66.mjs +143 -34
- package/dist/harmony66.mjs.map +1 -1
- package/dist/harmony67.cjs +35 -25
- package/dist/harmony67.cjs.map +1 -1
- package/dist/harmony67.mjs +35 -25
- package/dist/harmony67.mjs.map +1 -1
- package/dist/harmony68.cjs +24 -6
- package/dist/harmony68.cjs.map +1 -1
- package/dist/harmony68.mjs +24 -6
- package/dist/harmony68.mjs.map +1 -1
- package/dist/harmony69.cjs +6 -82
- package/dist/harmony69.cjs.map +1 -1
- package/dist/harmony69.mjs +6 -82
- package/dist/harmony69.mjs.map +1 -1
- package/dist/harmony7.cjs +1 -1
- package/dist/harmony7.mjs +1 -1
- package/dist/harmony70.cjs +79 -49
- package/dist/harmony70.cjs.map +1 -1
- package/dist/harmony70.mjs +79 -49
- package/dist/harmony70.mjs.map +1 -1
- package/dist/harmony71.cjs +53 -17
- package/dist/harmony71.cjs.map +1 -1
- package/dist/harmony71.mjs +53 -17
- package/dist/harmony71.mjs.map +1 -1
- package/dist/harmony72.cjs +19 -16
- package/dist/harmony72.cjs.map +1 -1
- package/dist/harmony72.mjs +18 -15
- package/dist/harmony72.mjs.map +1 -1
- package/dist/harmony73.cjs +15 -18
- package/dist/harmony73.cjs.map +1 -1
- package/dist/harmony73.mjs +15 -18
- package/dist/harmony73.mjs.map +1 -1
- package/dist/harmony74.cjs +18 -61
- package/dist/harmony74.cjs.map +1 -1
- package/dist/harmony74.mjs +18 -61
- package/dist/harmony74.mjs.map +1 -1
- package/dist/harmony75.cjs +61 -6
- package/dist/harmony75.cjs.map +1 -1
- package/dist/harmony75.mjs +61 -6
- package/dist/harmony75.mjs.map +1 -1
- package/dist/harmony76.cjs +7 -10
- package/dist/harmony76.cjs.map +1 -1
- package/dist/harmony76.mjs +6 -9
- package/dist/harmony76.mjs.map +1 -1
- package/dist/harmony77.cjs +8 -17
- package/dist/harmony77.cjs.map +1 -1
- package/dist/harmony77.mjs +8 -17
- package/dist/harmony77.mjs.map +1 -1
- package/dist/harmony78.cjs +13 -18
- package/dist/harmony78.cjs.map +1 -1
- package/dist/harmony78.mjs +14 -19
- package/dist/harmony78.mjs.map +1 -1
- package/dist/harmony79.cjs +22 -4
- package/dist/harmony79.cjs.map +1 -1
- package/dist/harmony79.mjs +22 -4
- package/dist/harmony79.mjs.map +1 -1
- package/dist/harmony8.cjs +5 -5
- package/dist/harmony8.mjs +5 -5
- package/dist/harmony80.cjs +4 -31
- package/dist/harmony80.cjs.map +1 -1
- package/dist/harmony80.mjs +5 -32
- package/dist/harmony80.mjs.map +1 -1
- package/dist/harmony81.cjs +26 -26
- package/dist/harmony81.cjs.map +1 -1
- package/dist/harmony81.mjs +28 -28
- package/dist/harmony81.mjs.map +1 -1
- package/dist/harmony82.cjs +25 -12
- package/dist/harmony82.cjs.map +1 -1
- package/dist/harmony82.mjs +26 -13
- package/dist/harmony82.mjs.map +1 -1
- package/dist/harmony83.cjs +12 -24
- package/dist/harmony83.cjs.map +1 -1
- package/dist/harmony83.mjs +13 -25
- package/dist/harmony83.mjs.map +1 -1
- package/dist/harmony84.cjs +27 -55
- package/dist/harmony84.cjs.map +1 -1
- package/dist/harmony84.mjs +29 -57
- package/dist/harmony84.mjs.map +1 -1
- package/dist/harmony85.cjs +60 -10
- package/dist/harmony85.cjs.map +1 -1
- package/dist/harmony85.mjs +59 -9
- package/dist/harmony85.mjs.map +1 -1
- package/dist/harmony86.cjs +10 -9
- package/dist/harmony86.cjs.map +1 -1
- package/dist/harmony86.mjs +9 -8
- package/dist/harmony86.mjs.map +1 -1
- package/dist/harmony87.cjs +5 -26
- package/dist/harmony87.cjs.map +1 -1
- package/dist/harmony87.mjs +8 -29
- package/dist/harmony87.mjs.map +1 -1
- package/dist/harmony88.cjs +29 -3
- package/dist/harmony88.cjs.map +1 -1
- package/dist/harmony88.mjs +29 -3
- package/dist/harmony88.mjs.map +1 -1
- package/dist/harmony89.cjs +3 -33
- package/dist/harmony89.cjs.map +1 -1
- package/dist/harmony89.mjs +3 -33
- package/dist/harmony89.mjs.map +1 -1
- package/dist/harmony90.cjs +33 -43
- package/dist/harmony90.cjs.map +1 -1
- package/dist/harmony90.mjs +33 -43
- package/dist/harmony90.mjs.map +1 -1
- package/dist/harmony91.cjs +43 -29
- package/dist/harmony91.cjs.map +1 -1
- package/dist/harmony91.mjs +43 -29
- package/dist/harmony91.mjs.map +1 -1
- package/dist/harmony92.cjs +26 -63
- package/dist/harmony92.cjs.map +1 -1
- package/dist/harmony92.mjs +26 -63
- package/dist/harmony92.mjs.map +1 -1
- package/dist/harmony93.cjs +66 -15
- package/dist/harmony93.cjs.map +1 -1
- package/dist/harmony93.mjs +66 -15
- package/dist/harmony93.mjs.map +1 -1
- package/dist/harmony94.cjs +15 -3
- package/dist/harmony94.cjs.map +1 -1
- package/dist/harmony94.mjs +15 -3
- package/dist/harmony94.mjs.map +1 -1
- package/dist/harmony95.cjs +4 -7
- package/dist/harmony95.cjs.map +1 -1
- package/dist/harmony95.mjs +3 -6
- package/dist/harmony95.mjs.map +1 -1
- package/dist/harmony96.cjs +12 -9
- package/dist/harmony96.cjs.map +1 -1
- package/dist/harmony96.mjs +11 -8
- package/dist/harmony96.mjs.map +1 -1
- package/dist/harmony97.cjs +9 -6
- package/dist/harmony97.cjs.map +1 -1
- package/dist/harmony97.mjs +9 -6
- package/dist/harmony97.mjs.map +1 -1
- package/dist/harmony98.cjs +164 -55
- package/dist/harmony98.cjs.map +1 -1
- package/dist/harmony98.mjs +164 -55
- package/dist/harmony98.mjs.map +1 -1
- package/dist/harmony99.cjs +43 -41
- package/dist/harmony99.cjs.map +1 -1
- package/dist/harmony99.mjs +43 -41
- package/dist/harmony99.mjs.map +1 -1
- package/dist/types/src/features/publicApi/hooks/useRetrieveUserPermissions.d.ts +1 -1
- package/dist/types/src/features/publicApi/node.d.ts +1 -0
- package/dist/types/src/features/publicApi/teamUsers.d.ts +16 -16
- package/dist/types/src/features/publicApi/types/teamUserTypes.d.ts +6 -6
- package/package.json +1 -1
package/dist/harmony129.cjs
CHANGED
@@ -1,91 +1,13 @@
|
|
1
1
|
"use strict";
|
2
2
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
3
|
-
const
|
4
|
-
|
5
|
-
|
6
|
-
const url = require("./harmony11.cjs");
|
7
|
-
const date = require("./harmony12.cjs");
|
8
|
-
const dateFns = require("date-fns");
|
9
|
-
const index = require("./harmony137.cjs");
|
10
|
-
const TaskLanguage = require("./harmony138.cjs");
|
11
|
-
const TasksContext = require("./harmony118.cjs");
|
12
|
-
const content = require("./harmony139.cjs");
|
13
|
-
const TaskOverview_module = require("./harmony140.cjs");
|
14
|
-
const TaskOverview = ({ task }) => {
|
15
|
-
const { getProjectUrl, taskTitleOnClick } = TasksContext.useTasks();
|
16
|
-
const taskLanguages = content.getTaskLanguages(task.langs);
|
17
|
-
const handleDownloadStyleGuide = (styleGuide) => {
|
18
|
-
window.open(
|
19
|
-
`/style-guide/${task.team_id}/download/${styleGuide.id}/link`,
|
20
|
-
"_blank",
|
21
|
-
"noopener,noreferrer"
|
22
|
-
);
|
23
|
-
};
|
24
|
-
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: TaskOverview_module.default.taskContainer, children: [
|
25
|
-
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex-row gap-1 items-center", children: [
|
26
|
-
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex-row gap-1 items-start flex-wrap", children: [
|
27
|
-
/* @__PURE__ */ jsxRuntime.jsx(louis.Tag, { color: content.tagColor[task.task_type], variant: "solid", children: task.task_type.toLocaleUpperCase() }),
|
28
|
-
task.due_date && /* @__PURE__ */ jsxRuntime.jsxs(louis.Tag, { color: "#EAB308", children: [
|
29
|
-
"DUE ",
|
30
|
-
date.formatDate(dateFns.parseISO(task.due_date), "yyyy-MM-dd")
|
31
|
-
] })
|
32
|
-
] }),
|
33
|
-
task.style_guides.length > 0 && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex-row", children: task.style_guides.length === 1 ? /* @__PURE__ */ jsxRuntime.jsx(
|
34
|
-
louis.Button,
|
35
|
-
{
|
36
|
-
size: "sm",
|
37
|
-
variant: "secondary",
|
38
|
-
onClick: () => handleDownloadStyleGuide(task.style_guides[0]),
|
39
|
-
children: "Download style guide"
|
40
|
-
}
|
41
|
-
) : /* @__PURE__ */ jsxRuntime.jsx(
|
42
|
-
louis.Menu,
|
43
|
-
{
|
44
|
-
menuButton: /* @__PURE__ */ jsxRuntime.jsx(louis.Button, { variant: "secondary", size: "sm", children: "Download style guide" }),
|
45
|
-
children: /* @__PURE__ */ jsxRuntime.jsx(louis.MenuList, { children: task.style_guides.map((styleGuide) => /* @__PURE__ */ jsxRuntime.jsx(
|
46
|
-
louis.MenuItem,
|
47
|
-
{
|
48
|
-
onClick: () => handleDownloadStyleGuide(styleGuide),
|
49
|
-
children: index.splitFileName(styleGuide.name).name
|
50
|
-
},
|
51
|
-
styleGuide.id
|
52
|
-
)) })
|
53
|
-
}
|
54
|
-
) })
|
55
|
-
] }),
|
56
|
-
/* @__PURE__ */ jsxRuntime.jsx("h4", { className: TaskOverview_module.default.taskTitle, children: /* @__PURE__ */ jsxRuntime.jsx(
|
57
|
-
louis.Link,
|
58
|
-
{
|
59
|
-
href: getProjectUrl({ task, view: "multi" }),
|
60
|
-
onClick: () => {
|
61
|
-
taskTitleOnClick == null ? void 0 : taskTitleOnClick({ task });
|
62
|
-
},
|
63
|
-
children: task.title
|
64
|
-
}
|
65
|
-
) }),
|
66
|
-
task.description && /* @__PURE__ */ jsxRuntime.jsx("div", { className: TaskOverview_module.default.taskDescription, children: text.convertNewLineToBreakTag(url.makeUrlClickable(task.description)) }),
|
67
|
-
/* @__PURE__ */ jsxRuntime.jsxs("table", { className: TaskOverview_module.default.languagesTable, children: [
|
68
|
-
/* @__PURE__ */ jsxRuntime.jsx("thead", { children: /* @__PURE__ */ jsxRuntime.jsxs("tr", { children: [
|
69
|
-
/* @__PURE__ */ jsxRuntime.jsx("th", { children: "Languages" }),
|
70
|
-
/* @__PURE__ */ jsxRuntime.jsx("th", { children: "Words to do" }),
|
71
|
-
/* @__PURE__ */ jsxRuntime.jsx("th", { children: "Progress" }),
|
72
|
-
/* @__PURE__ */ jsxRuntime.jsx("th", { children: "Status" })
|
73
|
-
] }) }),
|
74
|
-
/* @__PURE__ */ jsxRuntime.jsx("tbody", { children: taskLanguages.map((language) => /* @__PURE__ */ jsxRuntime.jsx(TaskLanguage.TaskLanguage, { language, task }, language.lang_id)) })
|
75
|
-
] }),
|
76
|
-
/* @__PURE__ */ jsxRuntime.jsxs("div", { "data-testid": "sidebar-task-overview-metadata", className: TaskOverview_module.default.metadata, children: [
|
77
|
-
/* @__PURE__ */ jsxRuntime.jsxs("span", { children: [
|
78
|
-
"Source: ",
|
79
|
-
task.source_lang_name
|
80
|
-
] }),
|
81
|
-
/* @__PURE__ */ jsxRuntime.jsx("span", { children: task.created_by_fullname }),
|
82
|
-
/* @__PURE__ */ jsxRuntime.jsxs("span", { children: [
|
83
|
-
"In ",
|
84
|
-
task.project_name,
|
85
|
-
task.master_branching_enabled === "1" && /* @__PURE__ */ jsxRuntime.jsx("div", { className: TaskOverview_module.default.tag, children: task.branch_name ? task.branch_name : "master" })
|
86
|
-
] })
|
87
|
-
] })
|
88
|
-
] });
|
3
|
+
const hasAdminRight = (adminRights, right) => {
|
4
|
+
if (!Array.isArray(adminRights)) return false;
|
5
|
+
return adminRights.includes(right);
|
89
6
|
};
|
90
|
-
|
7
|
+
const hasAnyAdminRight = (adminRights, rights) => {
|
8
|
+
if (!Array.isArray(adminRights)) return false;
|
9
|
+
return rights.some((right) => adminRights.includes(right));
|
10
|
+
};
|
11
|
+
exports.hasAdminRight = hasAdminRight;
|
12
|
+
exports.hasAnyAdminRight = hasAnyAdminRight;
|
91
13
|
//# sourceMappingURL=harmony129.cjs.map
|
package/dist/harmony129.cjs.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"harmony129.cjs","sources":["../src/
|
1
|
+
{"version":3,"file":"harmony129.cjs","sources":["../src/features/auth/utils/permissions.ts"],"sourcesContent":["// Helper function to check if user has a specific admin right\nexport const hasAdminRight = (adminRights: string[], right: string): boolean => {\n\tif (!Array.isArray(adminRights)) return false\n\treturn adminRights.includes(right)\n}\n\n// Helper function to check if user has any of the specified admin rights\nexport const hasAnyAdminRight = (adminRights: string[], rights: string[]): boolean => {\n\tif (!Array.isArray(adminRights)) return false\n\treturn rights.some((right) => adminRights.includes(right))\n}\n"],"names":[],"mappings":";;AACa,MAAA,gBAAgB,CAAC,aAAuB,UAA2B;AAC/E,MAAI,CAAC,MAAM,QAAQ,WAAW,EAAU,QAAA;AACjC,SAAA,YAAY,SAAS,KAAK;AAClC;AAGa,MAAA,mBAAmB,CAAC,aAAuB,WAA8B;AACrF,MAAI,CAAC,MAAM,QAAQ,WAAW,EAAU,QAAA;AACxC,SAAO,OAAO,KAAK,CAAC,UAAU,YAAY,SAAS,KAAK,CAAC;AAC1D;;;"}
|
package/dist/harmony129.mjs
CHANGED
@@ -1,91 +1,13 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
import { TaskLanguage } from "./harmony138.mjs";
|
9
|
-
import { useTasks } from "./harmony118.mjs";
|
10
|
-
import { getTaskLanguages, tagColor } from "./harmony139.mjs";
|
11
|
-
import styles from "./harmony140.mjs";
|
12
|
-
const TaskOverview = ({ task }) => {
|
13
|
-
const { getProjectUrl, taskTitleOnClick } = useTasks();
|
14
|
-
const taskLanguages = getTaskLanguages(task.langs);
|
15
|
-
const handleDownloadStyleGuide = (styleGuide) => {
|
16
|
-
window.open(
|
17
|
-
`/style-guide/${task.team_id}/download/${styleGuide.id}/link`,
|
18
|
-
"_blank",
|
19
|
-
"noopener,noreferrer"
|
20
|
-
);
|
21
|
-
};
|
22
|
-
return /* @__PURE__ */ jsxs("div", { className: styles.taskContainer, children: [
|
23
|
-
/* @__PURE__ */ jsxs("div", { className: "flex-row gap-1 items-center", children: [
|
24
|
-
/* @__PURE__ */ jsxs("div", { className: "flex-row gap-1 items-start flex-wrap", children: [
|
25
|
-
/* @__PURE__ */ jsx(Tag, { color: tagColor[task.task_type], variant: "solid", children: task.task_type.toLocaleUpperCase() }),
|
26
|
-
task.due_date && /* @__PURE__ */ jsxs(Tag, { color: "#EAB308", children: [
|
27
|
-
"DUE ",
|
28
|
-
formatDate(parseISO(task.due_date), "yyyy-MM-dd")
|
29
|
-
] })
|
30
|
-
] }),
|
31
|
-
task.style_guides.length > 0 && /* @__PURE__ */ jsx("div", { className: "flex-row", children: task.style_guides.length === 1 ? /* @__PURE__ */ jsx(
|
32
|
-
Button,
|
33
|
-
{
|
34
|
-
size: "sm",
|
35
|
-
variant: "secondary",
|
36
|
-
onClick: () => handleDownloadStyleGuide(task.style_guides[0]),
|
37
|
-
children: "Download style guide"
|
38
|
-
}
|
39
|
-
) : /* @__PURE__ */ jsx(
|
40
|
-
Menu,
|
41
|
-
{
|
42
|
-
menuButton: /* @__PURE__ */ jsx(Button, { variant: "secondary", size: "sm", children: "Download style guide" }),
|
43
|
-
children: /* @__PURE__ */ jsx(MenuList, { children: task.style_guides.map((styleGuide) => /* @__PURE__ */ jsx(
|
44
|
-
MenuItem,
|
45
|
-
{
|
46
|
-
onClick: () => handleDownloadStyleGuide(styleGuide),
|
47
|
-
children: splitFileName(styleGuide.name).name
|
48
|
-
},
|
49
|
-
styleGuide.id
|
50
|
-
)) })
|
51
|
-
}
|
52
|
-
) })
|
53
|
-
] }),
|
54
|
-
/* @__PURE__ */ jsx("h4", { className: styles.taskTitle, children: /* @__PURE__ */ jsx(
|
55
|
-
Link,
|
56
|
-
{
|
57
|
-
href: getProjectUrl({ task, view: "multi" }),
|
58
|
-
onClick: () => {
|
59
|
-
taskTitleOnClick == null ? void 0 : taskTitleOnClick({ task });
|
60
|
-
},
|
61
|
-
children: task.title
|
62
|
-
}
|
63
|
-
) }),
|
64
|
-
task.description && /* @__PURE__ */ jsx("div", { className: styles.taskDescription, children: convertNewLineToBreakTag(makeUrlClickable(task.description)) }),
|
65
|
-
/* @__PURE__ */ jsxs("table", { className: styles.languagesTable, children: [
|
66
|
-
/* @__PURE__ */ jsx("thead", { children: /* @__PURE__ */ jsxs("tr", { children: [
|
67
|
-
/* @__PURE__ */ jsx("th", { children: "Languages" }),
|
68
|
-
/* @__PURE__ */ jsx("th", { children: "Words to do" }),
|
69
|
-
/* @__PURE__ */ jsx("th", { children: "Progress" }),
|
70
|
-
/* @__PURE__ */ jsx("th", { children: "Status" })
|
71
|
-
] }) }),
|
72
|
-
/* @__PURE__ */ jsx("tbody", { children: taskLanguages.map((language) => /* @__PURE__ */ jsx(TaskLanguage, { language, task }, language.lang_id)) })
|
73
|
-
] }),
|
74
|
-
/* @__PURE__ */ jsxs("div", { "data-testid": "sidebar-task-overview-metadata", className: styles.metadata, children: [
|
75
|
-
/* @__PURE__ */ jsxs("span", { children: [
|
76
|
-
"Source: ",
|
77
|
-
task.source_lang_name
|
78
|
-
] }),
|
79
|
-
/* @__PURE__ */ jsx("span", { children: task.created_by_fullname }),
|
80
|
-
/* @__PURE__ */ jsxs("span", { children: [
|
81
|
-
"In ",
|
82
|
-
task.project_name,
|
83
|
-
task.master_branching_enabled === "1" && /* @__PURE__ */ jsx("div", { className: styles.tag, children: task.branch_name ? task.branch_name : "master" })
|
84
|
-
] })
|
85
|
-
] })
|
86
|
-
] });
|
1
|
+
const hasAdminRight = (adminRights, right) => {
|
2
|
+
if (!Array.isArray(adminRights)) return false;
|
3
|
+
return adminRights.includes(right);
|
4
|
+
};
|
5
|
+
const hasAnyAdminRight = (adminRights, rights) => {
|
6
|
+
if (!Array.isArray(adminRights)) return false;
|
7
|
+
return rights.some((right) => adminRights.includes(right));
|
87
8
|
};
|
88
9
|
export {
|
89
|
-
|
10
|
+
hasAdminRight,
|
11
|
+
hasAnyAdminRight
|
90
12
|
};
|
91
13
|
//# sourceMappingURL=harmony129.mjs.map
|
package/dist/harmony129.mjs.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"harmony129.mjs","sources":["../src/
|
1
|
+
{"version":3,"file":"harmony129.mjs","sources":["../src/features/auth/utils/permissions.ts"],"sourcesContent":["// Helper function to check if user has a specific admin right\nexport const hasAdminRight = (adminRights: string[], right: string): boolean => {\n\tif (!Array.isArray(adminRights)) return false\n\treturn adminRights.includes(right)\n}\n\n// Helper function to check if user has any of the specified admin rights\nexport const hasAnyAdminRight = (adminRights: string[], rights: string[]): boolean => {\n\tif (!Array.isArray(adminRights)) return false\n\treturn rights.some((right) => adminRights.includes(right))\n}\n"],"names":[],"mappings":"AACa,MAAA,gBAAgB,CAAC,aAAuB,UAA2B;AAC/E,MAAI,CAAC,MAAM,QAAQ,WAAW,EAAU,QAAA;AACjC,SAAA,YAAY,SAAS,KAAK;AAClC;AAGa,MAAA,mBAAmB,CAAC,aAAuB,WAA8B;AACrF,MAAI,CAAC,MAAM,QAAQ,WAAW,EAAU,QAAA;AACxC,SAAO,OAAO,KAAK,CAAC,UAAU,YAAY,SAAS,KAAK,CAAC;AAC1D;"}
|
package/dist/harmony130.cjs
CHANGED
@@ -1,21 +1,65 @@
|
|
1
1
|
"use strict";
|
2
|
-
Object.
|
3
|
-
const
|
4
|
-
const
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
2
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
3
|
+
const min = Math.min;
|
4
|
+
const max = Math.max;
|
5
|
+
function clamp(start, value, end) {
|
6
|
+
return max(start, min(value, end));
|
7
|
+
}
|
8
|
+
function evaluate(value, param) {
|
9
|
+
return typeof value === "function" ? value(param) : value;
|
10
|
+
}
|
11
|
+
function getSide(placement) {
|
12
|
+
return placement.split("-")[0];
|
13
|
+
}
|
14
|
+
function getOppositeAxis(axis) {
|
15
|
+
return axis === "x" ? "y" : "x";
|
16
|
+
}
|
17
|
+
function getSideAxis(placement) {
|
18
|
+
return ["top", "bottom"].includes(getSide(placement)) ? "y" : "x";
|
19
|
+
}
|
20
|
+
function expandPaddingObject(padding) {
|
21
|
+
return {
|
22
|
+
top: 0,
|
23
|
+
right: 0,
|
24
|
+
bottom: 0,
|
25
|
+
left: 0,
|
26
|
+
...padding
|
27
|
+
};
|
28
|
+
}
|
29
|
+
function getPaddingObject(padding) {
|
30
|
+
return typeof padding !== "number" ? expandPaddingObject(padding) : {
|
31
|
+
top: padding,
|
32
|
+
right: padding,
|
33
|
+
bottom: padding,
|
34
|
+
left: padding
|
35
|
+
};
|
36
|
+
}
|
37
|
+
function rectToClientRect(rect) {
|
38
|
+
const {
|
39
|
+
x,
|
40
|
+
y,
|
41
|
+
width,
|
42
|
+
height
|
43
|
+
} = rect;
|
44
|
+
return {
|
45
|
+
width,
|
46
|
+
height,
|
47
|
+
top: y,
|
48
|
+
left: x,
|
49
|
+
right: x + width,
|
50
|
+
bottom: y + height,
|
51
|
+
x,
|
52
|
+
y
|
53
|
+
};
|
54
|
+
}
|
55
|
+
exports.clamp = clamp;
|
56
|
+
exports.evaluate = evaluate;
|
57
|
+
exports.expandPaddingObject = expandPaddingObject;
|
58
|
+
exports.getOppositeAxis = getOppositeAxis;
|
59
|
+
exports.getPaddingObject = getPaddingObject;
|
60
|
+
exports.getSide = getSide;
|
61
|
+
exports.getSideAxis = getSideAxis;
|
62
|
+
exports.max = max;
|
63
|
+
exports.min = min;
|
64
|
+
exports.rectToClientRect = rectToClientRect;
|
21
65
|
//# sourceMappingURL=harmony130.cjs.map
|
package/dist/harmony130.cjs.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"harmony130.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
1
|
+
{"version":3,"file":"harmony130.cjs","sources":["../node_modules/@floating-ui/utils/dist/floating-ui.utils.mjs"],"sourcesContent":["/**\n * Custom positioning reference element.\n * @see https://floating-ui.com/docs/virtual-elements\n */\n\nconst sides = ['top', 'right', 'bottom', 'left'];\nconst alignments = ['start', 'end'];\nconst placements = /*#__PURE__*/sides.reduce((acc, side) => acc.concat(side, side + \"-\" + alignments[0], side + \"-\" + alignments[1]), []);\nconst min = Math.min;\nconst max = Math.max;\nconst round = Math.round;\nconst floor = Math.floor;\nconst createCoords = v => ({\n x: v,\n y: v\n});\nconst oppositeSideMap = {\n left: 'right',\n right: 'left',\n bottom: 'top',\n top: 'bottom'\n};\nconst oppositeAlignmentMap = {\n start: 'end',\n end: 'start'\n};\nfunction clamp(start, value, end) {\n return max(start, min(value, end));\n}\nfunction evaluate(value, param) {\n return typeof value === 'function' ? value(param) : value;\n}\nfunction getSide(placement) {\n return placement.split('-')[0];\n}\nfunction getAlignment(placement) {\n return placement.split('-')[1];\n}\nfunction getOppositeAxis(axis) {\n return axis === 'x' ? 'y' : 'x';\n}\nfunction getAxisLength(axis) {\n return axis === 'y' ? 'height' : 'width';\n}\nfunction getSideAxis(placement) {\n return ['top', 'bottom'].includes(getSide(placement)) ? 'y' : 'x';\n}\nfunction getAlignmentAxis(placement) {\n return getOppositeAxis(getSideAxis(placement));\n}\nfunction getAlignmentSides(placement, rects, rtl) {\n if (rtl === void 0) {\n rtl = false;\n }\n const alignment = getAlignment(placement);\n const alignmentAxis = getAlignmentAxis(placement);\n const length = getAxisLength(alignmentAxis);\n let mainAlignmentSide = alignmentAxis === 'x' ? alignment === (rtl ? 'end' : 'start') ? 'right' : 'left' : alignment === 'start' ? 'bottom' : 'top';\n if (rects.reference[length] > rects.floating[length]) {\n mainAlignmentSide = getOppositePlacement(mainAlignmentSide);\n }\n return [mainAlignmentSide, getOppositePlacement(mainAlignmentSide)];\n}\nfunction getExpandedPlacements(placement) {\n const oppositePlacement = getOppositePlacement(placement);\n return [getOppositeAlignmentPlacement(placement), oppositePlacement, getOppositeAlignmentPlacement(oppositePlacement)];\n}\nfunction getOppositeAlignmentPlacement(placement) {\n return placement.replace(/start|end/g, alignment => oppositeAlignmentMap[alignment]);\n}\nfunction getSideList(side, isStart, rtl) {\n const lr = ['left', 'right'];\n const rl = ['right', 'left'];\n const tb = ['top', 'bottom'];\n const bt = ['bottom', 'top'];\n switch (side) {\n case 'top':\n case 'bottom':\n if (rtl) return isStart ? rl : lr;\n return isStart ? lr : rl;\n case 'left':\n case 'right':\n return isStart ? tb : bt;\n default:\n return [];\n }\n}\nfunction getOppositeAxisPlacements(placement, flipAlignment, direction, rtl) {\n const alignment = getAlignment(placement);\n let list = getSideList(getSide(placement), direction === 'start', rtl);\n if (alignment) {\n list = list.map(side => side + \"-\" + alignment);\n if (flipAlignment) {\n list = list.concat(list.map(getOppositeAlignmentPlacement));\n }\n }\n return list;\n}\nfunction getOppositePlacement(placement) {\n return placement.replace(/left|right|bottom|top/g, side => oppositeSideMap[side]);\n}\nfunction expandPaddingObject(padding) {\n return {\n top: 0,\n right: 0,\n bottom: 0,\n left: 0,\n ...padding\n };\n}\nfunction getPaddingObject(padding) {\n return typeof padding !== 'number' ? expandPaddingObject(padding) : {\n top: padding,\n right: padding,\n bottom: padding,\n left: padding\n };\n}\nfunction rectToClientRect(rect) {\n const {\n x,\n y,\n width,\n height\n } = rect;\n return {\n width,\n height,\n top: y,\n left: x,\n right: x + width,\n bottom: y + height,\n x,\n y\n };\n}\n\nexport { alignments, clamp, createCoords, evaluate, expandPaddingObject, floor, getAlignment, getAlignmentAxis, getAlignmentSides, getAxisLength, getExpandedPlacements, getOppositeAlignmentPlacement, getOppositeAxis, getOppositeAxisPlacements, getOppositePlacement, getPaddingObject, getSide, getSideAxis, max, min, placements, rectToClientRect, round, sides };\n"],"names":[],"mappings":";;AAQK,MAAC,MAAM,KAAK;AACZ,MAAC,MAAM,KAAK;AAiBjB,SAAS,MAAM,OAAO,OAAO,KAAK;AAChC,SAAO,IAAI,OAAO,IAAI,OAAO,GAAG,CAAC;AACnC;AACA,SAAS,SAAS,OAAO,OAAO;AAC9B,SAAO,OAAO,UAAU,aAAa,MAAM,KAAK,IAAI;AACtD;AACA,SAAS,QAAQ,WAAW;AAC1B,SAAO,UAAU,MAAM,GAAG,EAAE,CAAC;AAC/B;AAIA,SAAS,gBAAgB,MAAM;AAC7B,SAAO,SAAS,MAAM,MAAM;AAC9B;AAIA,SAAS,YAAY,WAAW;AAC9B,SAAO,CAAC,OAAO,QAAQ,EAAE,SAAS,QAAQ,SAAS,CAAC,IAAI,MAAM;AAChE;AAuDA,SAAS,oBAAoB,SAAS;AACpC,SAAO;AAAA,IACL,KAAK;AAAA,IACL,OAAO;AAAA,IACP,QAAQ;AAAA,IACR,MAAM;AAAA,IACN,GAAG;AAAA,EACJ;AACH;AACA,SAAS,iBAAiB,SAAS;AACjC,SAAO,OAAO,YAAY,WAAW,oBAAoB,OAAO,IAAI;AAAA,IAClE,KAAK;AAAA,IACL,OAAO;AAAA,IACP,QAAQ;AAAA,IACR,MAAM;AAAA,EACP;AACH;AACA,SAAS,iBAAiB,MAAM;AAC9B,QAAM;AAAA,IACJ;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACJ,IAAM;AACJ,SAAO;AAAA,IACL;AAAA,IACA;AAAA,IACA,KAAK;AAAA,IACL,MAAM;AAAA,IACN,OAAO,IAAI;AAAA,IACX,QAAQ,IAAI;AAAA,IACZ;AAAA,IACA;AAAA,EACD;AACH;;;;;;;;;;;","x_google_ignoreList":[0]}
|
package/dist/harmony130.mjs
CHANGED
@@ -1,21 +1,65 @@
|
|
1
|
-
const
|
2
|
-
const
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
1
|
+
const min = Math.min;
|
2
|
+
const max = Math.max;
|
3
|
+
function clamp(start, value, end) {
|
4
|
+
return max(start, min(value, end));
|
5
|
+
}
|
6
|
+
function evaluate(value, param) {
|
7
|
+
return typeof value === "function" ? value(param) : value;
|
8
|
+
}
|
9
|
+
function getSide(placement) {
|
10
|
+
return placement.split("-")[0];
|
11
|
+
}
|
12
|
+
function getOppositeAxis(axis) {
|
13
|
+
return axis === "x" ? "y" : "x";
|
14
|
+
}
|
15
|
+
function getSideAxis(placement) {
|
16
|
+
return ["top", "bottom"].includes(getSide(placement)) ? "y" : "x";
|
17
|
+
}
|
18
|
+
function expandPaddingObject(padding) {
|
19
|
+
return {
|
20
|
+
top: 0,
|
21
|
+
right: 0,
|
22
|
+
bottom: 0,
|
23
|
+
left: 0,
|
24
|
+
...padding
|
25
|
+
};
|
26
|
+
}
|
27
|
+
function getPaddingObject(padding) {
|
28
|
+
return typeof padding !== "number" ? expandPaddingObject(padding) : {
|
29
|
+
top: padding,
|
30
|
+
right: padding,
|
31
|
+
bottom: padding,
|
32
|
+
left: padding
|
33
|
+
};
|
34
|
+
}
|
35
|
+
function rectToClientRect(rect) {
|
36
|
+
const {
|
37
|
+
x,
|
38
|
+
y,
|
39
|
+
width,
|
40
|
+
height
|
41
|
+
} = rect;
|
42
|
+
return {
|
43
|
+
width,
|
44
|
+
height,
|
45
|
+
top: y,
|
46
|
+
left: x,
|
47
|
+
right: x + width,
|
48
|
+
bottom: y + height,
|
49
|
+
x,
|
50
|
+
y
|
51
|
+
};
|
52
|
+
}
|
13
53
|
export {
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
54
|
+
clamp,
|
55
|
+
evaluate,
|
56
|
+
expandPaddingObject,
|
57
|
+
getOppositeAxis,
|
58
|
+
getPaddingObject,
|
59
|
+
getSide,
|
60
|
+
getSideAxis,
|
61
|
+
max,
|
62
|
+
min,
|
63
|
+
rectToClientRect
|
20
64
|
};
|
21
65
|
//# sourceMappingURL=harmony130.mjs.map
|
package/dist/harmony130.mjs.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"harmony130.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
1
|
+
{"version":3,"file":"harmony130.mjs","sources":["../node_modules/@floating-ui/utils/dist/floating-ui.utils.mjs"],"sourcesContent":["/**\n * Custom positioning reference element.\n * @see https://floating-ui.com/docs/virtual-elements\n */\n\nconst sides = ['top', 'right', 'bottom', 'left'];\nconst alignments = ['start', 'end'];\nconst placements = /*#__PURE__*/sides.reduce((acc, side) => acc.concat(side, side + \"-\" + alignments[0], side + \"-\" + alignments[1]), []);\nconst min = Math.min;\nconst max = Math.max;\nconst round = Math.round;\nconst floor = Math.floor;\nconst createCoords = v => ({\n x: v,\n y: v\n});\nconst oppositeSideMap = {\n left: 'right',\n right: 'left',\n bottom: 'top',\n top: 'bottom'\n};\nconst oppositeAlignmentMap = {\n start: 'end',\n end: 'start'\n};\nfunction clamp(start, value, end) {\n return max(start, min(value, end));\n}\nfunction evaluate(value, param) {\n return typeof value === 'function' ? value(param) : value;\n}\nfunction getSide(placement) {\n return placement.split('-')[0];\n}\nfunction getAlignment(placement) {\n return placement.split('-')[1];\n}\nfunction getOppositeAxis(axis) {\n return axis === 'x' ? 'y' : 'x';\n}\nfunction getAxisLength(axis) {\n return axis === 'y' ? 'height' : 'width';\n}\nfunction getSideAxis(placement) {\n return ['top', 'bottom'].includes(getSide(placement)) ? 'y' : 'x';\n}\nfunction getAlignmentAxis(placement) {\n return getOppositeAxis(getSideAxis(placement));\n}\nfunction getAlignmentSides(placement, rects, rtl) {\n if (rtl === void 0) {\n rtl = false;\n }\n const alignment = getAlignment(placement);\n const alignmentAxis = getAlignmentAxis(placement);\n const length = getAxisLength(alignmentAxis);\n let mainAlignmentSide = alignmentAxis === 'x' ? alignment === (rtl ? 'end' : 'start') ? 'right' : 'left' : alignment === 'start' ? 'bottom' : 'top';\n if (rects.reference[length] > rects.floating[length]) {\n mainAlignmentSide = getOppositePlacement(mainAlignmentSide);\n }\n return [mainAlignmentSide, getOppositePlacement(mainAlignmentSide)];\n}\nfunction getExpandedPlacements(placement) {\n const oppositePlacement = getOppositePlacement(placement);\n return [getOppositeAlignmentPlacement(placement), oppositePlacement, getOppositeAlignmentPlacement(oppositePlacement)];\n}\nfunction getOppositeAlignmentPlacement(placement) {\n return placement.replace(/start|end/g, alignment => oppositeAlignmentMap[alignment]);\n}\nfunction getSideList(side, isStart, rtl) {\n const lr = ['left', 'right'];\n const rl = ['right', 'left'];\n const tb = ['top', 'bottom'];\n const bt = ['bottom', 'top'];\n switch (side) {\n case 'top':\n case 'bottom':\n if (rtl) return isStart ? rl : lr;\n return isStart ? lr : rl;\n case 'left':\n case 'right':\n return isStart ? tb : bt;\n default:\n return [];\n }\n}\nfunction getOppositeAxisPlacements(placement, flipAlignment, direction, rtl) {\n const alignment = getAlignment(placement);\n let list = getSideList(getSide(placement), direction === 'start', rtl);\n if (alignment) {\n list = list.map(side => side + \"-\" + alignment);\n if (flipAlignment) {\n list = list.concat(list.map(getOppositeAlignmentPlacement));\n }\n }\n return list;\n}\nfunction getOppositePlacement(placement) {\n return placement.replace(/left|right|bottom|top/g, side => oppositeSideMap[side]);\n}\nfunction expandPaddingObject(padding) {\n return {\n top: 0,\n right: 0,\n bottom: 0,\n left: 0,\n ...padding\n };\n}\nfunction getPaddingObject(padding) {\n return typeof padding !== 'number' ? expandPaddingObject(padding) : {\n top: padding,\n right: padding,\n bottom: padding,\n left: padding\n };\n}\nfunction rectToClientRect(rect) {\n const {\n x,\n y,\n width,\n height\n } = rect;\n return {\n width,\n height,\n top: y,\n left: x,\n right: x + width,\n bottom: y + height,\n x,\n y\n };\n}\n\nexport { alignments, clamp, createCoords, evaluate, expandPaddingObject, floor, getAlignment, getAlignmentAxis, getAlignmentSides, getAxisLength, getExpandedPlacements, getOppositeAlignmentPlacement, getOppositeAxis, getOppositeAxisPlacements, getOppositePlacement, getPaddingObject, getSide, getSideAxis, max, min, placements, rectToClientRect, round, sides };\n"],"names":[],"mappings":"AAQK,MAAC,MAAM,KAAK;AACZ,MAAC,MAAM,KAAK;AAiBjB,SAAS,MAAM,OAAO,OAAO,KAAK;AAChC,SAAO,IAAI,OAAO,IAAI,OAAO,GAAG,CAAC;AACnC;AACA,SAAS,SAAS,OAAO,OAAO;AAC9B,SAAO,OAAO,UAAU,aAAa,MAAM,KAAK,IAAI;AACtD;AACA,SAAS,QAAQ,WAAW;AAC1B,SAAO,UAAU,MAAM,GAAG,EAAE,CAAC;AAC/B;AAIA,SAAS,gBAAgB,MAAM;AAC7B,SAAO,SAAS,MAAM,MAAM;AAC9B;AAIA,SAAS,YAAY,WAAW;AAC9B,SAAO,CAAC,OAAO,QAAQ,EAAE,SAAS,QAAQ,SAAS,CAAC,IAAI,MAAM;AAChE;AAuDA,SAAS,oBAAoB,SAAS;AACpC,SAAO;AAAA,IACL,KAAK;AAAA,IACL,OAAO;AAAA,IACP,QAAQ;AAAA,IACR,MAAM;AAAA,IACN,GAAG;AAAA,EACJ;AACH;AACA,SAAS,iBAAiB,SAAS;AACjC,SAAO,OAAO,YAAY,WAAW,oBAAoB,OAAO,IAAI;AAAA,IAClE,KAAK;AAAA,IACL,OAAO;AAAA,IACP,QAAQ;AAAA,IACR,MAAM;AAAA,EACP;AACH;AACA,SAAS,iBAAiB,MAAM;AAC9B,QAAM;AAAA,IACJ;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACJ,IAAM;AACJ,SAAO;AAAA,IACL;AAAA,IACA;AAAA,IACA,KAAK;AAAA,IACL,MAAM;AAAA,IACN,OAAO,IAAI;AAAA,IACX,QAAQ,IAAI;AAAA,IACZ;AAAA,IACA;AAAA,EACD;AACH;","x_google_ignoreList":[0]}
|
package/dist/harmony131.cjs
CHANGED
@@ -1,13 +1,91 @@
|
|
1
1
|
"use strict";
|
2
2
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
3
|
-
const
|
4
|
-
|
5
|
-
|
3
|
+
const jsxRuntime = require("react/jsx-runtime");
|
4
|
+
const louis = require("@lokalise/louis");
|
5
|
+
const text = require("./harmony10.cjs");
|
6
|
+
const url = require("./harmony11.cjs");
|
7
|
+
const date = require("./harmony12.cjs");
|
8
|
+
const dateFns = require("date-fns");
|
9
|
+
const index = require("./harmony141.cjs");
|
10
|
+
const TaskLanguage = require("./harmony142.cjs");
|
11
|
+
const TasksContext = require("./harmony122.cjs");
|
12
|
+
const content = require("./harmony143.cjs");
|
13
|
+
const TaskOverview_module = require("./harmony144.cjs");
|
14
|
+
const TaskOverview = ({ task }) => {
|
15
|
+
const { getProjectUrl, taskTitleOnClick } = TasksContext.useTasks();
|
16
|
+
const taskLanguages = content.getTaskLanguages(task.langs);
|
17
|
+
const handleDownloadStyleGuide = (styleGuide) => {
|
18
|
+
window.open(
|
19
|
+
`/style-guide/${task.team_id}/download/${styleGuide.id}/link`,
|
20
|
+
"_blank",
|
21
|
+
"noopener,noreferrer"
|
22
|
+
);
|
23
|
+
};
|
24
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: TaskOverview_module.default.taskContainer, children: [
|
25
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex-row gap-1 items-center", children: [
|
26
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex-row gap-1 items-start flex-wrap", children: [
|
27
|
+
/* @__PURE__ */ jsxRuntime.jsx(louis.Tag, { color: content.tagColor[task.task_type], variant: "solid", children: task.task_type.toLocaleUpperCase() }),
|
28
|
+
task.due_date && /* @__PURE__ */ jsxRuntime.jsxs(louis.Tag, { color: "#EAB308", children: [
|
29
|
+
"DUE ",
|
30
|
+
date.formatDate(dateFns.parseISO(task.due_date), "yyyy-MM-dd")
|
31
|
+
] })
|
32
|
+
] }),
|
33
|
+
task.style_guides.length > 0 && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex-row", children: task.style_guides.length === 1 ? /* @__PURE__ */ jsxRuntime.jsx(
|
34
|
+
louis.Button,
|
35
|
+
{
|
36
|
+
size: "sm",
|
37
|
+
variant: "secondary",
|
38
|
+
onClick: () => handleDownloadStyleGuide(task.style_guides[0]),
|
39
|
+
children: "Download style guide"
|
40
|
+
}
|
41
|
+
) : /* @__PURE__ */ jsxRuntime.jsx(
|
42
|
+
louis.Menu,
|
43
|
+
{
|
44
|
+
menuButton: /* @__PURE__ */ jsxRuntime.jsx(louis.Button, { variant: "secondary", size: "sm", children: "Download style guide" }),
|
45
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(louis.MenuList, { children: task.style_guides.map((styleGuide) => /* @__PURE__ */ jsxRuntime.jsx(
|
46
|
+
louis.MenuItem,
|
47
|
+
{
|
48
|
+
onClick: () => handleDownloadStyleGuide(styleGuide),
|
49
|
+
children: index.splitFileName(styleGuide.name).name
|
50
|
+
},
|
51
|
+
styleGuide.id
|
52
|
+
)) })
|
53
|
+
}
|
54
|
+
) })
|
55
|
+
] }),
|
56
|
+
/* @__PURE__ */ jsxRuntime.jsx("h4", { className: TaskOverview_module.default.taskTitle, children: /* @__PURE__ */ jsxRuntime.jsx(
|
57
|
+
louis.Link,
|
58
|
+
{
|
59
|
+
href: getProjectUrl({ task, view: "multi" }),
|
60
|
+
onClick: () => {
|
61
|
+
taskTitleOnClick == null ? void 0 : taskTitleOnClick({ task });
|
62
|
+
},
|
63
|
+
children: task.title
|
64
|
+
}
|
65
|
+
) }),
|
66
|
+
task.description && /* @__PURE__ */ jsxRuntime.jsx("div", { className: TaskOverview_module.default.taskDescription, children: text.convertNewLineToBreakTag(url.makeUrlClickable(task.description)) }),
|
67
|
+
/* @__PURE__ */ jsxRuntime.jsxs("table", { className: TaskOverview_module.default.languagesTable, children: [
|
68
|
+
/* @__PURE__ */ jsxRuntime.jsx("thead", { children: /* @__PURE__ */ jsxRuntime.jsxs("tr", { children: [
|
69
|
+
/* @__PURE__ */ jsxRuntime.jsx("th", { children: "Languages" }),
|
70
|
+
/* @__PURE__ */ jsxRuntime.jsx("th", { children: "Words to do" }),
|
71
|
+
/* @__PURE__ */ jsxRuntime.jsx("th", { children: "Progress" }),
|
72
|
+
/* @__PURE__ */ jsxRuntime.jsx("th", { children: "Status" })
|
73
|
+
] }) }),
|
74
|
+
/* @__PURE__ */ jsxRuntime.jsx("tbody", { children: taskLanguages.map((language) => /* @__PURE__ */ jsxRuntime.jsx(TaskLanguage.TaskLanguage, { language, task }, language.lang_id)) })
|
75
|
+
] }),
|
76
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { "data-testid": "sidebar-task-overview-metadata", className: TaskOverview_module.default.metadata, children: [
|
77
|
+
/* @__PURE__ */ jsxRuntime.jsxs("span", { children: [
|
78
|
+
"Source: ",
|
79
|
+
task.source_lang_name
|
80
|
+
] }),
|
81
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { children: task.created_by_fullname }),
|
82
|
+
/* @__PURE__ */ jsxRuntime.jsxs("span", { children: [
|
83
|
+
"In ",
|
84
|
+
task.project_name,
|
85
|
+
task.master_branching_enabled === "1" && /* @__PURE__ */ jsxRuntime.jsx("div", { className: TaskOverview_module.default.tag, children: task.branch_name ? task.branch_name : "master" })
|
86
|
+
] })
|
87
|
+
] })
|
88
|
+
] });
|
6
89
|
};
|
7
|
-
|
8
|
-
if (!Array.isArray(adminRights)) return false;
|
9
|
-
return rights.some((right) => adminRights.includes(right));
|
10
|
-
};
|
11
|
-
exports.hasAdminRight = hasAdminRight;
|
12
|
-
exports.hasAnyAdminRight = hasAnyAdminRight;
|
90
|
+
exports.TaskOverview = TaskOverview;
|
13
91
|
//# sourceMappingURL=harmony131.cjs.map
|
package/dist/harmony131.cjs.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"harmony131.cjs","sources":["../src/
|
1
|
+
{"version":3,"file":"harmony131.cjs","sources":["../src/components/Sidebar/Widgets/Tasks/TaskOverview/TaskOverview.tsx"],"sourcesContent":["import { Button, Link, Menu, MenuItem, MenuList, Tag } from '@lokalise/louis'\nimport { convertNewLineToBreakTag, formatDate, makeUrlClickable } from '@utils'\nimport { parseISO } from 'date-fns'\nimport { splitFileName } from '../../../utils'\nimport { TaskLanguage } from '../TaskLanguage/TaskLanguage'\nimport { useTasks } from '../TasksContext'\nimport type { SidebarTask, SidebarTaskStyleGuide } from '../types'\nimport { getTaskLanguages, tagColor } from '../utils/content'\nimport styles from './TaskOverview.module.css'\n\nexport type TaskProps = {\n\ttask: SidebarTask\n}\n\nexport const TaskOverview = ({ task }: TaskProps) => {\n\tconst { getProjectUrl, taskTitleOnClick } = useTasks()\n\n\tconst taskLanguages = getTaskLanguages(task.langs)\n\n\tconst handleDownloadStyleGuide = (styleGuide: SidebarTaskStyleGuide) => {\n\t\twindow.open(\n\t\t\t`/style-guide/${task.team_id}/download/${styleGuide.id}/link`,\n\t\t\t'_blank',\n\t\t\t'noopener,noreferrer',\n\t\t)\n\t}\n\n\treturn (\n\t\t<div className={styles.taskContainer}>\n\t\t\t<div className=\"flex-row gap-1 items-center\">\n\t\t\t\t<div className=\"flex-row gap-1 items-start flex-wrap\">\n\t\t\t\t\t<Tag color={tagColor[task.task_type]} variant=\"solid\">\n\t\t\t\t\t\t{task.task_type.toLocaleUpperCase()}\n\t\t\t\t\t</Tag>\n\t\t\t\t\t{task.due_date && (\n\t\t\t\t\t\t<Tag color={'#EAB308'}>DUE {formatDate(parseISO(task.due_date), 'yyyy-MM-dd')}</Tag>\n\t\t\t\t\t)}\n\t\t\t\t</div>\n\t\t\t\t{task.style_guides.length > 0 && (\n\t\t\t\t\t<div className=\"flex-row\">\n\t\t\t\t\t\t{task.style_guides.length === 1 ? (\n\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\t\t\t\tonClick={() => handleDownloadStyleGuide(task.style_guides[0])}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\tDownload style guide\n\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t<Menu\n\t\t\t\t\t\t\t\tmenuButton={\n\t\t\t\t\t\t\t\t\t<Button variant=\"secondary\" size=\"sm\">\n\t\t\t\t\t\t\t\t\t\tDownload style guide\n\t\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<MenuList>\n\t\t\t\t\t\t\t\t\t{task.style_guides.map((styleGuide) => (\n\t\t\t\t\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\t\t\t\t\tkey={styleGuide.id}\n\t\t\t\t\t\t\t\t\t\t\tonClick={() => handleDownloadStyleGuide(styleGuide)}\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t{splitFileName(styleGuide.name).name}\n\t\t\t\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t\t\t</MenuList>\n\t\t\t\t\t\t\t</Menu>\n\t\t\t\t\t\t)}\n\t\t\t\t\t</div>\n\t\t\t\t)}\n\t\t\t</div>\n\n\t\t\t<h4 className={styles.taskTitle}>\n\t\t\t\t<Link\n\t\t\t\t\thref={getProjectUrl({ task, view: 'multi' })}\n\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\ttaskTitleOnClick?.({ task })\n\t\t\t\t\t}}\n\t\t\t\t>\n\t\t\t\t\t{task.title}\n\t\t\t\t</Link>\n\t\t\t</h4>\n\n\t\t\t{task.description && (\n\t\t\t\t<div className={styles.taskDescription}>\n\t\t\t\t\t{convertNewLineToBreakTag(makeUrlClickable(task.description))}\n\t\t\t\t</div>\n\t\t\t)}\n\n\t\t\t<table className={styles.languagesTable}>\n\t\t\t\t<thead>\n\t\t\t\t\t<tr>\n\t\t\t\t\t\t<th>Languages</th>\n\t\t\t\t\t\t<th>Words to do</th>\n\t\t\t\t\t\t<th>Progress</th>\n\t\t\t\t\t\t<th>Status</th>\n\t\t\t\t\t</tr>\n\t\t\t\t</thead>\n\t\t\t\t<tbody>\n\t\t\t\t\t{taskLanguages.map((language) => (\n\t\t\t\t\t\t<TaskLanguage key={language.lang_id} language={language} task={task} />\n\t\t\t\t\t))}\n\t\t\t\t</tbody>\n\t\t\t</table>\n\t\t\t<div data-testid=\"sidebar-task-overview-metadata\" className={styles.metadata}>\n\t\t\t\t<span>Source: {task.source_lang_name}</span>\n\t\t\t\t<span>{task.created_by_fullname}</span>\n\t\t\t\t<span>\n\t\t\t\t\tIn {task.project_name}\n\t\t\t\t\t{task.master_branching_enabled === '1' && (\n\t\t\t\t\t\t<div className={styles.tag}>{task.branch_name ? task.branch_name : 'master'}</div>\n\t\t\t\t\t)}\n\t\t\t\t</span>\n\t\t\t</div>\n\t\t</div>\n\t)\n}\n"],"names":["useTasks","getTaskLanguages","jsxs","styles","jsx","Tag","tagColor","formatDate","parseISO","Button","Menu","MenuList","MenuItem","splitFileName","Link","convertNewLineToBreakTag","makeUrlClickable","TaskLanguage"],"mappings":"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"}
|