@lokalise/harmony 2.1.0-exp-testingContracts.4 → 2.1.0-exp-testingContracts.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 (264) hide show
  1. package/dist/harmony.cjs +1 -0
  2. package/dist/harmony.cjs.map +1 -1
  3. package/dist/harmony.mjs +2 -1
  4. package/dist/harmony103.cjs +1 -1
  5. package/dist/harmony103.mjs +1 -1
  6. package/dist/harmony104.cjs +7 -7
  7. package/dist/harmony104.mjs +7 -7
  8. package/dist/harmony107.cjs +1 -1
  9. package/dist/harmony107.mjs +1 -1
  10. package/dist/harmony108.cjs +1 -1
  11. package/dist/harmony108.mjs +1 -1
  12. package/dist/harmony109.cjs +14 -3
  13. package/dist/harmony109.cjs.map +1 -1
  14. package/dist/harmony109.mjs +14 -3
  15. package/dist/harmony109.mjs.map +1 -1
  16. package/dist/harmony110.cjs +3 -18
  17. package/dist/harmony110.cjs.map +1 -1
  18. package/dist/harmony110.mjs +3 -18
  19. package/dist/harmony110.mjs.map +1 -1
  20. package/dist/harmony111.cjs +12 -70
  21. package/dist/harmony111.cjs.map +1 -1
  22. package/dist/harmony111.mjs +14 -72
  23. package/dist/harmony111.mjs.map +1 -1
  24. package/dist/harmony112.cjs +75 -11
  25. package/dist/harmony112.cjs.map +1 -1
  26. package/dist/harmony112.mjs +75 -11
  27. package/dist/harmony112.mjs.map +1 -1
  28. package/dist/harmony113.cjs +12 -34
  29. package/dist/harmony113.cjs.map +1 -1
  30. package/dist/harmony113.mjs +12 -34
  31. package/dist/harmony113.mjs.map +1 -1
  32. package/dist/harmony114.cjs +34 -9
  33. package/dist/harmony114.cjs.map +1 -1
  34. package/dist/harmony114.mjs +34 -9
  35. package/dist/harmony114.mjs.map +1 -1
  36. package/dist/harmony115.cjs +8 -46
  37. package/dist/harmony115.cjs.map +1 -1
  38. package/dist/harmony115.mjs +9 -47
  39. package/dist/harmony115.mjs.map +1 -1
  40. package/dist/harmony116.cjs +47 -9
  41. package/dist/harmony116.cjs.map +1 -1
  42. package/dist/harmony116.mjs +46 -8
  43. package/dist/harmony116.mjs.map +1 -1
  44. package/dist/harmony117.cjs +10 -12
  45. package/dist/harmony117.cjs.map +1 -1
  46. package/dist/harmony117.mjs +9 -11
  47. package/dist/harmony117.mjs.map +1 -1
  48. package/dist/harmony118.cjs +12 -22
  49. package/dist/harmony118.cjs.map +1 -1
  50. package/dist/harmony118.mjs +11 -21
  51. package/dist/harmony118.mjs.map +1 -1
  52. package/dist/harmony119.cjs +21 -14
  53. package/dist/harmony119.cjs.map +1 -1
  54. package/dist/harmony119.mjs +20 -13
  55. package/dist/harmony119.mjs.map +1 -1
  56. package/dist/harmony122.cjs +2 -2
  57. package/dist/harmony122.mjs +2 -2
  58. package/dist/harmony128.cjs +6 -6
  59. package/dist/harmony128.mjs +6 -6
  60. package/dist/harmony129.cjs +87 -9
  61. package/dist/harmony129.cjs.map +1 -1
  62. package/dist/harmony129.mjs +86 -8
  63. package/dist/harmony129.mjs.map +1 -1
  64. package/dist/harmony130.cjs +29 -11
  65. package/dist/harmony130.cjs.map +1 -1
  66. package/dist/harmony130.mjs +29 -11
  67. package/dist/harmony130.mjs.map +1 -1
  68. package/dist/harmony131.cjs +6 -16
  69. package/dist/harmony131.cjs.map +1 -1
  70. package/dist/harmony131.mjs +5 -15
  71. package/dist/harmony131.mjs.map +1 -1
  72. package/dist/harmony132.cjs +6 -20
  73. package/dist/harmony132.cjs.map +1 -1
  74. package/dist/harmony132.mjs +5 -19
  75. package/dist/harmony132.mjs.map +1 -1
  76. package/dist/harmony133.cjs +9 -10
  77. package/dist/harmony133.cjs.map +1 -1
  78. package/dist/harmony133.mjs +8 -9
  79. package/dist/harmony133.mjs.map +1 -1
  80. package/dist/harmony134.cjs +6 -20
  81. package/dist/harmony134.cjs.map +1 -1
  82. package/dist/harmony134.mjs +7 -21
  83. package/dist/harmony134.mjs.map +1 -1
  84. package/dist/harmony135.cjs +9 -6
  85. package/dist/harmony135.cjs.map +1 -1
  86. package/dist/harmony135.mjs +11 -8
  87. package/dist/harmony135.mjs.map +1 -1
  88. package/dist/harmony136.cjs +14 -33
  89. package/dist/harmony136.cjs.map +1 -1
  90. package/dist/harmony136.mjs +16 -35
  91. package/dist/harmony136.mjs.map +1 -1
  92. package/dist/harmony137.cjs +7 -9
  93. package/dist/harmony137.cjs.map +1 -1
  94. package/dist/harmony137.mjs +9 -11
  95. package/dist/harmony137.mjs.map +1 -1
  96. package/dist/harmony138.cjs +18 -14
  97. package/dist/harmony138.cjs.map +1 -1
  98. package/dist/harmony138.mjs +19 -15
  99. package/dist/harmony138.mjs.map +1 -1
  100. package/dist/harmony139.cjs +7 -31
  101. package/dist/harmony139.cjs.map +1 -1
  102. package/dist/harmony139.mjs +8 -32
  103. package/dist/harmony139.mjs.map +1 -1
  104. package/dist/harmony140.cjs +38 -21
  105. package/dist/harmony140.cjs.map +1 -1
  106. package/dist/harmony140.mjs +37 -20
  107. package/dist/harmony140.mjs.map +1 -1
  108. package/dist/harmony141.cjs +9 -18
  109. package/dist/harmony141.cjs.map +1 -1
  110. package/dist/harmony141.mjs +10 -19
  111. package/dist/harmony141.mjs.map +1 -1
  112. package/dist/harmony142.cjs +22 -6
  113. package/dist/harmony142.cjs.map +1 -1
  114. package/dist/harmony142.mjs +21 -5
  115. package/dist/harmony142.mjs.map +1 -1
  116. package/dist/harmony143.cjs +36 -15
  117. package/dist/harmony143.cjs.map +1 -1
  118. package/dist/harmony143.mjs +35 -14
  119. package/dist/harmony143.mjs.map +1 -1
  120. package/dist/harmony144.cjs +21 -87
  121. package/dist/harmony144.cjs.map +1 -1
  122. package/dist/harmony144.mjs +20 -86
  123. package/dist/harmony144.mjs.map +1 -1
  124. package/dist/harmony145.cjs +21 -30
  125. package/dist/harmony145.cjs.map +1 -1
  126. package/dist/harmony145.mjs +21 -30
  127. package/dist/harmony145.mjs.map +1 -1
  128. package/dist/harmony146.cjs +6 -5
  129. package/dist/harmony146.cjs.map +1 -1
  130. package/dist/harmony146.mjs +6 -5
  131. package/dist/harmony147.cjs +15 -5
  132. package/dist/harmony147.cjs.map +1 -1
  133. package/dist/harmony147.mjs +15 -5
  134. package/dist/harmony147.mjs.map +1 -1
  135. package/dist/harmony148.cjs +10 -3
  136. package/dist/harmony148.cjs.map +1 -1
  137. package/dist/harmony148.mjs +10 -3
  138. package/dist/harmony148.mjs.map +1 -1
  139. package/dist/harmony149.cjs +2 -2
  140. package/dist/harmony149.cjs.map +1 -1
  141. package/dist/harmony149.mjs +2 -2
  142. package/dist/harmony149.mjs.map +1 -1
  143. package/dist/harmony150.cjs +2 -2
  144. package/dist/harmony150.cjs.map +1 -1
  145. package/dist/harmony150.mjs +2 -2
  146. package/dist/harmony150.mjs.map +1 -1
  147. package/dist/harmony151.cjs +2 -13
  148. package/dist/harmony151.cjs.map +1 -1
  149. package/dist/harmony151.mjs +2 -13
  150. package/dist/harmony151.mjs.map +1 -1
  151. package/dist/harmony152.cjs +5 -5
  152. package/dist/harmony152.cjs.map +1 -1
  153. package/dist/harmony152.mjs +5 -5
  154. package/dist/harmony152.mjs.map +1 -1
  155. package/dist/harmony153.cjs +13 -2
  156. package/dist/harmony153.cjs.map +1 -1
  157. package/dist/harmony153.mjs +13 -2
  158. package/dist/harmony153.mjs.map +1 -1
  159. package/dist/harmony154.cjs +4 -10
  160. package/dist/harmony154.cjs.map +1 -1
  161. package/dist/harmony154.mjs +3 -9
  162. package/dist/harmony154.mjs.map +1 -1
  163. package/dist/harmony155.cjs +97 -7
  164. package/dist/harmony155.cjs.map +1 -1
  165. package/dist/harmony155.mjs +96 -6
  166. package/dist/harmony155.mjs.map +1 -1
  167. package/dist/harmony156.cjs +14 -10
  168. package/dist/harmony156.cjs.map +1 -1
  169. package/dist/harmony156.mjs +13 -9
  170. package/dist/harmony156.mjs.map +1 -1
  171. package/dist/harmony157.cjs +15 -25
  172. package/dist/harmony157.cjs.map +1 -1
  173. package/dist/harmony157.mjs +14 -24
  174. package/dist/harmony157.mjs.map +1 -1
  175. package/dist/harmony158.cjs +37 -7
  176. package/dist/harmony158.cjs.map +1 -1
  177. package/dist/harmony158.mjs +36 -6
  178. package/dist/harmony158.mjs.map +1 -1
  179. package/dist/harmony159.cjs +29 -13
  180. package/dist/harmony159.cjs.map +1 -1
  181. package/dist/harmony159.mjs +28 -12
  182. package/dist/harmony159.mjs.map +1 -1
  183. package/dist/harmony160.cjs +6 -3
  184. package/dist/harmony160.cjs.map +1 -1
  185. package/dist/harmony160.mjs +6 -3
  186. package/dist/harmony160.mjs.map +1 -1
  187. package/dist/harmony161.cjs +6 -10
  188. package/dist/harmony161.cjs.map +1 -1
  189. package/dist/harmony161.mjs +5 -9
  190. package/dist/harmony161.mjs.map +1 -1
  191. package/dist/harmony162.cjs +10 -97
  192. package/dist/harmony162.cjs.map +1 -1
  193. package/dist/harmony162.mjs +9 -96
  194. package/dist/harmony162.mjs.map +1 -1
  195. package/dist/harmony163.cjs +25 -14
  196. package/dist/harmony163.cjs.map +1 -1
  197. package/dist/harmony163.mjs +24 -13
  198. package/dist/harmony163.mjs.map +1 -1
  199. package/dist/harmony164.cjs +7 -15
  200. package/dist/harmony164.cjs.map +1 -1
  201. package/dist/harmony164.mjs +6 -14
  202. package/dist/harmony164.mjs.map +1 -1
  203. package/dist/harmony165.cjs +13 -37
  204. package/dist/harmony165.cjs.map +1 -1
  205. package/dist/harmony165.mjs +12 -36
  206. package/dist/harmony165.mjs.map +1 -1
  207. package/dist/harmony166.cjs +7 -29
  208. package/dist/harmony166.cjs.map +1 -1
  209. package/dist/harmony166.mjs +6 -28
  210. package/dist/harmony166.mjs.map +1 -1
  211. package/dist/harmony167.cjs +13 -32
  212. package/dist/harmony167.cjs.map +1 -1
  213. package/dist/harmony167.mjs +13 -32
  214. package/dist/harmony167.mjs.map +1 -1
  215. package/dist/harmony168.cjs +14 -12
  216. package/dist/harmony168.cjs.map +1 -1
  217. package/dist/harmony168.mjs +14 -12
  218. package/dist/harmony168.mjs.map +1 -1
  219. package/dist/harmony169.cjs +14 -13
  220. package/dist/harmony169.cjs.map +1 -1
  221. package/dist/harmony169.mjs +14 -13
  222. package/dist/harmony169.mjs.map +1 -1
  223. package/dist/harmony17.cjs +1 -1
  224. package/dist/harmony17.mjs +1 -1
  225. package/dist/harmony170.cjs +31 -15
  226. package/dist/harmony170.cjs.map +1 -1
  227. package/dist/harmony170.mjs +31 -15
  228. package/dist/harmony170.mjs.map +1 -1
  229. package/dist/harmony171.cjs +1 -1
  230. package/dist/harmony171.mjs +1 -1
  231. package/dist/harmony173.cjs +3 -3
  232. package/dist/harmony173.mjs +3 -3
  233. package/dist/harmony175.cjs +6 -4
  234. package/dist/harmony175.cjs.map +1 -1
  235. package/dist/harmony175.mjs +6 -4
  236. package/dist/harmony175.mjs.map +1 -1
  237. package/dist/harmony176.cjs +11 -5
  238. package/dist/harmony176.cjs.map +1 -1
  239. package/dist/harmony176.mjs +11 -5
  240. package/dist/harmony176.mjs.map +1 -1
  241. package/dist/harmony177.cjs +31 -11
  242. package/dist/harmony177.cjs.map +1 -1
  243. package/dist/harmony177.mjs +31 -11
  244. package/dist/harmony177.mjs.map +1 -1
  245. package/dist/harmony178.cjs +10 -28
  246. package/dist/harmony178.cjs.map +1 -1
  247. package/dist/harmony178.mjs +10 -28
  248. package/dist/harmony178.mjs.map +1 -1
  249. package/dist/harmony179.cjs +4 -14
  250. package/dist/harmony179.cjs.map +1 -1
  251. package/dist/harmony179.mjs +4 -14
  252. package/dist/harmony179.mjs.map +1 -1
  253. package/dist/harmony28.cjs +1 -1
  254. package/dist/harmony28.mjs +1 -1
  255. package/dist/harmony29.cjs +1 -1
  256. package/dist/harmony29.mjs +1 -1
  257. package/dist/harmony90.cjs +2 -0
  258. package/dist/harmony90.cjs.map +1 -1
  259. package/dist/harmony90.mjs +2 -0
  260. package/dist/harmony90.mjs.map +1 -1
  261. package/dist/harmony97.cjs +2 -2
  262. package/dist/harmony97.mjs +2 -2
  263. package/dist/types/src/features/publicApi/TESTING_CONTRACTS.d.ts +1 -0
  264. package/package.json +1 -1
@@ -1,24 +1,41 @@
1
- const menuContainer = "_menuContainer_1phdw_10";
2
- const profileButton = "_profileButton_1phdw_20";
3
- const profileImage = "_profileImage_1phdw_33";
4
- const profileImageHighlight = "_profileImageHighlight_1phdw_41";
5
- const profileImageUpgradeIcon = "_profileImageUpgradeIcon_1phdw_45";
6
- const userIconWrapper = "_userIconWrapper_1phdw_51";
7
- const styles = {
8
- menuContainer,
9
- profileButton,
10
- profileImage,
11
- profileImageHighlight,
12
- profileImageUpgradeIcon,
13
- userIconWrapper
1
+ import { jsxs, jsx } from "react/jsx-runtime";
2
+ import { useSidebar } from "./harmony113.mjs";
3
+ import { MenuItem, UserIcon } from "@lokalise/louis";
4
+ import { isFreePlan, isTrialPlan } from "./harmony11.mjs";
5
+ import styles from "./harmony163.mjs";
6
+ const TeamMenuItem = ({ team, onClick, hidePlanLabel }) => {
7
+ const {
8
+ jwt,
9
+ data: { currentTeam }
10
+ } = useSidebar();
11
+ const contextTeam = team ?? currentTeam.result;
12
+ if (!contextTeam || typeof (jwt == null ? void 0 : jwt.planId) !== "number" || !Number.isFinite(jwt.planId)) {
13
+ return null;
14
+ }
15
+ const planId = jwt.planId;
16
+ const planLabel = isFreePlan(planId) ? "Free" : isTrialPlan(planId) ? "Trial" : void 0;
17
+ const WrapperNode = onClick ? MenuItem : "div";
18
+ const testId = onClick ? "sidebar-clickable-team-menu-item" : "sidebar-team-menu-item";
19
+ return /* @__PURE__ */ jsxs(
20
+ WrapperNode,
21
+ {
22
+ "data-testid": testId,
23
+ className: styles.wrapper,
24
+ ...onClick && { onClick: () => onClick(contextTeam) },
25
+ children: [
26
+ contextTeam.logoUrl ? /* @__PURE__ */ jsx("img", { className: styles.profileImage, src: contextTeam.logoUrl, alt: "Team logo" }) : /* @__PURE__ */ jsx("span", { className: `${styles.defaultProfileImage}`, children: /* @__PURE__ */ jsx(UserIcon, { size: "25px" }) }),
27
+ /* @__PURE__ */ jsxs("div", { className: styles.teamDetails, children: [
28
+ /* @__PURE__ */ jsxs("div", { className: styles.planWrapper, children: [
29
+ /* @__PURE__ */ jsx("span", { title: contextTeam.name, className: styles.teamName, children: contextTeam.name }),
30
+ planLabel && !hidePlanLabel && /* @__PURE__ */ jsx("span", { className: styles.teamName, children: planLabel })
31
+ ] }),
32
+ /* @__PURE__ */ jsx("span", { className: styles.membership, children: contextTeam.role })
33
+ ] })
34
+ ]
35
+ }
36
+ );
14
37
  };
15
38
  export {
16
- styles as default,
17
- menuContainer,
18
- profileButton,
19
- profileImage,
20
- profileImageHighlight,
21
- profileImageUpgradeIcon,
22
- userIconWrapper
39
+ TeamMenuItem
23
40
  };
24
41
  //# sourceMappingURL=harmony140.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"harmony140.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"harmony140.mjs","sources":["../src/components/Sidebar/Widgets/ProfileMenu/TeamMenuItem/TeamMenuItem.tsx"],"sourcesContent":["import { useSidebar } from '@components/Sidebar/hooks/useSidebar'\nimport { MenuItem, UserIcon } from '@lokalise/louis'\nimport { isFreePlan, isTrialPlan } from '@utils'\nimport type { SidebarTeam } from '../../../types'\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 Sidebar Context.\n */\n\nexport const TeamMenuItem = ({ team, onClick, hidePlanLabel }: TeamMenuItemProps) => {\n\tconst {\n\t\tjwt,\n\t\tdata: { currentTeam },\n\t} = useSidebar()\n\n\tconst contextTeam = team ?? currentTeam.result\n\n\tif (!contextTeam || typeof jwt?.planId !== 'number' || !Number.isFinite(jwt.planId)) {\n\t\treturn null\n\t}\n\n\tconst planId = jwt.planId\n\n\tconst planLabel = isFreePlan(planId) ? 'Free' : isTrialPlan(planId) ? 'Trial' : undefined\n\n\tconst WrapperNode = onClick ? MenuItem : 'div'\n\n\tconst testId = onClick ? 'sidebar-clickable-team-menu-item' : 'sidebar-team-menu-item'\n\n\treturn (\n\t\t<WrapperNode\n\t\t\tdata-testid={testId}\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":";;;;;AAuCO,MAAM,eAAe,CAAC,EAAE,MAAM,SAAS,oBAAuC;AAC9E,QAAA;AAAA,IACL;AAAA,IACA,MAAM,EAAE,YAAY;AAAA,MACjB,WAAW;AAET,QAAA,cAAc,QAAQ,YAAY;AAEpC,MAAA,CAAC,eAAe,QAAO,2BAAK,YAAW,YAAY,CAAC,OAAO,SAAS,IAAI,MAAM,GAAG;AAC7E,WAAA;AAAA,EAAA;AAGR,QAAM,SAAS,IAAI;AAEb,QAAA,YAAY,WAAW,MAAM,IAAI,SAAS,YAAY,MAAM,IAAI,UAAU;AAE1E,QAAA,cAAc,UAAU,WAAW;AAEnC,QAAA,SAAS,UAAU,qCAAqC;AAG7D,SAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACA,eAAa;AAAA,MACb,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,24 +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("./harmony113.cjs");
4
5
  const louis = require("@lokalise/louis");
5
- const clsx = require("./harmony93.cjs");
6
- const UpgradeIcon_module = require("./harmony160.cjs");
7
- const UpgradeIcon = ({ className = "" }) => {
8
- return /* @__PURE__ */ jsxRuntime.jsx(
9
- "div",
10
- {
11
- "aria-label": "Upgrade Icon",
12
- className: clsx.clsx(
13
- UpgradeIcon_module.default.iconContainer,
14
- "flex-row",
15
- "items-center",
16
- "justify-center",
17
- className
18
- ),
19
- children: /* @__PURE__ */ jsxRuntime.jsx(louis.CaretUpIcon, {})
20
- }
21
- );
6
+ const permissions = require("./harmony114.cjs");
7
+ const TeamSettingsMenuItem = () => {
8
+ const { jwt } = useSidebar.useSidebar();
9
+ if (!permissions.canAccessTeamSettings(jwt)) {
10
+ return null;
11
+ }
12
+ return /* @__PURE__ */ jsxRuntime.jsx(louis.MenuItem, { href: "/team", children: "Team settings" });
22
13
  };
23
- exports.UpgradeIcon = UpgradeIcon;
14
+ exports.TeamSettingsMenuItem = TeamSettingsMenuItem;
24
15
  //# sourceMappingURL=harmony141.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"harmony141.cjs","sources":["../src/components/Sidebar/Widgets/ProfileMenu/UpgradeIcon/UpgradeIcon.tsx"],"sourcesContent":["import { CaretUpIcon } from '@lokalise/louis'\nimport clsx from 'clsx'\nimport styles from './UpgradeIcon.module.css'\n\ntype UpgradeIconProps = {\n\tclassName?: string\n}\n\nexport const UpgradeIcon = ({ className = '' }: UpgradeIconProps) => {\n\treturn (\n\t\t<div\n\t\t\taria-label={'Upgrade Icon'}\n\t\t\tclassName={clsx(\n\t\t\t\tstyles.iconContainer,\n\t\t\t\t'flex-row',\n\t\t\t\t'items-center',\n\t\t\t\t'justify-center',\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t>\n\t\t\t<CaretUpIcon />\n\t\t</div>\n\t)\n}\n"],"names":["jsx","clsx","styles","CaretUpIcon"],"mappings":";;;;;;AAQO,MAAM,cAAc,CAAC,EAAE,YAAY,SAA2B;AAEnE,SAAAA,2BAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACA,cAAY;AAAA,MACZ,WAAWC,KAAA;AAAA,QACVC,mBAAAA,QAAO;AAAA,QACP;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MACD;AAAA,MAEA,yCAACC,MAAAA,aAAY,CAAA,CAAA;AAAA,IAAA;AAAA,EACd;AAEF;;"}
1
+ {"version":3,"file":"harmony141.cjs","sources":["../src/components/Sidebar/Widgets/ProfileMenu/TeamSettingsMenuItem/TeamSettingsMenuItem.tsx"],"sourcesContent":["import { useSidebar } from '@components/Sidebar/hooks/useSidebar'\nimport { MenuItem } from '@lokalise/louis'\nimport { canAccessTeamSettings } from '@utils/user/permissions'\n\n/**\n * A menu item component for navigating to the team settings page.\n * It checks the current user's permissions using the Sidebar context\n * and renders nothing if the user does not have access.\n *\n * @example\n * ```\n * <TeamSettingsMenuItem />\n * ```\n *\n * @note This component must be used within a Sidebar Context.\n */\n\nexport const TeamSettingsMenuItem = () => {\n\tconst { jwt } = useSidebar()\n\n\tif (!canAccessTeamSettings(jwt)) {\n\t\treturn null\n\t}\n\n\treturn <MenuItem href=\"/team\">Team settings</MenuItem>\n}\n"],"names":["useSidebar","canAccessTeamSettings","jsx","MenuItem"],"mappings":";;;;;;AAiBO,MAAM,uBAAuB,MAAM;AACnC,QAAA,EAAE,IAAI,IAAIA,sBAAW;AAEvB,MAAA,CAACC,YAAAA,sBAAsB,GAAG,GAAG;AACzB,WAAA;AAAA,EAAA;AAGR,SAAQC,2BAAAA,IAAAC,MAAAA,UAAA,EAAS,MAAK,SAAQ,UAAa,iBAAA;AAC5C;;"}
@@ -1,24 +1,15 @@
1
1
  import { jsx } from "react/jsx-runtime";
2
- import { CaretUpIcon } from "@lokalise/louis";
3
- import { clsx } from "./harmony93.mjs";
4
- import styles from "./harmony160.mjs";
5
- const UpgradeIcon = ({ className = "" }) => {
6
- return /* @__PURE__ */ jsx(
7
- "div",
8
- {
9
- "aria-label": "Upgrade Icon",
10
- className: clsx(
11
- styles.iconContainer,
12
- "flex-row",
13
- "items-center",
14
- "justify-center",
15
- className
16
- ),
17
- children: /* @__PURE__ */ jsx(CaretUpIcon, {})
18
- }
19
- );
2
+ import { useSidebar } from "./harmony113.mjs";
3
+ import { MenuItem } from "@lokalise/louis";
4
+ import { canAccessTeamSettings } from "./harmony114.mjs";
5
+ const TeamSettingsMenuItem = () => {
6
+ const { jwt } = useSidebar();
7
+ if (!canAccessTeamSettings(jwt)) {
8
+ return null;
9
+ }
10
+ return /* @__PURE__ */ jsx(MenuItem, { href: "/team", children: "Team settings" });
20
11
  };
21
12
  export {
22
- UpgradeIcon
13
+ TeamSettingsMenuItem
23
14
  };
24
15
  //# sourceMappingURL=harmony141.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"harmony141.mjs","sources":["../src/components/Sidebar/Widgets/ProfileMenu/UpgradeIcon/UpgradeIcon.tsx"],"sourcesContent":["import { CaretUpIcon } from '@lokalise/louis'\nimport clsx from 'clsx'\nimport styles from './UpgradeIcon.module.css'\n\ntype UpgradeIconProps = {\n\tclassName?: string\n}\n\nexport const UpgradeIcon = ({ className = '' }: UpgradeIconProps) => {\n\treturn (\n\t\t<div\n\t\t\taria-label={'Upgrade Icon'}\n\t\t\tclassName={clsx(\n\t\t\t\tstyles.iconContainer,\n\t\t\t\t'flex-row',\n\t\t\t\t'items-center',\n\t\t\t\t'justify-center',\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t>\n\t\t\t<CaretUpIcon />\n\t\t</div>\n\t)\n}\n"],"names":[],"mappings":";;;;AAQO,MAAM,cAAc,CAAC,EAAE,YAAY,SAA2B;AAEnE,SAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACA,cAAY;AAAA,MACZ,WAAW;AAAA,QACV,OAAO;AAAA,QACP;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MACD;AAAA,MAEA,8BAAC,aAAY,CAAA,CAAA;AAAA,IAAA;AAAA,EACd;AAEF;"}
1
+ {"version":3,"file":"harmony141.mjs","sources":["../src/components/Sidebar/Widgets/ProfileMenu/TeamSettingsMenuItem/TeamSettingsMenuItem.tsx"],"sourcesContent":["import { useSidebar } from '@components/Sidebar/hooks/useSidebar'\nimport { MenuItem } from '@lokalise/louis'\nimport { canAccessTeamSettings } from '@utils/user/permissions'\n\n/**\n * A menu item component for navigating to the team settings page.\n * It checks the current user's permissions using the Sidebar context\n * and renders nothing if the user does not have access.\n *\n * @example\n * ```\n * <TeamSettingsMenuItem />\n * ```\n *\n * @note This component must be used within a Sidebar Context.\n */\n\nexport const TeamSettingsMenuItem = () => {\n\tconst { jwt } = useSidebar()\n\n\tif (!canAccessTeamSettings(jwt)) {\n\t\treturn null\n\t}\n\n\treturn <MenuItem href=\"/team\">Team settings</MenuItem>\n}\n"],"names":[],"mappings":";;;;AAiBO,MAAM,uBAAuB,MAAM;AACnC,QAAA,EAAE,IAAI,IAAI,WAAW;AAEvB,MAAA,CAAC,sBAAsB,GAAG,GAAG;AACzB,WAAA;AAAA,EAAA;AAGR,SAAQ,oBAAA,UAAA,EAAS,MAAK,SAAQ,UAAa,iBAAA;AAC5C;"}
@@ -1,9 +1,25 @@
1
1
  "use strict";
2
- Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
3
- const logoLink = "_logoLink_1baxb_1";
4
- const styles = {
5
- logoLink
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const jsxRuntime = require("react/jsx-runtime");
4
+ const useSidebar = require("./harmony113.cjs");
5
+ const TeamMenuItem = require("./harmony140.cjs");
6
+ const TeamSwitch_module = require("./harmony164.cjs");
7
+ const TeamSwitch = ({ onSwitchTeam }) => {
8
+ var _a, _b;
9
+ const {
10
+ data: { otherTeams }
11
+ } = useSidebar.useSidebar();
12
+ if (((_a = otherTeams.result) == null ? void 0 : _a.length) === 0) {
13
+ return null;
14
+ }
15
+ return /* @__PURE__ */ jsxRuntime.jsx(
16
+ "div",
17
+ {
18
+ "data-testid": "sidebar-team-switch",
19
+ className: `flex-col items-stretch ${TeamSwitch_module.default.teamsContainer}`,
20
+ children: (_b = otherTeams.result) == null ? void 0 : _b.map((team) => /* @__PURE__ */ jsxRuntime.jsx(TeamMenuItem.TeamMenuItem, { team, onClick: onSwitchTeam, hidePlanLabel: true }, team.id))
21
+ }
22
+ );
6
23
  };
7
- exports.default = styles;
8
- exports.logoLink = logoLink;
24
+ exports.TeamSwitch = TeamSwitch;
9
25
  //# sourceMappingURL=harmony142.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"harmony142.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;"}
1
+ {"version":3,"file":"harmony142.cjs","sources":["../src/components/Sidebar/Widgets/ProfileMenu/TeamSwitch/TeamSwitch.tsx"],"sourcesContent":["import { useSidebar } from '@components/Sidebar/hooks/useSidebar'\nimport type { SidebarTeam } from '@components/Sidebar/types'\nimport { TeamMenuItem } from '../TeamMenuItem/TeamMenuItem'\nimport styles from './TeamSwitch.module.css'\n\n/**\n * A component that displays a list of available teams for switching.\n * It automatically excludes the current team from the list and renders\n * nothing if there are no other teams available.\n *\n * Uses the Sidebar context to access the list of other teams and\n * renders each team as a TeamMenuItem with click functionality.\n *\n * @example\n * ```tsx\n * <TeamSwitch\n * onSwitchTeam={(team) => {\n * console.log(`Switching to team: ${team.name}`);\n * // Handle team switch logic\n * }}\n * />\n * ```\n *\n * @note This component must be used within a Sidebar Context\n */\n\ntype TeamSwitchProps = {\n\tonSwitchTeam: (team: SidebarTeam) => void\n}\n\nexport const TeamSwitch = ({ onSwitchTeam }: TeamSwitchProps) => {\n\tconst {\n\t\tdata: { otherTeams },\n\t} = useSidebar()\n\n\tif (otherTeams.result?.length === 0) {\n\t\treturn null\n\t}\n\n\treturn (\n\t\t<div\n\t\t\tdata-testid=\"sidebar-team-switch\"\n\t\t\tclassName={`flex-col items-stretch ${styles.teamsContainer}`}\n\t\t>\n\t\t\t{otherTeams.result?.map((team) => (\n\t\t\t\t<TeamMenuItem team={team} key={team.id} onClick={onSwitchTeam} hidePlanLabel />\n\t\t\t))}\n\t\t</div>\n\t)\n}\n"],"names":["useSidebar","jsx","styles","TeamMenuItem"],"mappings":";;;;;;AA8BO,MAAM,aAAa,CAAC,EAAE,mBAAoC;;AAC1D,QAAA;AAAA,IACL,MAAM,EAAE,WAAW;AAAA,MAChBA,sBAAW;AAEX,QAAA,gBAAW,WAAX,mBAAmB,YAAW,GAAG;AAC7B,WAAA;AAAA,EAAA;AAIP,SAAAC,2BAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACA,eAAY;AAAA,MACZ,WAAW,0BAA0BC,kBAAA,QAAO,cAAc;AAAA,MAEzD,WAAW,gBAAA,WAAA,mBAAQ,IAAI,CAAC,SACvBD,2BAAAA,IAAAE,aAAA,cAAA,EAAa,MAA0B,SAAS,cAAc,eAAa,KAA7C,GAAA,KAAK,EAAyC;AAAA,IAC7E;AAAA,EACF;AAEF;;"}
@@ -1,9 +1,25 @@
1
- const logoLink = "_logoLink_1baxb_1";
2
- const styles = {
3
- logoLink
1
+ import { jsx } from "react/jsx-runtime";
2
+ import { useSidebar } from "./harmony113.mjs";
3
+ import { TeamMenuItem } from "./harmony140.mjs";
4
+ import styles from "./harmony164.mjs";
5
+ const TeamSwitch = ({ onSwitchTeam }) => {
6
+ var _a, _b;
7
+ const {
8
+ data: { otherTeams }
9
+ } = useSidebar();
10
+ if (((_a = otherTeams.result) == null ? void 0 : _a.length) === 0) {
11
+ return null;
12
+ }
13
+ return /* @__PURE__ */ jsx(
14
+ "div",
15
+ {
16
+ "data-testid": "sidebar-team-switch",
17
+ className: `flex-col items-stretch ${styles.teamsContainer}`,
18
+ children: (_b = otherTeams.result) == null ? void 0 : _b.map((team) => /* @__PURE__ */ jsx(TeamMenuItem, { team, onClick: onSwitchTeam, hidePlanLabel: true }, team.id))
19
+ }
20
+ );
4
21
  };
5
22
  export {
6
- styles as default,
7
- logoLink
23
+ TeamSwitch
8
24
  };
9
25
  //# sourceMappingURL=harmony142.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"harmony142.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;"}
1
+ {"version":3,"file":"harmony142.mjs","sources":["../src/components/Sidebar/Widgets/ProfileMenu/TeamSwitch/TeamSwitch.tsx"],"sourcesContent":["import { useSidebar } from '@components/Sidebar/hooks/useSidebar'\nimport type { SidebarTeam } from '@components/Sidebar/types'\nimport { TeamMenuItem } from '../TeamMenuItem/TeamMenuItem'\nimport styles from './TeamSwitch.module.css'\n\n/**\n * A component that displays a list of available teams for switching.\n * It automatically excludes the current team from the list and renders\n * nothing if there are no other teams available.\n *\n * Uses the Sidebar context to access the list of other teams and\n * renders each team as a TeamMenuItem with click functionality.\n *\n * @example\n * ```tsx\n * <TeamSwitch\n * onSwitchTeam={(team) => {\n * console.log(`Switching to team: ${team.name}`);\n * // Handle team switch logic\n * }}\n * />\n * ```\n *\n * @note This component must be used within a Sidebar Context\n */\n\ntype TeamSwitchProps = {\n\tonSwitchTeam: (team: SidebarTeam) => void\n}\n\nexport const TeamSwitch = ({ onSwitchTeam }: TeamSwitchProps) => {\n\tconst {\n\t\tdata: { otherTeams },\n\t} = useSidebar()\n\n\tif (otherTeams.result?.length === 0) {\n\t\treturn null\n\t}\n\n\treturn (\n\t\t<div\n\t\t\tdata-testid=\"sidebar-team-switch\"\n\t\t\tclassName={`flex-col items-stretch ${styles.teamsContainer}`}\n\t\t>\n\t\t\t{otherTeams.result?.map((team) => (\n\t\t\t\t<TeamMenuItem team={team} key={team.id} onClick={onSwitchTeam} hidePlanLabel />\n\t\t\t))}\n\t\t</div>\n\t)\n}\n"],"names":[],"mappings":";;;;AA8BO,MAAM,aAAa,CAAC,EAAE,mBAAoC;;AAC1D,QAAA;AAAA,IACL,MAAM,EAAE,WAAW;AAAA,MAChB,WAAW;AAEX,QAAA,gBAAW,WAAX,mBAAmB,YAAW,GAAG;AAC7B,WAAA;AAAA,EAAA;AAIP,SAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACA,eAAY;AAAA,MACZ,WAAW,0BAA0B,OAAO,cAAc;AAAA,MAEzD,WAAW,gBAAA,WAAA,mBAAQ,IAAI,CAAC,SACvB,oBAAA,cAAA,EAAa,MAA0B,SAAS,cAAc,eAAa,KAA7C,GAAA,KAAK,EAAyC;AAAA,IAC7E;AAAA,EACF;AAEF;"}
@@ -1,18 +1,39 @@
1
1
  "use strict";
2
- Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
3
- const shortcutMenu = "_shortcutMenu_ujdmb_1";
4
- const shortcutLabel = "_shortcutLabel_ujdmb_5";
5
- const dropdownButton = "_dropdownButton_ujdmb_12";
6
- const dropdownButtonActive = "_dropdownButtonActive_ujdmb_30";
7
- const styles = {
8
- shortcutMenu,
9
- shortcutLabel,
10
- dropdownButton,
11
- dropdownButtonActive
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const jsxRuntime = require("react/jsx-runtime");
4
+ const useSidebar = require("./harmony113.cjs");
5
+ const louis = require("@lokalise/louis");
6
+ const plan = require("./harmony11.cjs");
7
+ const permissions = require("./harmony114.cjs");
8
+ const UpgradeIcon = require("./harmony145.cjs");
9
+ const UpgradeMenuItem_module = require("./harmony165.cjs");
10
+ const UpgradeMenuItem = ({ href }) => {
11
+ const {
12
+ jwt,
13
+ data: { currentTeam }
14
+ } = useSidebar.useSidebar();
15
+ if (!jwt || !permissions.canUpgradePlan(jwt) || !currentTeam.result) {
16
+ return null;
17
+ }
18
+ const isOnFreePlan = plan.isFreePlan(jwt.planId);
19
+ const trialDaysLeft = currentTeam.result.trialDaysLeft;
20
+ const daysNoun = trialDaysLeft === 1 ? "day" : "days";
21
+ const ctaMessage = isOnFreePlan ? "Your team is currently on the Free plan" : `Free trial ends in ${trialDaysLeft} ${daysNoun}`;
22
+ return /* @__PURE__ */ jsxRuntime.jsxs(
23
+ louis.MenuItem,
24
+ {
25
+ "data-testid": "sidebar-upgrade-menu-item",
26
+ href,
27
+ className: `flex-col gap-1 items-start ${UpgradeMenuItem_module.default.container}`,
28
+ children: [
29
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: UpgradeMenuItem_module.default.planCta, children: ctaMessage }),
30
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: `flex-row items-center gap-1 ${UpgradeMenuItem_module.default.upgradeIconWrapper}`, children: [
31
+ /* @__PURE__ */ jsxRuntime.jsx(UpgradeIcon.UpgradeIcon, {}),
32
+ /* @__PURE__ */ jsxRuntime.jsx("span", { children: "See upgrade options" })
33
+ ] })
34
+ ]
35
+ }
36
+ );
12
37
  };
13
- exports.default = styles;
14
- exports.dropdownButton = dropdownButton;
15
- exports.dropdownButtonActive = dropdownButtonActive;
16
- exports.shortcutLabel = shortcutLabel;
17
- exports.shortcutMenu = shortcutMenu;
38
+ exports.UpgradeMenuItem = UpgradeMenuItem;
18
39
  //# sourceMappingURL=harmony143.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"harmony143.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"harmony143.cjs","sources":["../src/components/Sidebar/Widgets/ProfileMenu/UpgradeMenuItem/UpgradeMenuItem.tsx"],"sourcesContent":["import { useSidebar } from '@components/Sidebar/hooks/useSidebar'\nimport { MenuItem } from '@lokalise/louis'\nimport { isFreePlan } from '@utils'\nimport { canUpgradePlan } from '@utils/user/permissions'\nimport { UpgradeIcon } from '../UpgradeIcon/UpgradeIcon'\nimport styles from './UpgradeMenuItem.module.css'\n\n/**\n * A menu item component that displays upgrade call-to-action information.\n * Only renders when upgrade options should be shown (determined by context).\n *\n * The component displays different messages based on the team's current plan:\n * - For free plans: \"Your team is currently on the Free plan\"\n * - For trial plans: \"Free trial ends in X days\"\n *\n * Includes an upgrade icon and \"See upgrade options\" text, styled to draw attention\n * to the upgrade opportunity.\n *\n * @example\n * ```tsx\n * <UpgradeMenuItem href=\"/pricing\" />\n * ```\n *\n * @note This component must be used within a Sidebar Context\n */\n\ntype UpgradeMenuItemProps = {\n\thref: string\n}\n\nexport const UpgradeMenuItem = ({ href }: UpgradeMenuItemProps) => {\n\tconst {\n\t\tjwt,\n\t\tdata: { currentTeam },\n\t} = useSidebar()\n\n\tif (!jwt || !canUpgradePlan(jwt) || !currentTeam.result) {\n\t\treturn null\n\t}\n\n\tconst isOnFreePlan = isFreePlan(jwt.planId)\n\n\tconst trialDaysLeft = currentTeam.result.trialDaysLeft\n\n\tconst daysNoun = trialDaysLeft === 1 ? 'day' : 'days'\n\tconst ctaMessage = isOnFreePlan\n\t\t? 'Your team is currently on the Free plan'\n\t\t: `Free trial ends in ${trialDaysLeft} ${daysNoun}`\n\n\treturn (\n\t\t<MenuItem\n\t\t\tdata-testid=\"sidebar-upgrade-menu-item\"\n\t\t\thref={href}\n\t\t\tclassName={`flex-col gap-1 items-start ${styles.container}`}\n\t\t>\n\t\t\t<span className={styles.planCta}>{ctaMessage}</span>\n\t\t\t<div className={`flex-row items-center gap-1 ${styles.upgradeIconWrapper}`}>\n\t\t\t\t<UpgradeIcon />\n\t\t\t\t<span>See upgrade options</span>\n\t\t\t</div>\n\t\t</MenuItem>\n\t)\n}\n"],"names":["useSidebar","canUpgradePlan","isFreePlan","jsxs","MenuItem","styles","jsx","UpgradeIcon"],"mappings":";;;;;;;;;AA8BO,MAAM,kBAAkB,CAAC,EAAE,WAAiC;AAC5D,QAAA;AAAA,IACL;AAAA,IACA,MAAM,EAAE,YAAY;AAAA,MACjBA,sBAAW;AAEX,MAAA,CAAC,OAAO,CAACC,YAAA,eAAe,GAAG,KAAK,CAAC,YAAY,QAAQ;AACjD,WAAA;AAAA,EAAA;AAGF,QAAA,eAAeC,KAAAA,WAAW,IAAI,MAAM;AAEpC,QAAA,gBAAgB,YAAY,OAAO;AAEnC,QAAA,WAAW,kBAAkB,IAAI,QAAQ;AAC/C,QAAM,aAAa,eAChB,4CACA,sBAAsB,aAAa,IAAI,QAAQ;AAGjD,SAAAC,2BAAA;AAAA,IAACC,MAAA;AAAA,IAAA;AAAA,MACA,eAAY;AAAA,MACZ;AAAA,MACA,WAAW,8BAA8BC,uBAAA,QAAO,SAAS;AAAA,MAEzD,UAAA;AAAA,QAAAC,2BAAA,IAAC,QAAK,EAAA,WAAWD,uBAAO,QAAA,SAAU,UAAW,YAAA;AAAA,wCAC5C,OAAI,EAAA,WAAW,+BAA+BA,+BAAO,kBAAkB,IACvE,UAAA;AAAA,UAAAC,2BAAA,IAACC,YAAY,aAAA,EAAA;AAAA,UACbD,2BAAAA,IAAC,UAAK,UAAmB,sBAAA,CAAA;AAAA,QAAA,EAC1B,CAAA;AAAA,MAAA;AAAA,IAAA;AAAA,EACD;AAEF;;"}
@@ -1,18 +1,39 @@
1
- const shortcutMenu = "_shortcutMenu_ujdmb_1";
2
- const shortcutLabel = "_shortcutLabel_ujdmb_5";
3
- const dropdownButton = "_dropdownButton_ujdmb_12";
4
- const dropdownButtonActive = "_dropdownButtonActive_ujdmb_30";
5
- const styles = {
6
- shortcutMenu,
7
- shortcutLabel,
8
- dropdownButton,
9
- dropdownButtonActive
1
+ import { jsxs, jsx } from "react/jsx-runtime";
2
+ import { useSidebar } from "./harmony113.mjs";
3
+ import { MenuItem } from "@lokalise/louis";
4
+ import { isFreePlan } from "./harmony11.mjs";
5
+ import { canUpgradePlan } from "./harmony114.mjs";
6
+ import { UpgradeIcon } from "./harmony145.mjs";
7
+ import styles from "./harmony165.mjs";
8
+ const UpgradeMenuItem = ({ href }) => {
9
+ const {
10
+ jwt,
11
+ data: { currentTeam }
12
+ } = useSidebar();
13
+ if (!jwt || !canUpgradePlan(jwt) || !currentTeam.result) {
14
+ return null;
15
+ }
16
+ const isOnFreePlan = isFreePlan(jwt.planId);
17
+ const trialDaysLeft = currentTeam.result.trialDaysLeft;
18
+ const daysNoun = trialDaysLeft === 1 ? "day" : "days";
19
+ const ctaMessage = isOnFreePlan ? "Your team is currently on the Free plan" : `Free trial ends in ${trialDaysLeft} ${daysNoun}`;
20
+ return /* @__PURE__ */ jsxs(
21
+ MenuItem,
22
+ {
23
+ "data-testid": "sidebar-upgrade-menu-item",
24
+ href,
25
+ className: `flex-col gap-1 items-start ${styles.container}`,
26
+ children: [
27
+ /* @__PURE__ */ jsx("span", { className: styles.planCta, children: ctaMessage }),
28
+ /* @__PURE__ */ jsxs("div", { className: `flex-row items-center gap-1 ${styles.upgradeIconWrapper}`, children: [
29
+ /* @__PURE__ */ jsx(UpgradeIcon, {}),
30
+ /* @__PURE__ */ jsx("span", { children: "See upgrade options" })
31
+ ] })
32
+ ]
33
+ }
34
+ );
10
35
  };
11
36
  export {
12
- styles as default,
13
- dropdownButton,
14
- dropdownButtonActive,
15
- shortcutLabel,
16
- shortcutMenu
37
+ UpgradeMenuItem
17
38
  };
18
39
  //# sourceMappingURL=harmony143.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"harmony143.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;"}
1
+ {"version":3,"file":"harmony143.mjs","sources":["../src/components/Sidebar/Widgets/ProfileMenu/UpgradeMenuItem/UpgradeMenuItem.tsx"],"sourcesContent":["import { useSidebar } from '@components/Sidebar/hooks/useSidebar'\nimport { MenuItem } from '@lokalise/louis'\nimport { isFreePlan } from '@utils'\nimport { canUpgradePlan } from '@utils/user/permissions'\nimport { UpgradeIcon } from '../UpgradeIcon/UpgradeIcon'\nimport styles from './UpgradeMenuItem.module.css'\n\n/**\n * A menu item component that displays upgrade call-to-action information.\n * Only renders when upgrade options should be shown (determined by context).\n *\n * The component displays different messages based on the team's current plan:\n * - For free plans: \"Your team is currently on the Free plan\"\n * - For trial plans: \"Free trial ends in X days\"\n *\n * Includes an upgrade icon and \"See upgrade options\" text, styled to draw attention\n * to the upgrade opportunity.\n *\n * @example\n * ```tsx\n * <UpgradeMenuItem href=\"/pricing\" />\n * ```\n *\n * @note This component must be used within a Sidebar Context\n */\n\ntype UpgradeMenuItemProps = {\n\thref: string\n}\n\nexport const UpgradeMenuItem = ({ href }: UpgradeMenuItemProps) => {\n\tconst {\n\t\tjwt,\n\t\tdata: { currentTeam },\n\t} = useSidebar()\n\n\tif (!jwt || !canUpgradePlan(jwt) || !currentTeam.result) {\n\t\treturn null\n\t}\n\n\tconst isOnFreePlan = isFreePlan(jwt.planId)\n\n\tconst trialDaysLeft = currentTeam.result.trialDaysLeft\n\n\tconst daysNoun = trialDaysLeft === 1 ? 'day' : 'days'\n\tconst ctaMessage = isOnFreePlan\n\t\t? 'Your team is currently on the Free plan'\n\t\t: `Free trial ends in ${trialDaysLeft} ${daysNoun}`\n\n\treturn (\n\t\t<MenuItem\n\t\t\tdata-testid=\"sidebar-upgrade-menu-item\"\n\t\t\thref={href}\n\t\t\tclassName={`flex-col gap-1 items-start ${styles.container}`}\n\t\t>\n\t\t\t<span className={styles.planCta}>{ctaMessage}</span>\n\t\t\t<div className={`flex-row items-center gap-1 ${styles.upgradeIconWrapper}`}>\n\t\t\t\t<UpgradeIcon />\n\t\t\t\t<span>See upgrade options</span>\n\t\t\t</div>\n\t\t</MenuItem>\n\t)\n}\n"],"names":[],"mappings":";;;;;;;AA8BO,MAAM,kBAAkB,CAAC,EAAE,WAAiC;AAC5D,QAAA;AAAA,IACL;AAAA,IACA,MAAM,EAAE,YAAY;AAAA,MACjB,WAAW;AAEX,MAAA,CAAC,OAAO,CAAC,eAAe,GAAG,KAAK,CAAC,YAAY,QAAQ;AACjD,WAAA;AAAA,EAAA;AAGF,QAAA,eAAe,WAAW,IAAI,MAAM;AAEpC,QAAA,gBAAgB,YAAY,OAAO;AAEnC,QAAA,WAAW,kBAAkB,IAAI,QAAQ;AAC/C,QAAM,aAAa,eAChB,4CACA,sBAAsB,aAAa,IAAI,QAAQ;AAGjD,SAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACA,eAAY;AAAA,MACZ;AAAA,MACA,WAAW,8BAA8B,OAAO,SAAS;AAAA,MAEzD,UAAA;AAAA,QAAA,oBAAC,QAAK,EAAA,WAAW,OAAO,SAAU,UAAW,YAAA;AAAA,6BAC5C,OAAI,EAAA,WAAW,+BAA+B,OAAO,kBAAkB,IACvE,UAAA;AAAA,UAAA,oBAAC,aAAY,EAAA;AAAA,UACb,oBAAC,UAAK,UAAmB,sBAAA,CAAA;AAAA,QAAA,EAC1B,CAAA;AAAA,MAAA;AAAA,IAAA;AAAA,EACD;AAEF;"}
@@ -1,90 +1,24 @@
1
1
  "use strict";
2
- Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const permissions = require("./harmony161.cjs");
4
- const getProjectNavigationVisibilityMap = (project, adminRights, isFeatureEnabled) => {
5
- var _a, _b;
6
- return {
7
- upload: {
8
- visible: permissions.hasAdminRight(adminRights, "upload"),
9
- disabled: false
10
- },
11
- download: {
12
- visible: permissions.hasAdminRight(adminRights, "download"),
13
- disabled: false
14
- },
15
- // TODO: HOME-1009, Clean up after permission management
16
- // -- There is a plan for "Install apps" permission. Right..?
17
- apps: {
18
- visible: true,
19
- disabled: false
20
- },
21
- // TODO: HOME-1009, Clean up after permission management
22
- // -- There is a plan for "Install apps" permission. Right..?
23
- contentManagement: {
24
- visible: project.project_type === "content_integration" && permissions.hasAdminRight(adminRights, "keys"),
25
- disabled: false
26
- },
27
- editor: {
28
- visible: true,
29
- disabled: false
30
- },
31
- files: {
32
- visible: isFeatureEnabled("lionLfcFilesManagement") && project.project_type === "paged_documents" && permissions.hasAnyAdminRight(adminRights, ["upload", "download"]),
33
- disabled: false
34
- },
35
- tasks: {
36
- visible: permissions.hasAdminRight(adminRights, "tasks"),
37
- disabled: false
38
- },
39
- contributors: {
40
- visible: permissions.hasAdminRight(adminRights, "contributors"),
41
- disabled: false
42
- },
43
- workflows: {
44
- visible: permissions.hasAdminRight(adminRights, "settings"),
45
- disabled: false
46
- },
47
- screenshots: {
48
- visible: permissions.hasAdminRight(adminRights, "screenshots"),
49
- disabled: false
50
- },
51
- glossary: {
52
- visible: permissions.hasAdminRight(adminRights, "glossary"),
53
- disabled: false
54
- },
55
- more: {
56
- visible: true,
57
- disabled: false
58
- },
59
- settings: {
60
- visible: permissions.hasAdminRight(adminRights, "settings"),
61
- disabled: false
62
- },
63
- branches: {
64
- visible: !!((_a = project.settings) == null ? void 0 : _a.branching) && permissions.hasAnyAdminRight(adminRights, ["branches_create", "create_branches", "branches_merge"]),
65
- disabled: false
66
- },
67
- otaBundles: {
68
- visible: permissions.hasAnyAdminRight(adminRights, ["download", "settings", "keys"]) && project.project_type === "localization_files",
69
- disabled: false
70
- },
71
- automations: {
72
- visible: permissions.hasAdminRight(adminRights, "settings"),
73
- disabled: false
74
- },
75
- duplicateFinder: {
76
- visible: permissions.hasAdminRight(adminRights, "keys") && project.project_type === "localization_files",
77
- disabled: false
78
- },
79
- activity: {
80
- visible: !!((_b = project.settings) == null ? void 0 : _b.offline_translation) || permissions.hasAdminRight(adminRights, "activity"),
81
- disabled: false
82
- },
83
- statistics: {
84
- visible: permissions.hasAdminRight(adminRights, "statistics"),
85
- disabled: false
86
- }
87
- };
2
+ Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
3
+ const menuContainer = "_menuContainer_1phdw_10";
4
+ const profileButton = "_profileButton_1phdw_20";
5
+ const profileImage = "_profileImage_1phdw_33";
6
+ const profileImageHighlight = "_profileImageHighlight_1phdw_41";
7
+ const profileImageUpgradeIcon = "_profileImageUpgradeIcon_1phdw_45";
8
+ const userIconWrapper = "_userIconWrapper_1phdw_51";
9
+ const styles = {
10
+ menuContainer,
11
+ profileButton,
12
+ profileImage,
13
+ profileImageHighlight,
14
+ profileImageUpgradeIcon,
15
+ userIconWrapper
88
16
  };
89
- exports.getProjectNavigationVisibilityMap = getProjectNavigationVisibilityMap;
17
+ exports.default = styles;
18
+ exports.menuContainer = menuContainer;
19
+ exports.profileButton = profileButton;
20
+ exports.profileImage = profileImage;
21
+ exports.profileImageHighlight = profileImageHighlight;
22
+ exports.profileImageUpgradeIcon = profileImageUpgradeIcon;
23
+ exports.userIconWrapper = userIconWrapper;
90
24
  //# sourceMappingURL=harmony144.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"harmony144.cjs","sources":["../src/features/navigation/utils/toolbarVisibility.ts"],"sourcesContent":["import { hasAdminRight, hasAnyAdminRight } from '@features/auth/utils/permissions'\nimport type { Project } from '@features/node'\n\ntype ToolbarVisibility = {\n\tdisabled: boolean\n\tvisible: boolean\n}\n\nexport type ToolbarVisibilityMap = {\n\tupload: ToolbarVisibility\n\tdownload: ToolbarVisibility\n\tapps: ToolbarVisibility\n\tcontentManagement: ToolbarVisibility\n\teditor: ToolbarVisibility\n\tfiles: ToolbarVisibility\n\ttasks: ToolbarVisibility\n\tworkflows: ToolbarVisibility\n\tcontributors: ToolbarVisibility\n\tscreenshots: ToolbarVisibility\n\tglossary: ToolbarVisibility\n\tmore: ToolbarVisibility\n\tsettings: ToolbarVisibility\n\tbranches: ToolbarVisibility\n\totaBundles: ToolbarVisibility\n\tautomations: ToolbarVisibility\n\tduplicateFinder: ToolbarVisibility\n\tactivity: ToolbarVisibility\n\tstatistics: ToolbarVisibility\n}\n\nexport const getProjectNavigationVisibilityMap = (\n\tproject: Project,\n\tadminRights: string[],\n\tisFeatureEnabled: (key: string) => boolean,\n): ToolbarVisibilityMap => ({\n\tupload: {\n\t\tvisible: hasAdminRight(adminRights, 'upload'),\n\t\tdisabled: false,\n\t},\n\tdownload: {\n\t\tvisible: hasAdminRight(adminRights, 'download'),\n\t\tdisabled: false,\n\t},\n\t// TODO: HOME-1009, Clean up after permission management\n\t// -- There is a plan for \"Install apps\" permission. Right..?\n\tapps: {\n\t\tvisible: true,\n\t\tdisabled: false,\n\t},\n\t// TODO: HOME-1009, Clean up after permission management\n\t// -- There is a plan for \"Install apps\" permission. Right..?\n\tcontentManagement: {\n\t\tvisible: project.project_type === 'content_integration' && hasAdminRight(adminRights, 'keys'),\n\t\tdisabled: false,\n\t},\n\teditor: {\n\t\tvisible: true,\n\t\tdisabled: false,\n\t},\n\tfiles: {\n\t\tvisible:\n\t\t\tisFeatureEnabled('lionLfcFilesManagement') &&\n\t\t\tproject.project_type === 'paged_documents' &&\n\t\t\thasAnyAdminRight(adminRights, ['upload', 'download']),\n\t\tdisabled: false,\n\t},\n\ttasks: {\n\t\tvisible: hasAdminRight(adminRights, 'tasks'),\n\t\tdisabled: false,\n\t},\n\tcontributors: {\n\t\tvisible: hasAdminRight(adminRights, 'contributors'),\n\t\tdisabled: false,\n\t},\n\tworkflows: {\n\t\tvisible: hasAdminRight(adminRights, 'settings'),\n\t\tdisabled: false,\n\t},\n\tscreenshots: {\n\t\tvisible: hasAdminRight(adminRights, 'screenshots'),\n\t\tdisabled: false,\n\t},\n\tglossary: {\n\t\tvisible: hasAdminRight(adminRights, 'glossary'),\n\t\tdisabled: false,\n\t},\n\tmore: {\n\t\tvisible: true,\n\t\tdisabled: false,\n\t},\n\tsettings: {\n\t\tvisible: hasAdminRight(adminRights, 'settings'),\n\t\tdisabled: false,\n\t},\n\tbranches: {\n\t\tvisible:\n\t\t\t!!project.settings?.branching &&\n\t\t\thasAnyAdminRight(adminRights, ['branches_create', 'create_branches', 'branches_merge']),\n\t\tdisabled: false,\n\t},\n\totaBundles: {\n\t\tvisible:\n\t\t\thasAnyAdminRight(adminRights, ['download', 'settings', 'keys']) &&\n\t\t\tproject.project_type === 'localization_files',\n\t\tdisabled: false,\n\t},\n\tautomations: {\n\t\tvisible: hasAdminRight(adminRights, 'settings'),\n\t\tdisabled: false,\n\t},\n\tduplicateFinder: {\n\t\tvisible: hasAdminRight(adminRights, 'keys') && project.project_type === 'localization_files',\n\t\tdisabled: false,\n\t},\n\tactivity: {\n\t\tvisible: !!project.settings?.offline_translation || hasAdminRight(adminRights, 'activity'),\n\t\tdisabled: false,\n\t},\n\tstatistics: {\n\t\tvisible: hasAdminRight(adminRights, 'statistics'),\n\t\tdisabled: false,\n\t},\n})\n"],"names":["hasAdminRight","hasAnyAdminRight"],"mappings":";;;AA8BO,MAAM,oCAAoC,CAChD,SACA,aACA,qBAC2B;;AAAA;AAAA,IAC3B,QAAQ;AAAA,MACP,SAASA,YAAAA,cAAc,aAAa,QAAQ;AAAA,MAC5C,UAAU;AAAA,IACX;AAAA,IACA,UAAU;AAAA,MACT,SAASA,YAAAA,cAAc,aAAa,UAAU;AAAA,MAC9C,UAAU;AAAA,IACX;AAAA;AAAA;AAAA,IAGA,MAAM;AAAA,MACL,SAAS;AAAA,MACT,UAAU;AAAA,IACX;AAAA;AAAA;AAAA,IAGA,mBAAmB;AAAA,MAClB,SAAS,QAAQ,iBAAiB,yBAAyBA,YAAA,cAAc,aAAa,MAAM;AAAA,MAC5F,UAAU;AAAA,IACX;AAAA,IACA,QAAQ;AAAA,MACP,SAAS;AAAA,MACT,UAAU;AAAA,IACX;AAAA,IACA,OAAO;AAAA,MACN,SACC,iBAAiB,wBAAwB,KACzC,QAAQ,iBAAiB,qBACzBC,YAAAA,iBAAiB,aAAa,CAAC,UAAU,UAAU,CAAC;AAAA,MACrD,UAAU;AAAA,IACX;AAAA,IACA,OAAO;AAAA,MACN,SAASD,YAAAA,cAAc,aAAa,OAAO;AAAA,MAC3C,UAAU;AAAA,IACX;AAAA,IACA,cAAc;AAAA,MACb,SAASA,YAAAA,cAAc,aAAa,cAAc;AAAA,MAClD,UAAU;AAAA,IACX;AAAA,IACA,WAAW;AAAA,MACV,SAASA,YAAAA,cAAc,aAAa,UAAU;AAAA,MAC9C,UAAU;AAAA,IACX;AAAA,IACA,aAAa;AAAA,MACZ,SAASA,YAAAA,cAAc,aAAa,aAAa;AAAA,MACjD,UAAU;AAAA,IACX;AAAA,IACA,UAAU;AAAA,MACT,SAASA,YAAAA,cAAc,aAAa,UAAU;AAAA,MAC9C,UAAU;AAAA,IACX;AAAA,IACA,MAAM;AAAA,MACL,SAAS;AAAA,MACT,UAAU;AAAA,IACX;AAAA,IACA,UAAU;AAAA,MACT,SAASA,YAAAA,cAAc,aAAa,UAAU;AAAA,MAC9C,UAAU;AAAA,IACX;AAAA,IACA,UAAU;AAAA,MACT,SACC,CAAC,GAAC,aAAQ,aAAR,mBAAkB,cACpBC,6BAAiB,aAAa,CAAC,mBAAmB,mBAAmB,gBAAgB,CAAC;AAAA,MACvF,UAAU;AAAA,IACX;AAAA,IACA,YAAY;AAAA,MACX,SACCA,YAAAA,iBAAiB,aAAa,CAAC,YAAY,YAAY,MAAM,CAAC,KAC9D,QAAQ,iBAAiB;AAAA,MAC1B,UAAU;AAAA,IACX;AAAA,IACA,aAAa;AAAA,MACZ,SAASD,YAAAA,cAAc,aAAa,UAAU;AAAA,MAC9C,UAAU;AAAA,IACX;AAAA,IACA,iBAAiB;AAAA,MAChB,SAASA,YAAc,cAAA,aAAa,MAAM,KAAK,QAAQ,iBAAiB;AAAA,MACxE,UAAU;AAAA,IACX;AAAA,IACA,UAAU;AAAA,MACT,SAAS,CAAC,GAAC,aAAQ,aAAR,mBAAkB,wBAAuBA,YAAA,cAAc,aAAa,UAAU;AAAA,MACzF,UAAU;AAAA,IACX;AAAA,IACA,YAAY;AAAA,MACX,SAASA,YAAAA,cAAc,aAAa,YAAY;AAAA,MAChD,UAAU;AAAA,IAAA;AAAA,EAEZ;AAAA;;"}
1
+ {"version":3,"file":"harmony144.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;"}
@@ -1,90 +1,24 @@
1
- import { hasAdminRight, hasAnyAdminRight } from "./harmony161.mjs";
2
- const getProjectNavigationVisibilityMap = (project, adminRights, isFeatureEnabled) => {
3
- var _a, _b;
4
- return {
5
- upload: {
6
- visible: hasAdminRight(adminRights, "upload"),
7
- disabled: false
8
- },
9
- download: {
10
- visible: hasAdminRight(adminRights, "download"),
11
- disabled: false
12
- },
13
- // TODO: HOME-1009, Clean up after permission management
14
- // -- There is a plan for "Install apps" permission. Right..?
15
- apps: {
16
- visible: true,
17
- disabled: false
18
- },
19
- // TODO: HOME-1009, Clean up after permission management
20
- // -- There is a plan for "Install apps" permission. Right..?
21
- contentManagement: {
22
- visible: project.project_type === "content_integration" && hasAdminRight(adminRights, "keys"),
23
- disabled: false
24
- },
25
- editor: {
26
- visible: true,
27
- disabled: false
28
- },
29
- files: {
30
- visible: isFeatureEnabled("lionLfcFilesManagement") && project.project_type === "paged_documents" && hasAnyAdminRight(adminRights, ["upload", "download"]),
31
- disabled: false
32
- },
33
- tasks: {
34
- visible: hasAdminRight(adminRights, "tasks"),
35
- disabled: false
36
- },
37
- contributors: {
38
- visible: hasAdminRight(adminRights, "contributors"),
39
- disabled: false
40
- },
41
- workflows: {
42
- visible: hasAdminRight(adminRights, "settings"),
43
- disabled: false
44
- },
45
- screenshots: {
46
- visible: hasAdminRight(adminRights, "screenshots"),
47
- disabled: false
48
- },
49
- glossary: {
50
- visible: hasAdminRight(adminRights, "glossary"),
51
- disabled: false
52
- },
53
- more: {
54
- visible: true,
55
- disabled: false
56
- },
57
- settings: {
58
- visible: hasAdminRight(adminRights, "settings"),
59
- disabled: false
60
- },
61
- branches: {
62
- visible: !!((_a = project.settings) == null ? void 0 : _a.branching) && hasAnyAdminRight(adminRights, ["branches_create", "create_branches", "branches_merge"]),
63
- disabled: false
64
- },
65
- otaBundles: {
66
- visible: hasAnyAdminRight(adminRights, ["download", "settings", "keys"]) && project.project_type === "localization_files",
67
- disabled: false
68
- },
69
- automations: {
70
- visible: hasAdminRight(adminRights, "settings"),
71
- disabled: false
72
- },
73
- duplicateFinder: {
74
- visible: hasAdminRight(adminRights, "keys") && project.project_type === "localization_files",
75
- disabled: false
76
- },
77
- activity: {
78
- visible: !!((_b = project.settings) == null ? void 0 : _b.offline_translation) || hasAdminRight(adminRights, "activity"),
79
- disabled: false
80
- },
81
- statistics: {
82
- visible: hasAdminRight(adminRights, "statistics"),
83
- disabled: false
84
- }
85
- };
1
+ const menuContainer = "_menuContainer_1phdw_10";
2
+ const profileButton = "_profileButton_1phdw_20";
3
+ const profileImage = "_profileImage_1phdw_33";
4
+ const profileImageHighlight = "_profileImageHighlight_1phdw_41";
5
+ const profileImageUpgradeIcon = "_profileImageUpgradeIcon_1phdw_45";
6
+ const userIconWrapper = "_userIconWrapper_1phdw_51";
7
+ const styles = {
8
+ menuContainer,
9
+ profileButton,
10
+ profileImage,
11
+ profileImageHighlight,
12
+ profileImageUpgradeIcon,
13
+ userIconWrapper
86
14
  };
87
15
  export {
88
- getProjectNavigationVisibilityMap
16
+ styles as default,
17
+ menuContainer,
18
+ profileButton,
19
+ profileImage,
20
+ profileImageHighlight,
21
+ profileImageUpgradeIcon,
22
+ userIconWrapper
89
23
  };
90
24
  //# sourceMappingURL=harmony144.mjs.map