@lokalise/harmony 1.27.3-exp-fixTeamsTypes.8 → 1.27.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (69) hide show
  1. package/README.md +8 -7
  2. package/dist/harmony.cjs +1 -4
  3. package/dist/harmony.cjs.map +1 -1
  4. package/dist/harmony.css +3 -2
  5. package/dist/harmony.mjs +2 -5
  6. package/dist/harmony104.cjs +1 -1
  7. package/dist/harmony104.mjs +1 -1
  8. package/dist/harmony105.cjs +1 -1
  9. package/dist/harmony105.mjs +1 -1
  10. package/dist/harmony113.cjs +4 -4
  11. package/dist/harmony113.mjs +4 -4
  12. package/dist/harmony118.cjs +1 -1
  13. package/dist/harmony118.mjs +1 -1
  14. package/dist/harmony122.cjs +6 -7
  15. package/dist/harmony122.cjs.map +1 -1
  16. package/dist/harmony122.mjs +6 -7
  17. package/dist/harmony122.mjs.map +1 -1
  18. package/dist/harmony123.cjs +6 -56
  19. package/dist/harmony123.cjs.map +1 -1
  20. package/dist/harmony123.mjs +6 -56
  21. package/dist/harmony123.mjs.map +1 -1
  22. package/dist/harmony124.cjs +54 -57
  23. package/dist/harmony124.cjs.map +1 -1
  24. package/dist/harmony124.mjs +55 -58
  25. package/dist/harmony124.mjs.map +1 -1
  26. package/dist/harmony125.cjs +60 -18
  27. package/dist/harmony125.cjs.map +1 -1
  28. package/dist/harmony125.mjs +59 -17
  29. package/dist/harmony125.mjs.map +1 -1
  30. package/dist/harmony126.cjs +19 -7
  31. package/dist/harmony126.cjs.map +1 -1
  32. package/dist/harmony126.mjs +18 -6
  33. package/dist/harmony126.mjs.map +1 -1
  34. package/dist/harmony15.cjs +1 -1
  35. package/dist/harmony15.mjs +1 -1
  36. package/dist/harmony22.cjs +1 -1
  37. package/dist/harmony22.mjs +1 -1
  38. package/dist/harmony23.cjs +1 -1
  39. package/dist/harmony23.mjs +1 -1
  40. package/dist/harmony30.cjs +1 -1
  41. package/dist/harmony30.mjs +1 -1
  42. package/dist/harmony4.cjs.map +1 -1
  43. package/dist/harmony4.mjs.map +1 -1
  44. package/dist/harmony59.cjs +29 -63
  45. package/dist/harmony59.cjs.map +1 -1
  46. package/dist/harmony59.mjs +29 -63
  47. package/dist/harmony59.mjs.map +1 -1
  48. package/dist/harmony71.cjs.map +1 -1
  49. package/dist/harmony71.mjs.map +1 -1
  50. package/dist/harmony83.cjs +2 -2
  51. package/dist/harmony83.mjs +2 -2
  52. package/dist/harmony93.cjs +18 -16
  53. package/dist/harmony93.cjs.map +1 -1
  54. package/dist/harmony93.mjs +18 -16
  55. package/dist/harmony93.mjs.map +1 -1
  56. package/dist/harmony94.cjs +14 -18
  57. package/dist/harmony94.cjs.map +1 -1
  58. package/dist/harmony94.mjs +14 -18
  59. package/dist/harmony94.mjs.map +1 -1
  60. package/dist/harmony95.cjs +16 -14
  61. package/dist/harmony95.cjs.map +1 -1
  62. package/dist/harmony95.mjs +16 -14
  63. package/dist/harmony95.mjs.map +1 -1
  64. package/dist/types/src/components/Sidebar/Sidebar.d.ts +1 -1
  65. package/dist/types/src/features/publicApi/hooks/useListTeamsQuery.d.ts +9 -7
  66. package/dist/types/src/features/publicApi/hooks/useRetrieveTeamQuery.d.ts +11 -24
  67. package/dist/types/src/features/publicApi/team.d.ts +108 -187
  68. package/dist/types/src/features/publicApi/types/teamTypes.d.ts +115 -272
  69. package/package.json +1 -1
package/README.md CHANGED
@@ -1,6 +1,7 @@
1
- # harmony
1
+ # Harmony
2
+
2
3
  A temporary shared library designed to house reusable components, such as molecules and organisms, exclusively for the Expert and Flow platforms during the migration period. This library will be retired upon the completion of the migration and the establishment of the unified next-gen platform.
3
-
4
+
4
5
  ## Storybook
5
6
  https://lokalise.github.io/harmony/?path=/story/app-shell-navigationpanel--default&args=sticky:!true
6
7
 
@@ -33,15 +34,15 @@ export const authenticationHeaderBuilder = HeaderBuilder.create()
33
34
  JwtAuthHeaderBuilderMiddleware({
34
35
  // Provide a way to refresh the token - there are utility functions to help with this in the frontend
35
36
  refreshToken: refreshExpiredToken(authHttpClient, getTeamId),
36
-
37
+
37
38
  // Setup a source for the current token - there are utility functions to help with this in the frontend
38
39
  getCurrentToken: getJwtTokenFromCookie,
39
40
 
40
41
  // Additionally, you can promote a classic session to an authenticated session
41
42
  // when configuring a client in the context of a classic PHP CSRF session.
42
- // this `promoteClassicSession` method will automatically promote the session to JWT
43
+ // this `promoteClassicSession` method will automatically promote the session to JWT
43
44
  generateNewToken: generateTokenFromClassicSession(authHttpClient, getCsrfTokenFromCookie, getTeamId),
44
-
45
+
45
46
  // Optionally, you can provide a callback to be notified when a new token is issued
46
47
  onNewTokenIssued: (token) => {
47
48
  // Do something with the new token
@@ -78,9 +79,9 @@ import { type TeamUserResponse, getTeamUser } from '@lokalise/harmony';
78
79
  import { Client } from 'undici'
79
80
 
80
81
  const result: TeamUserResponse = async (client: Client) => {
81
- return sendByGetRoute(client, getTeamUser, {
82
+ return sendByGetRoute(client, getTeamUser, {
82
83
  pathParams: { teamId, userId },
83
84
  headers: { 'authorization': `Bearer token` }
84
85
  });
85
86
  }
86
- ```
87
+ ```
package/dist/harmony.cjs CHANGED
@@ -199,12 +199,9 @@ exports.LIST_TEAMS_QUERY_SCHEMA = teamTypes.LIST_TEAMS_QUERY_SCHEMA;
199
199
  exports.LIST_TEAMS_RESPONSE_SCHEMA = teamTypes.LIST_TEAMS_RESPONSE_SCHEMA;
200
200
  exports.RETRIEVE_TEAM_PATH_PARAMS_SCHEMA = teamTypes.RETRIEVE_TEAM_PATH_PARAMS_SCHEMA;
201
201
  exports.RETRIEVE_TEAM_RESPONSE_SCHEMA = teamTypes.RETRIEVE_TEAM_RESPONSE_SCHEMA;
202
- exports.TEAMS_QUOTA_ALLOWED_SCHEMA = teamTypes.TEAMS_QUOTA_ALLOWED_SCHEMA;
203
- exports.TEAMS_QUOTA_METRICS = teamTypes.TEAMS_QUOTA_METRICS;
204
- exports.TEAMS_QUOTA_METRICS_SCHEMA = teamTypes.TEAMS_QUOTA_METRICS_SCHEMA;
205
- exports.TEAMS_QUOTA_USAGE_SCHEMA = teamTypes.TEAMS_QUOTA_USAGE_SCHEMA;
206
202
  exports.TEAM_API_BASE_HEADERS_SCHEMA = teamTypes.TEAM_API_BASE_HEADERS_SCHEMA;
207
203
  exports.TEAM_QUOTA_ALLOWED_SCHEMA = teamTypes.TEAM_QUOTA_ALLOWED_SCHEMA;
204
+ exports.TEAM_QUOTA_METRICS = teamTypes.TEAM_QUOTA_METRICS;
208
205
  exports.TEAM_QUOTA_METRICS_SCHEMA = teamTypes.TEAM_QUOTA_METRICS_SCHEMA;
209
206
  exports.TEAM_QUOTA_USAGE_SCHEMA = teamTypes.TEAM_QUOTA_USAGE_SCHEMA;
210
207
  exports.TEAM_USER_API_BASE_HEADERS_SCHEMA = teamUserTypes.TEAM_USER_API_BASE_HEADERS_SCHEMA;
@@ -1 +1 @@
1
- {"version":3,"file":"harmony.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"harmony.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
package/dist/harmony.css CHANGED
@@ -122,7 +122,8 @@
122
122
  color: var(--lok-color-background-action-primary-default);
123
123
  background-color: var(--lok-color-background-surface-fore);
124
124
  }
125
- ._dropdownButton_13l5r_1 {
125
+ ._dropdownButton_1naek_1 {
126
+ cursor: pointer;
126
127
  display: flex;
127
128
  justify-content: center;
128
129
  align-items: center;
@@ -139,7 +140,7 @@
139
140
  }
140
141
  }
141
142
 
142
- ._dropdownButtonActive_13l5r_18 {
143
+ ._dropdownButtonActive_1naek_19 {
143
144
  color: var(--lok-color-background-action-primary-default);
144
145
  background-color: var(--lok-color-background-surface-fore);
145
146
  }
package/dist/harmony.mjs CHANGED
@@ -55,7 +55,7 @@ import { CREATE_PROJECT_REQUEST_BODY_SCHEMA, GET_PROJECT_PERMISSION_META_RESPONS
55
55
  import { GET_SCORE_REQUEST_QUERY_SCHEMA, GET_SCORE_RESPONSE_SCHEMA, ISSUE_SCHEMA, SEVERITY_ENUM } from "./harmony56.mjs";
56
56
  import { API_PLUGIN_HEADER_SCHEMA, APU_TOKEN_AUTH_HEADER_SCHEMA, AUTHENTICATION_HEADERS_SCHEMA, AUTHORIZATION_HEADER_SCHEMA, BASE_API_ENDPOINT_HEADER_SCHEMA } from "./harmony57.mjs";
57
57
  import { TEAM_ROLE_SCHEMA } from "./harmony58.mjs";
58
- import { LIST_TEAMS_QUERY_SCHEMA, LIST_TEAMS_RESPONSE_SCHEMA, RETRIEVE_TEAM_PATH_PARAMS_SCHEMA, RETRIEVE_TEAM_RESPONSE_SCHEMA, TEAMS_QUOTA_ALLOWED_SCHEMA, TEAMS_QUOTA_METRICS, TEAMS_QUOTA_METRICS_SCHEMA, TEAMS_QUOTA_USAGE_SCHEMA, TEAM_API_BASE_HEADERS_SCHEMA, TEAM_QUOTA_ALLOWED_SCHEMA, TEAM_QUOTA_METRICS_SCHEMA, TEAM_QUOTA_USAGE_SCHEMA } from "./harmony59.mjs";
58
+ import { LIST_TEAMS_QUERY_SCHEMA, LIST_TEAMS_RESPONSE_SCHEMA, RETRIEVE_TEAM_PATH_PARAMS_SCHEMA, RETRIEVE_TEAM_RESPONSE_SCHEMA, TEAM_API_BASE_HEADERS_SCHEMA, TEAM_QUOTA_ALLOWED_SCHEMA, TEAM_QUOTA_METRICS, TEAM_QUOTA_METRICS_SCHEMA, TEAM_QUOTA_USAGE_SCHEMA } from "./harmony59.mjs";
59
59
  import { TEAM_USER_API_BASE_HEADERS_SCHEMA, TEAM_USER_PATH_PARAMS_SCHEMA, TEAM_USER_RESPONSE_SCHEMA, TEAM_USER_SCHEMA } from "./harmony60.mjs";
60
60
  import { JWT_TOKEN_SCHEMA, USER_TOKEN_REQUEST_HEADER_SCHEMA } from "./harmony61.mjs";
61
61
  export {
@@ -127,12 +127,9 @@ export {
127
127
  SidebarTaskLanguageStatuses,
128
128
  SidebarTaskStatuses,
129
129
  SidebarTaskTypeOptions,
130
- TEAMS_QUOTA_ALLOWED_SCHEMA,
131
- TEAMS_QUOTA_METRICS,
132
- TEAMS_QUOTA_METRICS_SCHEMA,
133
- TEAMS_QUOTA_USAGE_SCHEMA,
134
130
  TEAM_API_BASE_HEADERS_SCHEMA,
135
131
  TEAM_QUOTA_ALLOWED_SCHEMA,
132
+ TEAM_QUOTA_METRICS,
136
133
  TEAM_QUOTA_METRICS_SCHEMA,
137
134
  TEAM_QUOTA_USAGE_SCHEMA,
138
135
  TEAM_ROLE_SCHEMA,
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
3
- const _commonjsHelpers = require("./harmony126.cjs");
3
+ const _commonjsHelpers = require("./harmony122.cjs");
4
4
  const debounce$1 = require("./harmony107.cjs");
5
5
  var debounceExports = debounce$1.__require();
6
6
  const debounce = /* @__PURE__ */ _commonjsHelpers.getDefaultExportFromCjs(debounceExports);
@@ -1,4 +1,4 @@
1
- import { getDefaultExportFromCjs } from "./harmony126.mjs";
1
+ import { getDefaultExportFromCjs } from "./harmony122.mjs";
2
2
  import { __require as requireDebounce } from "./harmony107.mjs";
3
3
  var debounceExports = requireDebounce();
4
4
  const debounce = /* @__PURE__ */ getDefaultExportFromCjs(debounceExports);
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
3
- const _commonjsHelpers = require("./harmony126.cjs");
3
+ const _commonjsHelpers = require("./harmony122.cjs");
4
4
  const throttle$1 = require("./harmony111.cjs");
5
5
  var throttleExports = throttle$1.__require();
6
6
  const throttle = /* @__PURE__ */ _commonjsHelpers.getDefaultExportFromCjs(throttleExports);
@@ -1,4 +1,4 @@
1
- import { getDefaultExportFromCjs } from "./harmony126.mjs";
1
+ import { getDefaultExportFromCjs } from "./harmony122.mjs";
2
2
  import { __require as requireThrottle } from "./harmony111.mjs";
3
3
  var throttleExports = requireThrottle();
4
4
  const throttle = /* @__PURE__ */ getDefaultExportFromCjs(throttleExports);
@@ -6,11 +6,11 @@ const text = require("./harmony8.cjs");
6
6
  const url = require("./harmony9.cjs");
7
7
  const date = require("./harmony10.cjs");
8
8
  const dateFns = require("date-fns");
9
- const index = require("./harmony122.cjs");
10
- const TaskLanguage = require("./harmony123.cjs");
9
+ const index = require("./harmony123.cjs");
10
+ const TaskLanguage = require("./harmony124.cjs");
11
11
  const TasksContext = require("./harmony100.cjs");
12
- const content = require("./harmony124.cjs");
13
- const TaskOverview_module = require("./harmony125.cjs");
12
+ const content = require("./harmony125.cjs");
13
+ const TaskOverview_module = require("./harmony126.cjs");
14
14
  const TaskOverview = ({ task }) => {
15
15
  const { getProjectUrl, taskTitleOnClick } = TasksContext.useTasks();
16
16
  const taskLanguages = content.getTaskLanguages(task.langs);
@@ -4,11 +4,11 @@ import { convertNewLineToBreakTag } from "./harmony8.mjs";
4
4
  import { makeUrlClickable } from "./harmony9.mjs";
5
5
  import { formatDate } from "./harmony10.mjs";
6
6
  import { parseISO } from "date-fns";
7
- import { splitFileName } from "./harmony122.mjs";
8
- import { TaskLanguage } from "./harmony123.mjs";
7
+ import { splitFileName } from "./harmony123.mjs";
8
+ import { TaskLanguage } from "./harmony124.mjs";
9
9
  import { useTasks } from "./harmony100.mjs";
10
- import { getTaskLanguages, tagColor } from "./harmony124.mjs";
11
- import styles from "./harmony125.mjs";
10
+ import { getTaskLanguages, tagColor } from "./harmony125.mjs";
11
+ import styles from "./harmony126.mjs";
12
12
  const TaskOverview = ({ task }) => {
13
13
  const { getProjectUrl, taskTitleOnClick } = useTasks();
14
14
  const taskLanguages = getTaskLanguages(task.langs);
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const _commonjsHelpers = require("./harmony126.cjs");
3
+ const _commonjsHelpers = require("./harmony122.cjs");
4
4
  var _freeGlobal;
5
5
  var hasRequired_freeGlobal;
6
6
  function require_freeGlobal() {
@@ -1,4 +1,4 @@
1
- import { commonjsGlobal } from "./harmony126.mjs";
1
+ import { commonjsGlobal } from "./harmony122.mjs";
2
2
  var _freeGlobal;
3
3
  var hasRequired_freeGlobal;
4
4
  function require_freeGlobal() {
@@ -1,10 +1,9 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const splitFileName = (fileName) => {
4
- const lastDotIndex = fileName.lastIndexOf(".");
5
- const name = fileName.slice(0, lastDotIndex);
6
- const extension = fileName.slice(lastDotIndex + 1);
7
- return { name, extension };
8
- };
9
- exports.splitFileName = splitFileName;
3
+ var commonjsGlobal = typeof globalThis !== "undefined" ? globalThis : typeof window !== "undefined" ? window : typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : {};
4
+ function getDefaultExportFromCjs(x) {
5
+ return x && x.__esModule && Object.prototype.hasOwnProperty.call(x, "default") ? x["default"] : x;
6
+ }
7
+ exports.commonjsGlobal = commonjsGlobal;
8
+ exports.getDefaultExportFromCjs = getDefaultExportFromCjs;
10
9
  //# sourceMappingURL=harmony122.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"harmony122.cjs","sources":["../src/components/Sidebar/utils/index.ts"],"sourcesContent":["export const splitFileName = (fileName: string) => {\n\tconst lastDotIndex = fileName.lastIndexOf('.')\n\tconst name = fileName.slice(0, lastDotIndex)\n\tconst extension = fileName.slice(lastDotIndex + 1)\n\n\treturn { name, extension }\n}\n"],"names":[],"mappings":";;AAAa,MAAA,gBAAgB,CAAC,aAAqB;AAC5C,QAAA,eAAe,SAAS,YAAY,GAAG;AAC7C,QAAM,OAAO,SAAS,MAAM,GAAG,YAAY;AAC3C,QAAM,YAAY,SAAS,MAAM,eAAe,CAAC;AAE1C,SAAA,EAAE,MAAM,UAAU;AAC1B;;"}
1
+ {"version":3,"file":"harmony122.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;"}
@@ -1,10 +1,9 @@
1
- const splitFileName = (fileName) => {
2
- const lastDotIndex = fileName.lastIndexOf(".");
3
- const name = fileName.slice(0, lastDotIndex);
4
- const extension = fileName.slice(lastDotIndex + 1);
5
- return { name, extension };
6
- };
1
+ var commonjsGlobal = typeof globalThis !== "undefined" ? globalThis : typeof window !== "undefined" ? window : typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : {};
2
+ function getDefaultExportFromCjs(x) {
3
+ return x && x.__esModule && Object.prototype.hasOwnProperty.call(x, "default") ? x["default"] : x;
4
+ }
7
5
  export {
8
- splitFileName
6
+ commonjsGlobal,
7
+ getDefaultExportFromCjs
9
8
  };
10
9
  //# sourceMappingURL=harmony122.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"harmony122.mjs","sources":["../src/components/Sidebar/utils/index.ts"],"sourcesContent":["export const splitFileName = (fileName: string) => {\n\tconst lastDotIndex = fileName.lastIndexOf('.')\n\tconst name = fileName.slice(0, lastDotIndex)\n\tconst extension = fileName.slice(lastDotIndex + 1)\n\n\treturn { name, extension }\n}\n"],"names":[],"mappings":"AAAa,MAAA,gBAAgB,CAAC,aAAqB;AAC5C,QAAA,eAAe,SAAS,YAAY,GAAG;AAC7C,QAAM,OAAO,SAAS,MAAM,GAAG,YAAY;AAC3C,QAAM,YAAY,SAAS,MAAM,eAAe,CAAC;AAE1C,SAAA,EAAE,MAAM,UAAU;AAC1B;"}
1
+ {"version":3,"file":"harmony122.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;"}
@@ -1,60 +1,10 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const jsxRuntime = require("react/jsx-runtime");
4
- const louis = require("@lokalise/louis");
5
- const content = require("./harmony124.cjs");
6
- const types = require("./harmony2.cjs");
7
- const clsx = require("./harmony62.cjs");
8
- const TaskLanguageCompleted = require("./harmony130.cjs");
9
- const TasksContext = require("./harmony100.cjs");
10
- const TaskLanguage_module = require("./harmony131.cjs");
11
- const TaskLanguage = ({ language, task }) => {
12
- const { getProjectUrl, langNameOnClick, langProgressOnClick } = TasksContext.useTasks();
13
- const progressValue = language.progress ?? 0;
14
- const isLanguageCompleted = language.status === types.SidebarTaskLanguageStatuses.Completed;
15
- const languageProgressCompleted = content.isLanguageProgressCompleted(task, language);
16
- return /* @__PURE__ */ jsxRuntime.jsxs(
17
- "tr",
18
- {
19
- className: clsx.clsx({
20
- [TaskLanguage_module.default.langRowCompleted]: languageProgressCompleted
21
- }),
22
- children: [
23
- /* @__PURE__ */ jsxRuntime.jsx("td", { children: /* @__PURE__ */ jsxRuntime.jsx(louis.Tooltip, { tooltip: "Open in bilingual view", children: /* @__PURE__ */ jsxRuntime.jsx(
24
- louis.Link,
25
- {
26
- href: getProjectUrl({ task, language }),
27
- onClick: () => {
28
- langNameOnClick == null ? void 0 : langNameOnClick({ task, language });
29
- },
30
- children: language.name
31
- }
32
- ) }) }),
33
- /* @__PURE__ */ jsxRuntime.jsx("td", { className: TaskLanguage_module.default.langCellSecondary, children: languageProgressCompleted || isLanguageCompleted ? "0" : /* @__PURE__ */ jsxRuntime.jsx(louis.Tooltip, { tooltip: "Open uncompleted items", children: /* @__PURE__ */ jsxRuntime.jsx(
34
- louis.Link,
35
- {
36
- href: getProjectUrl({ task, language, taskUncompleted: true }),
37
- onClick: () => {
38
- langProgressOnClick == null ? void 0 : langProgressOnClick({ task, language });
39
- },
40
- children: language.base_words_total - language.base_words_done
41
- }
42
- ) }) }),
43
- /* @__PURE__ */ jsxRuntime.jsxs("td", { children: [
44
- progressValue,
45
- "%"
46
- ] }),
47
- /* @__PURE__ */ jsxRuntime.jsx("td", { children: languageProgressCompleted ? /* @__PURE__ */ jsxRuntime.jsx(TaskLanguageCompleted.TaskLanguageCompleted, { task, language }) : /* @__PURE__ */ jsxRuntime.jsx(
48
- "span",
49
- {
50
- className: `${TaskLanguage_module.default.langStatus} flex-row items-center justify-start`,
51
- "data-status": language.status,
52
- children: content.getStatusText(language.status, progressValue)
53
- }
54
- ) })
55
- ]
56
- }
57
- );
3
+ const splitFileName = (fileName) => {
4
+ const lastDotIndex = fileName.lastIndexOf(".");
5
+ const name = fileName.slice(0, lastDotIndex);
6
+ const extension = fileName.slice(lastDotIndex + 1);
7
+ return { name, extension };
58
8
  };
59
- exports.TaskLanguage = TaskLanguage;
9
+ exports.splitFileName = splitFileName;
60
10
  //# sourceMappingURL=harmony123.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"harmony123.cjs","sources":["../src/components/Sidebar/Widgets/Tasks/TaskLanguage/TaskLanguage.tsx"],"sourcesContent":["import { Link, Tooltip } from '@lokalise/louis'\nimport { getStatusText, isLanguageProgressCompleted } from '../utils/content'\n\nimport { type SidebarTask, type SidebarTaskLanguage, SidebarTaskLanguageStatuses } from '../types'\n\nimport clsx from 'clsx'\nimport { TaskLanguageCompleted } from '../TaskLanguageCompleted/TaskLanguageCompleted'\nimport { useTasks } from '../TasksContext'\nimport styles from './TaskLanguage.module.css'\n\nexport type TaskLanguageProps = {\n\ttask: SidebarTask\n\tlanguage: SidebarTaskLanguage\n}\n\nexport const TaskLanguage = ({ language, task }: TaskLanguageProps) => {\n\tconst { getProjectUrl, langNameOnClick, langProgressOnClick } = useTasks()\n\n\tconst progressValue = language.progress ?? 0\n\n\tconst isLanguageCompleted = language.status === SidebarTaskLanguageStatuses.Completed\n\n\tconst languageProgressCompleted = isLanguageProgressCompleted(task, language)\n\n\treturn (\n\t\t<tr\n\t\t\tclassName={clsx({\n\t\t\t\t[styles.langRowCompleted]: languageProgressCompleted,\n\t\t\t})}\n\t\t>\n\t\t\t<td>\n\t\t\t\t<Tooltip tooltip=\"Open in bilingual view\">\n\t\t\t\t\t<Link\n\t\t\t\t\t\thref={getProjectUrl({ task, language })}\n\t\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\t\tlangNameOnClick?.({ task, language })\n\t\t\t\t\t\t}}\n\t\t\t\t\t>\n\t\t\t\t\t\t{language.name}\n\t\t\t\t\t</Link>\n\t\t\t\t</Tooltip>\n\t\t\t</td>\n\t\t\t<td className={styles.langCellSecondary}>\n\t\t\t\t{languageProgressCompleted || isLanguageCompleted ? (\n\t\t\t\t\t'0'\n\t\t\t\t) : (\n\t\t\t\t\t<Tooltip tooltip=\"Open uncompleted items\">\n\t\t\t\t\t\t<Link\n\t\t\t\t\t\t\thref={getProjectUrl({ task, language, taskUncompleted: true })}\n\t\t\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\t\t\tlangProgressOnClick?.({ task, language })\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{language.base_words_total - language.base_words_done}\n\t\t\t\t\t\t</Link>\n\t\t\t\t\t</Tooltip>\n\t\t\t\t)}\n\t\t\t</td>\n\t\t\t<td>{progressValue}%</td>\n\t\t\t<td>\n\t\t\t\t{languageProgressCompleted ? (\n\t\t\t\t\t<TaskLanguageCompleted task={task} language={language} />\n\t\t\t\t) : (\n\t\t\t\t\t<span\n\t\t\t\t\t\tclassName={`${styles.langStatus} flex-row items-center justify-start`}\n\t\t\t\t\t\tdata-status={language.status}\n\t\t\t\t\t>\n\t\t\t\t\t\t{getStatusText(language.status, progressValue)}\n\t\t\t\t\t</span>\n\t\t\t\t)}\n\t\t\t</td>\n\t\t</tr>\n\t)\n}\n"],"names":["useTasks","SidebarTaskLanguageStatuses","isLanguageProgressCompleted","jsxs","clsx","styles","jsx","Tooltip","Link","TaskLanguageCompleted","getStatusText"],"mappings":";;;;;;;;;;AAeO,MAAM,eAAe,CAAC,EAAE,UAAU,WAA8B;AACtE,QAAM,EAAE,eAAe,iBAAiB,oBAAA,IAAwBA,aAAAA,SAAS;AAEnE,QAAA,gBAAgB,SAAS,YAAY;AAErC,QAAA,sBAAsB,SAAS,WAAWC,MAA4B,4BAAA;AAEtE,QAAA,4BAA4BC,QAAAA,4BAA4B,MAAM,QAAQ;AAG3E,SAAAC,2BAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACA,WAAWC,KAAAA,KAAK;AAAA,QACf,CAACC,oBAAAA,QAAO,gBAAgB,GAAG;AAAA,MAAA,CAC3B;AAAA,MAED,UAAA;AAAA,QAAAC,+BAAC,MACA,EAAA,UAAAA,2BAAA,IAACC,MAAQ,SAAA,EAAA,SAAQ,0BAChB,UAAAD,2BAAA;AAAA,UAACE,MAAA;AAAA,UAAA;AAAA,YACA,MAAM,cAAc,EAAE,MAAM,UAAU;AAAA,YACtC,SAAS,MAAM;AACI,iEAAA,EAAE,MAAM;YAC3B;AAAA,YAEC,UAAS,SAAA;AAAA,UAAA;AAAA,WAEZ,EACD,CAAA;AAAA,QACAF,2BAAA,IAAC,MAAG,EAAA,WAAWD,oBAAAA,QAAO,mBACpB,UAA6B,6BAAA,sBAC7B,MAEAC,2BAAA,IAACC,MAAQ,SAAA,EAAA,SAAQ,0BAChB,UAAAD,2BAAA;AAAA,UAACE,MAAA;AAAA,UAAA;AAAA,YACA,MAAM,cAAc,EAAE,MAAM,UAAU,iBAAiB,MAAM;AAAA,YAC7D,SAAS,MAAM;AACQ,yEAAA,EAAE,MAAM;YAC/B;AAAA,YAEC,UAAA,SAAS,mBAAmB,SAAS;AAAA,UAAA;AAAA,WAExC,EAEF,CAAA;AAAA,wCACC,MAAI,EAAA,UAAA;AAAA,UAAA;AAAA,UAAc;AAAA,QAAA,GAAC;AAAA,uCACnB,MACC,EAAA,UAAA,2DACCC,sBAAsB,uBAAA,EAAA,MAAY,SAAoB,CAAA,IAEvDH,2BAAA;AAAA,UAAC;AAAA,UAAA;AAAA,YACA,WAAW,GAAGD,4BAAO,UAAU;AAAA,YAC/B,eAAa,SAAS;AAAA,YAErB,UAAAK,QAAA,cAAc,SAAS,QAAQ,aAAa;AAAA,UAAA;AAAA,QAAA,EAGhD,CAAA;AAAA,MAAA;AAAA,IAAA;AAAA,EACD;AAEF;;"}
1
+ {"version":3,"file":"harmony123.cjs","sources":["../src/components/Sidebar/utils/index.ts"],"sourcesContent":["export const splitFileName = (fileName: string) => {\n\tconst lastDotIndex = fileName.lastIndexOf('.')\n\tconst name = fileName.slice(0, lastDotIndex)\n\tconst extension = fileName.slice(lastDotIndex + 1)\n\n\treturn { name, extension }\n}\n"],"names":[],"mappings":";;AAAa,MAAA,gBAAgB,CAAC,aAAqB;AAC5C,QAAA,eAAe,SAAS,YAAY,GAAG;AAC7C,QAAM,OAAO,SAAS,MAAM,GAAG,YAAY;AAC3C,QAAM,YAAY,SAAS,MAAM,eAAe,CAAC;AAE1C,SAAA,EAAE,MAAM,UAAU;AAC1B;;"}
@@ -1,60 +1,10 @@
1
- import { jsxs, jsx } from "react/jsx-runtime";
2
- import { Tooltip, Link } from "@lokalise/louis";
3
- import { isLanguageProgressCompleted, getStatusText } from "./harmony124.mjs";
4
- import { SidebarTaskLanguageStatuses } from "./harmony2.mjs";
5
- import { clsx } from "./harmony62.mjs";
6
- import { TaskLanguageCompleted } from "./harmony130.mjs";
7
- import { useTasks } from "./harmony100.mjs";
8
- import styles from "./harmony131.mjs";
9
- const TaskLanguage = ({ language, task }) => {
10
- const { getProjectUrl, langNameOnClick, langProgressOnClick } = useTasks();
11
- const progressValue = language.progress ?? 0;
12
- const isLanguageCompleted = language.status === SidebarTaskLanguageStatuses.Completed;
13
- const languageProgressCompleted = isLanguageProgressCompleted(task, language);
14
- return /* @__PURE__ */ jsxs(
15
- "tr",
16
- {
17
- className: clsx({
18
- [styles.langRowCompleted]: languageProgressCompleted
19
- }),
20
- children: [
21
- /* @__PURE__ */ jsx("td", { children: /* @__PURE__ */ jsx(Tooltip, { tooltip: "Open in bilingual view", children: /* @__PURE__ */ jsx(
22
- Link,
23
- {
24
- href: getProjectUrl({ task, language }),
25
- onClick: () => {
26
- langNameOnClick == null ? void 0 : langNameOnClick({ task, language });
27
- },
28
- children: language.name
29
- }
30
- ) }) }),
31
- /* @__PURE__ */ jsx("td", { className: styles.langCellSecondary, children: languageProgressCompleted || isLanguageCompleted ? "0" : /* @__PURE__ */ jsx(Tooltip, { tooltip: "Open uncompleted items", children: /* @__PURE__ */ jsx(
32
- Link,
33
- {
34
- href: getProjectUrl({ task, language, taskUncompleted: true }),
35
- onClick: () => {
36
- langProgressOnClick == null ? void 0 : langProgressOnClick({ task, language });
37
- },
38
- children: language.base_words_total - language.base_words_done
39
- }
40
- ) }) }),
41
- /* @__PURE__ */ jsxs("td", { children: [
42
- progressValue,
43
- "%"
44
- ] }),
45
- /* @__PURE__ */ jsx("td", { children: languageProgressCompleted ? /* @__PURE__ */ jsx(TaskLanguageCompleted, { task, language }) : /* @__PURE__ */ jsx(
46
- "span",
47
- {
48
- className: `${styles.langStatus} flex-row items-center justify-start`,
49
- "data-status": language.status,
50
- children: getStatusText(language.status, progressValue)
51
- }
52
- ) })
53
- ]
54
- }
55
- );
1
+ const splitFileName = (fileName) => {
2
+ const lastDotIndex = fileName.lastIndexOf(".");
3
+ const name = fileName.slice(0, lastDotIndex);
4
+ const extension = fileName.slice(lastDotIndex + 1);
5
+ return { name, extension };
56
6
  };
57
7
  export {
58
- TaskLanguage
8
+ splitFileName
59
9
  };
60
10
  //# sourceMappingURL=harmony123.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"harmony123.mjs","sources":["../src/components/Sidebar/Widgets/Tasks/TaskLanguage/TaskLanguage.tsx"],"sourcesContent":["import { Link, Tooltip } from '@lokalise/louis'\nimport { getStatusText, isLanguageProgressCompleted } from '../utils/content'\n\nimport { type SidebarTask, type SidebarTaskLanguage, SidebarTaskLanguageStatuses } from '../types'\n\nimport clsx from 'clsx'\nimport { TaskLanguageCompleted } from '../TaskLanguageCompleted/TaskLanguageCompleted'\nimport { useTasks } from '../TasksContext'\nimport styles from './TaskLanguage.module.css'\n\nexport type TaskLanguageProps = {\n\ttask: SidebarTask\n\tlanguage: SidebarTaskLanguage\n}\n\nexport const TaskLanguage = ({ language, task }: TaskLanguageProps) => {\n\tconst { getProjectUrl, langNameOnClick, langProgressOnClick } = useTasks()\n\n\tconst progressValue = language.progress ?? 0\n\n\tconst isLanguageCompleted = language.status === SidebarTaskLanguageStatuses.Completed\n\n\tconst languageProgressCompleted = isLanguageProgressCompleted(task, language)\n\n\treturn (\n\t\t<tr\n\t\t\tclassName={clsx({\n\t\t\t\t[styles.langRowCompleted]: languageProgressCompleted,\n\t\t\t})}\n\t\t>\n\t\t\t<td>\n\t\t\t\t<Tooltip tooltip=\"Open in bilingual view\">\n\t\t\t\t\t<Link\n\t\t\t\t\t\thref={getProjectUrl({ task, language })}\n\t\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\t\tlangNameOnClick?.({ task, language })\n\t\t\t\t\t\t}}\n\t\t\t\t\t>\n\t\t\t\t\t\t{language.name}\n\t\t\t\t\t</Link>\n\t\t\t\t</Tooltip>\n\t\t\t</td>\n\t\t\t<td className={styles.langCellSecondary}>\n\t\t\t\t{languageProgressCompleted || isLanguageCompleted ? (\n\t\t\t\t\t'0'\n\t\t\t\t) : (\n\t\t\t\t\t<Tooltip tooltip=\"Open uncompleted items\">\n\t\t\t\t\t\t<Link\n\t\t\t\t\t\t\thref={getProjectUrl({ task, language, taskUncompleted: true })}\n\t\t\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\t\t\tlangProgressOnClick?.({ task, language })\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{language.base_words_total - language.base_words_done}\n\t\t\t\t\t\t</Link>\n\t\t\t\t\t</Tooltip>\n\t\t\t\t)}\n\t\t\t</td>\n\t\t\t<td>{progressValue}%</td>\n\t\t\t<td>\n\t\t\t\t{languageProgressCompleted ? (\n\t\t\t\t\t<TaskLanguageCompleted task={task} language={language} />\n\t\t\t\t) : (\n\t\t\t\t\t<span\n\t\t\t\t\t\tclassName={`${styles.langStatus} flex-row items-center justify-start`}\n\t\t\t\t\t\tdata-status={language.status}\n\t\t\t\t\t>\n\t\t\t\t\t\t{getStatusText(language.status, progressValue)}\n\t\t\t\t\t</span>\n\t\t\t\t)}\n\t\t\t</td>\n\t\t</tr>\n\t)\n}\n"],"names":[],"mappings":";;;;;;;;AAeO,MAAM,eAAe,CAAC,EAAE,UAAU,WAA8B;AACtE,QAAM,EAAE,eAAe,iBAAiB,oBAAA,IAAwB,SAAS;AAEnE,QAAA,gBAAgB,SAAS,YAAY;AAErC,QAAA,sBAAsB,SAAS,WAAW,4BAA4B;AAEtE,QAAA,4BAA4B,4BAA4B,MAAM,QAAQ;AAG3E,SAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACA,WAAW,KAAK;AAAA,QACf,CAAC,OAAO,gBAAgB,GAAG;AAAA,MAAA,CAC3B;AAAA,MAED,UAAA;AAAA,QAAA,oBAAC,MACA,EAAA,UAAA,oBAAC,SAAQ,EAAA,SAAQ,0BAChB,UAAA;AAAA,UAAC;AAAA,UAAA;AAAA,YACA,MAAM,cAAc,EAAE,MAAM,UAAU;AAAA,YACtC,SAAS,MAAM;AACI,iEAAA,EAAE,MAAM;YAC3B;AAAA,YAEC,UAAS,SAAA;AAAA,UAAA;AAAA,WAEZ,EACD,CAAA;AAAA,QACA,oBAAC,MAAG,EAAA,WAAW,OAAO,mBACpB,UAA6B,6BAAA,sBAC7B,MAEA,oBAAC,SAAQ,EAAA,SAAQ,0BAChB,UAAA;AAAA,UAAC;AAAA,UAAA;AAAA,YACA,MAAM,cAAc,EAAE,MAAM,UAAU,iBAAiB,MAAM;AAAA,YAC7D,SAAS,MAAM;AACQ,yEAAA,EAAE,MAAM;YAC/B;AAAA,YAEC,UAAA,SAAS,mBAAmB,SAAS;AAAA,UAAA;AAAA,WAExC,EAEF,CAAA;AAAA,6BACC,MAAI,EAAA,UAAA;AAAA,UAAA;AAAA,UAAc;AAAA,QAAA,GAAC;AAAA,4BACnB,MACC,EAAA,UAAA,gDACC,uBAAsB,EAAA,MAAY,SAAoB,CAAA,IAEvD;AAAA,UAAC;AAAA,UAAA;AAAA,YACA,WAAW,GAAG,OAAO,UAAU;AAAA,YAC/B,eAAa,SAAS;AAAA,YAErB,UAAA,cAAc,SAAS,QAAQ,aAAa;AAAA,UAAA;AAAA,QAAA,EAGhD,CAAA;AAAA,MAAA;AAAA,IAAA;AAAA,EACD;AAEF;"}
1
+ {"version":3,"file":"harmony123.mjs","sources":["../src/components/Sidebar/utils/index.ts"],"sourcesContent":["export const splitFileName = (fileName: string) => {\n\tconst lastDotIndex = fileName.lastIndexOf('.')\n\tconst name = fileName.slice(0, lastDotIndex)\n\tconst extension = fileName.slice(lastDotIndex + 1)\n\n\treturn { name, extension }\n}\n"],"names":[],"mappings":"AAAa,MAAA,gBAAgB,CAAC,aAAqB;AAC5C,QAAA,eAAe,SAAS,YAAY,GAAG;AAC7C,QAAM,OAAO,SAAS,MAAM,GAAG,YAAY;AAC3C,QAAM,YAAY,SAAS,MAAM,eAAe,CAAC;AAE1C,SAAA,EAAE,MAAM,UAAU;AAC1B;"}
@@ -1,63 +1,60 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const jsxRuntime = require("react/jsx-runtime");
4
+ const louis = require("@lokalise/louis");
5
+ const content = require("./harmony125.cjs");
3
6
  const types = require("./harmony2.cjs");
4
- const getStatusText = (status, progressValue) => {
5
- switch (status) {
6
- case types.SidebarTaskLanguageStatuses.Completed:
7
- return progressValue < 100 ? "Closed" : "Completed";
8
- case types.SidebarTaskLanguageStatuses.Created:
9
- return progressValue > 0 ? "In progress" : "Not started";
10
- case types.SidebarTaskLanguageStatuses.InProgress:
11
- return "In progress";
12
- case types.SidebarTaskLanguageStatuses.Queued:
13
- return "Queued";
14
- case types.SidebarTaskLanguageStatuses.NotStarted:
15
- return "Not started";
16
- default:
17
- return "-";
18
- }
19
- };
20
- const resolveStatus = (language) => {
21
- const progress = language.progress ?? 0;
22
- if (language.status === types.SidebarTaskLanguageStatuses.Created && progress > 0) {
23
- return types.SidebarTaskLanguageStatuses.InProgress;
24
- }
25
- return language.status;
26
- };
27
- const tagColor = {
28
- [types.SidebarTaskTypeOptions.translation]: "#0891B2",
29
- [types.SidebarTaskTypeOptions.review]: "#16922D",
30
- [types.SidebarTaskTypeOptions.lqa_by_ai]: "#8B5CF6",
31
- [types.SidebarTaskTypeOptions.automatic_translation]: "#60A5FA"
32
- };
33
- const getTaskLanguages = (langs) => {
34
- const statusSortOrder = [
35
- types.SidebarTaskLanguageStatuses.InProgress,
36
- types.SidebarTaskLanguageStatuses.Created,
37
- types.SidebarTaskLanguageStatuses.Completed
38
- ];
39
- return langs.filter((language) => language.status !== "queued").map((lang) => ({ ...lang, status: resolveStatus(lang) })).sort((a, b) => {
40
- if (a.status === types.SidebarTaskLanguageStatuses.InProgress && a.progress === 100) {
41
- return -1;
42
- }
43
- if (b.status === types.SidebarTaskLanguageStatuses.InProgress && b.progress === 100) {
44
- return 1;
7
+ const clsx = require("./harmony62.cjs");
8
+ const TaskLanguageCompleted = require("./harmony130.cjs");
9
+ const TasksContext = require("./harmony100.cjs");
10
+ const TaskLanguage_module = require("./harmony131.cjs");
11
+ const TaskLanguage = ({ language, task }) => {
12
+ const { getProjectUrl, langNameOnClick, langProgressOnClick } = TasksContext.useTasks();
13
+ const progressValue = language.progress ?? 0;
14
+ const isLanguageCompleted = language.status === types.SidebarTaskLanguageStatuses.Completed;
15
+ const languageProgressCompleted = content.isLanguageProgressCompleted(task, language);
16
+ return /* @__PURE__ */ jsxRuntime.jsxs(
17
+ "tr",
18
+ {
19
+ className: clsx.clsx({
20
+ [TaskLanguage_module.default.langRowCompleted]: languageProgressCompleted
21
+ }),
22
+ children: [
23
+ /* @__PURE__ */ jsxRuntime.jsx("td", { children: /* @__PURE__ */ jsxRuntime.jsx(louis.Tooltip, { tooltip: "Open in bilingual view", children: /* @__PURE__ */ jsxRuntime.jsx(
24
+ louis.Link,
25
+ {
26
+ href: getProjectUrl({ task, language }),
27
+ onClick: () => {
28
+ langNameOnClick == null ? void 0 : langNameOnClick({ task, language });
29
+ },
30
+ children: language.name
31
+ }
32
+ ) }) }),
33
+ /* @__PURE__ */ jsxRuntime.jsx("td", { className: TaskLanguage_module.default.langCellSecondary, children: languageProgressCompleted || isLanguageCompleted ? "0" : /* @__PURE__ */ jsxRuntime.jsx(louis.Tooltip, { tooltip: "Open uncompleted items", children: /* @__PURE__ */ jsxRuntime.jsx(
34
+ louis.Link,
35
+ {
36
+ href: getProjectUrl({ task, language, taskUncompleted: true }),
37
+ onClick: () => {
38
+ langProgressOnClick == null ? void 0 : langProgressOnClick({ task, language });
39
+ },
40
+ children: language.base_words_total - language.base_words_done
41
+ }
42
+ ) }) }),
43
+ /* @__PURE__ */ jsxRuntime.jsxs("td", { children: [
44
+ progressValue,
45
+ "%"
46
+ ] }),
47
+ /* @__PURE__ */ jsxRuntime.jsx("td", { children: languageProgressCompleted ? /* @__PURE__ */ jsxRuntime.jsx(TaskLanguageCompleted.TaskLanguageCompleted, { task, language }) : /* @__PURE__ */ jsxRuntime.jsx(
48
+ "span",
49
+ {
50
+ className: `${TaskLanguage_module.default.langStatus} flex-row items-center justify-start`,
51
+ "data-status": language.status,
52
+ children: content.getStatusText(language.status, progressValue)
53
+ }
54
+ ) })
55
+ ]
45
56
  }
46
- if (a.status === b.status) {
47
- return a.name < b.name ? 1 : -1;
48
- }
49
- return statusSortOrder.indexOf(a.status) - statusSortOrder.indexOf(b.status);
50
- });
51
- };
52
- const isInProgressOrCreated = (status) => {
53
- return [types.SidebarTaskStatuses.InProgress, types.SidebarTaskStatuses.Created].includes(status);
54
- };
55
- const isLanguageProgressCompleted = (task, language) => {
56
- return isInProgressOrCreated(task.status) && isInProgressOrCreated(language.status) && (language.progress ?? 0) >= 100;
57
+ );
57
58
  };
58
- exports.getStatusText = getStatusText;
59
- exports.getTaskLanguages = getTaskLanguages;
60
- exports.isLanguageProgressCompleted = isLanguageProgressCompleted;
61
- exports.resolveStatus = resolveStatus;
62
- exports.tagColor = tagColor;
59
+ exports.TaskLanguage = TaskLanguage;
63
60
  //# sourceMappingURL=harmony124.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"harmony124.cjs","sources":["../src/components/Sidebar/Widgets/Tasks/utils/content.ts"],"sourcesContent":["import {\n\ttype SidebarTask,\n\ttype SidebarTaskLanguage,\n\ttype SidebarTaskLanguageStatus,\n\tSidebarTaskLanguageStatuses,\n\ttype SidebarTaskStatus,\n\tSidebarTaskStatuses,\n\ttype SidebarTaskTypeOption,\n\tSidebarTaskTypeOptions,\n} from '../types'\n\nexport const getStatusText = (status: SidebarTaskLanguageStatus, progressValue: number) => {\n\tswitch (status) {\n\t\tcase SidebarTaskLanguageStatuses.Completed:\n\t\t\treturn progressValue < 100 ? 'Closed' : 'Completed'\n\t\tcase SidebarTaskLanguageStatuses.Created:\n\t\t\t// For some reason project task lang status is not correctly updated to \"in progress\". So instead\n\t\t\t// we need to rely on `created` status and progress value is not 0.\n\t\t\treturn progressValue > 0 ? 'In progress' : 'Not started'\n\t\tcase SidebarTaskLanguageStatuses.InProgress:\n\t\t\treturn 'In progress'\n\t\tcase SidebarTaskLanguageStatuses.Queued:\n\t\t\treturn 'Queued'\n\t\tcase SidebarTaskLanguageStatuses.NotStarted:\n\t\t\treturn 'Not started'\n\t\tdefault:\n\t\t\treturn '-'\n\t}\n}\n\nexport const resolveStatus = (language: SidebarTaskLanguage): SidebarTaskLanguageStatus => {\n\tconst progress = language.progress ?? 0\n\n\tif (language.status === SidebarTaskLanguageStatuses.Created && progress > 0) {\n\t\t// For some reason project task lang status is not correctly updated to \"in progress\". So instead\n\t\t// we need to rely on `created` status and progress value is not 0.\n\t\treturn SidebarTaskLanguageStatuses.InProgress\n\t}\n\n\treturn language.status\n}\n\n/**\n * TODO - these should be taken from louis\n */\nexport const tagColor: Record<SidebarTaskTypeOption, string> = {\n\t[SidebarTaskTypeOptions.translation]: '#0891B2',\n\t[SidebarTaskTypeOptions.review]: '#16922D',\n\t[SidebarTaskTypeOptions.lqa_by_ai]: '#8B5CF6',\n\t[SidebarTaskTypeOptions.automatic_translation]: '#60A5FA',\n}\n\nexport const getTaskLanguages = (langs: SidebarTaskLanguage[]) => {\n\tconst statusSortOrder: SidebarTaskLanguageStatus[] = [\n\t\tSidebarTaskLanguageStatuses.InProgress,\n\t\tSidebarTaskLanguageStatuses.Created,\n\t\tSidebarTaskLanguageStatuses.Completed,\n\t]\n\n\treturn langs\n\t\t.filter((language) => language.status !== 'queued')\n\t\t.map((lang) => ({ ...lang, status: resolveStatus(lang) }))\n\t\t.sort((a, b) => {\n\t\t\tif (a.status === SidebarTaskLanguageStatuses.InProgress && a.progress === 100) {\n\t\t\t\treturn -1\n\t\t\t}\n\n\t\t\tif (b.status === SidebarTaskLanguageStatuses.InProgress && b.progress === 100) {\n\t\t\t\treturn 1\n\t\t\t}\n\n\t\t\tif (a.status === b.status) {\n\t\t\t\t// Order by lang id\n\t\t\t\treturn a.name < b.name ? 1 : -1\n\t\t\t}\n\n\t\t\t// The index of array will serve as sorting order so if we get `in_progress` for \"a\" and `created`\n\t\t\t// for b, they will have `0` and `1` indices. So `0 - 1` will result in `-1` which means\n\t\t\t// \"a\" will be sorted before \"b\".\n\t\t\treturn statusSortOrder.indexOf(a.status) - statusSortOrder.indexOf(b.status)\n\t\t})\n}\n\nconst isInProgressOrCreated = (status: SidebarTaskLanguageStatus | SidebarTaskStatus): boolean => {\n\t// @ts-ignore - complaints about status missing completed and other statuses\n\treturn [SidebarTaskStatuses.InProgress, SidebarTaskStatuses.Created].includes(status)\n}\n\nexport const isLanguageProgressCompleted = (\n\ttask: SidebarTask,\n\tlanguage: SidebarTaskLanguage,\n): boolean => {\n\treturn (\n\t\tisInProgressOrCreated(task.status) &&\n\t\tisInProgressOrCreated(language.status) &&\n\t\t(language.progress ?? 0) >= 100\n\t)\n}\n"],"names":["SidebarTaskLanguageStatuses","SidebarTaskTypeOptions","SidebarTaskStatuses"],"mappings":";;;AAWa,MAAA,gBAAgB,CAAC,QAAmC,kBAA0B;AAC1F,UAAQ,QAAQ;AAAA,IACf,KAAKA,MAA4B,4BAAA;AACzB,aAAA,gBAAgB,MAAM,WAAW;AAAA,IACzC,KAAKA,MAA4B,4BAAA;AAGzB,aAAA,gBAAgB,IAAI,gBAAgB;AAAA,IAC5C,KAAKA,MAA4B,4BAAA;AACzB,aAAA;AAAA,IACR,KAAKA,MAA4B,4BAAA;AACzB,aAAA;AAAA,IACR,KAAKA,MAA4B,4BAAA;AACzB,aAAA;AAAA,IACR;AACQ,aAAA;AAAA,EAAA;AAEV;AAEa,MAAA,gBAAgB,CAAC,aAA6D;AACpF,QAAA,WAAW,SAAS,YAAY;AAEtC,MAAI,SAAS,WAAWA,MAAAA,4BAA4B,WAAW,WAAW,GAAG;AAG5E,WAAOA,MAA4B,4BAAA;AAAA,EAAA;AAGpC,SAAO,SAAS;AACjB;AAKO,MAAM,WAAkD;AAAA,EAC9D,CAACC,MAAAA,uBAAuB,WAAW,GAAG;AAAA,EACtC,CAACA,MAAAA,uBAAuB,MAAM,GAAG;AAAA,EACjC,CAACA,MAAAA,uBAAuB,SAAS,GAAG;AAAA,EACpC,CAACA,MAAAA,uBAAuB,qBAAqB,GAAG;AACjD;AAEa,MAAA,mBAAmB,CAAC,UAAiC;AACjE,QAAM,kBAA+C;AAAA,IACpDD,MAAAA,4BAA4B;AAAA,IAC5BA,MAAAA,4BAA4B;AAAA,IAC5BA,kCAA4B;AAAA,EAC7B;AAEO,SAAA,MACL,OAAO,CAAC,aAAa,SAAS,WAAW,QAAQ,EACjD,IAAI,CAAC,UAAU,EAAE,GAAG,MAAM,QAAQ,cAAc,IAAI,EAAA,EAAI,EACxD,KAAK,CAAC,GAAG,MAAM;AACf,QAAI,EAAE,WAAWA,MAAA,4BAA4B,cAAc,EAAE,aAAa,KAAK;AACvE,aAAA;AAAA,IAAA;AAGR,QAAI,EAAE,WAAWA,MAAA,4BAA4B,cAAc,EAAE,aAAa,KAAK;AACvE,aAAA;AAAA,IAAA;AAGJ,QAAA,EAAE,WAAW,EAAE,QAAQ;AAE1B,aAAO,EAAE,OAAO,EAAE,OAAO,IAAI;AAAA,IAAA;AAMvB,WAAA,gBAAgB,QAAQ,EAAE,MAAM,IAAI,gBAAgB,QAAQ,EAAE,MAAM;AAAA,EAAA,CAC3E;AACH;AAEA,MAAM,wBAAwB,CAAC,WAAmE;AAEjG,SAAO,CAACE,MAAoB,oBAAA,YAAYA,MAAAA,oBAAoB,OAAO,EAAE,SAAS,MAAM;AACrF;AAEa,MAAA,8BAA8B,CAC1C,MACA,aACa;AAEZ,SAAA,sBAAsB,KAAK,MAAM,KACjC,sBAAsB,SAAS,MAAM,MACpC,SAAS,YAAY,MAAM;AAE9B;;;;;;"}
1
+ {"version":3,"file":"harmony124.cjs","sources":["../src/components/Sidebar/Widgets/Tasks/TaskLanguage/TaskLanguage.tsx"],"sourcesContent":["import { Link, Tooltip } from '@lokalise/louis'\nimport { getStatusText, isLanguageProgressCompleted } from '../utils/content'\n\nimport { type SidebarTask, type SidebarTaskLanguage, SidebarTaskLanguageStatuses } from '../types'\n\nimport clsx from 'clsx'\nimport { TaskLanguageCompleted } from '../TaskLanguageCompleted/TaskLanguageCompleted'\nimport { useTasks } from '../TasksContext'\nimport styles from './TaskLanguage.module.css'\n\nexport type TaskLanguageProps = {\n\ttask: SidebarTask\n\tlanguage: SidebarTaskLanguage\n}\n\nexport const TaskLanguage = ({ language, task }: TaskLanguageProps) => {\n\tconst { getProjectUrl, langNameOnClick, langProgressOnClick } = useTasks()\n\n\tconst progressValue = language.progress ?? 0\n\n\tconst isLanguageCompleted = language.status === SidebarTaskLanguageStatuses.Completed\n\n\tconst languageProgressCompleted = isLanguageProgressCompleted(task, language)\n\n\treturn (\n\t\t<tr\n\t\t\tclassName={clsx({\n\t\t\t\t[styles.langRowCompleted]: languageProgressCompleted,\n\t\t\t})}\n\t\t>\n\t\t\t<td>\n\t\t\t\t<Tooltip tooltip=\"Open in bilingual view\">\n\t\t\t\t\t<Link\n\t\t\t\t\t\thref={getProjectUrl({ task, language })}\n\t\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\t\tlangNameOnClick?.({ task, language })\n\t\t\t\t\t\t}}\n\t\t\t\t\t>\n\t\t\t\t\t\t{language.name}\n\t\t\t\t\t</Link>\n\t\t\t\t</Tooltip>\n\t\t\t</td>\n\t\t\t<td className={styles.langCellSecondary}>\n\t\t\t\t{languageProgressCompleted || isLanguageCompleted ? (\n\t\t\t\t\t'0'\n\t\t\t\t) : (\n\t\t\t\t\t<Tooltip tooltip=\"Open uncompleted items\">\n\t\t\t\t\t\t<Link\n\t\t\t\t\t\t\thref={getProjectUrl({ task, language, taskUncompleted: true })}\n\t\t\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\t\t\tlangProgressOnClick?.({ task, language })\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{language.base_words_total - language.base_words_done}\n\t\t\t\t\t\t</Link>\n\t\t\t\t\t</Tooltip>\n\t\t\t\t)}\n\t\t\t</td>\n\t\t\t<td>{progressValue}%</td>\n\t\t\t<td>\n\t\t\t\t{languageProgressCompleted ? (\n\t\t\t\t\t<TaskLanguageCompleted task={task} language={language} />\n\t\t\t\t) : (\n\t\t\t\t\t<span\n\t\t\t\t\t\tclassName={`${styles.langStatus} flex-row items-center justify-start`}\n\t\t\t\t\t\tdata-status={language.status}\n\t\t\t\t\t>\n\t\t\t\t\t\t{getStatusText(language.status, progressValue)}\n\t\t\t\t\t</span>\n\t\t\t\t)}\n\t\t\t</td>\n\t\t</tr>\n\t)\n}\n"],"names":["useTasks","SidebarTaskLanguageStatuses","isLanguageProgressCompleted","jsxs","clsx","styles","jsx","Tooltip","Link","TaskLanguageCompleted","getStatusText"],"mappings":";;;;;;;;;;AAeO,MAAM,eAAe,CAAC,EAAE,UAAU,WAA8B;AACtE,QAAM,EAAE,eAAe,iBAAiB,oBAAA,IAAwBA,aAAAA,SAAS;AAEnE,QAAA,gBAAgB,SAAS,YAAY;AAErC,QAAA,sBAAsB,SAAS,WAAWC,MAA4B,4BAAA;AAEtE,QAAA,4BAA4BC,QAAAA,4BAA4B,MAAM,QAAQ;AAG3E,SAAAC,2BAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACA,WAAWC,KAAAA,KAAK;AAAA,QACf,CAACC,oBAAAA,QAAO,gBAAgB,GAAG;AAAA,MAAA,CAC3B;AAAA,MAED,UAAA;AAAA,QAAAC,+BAAC,MACA,EAAA,UAAAA,2BAAA,IAACC,MAAQ,SAAA,EAAA,SAAQ,0BAChB,UAAAD,2BAAA;AAAA,UAACE,MAAA;AAAA,UAAA;AAAA,YACA,MAAM,cAAc,EAAE,MAAM,UAAU;AAAA,YACtC,SAAS,MAAM;AACI,iEAAA,EAAE,MAAM;YAC3B;AAAA,YAEC,UAAS,SAAA;AAAA,UAAA;AAAA,WAEZ,EACD,CAAA;AAAA,QACAF,2BAAA,IAAC,MAAG,EAAA,WAAWD,oBAAAA,QAAO,mBACpB,UAA6B,6BAAA,sBAC7B,MAEAC,2BAAA,IAACC,MAAQ,SAAA,EAAA,SAAQ,0BAChB,UAAAD,2BAAA;AAAA,UAACE,MAAA;AAAA,UAAA;AAAA,YACA,MAAM,cAAc,EAAE,MAAM,UAAU,iBAAiB,MAAM;AAAA,YAC7D,SAAS,MAAM;AACQ,yEAAA,EAAE,MAAM;YAC/B;AAAA,YAEC,UAAA,SAAS,mBAAmB,SAAS;AAAA,UAAA;AAAA,WAExC,EAEF,CAAA;AAAA,wCACC,MAAI,EAAA,UAAA;AAAA,UAAA;AAAA,UAAc;AAAA,QAAA,GAAC;AAAA,uCACnB,MACC,EAAA,UAAA,2DACCC,sBAAsB,uBAAA,EAAA,MAAY,SAAoB,CAAA,IAEvDH,2BAAA;AAAA,UAAC;AAAA,UAAA;AAAA,YACA,WAAW,GAAGD,4BAAO,UAAU;AAAA,YAC/B,eAAa,SAAS;AAAA,YAErB,UAAAK,QAAA,cAAc,SAAS,QAAQ,aAAa;AAAA,UAAA;AAAA,QAAA,EAGhD,CAAA;AAAA,MAAA;AAAA,IAAA;AAAA,EACD;AAEF;;"}