@lokalise/harmony 1.37.0 → 1.37.1-exp-epic2x.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (352) hide show
  1. package/dist/harmony.css +110 -317
  2. package/dist/harmony100.cjs +10 -6
  3. package/dist/harmony100.cjs.map +1 -1
  4. package/dist/harmony100.mjs +9 -5
  5. package/dist/harmony100.mjs.map +1 -1
  6. package/dist/harmony101.cjs +22 -14
  7. package/dist/harmony101.cjs.map +1 -1
  8. package/dist/harmony101.mjs +24 -16
  9. package/dist/harmony101.mjs.map +1 -1
  10. package/dist/harmony102.cjs +14 -12
  11. package/dist/harmony102.cjs.map +1 -1
  12. package/dist/harmony102.mjs +13 -11
  13. package/dist/harmony102.mjs.map +1 -1
  14. package/dist/harmony103.cjs +34 -96
  15. package/dist/harmony103.cjs.map +1 -1
  16. package/dist/harmony103.mjs +34 -79
  17. package/dist/harmony103.mjs.map +1 -1
  18. package/dist/harmony104.cjs +12 -12
  19. package/dist/harmony104.cjs.map +1 -1
  20. package/dist/harmony104.mjs +12 -12
  21. package/dist/harmony104.mjs.map +1 -1
  22. package/dist/harmony105.cjs +22 -18
  23. package/dist/harmony105.cjs.map +1 -1
  24. package/dist/harmony105.mjs +22 -18
  25. package/dist/harmony105.mjs.map +1 -1
  26. package/dist/harmony106.cjs +35 -21
  27. package/dist/harmony106.cjs.map +1 -1
  28. package/dist/harmony106.mjs +34 -20
  29. package/dist/harmony106.mjs.map +1 -1
  30. package/dist/harmony107.cjs +21 -6
  31. package/dist/harmony107.cjs.map +1 -1
  32. package/dist/harmony107.mjs +20 -5
  33. package/dist/harmony107.mjs.map +1 -1
  34. package/dist/harmony108.cjs +19 -130
  35. package/dist/harmony108.cjs.map +1 -1
  36. package/dist/harmony108.mjs +19 -130
  37. package/dist/harmony108.mjs.map +1 -1
  38. package/dist/harmony109.cjs +3 -9
  39. package/dist/harmony109.cjs.map +1 -1
  40. package/dist/harmony109.mjs +3 -9
  41. package/dist/harmony109.mjs.map +1 -1
  42. package/dist/harmony110.cjs +16 -6
  43. package/dist/harmony110.cjs.map +1 -1
  44. package/dist/harmony110.mjs +15 -5
  45. package/dist/harmony110.mjs.map +1 -1
  46. package/dist/harmony111.cjs +6 -41
  47. package/dist/harmony111.cjs.map +1 -1
  48. package/dist/harmony111.mjs +5 -40
  49. package/dist/harmony111.mjs.map +1 -1
  50. package/dist/harmony112.cjs +6 -61
  51. package/dist/harmony112.cjs.map +1 -1
  52. package/dist/harmony112.mjs +5 -60
  53. package/dist/harmony112.mjs.map +1 -1
  54. package/dist/harmony113.cjs +9 -7
  55. package/dist/harmony113.cjs.map +1 -1
  56. package/dist/harmony113.mjs +8 -6
  57. package/dist/harmony113.mjs.map +1 -1
  58. package/dist/harmony114.cjs +3 -3
  59. package/dist/harmony114.mjs +3 -3
  60. package/dist/harmony115.cjs +9 -5
  61. package/dist/harmony115.cjs.map +1 -1
  62. package/dist/harmony115.mjs +9 -5
  63. package/dist/harmony115.mjs.map +1 -1
  64. package/dist/harmony116.cjs +24 -5
  65. package/dist/harmony116.cjs.map +1 -1
  66. package/dist/harmony116.mjs +24 -5
  67. package/dist/harmony116.mjs.map +1 -1
  68. package/dist/harmony117.cjs +7 -97
  69. package/dist/harmony117.cjs.map +1 -1
  70. package/dist/harmony117.mjs +6 -96
  71. package/dist/harmony117.mjs.map +1 -1
  72. package/dist/harmony118.cjs +13 -14
  73. package/dist/harmony118.cjs.map +1 -1
  74. package/dist/harmony118.mjs +12 -13
  75. package/dist/harmony118.mjs.map +1 -1
  76. package/dist/harmony119.cjs +7 -15
  77. package/dist/harmony119.cjs.map +1 -1
  78. package/dist/harmony119.mjs +6 -14
  79. package/dist/harmony119.mjs.map +1 -1
  80. package/dist/harmony120.cjs +94 -34
  81. package/dist/harmony120.cjs.map +1 -1
  82. package/dist/harmony120.mjs +94 -34
  83. package/dist/harmony120.mjs.map +1 -1
  84. package/dist/harmony121.cjs +11 -26
  85. package/dist/harmony121.cjs.map +1 -1
  86. package/dist/harmony121.mjs +11 -26
  87. package/dist/harmony121.mjs.map +1 -1
  88. package/dist/harmony122.cjs +12 -60
  89. package/dist/harmony122.cjs.map +1 -1
  90. package/dist/harmony122.mjs +12 -60
  91. package/dist/harmony122.mjs.map +1 -1
  92. package/dist/harmony123.cjs +36 -88
  93. package/dist/harmony123.cjs.map +1 -1
  94. package/dist/harmony123.mjs +36 -88
  95. package/dist/harmony123.mjs.map +1 -1
  96. package/dist/harmony124.cjs +29 -19
  97. package/dist/harmony124.cjs.map +1 -1
  98. package/dist/harmony124.mjs +28 -18
  99. package/dist/harmony124.mjs.map +1 -1
  100. package/dist/harmony125.cjs +1 -1
  101. package/dist/harmony125.mjs +1 -1
  102. package/dist/harmony126.cjs +1 -1
  103. package/dist/harmony126.mjs +1 -1
  104. package/dist/harmony127.cjs +2 -2
  105. package/dist/harmony127.mjs +2 -2
  106. package/dist/harmony128.cjs +11 -7
  107. package/dist/harmony128.cjs.map +1 -1
  108. package/dist/harmony128.mjs +11 -7
  109. package/dist/harmony128.mjs.map +1 -1
  110. package/dist/harmony129.cjs +15 -56
  111. package/dist/harmony129.cjs.map +1 -1
  112. package/dist/harmony129.mjs +15 -56
  113. package/dist/harmony129.mjs.map +1 -1
  114. package/dist/harmony13.cjs +1 -1
  115. package/dist/harmony13.mjs +1 -1
  116. package/dist/harmony130.cjs +20 -59
  117. package/dist/harmony130.cjs.map +1 -1
  118. package/dist/harmony130.mjs +20 -59
  119. package/dist/harmony130.mjs.map +1 -1
  120. package/dist/harmony131.cjs +13 -19
  121. package/dist/harmony131.cjs.map +1 -1
  122. package/dist/harmony131.mjs +12 -18
  123. package/dist/harmony131.mjs.map +1 -1
  124. package/dist/harmony132.cjs +5 -10
  125. package/dist/harmony132.cjs.map +1 -1
  126. package/dist/harmony132.mjs +5 -10
  127. package/dist/harmony132.mjs.map +1 -1
  128. package/dist/harmony133.cjs +11 -15
  129. package/dist/harmony133.cjs.map +1 -1
  130. package/dist/harmony133.mjs +11 -15
  131. package/dist/harmony133.mjs.map +1 -1
  132. package/dist/harmony134.cjs +28 -17
  133. package/dist/harmony134.cjs.map +1 -1
  134. package/dist/harmony134.mjs +28 -17
  135. package/dist/harmony134.mjs.map +1 -1
  136. package/dist/harmony135.cjs +12 -10
  137. package/dist/harmony135.cjs.map +1 -1
  138. package/dist/harmony135.mjs +12 -10
  139. package/dist/harmony135.mjs.map +1 -1
  140. package/dist/harmony16.cjs +1 -1
  141. package/dist/harmony16.mjs +1 -1
  142. package/dist/harmony23.cjs +1 -1
  143. package/dist/harmony23.mjs +1 -1
  144. package/dist/harmony24.cjs +1 -1
  145. package/dist/harmony24.mjs +1 -1
  146. package/dist/harmony4.cjs +15 -24
  147. package/dist/harmony4.cjs.map +1 -1
  148. package/dist/harmony4.mjs +15 -24
  149. package/dist/harmony4.mjs.map +1 -1
  150. package/dist/harmony5.cjs +1 -1
  151. package/dist/harmony5.mjs +1 -1
  152. package/dist/harmony6.cjs +3 -3
  153. package/dist/harmony6.mjs +3 -3
  154. package/dist/harmony7.cjs +1 -1
  155. package/dist/harmony7.mjs +1 -1
  156. package/dist/harmony72.cjs +1 -1
  157. package/dist/harmony72.mjs +1 -1
  158. package/dist/harmony73.cjs +51 -6
  159. package/dist/harmony73.cjs.map +1 -1
  160. package/dist/harmony73.mjs +50 -5
  161. package/dist/harmony73.mjs.map +1 -1
  162. package/dist/harmony74.cjs +38 -8
  163. package/dist/harmony74.cjs.map +1 -1
  164. package/dist/harmony74.mjs +39 -9
  165. package/dist/harmony74.mjs.map +1 -1
  166. package/dist/harmony75.cjs +9 -18
  167. package/dist/harmony75.cjs.map +1 -1
  168. package/dist/harmony75.mjs +8 -17
  169. package/dist/harmony75.mjs.map +1 -1
  170. package/dist/harmony76.cjs +6 -21
  171. package/dist/harmony76.cjs.map +1 -1
  172. package/dist/harmony76.mjs +8 -23
  173. package/dist/harmony76.mjs.map +1 -1
  174. package/dist/harmony77.cjs +28 -4
  175. package/dist/harmony77.cjs.map +1 -1
  176. package/dist/harmony77.mjs +28 -4
  177. package/dist/harmony77.mjs.map +1 -1
  178. package/dist/harmony78.cjs +3 -32
  179. package/dist/harmony78.cjs.map +1 -1
  180. package/dist/harmony78.mjs +3 -32
  181. package/dist/harmony78.mjs.map +1 -1
  182. package/dist/harmony79.cjs +30 -29
  183. package/dist/harmony79.cjs.map +1 -1
  184. package/dist/harmony79.mjs +31 -30
  185. package/dist/harmony79.mjs.map +1 -1
  186. package/dist/harmony80.cjs +25 -17
  187. package/dist/harmony80.cjs.map +1 -1
  188. package/dist/harmony80.mjs +25 -17
  189. package/dist/harmony80.mjs.map +1 -1
  190. package/dist/harmony81.cjs +3 -31
  191. package/dist/harmony81.cjs.map +1 -1
  192. package/dist/harmony81.mjs +3 -31
  193. package/dist/harmony81.mjs.map +1 -1
  194. package/dist/harmony82.cjs +12 -53
  195. package/dist/harmony82.cjs.map +1 -1
  196. package/dist/harmony82.mjs +14 -55
  197. package/dist/harmony82.mjs.map +1 -1
  198. package/dist/harmony83.cjs +75 -9
  199. package/dist/harmony83.cjs.map +1 -1
  200. package/dist/harmony83.mjs +74 -8
  201. package/dist/harmony83.mjs.map +1 -1
  202. package/dist/harmony84.cjs +11 -7
  203. package/dist/harmony84.cjs.map +1 -1
  204. package/dist/harmony84.mjs +12 -8
  205. package/dist/harmony84.mjs.map +1 -1
  206. package/dist/harmony85.cjs +29 -28
  207. package/dist/harmony85.cjs.map +1 -1
  208. package/dist/harmony85.mjs +29 -28
  209. package/dist/harmony85.mjs.map +1 -1
  210. package/dist/harmony86.cjs +9 -3
  211. package/dist/harmony86.cjs.map +1 -1
  212. package/dist/harmony86.mjs +9 -3
  213. package/dist/harmony86.mjs.map +1 -1
  214. package/dist/harmony87.cjs +42 -28
  215. package/dist/harmony87.cjs.map +1 -1
  216. package/dist/harmony87.mjs +44 -30
  217. package/dist/harmony87.mjs.map +1 -1
  218. package/dist/harmony88.cjs +9 -12
  219. package/dist/harmony88.cjs.map +1 -1
  220. package/dist/harmony88.mjs +8 -11
  221. package/dist/harmony88.mjs.map +1 -1
  222. package/dist/harmony89.cjs +12 -13
  223. package/dist/harmony89.cjs.map +1 -1
  224. package/dist/harmony89.mjs +11 -12
  225. package/dist/harmony89.mjs.map +1 -1
  226. package/dist/harmony90.cjs +22 -12
  227. package/dist/harmony90.cjs.map +1 -1
  228. package/dist/harmony90.mjs +21 -11
  229. package/dist/harmony90.mjs.map +1 -1
  230. package/dist/harmony91.cjs +12 -21
  231. package/dist/harmony91.cjs.map +1 -1
  232. package/dist/harmony91.mjs +11 -20
  233. package/dist/harmony91.mjs.map +1 -1
  234. package/dist/harmony92.cjs +9 -3
  235. package/dist/harmony92.cjs.map +1 -1
  236. package/dist/harmony92.mjs +9 -3
  237. package/dist/harmony92.mjs.map +1 -1
  238. package/dist/harmony93.cjs +99 -9
  239. package/dist/harmony93.cjs.map +1 -1
  240. package/dist/harmony93.mjs +81 -8
  241. package/dist/harmony93.mjs.map +1 -1
  242. package/dist/harmony94.cjs +14 -9
  243. package/dist/harmony94.cjs.map +1 -1
  244. package/dist/harmony94.mjs +13 -8
  245. package/dist/harmony94.mjs.map +1 -1
  246. package/dist/harmony95.cjs +20 -57
  247. package/dist/harmony95.cjs.map +1 -1
  248. package/dist/harmony95.mjs +20 -57
  249. package/dist/harmony95.mjs.map +1 -1
  250. package/dist/harmony96.cjs +9 -42
  251. package/dist/harmony96.cjs.map +1 -1
  252. package/dist/harmony96.mjs +8 -41
  253. package/dist/harmony96.mjs.map +1 -1
  254. package/dist/harmony97.cjs +14 -5
  255. package/dist/harmony97.cjs.map +1 -1
  256. package/dist/harmony97.mjs +14 -5
  257. package/dist/harmony97.mjs.map +1 -1
  258. package/dist/harmony98.cjs +17 -9
  259. package/dist/harmony98.cjs.map +1 -1
  260. package/dist/harmony98.mjs +16 -8
  261. package/dist/harmony98.mjs.map +1 -1
  262. package/dist/harmony99.cjs +21 -24
  263. package/dist/harmony99.cjs.map +1 -1
  264. package/dist/harmony99.mjs +20 -23
  265. package/dist/harmony99.mjs.map +1 -1
  266. package/dist/types/src/components/Sidebar/Sidebar.d.ts +15 -49
  267. package/dist/types/src/components/Sidebar/SidebarContent/SidebarContent.d.ts +7 -0
  268. package/dist/types/src/components/Sidebar/SidebarContext.d.ts +3 -0
  269. package/dist/types/src/components/Sidebar/SidebarProvider.d.ts +3 -0
  270. package/dist/types/src/components/Sidebar/Widgets/Avatar/Avatar.d.ts +5 -0
  271. package/dist/types/src/components/Sidebar/Widgets/HelpMenu/HelpMenu.d.ts +13 -0
  272. package/dist/types/src/components/Sidebar/Widgets/HelpMenu/HelpMenu.test.d.ts +1 -0
  273. package/dist/types/src/components/Sidebar/Widgets/IconLink/IconLink.test.d.ts +1 -0
  274. package/dist/types/src/components/Sidebar/Widgets/Menu/Menu.d.ts +3 -2
  275. package/dist/types/src/components/Sidebar/Widgets/ProfileMenu/BillingMenuItem/BillingMenuItem.d.ts +13 -0
  276. package/dist/types/src/components/Sidebar/Widgets/ProfileMenu/CreateNewTeam/CreateNewTeam.d.ts +17 -0
  277. package/dist/types/src/components/Sidebar/Widgets/ProfileMenu/CreateNewTeam/CreateNewTeam.test.d.ts +1 -0
  278. package/dist/types/src/components/Sidebar/Widgets/ProfileMenu/CreateNewTeamPlaceholder/CreateNewTeamPlaceholder.d.ts +17 -0
  279. package/dist/types/src/components/Sidebar/Widgets/ProfileMenu/CreateNewTeamPlaceholder/CreateNewTeamPlaceholder.test.d.ts +1 -0
  280. package/dist/types/src/components/Sidebar/Widgets/ProfileMenu/DarkModeToggle/DarkModeToggle.d.ts +18 -0
  281. package/dist/types/src/components/Sidebar/Widgets/ProfileMenu/ProfileMenu.d.ts +11 -24
  282. package/dist/types/src/components/Sidebar/Widgets/ProfileMenu/ProfileMenu.stories.d.ts +3 -5
  283. package/dist/types/src/components/Sidebar/Widgets/ProfileMenu/ProfileSettingsMenuItem/ProfileSettingsMenuItem.d.ts +10 -35
  284. package/dist/types/src/components/Sidebar/Widgets/ProfileMenu/ProfileSettingsMenuItem/ProfileSettingsMenuItem.test.d.ts +1 -0
  285. package/dist/types/src/components/Sidebar/Widgets/ProfileMenu/ProviderMenuItem/ProviderMenuItem.d.ts +13 -0
  286. package/dist/types/src/components/Sidebar/Widgets/ProfileMenu/ProviderMenuItem/ProviderMenuItem.test.d.ts +1 -0
  287. package/dist/types/src/components/Sidebar/Widgets/ProfileMenu/TeamMenuItem/TeamMenuItem.d.ts +1 -3
  288. package/dist/types/src/components/Sidebar/Widgets/ProfileMenu/TeamMenuItem/TeamMenuItem.test.d.ts +1 -0
  289. package/dist/types/src/components/Sidebar/Widgets/ProfileMenu/TeamSettingsMenuItem/TeamSettingsMenuItem.d.ts +13 -0
  290. package/dist/types/src/components/Sidebar/Widgets/ProfileMenu/TeamSettingsMenuItem/TeamSettingsMenuItem.test.d.ts +1 -0
  291. package/dist/types/src/components/Sidebar/Widgets/ProfileMenu/TeamSwitch/TeamSwitch.d.ts +5 -7
  292. package/dist/types/src/components/Sidebar/Widgets/ProfileMenu/TeamSwitch/TeamSwitch.test.d.ts +1 -0
  293. package/dist/types/src/components/Sidebar/Widgets/ProfileMenu/UpgradeMenuItem/UpgradeMenuItem.d.ts +6 -9
  294. package/dist/types/src/components/Sidebar/Widgets/ProfileMenu/UpgradeMenuItem/UpgradeMenuItem.test.d.ts +1 -0
  295. package/dist/types/src/components/Sidebar/Widgets/Tasks/utils/content.d.ts +4 -0
  296. package/dist/types/src/components/Sidebar/hooks/useSidebar.d.ts +1 -0
  297. package/dist/types/src/components/Sidebar/hooks/useSidebarDataLoader.d.ts +5 -0
  298. package/dist/types/src/components/Sidebar/types.d.ts +72 -0
  299. package/dist/types/src/features/auth/core/types/jwtTokenPayload.d.ts +16 -10
  300. package/dist/types/src/features/auth/core/types/jwtTokenPayload.fixture.d.ts +15 -11
  301. package/dist/types/src/features/auth/frontend/hooks/useAuthenticatedSessionPayload.d.ts +7 -5
  302. package/dist/types/src/features/auth/frontend/hooks/useAuthenticatedUser.d.ts +1 -1
  303. package/dist/types/src/features/publicApi/hooks/useCreateProjectMutation.d.ts +1 -1
  304. package/dist/types/src/features/publicApi/hooks/useGetProjectPermissionMetaQuery.d.ts +2 -2
  305. package/dist/types/src/features/publicApi/hooks/useGetTeamUsersQuery.d.ts +1 -1
  306. package/dist/types/src/features/publicApi/hooks/useListPermissionTemplates.d.ts +1 -1
  307. package/dist/types/src/features/publicApi/hooks/useListProjectsQuery.d.ts +1 -1
  308. package/dist/types/src/features/publicApi/hooks/useListTeamUsersQuery.d.ts +1 -1
  309. package/dist/types/src/features/publicApi/hooks/useRetrieveProjectQuery.d.ts +1 -1
  310. package/dist/types/src/features/publicApi/hooks/useUpdateProjectMutation.d.ts +1 -1
  311. package/dist/types/src/features/publicApi/permissionTemplates.d.ts +4 -4
  312. package/dist/types/src/features/publicApi/projects.d.ts +18 -18
  313. package/dist/types/src/features/publicApi/teamUsers.d.ts +8 -8
  314. package/dist/types/src/features/publicApi/types/permissionTemplateTypes.d.ts +6 -6
  315. package/dist/types/src/features/publicApi/types/permissionTypes.d.ts +2 -2
  316. package/dist/types/src/features/publicApi/types/projectTypes.d.ts +18 -18
  317. package/dist/types/src/features/publicApi/types/teamUserTypes.d.ts +10 -10
  318. package/dist/types/src/utils/user/permissions.d.ts +9 -0
  319. package/dist/types/src/utils/user/permissions.test.d.ts +1 -0
  320. package/dist/types/tests/mocks/sidebar/sidebar.d.ts +19 -0
  321. package/dist/types/tests/utils/sidebar.d.ts +4 -0
  322. package/package.json +1 -1
  323. package/dist/harmony136.cjs +0 -9
  324. package/dist/harmony136.cjs.map +0 -1
  325. package/dist/harmony136.mjs +0 -9
  326. package/dist/harmony136.mjs.map +0 -1
  327. package/dist/harmony137.cjs +0 -15
  328. package/dist/harmony137.cjs.map +0 -1
  329. package/dist/harmony137.mjs +0 -15
  330. package/dist/harmony137.mjs.map +0 -1
  331. package/dist/harmony138.cjs +0 -35
  332. package/dist/harmony138.cjs.map +0 -1
  333. package/dist/harmony138.mjs +0 -35
  334. package/dist/harmony138.mjs.map +0 -1
  335. package/dist/harmony139.cjs +0 -17
  336. package/dist/harmony139.cjs.map +0 -1
  337. package/dist/harmony139.mjs +0 -17
  338. package/dist/harmony139.mjs.map +0 -1
  339. package/dist/harmony140.cjs +0 -49
  340. package/dist/harmony140.cjs.map +0 -1
  341. package/dist/harmony140.mjs +0 -49
  342. package/dist/harmony140.mjs.map +0 -1
  343. package/dist/harmony141.cjs +0 -15
  344. package/dist/harmony141.cjs.map +0 -1
  345. package/dist/harmony141.mjs +0 -15
  346. package/dist/harmony141.mjs.map +0 -1
  347. package/dist/types/src/components/Sidebar/Widgets/ProfileMenu/ProfileMenuContent.d.ts +0 -6
  348. package/dist/types/src/components/Sidebar/Widgets/ProfileMenu/ProfileMenuContext.d.ts +0 -3
  349. package/dist/types/src/components/Sidebar/Widgets/ProfileMenu/ProfileMenuProvider.d.ts +0 -7
  350. package/dist/types/src/components/Sidebar/utils/index.d.ts +0 -4
  351. /package/dist/types/src/components/Sidebar/Widgets/{ProfileMenu/ProfileMenu.test.d.ts → Avatar/Avatar.test.d.ts} +0 -0
  352. /package/dist/types/src/components/Sidebar/{UpgradeIcon → Widgets/ProfileMenu/UpgradeIcon}/UpgradeIcon.d.ts +0 -0
@@ -1,8 +1,17 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const React = require("react");
4
- const ProfileMenuContext = React.createContext({});
5
- const useProfileMenu = () => React.useContext(ProfileMenuContext);
6
- exports.ProfileMenuContext = ProfileMenuContext;
7
- exports.useProfileMenu = useProfileMenu;
3
+ const jsxRuntime = require("react/jsx-runtime");
4
+ const useSidebar = require("./harmony84.cjs");
5
+ const louis = require("@lokalise/louis");
6
+ const permissions = require("./harmony85.cjs");
7
+ const BillingMenuItem = () => {
8
+ const {
9
+ data: { jwt }
10
+ } = useSidebar.useSidebar();
11
+ if (!permissions.canChangeBilling(jwt.result)) {
12
+ return null;
13
+ }
14
+ return /* @__PURE__ */ jsxRuntime.jsx(louis.MenuItem, { href: "/team#billing", children: "Billing" });
15
+ };
16
+ exports.BillingMenuItem = BillingMenuItem;
8
17
  //# sourceMappingURL=harmony97.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"harmony97.cjs","sources":["../src/components/Sidebar/Widgets/ProfileMenu/ProfileMenuContext.ts"],"sourcesContent":["import { createContext, useContext } from 'react'\nimport type { SidebarProfileMenuContextProps } from './types'\n\nexport const ProfileMenuContext = createContext({} as SidebarProfileMenuContextProps)\n\nexport const useProfileMenu = () => useContext(ProfileMenuContext)\n"],"names":["createContext","useContext"],"mappings":";;;AAGa,MAAA,qBAAqBA,MAAc,cAAA,CAAoC,CAAA;AAEvE,MAAA,iBAAiB,MAAMC,MAAAA,WAAW,kBAAkB;;;"}
1
+ {"version":3,"file":"harmony97.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 {\n\t\tdata: { jwt },\n\t} = useSidebar()\n\n\tif (!canChangeBilling(jwt.result)) {\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;AAAA,IACL,MAAM,EAAE,IAAI;AAAA,MACTA,sBAAW;AAEf,MAAI,CAACC,YAAA,iBAAiB,IAAI,MAAM,GAAG;AAC3B,WAAA;AAAA,EAAA;AAGR,SAAQC,2BAAAA,IAAAC,MAAAA,UAAA,EAAS,MAAK,iBAAgB,UAAO,WAAA;AAC9C;;"}
@@ -1,8 +1,17 @@
1
- import { useContext, createContext } from "react";
2
- const ProfileMenuContext = createContext({});
3
- const useProfileMenu = () => useContext(ProfileMenuContext);
1
+ import { jsx } from "react/jsx-runtime";
2
+ import { useSidebar } from "./harmony84.mjs";
3
+ import { MenuItem } from "@lokalise/louis";
4
+ import { canChangeBilling } from "./harmony85.mjs";
5
+ const BillingMenuItem = () => {
6
+ const {
7
+ data: { jwt }
8
+ } = useSidebar();
9
+ if (!canChangeBilling(jwt.result)) {
10
+ return null;
11
+ }
12
+ return /* @__PURE__ */ jsx(MenuItem, { href: "/team#billing", children: "Billing" });
13
+ };
4
14
  export {
5
- ProfileMenuContext,
6
- useProfileMenu
15
+ BillingMenuItem
7
16
  };
8
17
  //# sourceMappingURL=harmony97.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"harmony97.mjs","sources":["../src/components/Sidebar/Widgets/ProfileMenu/ProfileMenuContext.ts"],"sourcesContent":["import { createContext, useContext } from 'react'\nimport type { SidebarProfileMenuContextProps } from './types'\n\nexport const ProfileMenuContext = createContext({} as SidebarProfileMenuContextProps)\n\nexport const useProfileMenu = () => useContext(ProfileMenuContext)\n"],"names":[],"mappings":";AAGa,MAAA,qBAAqB,cAAc,CAAoC,CAAA;AAEvE,MAAA,iBAAiB,MAAM,WAAW,kBAAkB;"}
1
+ {"version":3,"file":"harmony97.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 {\n\t\tdata: { jwt },\n\t} = useSidebar()\n\n\tif (!canChangeBilling(jwt.result)) {\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;AAAA,IACL,MAAM,EAAE,IAAI;AAAA,MACT,WAAW;AAEf,MAAI,CAAC,iBAAiB,IAAI,MAAM,GAAG;AAC3B,WAAA;AAAA,EAAA;AAGR,SAAQ,oBAAA,UAAA,EAAS,MAAK,iBAAgB,UAAO,WAAA;AAC9C;"}
@@ -1,12 +1,20 @@
1
1
  "use strict";
2
- Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
3
- const container = "_container_q5pot_1";
4
- const profileEmail = "_profileEmail_q5pot_5";
5
- const styles = {
6
- container,
7
- profileEmail
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const jsxRuntime = require("react/jsx-runtime");
4
+ const useSidebar = require("./harmony84.cjs");
5
+ const louis = require("@lokalise/louis");
6
+ const permissions = require("./harmony85.cjs");
7
+ const CreateNewTeam = ({ onCreateTeam }) => {
8
+ const {
9
+ data: { jwt }
10
+ } = useSidebar.useSidebar();
11
+ if (!permissions.canCreateTeam(jwt.result)) {
12
+ return null;
13
+ }
14
+ return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
15
+ /* @__PURE__ */ jsxRuntime.jsx(louis.MenuItem, { onClick: onCreateTeam, children: "Create new team" }),
16
+ /* @__PURE__ */ jsxRuntime.jsx(louis.MenuDivider, {})
17
+ ] });
8
18
  };
9
- exports.container = container;
10
- exports.default = styles;
11
- exports.profileEmail = profileEmail;
19
+ exports.CreateNewTeam = CreateNewTeam;
12
20
  //# sourceMappingURL=harmony98.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"harmony98.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;"}
1
+ {"version":3,"file":"harmony98.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 {\n\t\tdata: { jwt },\n\t} = useSidebar()\n\n\tif (!canCreateTeam(jwt.result)) {\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;AAAA,IACL,MAAM,EAAE,IAAI;AAAA,MACTA,sBAAW;AAEf,MAAI,CAACC,YAAA,cAAc,IAAI,MAAM,GAAG;AACxB,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,12 +1,20 @@
1
- const container = "_container_q5pot_1";
2
- const profileEmail = "_profileEmail_q5pot_5";
3
- const styles = {
4
- container,
5
- profileEmail
1
+ import { jsxs, Fragment, jsx } from "react/jsx-runtime";
2
+ import { useSidebar } from "./harmony84.mjs";
3
+ import { MenuItem, MenuDivider } from "@lokalise/louis";
4
+ import { canCreateTeam } from "./harmony85.mjs";
5
+ const CreateNewTeam = ({ onCreateTeam }) => {
6
+ const {
7
+ data: { jwt }
8
+ } = useSidebar();
9
+ if (!canCreateTeam(jwt.result)) {
10
+ return null;
11
+ }
12
+ return /* @__PURE__ */ jsxs(Fragment, { children: [
13
+ /* @__PURE__ */ jsx(MenuItem, { onClick: onCreateTeam, children: "Create new team" }),
14
+ /* @__PURE__ */ jsx(MenuDivider, {})
15
+ ] });
6
16
  };
7
17
  export {
8
- container,
9
- styles as default,
10
- profileEmail
18
+ CreateNewTeam
11
19
  };
12
20
  //# sourceMappingURL=harmony98.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"harmony98.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;"}
1
+ {"version":3,"file":"harmony98.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 {\n\t\tdata: { jwt },\n\t} = useSidebar()\n\n\tif (!canCreateTeam(jwt.result)) {\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;AAAA,IACL,MAAM,EAAE,IAAI;AAAA,MACT,WAAW;AAEf,MAAI,CAAC,cAAc,IAAI,MAAM,GAAG;AACxB,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,27 +1,24 @@
1
1
  "use strict";
2
- Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
3
- const wrapper = "_wrapper_1in7x_5";
4
- const profileImage = "_profileImage_1in7x_11";
5
- const teamDetails = "_teamDetails_1in7x_19";
6
- const planWrapper = "_planWrapper_1in7x_28";
7
- const teamName = "_teamName_1in7x_36";
8
- const membership = "_membership_1in7x_53";
9
- const defaultProfileImage = "_defaultProfileImage_1in7x_59";
10
- const styles = {
11
- wrapper,
12
- profileImage,
13
- teamDetails,
14
- planWrapper,
15
- teamName,
16
- membership,
17
- defaultProfileImage
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const jsxRuntime = require("react/jsx-runtime");
4
+ const useSidebar = require("./harmony84.cjs");
5
+ const louis = require("@lokalise/louis");
6
+ const permissions = require("./harmony85.cjs");
7
+ const CreateNewTeamPlaceholder_module = require("./harmony113.cjs");
8
+ const CreateNewTeamPlaceholder = ({ onClick }) => {
9
+ const {
10
+ data: { jwt }
11
+ } = useSidebar.useSidebar();
12
+ if (!permissions.canCreateTeam(jwt.result)) {
13
+ return null;
14
+ }
15
+ return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
16
+ /* @__PURE__ */ jsxRuntime.jsx(louis.MenuItem, { onClick, "data-testid": "sidebar-create-new-team-placeholder", children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col", children: [
17
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: CreateNewTeamPlaceholder_module.default.mainLabel, children: "Create new team" }),
18
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: CreateNewTeamPlaceholder_module.default.subLabel, children: "Switch to Expert to create a new team" })
19
+ ] }) }),
20
+ /* @__PURE__ */ jsxRuntime.jsx(louis.MenuDivider, {})
21
+ ] });
18
22
  };
19
- exports.default = styles;
20
- exports.defaultProfileImage = defaultProfileImage;
21
- exports.membership = membership;
22
- exports.planWrapper = planWrapper;
23
- exports.profileImage = profileImage;
24
- exports.teamDetails = teamDetails;
25
- exports.teamName = teamName;
26
- exports.wrapper = wrapper;
23
+ exports.CreateNewTeamPlaceholder = CreateNewTeamPlaceholder;
27
24
  //# sourceMappingURL=harmony99.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"harmony99.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"harmony99.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 {\n\t\tdata: { jwt },\n\t} = useSidebar()\n\n\tif (!canCreateTeam(jwt.result)) {\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;AAAA,IACL,MAAM,EAAE,IAAI;AAAA,MACTA,sBAAW;AAEf,MAAI,CAACC,YAAA,cAAc,IAAI,MAAM,GAAG;AACxB,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,27 +1,24 @@
1
- const wrapper = "_wrapper_1in7x_5";
2
- const profileImage = "_profileImage_1in7x_11";
3
- const teamDetails = "_teamDetails_1in7x_19";
4
- const planWrapper = "_planWrapper_1in7x_28";
5
- const teamName = "_teamName_1in7x_36";
6
- const membership = "_membership_1in7x_53";
7
- const defaultProfileImage = "_defaultProfileImage_1in7x_59";
8
- const styles = {
9
- wrapper,
10
- profileImage,
11
- teamDetails,
12
- planWrapper,
13
- teamName,
14
- membership,
15
- defaultProfileImage
1
+ import { jsxs, Fragment, jsx } from "react/jsx-runtime";
2
+ import { useSidebar } from "./harmony84.mjs";
3
+ import { MenuItem, MenuDivider } from "@lokalise/louis";
4
+ import { canCreateTeam } from "./harmony85.mjs";
5
+ import styles from "./harmony113.mjs";
6
+ const CreateNewTeamPlaceholder = ({ onClick }) => {
7
+ const {
8
+ data: { jwt }
9
+ } = useSidebar();
10
+ if (!canCreateTeam(jwt.result)) {
11
+ return null;
12
+ }
13
+ return /* @__PURE__ */ jsxs(Fragment, { children: [
14
+ /* @__PURE__ */ jsx(MenuItem, { onClick, "data-testid": "sidebar-create-new-team-placeholder", children: /* @__PURE__ */ jsxs("div", { className: "flex flex-col", children: [
15
+ /* @__PURE__ */ jsx("span", { className: styles.mainLabel, children: "Create new team" }),
16
+ /* @__PURE__ */ jsx("span", { className: styles.subLabel, children: "Switch to Expert to create a new team" })
17
+ ] }) }),
18
+ /* @__PURE__ */ jsx(MenuDivider, {})
19
+ ] });
16
20
  };
17
21
  export {
18
- styles as default,
19
- defaultProfileImage,
20
- membership,
21
- planWrapper,
22
- profileImage,
23
- teamDetails,
24
- teamName,
25
- wrapper
22
+ CreateNewTeamPlaceholder
26
23
  };
27
24
  //# sourceMappingURL=harmony99.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"harmony99.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"harmony99.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 {\n\t\tdata: { jwt },\n\t} = useSidebar()\n\n\tif (!canCreateTeam(jwt.result)) {\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;AAAA,IACL,MAAM,EAAE,IAAI;AAAA,MACT,WAAW;AAEf,MAAI,CAAC,cAAc,IAAI,MAAM,GAAG;AACxB,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,53 +1,19 @@
1
- import { HTMLProps, PropsWithChildren, ReactNode } from 'react';
1
+ import { HTMLProps } from 'react';
2
+ import { SidebarContentProps } from './SidebarContent/SidebarContent';
3
+ import { SidebarConfig } from './types';
2
4
  type SidebarProps = HTMLProps<HTMLElement> & {
3
- children: ReactNode;
5
+ config: SidebarConfig;
6
+ children?: SidebarContentProps['children'];
4
7
  };
5
8
  /**
6
- * Sidebar is a self-contained component using widgets
9
+ * The main Sidebar component. Wraps children with SidebarProvider and renders SidebarContent.
10
+ *
11
+ * @example
12
+ * ```
13
+ * <Sidebar config={sidebarConfig}>
14
+ * <YourAppContent />
15
+ * </Sidebar>
16
+ * ```
7
17
  */
8
- declare const Sidebar: {
9
- ({ children, ...navProps }: SidebarProps): import("react/jsx-runtime").JSX.Element;
10
- Top: ({ children }: PropsWithChildren) => import("react/jsx-runtime").JSX.Element;
11
- Bottom: ({ children }: PropsWithChildren) => import("react/jsx-runtime").JSX.Element;
12
- Avatar: ({ src, href, ariaLabel, alt, }: {
13
- src: string;
14
- href?: string;
15
- ariaLabel?: string;
16
- alt?: string;
17
- }) => import("react/jsx-runtime").JSX.Element;
18
- IconLink: ({ label, to, icon: Icon }: {
19
- to: string;
20
- label: string;
21
- icon: import('react').FC<import('@lokalise/louis').SvgIconProps>;
22
- }) => import("react/jsx-runtime").JSX.Element;
23
- Menu: ({ children, icon: Icon }: {
24
- icon: import('react').FC<import('@lokalise/louis').SvgIconProps>;
25
- } & {
26
- children?: ReactNode | undefined;
27
- }) => import("react/jsx-runtime").JSX.Element;
28
- ProfileMenu: ({ config, children }: {
29
- config: import('./Widgets/ProfileMenu/types').SidebarProfileMenuConfig;
30
- children: import('./Widgets/ProfileMenu/ProfileMenuContent').ProfileMenuContentProps["children"];
31
- }) => import("react/jsx-runtime").JSX.Element;
32
- TeamSwitch: ({ onSwitchTeam }: {
33
- onSwitchTeam: (team: import('./types').SidebarTeam) => void;
34
- }) => import("react/jsx-runtime").JSX.Element | null;
35
- TeamMenuItem: ({ team, onClick, hidePlanLabel }: {
36
- team?: import('./types').SidebarTeam;
37
- onClick?: (team: import('./types').SidebarTeam) => void;
38
- hidePlanLabel?: boolean;
39
- }) => import("react/jsx-runtime").JSX.Element | null;
40
- UpgradeMenuItem: ({ upgradeOptionHref }: {
41
- upgradeOptionHref: string;
42
- }) => import("react/jsx-runtime").JSX.Element | null;
43
- ProfileSettingsMenuItem: ({ href, onClick, userEmail, hideBottomDivider, }: {
44
- href: string;
45
- userEmail: string;
46
- onClick?: () => void;
47
- hideBottomDivider?: boolean;
48
- }) => import("react/jsx-runtime").JSX.Element | null;
49
- Tasks: (props: {
50
- config: import('./Widgets/Tasks/types').SidebarTasksConfig;
51
- }) => import("react/jsx-runtime").JSX.Element;
52
- };
53
- export { Sidebar };
18
+ export declare const Sidebar: ({ config, children, ...navProps }: SidebarProps) => import("react/jsx-runtime").JSX.Element;
19
+ export {};
@@ -0,0 +1,7 @@
1
+ import { SidebarWidgetsConfig, SidebarContextProps } from '../types';
2
+ import { HTMLProps, ReactNode } from 'react';
3
+ export type SidebarContentProps = HTMLProps<HTMLElement> & {
4
+ widgetsConfig: SidebarWidgetsConfig;
5
+ children?: ((props: SidebarContextProps) => ReactNode) | ReactNode;
6
+ };
7
+ export declare const SidebarContent: ({ widgetsConfig, children, ...navProps }: SidebarContentProps) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,3 @@
1
+ import { SidebarContextProps } from './types';
2
+ export declare const SidebarContext: import('react').Context<SidebarContextProps>;
3
+ export declare const useSidebar: () => SidebarContextProps;
@@ -0,0 +1,3 @@
1
+ import { PropsWithChildren } from 'react';
2
+ import { SidebarProviderProps } from './types';
3
+ export declare const SidebarProvider: ({ config, children }: PropsWithChildren<SidebarProviderProps>) => import("react/jsx-runtime").JSX.Element;
@@ -11,6 +11,11 @@ type AvatarProps = {
11
11
  /**
12
12
  * Display company main avatar / logo in the top section of the Sidebar.
13
13
  * Used as the main branding element and home navigation link.
14
+ *
15
+ * @example
16
+ * ```
17
+ * <Avatar src="/logo.png" href="/" ariaLabel="Home" alt="" />
18
+ * ```
14
19
  */
15
20
  export declare const Avatar: ({ src, href, ariaLabel, alt, }: AvatarProps) => import("react/jsx-runtime").JSX.Element;
16
21
  export {};
@@ -0,0 +1,13 @@
1
+ import { HelpMenuConfig } from '../../types';
2
+ /**
3
+ * Help menu component that provides links to tutorials, documentation, support, and more.
4
+ *
5
+ * @example
6
+ * ```
7
+ * <HelpMenu
8
+ * contactSupport={{ onClick: handleContactSupport }}
9
+ * keyboardShortcuts={{ onClick: handleShowShortcuts, label: '⌘K' }}
10
+ * />
11
+ * ```
12
+ */
13
+ export declare const HelpMenu: ({ contactSupport, keyboardShortcuts }: HelpMenuConfig) => import("react/jsx-runtime").JSX.Element;
@@ -1,8 +1,9 @@
1
1
  import { SvgIconProps } from '@lokalise/louis';
2
- import { FC, PropsWithChildren } from 'react';
2
+ import { ButtonHTMLAttributes, FC, PropsWithChildren } from 'react';
3
3
  type MenuProps = PropsWithChildren<{
4
4
  /** Icon component from @lokalise/louis to display in the menu button */
5
5
  icon: FC<SvgIconProps>;
6
+ buttonProps?: Omit<ButtonHTMLAttributes<HTMLButtonElement>, 'type'>;
6
7
  }>;
7
8
  /**
8
9
  * A dropdown menu component that displays an icon button which reveals a menu list when clicked.
@@ -20,5 +21,5 @@ type MenuProps = PropsWithChildren<{
20
21
  * </Menu>
21
22
  * ```
22
23
  */
23
- export declare const Menu: ({ children, icon: Icon }: MenuProps) => import("react/jsx-runtime").JSX.Element;
24
+ export declare const Menu: ({ children, icon: Icon, buttonProps }: MenuProps) => import("react/jsx-runtime").JSX.Element;
24
25
  export {};
@@ -0,0 +1,13 @@
1
+ /**
2
+ * A menu item component for navigating to the billing section.
3
+ * Checks the user's permissions using the Sidebar context and renders
4
+ * nothing if the user does not have access.
5
+ *
6
+ * @example
7
+ * ```
8
+ * <BillingMenuItem />
9
+ * ```
10
+ *
11
+ * @note This component must be used within a Sidebar Context.
12
+ */
13
+ export declare const BillingMenuItem: () => import("react/jsx-runtime").JSX.Element | null;
@@ -0,0 +1,17 @@
1
+ type CreateNewTeamProps = {
2
+ onCreateTeam: () => void;
3
+ };
4
+ /**
5
+ * A menu item component for creating a new team.
6
+ * Checks the user's permissions using the Sidebar context and renders
7
+ * nothing if the user does not have access.
8
+ *
9
+ * @example
10
+ * ```
11
+ * <CreateNewTeam onCreateTeam={handleCreateTeam} />
12
+ * ```
13
+ *
14
+ * @note This component must be used within a Sidebar Context.
15
+ */
16
+ export declare const CreateNewTeam: ({ onCreateTeam }: CreateNewTeamProps) => import("react/jsx-runtime").JSX.Element | null;
17
+ export {};
@@ -0,0 +1,17 @@
1
+ type CreateNewTeamPlaceholderProps = {
2
+ onClick: () => void;
3
+ };
4
+ /**
5
+ * A placeholder menu item for creating a new team.
6
+ * Checks the user's permissions using the Sidebar context and renders
7
+ * nothing if the user does not have access.
8
+ *
9
+ * @example
10
+ * ```
11
+ * <CreateNewTeamPlaceholder onClick={handleCreateTeam} />
12
+ * ```
13
+ *
14
+ * @note This component must be used within a Sidebar Context.
15
+ */
16
+ export declare const CreateNewTeamPlaceholder: ({ onClick }: CreateNewTeamPlaceholderProps) => import("react/jsx-runtime").JSX.Element | null;
17
+ export {};
@@ -0,0 +1,18 @@
1
+ type DarkModeToggleProps = {
2
+ onToggle: () => void;
3
+ isDarkMode: boolean;
4
+ };
5
+ /**
6
+ * A menu item component for toggling dark mode.
7
+ * Displays a switch and label, and calls the provided onToggle handler when clicked.
8
+ *
9
+ * @example
10
+ * ```
11
+ * <DarkModeToggle
12
+ * isDarkMode={isDarkMode}
13
+ * onToggle={handleToggleDarkMode}
14
+ * />
15
+ * ```
16
+ */
17
+ export declare const DarkModeToggle: ({ onToggle, isDarkMode }: DarkModeToggleProps) => import("react/jsx-runtime").JSX.Element;
18
+ export {};
@@ -1,30 +1,17 @@
1
- import { ProfileMenuContentProps } from './ProfileMenuContent';
2
- import { SidebarProfileMenuConfig } from './types';
3
- type ProfileMenuProps = {
4
- /** Configuration object containing team and user settings */
5
- config: SidebarProfileMenuConfig;
6
- /** Render function for the menu content */
7
- children: ProfileMenuContentProps['children'];
8
- };
1
+ import { ProfileMenuConfig } from '../../types';
9
2
  /**
10
- * A contextual menu component that provides team management functionality.
11
- * It manages team switching, profile settings, billing options, and upgrade prompts.
12
- *
13
- * The component uses a render prop pattern to provide context values to its children,
14
- * allowing flexible composition of menu items based on user permissions and team status.
3
+ * The main profile menu component, displaying team and user actions.
4
+ * Renders optional menu items based on the provided config and user permissions.
15
5
  *
16
6
  * @example
17
- * ```tsx
18
- * <ProfileMenu config={profileMenuConfig}>
19
- * {({ allowTeamCreation, showBillingButton }) => (
20
- * <>
21
- * <TeamSwitch onSwitchTeam={handleTeamSwitch} />
22
- * {allowTeamCreation && <MenuItem>Create new team</MenuItem>}
23
- * {showBillingButton && <MenuItem href="/billing">Billing</MenuItem>}
24
- * </>
25
- * )}
26
- * </ProfileMenu>
27
7
  * ```
8
+ * <ProfileMenu config={...} />
9
+ * ```
10
+ *
11
+ * @note This component must be used within a Sidebar Context.
28
12
  */
29
- export declare const ProfileMenu: ({ config, children }: ProfileMenuProps) => import("react/jsx-runtime").JSX.Element;
13
+ type ProfileMenuProps = {
14
+ config: ProfileMenuConfig;
15
+ };
16
+ export declare const ProfileMenu: ({ config }: ProfileMenuProps) => import("react/jsx-runtime").JSX.Element;
30
17
  export {};
@@ -2,14 +2,12 @@ import { StoryObj } from '@storybook/react';
2
2
  import { ProfileMenu } from './ProfileMenu';
3
3
  declare const meta: {
4
4
  title: string;
5
- component: ({ config, children }: {
6
- config: import('./types').SidebarProfileMenuConfig;
7
- children: import('./ProfileMenuContent').ProfileMenuContentProps["children"];
5
+ component: ({ config }: {
6
+ config: import('../../types').ProfileMenuConfig;
8
7
  }) => import("react/jsx-runtime").JSX.Element;
9
8
  tags: string[];
10
9
  decorators: ((Story: import('@storybook/core/csf').PartialStoryFn<import('@storybook/react').ReactRenderer, {
11
- config: import('./types').SidebarProfileMenuConfig;
12
- children: import('./ProfileMenuContent').ProfileMenuContentProps["children"];
10
+ config: import('../../types').ProfileMenuConfig;
13
11
  }>) => import("react/jsx-runtime").JSX.Element)[];
14
12
  parameters: {
15
13
  layout: string;
@@ -1,42 +1,17 @@
1
- type ProfileSettingsMenuItemProps = {
2
- /** URL to the profile settings page */
3
- href: string;
4
- /** User's email address to display below "Profile Settings" */
5
- userEmail: string;
6
- /** Optional callback function for tracking or additional actions */
7
- onClick?: () => void;
8
- /** Whether to hide the divider that appears below this menu item */
9
- hideBottomDivider?: boolean;
10
- };
11
1
  /**
12
- * A menu item component that provides access to profile settings.
13
- *
14
- * Features:
15
- * - Displays "Profile Settings" with the user's email address below
16
- * - Conditionally renders based on team status
17
- * - Includes an optional divider below the item
18
- * - Will not render if:
19
- * - Team is suspended
20
- * - Team's trial period has ended
2
+ * A menu item component for navigating to the profile settings page.
3
+ * Checks the user's permissions using the Sidebar context and renders
4
+ * nothing if the user does not have access.
21
5
  *
22
6
  * @example
23
- * ```tsx
24
- * <ProfileSettingsMenuItem
25
- * href="/settings/profile"
26
- * userEmail="user@example.com"
27
- * onClick={() => trackSettingsClick()}
28
- * />
29
- *
30
- * // Without bottom divider
31
- * <ProfileSettingsMenuItem
32
- * href="/settings/profile"
33
- * userEmail="user@example.com"
34
- * hideBottomDivider
35
- * />
7
+ * ```
8
+ * <ProfileSettingsMenuItem onClick={() => { }} />
36
9
  * ```
37
10
  *
38
- * @note This component must be used within a ProfileMenu component
39
- * as it requires access to the ProfileMenu context for team status information.
11
+ * @note This component must be used within a Sidebar Context.
40
12
  */
41
- export declare const ProfileSettingsMenuItem: ({ href, onClick, userEmail, hideBottomDivider, }: ProfileSettingsMenuItemProps) => import("react/jsx-runtime").JSX.Element | null;
13
+ type ProfileSettingsMenuItem = {
14
+ onClick?: () => void;
15
+ };
16
+ export declare const ProfileSettingsMenuItem: ({ onClick }: ProfileSettingsMenuItem) => import("react/jsx-runtime").JSX.Element | null;
42
17
  export {};
@@ -0,0 +1,13 @@
1
+ /**
2
+ * A menu item component for navigating to the provider dashboard.
3
+ * It checks the current user's permissions using the Sidebar context
4
+ * and renders nothing if the user does not have access.
5
+ *
6
+ * @example
7
+ * ```
8
+ * <ProviderMenuItem />
9
+ * ```
10
+ *
11
+ * @note This component must be used within a Sidebar Context.
12
+ */
13
+ export declare const ProviderMenuItem: () => import("react/jsx-runtime").JSX.Element | null;
@@ -28,9 +28,7 @@ type TeamMenuItemProps = {
28
28
  * />
29
29
  * ```
30
30
  *
31
- * @note This component must be used within a ProfileMenu component
32
- * as it requires access to the ProfileMenu context for current team
33
- * and plan information.
31
+ * @note This component must be used within a Sidebar Context.
34
32
  */
35
33
  export declare const TeamMenuItem: ({ team, onClick, hidePlanLabel }: TeamMenuItemProps) => import("react/jsx-runtime").JSX.Element | null;
36
34
  export {};