@lokalise/harmony 1.27.3-exp-fixTeamsTypes.7 → 1.27.3-exp-teamTypes.1

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 (62) hide show
  1. package/dist/harmony100.cjs +6 -4
  2. package/dist/harmony100.cjs.map +1 -1
  3. package/dist/harmony100.mjs +6 -4
  4. package/dist/harmony100.mjs.map +1 -1
  5. package/dist/harmony103.cjs +17 -7
  6. package/dist/harmony103.cjs.map +1 -1
  7. package/dist/harmony103.mjs +16 -6
  8. package/dist/harmony103.mjs.map +1 -1
  9. package/dist/harmony104.cjs +7 -17
  10. package/dist/harmony104.cjs.map +1 -1
  11. package/dist/harmony104.mjs +6 -16
  12. package/dist/harmony104.mjs.map +1 -1
  13. package/dist/harmony108.cjs +1 -1
  14. package/dist/harmony108.mjs +1 -1
  15. package/dist/harmony116.cjs +1 -1
  16. package/dist/harmony116.mjs +1 -1
  17. package/dist/harmony126.cjs +1 -1
  18. package/dist/harmony126.mjs +1 -1
  19. package/dist/harmony30.cjs +1 -1
  20. package/dist/harmony30.mjs +1 -1
  21. package/dist/harmony71.cjs.map +1 -1
  22. package/dist/harmony71.mjs.map +1 -1
  23. package/dist/harmony74.cjs +6 -6
  24. package/dist/harmony74.mjs +6 -6
  25. package/dist/harmony82.cjs +1 -1
  26. package/dist/harmony82.mjs +1 -1
  27. package/dist/harmony83.cjs +3 -2
  28. package/dist/harmony83.cjs.map +1 -1
  29. package/dist/harmony83.mjs +3 -2
  30. package/dist/harmony83.mjs.map +1 -1
  31. package/dist/harmony88.cjs +1 -1
  32. package/dist/harmony88.mjs +1 -1
  33. package/dist/harmony93.cjs +21 -132
  34. package/dist/harmony93.cjs.map +1 -1
  35. package/dist/harmony93.mjs +20 -131
  36. package/dist/harmony93.mjs.map +1 -1
  37. package/dist/harmony94.cjs +6 -12
  38. package/dist/harmony94.cjs.map +1 -1
  39. package/dist/harmony94.mjs +5 -11
  40. package/dist/harmony94.mjs.map +1 -1
  41. package/dist/harmony95.cjs +132 -5
  42. package/dist/harmony95.cjs.map +1 -1
  43. package/dist/harmony95.mjs +132 -5
  44. package/dist/harmony95.mjs.map +1 -1
  45. package/dist/harmony96.cjs +12 -40
  46. package/dist/harmony96.cjs.map +1 -1
  47. package/dist/harmony96.mjs +11 -39
  48. package/dist/harmony96.mjs.map +1 -1
  49. package/dist/harmony97.cjs +4 -59
  50. package/dist/harmony97.cjs.map +1 -1
  51. package/dist/harmony97.mjs +5 -60
  52. package/dist/harmony97.mjs.map +1 -1
  53. package/dist/harmony98.cjs +39 -6
  54. package/dist/harmony98.cjs.map +1 -1
  55. package/dist/harmony98.mjs +39 -6
  56. package/dist/harmony98.mjs.map +1 -1
  57. package/dist/harmony99.cjs +60 -21
  58. package/dist/harmony99.cjs.map +1 -1
  59. package/dist/harmony99.mjs +59 -20
  60. package/dist/harmony99.mjs.map +1 -1
  61. package/dist/types/src/components/Sidebar/types.d.ts +1 -1
  62. package/package.json +1 -1
@@ -1,8 +1,10 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const SidebarTeamRoles = {
4
- biller: "biller",
5
- owner: "owner"
3
+ const TaskEvents = {
4
+ TaskCompleted: "task_completed",
5
+ TaskClosed: "task_closed",
6
+ Refresh: "refresh",
7
+ ShowDialog: "show_dialog"
6
8
  };
7
- exports.SidebarTeamRoles = SidebarTeamRoles;
9
+ exports.TaskEvents = TaskEvents;
8
10
  //# sourceMappingURL=harmony100.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"harmony100.cjs","sources":["../src/components/Sidebar/types.ts"],"sourcesContent":["import type { TypesFromMap } from '@utils'\n\nexport const SidebarTeamRoles = {\n\tmember: 'member',\n\tadmin: 'admin',\n\tbiller: 'biller',\n\towner: 'owner',\n} as const\n\nexport type SidebarTeamRole = TypesFromMap<typeof SidebarTeamRoles>\n\nexport type SidebarTeam = {\n\tid: number\n\tname: string\n\trole: SidebarTeamRole\n\tlogo_Url: string\n}\n"],"names":[],"mappings":";;AAEO,MAAM,mBAAmB;AAAA,EAG/B,QAAQ;AAAA,EACR,OAAO;AACR;;"}
1
+ {"version":3,"file":"harmony100.cjs","sources":["../src/components/Sidebar/Widgets/Tasks/utils/taskEvents.ts"],"sourcesContent":["import type { TypesFromMap } from '@utils'\n\nexport const TaskEvents = {\n\tTaskCompleted: 'task_completed',\n\tTaskClosed: 'task_closed',\n\tRefresh: 'refresh',\n\tShowDialog: 'show_dialog',\n} as const\n\nexport type TaskEvent = TypesFromMap<typeof TaskEvents>\n\ntype SingleTaskPayload = {\n\ttaskId: string | number\n}\n\ntype DispatchTaskEventPayload =\n\t| {\n\t\t\tname: typeof TaskEvents.TaskCompleted\n\t\t\tdetail: SingleTaskPayload\n\t }\n\t| {\n\t\t\tname: typeof TaskEvents.TaskClosed\n\t\t\tdetail: SingleTaskPayload\n\t }\n\t| {\n\t\t\tname: typeof TaskEvents.Refresh\n\t }\n\t| {\n\t\t\tname: typeof TaskEvents.ShowDialog\n\t }\n\nexport const dispatchTaskEvent = (props: DispatchTaskEventPayload) => {\n\tconst { name } = props\n\tdocument.dispatchEvent(new CustomEvent(name, { detail: 'detail' in props ? props.detail : {} }))\n}\n"],"names":[],"mappings":";;AAEO,MAAM,aAAa;AAAA,EACzB,eAAe;AAAA,EACf,YAAY;AAAA,EACZ,SAAS;AAAA,EACT,YAAY;AACb;;"}
@@ -1,8 +1,10 @@
1
- const SidebarTeamRoles = {
2
- biller: "biller",
3
- owner: "owner"
1
+ const TaskEvents = {
2
+ TaskCompleted: "task_completed",
3
+ TaskClosed: "task_closed",
4
+ Refresh: "refresh",
5
+ ShowDialog: "show_dialog"
4
6
  };
5
7
  export {
6
- SidebarTeamRoles
8
+ TaskEvents
7
9
  };
8
10
  //# sourceMappingURL=harmony100.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"harmony100.mjs","sources":["../src/components/Sidebar/types.ts"],"sourcesContent":["import type { TypesFromMap } from '@utils'\n\nexport const SidebarTeamRoles = {\n\tmember: 'member',\n\tadmin: 'admin',\n\tbiller: 'biller',\n\towner: 'owner',\n} as const\n\nexport type SidebarTeamRole = TypesFromMap<typeof SidebarTeamRoles>\n\nexport type SidebarTeam = {\n\tid: number\n\tname: string\n\trole: SidebarTeamRole\n\tlogo_Url: string\n}\n"],"names":[],"mappings":"AAEO,MAAM,mBAAmB;AAAA,EAG/B,QAAQ;AAAA,EACR,OAAO;AACR;"}
1
+ {"version":3,"file":"harmony100.mjs","sources":["../src/components/Sidebar/Widgets/Tasks/utils/taskEvents.ts"],"sourcesContent":["import type { TypesFromMap } from '@utils'\n\nexport const TaskEvents = {\n\tTaskCompleted: 'task_completed',\n\tTaskClosed: 'task_closed',\n\tRefresh: 'refresh',\n\tShowDialog: 'show_dialog',\n} as const\n\nexport type TaskEvent = TypesFromMap<typeof TaskEvents>\n\ntype SingleTaskPayload = {\n\ttaskId: string | number\n}\n\ntype DispatchTaskEventPayload =\n\t| {\n\t\t\tname: typeof TaskEvents.TaskCompleted\n\t\t\tdetail: SingleTaskPayload\n\t }\n\t| {\n\t\t\tname: typeof TaskEvents.TaskClosed\n\t\t\tdetail: SingleTaskPayload\n\t }\n\t| {\n\t\t\tname: typeof TaskEvents.Refresh\n\t }\n\t| {\n\t\t\tname: typeof TaskEvents.ShowDialog\n\t }\n\nexport const dispatchTaskEvent = (props: DispatchTaskEventPayload) => {\n\tconst { name } = props\n\tdocument.dispatchEvent(new CustomEvent(name, { detail: 'detail' in props ? props.detail : {} }))\n}\n"],"names":[],"mappings":"AAEO,MAAM,aAAa;AAAA,EACzB,eAAe;AAAA,EACf,YAAY;AAAA,EACZ,SAAS;AAAA,EACT,YAAY;AACb;"}
@@ -1,9 +1,19 @@
1
1
  "use strict";
2
- Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
3
- const iconContainer = "_iconContainer_nz34m_1";
4
- const styles = {
5
- iconContainer
6
- };
7
- exports.default = styles;
8
- exports.iconContainer = iconContainer;
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ function buildGetRoute(params) {
4
+ return {
5
+ isEmptyResponseExpected: params.isEmptyResponseExpected ?? false,
6
+ isNonJSONResponseExpected: params.isNonJSONResponseExpected ?? false,
7
+ method: "get",
8
+ pathResolver: params.pathResolver,
9
+ requestHeaderSchema: params.requestHeaderSchema,
10
+ requestPathParamsSchema: params.requestPathParamsSchema,
11
+ requestQuerySchema: params.requestQuerySchema,
12
+ successResponseBodySchema: params.successResponseBodySchema,
13
+ description: params.description,
14
+ responseSchemasByStatusCode: params.responseSchemasByStatusCode,
15
+ metadata: params.metadata
16
+ };
17
+ }
18
+ exports.buildGetRoute = buildGetRoute;
9
19
  //# sourceMappingURL=harmony103.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"harmony103.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;"}
1
+ {"version":3,"file":"harmony103.cjs","sources":["../node_modules/@lokalise/universal-ts-utils/dist/public/api-contracts/apiContracts.js"],"sourcesContent":["const EMPTY_PARAMS = {};\nexport function buildPayloadRoute(params) {\n return {\n isEmptyResponseExpected: params.isEmptyResponseExpected ?? false,\n isNonJSONResponseExpected: params.isNonJSONResponseExpected ?? false,\n method: params.method,\n pathResolver: params.pathResolver,\n requestBodySchema: params.requestBodySchema,\n requestHeaderSchema: params.requestHeaderSchema,\n requestPathParamsSchema: params.requestPathParamsSchema,\n requestQuerySchema: params.requestQuerySchema,\n successResponseBodySchema: params.successResponseBodySchema,\n description: params.description,\n responseSchemasByStatusCode: params.responseSchemasByStatusCode,\n metadata: params.metadata,\n };\n}\nexport function buildGetRoute(params) {\n return {\n isEmptyResponseExpected: params.isEmptyResponseExpected ?? false,\n isNonJSONResponseExpected: params.isNonJSONResponseExpected ?? false,\n method: 'get',\n pathResolver: params.pathResolver,\n requestHeaderSchema: params.requestHeaderSchema,\n requestPathParamsSchema: params.requestPathParamsSchema,\n requestQuerySchema: params.requestQuerySchema,\n successResponseBodySchema: params.successResponseBodySchema,\n description: params.description,\n responseSchemasByStatusCode: params.responseSchemasByStatusCode,\n metadata: params.metadata,\n };\n}\nexport function buildDeleteRoute(params) {\n return {\n isEmptyResponseExpected: params.isEmptyResponseExpected ?? true,\n isNonJSONResponseExpected: params.isNonJSONResponseExpected ?? false,\n method: 'delete',\n pathResolver: params.pathResolver,\n requestHeaderSchema: params.requestHeaderSchema,\n requestPathParamsSchema: params.requestPathParamsSchema,\n requestQuerySchema: params.requestQuerySchema,\n successResponseBodySchema: params.successResponseBodySchema,\n description: params.description,\n responseSchemasByStatusCode: params.responseSchemasByStatusCode,\n metadata: params.metadata,\n };\n}\n/**\n * This method maps given route definition to a string of the format '/static-path-part/:path-param-value'\n */\nexport function mapRouteToPath(\n// biome-ignore lint/suspicious/noExplicitAny: We don't care about types here, we just need Zod schema\nrouteDefinition) {\n if (!routeDefinition.requestPathParamsSchema) {\n return routeDefinition.pathResolver(EMPTY_PARAMS);\n }\n const shape = routeDefinition.requestPathParamsSchema.shape;\n const resolverParams = {};\n for (const key of Object.keys(shape)) {\n resolverParams[key] = `:${key}`;\n }\n return routeDefinition.pathResolver(resolverParams);\n}\n//# sourceMappingURL=apiContracts.js.map"],"names":[],"mappings":";;AAiBO,SAAS,cAAc,QAAQ;AAClC,SAAO;AAAA,IACH,yBAAyB,OAAO,2BAA2B;AAAA,IAC3D,2BAA2B,OAAO,6BAA6B;AAAA,IAC/D,QAAQ;AAAA,IACR,cAAc,OAAO;AAAA,IACrB,qBAAqB,OAAO;AAAA,IAC5B,yBAAyB,OAAO;AAAA,IAChC,oBAAoB,OAAO;AAAA,IAC3B,2BAA2B,OAAO;AAAA,IAClC,aAAa,OAAO;AAAA,IACpB,6BAA6B,OAAO;AAAA,IACpC,UAAU,OAAO;AAAA,EACpB;AACL;;","x_google_ignoreList":[0]}
@@ -1,9 +1,19 @@
1
- const iconContainer = "_iconContainer_nz34m_1";
2
- const styles = {
3
- iconContainer
4
- };
1
+ function buildGetRoute(params) {
2
+ return {
3
+ isEmptyResponseExpected: params.isEmptyResponseExpected ?? false,
4
+ isNonJSONResponseExpected: params.isNonJSONResponseExpected ?? false,
5
+ method: "get",
6
+ pathResolver: params.pathResolver,
7
+ requestHeaderSchema: params.requestHeaderSchema,
8
+ requestPathParamsSchema: params.requestPathParamsSchema,
9
+ requestQuerySchema: params.requestQuerySchema,
10
+ successResponseBodySchema: params.successResponseBodySchema,
11
+ description: params.description,
12
+ responseSchemasByStatusCode: params.responseSchemasByStatusCode,
13
+ metadata: params.metadata
14
+ };
15
+ }
5
16
  export {
6
- styles as default,
7
- iconContainer
17
+ buildGetRoute
8
18
  };
9
19
  //# sourceMappingURL=harmony103.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"harmony103.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;"}
1
+ {"version":3,"file":"harmony103.mjs","sources":["../node_modules/@lokalise/universal-ts-utils/dist/public/api-contracts/apiContracts.js"],"sourcesContent":["const EMPTY_PARAMS = {};\nexport function buildPayloadRoute(params) {\n return {\n isEmptyResponseExpected: params.isEmptyResponseExpected ?? false,\n isNonJSONResponseExpected: params.isNonJSONResponseExpected ?? false,\n method: params.method,\n pathResolver: params.pathResolver,\n requestBodySchema: params.requestBodySchema,\n requestHeaderSchema: params.requestHeaderSchema,\n requestPathParamsSchema: params.requestPathParamsSchema,\n requestQuerySchema: params.requestQuerySchema,\n successResponseBodySchema: params.successResponseBodySchema,\n description: params.description,\n responseSchemasByStatusCode: params.responseSchemasByStatusCode,\n metadata: params.metadata,\n };\n}\nexport function buildGetRoute(params) {\n return {\n isEmptyResponseExpected: params.isEmptyResponseExpected ?? false,\n isNonJSONResponseExpected: params.isNonJSONResponseExpected ?? false,\n method: 'get',\n pathResolver: params.pathResolver,\n requestHeaderSchema: params.requestHeaderSchema,\n requestPathParamsSchema: params.requestPathParamsSchema,\n requestQuerySchema: params.requestQuerySchema,\n successResponseBodySchema: params.successResponseBodySchema,\n description: params.description,\n responseSchemasByStatusCode: params.responseSchemasByStatusCode,\n metadata: params.metadata,\n };\n}\nexport function buildDeleteRoute(params) {\n return {\n isEmptyResponseExpected: params.isEmptyResponseExpected ?? true,\n isNonJSONResponseExpected: params.isNonJSONResponseExpected ?? false,\n method: 'delete',\n pathResolver: params.pathResolver,\n requestHeaderSchema: params.requestHeaderSchema,\n requestPathParamsSchema: params.requestPathParamsSchema,\n requestQuerySchema: params.requestQuerySchema,\n successResponseBodySchema: params.successResponseBodySchema,\n description: params.description,\n responseSchemasByStatusCode: params.responseSchemasByStatusCode,\n metadata: params.metadata,\n };\n}\n/**\n * This method maps given route definition to a string of the format '/static-path-part/:path-param-value'\n */\nexport function mapRouteToPath(\n// biome-ignore lint/suspicious/noExplicitAny: We don't care about types here, we just need Zod schema\nrouteDefinition) {\n if (!routeDefinition.requestPathParamsSchema) {\n return routeDefinition.pathResolver(EMPTY_PARAMS);\n }\n const shape = routeDefinition.requestPathParamsSchema.shape;\n const resolverParams = {};\n for (const key of Object.keys(shape)) {\n resolverParams[key] = `:${key}`;\n }\n return routeDefinition.pathResolver(resolverParams);\n}\n//# sourceMappingURL=apiContracts.js.map"],"names":[],"mappings":"AAiBO,SAAS,cAAc,QAAQ;AAClC,SAAO;AAAA,IACH,yBAAyB,OAAO,2BAA2B;AAAA,IAC3D,2BAA2B,OAAO,6BAA6B;AAAA,IAC/D,QAAQ;AAAA,IACR,cAAc,OAAO;AAAA,IACrB,qBAAqB,OAAO;AAAA,IAC5B,yBAAyB,OAAO;AAAA,IAChC,oBAAoB,OAAO;AAAA,IAC3B,2BAA2B,OAAO;AAAA,IAClC,aAAa,OAAO;AAAA,IACpB,6BAA6B,OAAO;AAAA,IACpC,UAAU,OAAO;AAAA,EACpB;AACL;","x_google_ignoreList":[0]}
@@ -1,19 +1,9 @@
1
1
  "use strict";
2
- Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- function buildGetRoute(params) {
4
- return {
5
- isEmptyResponseExpected: params.isEmptyResponseExpected ?? false,
6
- isNonJSONResponseExpected: params.isNonJSONResponseExpected ?? false,
7
- method: "get",
8
- pathResolver: params.pathResolver,
9
- requestHeaderSchema: params.requestHeaderSchema,
10
- requestPathParamsSchema: params.requestPathParamsSchema,
11
- requestQuerySchema: params.requestQuerySchema,
12
- successResponseBodySchema: params.successResponseBodySchema,
13
- description: params.description,
14
- responseSchemasByStatusCode: params.responseSchemasByStatusCode,
15
- metadata: params.metadata
16
- };
17
- }
18
- exports.buildGetRoute = buildGetRoute;
2
+ Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
3
+ const iconContainer = "_iconContainer_nz34m_1";
4
+ const styles = {
5
+ iconContainer
6
+ };
7
+ exports.default = styles;
8
+ exports.iconContainer = iconContainer;
19
9
  //# sourceMappingURL=harmony104.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"harmony104.cjs","sources":["../node_modules/@lokalise/universal-ts-utils/dist/public/api-contracts/apiContracts.js"],"sourcesContent":["const EMPTY_PARAMS = {};\nexport function buildPayloadRoute(params) {\n return {\n isEmptyResponseExpected: params.isEmptyResponseExpected ?? false,\n isNonJSONResponseExpected: params.isNonJSONResponseExpected ?? false,\n method: params.method,\n pathResolver: params.pathResolver,\n requestBodySchema: params.requestBodySchema,\n requestHeaderSchema: params.requestHeaderSchema,\n requestPathParamsSchema: params.requestPathParamsSchema,\n requestQuerySchema: params.requestQuerySchema,\n successResponseBodySchema: params.successResponseBodySchema,\n description: params.description,\n responseSchemasByStatusCode: params.responseSchemasByStatusCode,\n metadata: params.metadata,\n };\n}\nexport function buildGetRoute(params) {\n return {\n isEmptyResponseExpected: params.isEmptyResponseExpected ?? false,\n isNonJSONResponseExpected: params.isNonJSONResponseExpected ?? false,\n method: 'get',\n pathResolver: params.pathResolver,\n requestHeaderSchema: params.requestHeaderSchema,\n requestPathParamsSchema: params.requestPathParamsSchema,\n requestQuerySchema: params.requestQuerySchema,\n successResponseBodySchema: params.successResponseBodySchema,\n description: params.description,\n responseSchemasByStatusCode: params.responseSchemasByStatusCode,\n metadata: params.metadata,\n };\n}\nexport function buildDeleteRoute(params) {\n return {\n isEmptyResponseExpected: params.isEmptyResponseExpected ?? true,\n isNonJSONResponseExpected: params.isNonJSONResponseExpected ?? false,\n method: 'delete',\n pathResolver: params.pathResolver,\n requestHeaderSchema: params.requestHeaderSchema,\n requestPathParamsSchema: params.requestPathParamsSchema,\n requestQuerySchema: params.requestQuerySchema,\n successResponseBodySchema: params.successResponseBodySchema,\n description: params.description,\n responseSchemasByStatusCode: params.responseSchemasByStatusCode,\n metadata: params.metadata,\n };\n}\n/**\n * This method maps given route definition to a string of the format '/static-path-part/:path-param-value'\n */\nexport function mapRouteToPath(\n// biome-ignore lint/suspicious/noExplicitAny: We don't care about types here, we just need Zod schema\nrouteDefinition) {\n if (!routeDefinition.requestPathParamsSchema) {\n return routeDefinition.pathResolver(EMPTY_PARAMS);\n }\n const shape = routeDefinition.requestPathParamsSchema.shape;\n const resolverParams = {};\n for (const key of Object.keys(shape)) {\n resolverParams[key] = `:${key}`;\n }\n return routeDefinition.pathResolver(resolverParams);\n}\n//# sourceMappingURL=apiContracts.js.map"],"names":[],"mappings":";;AAiBO,SAAS,cAAc,QAAQ;AAClC,SAAO;AAAA,IACH,yBAAyB,OAAO,2BAA2B;AAAA,IAC3D,2BAA2B,OAAO,6BAA6B;AAAA,IAC/D,QAAQ;AAAA,IACR,cAAc,OAAO;AAAA,IACrB,qBAAqB,OAAO;AAAA,IAC5B,yBAAyB,OAAO;AAAA,IAChC,oBAAoB,OAAO;AAAA,IAC3B,2BAA2B,OAAO;AAAA,IAClC,aAAa,OAAO;AAAA,IACpB,6BAA6B,OAAO;AAAA,IACpC,UAAU,OAAO;AAAA,EACpB;AACL;;","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"harmony104.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;"}
@@ -1,19 +1,9 @@
1
- function buildGetRoute(params) {
2
- return {
3
- isEmptyResponseExpected: params.isEmptyResponseExpected ?? false,
4
- isNonJSONResponseExpected: params.isNonJSONResponseExpected ?? false,
5
- method: "get",
6
- pathResolver: params.pathResolver,
7
- requestHeaderSchema: params.requestHeaderSchema,
8
- requestPathParamsSchema: params.requestPathParamsSchema,
9
- requestQuerySchema: params.requestQuerySchema,
10
- successResponseBodySchema: params.successResponseBodySchema,
11
- description: params.description,
12
- responseSchemasByStatusCode: params.responseSchemasByStatusCode,
13
- metadata: params.metadata
14
- };
15
- }
1
+ const iconContainer = "_iconContainer_nz34m_1";
2
+ const styles = {
3
+ iconContainer
4
+ };
16
5
  export {
17
- buildGetRoute
6
+ styles as default,
7
+ iconContainer
18
8
  };
19
9
  //# sourceMappingURL=harmony104.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"harmony104.mjs","sources":["../node_modules/@lokalise/universal-ts-utils/dist/public/api-contracts/apiContracts.js"],"sourcesContent":["const EMPTY_PARAMS = {};\nexport function buildPayloadRoute(params) {\n return {\n isEmptyResponseExpected: params.isEmptyResponseExpected ?? false,\n isNonJSONResponseExpected: params.isNonJSONResponseExpected ?? false,\n method: params.method,\n pathResolver: params.pathResolver,\n requestBodySchema: params.requestBodySchema,\n requestHeaderSchema: params.requestHeaderSchema,\n requestPathParamsSchema: params.requestPathParamsSchema,\n requestQuerySchema: params.requestQuerySchema,\n successResponseBodySchema: params.successResponseBodySchema,\n description: params.description,\n responseSchemasByStatusCode: params.responseSchemasByStatusCode,\n metadata: params.metadata,\n };\n}\nexport function buildGetRoute(params) {\n return {\n isEmptyResponseExpected: params.isEmptyResponseExpected ?? false,\n isNonJSONResponseExpected: params.isNonJSONResponseExpected ?? false,\n method: 'get',\n pathResolver: params.pathResolver,\n requestHeaderSchema: params.requestHeaderSchema,\n requestPathParamsSchema: params.requestPathParamsSchema,\n requestQuerySchema: params.requestQuerySchema,\n successResponseBodySchema: params.successResponseBodySchema,\n description: params.description,\n responseSchemasByStatusCode: params.responseSchemasByStatusCode,\n metadata: params.metadata,\n };\n}\nexport function buildDeleteRoute(params) {\n return {\n isEmptyResponseExpected: params.isEmptyResponseExpected ?? true,\n isNonJSONResponseExpected: params.isNonJSONResponseExpected ?? false,\n method: 'delete',\n pathResolver: params.pathResolver,\n requestHeaderSchema: params.requestHeaderSchema,\n requestPathParamsSchema: params.requestPathParamsSchema,\n requestQuerySchema: params.requestQuerySchema,\n successResponseBodySchema: params.successResponseBodySchema,\n description: params.description,\n responseSchemasByStatusCode: params.responseSchemasByStatusCode,\n metadata: params.metadata,\n };\n}\n/**\n * This method maps given route definition to a string of the format '/static-path-part/:path-param-value'\n */\nexport function mapRouteToPath(\n// biome-ignore lint/suspicious/noExplicitAny: We don't care about types here, we just need Zod schema\nrouteDefinition) {\n if (!routeDefinition.requestPathParamsSchema) {\n return routeDefinition.pathResolver(EMPTY_PARAMS);\n }\n const shape = routeDefinition.requestPathParamsSchema.shape;\n const resolverParams = {};\n for (const key of Object.keys(shape)) {\n resolverParams[key] = `:${key}`;\n }\n return routeDefinition.pathResolver(resolverParams);\n}\n//# sourceMappingURL=apiContracts.js.map"],"names":[],"mappings":"AAiBO,SAAS,cAAc,QAAQ;AAClC,SAAO;AAAA,IACH,yBAAyB,OAAO,2BAA2B;AAAA,IAC3D,2BAA2B,OAAO,6BAA6B;AAAA,IAC/D,QAAQ;AAAA,IACR,cAAc,OAAO;AAAA,IACrB,qBAAqB,OAAO;AAAA,IAC5B,yBAAyB,OAAO;AAAA,IAChC,oBAAoB,OAAO;AAAA,IAC3B,2BAA2B,OAAO;AAAA,IAClC,aAAa,OAAO;AAAA,IACpB,6BAA6B,OAAO;AAAA,IACpC,UAAU,OAAO;AAAA,EACpB;AACL;","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"harmony104.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;"}
@@ -8,7 +8,7 @@ const date = require("./harmony10.cjs");
8
8
  const dateFns = require("date-fns");
9
9
  const index = require("./harmony115.cjs");
10
10
  const TaskLanguage = require("./harmony116.cjs");
11
- const TasksContext = require("./harmony95.cjs");
11
+ const TasksContext = require("./harmony97.cjs");
12
12
  const content = require("./harmony117.cjs");
13
13
  const TaskOverview_module = require("./harmony118.cjs");
14
14
  const TaskOverview = ({ task }) => {
@@ -6,7 +6,7 @@ import { formatDate } from "./harmony10.mjs";
6
6
  import { parseISO } from "date-fns";
7
7
  import { splitFileName } from "./harmony115.mjs";
8
8
  import { TaskLanguage } from "./harmony116.mjs";
9
- import { useTasks } from "./harmony95.mjs";
9
+ import { useTasks } from "./harmony97.mjs";
10
10
  import { getTaskLanguages, tagColor } from "./harmony117.mjs";
11
11
  import styles from "./harmony118.mjs";
12
12
  const TaskOverview = ({ task }) => {
@@ -6,7 +6,7 @@ const content = require("./harmony117.cjs");
6
6
  const types = require("./harmony2.cjs");
7
7
  const clsx = require("./harmony62.cjs");
8
8
  const TaskLanguageCompleted = require("./harmony126.cjs");
9
- const TasksContext = require("./harmony95.cjs");
9
+ const TasksContext = require("./harmony97.cjs");
10
10
  const TaskLanguage_module = require("./harmony127.cjs");
11
11
  const TaskLanguage = ({ language, task }) => {
12
12
  const { getProjectUrl, langNameOnClick, langProgressOnClick } = TasksContext.useTasks();
@@ -4,7 +4,7 @@ import { isLanguageProgressCompleted, getStatusText } from "./harmony117.mjs";
4
4
  import { SidebarTaskLanguageStatuses } from "./harmony2.mjs";
5
5
  import { clsx } from "./harmony62.mjs";
6
6
  import { TaskLanguageCompleted } from "./harmony126.mjs";
7
- import { useTasks } from "./harmony95.mjs";
7
+ import { useTasks } from "./harmony97.mjs";
8
8
  import styles from "./harmony127.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("./harmony95.cjs");
6
+ const TasksContext = require("./harmony97.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 "./harmony95.mjs";
4
+ import { useTasks } from "./harmony97.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 apiContracts = require("./harmony104.cjs");
3
+ const apiContracts = require("./harmony103.cjs");
4
4
  const scoreTypes = require("./harmony56.cjs");
5
5
  const sharedTypes = require("./harmony57.cjs");
6
6
  const getScore = apiContracts.buildGetRoute({
@@ -1,4 +1,4 @@
1
- import { buildGetRoute } from "./harmony104.mjs";
1
+ import { buildGetRoute } from "./harmony103.mjs";
2
2
  import { GET_SCORE_RESPONSE_SCHEMA, GET_SCORE_REQUEST_QUERY_SCHEMA } from "./harmony56.mjs";
3
3
  import { BASE_API_ENDPOINT_HEADER_SCHEMA } from "./harmony57.mjs";
4
4
  const getScore = buildGetRoute({
@@ -1 +1 @@
1
- {"version":3,"file":"harmony71.cjs","sources":["../src/components/Sidebar/Widgets/ProfileMenu/TeamMenuItem/TeamMenuItem.tsx"],"sourcesContent":["import { MenuItem, UserIcon } from '@lokalise/louis'\nimport { isFreePlan, isTrialPlan } from '@utils'\nimport type { SidebarTeam } from '../../../types'\nimport { useProfileMenu } from '../ProfileMenuContext'\nimport styles from './TeamMenuItem.module.css'\n\ntype TeamMenuItemProps = {\n\t/** Team to display. If not provided, uses the current team from context */\n\tteam?: SidebarTeam\n\t/** Callback for when the team item is clicked. If provided, renders as a clickable MenuItem */\n\tonClick?: (team: SidebarTeam) => void\n\t/** Whether to hide the plan label (Free/Trial). Useful when displaying multiple teams */\n\thidePlanLabel?: boolean\n}\n\n/**\n * A component that displays team information in a menu item format.\n * Renders team logo (or default user icon), team name, role, and plan label.\n *\n * The component can be used in two modes:\n * 1. As a static display of the current team (when no onClick handler is provided)\n * 2. As a clickable menu item for team switching (when onClick handler is provided)\n *\n * @example\n * ```tsx\n * // Static current team display\n * <TeamMenuItem />\n *\n * // Clickable team item for switching\n * <TeamMenuItem\n * team={someTeam}\n * onClick={(team) => handleTeamSwitch(team)}\n * hidePlanLabel\n * />\n * ```\n *\n * @note This component must be used within a ProfileMenu component\n * as it requires access to the ProfileMenu context for current team\n * and plan information.\n */\nexport const TeamMenuItem = ({ team, onClick, hidePlanLabel }: TeamMenuItemProps) => {\n\tconst { currentTeam, planId } = useProfileMenu()\n\n\tconst contextTeam = team || currentTeam\n\n\tif (!contextTeam) {\n\t\treturn null\n\t}\n\n\tconst planLabel = isFreePlan(planId) ? 'Free' : isTrialPlan(planId) ? 'Trial' : undefined\n\n\tconst WrapperNode = onClick ? MenuItem : 'div'\n\n\treturn (\n\t\t<WrapperNode\n\t\t\tclassName={styles.wrapper}\n\t\t\t{...(onClick && { onClick: () => onClick(contextTeam) })}\n\t\t>\n\t\t\t{contextTeam.logoUrl ? (\n\t\t\t\t<img className={styles.profileImage} src={contextTeam.logoUrl} alt=\"Team logo\" />\n\t\t\t) : (\n\t\t\t\t<span className={`${styles.defaultProfileImage}`}>\n\t\t\t\t\t<UserIcon size=\"25px\" />\n\t\t\t\t</span>\n\t\t\t)}\n\t\t\t<div className={styles.teamDetails}>\n\t\t\t\t<div className={styles.planWrapper}>\n\t\t\t\t\t<span title={contextTeam.name} className={styles.teamName}>\n\t\t\t\t\t\t{contextTeam.name}\n\t\t\t\t\t</span>\n\t\t\t\t\t{planLabel && !hidePlanLabel && <span className={styles.teamName}>{planLabel}</span>}\n\t\t\t\t</div>\n\t\t\t\t<span className={styles.membership}>{contextTeam.role}</span>\n\t\t\t</div>\n\t\t</WrapperNode>\n\t)\n}\n"],"names":["useProfileMenu","isFreePlan","isTrialPlan","MenuItem","jsxs","styles","jsx","UserIcon"],"mappings":";;;;;;;AAwCO,MAAM,eAAe,CAAC,EAAE,MAAM,SAAS,oBAAuC;AACpF,QAAM,EAAE,aAAa,OAAO,IAAIA,kCAAe;AAE/C,QAAM,cAAc,QAAQ;AAE5B,MAAI,CAAC,aAAa;AACV,WAAA;AAAA,EAAA;AAGF,QAAA,YAAYC,gBAAW,MAAM,IAAI,SAASC,iBAAY,MAAM,IAAI,UAAU;AAE1E,QAAA,cAAc,UAAUC,MAAAA,WAAW;AAGxC,SAAAC,2BAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACA,WAAWC,oBAAO,QAAA;AAAA,MACjB,GAAI,WAAW,EAAE,SAAS,MAAM,QAAQ,WAAW,EAAE;AAAA,MAErD,UAAA;AAAA,QAAY,YAAA,yCACX,OAAI,EAAA,WAAWA,oBAAAA,QAAO,cAAc,KAAK,YAAY,SAAS,KAAI,YAAA,CAAY,IAE9EC,+BAAA,QAAA,EAAK,WAAW,GAAGD,oBAAO,QAAA,mBAAmB,IAC7C,UAACC,2BAAAA,IAAAC,MAAAA,UAAA,EAAS,MAAK,OAAA,CAAO,EACvB,CAAA;AAAA,QAEAH,2BAAA,KAAA,OAAA,EAAI,WAAWC,oBAAAA,QAAO,aACtB,UAAA;AAAA,UAACD,2BAAA,KAAA,OAAA,EAAI,WAAWC,oBAAAA,QAAO,aACtB,UAAA;AAAA,YAACC,2BAAAA,IAAA,QAAA,EAAK,OAAO,YAAY,MAAM,WAAWD,oBAAAA,QAAO,UAC/C,sBAAY,KACd,CAAA;AAAA,YACC,aAAa,CAAC,iBAAiBC,2BAAAA,IAAC,UAAK,WAAWD,4BAAO,UAAW,UAAU,UAAA,CAAA;AAAA,UAAA,GAC9E;AAAA,yCACC,QAAK,EAAA,WAAWA,oBAAAA,QAAO,YAAa,sBAAY,KAAK,CAAA;AAAA,QAAA,EACvD,CAAA;AAAA,MAAA;AAAA,IAAA;AAAA,EACD;AAEF;;"}
1
+ {"version":3,"file":"harmony71.cjs","sources":["../src/components/Sidebar/Widgets/ProfileMenu/TeamMenuItem/TeamMenuItem.tsx"],"sourcesContent":["import { MenuItem, UserIcon } from '@lokalise/louis'\nimport { isFreePlan, isTrialPlan } from '../../../../../utils/billing/plan/plan'\nimport type { SidebarTeam } from '../../../types'\nimport { useProfileMenu } from '../ProfileMenuContext'\nimport styles from './TeamMenuItem.module.css'\n\ntype TeamMenuItemProps = {\n\t/** Team to display. If not provided, uses the current team from context */\n\tteam?: SidebarTeam\n\t/** Callback for when the team item is clicked. If provided, renders as a clickable MenuItem */\n\tonClick?: (team: SidebarTeam) => void\n\t/** Whether to hide the plan label (Free/Trial). Useful when displaying multiple teams */\n\thidePlanLabel?: boolean\n}\n\n/**\n * A component that displays team information in a menu item format.\n * Renders team logo (or default user icon), team name, role, and plan label.\n *\n * The component can be used in two modes:\n * 1. As a static display of the current team (when no onClick handler is provided)\n * 2. As a clickable menu item for team switching (when onClick handler is provided)\n *\n * @example\n * ```tsx\n * // Static current team display\n * <TeamMenuItem />\n *\n * // Clickable team item for switching\n * <TeamMenuItem\n * team={someTeam}\n * onClick={(team) => handleTeamSwitch(team)}\n * hidePlanLabel\n * />\n * ```\n *\n * @note This component must be used within a ProfileMenu component\n * as it requires access to the ProfileMenu context for current team\n * and plan information.\n */\nexport const TeamMenuItem = ({ team, onClick, hidePlanLabel }: TeamMenuItemProps) => {\n\tconst { currentTeam, planId } = useProfileMenu()\n\n\tconst contextTeam = team || currentTeam\n\n\tif (!contextTeam) {\n\t\treturn null\n\t}\n\n\tconst planLabel = isFreePlan(planId) ? 'Free' : isTrialPlan(planId) ? 'Trial' : undefined\n\n\tconst WrapperNode = onClick ? MenuItem : 'div'\n\n\treturn (\n\t\t<WrapperNode\n\t\t\tclassName={styles.wrapper}\n\t\t\t{...(onClick && { onClick: () => onClick(contextTeam) })}\n\t\t>\n\t\t\t{contextTeam.logoUrl ? (\n\t\t\t\t<img className={styles.profileImage} src={contextTeam.logoUrl} alt=\"Team logo\" />\n\t\t\t) : (\n\t\t\t\t<span className={`${styles.defaultProfileImage}`}>\n\t\t\t\t\t<UserIcon size=\"25px\" />\n\t\t\t\t</span>\n\t\t\t)}\n\t\t\t<div className={styles.teamDetails}>\n\t\t\t\t<div className={styles.planWrapper}>\n\t\t\t\t\t<span title={contextTeam.name} className={styles.teamName}>\n\t\t\t\t\t\t{contextTeam.name}\n\t\t\t\t\t</span>\n\t\t\t\t\t{planLabel && !hidePlanLabel && <span className={styles.teamName}>{planLabel}</span>}\n\t\t\t\t</div>\n\t\t\t\t<span className={styles.membership}>{contextTeam.role}</span>\n\t\t\t</div>\n\t\t</WrapperNode>\n\t)\n}\n"],"names":["useProfileMenu","isFreePlan","isTrialPlan","MenuItem","jsxs","styles","jsx","UserIcon"],"mappings":";;;;;;;AAwCO,MAAM,eAAe,CAAC,EAAE,MAAM,SAAS,oBAAuC;AACpF,QAAM,EAAE,aAAa,OAAO,IAAIA,kCAAe;AAE/C,QAAM,cAAc,QAAQ;AAE5B,MAAI,CAAC,aAAa;AACV,WAAA;AAAA,EAAA;AAGF,QAAA,YAAYC,gBAAW,MAAM,IAAI,SAASC,iBAAY,MAAM,IAAI,UAAU;AAE1E,QAAA,cAAc,UAAUC,MAAAA,WAAW;AAGxC,SAAAC,2BAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACA,WAAWC,oBAAO,QAAA;AAAA,MACjB,GAAI,WAAW,EAAE,SAAS,MAAM,QAAQ,WAAW,EAAE;AAAA,MAErD,UAAA;AAAA,QAAY,YAAA,yCACX,OAAI,EAAA,WAAWA,oBAAAA,QAAO,cAAc,KAAK,YAAY,SAAS,KAAI,YAAA,CAAY,IAE9EC,+BAAA,QAAA,EAAK,WAAW,GAAGD,oBAAO,QAAA,mBAAmB,IAC7C,UAACC,2BAAAA,IAAAC,MAAAA,UAAA,EAAS,MAAK,OAAA,CAAO,EACvB,CAAA;AAAA,QAEAH,2BAAA,KAAA,OAAA,EAAI,WAAWC,oBAAAA,QAAO,aACtB,UAAA;AAAA,UAACD,2BAAA,KAAA,OAAA,EAAI,WAAWC,oBAAAA,QAAO,aACtB,UAAA;AAAA,YAACC,2BAAAA,IAAA,QAAA,EAAK,OAAO,YAAY,MAAM,WAAWD,oBAAAA,QAAO,UAC/C,sBAAY,KACd,CAAA;AAAA,YACC,aAAa,CAAC,iBAAiBC,2BAAAA,IAAC,UAAK,WAAWD,4BAAO,UAAW,UAAU,UAAA,CAAA;AAAA,UAAA,GAC9E;AAAA,yCACC,QAAK,EAAA,WAAWA,oBAAAA,QAAO,YAAa,sBAAY,KAAK,CAAA;AAAA,QAAA,EACvD,CAAA;AAAA,MAAA;AAAA,IAAA;AAAA,EACD;AAEF;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"harmony71.mjs","sources":["../src/components/Sidebar/Widgets/ProfileMenu/TeamMenuItem/TeamMenuItem.tsx"],"sourcesContent":["import { MenuItem, UserIcon } from '@lokalise/louis'\nimport { isFreePlan, isTrialPlan } from '@utils'\nimport type { SidebarTeam } from '../../../types'\nimport { useProfileMenu } from '../ProfileMenuContext'\nimport styles from './TeamMenuItem.module.css'\n\ntype TeamMenuItemProps = {\n\t/** Team to display. If not provided, uses the current team from context */\n\tteam?: SidebarTeam\n\t/** Callback for when the team item is clicked. If provided, renders as a clickable MenuItem */\n\tonClick?: (team: SidebarTeam) => void\n\t/** Whether to hide the plan label (Free/Trial). Useful when displaying multiple teams */\n\thidePlanLabel?: boolean\n}\n\n/**\n * A component that displays team information in a menu item format.\n * Renders team logo (or default user icon), team name, role, and plan label.\n *\n * The component can be used in two modes:\n * 1. As a static display of the current team (when no onClick handler is provided)\n * 2. As a clickable menu item for team switching (when onClick handler is provided)\n *\n * @example\n * ```tsx\n * // Static current team display\n * <TeamMenuItem />\n *\n * // Clickable team item for switching\n * <TeamMenuItem\n * team={someTeam}\n * onClick={(team) => handleTeamSwitch(team)}\n * hidePlanLabel\n * />\n * ```\n *\n * @note This component must be used within a ProfileMenu component\n * as it requires access to the ProfileMenu context for current team\n * and plan information.\n */\nexport const TeamMenuItem = ({ team, onClick, hidePlanLabel }: TeamMenuItemProps) => {\n\tconst { currentTeam, planId } = useProfileMenu()\n\n\tconst contextTeam = team || currentTeam\n\n\tif (!contextTeam) {\n\t\treturn null\n\t}\n\n\tconst planLabel = isFreePlan(planId) ? 'Free' : isTrialPlan(planId) ? 'Trial' : undefined\n\n\tconst WrapperNode = onClick ? MenuItem : 'div'\n\n\treturn (\n\t\t<WrapperNode\n\t\t\tclassName={styles.wrapper}\n\t\t\t{...(onClick && { onClick: () => onClick(contextTeam) })}\n\t\t>\n\t\t\t{contextTeam.logoUrl ? (\n\t\t\t\t<img className={styles.profileImage} src={contextTeam.logoUrl} alt=\"Team logo\" />\n\t\t\t) : (\n\t\t\t\t<span className={`${styles.defaultProfileImage}`}>\n\t\t\t\t\t<UserIcon size=\"25px\" />\n\t\t\t\t</span>\n\t\t\t)}\n\t\t\t<div className={styles.teamDetails}>\n\t\t\t\t<div className={styles.planWrapper}>\n\t\t\t\t\t<span title={contextTeam.name} className={styles.teamName}>\n\t\t\t\t\t\t{contextTeam.name}\n\t\t\t\t\t</span>\n\t\t\t\t\t{planLabel && !hidePlanLabel && <span className={styles.teamName}>{planLabel}</span>}\n\t\t\t\t</div>\n\t\t\t\t<span className={styles.membership}>{contextTeam.role}</span>\n\t\t\t</div>\n\t\t</WrapperNode>\n\t)\n}\n"],"names":[],"mappings":";;;;;AAwCO,MAAM,eAAe,CAAC,EAAE,MAAM,SAAS,oBAAuC;AACpF,QAAM,EAAE,aAAa,OAAO,IAAI,eAAe;AAE/C,QAAM,cAAc,QAAQ;AAE5B,MAAI,CAAC,aAAa;AACV,WAAA;AAAA,EAAA;AAGF,QAAA,YAAY,WAAW,MAAM,IAAI,SAAS,YAAY,MAAM,IAAI,UAAU;AAE1E,QAAA,cAAc,UAAU,WAAW;AAGxC,SAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACA,WAAW,OAAO;AAAA,MACjB,GAAI,WAAW,EAAE,SAAS,MAAM,QAAQ,WAAW,EAAE;AAAA,MAErD,UAAA;AAAA,QAAY,YAAA,8BACX,OAAI,EAAA,WAAW,OAAO,cAAc,KAAK,YAAY,SAAS,KAAI,YAAA,CAAY,IAE9E,oBAAA,QAAA,EAAK,WAAW,GAAG,OAAO,mBAAmB,IAC7C,UAAC,oBAAA,UAAA,EAAS,MAAK,OAAA,CAAO,EACvB,CAAA;AAAA,QAEA,qBAAA,OAAA,EAAI,WAAW,OAAO,aACtB,UAAA;AAAA,UAAC,qBAAA,OAAA,EAAI,WAAW,OAAO,aACtB,UAAA;AAAA,YAAC,oBAAA,QAAA,EAAK,OAAO,YAAY,MAAM,WAAW,OAAO,UAC/C,sBAAY,KACd,CAAA;AAAA,YACC,aAAa,CAAC,iBAAiB,oBAAC,UAAK,WAAW,OAAO,UAAW,UAAU,UAAA,CAAA;AAAA,UAAA,GAC9E;AAAA,8BACC,QAAK,EAAA,WAAW,OAAO,YAAa,sBAAY,KAAK,CAAA;AAAA,QAAA,EACvD,CAAA;AAAA,MAAA;AAAA,IAAA;AAAA,EACD;AAEF;"}
1
+ {"version":3,"file":"harmony71.mjs","sources":["../src/components/Sidebar/Widgets/ProfileMenu/TeamMenuItem/TeamMenuItem.tsx"],"sourcesContent":["import { MenuItem, UserIcon } from '@lokalise/louis'\nimport { isFreePlan, isTrialPlan } from '../../../../../utils/billing/plan/plan'\nimport type { SidebarTeam } from '../../../types'\nimport { useProfileMenu } from '../ProfileMenuContext'\nimport styles from './TeamMenuItem.module.css'\n\ntype TeamMenuItemProps = {\n\t/** Team to display. If not provided, uses the current team from context */\n\tteam?: SidebarTeam\n\t/** Callback for when the team item is clicked. If provided, renders as a clickable MenuItem */\n\tonClick?: (team: SidebarTeam) => void\n\t/** Whether to hide the plan label (Free/Trial). Useful when displaying multiple teams */\n\thidePlanLabel?: boolean\n}\n\n/**\n * A component that displays team information in a menu item format.\n * Renders team logo (or default user icon), team name, role, and plan label.\n *\n * The component can be used in two modes:\n * 1. As a static display of the current team (when no onClick handler is provided)\n * 2. As a clickable menu item for team switching (when onClick handler is provided)\n *\n * @example\n * ```tsx\n * // Static current team display\n * <TeamMenuItem />\n *\n * // Clickable team item for switching\n * <TeamMenuItem\n * team={someTeam}\n * onClick={(team) => handleTeamSwitch(team)}\n * hidePlanLabel\n * />\n * ```\n *\n * @note This component must be used within a ProfileMenu component\n * as it requires access to the ProfileMenu context for current team\n * and plan information.\n */\nexport const TeamMenuItem = ({ team, onClick, hidePlanLabel }: TeamMenuItemProps) => {\n\tconst { currentTeam, planId } = useProfileMenu()\n\n\tconst contextTeam = team || currentTeam\n\n\tif (!contextTeam) {\n\t\treturn null\n\t}\n\n\tconst planLabel = isFreePlan(planId) ? 'Free' : isTrialPlan(planId) ? 'Trial' : undefined\n\n\tconst WrapperNode = onClick ? MenuItem : 'div'\n\n\treturn (\n\t\t<WrapperNode\n\t\t\tclassName={styles.wrapper}\n\t\t\t{...(onClick && { onClick: () => onClick(contextTeam) })}\n\t\t>\n\t\t\t{contextTeam.logoUrl ? (\n\t\t\t\t<img className={styles.profileImage} src={contextTeam.logoUrl} alt=\"Team logo\" />\n\t\t\t) : (\n\t\t\t\t<span className={`${styles.defaultProfileImage}`}>\n\t\t\t\t\t<UserIcon size=\"25px\" />\n\t\t\t\t</span>\n\t\t\t)}\n\t\t\t<div className={styles.teamDetails}>\n\t\t\t\t<div className={styles.planWrapper}>\n\t\t\t\t\t<span title={contextTeam.name} className={styles.teamName}>\n\t\t\t\t\t\t{contextTeam.name}\n\t\t\t\t\t</span>\n\t\t\t\t\t{planLabel && !hidePlanLabel && <span className={styles.teamName}>{planLabel}</span>}\n\t\t\t\t</div>\n\t\t\t\t<span className={styles.membership}>{contextTeam.role}</span>\n\t\t\t</div>\n\t\t</WrapperNode>\n\t)\n}\n"],"names":[],"mappings":";;;;;AAwCO,MAAM,eAAe,CAAC,EAAE,MAAM,SAAS,oBAAuC;AACpF,QAAM,EAAE,aAAa,OAAO,IAAI,eAAe;AAE/C,QAAM,cAAc,QAAQ;AAE5B,MAAI,CAAC,aAAa;AACV,WAAA;AAAA,EAAA;AAGF,QAAA,YAAY,WAAW,MAAM,IAAI,SAAS,YAAY,MAAM,IAAI,UAAU;AAE1E,QAAA,cAAc,UAAU,WAAW;AAGxC,SAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACA,WAAW,OAAO;AAAA,MACjB,GAAI,WAAW,EAAE,SAAS,MAAM,QAAQ,WAAW,EAAE;AAAA,MAErD,UAAA;AAAA,QAAY,YAAA,8BACX,OAAI,EAAA,WAAW,OAAO,cAAc,KAAK,YAAY,SAAS,KAAI,YAAA,CAAY,IAE9E,oBAAA,QAAA,EAAK,WAAW,GAAG,OAAO,mBAAmB,IAC7C,UAAC,oBAAA,UAAA,EAAS,MAAK,OAAA,CAAO,EACvB,CAAA;AAAA,QAEA,qBAAA,OAAA,EAAI,WAAW,OAAO,aACtB,UAAA;AAAA,UAAC,qBAAA,OAAA,EAAI,WAAW,OAAO,aACtB,UAAA;AAAA,YAAC,oBAAA,QAAA,EAAK,OAAO,YAAY,MAAM,WAAW,OAAO,UAC/C,sBAAY,KACd,CAAA;AAAA,YACC,aAAa,CAAC,iBAAiB,oBAAC,UAAK,WAAW,OAAO,UAAW,UAAU,UAAA,CAAA;AAAA,UAAA,GAC9E;AAAA,8BACC,QAAK,EAAA,WAAW,OAAO,YAAa,sBAAY,KAAK,CAAA;AAAA,QAAA,EACvD,CAAA;AAAA,MAAA;AAAA,IAAA;AAAA,EACD;AAEF;"}
@@ -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("./harmony93.cjs");
4
+ const floatingUi_core = require("./harmony95.cjs");
5
5
  const louis = require("@lokalise/louis");
6
6
  const useEffectOnce = require("./harmony11.cjs");
7
7
  const clsx = require("./harmony62.cjs");
8
8
  const React = require("react");
9
- const Tasks_module = require("./harmony94.cjs");
10
- const TasksContext = require("./harmony95.cjs");
11
- const TasksPopover = require("./harmony96.cjs");
12
- const TasksProvider = require("./harmony97.cjs");
13
- const taskEvents = require("./harmony98.cjs");
9
+ const Tasks_module = require("./harmony96.cjs");
10
+ const TasksContext = require("./harmony97.cjs");
11
+ const TasksPopover = require("./harmony98.cjs");
12
+ const TasksProvider = require("./harmony99.cjs");
13
+ const taskEvents = require("./harmony100.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 "./harmony93.mjs";
2
+ import { shift } from "./harmony95.mjs";
3
3
  import { Tooltip, Popover, Button, JobIcon } from "@lokalise/louis";
4
4
  import { useEffectOnce } from "./harmony11.mjs";
5
5
  import { clsx } from "./harmony62.mjs";
6
6
  import { useState } from "react";
7
- import styles from "./harmony94.mjs";
8
- import { useTasks } from "./harmony95.mjs";
9
- import { TasksPopover } from "./harmony96.mjs";
10
- import { withTasksContext } from "./harmony97.mjs";
11
- import { TaskEvents } from "./harmony98.mjs";
7
+ import styles from "./harmony96.mjs";
8
+ import { useTasks } from "./harmony97.mjs";
9
+ import { TasksPopover } from "./harmony98.mjs";
10
+ import { withTasksContext } from "./harmony99.mjs";
11
+ import { TaskEvents } from "./harmony100.mjs";
12
12
  const Tasks = withTasksContext(() => {
13
13
  const [open, setOpen] = useState(false);
14
14
  const { tasksCount } = useTasks();
@@ -4,7 +4,7 @@ const jsxRuntime = require("react/jsx-runtime");
4
4
  const louis = require("@lokalise/louis");
5
5
  const clsx = require("./harmony62.cjs");
6
6
  const UpgradeIcon = require("./harmony88.cjs");
7
- const ProfileMenuContent_module = require("./harmony99.cjs");
7
+ const ProfileMenuContent_module = require("./harmony93.cjs");
8
8
  const ProfileMenuContext = require("./harmony84.cjs");
9
9
  const ProfileMenuContent = ({ children }) => {
10
10
  const {
@@ -2,7 +2,7 @@ import { jsx, jsxs } from "react/jsx-runtime";
2
2
  import { Menu, MenuList, UserIcon } from "@lokalise/louis";
3
3
  import { clsx } from "./harmony62.mjs";
4
4
  import { UpgradeIcon } from "./harmony88.mjs";
5
- import styles from "./harmony99.mjs";
5
+ import styles from "./harmony93.mjs";
6
6
  import { useProfileMenu } from "./harmony84.mjs";
7
7
  const ProfileMenuContent = ({ children }) => {
8
8
  const {
@@ -2,11 +2,12 @@
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
3
  const jsxRuntime = require("react/jsx-runtime");
4
4
  const plan = require("./harmony7.cjs");
5
- const types = require("./harmony100.cjs");
5
+ const types = require("./harmony94.cjs");
6
6
  const ProfileMenuContext = require("./harmony84.cjs");
7
7
  const billingRoles = [
8
8
  types.SidebarTeamRoles.biller,
9
- types.SidebarTeamRoles.owner
9
+ types.SidebarTeamRoles.owner,
10
+ types.SidebarTeamRoles.admin
10
11
  ];
11
12
  const ProfileMenuProvider = ({ children, config }) => {
12
13
  const { teams, currentTeamId, planId, isEndOfTrialActive, isFullyAuthenticated, userTeamRole } = config;
@@ -1 +1 @@
1
- {"version":3,"file":"harmony83.cjs","sources":["../src/components/Sidebar/Widgets/ProfileMenu/ProfileMenuProvider.tsx"],"sourcesContent":["import { isFreePlan, isTrialPlan } from '@utils'\nimport type { PropsWithChildren } from 'react'\nimport { type SidebarTeamRole, SidebarTeamRoles } from '../../types'\nimport { ProfileMenuContext } from './ProfileMenuContext'\nimport type { SidebarProfileMenuConfig } from './types'\n\ntype ProfileMenuProviderProps = PropsWithChildren<{\n\tconfig: SidebarProfileMenuConfig\n}>\n\nconst billingRoles: ReadonlyArray<SidebarTeamRole> = [\n\tSidebarTeamRoles.biller,\n\tSidebarTeamRoles.owner,\n]\n\nexport const ProfileMenuProvider = ({ children, config }: ProfileMenuProviderProps) => {\n\tconst { teams, currentTeamId, planId, isEndOfTrialActive, isFullyAuthenticated, userTeamRole } =\n\t\tconfig\n\n\tconst currentTeam = teams.find((t) => t.id === currentTeamId)\n\n\tconst otherTeams = teams.filter((t) => t.id !== currentTeamId)\n\n\tconst canChangeBilling = billingRoles.includes(userTeamRole)\n\n\tconst canAccessTeamSettings = billingRoles.includes(userTeamRole)\n\n\tconst isOnFreeOrTrialPlan = isFreePlan(planId) || isTrialPlan(planId)\n\n\tconst showUpgradeCta = isFullyAuthenticated && isOnFreeOrTrialPlan && canChangeBilling\n\n\tconst showBillingButton = isFullyAuthenticated && canAccessTeamSettings && canChangeBilling\n\n\tconst allowTeamCreation = isFullyAuthenticated && !isEndOfTrialActive\n\n\tconst providerValue = {\n\t\t...config,\n\t\tcurrentTeam,\n\t\totherTeams,\n\t\tcanChangeBilling,\n\t\tcanAccessTeamSettings,\n\t\tisOnFreeOrTrialPlan,\n\t\tshowUpgradeCta,\n\t\tshowBillingButton,\n\t\tallowTeamCreation,\n\t}\n\n\treturn <ProfileMenuContext.Provider value={providerValue}>{children}</ProfileMenuContext.Provider>\n}\n"],"names":["SidebarTeamRoles","isFreePlan","isTrialPlan","ProfileMenuContext"],"mappings":";;;;;;AAUA,MAAM,eAA+C;AAAA,EACpDA,MAAAA,iBAAiB;AAAA,EACjBA,uBAAiB;AAClB;AAEO,MAAM,sBAAsB,CAAC,EAAE,UAAU,aAAuC;AACtF,QAAM,EAAE,OAAO,eAAe,QAAQ,oBAAoB,sBAAsB,iBAC/E;AAED,QAAM,cAAc,MAAM,KAAK,CAAC,MAAM,EAAE,OAAO,aAAa;AAE5D,QAAM,aAAa,MAAM,OAAO,CAAC,MAAM,EAAE,OAAO,aAAa;AAEvD,QAAA,mBAAmB,aAAa,SAAS,YAAY;AAErD,QAAA,wBAAwB,aAAa,SAAS,YAAY;AAEhE,QAAM,sBAAsBC,KAAA,WAAW,MAAM,KAAKC,KAAAA,YAAY,MAAM;AAE9D,QAAA,iBAAiB,wBAAwB,uBAAuB;AAEhE,QAAA,oBAAoB,wBAAwB,yBAAyB;AAErE,QAAA,oBAAoB,wBAAwB,CAAC;AAEnD,QAAM,gBAAgB;AAAA,IACrB,GAAG;AAAA,IACH;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACD;AAEA,wCAAQC,mBAAAA,mBAAmB,UAAnB,EAA4B,OAAO,eAAgB,UAAS;AACrE;;"}
1
+ {"version":3,"file":"harmony83.cjs","sources":["../src/components/Sidebar/Widgets/ProfileMenu/ProfileMenuProvider.tsx"],"sourcesContent":["import { isFreePlan, isTrialPlan } from '@utils'\nimport type { PropsWithChildren } from 'react'\nimport { type SidebarTeamRole, SidebarTeamRoles } from '../../types'\nimport { ProfileMenuContext } from './ProfileMenuContext'\nimport type { SidebarProfileMenuConfig } from './types'\n\ntype ProfileMenuProviderProps = PropsWithChildren<{\n\tconfig: SidebarProfileMenuConfig\n}>\n\nconst billingRoles: ReadonlyArray<SidebarTeamRole> = [\n\tSidebarTeamRoles.biller,\n\tSidebarTeamRoles.owner,\n\tSidebarTeamRoles.admin,\n]\n\nexport const ProfileMenuProvider = ({ children, config }: ProfileMenuProviderProps) => {\n\tconst { teams, currentTeamId, planId, isEndOfTrialActive, isFullyAuthenticated, userTeamRole } =\n\t\tconfig\n\n\tconst currentTeam = teams.find((t) => t.id === currentTeamId)\n\n\tconst otherTeams = teams.filter((t) => t.id !== currentTeamId)\n\n\tconst canChangeBilling = billingRoles.includes(userTeamRole)\n\n\tconst canAccessTeamSettings = billingRoles.includes(userTeamRole)\n\n\tconst isOnFreeOrTrialPlan = isFreePlan(planId) || isTrialPlan(planId)\n\n\tconst showUpgradeCta = isFullyAuthenticated && isOnFreeOrTrialPlan && canChangeBilling\n\n\tconst showBillingButton = isFullyAuthenticated && canAccessTeamSettings && canChangeBilling\n\n\tconst allowTeamCreation = isFullyAuthenticated && !isEndOfTrialActive\n\n\tconst providerValue = {\n\t\t...config,\n\t\tcurrentTeam,\n\t\totherTeams,\n\t\tcanChangeBilling,\n\t\tcanAccessTeamSettings,\n\t\tisOnFreeOrTrialPlan,\n\t\tshowUpgradeCta,\n\t\tshowBillingButton,\n\t\tallowTeamCreation,\n\t}\n\n\treturn <ProfileMenuContext.Provider value={providerValue}>{children}</ProfileMenuContext.Provider>\n}\n"],"names":["SidebarTeamRoles","isFreePlan","isTrialPlan","ProfileMenuContext"],"mappings":";;;;;;AAUA,MAAM,eAA+C;AAAA,EACpDA,MAAAA,iBAAiB;AAAA,EACjBA,MAAAA,iBAAiB;AAAA,EACjBA,uBAAiB;AAClB;AAEO,MAAM,sBAAsB,CAAC,EAAE,UAAU,aAAuC;AACtF,QAAM,EAAE,OAAO,eAAe,QAAQ,oBAAoB,sBAAsB,iBAC/E;AAED,QAAM,cAAc,MAAM,KAAK,CAAC,MAAM,EAAE,OAAO,aAAa;AAE5D,QAAM,aAAa,MAAM,OAAO,CAAC,MAAM,EAAE,OAAO,aAAa;AAEvD,QAAA,mBAAmB,aAAa,SAAS,YAAY;AAErD,QAAA,wBAAwB,aAAa,SAAS,YAAY;AAEhE,QAAM,sBAAsBC,KAAA,WAAW,MAAM,KAAKC,KAAAA,YAAY,MAAM;AAE9D,QAAA,iBAAiB,wBAAwB,uBAAuB;AAEhE,QAAA,oBAAoB,wBAAwB,yBAAyB;AAErE,QAAA,oBAAoB,wBAAwB,CAAC;AAEnD,QAAM,gBAAgB;AAAA,IACrB,GAAG;AAAA,IACH;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACD;AAEA,wCAAQC,mBAAAA,mBAAmB,UAAnB,EAA4B,OAAO,eAAgB,UAAS;AACrE;;"}
@@ -1,10 +1,11 @@
1
1
  import { jsx } from "react/jsx-runtime";
2
2
  import { isFreePlan, isTrialPlan } from "./harmony7.mjs";
3
- import { SidebarTeamRoles } from "./harmony100.mjs";
3
+ import { SidebarTeamRoles } from "./harmony94.mjs";
4
4
  import { ProfileMenuContext } from "./harmony84.mjs";
5
5
  const billingRoles = [
6
6
  SidebarTeamRoles.biller,
7
- SidebarTeamRoles.owner
7
+ SidebarTeamRoles.owner,
8
+ SidebarTeamRoles.admin
8
9
  ];
9
10
  const ProfileMenuProvider = ({ children, config }) => {
10
11
  const { teams, currentTeamId, planId, isEndOfTrialActive, isFullyAuthenticated, userTeamRole } = config;
@@ -1 +1 @@
1
- {"version":3,"file":"harmony83.mjs","sources":["../src/components/Sidebar/Widgets/ProfileMenu/ProfileMenuProvider.tsx"],"sourcesContent":["import { isFreePlan, isTrialPlan } from '@utils'\nimport type { PropsWithChildren } from 'react'\nimport { type SidebarTeamRole, SidebarTeamRoles } from '../../types'\nimport { ProfileMenuContext } from './ProfileMenuContext'\nimport type { SidebarProfileMenuConfig } from './types'\n\ntype ProfileMenuProviderProps = PropsWithChildren<{\n\tconfig: SidebarProfileMenuConfig\n}>\n\nconst billingRoles: ReadonlyArray<SidebarTeamRole> = [\n\tSidebarTeamRoles.biller,\n\tSidebarTeamRoles.owner,\n]\n\nexport const ProfileMenuProvider = ({ children, config }: ProfileMenuProviderProps) => {\n\tconst { teams, currentTeamId, planId, isEndOfTrialActive, isFullyAuthenticated, userTeamRole } =\n\t\tconfig\n\n\tconst currentTeam = teams.find((t) => t.id === currentTeamId)\n\n\tconst otherTeams = teams.filter((t) => t.id !== currentTeamId)\n\n\tconst canChangeBilling = billingRoles.includes(userTeamRole)\n\n\tconst canAccessTeamSettings = billingRoles.includes(userTeamRole)\n\n\tconst isOnFreeOrTrialPlan = isFreePlan(planId) || isTrialPlan(planId)\n\n\tconst showUpgradeCta = isFullyAuthenticated && isOnFreeOrTrialPlan && canChangeBilling\n\n\tconst showBillingButton = isFullyAuthenticated && canAccessTeamSettings && canChangeBilling\n\n\tconst allowTeamCreation = isFullyAuthenticated && !isEndOfTrialActive\n\n\tconst providerValue = {\n\t\t...config,\n\t\tcurrentTeam,\n\t\totherTeams,\n\t\tcanChangeBilling,\n\t\tcanAccessTeamSettings,\n\t\tisOnFreeOrTrialPlan,\n\t\tshowUpgradeCta,\n\t\tshowBillingButton,\n\t\tallowTeamCreation,\n\t}\n\n\treturn <ProfileMenuContext.Provider value={providerValue}>{children}</ProfileMenuContext.Provider>\n}\n"],"names":[],"mappings":";;;;AAUA,MAAM,eAA+C;AAAA,EACpD,iBAAiB;AAAA,EACjB,iBAAiB;AAClB;AAEO,MAAM,sBAAsB,CAAC,EAAE,UAAU,aAAuC;AACtF,QAAM,EAAE,OAAO,eAAe,QAAQ,oBAAoB,sBAAsB,iBAC/E;AAED,QAAM,cAAc,MAAM,KAAK,CAAC,MAAM,EAAE,OAAO,aAAa;AAE5D,QAAM,aAAa,MAAM,OAAO,CAAC,MAAM,EAAE,OAAO,aAAa;AAEvD,QAAA,mBAAmB,aAAa,SAAS,YAAY;AAErD,QAAA,wBAAwB,aAAa,SAAS,YAAY;AAEhE,QAAM,sBAAsB,WAAW,MAAM,KAAK,YAAY,MAAM;AAE9D,QAAA,iBAAiB,wBAAwB,uBAAuB;AAEhE,QAAA,oBAAoB,wBAAwB,yBAAyB;AAErE,QAAA,oBAAoB,wBAAwB,CAAC;AAEnD,QAAM,gBAAgB;AAAA,IACrB,GAAG;AAAA,IACH;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACD;AAEA,6BAAQ,mBAAmB,UAAnB,EAA4B,OAAO,eAAgB,UAAS;AACrE;"}
1
+ {"version":3,"file":"harmony83.mjs","sources":["../src/components/Sidebar/Widgets/ProfileMenu/ProfileMenuProvider.tsx"],"sourcesContent":["import { isFreePlan, isTrialPlan } from '@utils'\nimport type { PropsWithChildren } from 'react'\nimport { type SidebarTeamRole, SidebarTeamRoles } from '../../types'\nimport { ProfileMenuContext } from './ProfileMenuContext'\nimport type { SidebarProfileMenuConfig } from './types'\n\ntype ProfileMenuProviderProps = PropsWithChildren<{\n\tconfig: SidebarProfileMenuConfig\n}>\n\nconst billingRoles: ReadonlyArray<SidebarTeamRole> = [\n\tSidebarTeamRoles.biller,\n\tSidebarTeamRoles.owner,\n\tSidebarTeamRoles.admin,\n]\n\nexport const ProfileMenuProvider = ({ children, config }: ProfileMenuProviderProps) => {\n\tconst { teams, currentTeamId, planId, isEndOfTrialActive, isFullyAuthenticated, userTeamRole } =\n\t\tconfig\n\n\tconst currentTeam = teams.find((t) => t.id === currentTeamId)\n\n\tconst otherTeams = teams.filter((t) => t.id !== currentTeamId)\n\n\tconst canChangeBilling = billingRoles.includes(userTeamRole)\n\n\tconst canAccessTeamSettings = billingRoles.includes(userTeamRole)\n\n\tconst isOnFreeOrTrialPlan = isFreePlan(planId) || isTrialPlan(planId)\n\n\tconst showUpgradeCta = isFullyAuthenticated && isOnFreeOrTrialPlan && canChangeBilling\n\n\tconst showBillingButton = isFullyAuthenticated && canAccessTeamSettings && canChangeBilling\n\n\tconst allowTeamCreation = isFullyAuthenticated && !isEndOfTrialActive\n\n\tconst providerValue = {\n\t\t...config,\n\t\tcurrentTeam,\n\t\totherTeams,\n\t\tcanChangeBilling,\n\t\tcanAccessTeamSettings,\n\t\tisOnFreeOrTrialPlan,\n\t\tshowUpgradeCta,\n\t\tshowBillingButton,\n\t\tallowTeamCreation,\n\t}\n\n\treturn <ProfileMenuContext.Provider value={providerValue}>{children}</ProfileMenuContext.Provider>\n}\n"],"names":[],"mappings":";;;;AAUA,MAAM,eAA+C;AAAA,EACpD,iBAAiB;AAAA,EACjB,iBAAiB;AAAA,EACjB,iBAAiB;AAClB;AAEO,MAAM,sBAAsB,CAAC,EAAE,UAAU,aAAuC;AACtF,QAAM,EAAE,OAAO,eAAe,QAAQ,oBAAoB,sBAAsB,iBAC/E;AAED,QAAM,cAAc,MAAM,KAAK,CAAC,MAAM,EAAE,OAAO,aAAa;AAE5D,QAAM,aAAa,MAAM,OAAO,CAAC,MAAM,EAAE,OAAO,aAAa;AAEvD,QAAA,mBAAmB,aAAa,SAAS,YAAY;AAErD,QAAA,wBAAwB,aAAa,SAAS,YAAY;AAEhE,QAAM,sBAAsB,WAAW,MAAM,KAAK,YAAY,MAAM;AAE9D,QAAA,iBAAiB,wBAAwB,uBAAuB;AAEhE,QAAA,oBAAoB,wBAAwB,yBAAyB;AAErE,QAAA,oBAAoB,wBAAwB,CAAC;AAEnD,QAAM,gBAAgB;AAAA,IACrB,GAAG;AAAA,IACH;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACD;AAEA,6BAAQ,mBAAmB,UAAnB,EAA4B,OAAO,eAAgB,UAAS;AACrE;"}
@@ -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 clsx = require("./harmony62.cjs");
6
- const UpgradeIcon_module = require("./harmony103.cjs");
6
+ const UpgradeIcon_module = require("./harmony104.cjs");
7
7
  const UpgradeIcon = ({ className = "" }) => {
8
8
  return /* @__PURE__ */ jsxRuntime.jsx(
9
9
  "div",
@@ -1,7 +1,7 @@
1
1
  import { jsx } from "react/jsx-runtime";
2
2
  import { CaretUpIcon } from "@lokalise/louis";
3
3
  import { clsx } from "./harmony62.mjs";
4
- import styles from "./harmony103.mjs";
4
+ import styles from "./harmony104.mjs";
5
5
  const UpgradeIcon = ({ className = "" }) => {
6
6
  return /* @__PURE__ */ jsx(
7
7
  "div",