@lokalise/harmony 1.40.3-exp-epic2x.4 → 1.40.3-exp-epic2x.5

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 (209) hide show
  1. package/dist/harmony100.cjs +13 -10
  2. package/dist/harmony100.cjs.map +1 -1
  3. package/dist/harmony100.mjs +12 -9
  4. package/dist/harmony100.mjs.map +1 -1
  5. package/dist/harmony101.cjs +9 -45
  6. package/dist/harmony101.cjs.map +1 -1
  7. package/dist/harmony101.mjs +11 -47
  8. package/dist/harmony101.mjs.map +1 -1
  9. package/dist/harmony102.cjs +20 -8
  10. package/dist/harmony102.cjs.map +1 -1
  11. package/dist/harmony102.mjs +20 -8
  12. package/dist/harmony102.mjs.map +1 -1
  13. package/dist/harmony103.cjs +96 -11
  14. package/dist/harmony103.cjs.map +1 -1
  15. package/dist/harmony103.mjs +79 -11
  16. package/dist/harmony103.mjs.map +1 -1
  17. package/dist/harmony104.cjs +87 -20
  18. package/dist/harmony104.cjs.map +1 -1
  19. package/dist/harmony104.mjs +87 -20
  20. package/dist/harmony104.mjs.map +1 -1
  21. package/dist/harmony105.cjs +30 -87
  22. package/dist/harmony105.cjs.map +1 -1
  23. package/dist/harmony105.mjs +30 -87
  24. package/dist/harmony105.mjs.map +1 -1
  25. package/dist/harmony106.cjs +13 -29
  26. package/dist/harmony106.cjs.map +1 -1
  27. package/dist/harmony106.mjs +13 -29
  28. package/dist/harmony106.mjs.map +1 -1
  29. package/dist/harmony107.cjs +21 -10
  30. package/dist/harmony107.cjs.map +1 -1
  31. package/dist/harmony107.mjs +20 -9
  32. package/dist/harmony107.mjs.map +1 -1
  33. package/dist/harmony108.cjs +9 -12
  34. package/dist/harmony108.cjs.map +1 -1
  35. package/dist/harmony108.mjs +8 -11
  36. package/dist/harmony108.mjs.map +1 -1
  37. package/dist/harmony109.cjs +6 -9
  38. package/dist/harmony109.cjs.map +1 -1
  39. package/dist/harmony109.mjs +8 -11
  40. package/dist/harmony109.mjs.map +1 -1
  41. package/dist/harmony110.cjs +5 -9
  42. package/dist/harmony110.cjs.map +1 -1
  43. package/dist/harmony110.mjs +5 -9
  44. package/dist/harmony110.mjs.map +1 -1
  45. package/dist/harmony111.cjs +16 -7
  46. package/dist/harmony111.cjs.map +1 -1
  47. package/dist/harmony111.mjs +18 -9
  48. package/dist/harmony111.mjs.map +1 -1
  49. package/dist/harmony112.cjs +7 -23
  50. package/dist/harmony112.cjs.map +1 -1
  51. package/dist/harmony112.mjs +8 -24
  52. package/dist/harmony112.mjs.map +1 -1
  53. package/dist/harmony113.cjs +20 -6
  54. package/dist/harmony113.cjs.map +1 -1
  55. package/dist/harmony113.mjs +21 -7
  56. package/dist/harmony113.mjs.map +1 -1
  57. package/dist/harmony114.cjs +7 -32
  58. package/dist/harmony114.cjs.map +1 -1
  59. package/dist/harmony114.mjs +9 -34
  60. package/dist/harmony114.mjs.map +1 -1
  61. package/dist/harmony115.cjs +32 -7
  62. package/dist/harmony115.cjs.map +1 -1
  63. package/dist/harmony115.mjs +34 -9
  64. package/dist/harmony115.mjs.map +1 -1
  65. package/dist/harmony116.cjs +8 -18
  66. package/dist/harmony116.cjs.map +1 -1
  67. package/dist/harmony116.mjs +8 -18
  68. package/dist/harmony116.mjs.map +1 -1
  69. package/dist/harmony117.cjs +13 -27
  70. package/dist/harmony117.cjs.map +1 -1
  71. package/dist/harmony117.mjs +14 -28
  72. package/dist/harmony117.mjs.map +1 -1
  73. package/dist/harmony118.cjs +36 -21
  74. package/dist/harmony118.cjs.map +1 -1
  75. package/dist/harmony118.mjs +35 -20
  76. package/dist/harmony118.mjs.map +1 -1
  77. package/dist/harmony119.cjs +21 -21
  78. package/dist/harmony119.cjs.map +1 -1
  79. package/dist/harmony119.mjs +20 -20
  80. package/dist/harmony119.mjs.map +1 -1
  81. package/dist/harmony120.cjs +21 -6
  82. package/dist/harmony120.cjs.map +1 -1
  83. package/dist/harmony120.mjs +20 -5
  84. package/dist/harmony120.mjs.map +1 -1
  85. package/dist/harmony121.cjs +3 -12
  86. package/dist/harmony121.cjs.map +1 -1
  87. package/dist/harmony121.mjs +3 -12
  88. package/dist/harmony121.mjs.map +1 -1
  89. package/dist/harmony122.cjs +15 -99
  90. package/dist/harmony122.cjs.map +1 -1
  91. package/dist/harmony122.mjs +14 -81
  92. package/dist/harmony122.mjs.map +1 -1
  93. package/dist/harmony123.cjs +6 -11
  94. package/dist/harmony123.cjs.map +1 -1
  95. package/dist/harmony123.mjs +5 -10
  96. package/dist/harmony123.mjs.map +1 -1
  97. package/dist/harmony124.cjs +4 -4
  98. package/dist/harmony124.mjs +4 -4
  99. package/dist/harmony125.cjs +11 -6
  100. package/dist/harmony125.cjs.map +1 -1
  101. package/dist/harmony125.mjs +10 -5
  102. package/dist/harmony125.mjs.map +1 -1
  103. package/dist/harmony126.cjs +97 -10
  104. package/dist/harmony126.cjs.map +1 -1
  105. package/dist/harmony126.mjs +96 -9
  106. package/dist/harmony126.mjs.map +1 -1
  107. package/dist/harmony127.cjs +14 -7
  108. package/dist/harmony127.cjs.map +1 -1
  109. package/dist/harmony127.mjs +13 -6
  110. package/dist/harmony127.mjs.map +1 -1
  111. package/dist/harmony128.cjs +15 -10
  112. package/dist/harmony128.cjs.map +1 -1
  113. package/dist/harmony128.mjs +14 -9
  114. package/dist/harmony128.mjs.map +1 -1
  115. package/dist/harmony129.cjs +37 -25
  116. package/dist/harmony129.cjs.map +1 -1
  117. package/dist/harmony129.mjs +36 -24
  118. package/dist/harmony129.mjs.map +1 -1
  119. package/dist/harmony130.cjs +29 -7
  120. package/dist/harmony130.cjs.map +1 -1
  121. package/dist/harmony130.mjs +28 -6
  122. package/dist/harmony130.mjs.map +1 -1
  123. package/dist/harmony131.cjs +6 -9
  124. package/dist/harmony131.cjs.map +1 -1
  125. package/dist/harmony131.mjs +6 -9
  126. package/dist/harmony131.mjs.map +1 -1
  127. package/dist/harmony132.cjs +3 -3
  128. package/dist/harmony132.mjs +3 -3
  129. package/dist/harmony133.cjs +10 -97
  130. package/dist/harmony133.cjs.map +1 -1
  131. package/dist/harmony133.mjs +9 -96
  132. package/dist/harmony133.mjs.map +1 -1
  133. package/dist/harmony134.cjs +25 -14
  134. package/dist/harmony134.cjs.map +1 -1
  135. package/dist/harmony134.mjs +24 -13
  136. package/dist/harmony134.mjs.map +1 -1
  137. package/dist/harmony135.cjs +7 -15
  138. package/dist/harmony135.cjs.map +1 -1
  139. package/dist/harmony135.mjs +6 -14
  140. package/dist/harmony135.mjs.map +1 -1
  141. package/dist/harmony136.cjs +13 -37
  142. package/dist/harmony136.cjs.map +1 -1
  143. package/dist/harmony136.mjs +12 -36
  144. package/dist/harmony136.mjs.map +1 -1
  145. package/dist/harmony137.cjs +7 -29
  146. package/dist/harmony137.cjs.map +1 -1
  147. package/dist/harmony137.mjs +6 -28
  148. package/dist/harmony137.mjs.map +1 -1
  149. package/dist/harmony15.cjs +1 -1
  150. package/dist/harmony15.mjs +1 -1
  151. package/dist/harmony18.cjs +1 -1
  152. package/dist/harmony18.mjs +1 -1
  153. package/dist/harmony26.cjs +1 -1
  154. package/dist/harmony26.mjs +1 -1
  155. package/dist/harmony27.cjs +1 -1
  156. package/dist/harmony27.mjs +1 -1
  157. package/dist/harmony76.cjs +1 -1
  158. package/dist/harmony76.mjs +1 -1
  159. package/dist/harmony77.cjs +1 -1
  160. package/dist/harmony77.mjs +1 -1
  161. package/dist/harmony78.cjs +10 -10
  162. package/dist/harmony78.cjs.map +1 -1
  163. package/dist/harmony78.mjs +10 -10
  164. package/dist/harmony78.mjs.map +1 -1
  165. package/dist/harmony81.cjs +2 -2
  166. package/dist/harmony81.mjs +2 -2
  167. package/dist/harmony83.cjs +2 -2
  168. package/dist/harmony83.mjs +2 -2
  169. package/dist/harmony89.cjs +1 -1
  170. package/dist/harmony89.mjs +1 -1
  171. package/dist/harmony90.cjs +1 -1
  172. package/dist/harmony90.mjs +1 -1
  173. package/dist/harmony91.cjs +3 -11
  174. package/dist/harmony91.cjs.map +1 -1
  175. package/dist/harmony91.mjs +3 -11
  176. package/dist/harmony91.mjs.map +1 -1
  177. package/dist/harmony92.cjs +18 -21
  178. package/dist/harmony92.cjs.map +1 -1
  179. package/dist/harmony92.mjs +17 -20
  180. package/dist/harmony92.mjs.map +1 -1
  181. package/dist/harmony93.cjs +73 -9
  182. package/dist/harmony93.cjs.map +1 -1
  183. package/dist/harmony93.mjs +75 -11
  184. package/dist/harmony93.mjs.map +1 -1
  185. package/dist/harmony94.cjs +12 -12
  186. package/dist/harmony94.cjs.map +1 -1
  187. package/dist/harmony94.mjs +11 -11
  188. package/dist/harmony94.mjs.map +1 -1
  189. package/dist/harmony95.cjs +30 -3
  190. package/dist/harmony95.cjs.map +1 -1
  191. package/dist/harmony95.mjs +30 -3
  192. package/dist/harmony95.mjs.map +1 -1
  193. package/dist/harmony96.cjs +8 -17
  194. package/dist/harmony96.cjs.map +1 -1
  195. package/dist/harmony96.mjs +8 -17
  196. package/dist/harmony96.mjs.map +1 -1
  197. package/dist/harmony97.cjs +36 -65
  198. package/dist/harmony97.cjs.map +1 -1
  199. package/dist/harmony97.mjs +37 -66
  200. package/dist/harmony97.mjs.map +1 -1
  201. package/dist/harmony98.cjs +9 -12
  202. package/dist/harmony98.cjs.map +1 -1
  203. package/dist/harmony98.mjs +8 -11
  204. package/dist/harmony98.mjs.map +1 -1
  205. package/dist/harmony99.cjs +12 -30
  206. package/dist/harmony99.cjs.map +1 -1
  207. package/dist/harmony99.mjs +12 -30
  208. package/dist/harmony99.mjs.map +1 -1
  209. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"harmony106.cjs","sources":["../src/features/navigation/schemas/navigationSchema.ts"],"sourcesContent":["import type { DropdownItem, NavItemIcon } from '@features/navigation/types/navigation'\n\nexport type NavKey = 'editor' | 'contributors' | 'orders' | 'billing' | 'settings' | 'dashboard'\n\nexport interface NavigationItem {\n\tkey: NavKey\n\tlabelKey: string // TODO: i18n key inside this package\n\tpath: ({ projectId }: { projectId: string }) => string\n\n\ticon?: NavItemIcon\n\tdropdown?: DropdownItem[][]\n\tbadge?: number | ((ctx: NavCtx) => number)\n\n\tshouldShow?: (ctx: NavCtx) => boolean\n\tdisabled?: boolean | ((ctx: NavCtx) => boolean)\n\tisActive?: (pathname: string) => boolean // custom match, else fallback\n}\n\n/** What the gate functions receive */\nexport interface NavCtx {\n\tflags: Record<string, string>\n\tpathname: string\n\tpermissions?: Array<string> // e.g. contributor admin_rights //TODO: Provide type for permissions\n}\n\n// TODO: Handle Translations on harmony side.\nexport const navigationItems: NavigationItem[] = [\n\t{\n\t\tkey: 'editor',\n\t\tlabelKey: 'Editor',\n\t\tpath: ({ projectId }) => `/project/${projectId}/editor`,\n\t},\n\t{\n\t\tkey: 'dashboard',\n\t\tlabelKey: 'Download',\n\t\tpath: ({ projectId }) => `/project/${projectId}/dashboard`,\n\t},\n\t{\n\t\tkey: 'contributors',\n\t\tlabelKey: 'Contributors',\n\t\tpath: ({ projectId }) => `/project/${projectId}/contributors`,\n\t},\n\n\t{\n\t\tkey: 'orders',\n\t\tlabelKey: 'Human proofreading',\n\t\tpath: ({ projectId }) => `/project/${projectId}/orders`,\n\t\tshouldShow: ({ flags }) => flags.ap_feature_hraas === 'on',\n\t},\n\t{\n\t\tkey: 'billing',\n\t\tlabelKey: 'Billing',\n\t\tpath: ({ projectId }) => `/project/${projectId}/billing`,\n\t\tshouldShow: ({ flags }) => flags.ap_feature_billing === 'on',\n\t},\n]\n"],"names":[],"mappings":";;AA0BO,MAAM,kBAAoC;AAAA,EAChD;AAAA,IACC,KAAK;AAAA,IACL,UAAU;AAAA,IACV,MAAM,CAAC,EAAE,UAAU,MAAM,YAAY,SAAS;AAAA,EAC/C;AAAA,EACA;AAAA,IACC,KAAK;AAAA,IACL,UAAU;AAAA,IACV,MAAM,CAAC,EAAE,UAAU,MAAM,YAAY,SAAS;AAAA,EAC/C;AAAA,EACA;AAAA,IACC,KAAK;AAAA,IACL,UAAU;AAAA,IACV,MAAM,CAAC,EAAE,UAAU,MAAM,YAAY,SAAS;AAAA,EAC/C;AAAA,EAEA;AAAA,IACC,KAAK;AAAA,IACL,UAAU;AAAA,IACV,MAAM,CAAC,EAAE,UAAU,MAAM,YAAY,SAAS;AAAA,IAC9C,YAAY,CAAC,EAAE,YAAY,MAAM,qBAAqB;AAAA,EACvD;AAAA,EACA;AAAA,IACC,KAAK;AAAA,IACL,UAAU;AAAA,IACV,MAAM,CAAC,EAAE,UAAU,MAAM,YAAY,SAAS;AAAA,IAC9C,YAAY,CAAC,EAAE,YAAY,MAAM,uBAAuB;AAAA,EAAA;AAE1D;;"}
1
+ {"version":3,"file":"harmony106.cjs","sources":["../src/features/auth/frontend/events/NewJwtIssuedEvent.ts"],"sourcesContent":["import type { JwtTokenPayload } from '@features/auth/core/types/jwtTokenPayload'\nimport { parseJwtTokenPayload } from '@features/auth/core/utils/jwtTokenPayload'\nimport type { JwtToken } from '@features/publicApi/types/userTokenTypes'\n\ntype NewJwtIssuedEventDetail = {\n\ttoken: JwtToken\n\tpayload: JwtTokenPayload | undefined\n}\n\n/**\n * This event is emitted when a new JWT token is issued or refreshed.\n */\nexport class NewJwtIssuedEvent extends CustomEvent<NewJwtIssuedEventDetail> {\n\tstatic readonly eventName = 'new-jwt-issued' as const\n\n\tconstructor(token: JwtToken) {\n\t\tsuper(NewJwtIssuedEvent.eventName, {\n\t\t\tdetail: { token, payload: parseJwtTokenPayload(token.accessToken) },\n\t\t})\n\t}\n}\n\nexport const isNewJwtIssuedEvent = (event: Event): event is NewJwtIssuedEvent =>\n\tevent.type === NewJwtIssuedEvent.eventName\n\ndeclare global {\n\tinterface WindowEventMap {\n\t\t[NewJwtIssuedEvent.eventName]: NewJwtIssuedEvent\n\t}\n}\n"],"names":["parseJwtTokenPayload"],"mappings":";;;;;;AAYO,MAAM,qBAAN,MAAM,2BAA0B,YAAqC;AAAA,EAG3E,YAAY,OAAiB;AAC5B,UAAM,mBAAkB,WAAW;AAAA,MAClC,QAAQ,EAAE,OAAO,SAASA,gBAAAA,qBAAqB,MAAM,WAAW,EAAE;AAAA,IAAA,CAClE;AAAA,EAAA;AAEH;AAPC,cADY,oBACI,aAAY;AADtB,IAAM,oBAAN;;"}
@@ -1,33 +1,17 @@
1
- const navigationItems = [
2
- {
3
- key: "editor",
4
- labelKey: "Editor",
5
- path: ({ projectId }) => `/project/${projectId}/editor`
6
- },
7
- {
8
- key: "dashboard",
9
- labelKey: "Download",
10
- path: ({ projectId }) => `/project/${projectId}/dashboard`
11
- },
12
- {
13
- key: "contributors",
14
- labelKey: "Contributors",
15
- path: ({ projectId }) => `/project/${projectId}/contributors`
16
- },
17
- {
18
- key: "orders",
19
- labelKey: "Human proofreading",
20
- path: ({ projectId }) => `/project/${projectId}/orders`,
21
- shouldShow: ({ flags }) => flags.ap_feature_hraas === "on"
22
- },
23
- {
24
- key: "billing",
25
- labelKey: "Billing",
26
- path: ({ projectId }) => `/project/${projectId}/billing`,
27
- shouldShow: ({ flags }) => flags.ap_feature_billing === "on"
1
+ var __defProp = Object.defineProperty;
2
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
3
+ var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
4
+ import { parseJwtTokenPayload } from "./harmony18.mjs";
5
+ const _NewJwtIssuedEvent = class _NewJwtIssuedEvent extends CustomEvent {
6
+ constructor(token) {
7
+ super(_NewJwtIssuedEvent.eventName, {
8
+ detail: { token, payload: parseJwtTokenPayload(token.accessToken) }
9
+ });
28
10
  }
29
- ];
11
+ };
12
+ __publicField(_NewJwtIssuedEvent, "eventName", "new-jwt-issued");
13
+ let NewJwtIssuedEvent = _NewJwtIssuedEvent;
30
14
  export {
31
- navigationItems
15
+ NewJwtIssuedEvent
32
16
  };
33
17
  //# sourceMappingURL=harmony106.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"harmony106.mjs","sources":["../src/features/navigation/schemas/navigationSchema.ts"],"sourcesContent":["import type { DropdownItem, NavItemIcon } from '@features/navigation/types/navigation'\n\nexport type NavKey = 'editor' | 'contributors' | 'orders' | 'billing' | 'settings' | 'dashboard'\n\nexport interface NavigationItem {\n\tkey: NavKey\n\tlabelKey: string // TODO: i18n key inside this package\n\tpath: ({ projectId }: { projectId: string }) => string\n\n\ticon?: NavItemIcon\n\tdropdown?: DropdownItem[][]\n\tbadge?: number | ((ctx: NavCtx) => number)\n\n\tshouldShow?: (ctx: NavCtx) => boolean\n\tdisabled?: boolean | ((ctx: NavCtx) => boolean)\n\tisActive?: (pathname: string) => boolean // custom match, else fallback\n}\n\n/** What the gate functions receive */\nexport interface NavCtx {\n\tflags: Record<string, string>\n\tpathname: string\n\tpermissions?: Array<string> // e.g. contributor admin_rights //TODO: Provide type for permissions\n}\n\n// TODO: Handle Translations on harmony side.\nexport const navigationItems: NavigationItem[] = [\n\t{\n\t\tkey: 'editor',\n\t\tlabelKey: 'Editor',\n\t\tpath: ({ projectId }) => `/project/${projectId}/editor`,\n\t},\n\t{\n\t\tkey: 'dashboard',\n\t\tlabelKey: 'Download',\n\t\tpath: ({ projectId }) => `/project/${projectId}/dashboard`,\n\t},\n\t{\n\t\tkey: 'contributors',\n\t\tlabelKey: 'Contributors',\n\t\tpath: ({ projectId }) => `/project/${projectId}/contributors`,\n\t},\n\n\t{\n\t\tkey: 'orders',\n\t\tlabelKey: 'Human proofreading',\n\t\tpath: ({ projectId }) => `/project/${projectId}/orders`,\n\t\tshouldShow: ({ flags }) => flags.ap_feature_hraas === 'on',\n\t},\n\t{\n\t\tkey: 'billing',\n\t\tlabelKey: 'Billing',\n\t\tpath: ({ projectId }) => `/project/${projectId}/billing`,\n\t\tshouldShow: ({ flags }) => flags.ap_feature_billing === 'on',\n\t},\n]\n"],"names":[],"mappings":"AA0BO,MAAM,kBAAoC;AAAA,EAChD;AAAA,IACC,KAAK;AAAA,IACL,UAAU;AAAA,IACV,MAAM,CAAC,EAAE,UAAU,MAAM,YAAY,SAAS;AAAA,EAC/C;AAAA,EACA;AAAA,IACC,KAAK;AAAA,IACL,UAAU;AAAA,IACV,MAAM,CAAC,EAAE,UAAU,MAAM,YAAY,SAAS;AAAA,EAC/C;AAAA,EACA;AAAA,IACC,KAAK;AAAA,IACL,UAAU;AAAA,IACV,MAAM,CAAC,EAAE,UAAU,MAAM,YAAY,SAAS;AAAA,EAC/C;AAAA,EAEA;AAAA,IACC,KAAK;AAAA,IACL,UAAU;AAAA,IACV,MAAM,CAAC,EAAE,UAAU,MAAM,YAAY,SAAS;AAAA,IAC9C,YAAY,CAAC,EAAE,YAAY,MAAM,qBAAqB;AAAA,EACvD;AAAA,EACA;AAAA,IACC,KAAK;AAAA,IACL,UAAU;AAAA,IACV,MAAM,CAAC,EAAE,UAAU,MAAM,YAAY,SAAS;AAAA,IAC9C,YAAY,CAAC,EAAE,YAAY,MAAM,uBAAuB;AAAA,EAAA;AAE1D;"}
1
+ {"version":3,"file":"harmony106.mjs","sources":["../src/features/auth/frontend/events/NewJwtIssuedEvent.ts"],"sourcesContent":["import type { JwtTokenPayload } from '@features/auth/core/types/jwtTokenPayload'\nimport { parseJwtTokenPayload } from '@features/auth/core/utils/jwtTokenPayload'\nimport type { JwtToken } from '@features/publicApi/types/userTokenTypes'\n\ntype NewJwtIssuedEventDetail = {\n\ttoken: JwtToken\n\tpayload: JwtTokenPayload | undefined\n}\n\n/**\n * This event is emitted when a new JWT token is issued or refreshed.\n */\nexport class NewJwtIssuedEvent extends CustomEvent<NewJwtIssuedEventDetail> {\n\tstatic readonly eventName = 'new-jwt-issued' as const\n\n\tconstructor(token: JwtToken) {\n\t\tsuper(NewJwtIssuedEvent.eventName, {\n\t\t\tdetail: { token, payload: parseJwtTokenPayload(token.accessToken) },\n\t\t})\n\t}\n}\n\nexport const isNewJwtIssuedEvent = (event: Event): event is NewJwtIssuedEvent =>\n\tevent.type === NewJwtIssuedEvent.eventName\n\ndeclare global {\n\tinterface WindowEventMap {\n\t\t[NewJwtIssuedEvent.eventName]: NewJwtIssuedEvent\n\t}\n}\n"],"names":[],"mappings":";;;;AAYO,MAAM,qBAAN,MAAM,2BAA0B,YAAqC;AAAA,EAG3E,YAAY,OAAiB;AAC5B,UAAM,mBAAkB,WAAW;AAAA,MAClC,QAAQ,EAAE,OAAO,SAAS,qBAAqB,MAAM,WAAW,EAAE;AAAA,IAAA,CAClE;AAAA,EAAA;AAEH;AAPC,cADY,oBACI,aAAY;AADtB,IAAM,oBAAN;"}
@@ -1,12 +1,23 @@
1
1
  "use strict";
2
- Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
3
- const link = "_link_18vhx_1";
4
- const active = "_active_18vhx_18";
5
- const styles = {
6
- link,
7
- active
8
- };
9
- exports.active = active;
10
- exports.default = styles;
11
- exports.link = link;
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const zod = require("zod");
4
+ const teamRoleTypes = require("./harmony70.cjs");
5
+ const JWT_TOKEN_PAYLOAD_SCHEMA = zod.z.object({
6
+ userId: zod.z.number(),
7
+ userUuid: zod.z.string().uuid(),
8
+ teamId: zod.z.number(),
9
+ teamUuid: zod.z.string().uuid(),
10
+ userTeamRole: teamRoleTypes.TEAM_ROLE_SCHEMA,
11
+ userEmail: zod.z.string().email(),
12
+ userName: zod.z.string(),
13
+ userCurrentTeamId: zod.z.number(),
14
+ planId: zod.z.number(),
15
+ planName: zod.z.string(),
16
+ isProviderAlpha: zod.z.boolean(),
17
+ isFullyAuthenticated: zod.z.boolean(),
18
+ isEndOfTrialActive: zod.z.boolean(),
19
+ isTeamSuspended: zod.z.boolean(),
20
+ exp: zod.z.number()
21
+ });
22
+ exports.JWT_TOKEN_PAYLOAD_SCHEMA = JWT_TOKEN_PAYLOAD_SCHEMA;
12
23
  //# sourceMappingURL=harmony107.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"harmony107.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;"}
1
+ {"version":3,"file":"harmony107.cjs","sources":["../src/features/auth/core/types/jwtTokenPayload.ts"],"sourcesContent":["import { z } from 'zod'\nimport { TEAM_ROLE_SCHEMA } from '../../../publicApi/types/teamRoleTypes'\n\nexport const JWT_TOKEN_PAYLOAD_SCHEMA = z.object({\n\tuserId: z.number(),\n\tuserUuid: z.string().uuid(),\n\tteamId: z.number(),\n\tteamUuid: z.string().uuid(),\n\tuserTeamRole: TEAM_ROLE_SCHEMA,\n\tuserEmail: z.string().email(),\n\tuserName: z.string(),\n\tuserCurrentTeamId: z.number(),\n\tplanId: z.number(),\n\tplanName: z.string(),\n\tisProviderAlpha: z.boolean(),\n\tisFullyAuthenticated: z.boolean(),\n\tisEndOfTrialActive: z.boolean(),\n\tisTeamSuspended: z.boolean(),\n\texp: z.number(),\n})\nexport type JwtTokenPayload = z.infer<typeof JWT_TOKEN_PAYLOAD_SCHEMA>\n"],"names":["z","TEAM_ROLE_SCHEMA"],"mappings":";;;;AAGa,MAAA,2BAA2BA,MAAE,OAAO;AAAA,EAChD,QAAQA,MAAE,OAAO;AAAA,EACjB,UAAUA,IAAA,EAAE,OAAO,EAAE,KAAK;AAAA,EAC1B,QAAQA,MAAE,OAAO;AAAA,EACjB,UAAUA,IAAA,EAAE,OAAO,EAAE,KAAK;AAAA,EAC1B,cAAcC,cAAA;AAAA,EACd,WAAWD,IAAA,EAAE,OAAO,EAAE,MAAM;AAAA,EAC5B,UAAUA,MAAE,OAAO;AAAA,EACnB,mBAAmBA,MAAE,OAAO;AAAA,EAC5B,QAAQA,MAAE,OAAO;AAAA,EACjB,UAAUA,MAAE,OAAO;AAAA,EACnB,iBAAiBA,MAAE,QAAQ;AAAA,EAC3B,sBAAsBA,MAAE,QAAQ;AAAA,EAChC,oBAAoBA,MAAE,QAAQ;AAAA,EAC9B,iBAAiBA,MAAE,QAAQ;AAAA,EAC3B,KAAKA,MAAE,OAAO;AACf,CAAC;;"}
@@ -1,12 +1,23 @@
1
- const link = "_link_18vhx_1";
2
- const active = "_active_18vhx_18";
3
- const styles = {
4
- link,
5
- active
6
- };
1
+ import { z } from "zod";
2
+ import { TEAM_ROLE_SCHEMA } from "./harmony70.mjs";
3
+ const JWT_TOKEN_PAYLOAD_SCHEMA = z.object({
4
+ userId: z.number(),
5
+ userUuid: z.string().uuid(),
6
+ teamId: z.number(),
7
+ teamUuid: z.string().uuid(),
8
+ userTeamRole: TEAM_ROLE_SCHEMA,
9
+ userEmail: z.string().email(),
10
+ userName: z.string(),
11
+ userCurrentTeamId: z.number(),
12
+ planId: z.number(),
13
+ planName: z.string(),
14
+ isProviderAlpha: z.boolean(),
15
+ isFullyAuthenticated: z.boolean(),
16
+ isEndOfTrialActive: z.boolean(),
17
+ isTeamSuspended: z.boolean(),
18
+ exp: z.number()
19
+ });
7
20
  export {
8
- active,
9
- styles as default,
10
- link
21
+ JWT_TOKEN_PAYLOAD_SCHEMA
11
22
  };
12
23
  //# sourceMappingURL=harmony107.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"harmony107.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;"}
1
+ {"version":3,"file":"harmony107.mjs","sources":["../src/features/auth/core/types/jwtTokenPayload.ts"],"sourcesContent":["import { z } from 'zod'\nimport { TEAM_ROLE_SCHEMA } from '../../../publicApi/types/teamRoleTypes'\n\nexport const JWT_TOKEN_PAYLOAD_SCHEMA = z.object({\n\tuserId: z.number(),\n\tuserUuid: z.string().uuid(),\n\tteamId: z.number(),\n\tteamUuid: z.string().uuid(),\n\tuserTeamRole: TEAM_ROLE_SCHEMA,\n\tuserEmail: z.string().email(),\n\tuserName: z.string(),\n\tuserCurrentTeamId: z.number(),\n\tplanId: z.number(),\n\tplanName: z.string(),\n\tisProviderAlpha: z.boolean(),\n\tisFullyAuthenticated: z.boolean(),\n\tisEndOfTrialActive: z.boolean(),\n\tisTeamSuspended: z.boolean(),\n\texp: z.number(),\n})\nexport type JwtTokenPayload = z.infer<typeof JWT_TOKEN_PAYLOAD_SCHEMA>\n"],"names":[],"mappings":";;AAGa,MAAA,2BAA2B,EAAE,OAAO;AAAA,EAChD,QAAQ,EAAE,OAAO;AAAA,EACjB,UAAU,EAAE,OAAO,EAAE,KAAK;AAAA,EAC1B,QAAQ,EAAE,OAAO;AAAA,EACjB,UAAU,EAAE,OAAO,EAAE,KAAK;AAAA,EAC1B,cAAc;AAAA,EACd,WAAW,EAAE,OAAO,EAAE,MAAM;AAAA,EAC5B,UAAU,EAAE,OAAO;AAAA,EACnB,mBAAmB,EAAE,OAAO;AAAA,EAC5B,QAAQ,EAAE,OAAO;AAAA,EACjB,UAAU,EAAE,OAAO;AAAA,EACnB,iBAAiB,EAAE,QAAQ;AAAA,EAC3B,sBAAsB,EAAE,QAAQ;AAAA,EAChC,oBAAoB,EAAE,QAAQ;AAAA,EAC9B,iBAAiB,EAAE,QAAQ;AAAA,EAC3B,KAAK,EAAE,OAAO;AACf,CAAC;"}
@@ -1,15 +1,12 @@
1
1
  "use strict";
2
- Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const jsxRuntime = require("react/jsx-runtime");
4
- const useSidebar = require("./harmony98.cjs");
5
- const louis = require("@lokalise/louis");
6
- const permissions = require("./harmony99.cjs");
7
- const BillingMenuItem = () => {
8
- const { jwt } = useSidebar.useSidebar();
9
- if (!permissions.canChangeBilling(jwt)) {
10
- return null;
11
- }
12
- return /* @__PURE__ */ jsxRuntime.jsx(louis.MenuItem, { href: "/team#billing", children: "Billing" });
2
+ Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
3
+ const link = "_link_18vhx_1";
4
+ const active = "_active_18vhx_18";
5
+ const styles = {
6
+ link,
7
+ active
13
8
  };
14
- exports.BillingMenuItem = BillingMenuItem;
9
+ exports.active = active;
10
+ exports.default = styles;
11
+ exports.link = link;
15
12
  //# sourceMappingURL=harmony108.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"harmony108.cjs","sources":["../src/components/Sidebar/Widgets/ProfileMenu/BillingMenuItem/BillingMenuItem.tsx"],"sourcesContent":["import { useSidebar } from '@components/Sidebar/hooks/useSidebar'\nimport { MenuItem } from '@lokalise/louis'\nimport { canChangeBilling } from '@utils/user/permissions'\n\n/**\n * A menu item component for navigating to the billing section.\n * Checks the user's permissions using the Sidebar context and renders\n * nothing if the user does not have access.\n *\n * @example\n * ```\n * <BillingMenuItem />\n * ```\n *\n * @note This component must be used within a Sidebar Context.\n */\n\nexport const BillingMenuItem = () => {\n\tconst { jwt } = useSidebar()\n\n\tif (!canChangeBilling(jwt)) {\n\t\treturn null\n\t}\n\n\treturn <MenuItem href=\"/team#billing\">Billing</MenuItem>\n}\n"],"names":["useSidebar","canChangeBilling","jsx","MenuItem"],"mappings":";;;;;;AAiBO,MAAM,kBAAkB,MAAM;AAC9B,QAAA,EAAE,IAAI,IAAIA,sBAAW;AAEvB,MAAA,CAACC,YAAAA,iBAAiB,GAAG,GAAG;AACpB,WAAA;AAAA,EAAA;AAGR,SAAQC,2BAAAA,IAAAC,MAAAA,UAAA,EAAS,MAAK,iBAAgB,UAAO,WAAA;AAC9C;;"}
1
+ {"version":3,"file":"harmony108.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;"}
@@ -1,15 +1,12 @@
1
- import { jsx } from "react/jsx-runtime";
2
- import { useSidebar } from "./harmony98.mjs";
3
- import { MenuItem } from "@lokalise/louis";
4
- import { canChangeBilling } from "./harmony99.mjs";
5
- const BillingMenuItem = () => {
6
- const { jwt } = useSidebar();
7
- if (!canChangeBilling(jwt)) {
8
- return null;
9
- }
10
- return /* @__PURE__ */ jsx(MenuItem, { href: "/team#billing", children: "Billing" });
1
+ const link = "_link_18vhx_1";
2
+ const active = "_active_18vhx_18";
3
+ const styles = {
4
+ link,
5
+ active
11
6
  };
12
7
  export {
13
- BillingMenuItem
8
+ active,
9
+ styles as default,
10
+ link
14
11
  };
15
12
  //# sourceMappingURL=harmony108.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"harmony108.mjs","sources":["../src/components/Sidebar/Widgets/ProfileMenu/BillingMenuItem/BillingMenuItem.tsx"],"sourcesContent":["import { useSidebar } from '@components/Sidebar/hooks/useSidebar'\nimport { MenuItem } from '@lokalise/louis'\nimport { canChangeBilling } from '@utils/user/permissions'\n\n/**\n * A menu item component for navigating to the billing section.\n * Checks the user's permissions using the Sidebar context and renders\n * nothing if the user does not have access.\n *\n * @example\n * ```\n * <BillingMenuItem />\n * ```\n *\n * @note This component must be used within a Sidebar Context.\n */\n\nexport const BillingMenuItem = () => {\n\tconst { jwt } = useSidebar()\n\n\tif (!canChangeBilling(jwt)) {\n\t\treturn null\n\t}\n\n\treturn <MenuItem href=\"/team#billing\">Billing</MenuItem>\n}\n"],"names":[],"mappings":";;;;AAiBO,MAAM,kBAAkB,MAAM;AAC9B,QAAA,EAAE,IAAI,IAAI,WAAW;AAEvB,MAAA,CAAC,iBAAiB,GAAG,GAAG;AACpB,WAAA;AAAA,EAAA;AAGR,SAAQ,oBAAA,UAAA,EAAS,MAAK,iBAAgB,UAAO,WAAA;AAC9C;"}
1
+ {"version":3,"file":"harmony108.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;"}
@@ -1,18 +1,15 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
3
  const jsxRuntime = require("react/jsx-runtime");
4
- const useSidebar = require("./harmony98.cjs");
4
+ const useSidebar = require("./harmony94.cjs");
5
5
  const louis = require("@lokalise/louis");
6
- const permissions = require("./harmony99.cjs");
7
- const CreateNewTeam = ({ onCreateTeam }) => {
6
+ const permissions = require("./harmony95.cjs");
7
+ const BillingMenuItem = () => {
8
8
  const { jwt } = useSidebar.useSidebar();
9
- if (!permissions.canCreateTeam(jwt)) {
9
+ if (!permissions.canChangeBilling(jwt)) {
10
10
  return null;
11
11
  }
12
- return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
13
- /* @__PURE__ */ jsxRuntime.jsx(louis.MenuItem, { onClick: onCreateTeam, children: "Create new team" }),
14
- /* @__PURE__ */ jsxRuntime.jsx(louis.MenuDivider, {})
15
- ] });
12
+ return /* @__PURE__ */ jsxRuntime.jsx(louis.MenuItem, { href: "/team#billing", children: "Billing" });
16
13
  };
17
- exports.CreateNewTeam = CreateNewTeam;
14
+ exports.BillingMenuItem = BillingMenuItem;
18
15
  //# sourceMappingURL=harmony109.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"harmony109.cjs","sources":["../src/components/Sidebar/Widgets/ProfileMenu/CreateNewTeam/CreateNewTeam.tsx"],"sourcesContent":["import { useSidebar } from '@components/Sidebar/hooks/useSidebar'\nimport { MenuDivider, MenuItem } from '@lokalise/louis'\nimport { canCreateTeam } from '@utils/user/permissions'\n\ntype CreateNewTeamProps = {\n\tonCreateTeam: () => void\n}\n\n/**\n * A menu item component for creating a new team.\n * Checks the user's permissions using the Sidebar context and renders\n * nothing if the user does not have access.\n *\n * @example\n * ```\n * <CreateNewTeam onCreateTeam={handleCreateTeam} />\n * ```\n *\n * @note This component must be used within a Sidebar Context.\n */\n\nexport const CreateNewTeam = ({ onCreateTeam }: CreateNewTeamProps) => {\n\tconst { jwt } = useSidebar()\n\n\tif (!canCreateTeam(jwt)) {\n\t\treturn null\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t<MenuItem onClick={onCreateTeam}>Create new team</MenuItem>\n\t\t\t<MenuDivider />\n\t\t</>\n\t)\n}\n"],"names":["useSidebar","canCreateTeam","jsxs","Fragment","jsx","MenuItem","MenuDivider"],"mappings":";;;;;;AAqBO,MAAM,gBAAgB,CAAC,EAAE,mBAAuC;AAChE,QAAA,EAAE,IAAI,IAAIA,sBAAW;AAEvB,MAAA,CAACC,YAAAA,cAAc,GAAG,GAAG;AACjB,WAAA;AAAA,EAAA;AAGR,SAEEC,2BAAA,KAAAC,qBAAA,EAAA,UAAA;AAAA,IAACC,2BAAA,IAAAC,MAAA,UAAA,EAAS,SAAS,cAAc,UAAe,mBAAA;AAAA,mCAC/CC,MAAY,aAAA,CAAA,CAAA;AAAA,EAAA,GACd;AAEF;;"}
1
+ {"version":3,"file":"harmony109.cjs","sources":["../src/components/Sidebar/Widgets/ProfileMenu/BillingMenuItem/BillingMenuItem.tsx"],"sourcesContent":["import { useSidebar } from '@components/Sidebar/hooks/useSidebar'\nimport { MenuItem } from '@lokalise/louis'\nimport { canChangeBilling } from '@utils/user/permissions'\n\n/**\n * A menu item component for navigating to the billing section.\n * Checks the user's permissions using the Sidebar context and renders\n * nothing if the user does not have access.\n *\n * @example\n * ```\n * <BillingMenuItem />\n * ```\n *\n * @note This component must be used within a Sidebar Context.\n */\n\nexport const BillingMenuItem = () => {\n\tconst { jwt } = useSidebar()\n\n\tif (!canChangeBilling(jwt)) {\n\t\treturn null\n\t}\n\n\treturn <MenuItem href=\"/team#billing\">Billing</MenuItem>\n}\n"],"names":["useSidebar","canChangeBilling","jsx","MenuItem"],"mappings":";;;;;;AAiBO,MAAM,kBAAkB,MAAM;AAC9B,QAAA,EAAE,IAAI,IAAIA,sBAAW;AAEvB,MAAA,CAACC,YAAAA,iBAAiB,GAAG,GAAG;AACpB,WAAA;AAAA,EAAA;AAGR,SAAQC,2BAAAA,IAAAC,MAAAA,UAAA,EAAS,MAAK,iBAAgB,UAAO,WAAA;AAC9C;;"}
@@ -1,18 +1,15 @@
1
- import { jsxs, Fragment, jsx } from "react/jsx-runtime";
2
- import { useSidebar } from "./harmony98.mjs";
3
- import { MenuItem, MenuDivider } from "@lokalise/louis";
4
- import { canCreateTeam } from "./harmony99.mjs";
5
- const CreateNewTeam = ({ onCreateTeam }) => {
1
+ import { jsx } from "react/jsx-runtime";
2
+ import { useSidebar } from "./harmony94.mjs";
3
+ import { MenuItem } from "@lokalise/louis";
4
+ import { canChangeBilling } from "./harmony95.mjs";
5
+ const BillingMenuItem = () => {
6
6
  const { jwt } = useSidebar();
7
- if (!canCreateTeam(jwt)) {
7
+ if (!canChangeBilling(jwt)) {
8
8
  return null;
9
9
  }
10
- return /* @__PURE__ */ jsxs(Fragment, { children: [
11
- /* @__PURE__ */ jsx(MenuItem, { onClick: onCreateTeam, children: "Create new team" }),
12
- /* @__PURE__ */ jsx(MenuDivider, {})
13
- ] });
10
+ return /* @__PURE__ */ jsx(MenuItem, { href: "/team#billing", children: "Billing" });
14
11
  };
15
12
  export {
16
- CreateNewTeam
13
+ BillingMenuItem
17
14
  };
18
15
  //# sourceMappingURL=harmony109.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"harmony109.mjs","sources":["../src/components/Sidebar/Widgets/ProfileMenu/CreateNewTeam/CreateNewTeam.tsx"],"sourcesContent":["import { useSidebar } from '@components/Sidebar/hooks/useSidebar'\nimport { MenuDivider, MenuItem } from '@lokalise/louis'\nimport { canCreateTeam } from '@utils/user/permissions'\n\ntype CreateNewTeamProps = {\n\tonCreateTeam: () => void\n}\n\n/**\n * A menu item component for creating a new team.\n * Checks the user's permissions using the Sidebar context and renders\n * nothing if the user does not have access.\n *\n * @example\n * ```\n * <CreateNewTeam onCreateTeam={handleCreateTeam} />\n * ```\n *\n * @note This component must be used within a Sidebar Context.\n */\n\nexport const CreateNewTeam = ({ onCreateTeam }: CreateNewTeamProps) => {\n\tconst { jwt } = useSidebar()\n\n\tif (!canCreateTeam(jwt)) {\n\t\treturn null\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t<MenuItem onClick={onCreateTeam}>Create new team</MenuItem>\n\t\t\t<MenuDivider />\n\t\t</>\n\t)\n}\n"],"names":[],"mappings":";;;;AAqBO,MAAM,gBAAgB,CAAC,EAAE,mBAAuC;AAChE,QAAA,EAAE,IAAI,IAAI,WAAW;AAEvB,MAAA,CAAC,cAAc,GAAG,GAAG;AACjB,WAAA;AAAA,EAAA;AAGR,SAEE,qBAAA,UAAA,EAAA,UAAA;AAAA,IAAC,oBAAA,UAAA,EAAS,SAAS,cAAc,UAAe,mBAAA;AAAA,wBAC/C,aAAY,CAAA,CAAA;AAAA,EAAA,GACd;AAEF;"}
1
+ {"version":3,"file":"harmony109.mjs","sources":["../src/components/Sidebar/Widgets/ProfileMenu/BillingMenuItem/BillingMenuItem.tsx"],"sourcesContent":["import { useSidebar } from '@components/Sidebar/hooks/useSidebar'\nimport { MenuItem } from '@lokalise/louis'\nimport { canChangeBilling } from '@utils/user/permissions'\n\n/**\n * A menu item component for navigating to the billing section.\n * Checks the user's permissions using the Sidebar context and renders\n * nothing if the user does not have access.\n *\n * @example\n * ```\n * <BillingMenuItem />\n * ```\n *\n * @note This component must be used within a Sidebar Context.\n */\n\nexport const BillingMenuItem = () => {\n\tconst { jwt } = useSidebar()\n\n\tif (!canChangeBilling(jwt)) {\n\t\treturn null\n\t}\n\n\treturn <MenuItem href=\"/team#billing\">Billing</MenuItem>\n}\n"],"names":[],"mappings":";;;;AAiBO,MAAM,kBAAkB,MAAM;AAC9B,QAAA,EAAE,IAAI,IAAI,WAAW;AAEvB,MAAA,CAAC,iBAAiB,GAAG,GAAG;AACpB,WAAA;AAAA,EAAA;AAGR,SAAQ,oBAAA,UAAA,EAAS,MAAK,iBAAgB,UAAO,WAAA;AAC9C;"}
@@ -1,22 +1,18 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
3
  const jsxRuntime = require("react/jsx-runtime");
4
- const useSidebar = require("./harmony98.cjs");
4
+ const useSidebar = require("./harmony94.cjs");
5
5
  const louis = require("@lokalise/louis");
6
- const permissions = require("./harmony99.cjs");
7
- const CreateNewTeamPlaceholder_module = require("./harmony126.cjs");
8
- const CreateNewTeamPlaceholder = ({ onClick }) => {
6
+ const permissions = require("./harmony95.cjs");
7
+ const CreateNewTeam = ({ onCreateTeam }) => {
9
8
  const { jwt } = useSidebar.useSidebar();
10
9
  if (!permissions.canCreateTeam(jwt)) {
11
10
  return null;
12
11
  }
13
12
  return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
14
- /* @__PURE__ */ jsxRuntime.jsx(louis.MenuItem, { onClick, "data-testid": "sidebar-create-new-team-placeholder", children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col", children: [
15
- /* @__PURE__ */ jsxRuntime.jsx("span", { className: CreateNewTeamPlaceholder_module.default.mainLabel, children: "Create new team" }),
16
- /* @__PURE__ */ jsxRuntime.jsx("span", { className: CreateNewTeamPlaceholder_module.default.subLabel, children: "Switch to Expert to create a new team" })
17
- ] }) }),
13
+ /* @__PURE__ */ jsxRuntime.jsx(louis.MenuItem, { onClick: onCreateTeam, children: "Create new team" }),
18
14
  /* @__PURE__ */ jsxRuntime.jsx(louis.MenuDivider, {})
19
15
  ] });
20
16
  };
21
- exports.CreateNewTeamPlaceholder = CreateNewTeamPlaceholder;
17
+ exports.CreateNewTeam = CreateNewTeam;
22
18
  //# sourceMappingURL=harmony110.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"harmony110.cjs","sources":["../src/components/Sidebar/Widgets/ProfileMenu/CreateNewTeamPlaceholder/CreateNewTeamPlaceholder.tsx"],"sourcesContent":["import { useSidebar } from '@components/Sidebar/hooks/useSidebar'\nimport { MenuDivider, MenuItem } from '@lokalise/louis'\nimport { canCreateTeam } from '@utils/user/permissions'\nimport styles from './CreateNewTeamPlaceholder.module.css'\n\ntype CreateNewTeamPlaceholderProps = {\n\tonClick: () => void\n}\n\n/**\n * A placeholder menu item for creating a new team.\n * Checks the user's permissions using the Sidebar context and renders\n * nothing if the user does not have access.\n *\n * @example\n * ```\n * <CreateNewTeamPlaceholder onClick={handleCreateTeam} />\n * ```\n *\n * @note This component must be used within a Sidebar Context.\n */\n\nexport const CreateNewTeamPlaceholder = ({ onClick }: CreateNewTeamPlaceholderProps) => {\n\tconst { jwt } = useSidebar()\n\n\tif (!canCreateTeam(jwt)) {\n\t\treturn null\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t<MenuItem onClick={onClick} data-testid=\"sidebar-create-new-team-placeholder\">\n\t\t\t\t<div className=\"flex flex-col\">\n\t\t\t\t\t<span className={styles.mainLabel}>Create new team</span>\n\t\t\t\t\t<span className={styles.subLabel}>Switch to Expert to create a new team</span>\n\t\t\t\t</div>\n\t\t\t</MenuItem>\n\t\t\t<MenuDivider />\n\t\t</>\n\t)\n}\n"],"names":["useSidebar","canCreateTeam","jsxs","Fragment","jsx","MenuItem","styles","MenuDivider"],"mappings":";;;;;;;AAsBO,MAAM,2BAA2B,CAAC,EAAE,cAA6C;AACjF,QAAA,EAAE,IAAI,IAAIA,sBAAW;AAEvB,MAAA,CAACC,YAAAA,cAAc,GAAG,GAAG;AACjB,WAAA;AAAA,EAAA;AAGR,SAEEC,2BAAA,KAAAC,qBAAA,EAAA,UAAA;AAAA,IAAAC,2BAAAA,IAACC,kBAAS,SAAkB,eAAY,uCACvC,UAACH,2BAAAA,KAAA,OAAA,EAAI,WAAU,iBACd,UAAA;AAAA,MAAAE,2BAAA,IAAC,QAAK,EAAA,WAAWE,gCAAO,QAAA,WAAW,UAAe,mBAAA;AAAA,MACjDF,2BAAA,IAAA,QAAA,EAAK,WAAWE,gCAAA,QAAO,UAAU,UAAqC,wCAAA,CAAA;AAAA,IAAA,EAAA,CACxE,EACD,CAAA;AAAA,mCACCC,MAAY,aAAA,CAAA,CAAA;AAAA,EAAA,GACd;AAEF;;"}
1
+ {"version":3,"file":"harmony110.cjs","sources":["../src/components/Sidebar/Widgets/ProfileMenu/CreateNewTeam/CreateNewTeam.tsx"],"sourcesContent":["import { useSidebar } from '@components/Sidebar/hooks/useSidebar'\nimport { MenuDivider, MenuItem } from '@lokalise/louis'\nimport { canCreateTeam } from '@utils/user/permissions'\n\ntype CreateNewTeamProps = {\n\tonCreateTeam: () => void\n}\n\n/**\n * A menu item component for creating a new team.\n * Checks the user's permissions using the Sidebar context and renders\n * nothing if the user does not have access.\n *\n * @example\n * ```\n * <CreateNewTeam onCreateTeam={handleCreateTeam} />\n * ```\n *\n * @note This component must be used within a Sidebar Context.\n */\n\nexport const CreateNewTeam = ({ onCreateTeam }: CreateNewTeamProps) => {\n\tconst { jwt } = useSidebar()\n\n\tif (!canCreateTeam(jwt)) {\n\t\treturn null\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t<MenuItem onClick={onCreateTeam}>Create new team</MenuItem>\n\t\t\t<MenuDivider />\n\t\t</>\n\t)\n}\n"],"names":["useSidebar","canCreateTeam","jsxs","Fragment","jsx","MenuItem","MenuDivider"],"mappings":";;;;;;AAqBO,MAAM,gBAAgB,CAAC,EAAE,mBAAuC;AAChE,QAAA,EAAE,IAAI,IAAIA,sBAAW;AAEvB,MAAA,CAACC,YAAAA,cAAc,GAAG,GAAG;AACjB,WAAA;AAAA,EAAA;AAGR,SAEEC,2BAAA,KAAAC,qBAAA,EAAA,UAAA;AAAA,IAACC,2BAAA,IAAAC,MAAA,UAAA,EAAS,SAAS,cAAc,UAAe,mBAAA;AAAA,mCAC/CC,MAAY,aAAA,CAAA,CAAA;AAAA,EAAA,GACd;AAEF;;"}
@@ -1,22 +1,18 @@
1
1
  import { jsxs, Fragment, jsx } from "react/jsx-runtime";
2
- import { useSidebar } from "./harmony98.mjs";
2
+ import { useSidebar } from "./harmony94.mjs";
3
3
  import { MenuItem, MenuDivider } from "@lokalise/louis";
4
- import { canCreateTeam } from "./harmony99.mjs";
5
- import styles from "./harmony126.mjs";
6
- const CreateNewTeamPlaceholder = ({ onClick }) => {
4
+ import { canCreateTeam } from "./harmony95.mjs";
5
+ const CreateNewTeam = ({ onCreateTeam }) => {
7
6
  const { jwt } = useSidebar();
8
7
  if (!canCreateTeam(jwt)) {
9
8
  return null;
10
9
  }
11
10
  return /* @__PURE__ */ jsxs(Fragment, { children: [
12
- /* @__PURE__ */ jsx(MenuItem, { onClick, "data-testid": "sidebar-create-new-team-placeholder", children: /* @__PURE__ */ jsxs("div", { className: "flex flex-col", children: [
13
- /* @__PURE__ */ jsx("span", { className: styles.mainLabel, children: "Create new team" }),
14
- /* @__PURE__ */ jsx("span", { className: styles.subLabel, children: "Switch to Expert to create a new team" })
15
- ] }) }),
11
+ /* @__PURE__ */ jsx(MenuItem, { onClick: onCreateTeam, children: "Create new team" }),
16
12
  /* @__PURE__ */ jsx(MenuDivider, {})
17
13
  ] });
18
14
  };
19
15
  export {
20
- CreateNewTeamPlaceholder
16
+ CreateNewTeam
21
17
  };
22
18
  //# sourceMappingURL=harmony110.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"harmony110.mjs","sources":["../src/components/Sidebar/Widgets/ProfileMenu/CreateNewTeamPlaceholder/CreateNewTeamPlaceholder.tsx"],"sourcesContent":["import { useSidebar } from '@components/Sidebar/hooks/useSidebar'\nimport { MenuDivider, MenuItem } from '@lokalise/louis'\nimport { canCreateTeam } from '@utils/user/permissions'\nimport styles from './CreateNewTeamPlaceholder.module.css'\n\ntype CreateNewTeamPlaceholderProps = {\n\tonClick: () => void\n}\n\n/**\n * A placeholder menu item for creating a new team.\n * Checks the user's permissions using the Sidebar context and renders\n * nothing if the user does not have access.\n *\n * @example\n * ```\n * <CreateNewTeamPlaceholder onClick={handleCreateTeam} />\n * ```\n *\n * @note This component must be used within a Sidebar Context.\n */\n\nexport const CreateNewTeamPlaceholder = ({ onClick }: CreateNewTeamPlaceholderProps) => {\n\tconst { jwt } = useSidebar()\n\n\tif (!canCreateTeam(jwt)) {\n\t\treturn null\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t<MenuItem onClick={onClick} data-testid=\"sidebar-create-new-team-placeholder\">\n\t\t\t\t<div className=\"flex flex-col\">\n\t\t\t\t\t<span className={styles.mainLabel}>Create new team</span>\n\t\t\t\t\t<span className={styles.subLabel}>Switch to Expert to create a new team</span>\n\t\t\t\t</div>\n\t\t\t</MenuItem>\n\t\t\t<MenuDivider />\n\t\t</>\n\t)\n}\n"],"names":[],"mappings":";;;;;AAsBO,MAAM,2BAA2B,CAAC,EAAE,cAA6C;AACjF,QAAA,EAAE,IAAI,IAAI,WAAW;AAEvB,MAAA,CAAC,cAAc,GAAG,GAAG;AACjB,WAAA;AAAA,EAAA;AAGR,SAEE,qBAAA,UAAA,EAAA,UAAA;AAAA,IAAA,oBAAC,YAAS,SAAkB,eAAY,uCACvC,UAAC,qBAAA,OAAA,EAAI,WAAU,iBACd,UAAA;AAAA,MAAA,oBAAC,QAAK,EAAA,WAAW,OAAO,WAAW,UAAe,mBAAA;AAAA,MACjD,oBAAA,QAAA,EAAK,WAAW,OAAO,UAAU,UAAqC,wCAAA,CAAA;AAAA,IAAA,EAAA,CACxE,EACD,CAAA;AAAA,wBACC,aAAY,CAAA,CAAA;AAAA,EAAA,GACd;AAEF;"}
1
+ {"version":3,"file":"harmony110.mjs","sources":["../src/components/Sidebar/Widgets/ProfileMenu/CreateNewTeam/CreateNewTeam.tsx"],"sourcesContent":["import { useSidebar } from '@components/Sidebar/hooks/useSidebar'\nimport { MenuDivider, MenuItem } from '@lokalise/louis'\nimport { canCreateTeam } from '@utils/user/permissions'\n\ntype CreateNewTeamProps = {\n\tonCreateTeam: () => void\n}\n\n/**\n * A menu item component for creating a new team.\n * Checks the user's permissions using the Sidebar context and renders\n * nothing if the user does not have access.\n *\n * @example\n * ```\n * <CreateNewTeam onCreateTeam={handleCreateTeam} />\n * ```\n *\n * @note This component must be used within a Sidebar Context.\n */\n\nexport const CreateNewTeam = ({ onCreateTeam }: CreateNewTeamProps) => {\n\tconst { jwt } = useSidebar()\n\n\tif (!canCreateTeam(jwt)) {\n\t\treturn null\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t<MenuItem onClick={onCreateTeam}>Create new team</MenuItem>\n\t\t\t<MenuDivider />\n\t\t</>\n\t)\n}\n"],"names":[],"mappings":";;;;AAqBO,MAAM,gBAAgB,CAAC,EAAE,mBAAuC;AAChE,QAAA,EAAE,IAAI,IAAI,WAAW;AAEvB,MAAA,CAAC,cAAc,GAAG,GAAG;AACjB,WAAA;AAAA,EAAA;AAGR,SAEE,qBAAA,UAAA,EAAA,UAAA;AAAA,IAAC,oBAAA,UAAA,EAAS,SAAS,cAAc,UAAe,mBAAA;AAAA,wBAC/C,aAAY,CAAA,CAAA;AAAA,EAAA,GACd;AAEF;"}
@@ -1,13 +1,22 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
3
  const jsxRuntime = require("react/jsx-runtime");
4
+ const useSidebar = require("./harmony94.cjs");
4
5
  const louis = require("@lokalise/louis");
5
- const DarkModeToggle_module = require("./harmony127.cjs");
6
- const DarkModeToggle = ({ onToggle, isDarkMode }) => {
7
- return /* @__PURE__ */ jsxRuntime.jsx(louis.MenuItem, { onClick: onToggle, children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: `flex-row justify-between gap-1 ${DarkModeToggle_module.default.switchContainer}`, children: [
8
- /* @__PURE__ */ jsxRuntime.jsx("span", { children: "Dark mode" }),
9
- /* @__PURE__ */ jsxRuntime.jsx(louis.Switch, { defaultChecked: isDarkMode, "aria-label": "Toggle dark mode" })
10
- ] }) });
6
+ const permissions = require("./harmony95.cjs");
7
+ const CreateNewTeamPlaceholder_module = require("./harmony131.cjs");
8
+ const CreateNewTeamPlaceholder = ({ onClick }) => {
9
+ const { jwt } = useSidebar.useSidebar();
10
+ if (!permissions.canCreateTeam(jwt)) {
11
+ return null;
12
+ }
13
+ return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
14
+ /* @__PURE__ */ jsxRuntime.jsx(louis.MenuItem, { onClick, "data-testid": "sidebar-create-new-team-placeholder", children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col", children: [
15
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: CreateNewTeamPlaceholder_module.default.mainLabel, children: "Create new team" }),
16
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: CreateNewTeamPlaceholder_module.default.subLabel, children: "Switch to Expert to create a new team" })
17
+ ] }) }),
18
+ /* @__PURE__ */ jsxRuntime.jsx(louis.MenuDivider, {})
19
+ ] });
11
20
  };
12
- exports.DarkModeToggle = DarkModeToggle;
21
+ exports.CreateNewTeamPlaceholder = CreateNewTeamPlaceholder;
13
22
  //# sourceMappingURL=harmony111.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"harmony111.cjs","sources":["../src/components/Sidebar/Widgets/ProfileMenu/DarkModeToggle/DarkModeToggle.tsx"],"sourcesContent":["import { MenuItem, Switch } from '@lokalise/louis'\nimport styles from './DarkModeToggle.module.css'\n\ntype DarkModeToggleProps = {\n\tonToggle: () => void\n\tisDarkMode: boolean\n}\n\n/**\n * A menu item component for toggling dark mode.\n * Displays a switch and label, and calls the provided onToggle handler when clicked.\n *\n * @example\n * ```\n * <DarkModeToggle\n * isDarkMode={isDarkMode}\n * onToggle={handleToggleDarkMode}\n * />\n * ```\n */\n\nexport const DarkModeToggle = ({ onToggle, isDarkMode }: DarkModeToggleProps) => {\n\treturn (\n\t\t<MenuItem onClick={onToggle}>\n\t\t\t<div className={`flex-row justify-between gap-1 ${styles.switchContainer}`}>\n\t\t\t\t<span>Dark mode</span>\n\t\t\t\t<Switch defaultChecked={isDarkMode} aria-label=\"Toggle dark mode\" />\n\t\t\t</div>\n\t\t</MenuItem>\n\t)\n}\n"],"names":["jsx","MenuItem","jsxs","styles","Switch"],"mappings":";;;;;AAqBO,MAAM,iBAAiB,CAAC,EAAE,UAAU,iBAAsC;AAE/E,SAAAA,2BAAAA,IAACC,MAAAA,UAAS,EAAA,SAAS,UAClB,UAAAC,2BAAA,KAAC,SAAI,WAAW,kCAAkCC,sBAAO,QAAA,eAAe,IACvE,UAAA;AAAA,IAAAH,2BAAAA,IAAC,UAAK,UAAS,YAAA,CAAA;AAAA,IACdA,2BAAA,IAAAI,MAAA,QAAA,EAAO,gBAAgB,YAAY,cAAW,mBAAmB,CAAA;AAAA,EAAA,EAAA,CACnE,EACD,CAAA;AAEF;;"}
1
+ {"version":3,"file":"harmony111.cjs","sources":["../src/components/Sidebar/Widgets/ProfileMenu/CreateNewTeamPlaceholder/CreateNewTeamPlaceholder.tsx"],"sourcesContent":["import { useSidebar } from '@components/Sidebar/hooks/useSidebar'\nimport { MenuDivider, MenuItem } from '@lokalise/louis'\nimport { canCreateTeam } from '@utils/user/permissions'\nimport styles from './CreateNewTeamPlaceholder.module.css'\n\ntype CreateNewTeamPlaceholderProps = {\n\tonClick: () => void\n}\n\n/**\n * A placeholder menu item for creating a new team.\n * Checks the user's permissions using the Sidebar context and renders\n * nothing if the user does not have access.\n *\n * @example\n * ```\n * <CreateNewTeamPlaceholder onClick={handleCreateTeam} />\n * ```\n *\n * @note This component must be used within a Sidebar Context.\n */\n\nexport const CreateNewTeamPlaceholder = ({ onClick }: CreateNewTeamPlaceholderProps) => {\n\tconst { jwt } = useSidebar()\n\n\tif (!canCreateTeam(jwt)) {\n\t\treturn null\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t<MenuItem onClick={onClick} data-testid=\"sidebar-create-new-team-placeholder\">\n\t\t\t\t<div className=\"flex flex-col\">\n\t\t\t\t\t<span className={styles.mainLabel}>Create new team</span>\n\t\t\t\t\t<span className={styles.subLabel}>Switch to Expert to create a new team</span>\n\t\t\t\t</div>\n\t\t\t</MenuItem>\n\t\t\t<MenuDivider />\n\t\t</>\n\t)\n}\n"],"names":["useSidebar","canCreateTeam","jsxs","Fragment","jsx","MenuItem","styles","MenuDivider"],"mappings":";;;;;;;AAsBO,MAAM,2BAA2B,CAAC,EAAE,cAA6C;AACjF,QAAA,EAAE,IAAI,IAAIA,sBAAW;AAEvB,MAAA,CAACC,YAAAA,cAAc,GAAG,GAAG;AACjB,WAAA;AAAA,EAAA;AAGR,SAEEC,2BAAA,KAAAC,qBAAA,EAAA,UAAA;AAAA,IAAAC,2BAAAA,IAACC,kBAAS,SAAkB,eAAY,uCACvC,UAACH,2BAAAA,KAAA,OAAA,EAAI,WAAU,iBACd,UAAA;AAAA,MAAAE,2BAAA,IAAC,QAAK,EAAA,WAAWE,gCAAO,QAAA,WAAW,UAAe,mBAAA;AAAA,MACjDF,2BAAA,IAAA,QAAA,EAAK,WAAWE,gCAAA,QAAO,UAAU,UAAqC,wCAAA,CAAA;AAAA,IAAA,EAAA,CACxE,EACD,CAAA;AAAA,mCACCC,MAAY,aAAA,CAAA,CAAA;AAAA,EAAA,GACd;AAEF;;"}
@@ -1,13 +1,22 @@
1
- import { jsx, jsxs } from "react/jsx-runtime";
2
- import { MenuItem, Switch } from "@lokalise/louis";
3
- import styles from "./harmony127.mjs";
4
- const DarkModeToggle = ({ onToggle, isDarkMode }) => {
5
- return /* @__PURE__ */ jsx(MenuItem, { onClick: onToggle, children: /* @__PURE__ */ jsxs("div", { className: `flex-row justify-between gap-1 ${styles.switchContainer}`, children: [
6
- /* @__PURE__ */ jsx("span", { children: "Dark mode" }),
7
- /* @__PURE__ */ jsx(Switch, { defaultChecked: isDarkMode, "aria-label": "Toggle dark mode" })
8
- ] }) });
1
+ import { jsxs, Fragment, jsx } from "react/jsx-runtime";
2
+ import { useSidebar } from "./harmony94.mjs";
3
+ import { MenuItem, MenuDivider } from "@lokalise/louis";
4
+ import { canCreateTeam } from "./harmony95.mjs";
5
+ import styles from "./harmony131.mjs";
6
+ const CreateNewTeamPlaceholder = ({ onClick }) => {
7
+ const { jwt } = useSidebar();
8
+ if (!canCreateTeam(jwt)) {
9
+ return null;
10
+ }
11
+ return /* @__PURE__ */ jsxs(Fragment, { children: [
12
+ /* @__PURE__ */ jsx(MenuItem, { onClick, "data-testid": "sidebar-create-new-team-placeholder", children: /* @__PURE__ */ jsxs("div", { className: "flex flex-col", children: [
13
+ /* @__PURE__ */ jsx("span", { className: styles.mainLabel, children: "Create new team" }),
14
+ /* @__PURE__ */ jsx("span", { className: styles.subLabel, children: "Switch to Expert to create a new team" })
15
+ ] }) }),
16
+ /* @__PURE__ */ jsx(MenuDivider, {})
17
+ ] });
9
18
  };
10
19
  export {
11
- DarkModeToggle
20
+ CreateNewTeamPlaceholder
12
21
  };
13
22
  //# sourceMappingURL=harmony111.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"harmony111.mjs","sources":["../src/components/Sidebar/Widgets/ProfileMenu/DarkModeToggle/DarkModeToggle.tsx"],"sourcesContent":["import { MenuItem, Switch } from '@lokalise/louis'\nimport styles from './DarkModeToggle.module.css'\n\ntype DarkModeToggleProps = {\n\tonToggle: () => void\n\tisDarkMode: boolean\n}\n\n/**\n * A menu item component for toggling dark mode.\n * Displays a switch and label, and calls the provided onToggle handler when clicked.\n *\n * @example\n * ```\n * <DarkModeToggle\n * isDarkMode={isDarkMode}\n * onToggle={handleToggleDarkMode}\n * />\n * ```\n */\n\nexport const DarkModeToggle = ({ onToggle, isDarkMode }: DarkModeToggleProps) => {\n\treturn (\n\t\t<MenuItem onClick={onToggle}>\n\t\t\t<div className={`flex-row justify-between gap-1 ${styles.switchContainer}`}>\n\t\t\t\t<span>Dark mode</span>\n\t\t\t\t<Switch defaultChecked={isDarkMode} aria-label=\"Toggle dark mode\" />\n\t\t\t</div>\n\t\t</MenuItem>\n\t)\n}\n"],"names":[],"mappings":";;;AAqBO,MAAM,iBAAiB,CAAC,EAAE,UAAU,iBAAsC;AAE/E,SAAA,oBAAC,UAAS,EAAA,SAAS,UAClB,UAAA,qBAAC,SAAI,WAAW,kCAAkC,OAAO,eAAe,IACvE,UAAA;AAAA,IAAA,oBAAC,UAAK,UAAS,YAAA,CAAA;AAAA,IACd,oBAAA,QAAA,EAAO,gBAAgB,YAAY,cAAW,mBAAmB,CAAA;AAAA,EAAA,EAAA,CACnE,EACD,CAAA;AAEF;"}
1
+ {"version":3,"file":"harmony111.mjs","sources":["../src/components/Sidebar/Widgets/ProfileMenu/CreateNewTeamPlaceholder/CreateNewTeamPlaceholder.tsx"],"sourcesContent":["import { useSidebar } from '@components/Sidebar/hooks/useSidebar'\nimport { MenuDivider, MenuItem } from '@lokalise/louis'\nimport { canCreateTeam } from '@utils/user/permissions'\nimport styles from './CreateNewTeamPlaceholder.module.css'\n\ntype CreateNewTeamPlaceholderProps = {\n\tonClick: () => void\n}\n\n/**\n * A placeholder menu item for creating a new team.\n * Checks the user's permissions using the Sidebar context and renders\n * nothing if the user does not have access.\n *\n * @example\n * ```\n * <CreateNewTeamPlaceholder onClick={handleCreateTeam} />\n * ```\n *\n * @note This component must be used within a Sidebar Context.\n */\n\nexport const CreateNewTeamPlaceholder = ({ onClick }: CreateNewTeamPlaceholderProps) => {\n\tconst { jwt } = useSidebar()\n\n\tif (!canCreateTeam(jwt)) {\n\t\treturn null\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t<MenuItem onClick={onClick} data-testid=\"sidebar-create-new-team-placeholder\">\n\t\t\t\t<div className=\"flex flex-col\">\n\t\t\t\t\t<span className={styles.mainLabel}>Create new team</span>\n\t\t\t\t\t<span className={styles.subLabel}>Switch to Expert to create a new team</span>\n\t\t\t\t</div>\n\t\t\t</MenuItem>\n\t\t\t<MenuDivider />\n\t\t</>\n\t)\n}\n"],"names":[],"mappings":";;;;;AAsBO,MAAM,2BAA2B,CAAC,EAAE,cAA6C;AACjF,QAAA,EAAE,IAAI,IAAI,WAAW;AAEvB,MAAA,CAAC,cAAc,GAAG,GAAG;AACjB,WAAA;AAAA,EAAA;AAGR,SAEE,qBAAA,UAAA,EAAA,UAAA;AAAA,IAAA,oBAAC,YAAS,SAAkB,eAAY,uCACvC,UAAC,qBAAA,OAAA,EAAI,WAAU,iBACd,UAAA;AAAA,MAAA,oBAAC,QAAK,EAAA,WAAW,OAAO,WAAW,UAAe,mBAAA;AAAA,MACjD,oBAAA,QAAA,EAAK,WAAW,OAAO,UAAU,UAAqC,wCAAA,CAAA;AAAA,IAAA,EAAA,CACxE,EACD,CAAA;AAAA,wBACC,aAAY,CAAA,CAAA;AAAA,EAAA,GACd;AAEF;"}
@@ -1,29 +1,13 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
3
  const jsxRuntime = require("react/jsx-runtime");
4
- const useSidebar = require("./harmony98.cjs");
5
4
  const louis = require("@lokalise/louis");
6
- const permissions = require("./harmony99.cjs");
7
- const ProfileSettingsMenuItem_module = require("./harmony128.cjs");
8
- const ProfileSettingsMenuItem = ({ onClick }) => {
9
- const { jwt } = useSidebar.useSidebar();
10
- if (!permissions.canAccessProfileSettings(jwt)) {
11
- return null;
12
- }
13
- return /* @__PURE__ */ jsxRuntime.jsx(
14
- louis.MenuItem,
15
- {
16
- "data-testid": "sidebar-profile-settings-menu-item",
17
- href: "/settings",
18
- onClick: () => {
19
- onClick == null ? void 0 : onClick();
20
- },
21
- children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: `flex-col ${ProfileSettingsMenuItem_module.default.container}`, children: [
22
- /* @__PURE__ */ jsxRuntime.jsx("span", { children: "Profile Settings" }),
23
- /* @__PURE__ */ jsxRuntime.jsx("span", { className: ProfileSettingsMenuItem_module.default.profileEmail, children: jwt == null ? void 0 : jwt.userEmail })
24
- ] })
25
- }
26
- );
5
+ const DarkModeToggle_module = require("./harmony132.cjs");
6
+ const DarkModeToggle = ({ onToggle, isDarkMode }) => {
7
+ return /* @__PURE__ */ jsxRuntime.jsx(louis.MenuItem, { onClick: onToggle, children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: `flex-row justify-between gap-1 ${DarkModeToggle_module.default.switchContainer}`, children: [
8
+ /* @__PURE__ */ jsxRuntime.jsx("span", { children: "Dark mode" }),
9
+ /* @__PURE__ */ jsxRuntime.jsx(louis.Switch, { defaultChecked: isDarkMode, "aria-label": "Toggle dark mode" })
10
+ ] }) });
27
11
  };
28
- exports.ProfileSettingsMenuItem = ProfileSettingsMenuItem;
12
+ exports.DarkModeToggle = DarkModeToggle;
29
13
  //# sourceMappingURL=harmony112.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"harmony112.cjs","sources":["../src/components/Sidebar/Widgets/ProfileMenu/ProfileSettingsMenuItem/ProfileSettingsMenuItem.tsx"],"sourcesContent":["import { useSidebar } from '@components/Sidebar/hooks/useSidebar'\nimport { MenuItem } from '@lokalise/louis'\nimport { canAccessProfileSettings } from '@utils/user/permissions'\nimport styles from './ProfileSettingsMenuItem.module.css'\n\n/**\n * A menu item component for navigating to the profile settings page.\n * Checks the user's permissions using the Sidebar context and renders\n * nothing if the user does not have access.\n *\n * @example\n * ```\n * <ProfileSettingsMenuItem onClick={() => { }} />\n * ```\n *\n * @note This component must be used within a Sidebar Context.\n */\n\ntype ProfileSettingsMenuItem = {\n\tonClick?: () => void\n}\n\nexport const ProfileSettingsMenuItem = ({ onClick }: ProfileSettingsMenuItem) => {\n\tconst { jwt } = useSidebar()\n\n\tif (!canAccessProfileSettings(jwt)) {\n\t\treturn null\n\t}\n\n\treturn (\n\t\t<MenuItem\n\t\t\tdata-testid=\"sidebar-profile-settings-menu-item\"\n\t\t\thref=\"/settings\"\n\t\t\tonClick={() => {\n\t\t\t\tonClick?.()\n\t\t\t}}\n\t\t>\n\t\t\t<div className={`flex-col ${styles.container}`}>\n\t\t\t\t<span>Profile Settings</span>\n\t\t\t\t<span className={styles.profileEmail}>{jwt?.userEmail}</span>\n\t\t\t</div>\n\t\t</MenuItem>\n\t)\n}\n"],"names":["useSidebar","canAccessProfileSettings","jsx","MenuItem","styles"],"mappings":";;;;;;;AAsBO,MAAM,0BAA0B,CAAC,EAAE,cAAuC;AAC1E,QAAA,EAAE,IAAI,IAAIA,sBAAW;AAEvB,MAAA,CAACC,YAAAA,yBAAyB,GAAG,GAAG;AAC5B,WAAA;AAAA,EAAA;AAIP,SAAAC,2BAAA;AAAA,IAACC,MAAA;AAAA,IAAA;AAAA,MACA,eAAY;AAAA,MACZ,MAAK;AAAA,MACL,SAAS,MAAM;AACJ;AAAA,MACX;AAAA,MAEA,0CAAC,OAAI,EAAA,WAAW,YAAYC,uCAAO,SAAS,IAC3C,UAAA;AAAA,QAAAF,2BAAAA,IAAC,UAAK,UAAgB,mBAAA,CAAA;AAAA,uCACrB,QAAK,EAAA,WAAWE,+BAAAA,QAAO,cAAe,qCAAK,UAAU,CAAA;AAAA,MAAA,EACvD,CAAA;AAAA,IAAA;AAAA,EACD;AAEF;;"}
1
+ {"version":3,"file":"harmony112.cjs","sources":["../src/components/Sidebar/Widgets/ProfileMenu/DarkModeToggle/DarkModeToggle.tsx"],"sourcesContent":["import { MenuItem, Switch } from '@lokalise/louis'\nimport styles from './DarkModeToggle.module.css'\n\ntype DarkModeToggleProps = {\n\tonToggle: () => void\n\tisDarkMode: boolean\n}\n\n/**\n * A menu item component for toggling dark mode.\n * Displays a switch and label, and calls the provided onToggle handler when clicked.\n *\n * @example\n * ```\n * <DarkModeToggle\n * isDarkMode={isDarkMode}\n * onToggle={handleToggleDarkMode}\n * />\n * ```\n */\n\nexport const DarkModeToggle = ({ onToggle, isDarkMode }: DarkModeToggleProps) => {\n\treturn (\n\t\t<MenuItem onClick={onToggle}>\n\t\t\t<div className={`flex-row justify-between gap-1 ${styles.switchContainer}`}>\n\t\t\t\t<span>Dark mode</span>\n\t\t\t\t<Switch defaultChecked={isDarkMode} aria-label=\"Toggle dark mode\" />\n\t\t\t</div>\n\t\t</MenuItem>\n\t)\n}\n"],"names":["jsx","MenuItem","jsxs","styles","Switch"],"mappings":";;;;;AAqBO,MAAM,iBAAiB,CAAC,EAAE,UAAU,iBAAsC;AAE/E,SAAAA,2BAAAA,IAACC,MAAAA,UAAS,EAAA,SAAS,UAClB,UAAAC,2BAAA,KAAC,SAAI,WAAW,kCAAkCC,sBAAO,QAAA,eAAe,IACvE,UAAA;AAAA,IAAAH,2BAAAA,IAAC,UAAK,UAAS,YAAA,CAAA;AAAA,IACdA,2BAAA,IAAAI,MAAA,QAAA,EAAO,gBAAgB,YAAY,cAAW,mBAAmB,CAAA;AAAA,EAAA,EAAA,CACnE,EACD,CAAA;AAEF;;"}
@@ -1,29 +1,13 @@
1
1
  import { jsx, jsxs } from "react/jsx-runtime";
2
- import { useSidebar } from "./harmony98.mjs";
3
- import { MenuItem } from "@lokalise/louis";
4
- import { canAccessProfileSettings } from "./harmony99.mjs";
5
- import styles from "./harmony128.mjs";
6
- const ProfileSettingsMenuItem = ({ onClick }) => {
7
- const { jwt } = useSidebar();
8
- if (!canAccessProfileSettings(jwt)) {
9
- return null;
10
- }
11
- return /* @__PURE__ */ jsx(
12
- MenuItem,
13
- {
14
- "data-testid": "sidebar-profile-settings-menu-item",
15
- href: "/settings",
16
- onClick: () => {
17
- onClick == null ? void 0 : onClick();
18
- },
19
- children: /* @__PURE__ */ jsxs("div", { className: `flex-col ${styles.container}`, children: [
20
- /* @__PURE__ */ jsx("span", { children: "Profile Settings" }),
21
- /* @__PURE__ */ jsx("span", { className: styles.profileEmail, children: jwt == null ? void 0 : jwt.userEmail })
22
- ] })
23
- }
24
- );
2
+ import { MenuItem, Switch } from "@lokalise/louis";
3
+ import styles from "./harmony132.mjs";
4
+ const DarkModeToggle = ({ onToggle, isDarkMode }) => {
5
+ return /* @__PURE__ */ jsx(MenuItem, { onClick: onToggle, children: /* @__PURE__ */ jsxs("div", { className: `flex-row justify-between gap-1 ${styles.switchContainer}`, children: [
6
+ /* @__PURE__ */ jsx("span", { children: "Dark mode" }),
7
+ /* @__PURE__ */ jsx(Switch, { defaultChecked: isDarkMode, "aria-label": "Toggle dark mode" })
8
+ ] }) });
25
9
  };
26
10
  export {
27
- ProfileSettingsMenuItem
11
+ DarkModeToggle
28
12
  };
29
13
  //# sourceMappingURL=harmony112.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"harmony112.mjs","sources":["../src/components/Sidebar/Widgets/ProfileMenu/ProfileSettingsMenuItem/ProfileSettingsMenuItem.tsx"],"sourcesContent":["import { useSidebar } from '@components/Sidebar/hooks/useSidebar'\nimport { MenuItem } from '@lokalise/louis'\nimport { canAccessProfileSettings } from '@utils/user/permissions'\nimport styles from './ProfileSettingsMenuItem.module.css'\n\n/**\n * A menu item component for navigating to the profile settings page.\n * Checks the user's permissions using the Sidebar context and renders\n * nothing if the user does not have access.\n *\n * @example\n * ```\n * <ProfileSettingsMenuItem onClick={() => { }} />\n * ```\n *\n * @note This component must be used within a Sidebar Context.\n */\n\ntype ProfileSettingsMenuItem = {\n\tonClick?: () => void\n}\n\nexport const ProfileSettingsMenuItem = ({ onClick }: ProfileSettingsMenuItem) => {\n\tconst { jwt } = useSidebar()\n\n\tif (!canAccessProfileSettings(jwt)) {\n\t\treturn null\n\t}\n\n\treturn (\n\t\t<MenuItem\n\t\t\tdata-testid=\"sidebar-profile-settings-menu-item\"\n\t\t\thref=\"/settings\"\n\t\t\tonClick={() => {\n\t\t\t\tonClick?.()\n\t\t\t}}\n\t\t>\n\t\t\t<div className={`flex-col ${styles.container}`}>\n\t\t\t\t<span>Profile Settings</span>\n\t\t\t\t<span className={styles.profileEmail}>{jwt?.userEmail}</span>\n\t\t\t</div>\n\t\t</MenuItem>\n\t)\n}\n"],"names":[],"mappings":";;;;;AAsBO,MAAM,0BAA0B,CAAC,EAAE,cAAuC;AAC1E,QAAA,EAAE,IAAI,IAAI,WAAW;AAEvB,MAAA,CAAC,yBAAyB,GAAG,GAAG;AAC5B,WAAA;AAAA,EAAA;AAIP,SAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACA,eAAY;AAAA,MACZ,MAAK;AAAA,MACL,SAAS,MAAM;AACJ;AAAA,MACX;AAAA,MAEA,+BAAC,OAAI,EAAA,WAAW,YAAY,OAAO,SAAS,IAC3C,UAAA;AAAA,QAAA,oBAAC,UAAK,UAAgB,mBAAA,CAAA;AAAA,4BACrB,QAAK,EAAA,WAAW,OAAO,cAAe,qCAAK,UAAU,CAAA;AAAA,MAAA,EACvD,CAAA;AAAA,IAAA;AAAA,EACD;AAEF;"}
1
+ {"version":3,"file":"harmony112.mjs","sources":["../src/components/Sidebar/Widgets/ProfileMenu/DarkModeToggle/DarkModeToggle.tsx"],"sourcesContent":["import { MenuItem, Switch } from '@lokalise/louis'\nimport styles from './DarkModeToggle.module.css'\n\ntype DarkModeToggleProps = {\n\tonToggle: () => void\n\tisDarkMode: boolean\n}\n\n/**\n * A menu item component for toggling dark mode.\n * Displays a switch and label, and calls the provided onToggle handler when clicked.\n *\n * @example\n * ```\n * <DarkModeToggle\n * isDarkMode={isDarkMode}\n * onToggle={handleToggleDarkMode}\n * />\n * ```\n */\n\nexport const DarkModeToggle = ({ onToggle, isDarkMode }: DarkModeToggleProps) => {\n\treturn (\n\t\t<MenuItem onClick={onToggle}>\n\t\t\t<div className={`flex-row justify-between gap-1 ${styles.switchContainer}`}>\n\t\t\t\t<span>Dark mode</span>\n\t\t\t\t<Switch defaultChecked={isDarkMode} aria-label=\"Toggle dark mode\" />\n\t\t\t</div>\n\t\t</MenuItem>\n\t)\n}\n"],"names":[],"mappings":";;;AAqBO,MAAM,iBAAiB,CAAC,EAAE,UAAU,iBAAsC;AAE/E,SAAA,oBAAC,UAAS,EAAA,SAAS,UAClB,UAAA,qBAAC,SAAI,WAAW,kCAAkC,OAAO,eAAe,IACvE,UAAA;AAAA,IAAA,oBAAC,UAAK,UAAS,YAAA,CAAA;AAAA,IACd,oBAAA,QAAA,EAAO,gBAAgB,YAAY,cAAW,mBAAmB,CAAA;AAAA,EAAA,EAAA,CACnE,EACD,CAAA;AAEF;"}