@lokalise/harmony 1.34.1 → 1.34.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 (91) hide show
  1. package/dist/harmony100.cjs +99 -18
  2. package/dist/harmony100.cjs.map +1 -1
  3. package/dist/harmony100.mjs +82 -18
  4. package/dist/harmony100.mjs.map +1 -1
  5. package/dist/harmony102.cjs +18 -99
  6. package/dist/harmony102.cjs.map +1 -1
  7. package/dist/harmony102.mjs +18 -82
  8. package/dist/harmony102.mjs.map +1 -1
  9. package/dist/harmony105.cjs +6 -133
  10. package/dist/harmony105.cjs.map +1 -1
  11. package/dist/harmony105.mjs +5 -132
  12. package/dist/harmony105.mjs.map +1 -1
  13. package/dist/harmony106.cjs +5 -12
  14. package/dist/harmony106.cjs.map +1 -1
  15. package/dist/harmony106.mjs +5 -12
  16. package/dist/harmony106.mjs.map +1 -1
  17. package/dist/harmony107.cjs +132 -5
  18. package/dist/harmony107.cjs.map +1 -1
  19. package/dist/harmony107.mjs +132 -5
  20. package/dist/harmony107.mjs.map +1 -1
  21. package/dist/harmony108.cjs +12 -40
  22. package/dist/harmony108.cjs.map +1 -1
  23. package/dist/harmony108.mjs +11 -39
  24. package/dist/harmony108.mjs.map +1 -1
  25. package/dist/harmony109.cjs +4 -59
  26. package/dist/harmony109.cjs.map +1 -1
  27. package/dist/harmony109.mjs +5 -60
  28. package/dist/harmony109.mjs.map +1 -1
  29. package/dist/harmony110.cjs +39 -6
  30. package/dist/harmony110.cjs.map +1 -1
  31. package/dist/harmony110.mjs +39 -6
  32. package/dist/harmony110.mjs.map +1 -1
  33. package/dist/harmony111.cjs +60 -6
  34. package/dist/harmony111.cjs.map +1 -1
  35. package/dist/harmony111.mjs +59 -5
  36. package/dist/harmony111.mjs.map +1 -1
  37. package/dist/harmony112.cjs +8 -6
  38. package/dist/harmony112.cjs.map +1 -1
  39. package/dist/harmony112.mjs +7 -5
  40. package/dist/harmony112.mjs.map +1 -1
  41. package/dist/harmony113.cjs +6 -5
  42. package/dist/harmony113.cjs.map +1 -1
  43. package/dist/harmony113.mjs +6 -5
  44. package/dist/harmony120.cjs +1 -1
  45. package/dist/harmony120.mjs +1 -1
  46. package/dist/harmony13.cjs +8 -1
  47. package/dist/harmony13.cjs.map +1 -1
  48. package/dist/harmony13.mjs +8 -1
  49. package/dist/harmony13.mjs.map +1 -1
  50. package/dist/harmony130.cjs +1 -1
  51. package/dist/harmony130.mjs +1 -1
  52. package/dist/harmony137.cjs +1 -1
  53. package/dist/harmony137.mjs +1 -1
  54. package/dist/harmony16.cjs +1 -1
  55. package/dist/harmony16.mjs +1 -1
  56. package/dist/harmony55.cjs +2 -1
  57. package/dist/harmony55.cjs.map +1 -1
  58. package/dist/harmony55.mjs +2 -1
  59. package/dist/harmony55.mjs.map +1 -1
  60. package/dist/harmony69.cjs +1 -1
  61. package/dist/harmony69.mjs +1 -1
  62. package/dist/harmony79.cjs +6 -6
  63. package/dist/harmony79.mjs +6 -6
  64. package/dist/harmony82.cjs +2 -2
  65. package/dist/harmony82.mjs +2 -2
  66. package/dist/harmony84.cjs +2 -2
  67. package/dist/harmony84.mjs +2 -2
  68. package/dist/harmony85.cjs +10 -9
  69. package/dist/harmony85.cjs.map +1 -1
  70. package/dist/harmony85.mjs +12 -11
  71. package/dist/harmony85.mjs.map +1 -1
  72. package/dist/harmony86.cjs +11 -20
  73. package/dist/harmony86.cjs.map +1 -1
  74. package/dist/harmony86.mjs +11 -20
  75. package/dist/harmony86.mjs.map +1 -1
  76. package/dist/harmony87.cjs +9 -10
  77. package/dist/harmony87.cjs.map +1 -1
  78. package/dist/harmony87.mjs +11 -12
  79. package/dist/harmony87.mjs.map +1 -1
  80. package/dist/harmony88.cjs +20 -11
  81. package/dist/harmony88.cjs.map +1 -1
  82. package/dist/harmony88.mjs +20 -11
  83. package/dist/harmony88.mjs.map +1 -1
  84. package/dist/harmony98.cjs +1 -1
  85. package/dist/harmony98.mjs +1 -1
  86. package/dist/types/src/features/auth/frontend/hooks/useAuthenticatedProjectContributor.d.ts +3 -2
  87. package/dist/types/src/features/publicApi/contributors.d.ts +30 -20
  88. package/dist/types/src/features/publicApi/hooks/useListContributorsQuery.d.ts +3 -2
  89. package/dist/types/src/features/publicApi/hooks/useRetrieveContributorQuery.d.ts +3 -2
  90. package/dist/types/src/features/publicApi/types/contributorTypes.d.ts +39 -26
  91. package/package.json +1 -1
@@ -1,10 +1,17 @@
1
1
  import { createHeaderBuilderMiddleware } from "./harmony18.mjs";
2
2
  import { parseJwtTokenPayload } from "./harmony16.mjs";
3
3
  import { UnauthorizedError } from "./harmony15.mjs";
4
+ import { NewJwtIssuedEvent } from "./harmony101.mjs";
4
5
  function JwtAuthHeaderBuilderMiddleware(props) {
5
6
  return createHeaderBuilderMiddleware(async (builder) => {
6
7
  var _a, _b;
7
- const token = props.getCurrentToken() ?? await ((_a = props.generateNewToken) == null ? void 0 : _a.call(props));
8
+ let token = props.getCurrentToken();
9
+ if (!token) {
10
+ token = await ((_a = props.generateNewToken) == null ? void 0 : _a.call(props)) ?? null;
11
+ if (token) {
12
+ window == null ? void 0 : window.dispatchEvent(new NewJwtIssuedEvent(token));
13
+ }
14
+ }
8
15
  if (!token) {
9
16
  throw new UnauthorizedError();
10
17
  }
@@ -1 +1 @@
1
- {"version":3,"file":"harmony13.mjs","sources":["../src/features/auth/core/middleware/jwtAuthHeaderBuilderMiddleware.ts"],"sourcesContent":["import { createHeaderBuilderMiddleware } from '@features/auth/core/headers/createHeaderBuilderMiddleware'\nimport { parseJwtTokenPayload } from '@features/auth/core/utils/jwtTokenPayload'\nimport { UnauthorizedError } from '@features/auth/errors/UnauthorizedError'\nimport type { JwtToken } from '@features/publicApi/types/userTokenTypes'\n\nexport type JwtAuthHeaderBuilderMiddlewareProps = {\n\trefreshToken: (current: JwtToken) => Promise<JwtToken | null>\n\tgetCurrentToken: () => JwtToken | null\n\tgenerateNewToken?: () => Promise<JwtToken | null>\n\tonNewTokenIssued?: (token: JwtToken) => void\n}\n\nexport function JwtAuthHeaderBuilderMiddleware(props: JwtAuthHeaderBuilderMiddlewareProps) {\n\treturn createHeaderBuilderMiddleware(async (builder) => {\n\t\tconst token = props.getCurrentToken() ?? (await props.generateNewToken?.())\n\n\t\tif (!token) {\n\t\t\tthrow new UnauthorizedError()\n\t\t}\n\n\t\t// Check if the token is expired or will expire in less than 5 minutes\n\t\tconst { exp } = parseJwtTokenPayload(token.accessToken) ?? { exp: 0 }\n\t\tconst tokenExpirationInMilliseconds = exp * 1000\n\t\tconst tokenExpirationSafetyMargin = 5 * 60 * 1000 // 5 minutes in milliseconds\n\t\tif (Date.now() < tokenExpirationInMilliseconds - tokenExpirationSafetyMargin) {\n\t\t\treturn builder.add('authorization', `Bearer ${token.accessToken}`)\n\t\t}\n\n\t\tconst newToken = await props.refreshToken(token)\n\n\t\tif (!newToken) {\n\t\t\tthrow new UnauthorizedError()\n\t\t}\n\n\t\tprops.onNewTokenIssued?.(newToken)\n\n\t\treturn builder.add('authorization', `Bearer ${newToken.accessToken}`)\n\t})\n}\n"],"names":[],"mappings":";;;AAYO,SAAS,+BAA+B,OAA4C;AACnF,SAAA,8BAA8B,OAAO,YAAY;;AACvD,UAAM,QAAQ,MAAM,gBAAsB,KAAA,QAAM,WAAM,qBAAN;AAEhD,QAAI,CAAC,OAAO;AACX,YAAM,IAAI,kBAAkB;AAAA,IAAA;AAIvB,UAAA,EAAE,IAAQ,IAAA,qBAAqB,MAAM,WAAW,KAAK,EAAE,KAAK,EAAE;AACpE,UAAM,gCAAgC,MAAM;AACtC,UAAA,8BAA8B,IAAI,KAAK;AAC7C,QAAI,KAAK,QAAQ,gCAAgC,6BAA6B;AAC7E,aAAO,QAAQ,IAAI,iBAAiB,UAAU,MAAM,WAAW,EAAE;AAAA,IAAA;AAGlE,UAAM,WAAW,MAAM,MAAM,aAAa,KAAK;AAE/C,QAAI,CAAC,UAAU;AACd,YAAM,IAAI,kBAAkB;AAAA,IAAA;AAG7B,gBAAM,qBAAN,+BAAyB;AAEzB,WAAO,QAAQ,IAAI,iBAAiB,UAAU,SAAS,WAAW,EAAE;AAAA,EAAA,CACpE;AACF;"}
1
+ {"version":3,"file":"harmony13.mjs","sources":["../src/features/auth/core/middleware/jwtAuthHeaderBuilderMiddleware.ts"],"sourcesContent":["import { createHeaderBuilderMiddleware } from '@features/auth/core/headers/createHeaderBuilderMiddleware'\nimport { parseJwtTokenPayload } from '@features/auth/core/utils/jwtTokenPayload'\nimport { UnauthorizedError } from '@features/auth/errors/UnauthorizedError'\nimport { NewJwtIssuedEvent } from '@features/auth/frontend/events/NewJwtIssuedEvent'\nimport type { JwtToken } from '@features/publicApi/types/userTokenTypes'\n\nexport type JwtAuthHeaderBuilderMiddlewareProps = {\n\trefreshToken: (current: JwtToken) => Promise<JwtToken | null>\n\tgetCurrentToken: () => JwtToken | null\n\tgenerateNewToken?: () => Promise<JwtToken | null>\n\tonNewTokenIssued?: (token: JwtToken) => void\n}\n\nexport function JwtAuthHeaderBuilderMiddleware(props: JwtAuthHeaderBuilderMiddlewareProps) {\n\treturn createHeaderBuilderMiddleware(async (builder) => {\n\t\t// Check if current token exists\n\t\tlet token = props.getCurrentToken()\n\n\t\tif (!token) {\n\t\t\t// Attempt to generate new token\n\t\t\ttoken = (await props.generateNewToken?.()) ?? null\n\n\t\t\t// If new token is generated, dispatch an event to update payload hooks\n\t\t\tif (token) {\n\t\t\t\twindow?.dispatchEvent(new NewJwtIssuedEvent(token))\n\t\t\t}\n\t\t}\n\n\t\tif (!token) {\n\t\t\tthrow new UnauthorizedError()\n\t\t}\n\n\t\t// Check if the token is expired or will expire in less than 5 minutes\n\t\tconst { exp } = parseJwtTokenPayload(token.accessToken) ?? { exp: 0 }\n\t\tconst tokenExpirationInMilliseconds = exp * 1000\n\t\tconst tokenExpirationSafetyMargin = 5 * 60 * 1000 // 5 minutes in milliseconds\n\t\tif (Date.now() < tokenExpirationInMilliseconds - tokenExpirationSafetyMargin) {\n\t\t\treturn builder.add('authorization', `Bearer ${token.accessToken}`)\n\t\t}\n\n\t\tconst newToken = await props.refreshToken(token)\n\n\t\tif (!newToken) {\n\t\t\tthrow new UnauthorizedError()\n\t\t}\n\n\t\tprops.onNewTokenIssued?.(newToken)\n\n\t\treturn builder.add('authorization', `Bearer ${newToken.accessToken}`)\n\t})\n}\n"],"names":[],"mappings":";;;;AAaO,SAAS,+BAA+B,OAA4C;AACnF,SAAA,8BAA8B,OAAO,YAAY;;AAEnD,QAAA,QAAQ,MAAM,gBAAgB;AAElC,QAAI,CAAC,OAAO;AAEF,cAAA,QAAM,WAAM,qBAAN,mCAA+B;AAG9C,UAAI,OAAO;AACV,yCAAQ,cAAc,IAAI,kBAAkB,KAAK;AAAA,MAAC;AAAA,IACnD;AAGD,QAAI,CAAC,OAAO;AACX,YAAM,IAAI,kBAAkB;AAAA,IAAA;AAIvB,UAAA,EAAE,IAAQ,IAAA,qBAAqB,MAAM,WAAW,KAAK,EAAE,KAAK,EAAE;AACpE,UAAM,gCAAgC,MAAM;AACtC,UAAA,8BAA8B,IAAI,KAAK;AAC7C,QAAI,KAAK,QAAQ,gCAAgC,6BAA6B;AAC7E,aAAO,QAAQ,IAAI,iBAAiB,UAAU,MAAM,WAAW,EAAE;AAAA,IAAA;AAGlE,UAAM,WAAW,MAAM,MAAM,aAAa,KAAK;AAE/C,QAAI,CAAC,UAAU;AACd,YAAM,IAAI,kBAAkB;AAAA,IAAA;AAG7B,gBAAM,qBAAN,+BAAyB;AAEzB,WAAO,QAAQ,IAAI,iBAAiB,UAAU,SAAS,WAAW,EAAE;AAAA,EAAA,CACpE;AACF;"}
@@ -6,7 +6,7 @@ const content = require("./harmony131.cjs");
6
6
  const types = require("./harmony2.cjs");
7
7
  const clsx = require("./harmony67.cjs");
8
8
  const TaskLanguageCompleted = require("./harmony137.cjs");
9
- const TasksContext = require("./harmony107.cjs");
9
+ const TasksContext = require("./harmony109.cjs");
10
10
  const TaskLanguage_module = require("./harmony138.cjs");
11
11
  const TaskLanguage = ({ language, task }) => {
12
12
  const { getProjectUrl, langNameOnClick, langProgressOnClick } = TasksContext.useTasks();
@@ -4,7 +4,7 @@ import { isLanguageProgressCompleted, getStatusText } from "./harmony131.mjs";
4
4
  import { SidebarTaskLanguageStatuses } from "./harmony2.mjs";
5
5
  import { clsx } from "./harmony67.mjs";
6
6
  import { TaskLanguageCompleted } from "./harmony137.mjs";
7
- import { useTasks } from "./harmony107.mjs";
7
+ import { useTasks } from "./harmony109.mjs";
8
8
  import styles from "./harmony138.mjs";
9
9
  const TaskLanguage = ({ language, task }) => {
10
10
  const { getProjectUrl, langNameOnClick, langProgressOnClick } = useTasks();
@@ -3,7 +3,7 @@ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
3
  const jsxRuntime = require("react/jsx-runtime");
4
4
  const louis = require("@lokalise/louis");
5
5
  const React = require("react");
6
- const TasksContext = require("./harmony107.cjs");
6
+ const TasksContext = require("./harmony109.cjs");
7
7
  const TaskLanguageCompleted = ({ task, language }) => {
8
8
  const [loading, setLoading] = React.useState(false);
9
9
  const [isMarkAsDonePromptShown, setIsMarkAsDonePromptShown] = React.useState(false);
@@ -1,7 +1,7 @@
1
1
  import { jsxs, Fragment, jsx } from "react/jsx-runtime";
2
2
  import { ConfirmModal, Alert, Link } from "@lokalise/louis";
3
3
  import { useState } from "react";
4
- import { useTasks } from "./harmony107.mjs";
4
+ import { useTasks } from "./harmony109.mjs";
5
5
  const TaskLanguageCompleted = ({ task, language }) => {
6
6
  const [loading, setLoading] = useState(false);
7
7
  const [isMarkAsDonePromptShown, setIsMarkAsDonePromptShown] = useState(false);
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const jwtTokenPayload = require("./harmony100.cjs");
3
+ const jwtTokenPayload = require("./harmony102.cjs");
4
4
  function parseJwtTokenPayload(token) {
5
5
  try {
6
6
  const payload = token.split(".")[1];
@@ -1,4 +1,4 @@
1
- import { JWT_TOKEN_PAYLOAD_SCHEMA } from "./harmony100.mjs";
1
+ import { JWT_TOKEN_PAYLOAD_SCHEMA } from "./harmony102.mjs";
2
2
  function parseJwtTokenPayload(token) {
3
3
  try {
4
4
  const payload = token.split(".")[1];
@@ -21,9 +21,10 @@ const CONTRIBUTOR_SCHEMA = zod.z.object({
21
21
  avatar_url: zod.z.string(),
22
22
  created_at: zod.z.string(),
23
23
  created_at_timestamp: zod.z.number(),
24
+ languages: zod.z.array(CONTRIBUTOR_LANGUAGE_SCHEMA),
24
25
  admin_rights: zod.z.array(zod.z.string()),
25
26
  permissions: zod.z.array(zod.z.string()),
26
- languages: zod.z.array(CONTRIBUTOR_LANGUAGE_SCHEMA),
27
+ role_id: zod.z.number().nullable(),
27
28
  is_owner: zod.z.boolean(),
28
29
  is_admin: zod.z.boolean(),
29
30
  is_reviewer: zod.z.boolean(),
@@ -1 +1 @@
1
- {"version":3,"file":"harmony55.cjs","sources":["../src/features/publicApi/types/contributorTypes.ts"],"sourcesContent":["import { BASE_API_ENDPOINT_HEADER_SCHEMA } from '@features/publicApi/types/sharedTypes'\nimport { z } from 'zod'\n\nexport const CONTRIBUTOR_API_BASE_HEADER_SCHEMA = BASE_API_ENDPOINT_HEADER_SCHEMA\n\nexport type ContributorApiBaseHeader = z.infer<typeof CONTRIBUTOR_API_BASE_HEADER_SCHEMA>\n\nexport const CONTRIBUTOR_LANGUAGE_SCHEMA = z.object({\n\tlang_id: z.number(),\n\tlang_iso: z.string(),\n\tlang_name: z.string(),\n\tis_writable: z.union([\n\t\tz.literal(0),\n\t\tz.literal(1),\n\t\tz.boolean(), // (╥﹏╥) this is a workaround for the API returning boolean instead of 0/1, as the API spec says\n\t]),\n})\n\nexport type ContributorLanguage = z.infer<typeof CONTRIBUTOR_LANGUAGE_SCHEMA>\n\nexport const CONTRIBUTOR_SCHEMA = z.object({\n\tuser_id: z.number(),\n\temail: z.string().email(),\n\tfullname: z.string(),\n\tavatar_url: z.string(),\n\tcreated_at: z.string(),\n\tcreated_at_timestamp: z.number(),\n\n\tadmin_rights: z.array(z.string()),\n\tpermissions: z.array(z.string()),\n\tlanguages: z.array(CONTRIBUTOR_LANGUAGE_SCHEMA),\n\n\tis_owner: z.boolean(),\n\tis_admin: z.boolean(),\n\tis_reviewer: z.boolean(),\n\tis_pending: z.boolean(),\n\tis_reinvited: z.boolean(),\n})\n\nexport type Contributor = z.infer<typeof CONTRIBUTOR_SCHEMA>\n\n// TODO: We can add more validation on project ID... It can also be extracted to a utils file\nconst BY_PROJECT_ID = z.object({ id: z.string() })\nconst BY_CONTRIBUTOR_ID = z.object({ id: z.number() })\nconst BY_UUID = z.object({ uuid: z.string().uuid() })\n\nconst PROJECT_TARGET_SCHEMA = z.union([BY_UUID, BY_PROJECT_ID])\nexport type ProjectTarget = z.infer<typeof PROJECT_TARGET_SCHEMA>\n\nconst CONTRIBUTOR_TARGET_PATH_PARAMS_SCHEMA = z.union([\n\tz.object({ authenticatedUser: z.literal(true) }),\n\tBY_UUID,\n\tBY_CONTRIBUTOR_ID,\n])\n\nexport type ContributorTargetPathParams = z.infer<typeof CONTRIBUTOR_TARGET_PATH_PARAMS_SCHEMA>\n\nexport const LIST_CONTRIBUTORS_PATH_PARAMS_SCHEMA = z.object({\n\tproject: PROJECT_TARGET_SCHEMA,\n})\n\nexport type ListContributorsPathParams = z.infer<typeof LIST_CONTRIBUTORS_PATH_PARAMS_SCHEMA>\n\nexport const LIST_CONTRIBUTORS_RESPONSE_SCHEMA = z.object({\n\tproject_id: z.string(),\n\tcontributors: z.array(CONTRIBUTOR_SCHEMA),\n})\n\nexport type ListContributorsResponse = z.infer<typeof LIST_CONTRIBUTORS_RESPONSE_SCHEMA>\n\nexport const RETRIEVE_CONTRIBUTOR_PATH_PARAMS_SCHEMA = z.object({\n\tproject: PROJECT_TARGET_SCHEMA,\n\tcontributor: CONTRIBUTOR_TARGET_PATH_PARAMS_SCHEMA,\n})\n\nexport type RetrieveContributorPathParams = z.infer<typeof RETRIEVE_CONTRIBUTOR_PATH_PARAMS_SCHEMA>\n\nexport const RETRIEVE_CONTRIBUTOR_RESPONSE_SCHEMA = z.object({\n\tproject_id: z.string(),\n\tcontributor: CONTRIBUTOR_SCHEMA,\n})\n\nexport type RetrieveContributorResponse = z.infer<typeof RETRIEVE_CONTRIBUTOR_RESPONSE_SCHEMA>\n"],"names":["BASE_API_ENDPOINT_HEADER_SCHEMA","z"],"mappings":";;;;AAGO,MAAM,qCAAqCA,YAAAA;AAIrC,MAAA,8BAA8BC,MAAE,OAAO;AAAA,EACnD,SAASA,MAAE,OAAO;AAAA,EAClB,UAAUA,MAAE,OAAO;AAAA,EACnB,WAAWA,MAAE,OAAO;AAAA,EACpB,aAAaA,MAAE,MAAM;AAAA,IACpBA,IAAA,EAAE,QAAQ,CAAC;AAAA,IACXA,IAAA,EAAE,QAAQ,CAAC;AAAA,IACXA,IAAAA,EAAE,QAAQ;AAAA;AAAA,EACV,CAAA;AACF,CAAC;AAIY,MAAA,qBAAqBA,MAAE,OAAO;AAAA,EAC1C,SAASA,MAAE,OAAO;AAAA,EAClB,OAAOA,IAAA,EAAE,OAAO,EAAE,MAAM;AAAA,EACxB,UAAUA,MAAE,OAAO;AAAA,EACnB,YAAYA,MAAE,OAAO;AAAA,EACrB,YAAYA,MAAE,OAAO;AAAA,EACrB,sBAAsBA,MAAE,OAAO;AAAA,EAE/B,cAAcA,IAAAA,EAAE,MAAMA,IAAA,EAAE,QAAQ;AAAA,EAChC,aAAaA,IAAAA,EAAE,MAAMA,IAAA,EAAE,QAAQ;AAAA,EAC/B,WAAWA,IAAAA,EAAE,MAAM,2BAA2B;AAAA,EAE9C,UAAUA,MAAE,QAAQ;AAAA,EACpB,UAAUA,MAAE,QAAQ;AAAA,EACpB,aAAaA,MAAE,QAAQ;AAAA,EACvB,YAAYA,MAAE,QAAQ;AAAA,EACtB,cAAcA,MAAE,QAAQ;AACzB,CAAC;AAKD,MAAM,gBAAgBA,MAAE,OAAO,EAAE,IAAIA,IAAE,EAAA,OAAA,GAAU;AACjD,MAAM,oBAAoBA,MAAE,OAAO,EAAE,IAAIA,IAAE,EAAA,OAAA,GAAU;AACrD,MAAM,UAAUA,IAAAA,EAAE,OAAO,EAAE,MAAMA,IAAAA,EAAE,OAAO,EAAE,KAAK,GAAG;AAEpD,MAAM,wBAAwBA,IAAAA,EAAE,MAAM,CAAC,SAAS,aAAa,CAAC;AAG9D,MAAM,wCAAwCA,MAAE,MAAM;AAAA,EACrDA,IAAA,EAAE,OAAO,EAAE,mBAAmBA,MAAE,QAAQ,IAAI,GAAG;AAAA,EAC/C;AAAA,EACA;AACD,CAAC;AAIY,MAAA,uCAAuCA,MAAE,OAAO;AAAA,EAC5D,SAAS;AACV,CAAC;AAIY,MAAA,oCAAoCA,MAAE,OAAO;AAAA,EACzD,YAAYA,MAAE,OAAO;AAAA,EACrB,cAAcA,IAAAA,EAAE,MAAM,kBAAkB;AACzC,CAAC;AAIY,MAAA,0CAA0CA,MAAE,OAAO;AAAA,EAC/D,SAAS;AAAA,EACT,aAAa;AACd,CAAC;AAIY,MAAA,uCAAuCA,MAAE,OAAO;AAAA,EAC5D,YAAYA,MAAE,OAAO;AAAA,EACrB,aAAa;AACd,CAAC;;;;;;;;"}
1
+ {"version":3,"file":"harmony55.cjs","sources":["../src/features/publicApi/types/contributorTypes.ts"],"sourcesContent":["import { BASE_API_ENDPOINT_HEADER_SCHEMA } from '@features/publicApi/types/sharedTypes'\nimport { z } from 'zod'\n\nexport const CONTRIBUTOR_API_BASE_HEADER_SCHEMA = BASE_API_ENDPOINT_HEADER_SCHEMA\n\nexport type ContributorApiBaseHeader = z.infer<typeof CONTRIBUTOR_API_BASE_HEADER_SCHEMA>\n\nexport const CONTRIBUTOR_LANGUAGE_SCHEMA = z.object({\n\tlang_id: z.number(),\n\tlang_iso: z.string(),\n\tlang_name: z.string(),\n\tis_writable: z.union([\n\t\tz.literal(0),\n\t\tz.literal(1),\n\t\tz.boolean(), // (╥﹏╥) this is a workaround for the API returning boolean instead of 0/1, as the API spec says\n\t]),\n})\n\nexport type ContributorLanguage = z.infer<typeof CONTRIBUTOR_LANGUAGE_SCHEMA>\n\nexport const CONTRIBUTOR_SCHEMA = z.object({\n\tuser_id: z.number(),\n\temail: z.string().email(),\n\tfullname: z.string(),\n\tavatar_url: z.string(),\n\tcreated_at: z.string(),\n\tcreated_at_timestamp: z.number(),\n\n\tlanguages: z.array(CONTRIBUTOR_LANGUAGE_SCHEMA),\n\tadmin_rights: z.array(z.string()),\n\tpermissions: z.array(z.string()),\n\trole_id: z.number().nullable(),\n\n\tis_owner: z.boolean(),\n\tis_admin: z.boolean(),\n\tis_reviewer: z.boolean(),\n\tis_pending: z.boolean(),\n\tis_reinvited: z.boolean(),\n})\n\nexport type Contributor = z.infer<typeof CONTRIBUTOR_SCHEMA>\n\n// TODO: We can add more validation on project ID... It can also be extracted to a utils file\nconst BY_PROJECT_ID = z.object({ id: z.string() })\nconst BY_CONTRIBUTOR_ID = z.object({ id: z.number() })\nconst BY_UUID = z.object({ uuid: z.string().uuid() })\n\nconst PROJECT_TARGET_SCHEMA = z.union([BY_UUID, BY_PROJECT_ID])\nexport type ProjectTarget = z.infer<typeof PROJECT_TARGET_SCHEMA>\n\nconst CONTRIBUTOR_TARGET_PATH_PARAMS_SCHEMA = z.union([\n\tz.object({ authenticatedUser: z.literal(true) }),\n\tBY_UUID,\n\tBY_CONTRIBUTOR_ID,\n])\n\nexport type ContributorTargetPathParams = z.infer<typeof CONTRIBUTOR_TARGET_PATH_PARAMS_SCHEMA>\n\nexport const LIST_CONTRIBUTORS_PATH_PARAMS_SCHEMA = z.object({\n\tproject: PROJECT_TARGET_SCHEMA,\n})\n\nexport type ListContributorsPathParams = z.infer<typeof LIST_CONTRIBUTORS_PATH_PARAMS_SCHEMA>\n\nexport const LIST_CONTRIBUTORS_RESPONSE_SCHEMA = z.object({\n\tproject_id: z.string(),\n\tcontributors: z.array(CONTRIBUTOR_SCHEMA),\n})\n\nexport type ListContributorsResponse = z.infer<typeof LIST_CONTRIBUTORS_RESPONSE_SCHEMA>\n\nexport const RETRIEVE_CONTRIBUTOR_PATH_PARAMS_SCHEMA = z.object({\n\tproject: PROJECT_TARGET_SCHEMA,\n\tcontributor: CONTRIBUTOR_TARGET_PATH_PARAMS_SCHEMA,\n})\n\nexport type RetrieveContributorPathParams = z.infer<typeof RETRIEVE_CONTRIBUTOR_PATH_PARAMS_SCHEMA>\n\nexport const RETRIEVE_CONTRIBUTOR_RESPONSE_SCHEMA = z.object({\n\tproject_id: z.string(),\n\tcontributor: CONTRIBUTOR_SCHEMA,\n})\n\nexport type RetrieveContributorResponse = z.infer<typeof RETRIEVE_CONTRIBUTOR_RESPONSE_SCHEMA>\n"],"names":["BASE_API_ENDPOINT_HEADER_SCHEMA","z"],"mappings":";;;;AAGO,MAAM,qCAAqCA,YAAAA;AAIrC,MAAA,8BAA8BC,MAAE,OAAO;AAAA,EACnD,SAASA,MAAE,OAAO;AAAA,EAClB,UAAUA,MAAE,OAAO;AAAA,EACnB,WAAWA,MAAE,OAAO;AAAA,EACpB,aAAaA,MAAE,MAAM;AAAA,IACpBA,IAAA,EAAE,QAAQ,CAAC;AAAA,IACXA,IAAA,EAAE,QAAQ,CAAC;AAAA,IACXA,IAAAA,EAAE,QAAQ;AAAA;AAAA,EACV,CAAA;AACF,CAAC;AAIY,MAAA,qBAAqBA,MAAE,OAAO;AAAA,EAC1C,SAASA,MAAE,OAAO;AAAA,EAClB,OAAOA,IAAA,EAAE,OAAO,EAAE,MAAM;AAAA,EACxB,UAAUA,MAAE,OAAO;AAAA,EACnB,YAAYA,MAAE,OAAO;AAAA,EACrB,YAAYA,MAAE,OAAO;AAAA,EACrB,sBAAsBA,MAAE,OAAO;AAAA,EAE/B,WAAWA,IAAAA,EAAE,MAAM,2BAA2B;AAAA,EAC9C,cAAcA,IAAAA,EAAE,MAAMA,IAAA,EAAE,QAAQ;AAAA,EAChC,aAAaA,IAAAA,EAAE,MAAMA,IAAA,EAAE,QAAQ;AAAA,EAC/B,SAASA,IAAA,EAAE,OAAO,EAAE,SAAS;AAAA,EAE7B,UAAUA,MAAE,QAAQ;AAAA,EACpB,UAAUA,MAAE,QAAQ;AAAA,EACpB,aAAaA,MAAE,QAAQ;AAAA,EACvB,YAAYA,MAAE,QAAQ;AAAA,EACtB,cAAcA,MAAE,QAAQ;AACzB,CAAC;AAKD,MAAM,gBAAgBA,MAAE,OAAO,EAAE,IAAIA,IAAE,EAAA,OAAA,GAAU;AACjD,MAAM,oBAAoBA,MAAE,OAAO,EAAE,IAAIA,IAAE,EAAA,OAAA,GAAU;AACrD,MAAM,UAAUA,IAAAA,EAAE,OAAO,EAAE,MAAMA,IAAAA,EAAE,OAAO,EAAE,KAAK,GAAG;AAEpD,MAAM,wBAAwBA,IAAAA,EAAE,MAAM,CAAC,SAAS,aAAa,CAAC;AAG9D,MAAM,wCAAwCA,MAAE,MAAM;AAAA,EACrDA,IAAA,EAAE,OAAO,EAAE,mBAAmBA,MAAE,QAAQ,IAAI,GAAG;AAAA,EAC/C;AAAA,EACA;AACD,CAAC;AAIY,MAAA,uCAAuCA,MAAE,OAAO;AAAA,EAC5D,SAAS;AACV,CAAC;AAIY,MAAA,oCAAoCA,MAAE,OAAO;AAAA,EACzD,YAAYA,MAAE,OAAO;AAAA,EACrB,cAAcA,IAAAA,EAAE,MAAM,kBAAkB;AACzC,CAAC;AAIY,MAAA,0CAA0CA,MAAE,OAAO;AAAA,EAC/D,SAAS;AAAA,EACT,aAAa;AACd,CAAC;AAIY,MAAA,uCAAuCA,MAAE,OAAO;AAAA,EAC5D,YAAYA,MAAE,OAAO;AAAA,EACrB,aAAa;AACd,CAAC;;;;;;;;"}
@@ -19,9 +19,10 @@ const CONTRIBUTOR_SCHEMA = z.object({
19
19
  avatar_url: z.string(),
20
20
  created_at: z.string(),
21
21
  created_at_timestamp: z.number(),
22
+ languages: z.array(CONTRIBUTOR_LANGUAGE_SCHEMA),
22
23
  admin_rights: z.array(z.string()),
23
24
  permissions: z.array(z.string()),
24
- languages: z.array(CONTRIBUTOR_LANGUAGE_SCHEMA),
25
+ role_id: z.number().nullable(),
25
26
  is_owner: z.boolean(),
26
27
  is_admin: z.boolean(),
27
28
  is_reviewer: z.boolean(),
@@ -1 +1 @@
1
- {"version":3,"file":"harmony55.mjs","sources":["../src/features/publicApi/types/contributorTypes.ts"],"sourcesContent":["import { BASE_API_ENDPOINT_HEADER_SCHEMA } from '@features/publicApi/types/sharedTypes'\nimport { z } from 'zod'\n\nexport const CONTRIBUTOR_API_BASE_HEADER_SCHEMA = BASE_API_ENDPOINT_HEADER_SCHEMA\n\nexport type ContributorApiBaseHeader = z.infer<typeof CONTRIBUTOR_API_BASE_HEADER_SCHEMA>\n\nexport const CONTRIBUTOR_LANGUAGE_SCHEMA = z.object({\n\tlang_id: z.number(),\n\tlang_iso: z.string(),\n\tlang_name: z.string(),\n\tis_writable: z.union([\n\t\tz.literal(0),\n\t\tz.literal(1),\n\t\tz.boolean(), // (╥﹏╥) this is a workaround for the API returning boolean instead of 0/1, as the API spec says\n\t]),\n})\n\nexport type ContributorLanguage = z.infer<typeof CONTRIBUTOR_LANGUAGE_SCHEMA>\n\nexport const CONTRIBUTOR_SCHEMA = z.object({\n\tuser_id: z.number(),\n\temail: z.string().email(),\n\tfullname: z.string(),\n\tavatar_url: z.string(),\n\tcreated_at: z.string(),\n\tcreated_at_timestamp: z.number(),\n\n\tadmin_rights: z.array(z.string()),\n\tpermissions: z.array(z.string()),\n\tlanguages: z.array(CONTRIBUTOR_LANGUAGE_SCHEMA),\n\n\tis_owner: z.boolean(),\n\tis_admin: z.boolean(),\n\tis_reviewer: z.boolean(),\n\tis_pending: z.boolean(),\n\tis_reinvited: z.boolean(),\n})\n\nexport type Contributor = z.infer<typeof CONTRIBUTOR_SCHEMA>\n\n// TODO: We can add more validation on project ID... It can also be extracted to a utils file\nconst BY_PROJECT_ID = z.object({ id: z.string() })\nconst BY_CONTRIBUTOR_ID = z.object({ id: z.number() })\nconst BY_UUID = z.object({ uuid: z.string().uuid() })\n\nconst PROJECT_TARGET_SCHEMA = z.union([BY_UUID, BY_PROJECT_ID])\nexport type ProjectTarget = z.infer<typeof PROJECT_TARGET_SCHEMA>\n\nconst CONTRIBUTOR_TARGET_PATH_PARAMS_SCHEMA = z.union([\n\tz.object({ authenticatedUser: z.literal(true) }),\n\tBY_UUID,\n\tBY_CONTRIBUTOR_ID,\n])\n\nexport type ContributorTargetPathParams = z.infer<typeof CONTRIBUTOR_TARGET_PATH_PARAMS_SCHEMA>\n\nexport const LIST_CONTRIBUTORS_PATH_PARAMS_SCHEMA = z.object({\n\tproject: PROJECT_TARGET_SCHEMA,\n})\n\nexport type ListContributorsPathParams = z.infer<typeof LIST_CONTRIBUTORS_PATH_PARAMS_SCHEMA>\n\nexport const LIST_CONTRIBUTORS_RESPONSE_SCHEMA = z.object({\n\tproject_id: z.string(),\n\tcontributors: z.array(CONTRIBUTOR_SCHEMA),\n})\n\nexport type ListContributorsResponse = z.infer<typeof LIST_CONTRIBUTORS_RESPONSE_SCHEMA>\n\nexport const RETRIEVE_CONTRIBUTOR_PATH_PARAMS_SCHEMA = z.object({\n\tproject: PROJECT_TARGET_SCHEMA,\n\tcontributor: CONTRIBUTOR_TARGET_PATH_PARAMS_SCHEMA,\n})\n\nexport type RetrieveContributorPathParams = z.infer<typeof RETRIEVE_CONTRIBUTOR_PATH_PARAMS_SCHEMA>\n\nexport const RETRIEVE_CONTRIBUTOR_RESPONSE_SCHEMA = z.object({\n\tproject_id: z.string(),\n\tcontributor: CONTRIBUTOR_SCHEMA,\n})\n\nexport type RetrieveContributorResponse = z.infer<typeof RETRIEVE_CONTRIBUTOR_RESPONSE_SCHEMA>\n"],"names":[],"mappings":";;AAGO,MAAM,qCAAqC;AAIrC,MAAA,8BAA8B,EAAE,OAAO;AAAA,EACnD,SAAS,EAAE,OAAO;AAAA,EAClB,UAAU,EAAE,OAAO;AAAA,EACnB,WAAW,EAAE,OAAO;AAAA,EACpB,aAAa,EAAE,MAAM;AAAA,IACpB,EAAE,QAAQ,CAAC;AAAA,IACX,EAAE,QAAQ,CAAC;AAAA,IACX,EAAE,QAAQ;AAAA;AAAA,EACV,CAAA;AACF,CAAC;AAIY,MAAA,qBAAqB,EAAE,OAAO;AAAA,EAC1C,SAAS,EAAE,OAAO;AAAA,EAClB,OAAO,EAAE,OAAO,EAAE,MAAM;AAAA,EACxB,UAAU,EAAE,OAAO;AAAA,EACnB,YAAY,EAAE,OAAO;AAAA,EACrB,YAAY,EAAE,OAAO;AAAA,EACrB,sBAAsB,EAAE,OAAO;AAAA,EAE/B,cAAc,EAAE,MAAM,EAAE,QAAQ;AAAA,EAChC,aAAa,EAAE,MAAM,EAAE,QAAQ;AAAA,EAC/B,WAAW,EAAE,MAAM,2BAA2B;AAAA,EAE9C,UAAU,EAAE,QAAQ;AAAA,EACpB,UAAU,EAAE,QAAQ;AAAA,EACpB,aAAa,EAAE,QAAQ;AAAA,EACvB,YAAY,EAAE,QAAQ;AAAA,EACtB,cAAc,EAAE,QAAQ;AACzB,CAAC;AAKD,MAAM,gBAAgB,EAAE,OAAO,EAAE,IAAI,EAAE,OAAA,GAAU;AACjD,MAAM,oBAAoB,EAAE,OAAO,EAAE,IAAI,EAAE,OAAA,GAAU;AACrD,MAAM,UAAU,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,GAAG;AAEpD,MAAM,wBAAwB,EAAE,MAAM,CAAC,SAAS,aAAa,CAAC;AAG9D,MAAM,wCAAwC,EAAE,MAAM;AAAA,EACrD,EAAE,OAAO,EAAE,mBAAmB,EAAE,QAAQ,IAAI,GAAG;AAAA,EAC/C;AAAA,EACA;AACD,CAAC;AAIY,MAAA,uCAAuC,EAAE,OAAO;AAAA,EAC5D,SAAS;AACV,CAAC;AAIY,MAAA,oCAAoC,EAAE,OAAO;AAAA,EACzD,YAAY,EAAE,OAAO;AAAA,EACrB,cAAc,EAAE,MAAM,kBAAkB;AACzC,CAAC;AAIY,MAAA,0CAA0C,EAAE,OAAO;AAAA,EAC/D,SAAS;AAAA,EACT,aAAa;AACd,CAAC;AAIY,MAAA,uCAAuC,EAAE,OAAO;AAAA,EAC5D,YAAY,EAAE,OAAO;AAAA,EACrB,aAAa;AACd,CAAC;"}
1
+ {"version":3,"file":"harmony55.mjs","sources":["../src/features/publicApi/types/contributorTypes.ts"],"sourcesContent":["import { BASE_API_ENDPOINT_HEADER_SCHEMA } from '@features/publicApi/types/sharedTypes'\nimport { z } from 'zod'\n\nexport const CONTRIBUTOR_API_BASE_HEADER_SCHEMA = BASE_API_ENDPOINT_HEADER_SCHEMA\n\nexport type ContributorApiBaseHeader = z.infer<typeof CONTRIBUTOR_API_BASE_HEADER_SCHEMA>\n\nexport const CONTRIBUTOR_LANGUAGE_SCHEMA = z.object({\n\tlang_id: z.number(),\n\tlang_iso: z.string(),\n\tlang_name: z.string(),\n\tis_writable: z.union([\n\t\tz.literal(0),\n\t\tz.literal(1),\n\t\tz.boolean(), // (╥﹏╥) this is a workaround for the API returning boolean instead of 0/1, as the API spec says\n\t]),\n})\n\nexport type ContributorLanguage = z.infer<typeof CONTRIBUTOR_LANGUAGE_SCHEMA>\n\nexport const CONTRIBUTOR_SCHEMA = z.object({\n\tuser_id: z.number(),\n\temail: z.string().email(),\n\tfullname: z.string(),\n\tavatar_url: z.string(),\n\tcreated_at: z.string(),\n\tcreated_at_timestamp: z.number(),\n\n\tlanguages: z.array(CONTRIBUTOR_LANGUAGE_SCHEMA),\n\tadmin_rights: z.array(z.string()),\n\tpermissions: z.array(z.string()),\n\trole_id: z.number().nullable(),\n\n\tis_owner: z.boolean(),\n\tis_admin: z.boolean(),\n\tis_reviewer: z.boolean(),\n\tis_pending: z.boolean(),\n\tis_reinvited: z.boolean(),\n})\n\nexport type Contributor = z.infer<typeof CONTRIBUTOR_SCHEMA>\n\n// TODO: We can add more validation on project ID... It can also be extracted to a utils file\nconst BY_PROJECT_ID = z.object({ id: z.string() })\nconst BY_CONTRIBUTOR_ID = z.object({ id: z.number() })\nconst BY_UUID = z.object({ uuid: z.string().uuid() })\n\nconst PROJECT_TARGET_SCHEMA = z.union([BY_UUID, BY_PROJECT_ID])\nexport type ProjectTarget = z.infer<typeof PROJECT_TARGET_SCHEMA>\n\nconst CONTRIBUTOR_TARGET_PATH_PARAMS_SCHEMA = z.union([\n\tz.object({ authenticatedUser: z.literal(true) }),\n\tBY_UUID,\n\tBY_CONTRIBUTOR_ID,\n])\n\nexport type ContributorTargetPathParams = z.infer<typeof CONTRIBUTOR_TARGET_PATH_PARAMS_SCHEMA>\n\nexport const LIST_CONTRIBUTORS_PATH_PARAMS_SCHEMA = z.object({\n\tproject: PROJECT_TARGET_SCHEMA,\n})\n\nexport type ListContributorsPathParams = z.infer<typeof LIST_CONTRIBUTORS_PATH_PARAMS_SCHEMA>\n\nexport const LIST_CONTRIBUTORS_RESPONSE_SCHEMA = z.object({\n\tproject_id: z.string(),\n\tcontributors: z.array(CONTRIBUTOR_SCHEMA),\n})\n\nexport type ListContributorsResponse = z.infer<typeof LIST_CONTRIBUTORS_RESPONSE_SCHEMA>\n\nexport const RETRIEVE_CONTRIBUTOR_PATH_PARAMS_SCHEMA = z.object({\n\tproject: PROJECT_TARGET_SCHEMA,\n\tcontributor: CONTRIBUTOR_TARGET_PATH_PARAMS_SCHEMA,\n})\n\nexport type RetrieveContributorPathParams = z.infer<typeof RETRIEVE_CONTRIBUTOR_PATH_PARAMS_SCHEMA>\n\nexport const RETRIEVE_CONTRIBUTOR_RESPONSE_SCHEMA = z.object({\n\tproject_id: z.string(),\n\tcontributor: CONTRIBUTOR_SCHEMA,\n})\n\nexport type RetrieveContributorResponse = z.infer<typeof RETRIEVE_CONTRIBUTOR_RESPONSE_SCHEMA>\n"],"names":[],"mappings":";;AAGO,MAAM,qCAAqC;AAIrC,MAAA,8BAA8B,EAAE,OAAO;AAAA,EACnD,SAAS,EAAE,OAAO;AAAA,EAClB,UAAU,EAAE,OAAO;AAAA,EACnB,WAAW,EAAE,OAAO;AAAA,EACpB,aAAa,EAAE,MAAM;AAAA,IACpB,EAAE,QAAQ,CAAC;AAAA,IACX,EAAE,QAAQ,CAAC;AAAA,IACX,EAAE,QAAQ;AAAA;AAAA,EACV,CAAA;AACF,CAAC;AAIY,MAAA,qBAAqB,EAAE,OAAO;AAAA,EAC1C,SAAS,EAAE,OAAO;AAAA,EAClB,OAAO,EAAE,OAAO,EAAE,MAAM;AAAA,EACxB,UAAU,EAAE,OAAO;AAAA,EACnB,YAAY,EAAE,OAAO;AAAA,EACrB,YAAY,EAAE,OAAO;AAAA,EACrB,sBAAsB,EAAE,OAAO;AAAA,EAE/B,WAAW,EAAE,MAAM,2BAA2B;AAAA,EAC9C,cAAc,EAAE,MAAM,EAAE,QAAQ;AAAA,EAChC,aAAa,EAAE,MAAM,EAAE,QAAQ;AAAA,EAC/B,SAAS,EAAE,OAAO,EAAE,SAAS;AAAA,EAE7B,UAAU,EAAE,QAAQ;AAAA,EACpB,UAAU,EAAE,QAAQ;AAAA,EACpB,aAAa,EAAE,QAAQ;AAAA,EACvB,YAAY,EAAE,QAAQ;AAAA,EACtB,cAAc,EAAE,QAAQ;AACzB,CAAC;AAKD,MAAM,gBAAgB,EAAE,OAAO,EAAE,IAAI,EAAE,OAAA,GAAU;AACjD,MAAM,oBAAoB,EAAE,OAAO,EAAE,IAAI,EAAE,OAAA,GAAU;AACrD,MAAM,UAAU,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,GAAG;AAEpD,MAAM,wBAAwB,EAAE,MAAM,CAAC,SAAS,aAAa,CAAC;AAG9D,MAAM,wCAAwC,EAAE,MAAM;AAAA,EACrD,EAAE,OAAO,EAAE,mBAAmB,EAAE,QAAQ,IAAI,GAAG;AAAA,EAC/C;AAAA,EACA;AACD,CAAC;AAIY,MAAA,uCAAuC,EAAE,OAAO;AAAA,EAC5D,SAAS;AACV,CAAC;AAIY,MAAA,oCAAoC,EAAE,OAAO;AAAA,EACzD,YAAY,EAAE,OAAO;AAAA,EACrB,cAAc,EAAE,MAAM,kBAAkB;AACzC,CAAC;AAIY,MAAA,0CAA0C,EAAE,OAAO;AAAA,EAC/D,SAAS;AAAA,EACT,aAAa;AACd,CAAC;AAIY,MAAA,uCAAuC,EAAE,OAAO;AAAA,EAC5D,YAAY,EAAE,OAAO;AAAA,EACrB,aAAa;AACd,CAAC;"}
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
3
3
  const React = require("react");
4
- const utils = require("./harmony102.cjs");
4
+ const utils = require("./harmony100.cjs");
5
5
  function useResizeDetector({ skipOnMount = false, refreshMode, refreshRate = 1e3, refreshOptions, handleWidth = true, handleHeight = true, targetRef, observerOptions, onResize } = {}) {
6
6
  const skipResize = React.useRef(skipOnMount);
7
7
  const onResizeRef = utils.useCallbackRef(onResize);
@@ -1,5 +1,5 @@
1
1
  import { useRef, useState, useCallback, useEffect } from "react";
2
- import { useCallbackRef, useRefProxy, getDimensions, patchResizeCallback } from "./harmony102.mjs";
2
+ import { useCallbackRef, useRefProxy, getDimensions, patchResizeCallback } from "./harmony100.mjs";
3
3
  function useResizeDetector({ skipOnMount = false, refreshMode, refreshRate = 1e3, refreshOptions, handleWidth = true, handleHeight = true, targetRef, observerOptions, onResize } = {}) {
4
4
  const skipResize = useRef(skipOnMount);
5
5
  const onResizeRef = useCallbackRef(onResize);
@@ -1,16 +1,16 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
3
  const jsxRuntime = require("react/jsx-runtime");
4
- const floatingUi_core = require("./harmony105.cjs");
4
+ const floatingUi_core = require("./harmony107.cjs");
5
5
  const louis = require("@lokalise/louis");
6
6
  const useEffectOnce = require("./harmony12.cjs");
7
7
  const clsx = require("./harmony67.cjs");
8
8
  const React = require("react");
9
- const Tasks_module = require("./harmony106.cjs");
10
- const TasksContext = require("./harmony107.cjs");
11
- const TasksPopover = require("./harmony108.cjs");
12
- const TasksProvider = require("./harmony109.cjs");
13
- const taskEvents = require("./harmony110.cjs");
9
+ const Tasks_module = require("./harmony108.cjs");
10
+ const TasksContext = require("./harmony109.cjs");
11
+ const TasksPopover = require("./harmony110.cjs");
12
+ const TasksProvider = require("./harmony111.cjs");
13
+ const taskEvents = require("./harmony112.cjs");
14
14
  const Tasks = TasksProvider.withTasksContext(() => {
15
15
  const [open, setOpen] = React.useState(false);
16
16
  const { tasksCount } = TasksContext.useTasks();
@@ -1,14 +1,14 @@
1
1
  import { jsx, jsxs } from "react/jsx-runtime";
2
- import { shift } from "./harmony105.mjs";
2
+ import { shift } from "./harmony107.mjs";
3
3
  import { Tooltip, Popover, Button, JobIcon } from "@lokalise/louis";
4
4
  import { useEffectOnce } from "./harmony12.mjs";
5
5
  import { clsx } from "./harmony67.mjs";
6
6
  import { useState } from "react";
7
- import styles from "./harmony106.mjs";
8
- import { useTasks } from "./harmony107.mjs";
9
- import { TasksPopover } from "./harmony108.mjs";
10
- import { withTasksContext } from "./harmony109.mjs";
11
- import { TaskEvents } from "./harmony110.mjs";
7
+ import styles from "./harmony108.mjs";
8
+ import { useTasks } from "./harmony109.mjs";
9
+ import { TasksPopover } from "./harmony110.mjs";
10
+ import { withTasksContext } from "./harmony111.mjs";
11
+ import { TaskEvents } from "./harmony112.mjs";
12
12
  const Tasks = withTasksContext(() => {
13
13
  const [open, setOpen] = useState(false);
14
14
  const { tasksCount } = useTasks();
@@ -4,8 +4,8 @@ const jsxRuntime = require("react/jsx-runtime");
4
4
  const louis = require("@lokalise/louis");
5
5
  const clsx = require("./harmony67.cjs");
6
6
  const React = require("react");
7
- const NavItemContents = require("./harmony85.cjs");
8
- const styles_module = require("./harmony86.cjs");
7
+ const NavItemContents = require("./harmony87.cjs");
8
+ const styles_module = require("./harmony88.cjs");
9
9
  const NavigationTabsItem = React.forwardRef(
10
10
  ({ label, href = "", disabled = false, badge, onClick, novel }, ref) => /* @__PURE__ */ jsxRuntime.jsx(louis.Tooltip, { tooltip: "You do not have access to this function", show: disabled, children: /* @__PURE__ */ jsxRuntime.jsx(
11
11
  "div",
@@ -2,8 +2,8 @@ import { jsx } from "react/jsx-runtime";
2
2
  import { Tooltip } from "@lokalise/louis";
3
3
  import { clsx } from "./harmony67.mjs";
4
4
  import { forwardRef } from "react";
5
- import { NavItemContents } from "./harmony85.mjs";
6
- import classes from "./harmony86.mjs";
5
+ import { NavItemContents } from "./harmony87.mjs";
6
+ import classes from "./harmony88.mjs";
7
7
  const NavigationTabsItem = forwardRef(
8
8
  ({ label, href = "", disabled = false, badge, onClick, novel }, ref) => /* @__PURE__ */ jsx(Tooltip, { tooltip: "You do not have access to this function", show: disabled, children: /* @__PURE__ */ jsx(
9
9
  "div",
@@ -4,8 +4,8 @@ const jsxRuntime = require("react/jsx-runtime");
4
4
  const louis = require("@lokalise/louis");
5
5
  const reactTable = require("@tanstack/react-table");
6
6
  const clsx = require("./harmony67.cjs");
7
- const SortingIcon = require("./harmony87.cjs");
8
- const TableHeaderCell_module = require("./harmony88.cjs");
7
+ const SortingIcon = require("./harmony85.cjs");
8
+ const TableHeaderCell_module = require("./harmony86.cjs");
9
9
  const Cell = ({ children, align, className }) => {
10
10
  return /* @__PURE__ */ jsxRuntime.jsx(
11
11
  louis.TableHeaderCell,
@@ -2,8 +2,8 @@ import { jsx, jsxs } from "react/jsx-runtime";
2
2
  import { TableHeaderCell as TableHeaderCell$1 } from "@lokalise/louis";
3
3
  import { flexRender } from "@tanstack/react-table";
4
4
  import { clsx } from "./harmony67.mjs";
5
- import { SortingIcon } from "./harmony87.mjs";
6
- import styles from "./harmony88.mjs";
5
+ import { SortingIcon } from "./harmony85.mjs";
6
+ import styles from "./harmony86.mjs";
7
7
  const Cell = ({ children, align, className }) => {
8
8
  return /* @__PURE__ */ jsx(
9
9
  TableHeaderCell$1,
@@ -2,13 +2,14 @@
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
3
  const jsxRuntime = require("react/jsx-runtime");
4
4
  const louis = require("@lokalise/louis");
5
- const styles_module = require("./harmony86.cjs");
6
- const NavItemContents = ({ label, badge, novel }) => /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex gap-1", children: [
7
- /* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
8
- /* @__PURE__ */ jsxRuntime.jsx("span", { children: label }),
9
- !!badge && /* @__PURE__ */ jsxRuntime.jsx("div", { className: styles_module.default.badge, "aria-label": `${badge} items requiring attention`, children: badge > 9 ? "9+" : badge })
10
- ] }),
11
- !!novel && /* @__PURE__ */ jsxRuntime.jsx(louis.Tag, { className: styles_module.default.tag, children: novel })
12
- ] });
13
- exports.NavItemContents = NavItemContents;
5
+ const SortingIcon = ({ direction }) => {
6
+ if (direction === "asc") {
7
+ return /* @__PURE__ */ jsxRuntime.jsx(louis.SortAscendingIcon, { ariaLabel: "ascending sorting" });
8
+ }
9
+ if (direction === "desc") {
10
+ return /* @__PURE__ */ jsxRuntime.jsx(louis.SortDescendingIcon, { ariaLabel: "descending sorting" });
11
+ }
12
+ return /* @__PURE__ */ jsxRuntime.jsx(louis.SortIcon, { ariaLabel: "sorting" });
13
+ };
14
+ exports.SortingIcon = SortingIcon;
14
15
  //# sourceMappingURL=harmony85.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"harmony85.cjs","sources":["../src/components/NavigationPanel/components/NavigationTabs/NavigationTabsItem/NavItemContents.tsx"],"sourcesContent":["import { Tag } from '@lokalise/louis'\n\nimport classes from './styles.module.css'\n\ninterface NavItemContentProps {\n\tlabel: string\n\tbadge?: number\n\tnovel?: string\n}\nexport const NavItemContents = ({ label, badge, novel }: NavItemContentProps) => (\n\t<div className=\"flex gap-1\">\n\t\t<div>\n\t\t\t<span>{label}</span>\n\t\t\t{!!badge && (\n\t\t\t\t<div className={classes.badge} aria-label={`${badge} items requiring attention`}>\n\t\t\t\t\t{badge > 9 ? '9+' : badge}\n\t\t\t\t</div>\n\t\t\t)}\n\t\t</div>\n\t\t{!!novel && <Tag className={classes.tag}>{novel}</Tag>}\n\t</div>\n)\n"],"names":["jsxs","jsx","classes","Tag"],"mappings":";;;;;AASa,MAAA,kBAAkB,CAAC,EAAE,OAAO,OAAO,YAC/CA,2BAAA,KAAC,OAAI,EAAA,WAAU,cACd,UAAA;AAAA,EAAAA,gCAAC,OACA,EAAA,UAAA;AAAA,IAAAC,2BAAAA,IAAC,UAAM,UAAM,MAAA,CAAA;AAAA,IACZ,CAAC,CAAC,SACFA,+BAAC,SAAI,WAAWC,cAAA,QAAQ,OAAO,cAAY,GAAG,KAAK,8BACjD,UAAQ,QAAA,IAAI,OAAO,MACrB,CAAA;AAAA,EAAA,GAEF;AAAA,EACC,CAAC,CAAC,SAASD,2BAAA,IAACE,aAAI,WAAWD,sBAAQ,KAAM,UAAM,MAAA,CAAA;AAAA,EACjD,CAAA;;"}
1
+ {"version":3,"file":"harmony85.cjs","sources":["../src/components/Table/components/SortingIcon.tsx"],"sourcesContent":["import { SortAscendingIcon, SortDescendingIcon, SortIcon } from '@lokalise/louis'\nimport type { SortDirection } from '@tanstack/react-table'\n\ntype SortingIconProps = {\n\tdirection: SortDirection | false\n}\n\nexport const SortingIcon = ({ direction }: SortingIconProps) => {\n\tif (direction === 'asc') {\n\t\treturn <SortAscendingIcon ariaLabel=\"ascending sorting\" />\n\t}\n\tif (direction === 'desc') {\n\t\treturn <SortDescendingIcon ariaLabel=\"descending sorting\" />\n\t}\n\treturn <SortIcon ariaLabel=\"sorting\" />\n}\n"],"names":["jsx","SortAscendingIcon","SortDescendingIcon","SortIcon"],"mappings":";;;;AAOO,MAAM,cAAc,CAAC,EAAE,gBAAkC;AAC/D,MAAI,cAAc,OAAO;AACjB,WAAAA,2BAAA,IAACC,MAAkB,mBAAA,EAAA,WAAU,oBAAoB,CAAA;AAAA,EAAA;AAEzD,MAAI,cAAc,QAAQ;AAClB,WAAAD,2BAAA,IAACE,MAAmB,oBAAA,EAAA,WAAU,qBAAqB,CAAA;AAAA,EAAA;AAEpD,SAAAF,2BAAA,IAACG,MAAS,UAAA,EAAA,WAAU,UAAU,CAAA;AACtC;;"}
@@ -1,14 +1,15 @@
1
- import { jsxs, jsx } from "react/jsx-runtime";
2
- import { Tag } from "@lokalise/louis";
3
- import classes from "./harmony86.mjs";
4
- const NavItemContents = ({ label, badge, novel }) => /* @__PURE__ */ jsxs("div", { className: "flex gap-1", children: [
5
- /* @__PURE__ */ jsxs("div", { children: [
6
- /* @__PURE__ */ jsx("span", { children: label }),
7
- !!badge && /* @__PURE__ */ jsx("div", { className: classes.badge, "aria-label": `${badge} items requiring attention`, children: badge > 9 ? "9+" : badge })
8
- ] }),
9
- !!novel && /* @__PURE__ */ jsx(Tag, { className: classes.tag, children: novel })
10
- ] });
1
+ import { jsx } from "react/jsx-runtime";
2
+ import { SortAscendingIcon, SortDescendingIcon, SortIcon } from "@lokalise/louis";
3
+ const SortingIcon = ({ direction }) => {
4
+ if (direction === "asc") {
5
+ return /* @__PURE__ */ jsx(SortAscendingIcon, { ariaLabel: "ascending sorting" });
6
+ }
7
+ if (direction === "desc") {
8
+ return /* @__PURE__ */ jsx(SortDescendingIcon, { ariaLabel: "descending sorting" });
9
+ }
10
+ return /* @__PURE__ */ jsx(SortIcon, { ariaLabel: "sorting" });
11
+ };
11
12
  export {
12
- NavItemContents
13
+ SortingIcon
13
14
  };
14
15
  //# sourceMappingURL=harmony85.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"harmony85.mjs","sources":["../src/components/NavigationPanel/components/NavigationTabs/NavigationTabsItem/NavItemContents.tsx"],"sourcesContent":["import { Tag } from '@lokalise/louis'\n\nimport classes from './styles.module.css'\n\ninterface NavItemContentProps {\n\tlabel: string\n\tbadge?: number\n\tnovel?: string\n}\nexport const NavItemContents = ({ label, badge, novel }: NavItemContentProps) => (\n\t<div className=\"flex gap-1\">\n\t\t<div>\n\t\t\t<span>{label}</span>\n\t\t\t{!!badge && (\n\t\t\t\t<div className={classes.badge} aria-label={`${badge} items requiring attention`}>\n\t\t\t\t\t{badge > 9 ? '9+' : badge}\n\t\t\t\t</div>\n\t\t\t)}\n\t\t</div>\n\t\t{!!novel && <Tag className={classes.tag}>{novel}</Tag>}\n\t</div>\n)\n"],"names":[],"mappings":";;;AASa,MAAA,kBAAkB,CAAC,EAAE,OAAO,OAAO,YAC/C,qBAAC,OAAI,EAAA,WAAU,cACd,UAAA;AAAA,EAAA,qBAAC,OACA,EAAA,UAAA;AAAA,IAAA,oBAAC,UAAM,UAAM,MAAA,CAAA;AAAA,IACZ,CAAC,CAAC,SACF,oBAAC,SAAI,WAAW,QAAQ,OAAO,cAAY,GAAG,KAAK,8BACjD,UAAQ,QAAA,IAAI,OAAO,MACrB,CAAA;AAAA,EAAA,GAEF;AAAA,EACC,CAAC,CAAC,SAAS,oBAAC,OAAI,WAAW,QAAQ,KAAM,UAAM,MAAA,CAAA;AAAA,EACjD,CAAA;"}
1
+ {"version":3,"file":"harmony85.mjs","sources":["../src/components/Table/components/SortingIcon.tsx"],"sourcesContent":["import { SortAscendingIcon, SortDescendingIcon, SortIcon } from '@lokalise/louis'\nimport type { SortDirection } from '@tanstack/react-table'\n\ntype SortingIconProps = {\n\tdirection: SortDirection | false\n}\n\nexport const SortingIcon = ({ direction }: SortingIconProps) => {\n\tif (direction === 'asc') {\n\t\treturn <SortAscendingIcon ariaLabel=\"ascending sorting\" />\n\t}\n\tif (direction === 'desc') {\n\t\treturn <SortDescendingIcon ariaLabel=\"descending sorting\" />\n\t}\n\treturn <SortIcon ariaLabel=\"sorting\" />\n}\n"],"names":[],"mappings":";;AAOO,MAAM,cAAc,CAAC,EAAE,gBAAkC;AAC/D,MAAI,cAAc,OAAO;AACjB,WAAA,oBAAC,mBAAkB,EAAA,WAAU,oBAAoB,CAAA;AAAA,EAAA;AAEzD,MAAI,cAAc,QAAQ;AAClB,WAAA,oBAAC,oBAAmB,EAAA,WAAU,qBAAqB,CAAA;AAAA,EAAA;AAEpD,SAAA,oBAAC,UAAS,EAAA,WAAU,UAAU,CAAA;AACtC;"}
@@ -1,24 +1,15 @@
1
1
  "use strict";
2
2
  Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
3
- const badge = "_badge_1pc1v_1";
4
- const tag = "_tag_1pc1v_15";
5
- const withNavLinkStyle = "_withNavLinkStyle_1pc1v_42 _withLinkStyle_1pc1v_21";
6
- const disabled = "_disabled_1pc1v_57";
7
- const projectNavigationItem = "_projectNavigationItem_1pc1v_61";
8
- const projectNavigationItemDisabled = "_projectNavigationItemDisabled_1pc1v_67";
9
- const classes = {
10
- badge,
11
- tag,
12
- withNavLinkStyle,
13
- disabled,
14
- projectNavigationItem,
15
- projectNavigationItemDisabled
3
+ const headerSortButton = "_headerSortButton_b5tlh_1";
4
+ const centeredCell = "_centeredCell_b5tlh_15";
5
+ const rightAlignedCell = "_rightAlignedCell_b5tlh_19";
6
+ const styles = {
7
+ headerSortButton,
8
+ centeredCell,
9
+ rightAlignedCell
16
10
  };
17
- exports.badge = badge;
18
- exports.default = classes;
19
- exports.disabled = disabled;
20
- exports.projectNavigationItem = projectNavigationItem;
21
- exports.projectNavigationItemDisabled = projectNavigationItemDisabled;
22
- exports.tag = tag;
23
- exports.withNavLinkStyle = withNavLinkStyle;
11
+ exports.centeredCell = centeredCell;
12
+ exports.default = styles;
13
+ exports.headerSortButton = headerSortButton;
14
+ exports.rightAlignedCell = rightAlignedCell;
24
15
  //# sourceMappingURL=harmony86.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"harmony86.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"harmony86.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;"}
@@ -1,24 +1,15 @@
1
- const badge = "_badge_1pc1v_1";
2
- const tag = "_tag_1pc1v_15";
3
- const withNavLinkStyle = "_withNavLinkStyle_1pc1v_42 _withLinkStyle_1pc1v_21";
4
- const disabled = "_disabled_1pc1v_57";
5
- const projectNavigationItem = "_projectNavigationItem_1pc1v_61";
6
- const projectNavigationItemDisabled = "_projectNavigationItemDisabled_1pc1v_67";
7
- const classes = {
8
- badge,
9
- tag,
10
- withNavLinkStyle,
11
- disabled,
12
- projectNavigationItem,
13
- projectNavigationItemDisabled
1
+ const headerSortButton = "_headerSortButton_b5tlh_1";
2
+ const centeredCell = "_centeredCell_b5tlh_15";
3
+ const rightAlignedCell = "_rightAlignedCell_b5tlh_19";
4
+ const styles = {
5
+ headerSortButton,
6
+ centeredCell,
7
+ rightAlignedCell
14
8
  };
15
9
  export {
16
- badge,
17
- classes as default,
18
- disabled,
19
- projectNavigationItem,
20
- projectNavigationItemDisabled,
21
- tag,
22
- withNavLinkStyle
10
+ centeredCell,
11
+ styles as default,
12
+ headerSortButton,
13
+ rightAlignedCell
23
14
  };
24
15
  //# sourceMappingURL=harmony86.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"harmony86.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"harmony86.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;"}
@@ -2,14 +2,13 @@
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
3
  const jsxRuntime = require("react/jsx-runtime");
4
4
  const louis = require("@lokalise/louis");
5
- const SortingIcon = ({ direction }) => {
6
- if (direction === "asc") {
7
- return /* @__PURE__ */ jsxRuntime.jsx(louis.SortAscendingIcon, { ariaLabel: "ascending sorting" });
8
- }
9
- if (direction === "desc") {
10
- return /* @__PURE__ */ jsxRuntime.jsx(louis.SortDescendingIcon, { ariaLabel: "descending sorting" });
11
- }
12
- return /* @__PURE__ */ jsxRuntime.jsx(louis.SortIcon, { ariaLabel: "sorting" });
13
- };
14
- exports.SortingIcon = SortingIcon;
5
+ const styles_module = require("./harmony88.cjs");
6
+ const NavItemContents = ({ label, badge, novel }) => /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex gap-1", children: [
7
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
8
+ /* @__PURE__ */ jsxRuntime.jsx("span", { children: label }),
9
+ !!badge && /* @__PURE__ */ jsxRuntime.jsx("div", { className: styles_module.default.badge, "aria-label": `${badge} items requiring attention`, children: badge > 9 ? "9+" : badge })
10
+ ] }),
11
+ !!novel && /* @__PURE__ */ jsxRuntime.jsx(louis.Tag, { className: styles_module.default.tag, children: novel })
12
+ ] });
13
+ exports.NavItemContents = NavItemContents;
15
14
  //# sourceMappingURL=harmony87.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"harmony87.cjs","sources":["../src/components/Table/components/SortingIcon.tsx"],"sourcesContent":["import { SortAscendingIcon, SortDescendingIcon, SortIcon } from '@lokalise/louis'\nimport type { SortDirection } from '@tanstack/react-table'\n\ntype SortingIconProps = {\n\tdirection: SortDirection | false\n}\n\nexport const SortingIcon = ({ direction }: SortingIconProps) => {\n\tif (direction === 'asc') {\n\t\treturn <SortAscendingIcon ariaLabel=\"ascending sorting\" />\n\t}\n\tif (direction === 'desc') {\n\t\treturn <SortDescendingIcon ariaLabel=\"descending sorting\" />\n\t}\n\treturn <SortIcon ariaLabel=\"sorting\" />\n}\n"],"names":["jsx","SortAscendingIcon","SortDescendingIcon","SortIcon"],"mappings":";;;;AAOO,MAAM,cAAc,CAAC,EAAE,gBAAkC;AAC/D,MAAI,cAAc,OAAO;AACjB,WAAAA,2BAAA,IAACC,MAAkB,mBAAA,EAAA,WAAU,oBAAoB,CAAA;AAAA,EAAA;AAEzD,MAAI,cAAc,QAAQ;AAClB,WAAAD,2BAAA,IAACE,MAAmB,oBAAA,EAAA,WAAU,qBAAqB,CAAA;AAAA,EAAA;AAEpD,SAAAF,2BAAA,IAACG,MAAS,UAAA,EAAA,WAAU,UAAU,CAAA;AACtC;;"}
1
+ {"version":3,"file":"harmony87.cjs","sources":["../src/components/NavigationPanel/components/NavigationTabs/NavigationTabsItem/NavItemContents.tsx"],"sourcesContent":["import { Tag } from '@lokalise/louis'\n\nimport classes from './styles.module.css'\n\ninterface NavItemContentProps {\n\tlabel: string\n\tbadge?: number\n\tnovel?: string\n}\nexport const NavItemContents = ({ label, badge, novel }: NavItemContentProps) => (\n\t<div className=\"flex gap-1\">\n\t\t<div>\n\t\t\t<span>{label}</span>\n\t\t\t{!!badge && (\n\t\t\t\t<div className={classes.badge} aria-label={`${badge} items requiring attention`}>\n\t\t\t\t\t{badge > 9 ? '9+' : badge}\n\t\t\t\t</div>\n\t\t\t)}\n\t\t</div>\n\t\t{!!novel && <Tag className={classes.tag}>{novel}</Tag>}\n\t</div>\n)\n"],"names":["jsxs","jsx","classes","Tag"],"mappings":";;;;;AASa,MAAA,kBAAkB,CAAC,EAAE,OAAO,OAAO,YAC/CA,2BAAA,KAAC,OAAI,EAAA,WAAU,cACd,UAAA;AAAA,EAAAA,gCAAC,OACA,EAAA,UAAA;AAAA,IAAAC,2BAAAA,IAAC,UAAM,UAAM,MAAA,CAAA;AAAA,IACZ,CAAC,CAAC,SACFA,+BAAC,SAAI,WAAWC,cAAA,QAAQ,OAAO,cAAY,GAAG,KAAK,8BACjD,UAAQ,QAAA,IAAI,OAAO,MACrB,CAAA;AAAA,EAAA,GAEF;AAAA,EACC,CAAC,CAAC,SAASD,2BAAA,IAACE,aAAI,WAAWD,sBAAQ,KAAM,UAAM,MAAA,CAAA;AAAA,EACjD,CAAA;;"}
@@ -1,15 +1,14 @@
1
- import { jsx } from "react/jsx-runtime";
2
- import { SortAscendingIcon, SortDescendingIcon, SortIcon } from "@lokalise/louis";
3
- const SortingIcon = ({ direction }) => {
4
- if (direction === "asc") {
5
- return /* @__PURE__ */ jsx(SortAscendingIcon, { ariaLabel: "ascending sorting" });
6
- }
7
- if (direction === "desc") {
8
- return /* @__PURE__ */ jsx(SortDescendingIcon, { ariaLabel: "descending sorting" });
9
- }
10
- return /* @__PURE__ */ jsx(SortIcon, { ariaLabel: "sorting" });
11
- };
1
+ import { jsxs, jsx } from "react/jsx-runtime";
2
+ import { Tag } from "@lokalise/louis";
3
+ import classes from "./harmony88.mjs";
4
+ const NavItemContents = ({ label, badge, novel }) => /* @__PURE__ */ jsxs("div", { className: "flex gap-1", children: [
5
+ /* @__PURE__ */ jsxs("div", { children: [
6
+ /* @__PURE__ */ jsx("span", { children: label }),
7
+ !!badge && /* @__PURE__ */ jsx("div", { className: classes.badge, "aria-label": `${badge} items requiring attention`, children: badge > 9 ? "9+" : badge })
8
+ ] }),
9
+ !!novel && /* @__PURE__ */ jsx(Tag, { className: classes.tag, children: novel })
10
+ ] });
12
11
  export {
13
- SortingIcon
12
+ NavItemContents
14
13
  };
15
14
  //# sourceMappingURL=harmony87.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"harmony87.mjs","sources":["../src/components/Table/components/SortingIcon.tsx"],"sourcesContent":["import { SortAscendingIcon, SortDescendingIcon, SortIcon } from '@lokalise/louis'\nimport type { SortDirection } from '@tanstack/react-table'\n\ntype SortingIconProps = {\n\tdirection: SortDirection | false\n}\n\nexport const SortingIcon = ({ direction }: SortingIconProps) => {\n\tif (direction === 'asc') {\n\t\treturn <SortAscendingIcon ariaLabel=\"ascending sorting\" />\n\t}\n\tif (direction === 'desc') {\n\t\treturn <SortDescendingIcon ariaLabel=\"descending sorting\" />\n\t}\n\treturn <SortIcon ariaLabel=\"sorting\" />\n}\n"],"names":[],"mappings":";;AAOO,MAAM,cAAc,CAAC,EAAE,gBAAkC;AAC/D,MAAI,cAAc,OAAO;AACjB,WAAA,oBAAC,mBAAkB,EAAA,WAAU,oBAAoB,CAAA;AAAA,EAAA;AAEzD,MAAI,cAAc,QAAQ;AAClB,WAAA,oBAAC,oBAAmB,EAAA,WAAU,qBAAqB,CAAA;AAAA,EAAA;AAEpD,SAAA,oBAAC,UAAS,EAAA,WAAU,UAAU,CAAA;AACtC;"}
1
+ {"version":3,"file":"harmony87.mjs","sources":["../src/components/NavigationPanel/components/NavigationTabs/NavigationTabsItem/NavItemContents.tsx"],"sourcesContent":["import { Tag } from '@lokalise/louis'\n\nimport classes from './styles.module.css'\n\ninterface NavItemContentProps {\n\tlabel: string\n\tbadge?: number\n\tnovel?: string\n}\nexport const NavItemContents = ({ label, badge, novel }: NavItemContentProps) => (\n\t<div className=\"flex gap-1\">\n\t\t<div>\n\t\t\t<span>{label}</span>\n\t\t\t{!!badge && (\n\t\t\t\t<div className={classes.badge} aria-label={`${badge} items requiring attention`}>\n\t\t\t\t\t{badge > 9 ? '9+' : badge}\n\t\t\t\t</div>\n\t\t\t)}\n\t\t</div>\n\t\t{!!novel && <Tag className={classes.tag}>{novel}</Tag>}\n\t</div>\n)\n"],"names":[],"mappings":";;;AASa,MAAA,kBAAkB,CAAC,EAAE,OAAO,OAAO,YAC/C,qBAAC,OAAI,EAAA,WAAU,cACd,UAAA;AAAA,EAAA,qBAAC,OACA,EAAA,UAAA;AAAA,IAAA,oBAAC,UAAM,UAAM,MAAA,CAAA;AAAA,IACZ,CAAC,CAAC,SACF,oBAAC,SAAI,WAAW,QAAQ,OAAO,cAAY,GAAG,KAAK,8BACjD,UAAQ,QAAA,IAAI,OAAO,MACrB,CAAA;AAAA,EAAA,GAEF;AAAA,EACC,CAAC,CAAC,SAAS,oBAAC,OAAI,WAAW,QAAQ,KAAM,UAAM,MAAA,CAAA;AAAA,EACjD,CAAA;"}
@@ -1,15 +1,24 @@
1
1
  "use strict";
2
2
  Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
3
- const headerSortButton = "_headerSortButton_b5tlh_1";
4
- const centeredCell = "_centeredCell_b5tlh_15";
5
- const rightAlignedCell = "_rightAlignedCell_b5tlh_19";
6
- const styles = {
7
- headerSortButton,
8
- centeredCell,
9
- rightAlignedCell
3
+ const badge = "_badge_1pc1v_1";
4
+ const tag = "_tag_1pc1v_15";
5
+ const withNavLinkStyle = "_withNavLinkStyle_1pc1v_42 _withLinkStyle_1pc1v_21";
6
+ const disabled = "_disabled_1pc1v_57";
7
+ const projectNavigationItem = "_projectNavigationItem_1pc1v_61";
8
+ const projectNavigationItemDisabled = "_projectNavigationItemDisabled_1pc1v_67";
9
+ const classes = {
10
+ badge,
11
+ tag,
12
+ withNavLinkStyle,
13
+ disabled,
14
+ projectNavigationItem,
15
+ projectNavigationItemDisabled
10
16
  };
11
- exports.centeredCell = centeredCell;
12
- exports.default = styles;
13
- exports.headerSortButton = headerSortButton;
14
- exports.rightAlignedCell = rightAlignedCell;
17
+ exports.badge = badge;
18
+ exports.default = classes;
19
+ exports.disabled = disabled;
20
+ exports.projectNavigationItem = projectNavigationItem;
21
+ exports.projectNavigationItemDisabled = projectNavigationItemDisabled;
22
+ exports.tag = tag;
23
+ exports.withNavLinkStyle = withNavLinkStyle;
15
24
  //# sourceMappingURL=harmony88.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"harmony88.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"harmony88.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;"}
@@ -1,15 +1,24 @@
1
- const headerSortButton = "_headerSortButton_b5tlh_1";
2
- const centeredCell = "_centeredCell_b5tlh_15";
3
- const rightAlignedCell = "_rightAlignedCell_b5tlh_19";
4
- const styles = {
5
- headerSortButton,
6
- centeredCell,
7
- rightAlignedCell
1
+ const badge = "_badge_1pc1v_1";
2
+ const tag = "_tag_1pc1v_15";
3
+ const withNavLinkStyle = "_withNavLinkStyle_1pc1v_42 _withLinkStyle_1pc1v_21";
4
+ const disabled = "_disabled_1pc1v_57";
5
+ const projectNavigationItem = "_projectNavigationItem_1pc1v_61";
6
+ const projectNavigationItemDisabled = "_projectNavigationItemDisabled_1pc1v_67";
7
+ const classes = {
8
+ badge,
9
+ tag,
10
+ withNavLinkStyle,
11
+ disabled,
12
+ projectNavigationItem,
13
+ projectNavigationItemDisabled
8
14
  };
9
15
  export {
10
- centeredCell,
11
- styles as default,
12
- headerSortButton,
13
- rightAlignedCell
16
+ badge,
17
+ classes as default,
18
+ disabled,
19
+ projectNavigationItem,
20
+ projectNavigationItemDisabled,
21
+ tag,
22
+ withNavLinkStyle
14
23
  };
15
24
  //# sourceMappingURL=harmony88.mjs.map