@lokalise/harmony 1.40.1 → 1.40.3-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 (408) hide show
  1. package/dist/harmony.css +110 -317
  2. package/dist/harmony100.cjs +8 -11
  3. package/dist/harmony100.cjs.map +1 -1
  4. package/dist/harmony100.mjs +8 -11
  5. package/dist/harmony100.mjs.map +1 -1
  6. package/dist/harmony101.cjs +47 -12
  7. package/dist/harmony101.cjs.map +1 -1
  8. package/dist/harmony101.mjs +46 -11
  9. package/dist/harmony101.mjs.map +1 -1
  10. package/dist/harmony102.cjs +6 -3
  11. package/dist/harmony102.cjs.map +1 -1
  12. package/dist/harmony102.mjs +6 -3
  13. package/dist/harmony102.mjs.map +1 -1
  14. package/dist/harmony103.cjs +99 -9
  15. package/dist/harmony103.cjs.map +1 -1
  16. package/dist/harmony103.mjs +81 -8
  17. package/dist/harmony103.mjs.map +1 -1
  18. package/dist/harmony104.cjs +14 -9
  19. package/dist/harmony104.cjs.map +1 -1
  20. package/dist/harmony104.mjs +13 -8
  21. package/dist/harmony104.mjs.map +1 -1
  22. package/dist/harmony105.cjs +20 -57
  23. package/dist/harmony105.cjs.map +1 -1
  24. package/dist/harmony105.mjs +20 -57
  25. package/dist/harmony105.mjs.map +1 -1
  26. package/dist/harmony106.cjs +9 -42
  27. package/dist/harmony106.cjs.map +1 -1
  28. package/dist/harmony106.mjs +8 -41
  29. package/dist/harmony106.mjs.map +1 -1
  30. package/dist/harmony107.cjs +14 -5
  31. package/dist/harmony107.cjs.map +1 -1
  32. package/dist/harmony107.mjs +14 -5
  33. package/dist/harmony107.mjs.map +1 -1
  34. package/dist/harmony108.cjs +17 -9
  35. package/dist/harmony108.cjs.map +1 -1
  36. package/dist/harmony108.mjs +16 -8
  37. package/dist/harmony108.mjs.map +1 -1
  38. package/dist/harmony109.cjs +21 -24
  39. package/dist/harmony109.cjs.map +1 -1
  40. package/dist/harmony109.mjs +20 -23
  41. package/dist/harmony109.mjs.map +1 -1
  42. package/dist/harmony110.cjs +10 -6
  43. package/dist/harmony110.cjs.map +1 -1
  44. package/dist/harmony110.mjs +9 -5
  45. package/dist/harmony110.mjs.map +1 -1
  46. package/dist/harmony111.cjs +22 -14
  47. package/dist/harmony111.cjs.map +1 -1
  48. package/dist/harmony111.mjs +24 -16
  49. package/dist/harmony111.mjs.map +1 -1
  50. package/dist/harmony112.cjs +14 -12
  51. package/dist/harmony112.cjs.map +1 -1
  52. package/dist/harmony112.mjs +13 -11
  53. package/dist/harmony112.mjs.map +1 -1
  54. package/dist/harmony113.cjs +35 -12
  55. package/dist/harmony113.cjs.map +1 -1
  56. package/dist/harmony113.mjs +35 -12
  57. package/dist/harmony113.mjs.map +1 -1
  58. package/dist/harmony114.cjs +14 -18
  59. package/dist/harmony114.cjs.map +1 -1
  60. package/dist/harmony114.mjs +14 -18
  61. package/dist/harmony114.mjs.map +1 -1
  62. package/dist/harmony115.cjs +19 -84
  63. package/dist/harmony115.cjs.map +1 -1
  64. package/dist/harmony115.mjs +19 -84
  65. package/dist/harmony115.mjs.map +1 -1
  66. package/dist/harmony116.cjs +34 -29
  67. package/dist/harmony116.cjs.map +1 -1
  68. package/dist/harmony116.mjs +34 -29
  69. package/dist/harmony116.mjs.map +1 -1
  70. package/dist/harmony117.cjs +21 -99
  71. package/dist/harmony117.cjs.map +1 -1
  72. package/dist/harmony117.mjs +20 -81
  73. package/dist/harmony117.mjs.map +1 -1
  74. package/dist/harmony118.cjs +21 -21
  75. package/dist/harmony118.cjs.map +1 -1
  76. package/dist/harmony118.mjs +20 -20
  77. package/dist/harmony118.mjs.map +1 -1
  78. package/dist/harmony119.cjs +6 -6
  79. package/dist/harmony119.cjs.map +1 -1
  80. package/dist/harmony119.mjs +5 -5
  81. package/dist/harmony119.mjs.map +1 -1
  82. package/dist/harmony120.cjs +15 -132
  83. package/dist/harmony120.cjs.map +1 -1
  84. package/dist/harmony120.mjs +14 -131
  85. package/dist/harmony120.mjs.map +1 -1
  86. package/dist/harmony121.cjs +87 -12
  87. package/dist/harmony121.cjs.map +1 -1
  88. package/dist/harmony121.mjs +86 -11
  89. package/dist/harmony121.mjs.map +1 -1
  90. package/dist/harmony122.cjs +30 -5
  91. package/dist/harmony122.cjs.map +1 -1
  92. package/dist/harmony122.mjs +30 -5
  93. package/dist/harmony122.mjs.map +1 -1
  94. package/dist/harmony123.cjs +6 -41
  95. package/dist/harmony123.cjs.map +1 -1
  96. package/dist/harmony123.mjs +5 -40
  97. package/dist/harmony123.mjs.map +1 -1
  98. package/dist/harmony124.cjs +6 -61
  99. package/dist/harmony124.cjs.map +1 -1
  100. package/dist/harmony124.mjs +5 -60
  101. package/dist/harmony124.mjs.map +1 -1
  102. package/dist/harmony125.cjs +96 -7
  103. package/dist/harmony125.cjs.map +1 -1
  104. package/dist/harmony125.mjs +96 -7
  105. package/dist/harmony125.mjs.map +1 -1
  106. package/dist/harmony126.cjs +14 -7
  107. package/dist/harmony126.cjs.map +1 -1
  108. package/dist/harmony126.mjs +13 -6
  109. package/dist/harmony126.mjs.map +1 -1
  110. package/dist/harmony127.cjs +14 -10
  111. package/dist/harmony127.cjs.map +1 -1
  112. package/dist/harmony127.mjs +14 -10
  113. package/dist/harmony127.mjs.map +1 -1
  114. package/dist/harmony128.cjs +37 -6
  115. package/dist/harmony128.cjs.map +1 -1
  116. package/dist/harmony128.mjs +36 -5
  117. package/dist/harmony128.mjs.map +1 -1
  118. package/dist/harmony129.cjs +29 -6
  119. package/dist/harmony129.cjs.map +1 -1
  120. package/dist/harmony129.mjs +28 -5
  121. package/dist/harmony129.mjs.map +1 -1
  122. package/dist/harmony130.cjs +10 -63
  123. package/dist/harmony130.cjs.map +1 -1
  124. package/dist/harmony130.mjs +9 -62
  125. package/dist/harmony130.mjs.map +1 -1
  126. package/dist/harmony131.cjs +6 -88
  127. package/dist/harmony131.cjs.map +1 -1
  128. package/dist/harmony131.mjs +5 -87
  129. package/dist/harmony131.mjs.map +1 -1
  130. package/dist/harmony132.cjs +6 -15
  131. package/dist/harmony132.cjs.map +1 -1
  132. package/dist/harmony132.mjs +6 -15
  133. package/dist/harmony132.mjs.map +1 -1
  134. package/dist/harmony133.cjs +25 -97
  135. package/dist/harmony133.cjs.map +1 -1
  136. package/dist/harmony133.mjs +24 -96
  137. package/dist/harmony133.mjs.map +1 -1
  138. package/dist/harmony134.cjs +7 -14
  139. package/dist/harmony134.cjs.map +1 -1
  140. package/dist/harmony134.mjs +6 -13
  141. package/dist/harmony134.mjs.map +1 -1
  142. package/dist/harmony135.cjs +13 -15
  143. package/dist/harmony135.cjs.map +1 -1
  144. package/dist/harmony135.mjs +12 -14
  145. package/dist/harmony135.mjs.map +1 -1
  146. package/dist/harmony136.cjs +7 -37
  147. package/dist/harmony136.cjs.map +1 -1
  148. package/dist/harmony136.mjs +6 -36
  149. package/dist/harmony136.mjs.map +1 -1
  150. package/dist/harmony137.cjs +10 -28
  151. package/dist/harmony137.cjs.map +1 -1
  152. package/dist/harmony137.mjs +10 -28
  153. package/dist/harmony137.mjs.map +1 -1
  154. package/dist/harmony138.cjs +13 -7
  155. package/dist/harmony138.cjs.map +1 -1
  156. package/dist/harmony138.mjs +13 -7
  157. package/dist/harmony138.mjs.map +1 -1
  158. package/dist/harmony139.cjs +15 -57
  159. package/dist/harmony139.cjs.map +1 -1
  160. package/dist/harmony139.mjs +15 -57
  161. package/dist/harmony139.mjs.map +1 -1
  162. package/dist/harmony14.cjs +1 -1
  163. package/dist/harmony14.mjs +1 -1
  164. package/dist/harmony140.cjs +15 -59
  165. package/dist/harmony140.cjs.map +1 -1
  166. package/dist/harmony140.mjs +15 -59
  167. package/dist/harmony140.mjs.map +1 -1
  168. package/dist/harmony141.cjs +12 -19
  169. package/dist/harmony141.cjs.map +1 -1
  170. package/dist/harmony141.mjs +11 -18
  171. package/dist/harmony141.mjs.map +1 -1
  172. package/dist/harmony142.cjs +15 -12
  173. package/dist/harmony142.cjs.map +1 -1
  174. package/dist/harmony142.mjs +15 -12
  175. package/dist/harmony142.mjs.map +1 -1
  176. package/dist/harmony143.cjs +19 -13
  177. package/dist/harmony143.cjs.map +1 -1
  178. package/dist/harmony143.mjs +19 -13
  179. package/dist/harmony143.mjs.map +1 -1
  180. package/dist/harmony144.cjs +10 -14
  181. package/dist/harmony144.cjs.map +1 -1
  182. package/dist/harmony144.mjs +10 -14
  183. package/dist/harmony144.mjs.map +1 -1
  184. package/dist/harmony145.cjs +5 -10
  185. package/dist/harmony145.cjs.map +1 -1
  186. package/dist/harmony145.mjs +5 -10
  187. package/dist/harmony145.mjs.map +1 -1
  188. package/dist/harmony146.cjs +11 -15
  189. package/dist/harmony146.cjs.map +1 -1
  190. package/dist/harmony146.mjs +11 -15
  191. package/dist/harmony146.mjs.map +1 -1
  192. package/dist/harmony147.cjs +28 -17
  193. package/dist/harmony147.cjs.map +1 -1
  194. package/dist/harmony147.mjs +28 -17
  195. package/dist/harmony147.mjs.map +1 -1
  196. package/dist/harmony148.cjs +12 -10
  197. package/dist/harmony148.cjs.map +1 -1
  198. package/dist/harmony148.mjs +12 -10
  199. package/dist/harmony148.mjs.map +1 -1
  200. package/dist/harmony17.cjs +1 -1
  201. package/dist/harmony17.mjs +1 -1
  202. package/dist/harmony25.cjs +1 -1
  203. package/dist/harmony25.mjs +1 -1
  204. package/dist/harmony26.cjs +1 -1
  205. package/dist/harmony26.mjs +1 -1
  206. package/dist/harmony4.cjs +15 -24
  207. package/dist/harmony4.cjs.map +1 -1
  208. package/dist/harmony4.mjs +15 -24
  209. package/dist/harmony4.mjs.map +1 -1
  210. package/dist/harmony5.cjs +1 -1
  211. package/dist/harmony5.mjs +1 -1
  212. package/dist/harmony6.cjs +3 -3
  213. package/dist/harmony6.mjs +3 -3
  214. package/dist/harmony66.cjs +1 -0
  215. package/dist/harmony66.cjs.map +1 -1
  216. package/dist/harmony66.mjs +1 -0
  217. package/dist/harmony66.mjs.map +1 -1
  218. package/dist/harmony7.cjs +1 -1
  219. package/dist/harmony7.mjs +1 -1
  220. package/dist/harmony75.cjs +1 -1
  221. package/dist/harmony75.mjs +1 -1
  222. package/dist/harmony76.cjs +51 -6
  223. package/dist/harmony76.cjs.map +1 -1
  224. package/dist/harmony76.mjs +50 -5
  225. package/dist/harmony76.mjs.map +1 -1
  226. package/dist/harmony77.cjs +38 -8
  227. package/dist/harmony77.cjs.map +1 -1
  228. package/dist/harmony77.mjs +38 -8
  229. package/dist/harmony77.mjs.map +1 -1
  230. package/dist/harmony78.cjs +9 -18
  231. package/dist/harmony78.cjs.map +1 -1
  232. package/dist/harmony78.mjs +8 -17
  233. package/dist/harmony78.mjs.map +1 -1
  234. package/dist/harmony79.cjs +6 -21
  235. package/dist/harmony79.cjs.map +1 -1
  236. package/dist/harmony79.mjs +8 -23
  237. package/dist/harmony79.mjs.map +1 -1
  238. package/dist/harmony8.cjs +5 -5
  239. package/dist/harmony8.mjs +5 -5
  240. package/dist/harmony80.cjs +28 -4
  241. package/dist/harmony80.cjs.map +1 -1
  242. package/dist/harmony80.mjs +28 -4
  243. package/dist/harmony80.mjs.map +1 -1
  244. package/dist/harmony81.cjs +3 -32
  245. package/dist/harmony81.cjs.map +1 -1
  246. package/dist/harmony81.mjs +3 -32
  247. package/dist/harmony81.mjs.map +1 -1
  248. package/dist/harmony82.cjs +30 -29
  249. package/dist/harmony82.cjs.map +1 -1
  250. package/dist/harmony82.mjs +31 -30
  251. package/dist/harmony82.mjs.map +1 -1
  252. package/dist/harmony83.cjs +43 -19
  253. package/dist/harmony83.cjs.map +1 -1
  254. package/dist/harmony83.mjs +43 -19
  255. package/dist/harmony83.mjs.map +1 -1
  256. package/dist/harmony84.cjs +27 -29
  257. package/dist/harmony84.cjs.map +1 -1
  258. package/dist/harmony84.mjs +27 -29
  259. package/dist/harmony84.mjs.map +1 -1
  260. package/dist/harmony85.cjs +64 -57
  261. package/dist/harmony85.cjs.map +1 -1
  262. package/dist/harmony85.mjs +64 -57
  263. package/dist/harmony85.mjs.map +1 -1
  264. package/dist/harmony86.cjs +15 -9
  265. package/dist/harmony86.cjs.map +1 -1
  266. package/dist/harmony86.mjs +14 -8
  267. package/dist/harmony86.mjs.map +1 -1
  268. package/dist/harmony87.cjs +3 -8
  269. package/dist/harmony87.cjs.map +1 -1
  270. package/dist/harmony87.mjs +3 -8
  271. package/dist/harmony87.mjs.map +1 -1
  272. package/dist/harmony88.cjs +10 -27
  273. package/dist/harmony88.cjs.map +1 -1
  274. package/dist/harmony88.mjs +11 -28
  275. package/dist/harmony88.mjs.map +1 -1
  276. package/dist/harmony89.cjs +13 -4
  277. package/dist/harmony89.cjs.map +1 -1
  278. package/dist/harmony89.mjs +12 -3
  279. package/dist/harmony89.mjs.map +1 -1
  280. package/dist/harmony90.cjs +9 -31
  281. package/dist/harmony90.cjs.map +1 -1
  282. package/dist/harmony90.mjs +10 -32
  283. package/dist/harmony90.mjs.map +1 -1
  284. package/dist/harmony91.cjs +22 -44
  285. package/dist/harmony91.cjs.map +1 -1
  286. package/dist/harmony91.mjs +21 -43
  287. package/dist/harmony91.mjs.map +1 -1
  288. package/dist/harmony92.cjs +160 -23
  289. package/dist/harmony92.cjs.map +1 -1
  290. package/dist/harmony92.mjs +160 -23
  291. package/dist/harmony92.mjs.map +1 -1
  292. package/dist/harmony93.cjs +41 -63
  293. package/dist/harmony93.cjs.map +1 -1
  294. package/dist/harmony93.mjs +41 -63
  295. package/dist/harmony93.mjs.map +1 -1
  296. package/dist/harmony94.cjs +25 -13
  297. package/dist/harmony94.cjs.map +1 -1
  298. package/dist/harmony94.mjs +26 -14
  299. package/dist/harmony94.mjs.map +1 -1
  300. package/dist/harmony95.cjs +3 -3
  301. package/dist/harmony95.cjs.map +1 -1
  302. package/dist/harmony95.mjs +3 -3
  303. package/dist/harmony95.mjs.map +1 -1
  304. package/dist/harmony96.cjs +16 -164
  305. package/dist/harmony96.cjs.map +1 -1
  306. package/dist/harmony96.mjs +16 -164
  307. package/dist/harmony96.mjs.map +1 -1
  308. package/dist/harmony97.cjs +73 -42
  309. package/dist/harmony97.cjs.map +1 -1
  310. package/dist/harmony97.mjs +73 -42
  311. package/dist/harmony97.mjs.map +1 -1
  312. package/dist/harmony98.cjs +12 -11
  313. package/dist/harmony98.cjs.map +1 -1
  314. package/dist/harmony98.mjs +12 -11
  315. package/dist/harmony98.mjs.map +1 -1
  316. package/dist/harmony99.cjs +31 -22
  317. package/dist/harmony99.cjs.map +1 -1
  318. package/dist/harmony99.mjs +30 -21
  319. package/dist/harmony99.mjs.map +1 -1
  320. package/dist/types/src/components/Sidebar/Sidebar.d.ts +15 -49
  321. package/dist/types/src/components/Sidebar/SidebarContent/SidebarContent.d.ts +7 -0
  322. package/dist/types/src/components/Sidebar/SidebarContext.d.ts +3 -0
  323. package/dist/types/src/components/Sidebar/SidebarProvider.d.ts +3 -0
  324. package/dist/types/src/components/Sidebar/Widgets/Avatar/Avatar.d.ts +5 -0
  325. package/dist/types/src/components/Sidebar/Widgets/HelpMenu/HelpMenu.d.ts +13 -0
  326. package/dist/types/src/components/Sidebar/Widgets/HelpMenu/HelpMenu.test.d.ts +1 -0
  327. package/dist/types/src/components/Sidebar/Widgets/IconLink/IconLink.test.d.ts +1 -0
  328. package/dist/types/src/components/Sidebar/Widgets/Menu/Menu.d.ts +3 -2
  329. package/dist/types/src/components/Sidebar/Widgets/ProfileMenu/BillingMenuItem/BillingMenuItem.d.ts +13 -0
  330. package/dist/types/src/components/Sidebar/Widgets/ProfileMenu/CreateNewTeam/CreateNewTeam.d.ts +17 -0
  331. package/dist/types/src/components/Sidebar/Widgets/ProfileMenu/CreateNewTeam/CreateNewTeam.test.d.ts +1 -0
  332. package/dist/types/src/components/Sidebar/Widgets/ProfileMenu/CreateNewTeamPlaceholder/CreateNewTeamPlaceholder.d.ts +17 -0
  333. package/dist/types/src/components/Sidebar/Widgets/ProfileMenu/CreateNewTeamPlaceholder/CreateNewTeamPlaceholder.test.d.ts +1 -0
  334. package/dist/types/src/components/Sidebar/Widgets/ProfileMenu/DarkModeToggle/DarkModeToggle.d.ts +18 -0
  335. package/dist/types/src/components/Sidebar/Widgets/ProfileMenu/ProfileMenu.d.ts +11 -24
  336. package/dist/types/src/components/Sidebar/Widgets/ProfileMenu/ProfileMenu.stories.d.ts +3 -5
  337. package/dist/types/src/components/Sidebar/Widgets/ProfileMenu/ProfileSettingsMenuItem/ProfileSettingsMenuItem.d.ts +10 -35
  338. package/dist/types/src/components/Sidebar/Widgets/ProfileMenu/ProfileSettingsMenuItem/ProfileSettingsMenuItem.test.d.ts +1 -0
  339. package/dist/types/src/components/Sidebar/Widgets/ProfileMenu/ProviderMenuItem/ProviderMenuItem.d.ts +13 -0
  340. package/dist/types/src/components/Sidebar/Widgets/ProfileMenu/ProviderMenuItem/ProviderMenuItem.test.d.ts +1 -0
  341. package/dist/types/src/components/Sidebar/Widgets/ProfileMenu/TeamMenuItem/TeamMenuItem.d.ts +1 -3
  342. package/dist/types/src/components/Sidebar/Widgets/ProfileMenu/TeamMenuItem/TeamMenuItem.test.d.ts +1 -0
  343. package/dist/types/src/components/Sidebar/Widgets/ProfileMenu/TeamSettingsMenuItem/TeamSettingsMenuItem.d.ts +13 -0
  344. package/dist/types/src/components/Sidebar/Widgets/ProfileMenu/TeamSettingsMenuItem/TeamSettingsMenuItem.test.d.ts +1 -0
  345. package/dist/types/src/components/Sidebar/Widgets/ProfileMenu/TeamSwitch/TeamSwitch.d.ts +5 -7
  346. package/dist/types/src/components/Sidebar/Widgets/ProfileMenu/TeamSwitch/TeamSwitch.test.d.ts +1 -0
  347. package/dist/types/src/components/Sidebar/Widgets/ProfileMenu/UpgradeMenuItem/UpgradeMenuItem.d.ts +6 -9
  348. package/dist/types/src/components/Sidebar/Widgets/ProfileMenu/UpgradeMenuItem/UpgradeMenuItem.test.d.ts +1 -0
  349. package/dist/types/src/components/Sidebar/Widgets/Tasks/utils/content.d.ts +4 -0
  350. package/dist/types/src/components/Sidebar/hooks/useSidebar.d.ts +1 -0
  351. package/dist/types/src/components/Sidebar/hooks/useSidebarDataLoader.d.ts +5 -0
  352. package/dist/types/src/components/Sidebar/types.d.ts +72 -0
  353. package/dist/types/src/features/auth/core/types/jwtTokenPayload.d.ts +16 -10
  354. package/dist/types/src/features/auth/core/types/jwtTokenPayload.fixture.d.ts +15 -11
  355. package/dist/types/src/features/auth/frontend/hooks/useAuthenticatedSessionPayload.d.ts +7 -5
  356. package/dist/types/src/features/auth/frontend/hooks/useAuthenticatedUser.d.ts +1 -1
  357. package/dist/types/src/features/navigation/hooks/useNavigation.d.ts +1 -1
  358. package/dist/types/src/features/navigation/hooks/useNavigationQueries.d.ts +3 -3
  359. package/dist/types/src/features/publicApi/hooks/useCreateProjectMutation.d.ts +2 -2
  360. package/dist/types/src/features/publicApi/hooks/useGetProjectPermissionMetaQuery.d.ts +2 -2
  361. package/dist/types/src/features/publicApi/hooks/useGetTeamUsersQuery.d.ts +1 -1
  362. package/dist/types/src/features/publicApi/hooks/useListPermissionTemplates.d.ts +1 -1
  363. package/dist/types/src/features/publicApi/hooks/useListProjectsQuery.d.ts +2 -2
  364. package/dist/types/src/features/publicApi/hooks/useListTeamUsersQuery.d.ts +1 -1
  365. package/dist/types/src/features/publicApi/hooks/useRetrieveProjectQuery.d.ts +1 -1
  366. package/dist/types/src/features/publicApi/hooks/useUpdateProjectMutation.d.ts +1 -1
  367. package/dist/types/src/features/publicApi/permissionTemplates.d.ts +4 -4
  368. package/dist/types/src/features/publicApi/projects.d.ts +28 -28
  369. package/dist/types/src/features/publicApi/teamUsers.d.ts +8 -8
  370. package/dist/types/src/features/publicApi/types/permissionTemplateTypes.d.ts +6 -6
  371. package/dist/types/src/features/publicApi/types/permissionTypes.d.ts +2 -2
  372. package/dist/types/src/features/publicApi/types/projectTypes.d.ts +27 -27
  373. package/dist/types/src/features/publicApi/types/teamUserTypes.d.ts +10 -10
  374. package/dist/types/src/utils/user/permissions.d.ts +9 -0
  375. package/dist/types/src/utils/user/permissions.test.d.ts +1 -0
  376. package/dist/types/tests/mocks/sidebar/sidebar.d.ts +19 -0
  377. package/dist/types/tests/utils/sidebar.d.ts +4 -0
  378. package/package.json +1 -1
  379. package/dist/harmony149.cjs +0 -9
  380. package/dist/harmony149.cjs.map +0 -1
  381. package/dist/harmony149.mjs +0 -9
  382. package/dist/harmony149.mjs.map +0 -1
  383. package/dist/harmony150.cjs +0 -15
  384. package/dist/harmony150.cjs.map +0 -1
  385. package/dist/harmony150.mjs +0 -15
  386. package/dist/harmony150.mjs.map +0 -1
  387. package/dist/harmony151.cjs +0 -35
  388. package/dist/harmony151.cjs.map +0 -1
  389. package/dist/harmony151.mjs +0 -35
  390. package/dist/harmony151.mjs.map +0 -1
  391. package/dist/harmony152.cjs +0 -17
  392. package/dist/harmony152.cjs.map +0 -1
  393. package/dist/harmony152.mjs +0 -17
  394. package/dist/harmony152.mjs.map +0 -1
  395. package/dist/harmony153.cjs +0 -49
  396. package/dist/harmony153.cjs.map +0 -1
  397. package/dist/harmony153.mjs +0 -49
  398. package/dist/harmony153.mjs.map +0 -1
  399. package/dist/harmony154.cjs +0 -15
  400. package/dist/harmony154.cjs.map +0 -1
  401. package/dist/harmony154.mjs +0 -15
  402. package/dist/harmony154.mjs.map +0 -1
  403. package/dist/types/src/components/Sidebar/Widgets/ProfileMenu/ProfileMenuContent.d.ts +0 -6
  404. package/dist/types/src/components/Sidebar/Widgets/ProfileMenu/ProfileMenuContext.d.ts +0 -3
  405. package/dist/types/src/components/Sidebar/Widgets/ProfileMenu/ProfileMenuProvider.d.ts +0 -7
  406. package/dist/types/src/components/Sidebar/utils/index.d.ts +0 -4
  407. /package/dist/types/src/components/Sidebar/Widgets/{ProfileMenu/ProfileMenu.test.d.ts → Avatar/Avatar.test.d.ts} +0 -0
  408. /package/dist/types/src/components/Sidebar/{UpgradeIcon → Widgets/ProfileMenu/UpgradeIcon}/UpgradeIcon.d.ts +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"harmony98.cjs","sources":["../src/components/NavigationPanel/components/NavigationTabs/NavigationTabsItem/NavItemContents.tsx"],"sourcesContent":["import { Tag } from '@lokalise/louis'\n\nimport classes from './styles.module.css'\n\ninterface NavItemContentProps {\n\tlabel: string\n\tbadge?: number\n\tnovel?: string\n}\nexport const NavItemContents = ({ label, badge, novel }: NavItemContentProps) => (\n\t<div className=\"flex gap-1\">\n\t\t<div>\n\t\t\t<span>{label}</span>\n\t\t\t{!!badge && (\n\t\t\t\t<div className={classes.badge} aria-label={`${badge} items requiring attention`}>\n\t\t\t\t\t{badge > 9 ? '9+' : badge}\n\t\t\t\t</div>\n\t\t\t)}\n\t\t</div>\n\t\t{!!novel && <Tag className={classes.tag}>{novel}</Tag>}\n\t</div>\n)\n"],"names":["jsxs","jsx","classes","Tag"],"mappings":";;;;;AASa,MAAA,kBAAkB,CAAC,EAAE,OAAO,OAAO,YAC/CA,2BAAA,KAAC,OAAI,EAAA,WAAU,cACd,UAAA;AAAA,EAAAA,gCAAC,OACA,EAAA,UAAA;AAAA,IAAAC,2BAAAA,IAAC,UAAM,UAAM,MAAA,CAAA;AAAA,IACZ,CAAC,CAAC,SACFA,+BAAC,SAAI,WAAWC,cAAA,QAAQ,OAAO,cAAY,GAAG,KAAK,8BACjD,UAAQ,QAAA,IAAI,OAAO,MACrB,CAAA;AAAA,EAAA,GAEF;AAAA,EACC,CAAC,CAAC,SAASD,2BAAA,IAACE,aAAI,WAAWD,sBAAQ,KAAM,UAAM,MAAA,CAAA;AAAA,EACjD,CAAA;;"}
1
+ {"version":3,"file":"harmony98.cjs","sources":["../src/components/Sidebar/hooks/useSidebar.ts"],"sourcesContent":["import { SidebarContext } from '@components/Sidebar/SidebarContext'\nimport { useContext } from 'react'\n\nexport const useSidebar = () => {\n\tconst context = useContext(SidebarContext)\n\n\tif (!context) {\n\t\tthrow new Error(\n\t\t\t'You are using useSidebar hook outside its context. Please review your code implementation',\n\t\t)\n\t}\n\n\treturn context\n}\n"],"names":["useContext","SidebarContext"],"mappings":";;;;AAGO,MAAM,aAAa,MAAM;AACzB,QAAA,UAAUA,iBAAWC,6BAAc;AAEzC,MAAI,CAAC,SAAS;AACb,UAAM,IAAI;AAAA,MACT;AAAA,IACD;AAAA,EAAA;AAGM,SAAA;AACR;;"}
@@ -1,14 +1,15 @@
1
- import { jsxs, jsx } from "react/jsx-runtime";
2
- import { Tag } from "@lokalise/louis";
3
- import classes from "./harmony99.mjs";
4
- const NavItemContents = ({ label, badge, novel }) => /* @__PURE__ */ jsxs("div", { className: "flex gap-1", children: [
5
- /* @__PURE__ */ jsxs("div", { children: [
6
- /* @__PURE__ */ jsx("span", { children: label }),
7
- !!badge && /* @__PURE__ */ jsx("div", { className: classes.badge, "aria-label": `${badge} items requiring attention`, children: badge > 9 ? "9+" : badge })
8
- ] }),
9
- !!novel && /* @__PURE__ */ jsx(Tag, { className: classes.tag, children: novel })
10
- ] });
1
+ import { SidebarContext } from "./harmony95.mjs";
2
+ import { useContext } from "react";
3
+ const useSidebar = () => {
4
+ const context = useContext(SidebarContext);
5
+ if (!context) {
6
+ throw new Error(
7
+ "You are using useSidebar hook outside its context. Please review your code implementation"
8
+ );
9
+ }
10
+ return context;
11
+ };
11
12
  export {
12
- NavItemContents
13
+ useSidebar
13
14
  };
14
15
  //# sourceMappingURL=harmony98.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"harmony98.mjs","sources":["../src/components/NavigationPanel/components/NavigationTabs/NavigationTabsItem/NavItemContents.tsx"],"sourcesContent":["import { Tag } from '@lokalise/louis'\n\nimport classes from './styles.module.css'\n\ninterface NavItemContentProps {\n\tlabel: string\n\tbadge?: number\n\tnovel?: string\n}\nexport const NavItemContents = ({ label, badge, novel }: NavItemContentProps) => (\n\t<div className=\"flex gap-1\">\n\t\t<div>\n\t\t\t<span>{label}</span>\n\t\t\t{!!badge && (\n\t\t\t\t<div className={classes.badge} aria-label={`${badge} items requiring attention`}>\n\t\t\t\t\t{badge > 9 ? '9+' : badge}\n\t\t\t\t</div>\n\t\t\t)}\n\t\t</div>\n\t\t{!!novel && <Tag className={classes.tag}>{novel}</Tag>}\n\t</div>\n)\n"],"names":[],"mappings":";;;AASa,MAAA,kBAAkB,CAAC,EAAE,OAAO,OAAO,YAC/C,qBAAC,OAAI,EAAA,WAAU,cACd,UAAA;AAAA,EAAA,qBAAC,OACA,EAAA,UAAA;AAAA,IAAA,oBAAC,UAAM,UAAM,MAAA,CAAA;AAAA,IACZ,CAAC,CAAC,SACF,oBAAC,SAAI,WAAW,QAAQ,OAAO,cAAY,GAAG,KAAK,8BACjD,UAAQ,QAAA,IAAI,OAAO,MACrB,CAAA;AAAA,EAAA,GAEF;AAAA,EACC,CAAC,CAAC,SAAS,oBAAC,OAAI,WAAW,QAAQ,KAAM,UAAM,MAAA,CAAA;AAAA,EACjD,CAAA;"}
1
+ {"version":3,"file":"harmony98.mjs","sources":["../src/components/Sidebar/hooks/useSidebar.ts"],"sourcesContent":["import { SidebarContext } from '@components/Sidebar/SidebarContext'\nimport { useContext } from 'react'\n\nexport const useSidebar = () => {\n\tconst context = useContext(SidebarContext)\n\n\tif (!context) {\n\t\tthrow new Error(\n\t\t\t'You are using useSidebar hook outside its context. Please review your code implementation',\n\t\t)\n\t}\n\n\treturn context\n}\n"],"names":[],"mappings":";;AAGO,MAAM,aAAa,MAAM;AACzB,QAAA,UAAU,WAAW,cAAc;AAEzC,MAAI,CAAC,SAAS;AACb,UAAM,IAAI;AAAA,MACT;AAAA,IACD;AAAA,EAAA;AAGM,SAAA;AACR;"}
@@ -1,24 +1,33 @@
1
1
  "use strict";
2
- Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
3
- const badge = "_badge_1pc1v_1";
4
- const tag = "_tag_1pc1v_15";
5
- const withNavLinkStyle = "_withNavLinkStyle_1pc1v_42 _withLinkStyle_1pc1v_21";
6
- const disabled = "_disabled_1pc1v_57";
7
- const projectNavigationItem = "_projectNavigationItem_1pc1v_61";
8
- const projectNavigationItemDisabled = "_projectNavigationItemDisabled_1pc1v_67";
9
- const classes = {
10
- badge,
11
- tag,
12
- withNavLinkStyle,
13
- disabled,
14
- projectNavigationItem,
15
- projectNavigationItemDisabled
16
- };
17
- exports.badge = badge;
18
- exports.default = classes;
19
- exports.disabled = disabled;
20
- exports.projectNavigationItem = projectNavigationItem;
21
- exports.projectNavigationItemDisabled = projectNavigationItemDisabled;
22
- exports.tag = tag;
23
- exports.withNavLinkStyle = withNavLinkStyle;
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const plan = require("./harmony9.cjs");
4
+ const withJwtCheck = (checkFn) => (jwtPayload) => !!jwtPayload && checkFn(jwtPayload);
5
+ const canAccessReporting = withJwtCheck(
6
+ (jwt) => ["admin", "owner"].includes(jwt.userTeamRole)
7
+ );
8
+ const canAccessTeamSettings = withJwtCheck(
9
+ (jwt) => ["admin", "biller", "owner"].includes(jwt.userTeamRole) && jwt.isFullyAuthenticated
10
+ );
11
+ const canCreateTeam = withJwtCheck(
12
+ (jwt) => ["admin", "owner"].includes(jwt.userTeamRole) && jwt.isFullyAuthenticated && !jwt.isEndOfTrialActive
13
+ );
14
+ const canUpgradePlan = withJwtCheck(
15
+ (jwt) => ["admin", "owner", "biller"].includes(jwt.userTeamRole) && jwt.isFullyAuthenticated && (plan.isFreePlan(jwt.planId) || plan.isTrialPlan(jwt.planId))
16
+ );
17
+ const canChangeBilling = withJwtCheck(
18
+ (jwt) => ["admin", "owner", "biller"].includes(jwt.userTeamRole) && jwt.isFullyAuthenticated && !jwt.isTeamSuspended && !jwt.isEndOfTrialActive
19
+ );
20
+ const canAccessProviderDashboard = withJwtCheck(
21
+ (jwt) => jwt.isProviderAlpha && !jwt.isTeamSuspended && jwt.isFullyAuthenticated
22
+ );
23
+ const canAccessProfileSettings = withJwtCheck(
24
+ (jwt) => !jwt.isEndOfTrialActive && !jwt.isTeamSuspended
25
+ );
26
+ exports.canAccessProfileSettings = canAccessProfileSettings;
27
+ exports.canAccessProviderDashboard = canAccessProviderDashboard;
28
+ exports.canAccessReporting = canAccessReporting;
29
+ exports.canAccessTeamSettings = canAccessTeamSettings;
30
+ exports.canChangeBilling = canChangeBilling;
31
+ exports.canCreateTeam = canCreateTeam;
32
+ exports.canUpgradePlan = canUpgradePlan;
24
33
  //# sourceMappingURL=harmony99.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"harmony99.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"harmony99.cjs","sources":["../src/utils/user/permissions.ts"],"sourcesContent":["import type { JwtTokenPayload } from '@features/auth/core/types/jwtTokenPayload'\nimport { isFreePlan, isTrialPlan } from '@utils'\n\ntype JwtCheckFn = (jwt: JwtTokenPayload) => boolean\n\nconst withJwtCheck =\n\t(checkFn: JwtCheckFn) =>\n\t(jwtPayload: JwtTokenPayload | null | undefined): boolean =>\n\t\t!!jwtPayload && checkFn(jwtPayload)\n\nexport const canAccessStyleGuide = withJwtCheck((jwt) =>\n\t['admin', 'biller', 'owner'].includes(jwt.userTeamRole),\n)\n\nexport const canAccessReporting = withJwtCheck((jwt) =>\n\t['admin', 'owner'].includes(jwt.userTeamRole),\n)\n\nexport const canAccessTeamSettings = withJwtCheck(\n\t(jwt) => ['admin', 'biller', 'owner'].includes(jwt.userTeamRole) && jwt.isFullyAuthenticated,\n)\n\nexport const canCreateTeam = withJwtCheck(\n\t(jwt) =>\n\t\t['admin', 'owner'].includes(jwt.userTeamRole) &&\n\t\tjwt.isFullyAuthenticated &&\n\t\t!jwt.isEndOfTrialActive,\n)\n\nexport const canUpgradePlan = withJwtCheck(\n\t(jwt) =>\n\t\t['admin', 'owner', 'biller'].includes(jwt.userTeamRole) &&\n\t\tjwt.isFullyAuthenticated &&\n\t\t(isFreePlan(jwt.planId) || isTrialPlan(jwt.planId)),\n)\n\nexport const canChangeBilling = withJwtCheck(\n\t(jwt) =>\n\t\t['admin', 'owner', 'biller'].includes(jwt.userTeamRole) &&\n\t\tjwt.isFullyAuthenticated &&\n\t\t!jwt.isTeamSuspended &&\n\t\t!jwt.isEndOfTrialActive,\n)\n\nexport const canAccessProviderDashboard = withJwtCheck(\n\t(jwt) => jwt.isProviderAlpha && !jwt.isTeamSuspended && jwt.isFullyAuthenticated,\n)\n\nexport const canAccessProfileSettings = withJwtCheck(\n\t(jwt) => !jwt.isEndOfTrialActive && !jwt.isTeamSuspended,\n)\n"],"names":["isFreePlan","isTrialPlan"],"mappings":";;;AAKA,MAAM,eACL,CAAC,YACD,CAAC,eACA,CAAC,CAAC,cAAc,QAAQ,UAAU;AAM7B,MAAM,qBAAqB;AAAA,EAAa,CAAC,QAC/C,CAAC,SAAS,OAAO,EAAE,SAAS,IAAI,YAAY;AAC7C;AAEO,MAAM,wBAAwB;AAAA,EACpC,CAAC,QAAQ,CAAC,SAAS,UAAU,OAAO,EAAE,SAAS,IAAI,YAAY,KAAK,IAAI;AACzE;AAEO,MAAM,gBAAgB;AAAA,EAC5B,CAAC,QACA,CAAC,SAAS,OAAO,EAAE,SAAS,IAAI,YAAY,KAC5C,IAAI,wBACJ,CAAC,IAAI;AACP;AAEO,MAAM,iBAAiB;AAAA,EAC7B,CAAC,QACA,CAAC,SAAS,SAAS,QAAQ,EAAE,SAAS,IAAI,YAAY,KACtD,IAAI,yBACHA,KAAAA,WAAW,IAAI,MAAM,KAAKC,KAAA,YAAY,IAAI,MAAM;AACnD;AAEO,MAAM,mBAAmB;AAAA,EAC/B,CAAC,QACA,CAAC,SAAS,SAAS,QAAQ,EAAE,SAAS,IAAI,YAAY,KACtD,IAAI,wBACJ,CAAC,IAAI,mBACL,CAAC,IAAI;AACP;AAEO,MAAM,6BAA6B;AAAA,EACzC,CAAC,QAAQ,IAAI,mBAAmB,CAAC,IAAI,mBAAmB,IAAI;AAC7D;AAEO,MAAM,2BAA2B;AAAA,EACvC,CAAC,QAAQ,CAAC,IAAI,sBAAsB,CAAC,IAAI;AAC1C;;;;;;;;"}
@@ -1,24 +1,33 @@
1
- const badge = "_badge_1pc1v_1";
2
- const tag = "_tag_1pc1v_15";
3
- const withNavLinkStyle = "_withNavLinkStyle_1pc1v_42 _withLinkStyle_1pc1v_21";
4
- const disabled = "_disabled_1pc1v_57";
5
- const projectNavigationItem = "_projectNavigationItem_1pc1v_61";
6
- const projectNavigationItemDisabled = "_projectNavigationItemDisabled_1pc1v_67";
7
- const classes = {
8
- badge,
9
- tag,
10
- withNavLinkStyle,
11
- disabled,
12
- projectNavigationItem,
13
- projectNavigationItemDisabled
14
- };
1
+ import { isFreePlan, isTrialPlan } from "./harmony9.mjs";
2
+ const withJwtCheck = (checkFn) => (jwtPayload) => !!jwtPayload && checkFn(jwtPayload);
3
+ const canAccessReporting = withJwtCheck(
4
+ (jwt) => ["admin", "owner"].includes(jwt.userTeamRole)
5
+ );
6
+ const canAccessTeamSettings = withJwtCheck(
7
+ (jwt) => ["admin", "biller", "owner"].includes(jwt.userTeamRole) && jwt.isFullyAuthenticated
8
+ );
9
+ const canCreateTeam = withJwtCheck(
10
+ (jwt) => ["admin", "owner"].includes(jwt.userTeamRole) && jwt.isFullyAuthenticated && !jwt.isEndOfTrialActive
11
+ );
12
+ const canUpgradePlan = withJwtCheck(
13
+ (jwt) => ["admin", "owner", "biller"].includes(jwt.userTeamRole) && jwt.isFullyAuthenticated && (isFreePlan(jwt.planId) || isTrialPlan(jwt.planId))
14
+ );
15
+ const canChangeBilling = withJwtCheck(
16
+ (jwt) => ["admin", "owner", "biller"].includes(jwt.userTeamRole) && jwt.isFullyAuthenticated && !jwt.isTeamSuspended && !jwt.isEndOfTrialActive
17
+ );
18
+ const canAccessProviderDashboard = withJwtCheck(
19
+ (jwt) => jwt.isProviderAlpha && !jwt.isTeamSuspended && jwt.isFullyAuthenticated
20
+ );
21
+ const canAccessProfileSettings = withJwtCheck(
22
+ (jwt) => !jwt.isEndOfTrialActive && !jwt.isTeamSuspended
23
+ );
15
24
  export {
16
- badge,
17
- classes as default,
18
- disabled,
19
- projectNavigationItem,
20
- projectNavigationItemDisabled,
21
- tag,
22
- withNavLinkStyle
25
+ canAccessProfileSettings,
26
+ canAccessProviderDashboard,
27
+ canAccessReporting,
28
+ canAccessTeamSettings,
29
+ canChangeBilling,
30
+ canCreateTeam,
31
+ canUpgradePlan
23
32
  };
24
33
  //# sourceMappingURL=harmony99.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"harmony99.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"harmony99.mjs","sources":["../src/utils/user/permissions.ts"],"sourcesContent":["import type { JwtTokenPayload } from '@features/auth/core/types/jwtTokenPayload'\nimport { isFreePlan, isTrialPlan } from '@utils'\n\ntype JwtCheckFn = (jwt: JwtTokenPayload) => boolean\n\nconst withJwtCheck =\n\t(checkFn: JwtCheckFn) =>\n\t(jwtPayload: JwtTokenPayload | null | undefined): boolean =>\n\t\t!!jwtPayload && checkFn(jwtPayload)\n\nexport const canAccessStyleGuide = withJwtCheck((jwt) =>\n\t['admin', 'biller', 'owner'].includes(jwt.userTeamRole),\n)\n\nexport const canAccessReporting = withJwtCheck((jwt) =>\n\t['admin', 'owner'].includes(jwt.userTeamRole),\n)\n\nexport const canAccessTeamSettings = withJwtCheck(\n\t(jwt) => ['admin', 'biller', 'owner'].includes(jwt.userTeamRole) && jwt.isFullyAuthenticated,\n)\n\nexport const canCreateTeam = withJwtCheck(\n\t(jwt) =>\n\t\t['admin', 'owner'].includes(jwt.userTeamRole) &&\n\t\tjwt.isFullyAuthenticated &&\n\t\t!jwt.isEndOfTrialActive,\n)\n\nexport const canUpgradePlan = withJwtCheck(\n\t(jwt) =>\n\t\t['admin', 'owner', 'biller'].includes(jwt.userTeamRole) &&\n\t\tjwt.isFullyAuthenticated &&\n\t\t(isFreePlan(jwt.planId) || isTrialPlan(jwt.planId)),\n)\n\nexport const canChangeBilling = withJwtCheck(\n\t(jwt) =>\n\t\t['admin', 'owner', 'biller'].includes(jwt.userTeamRole) &&\n\t\tjwt.isFullyAuthenticated &&\n\t\t!jwt.isTeamSuspended &&\n\t\t!jwt.isEndOfTrialActive,\n)\n\nexport const canAccessProviderDashboard = withJwtCheck(\n\t(jwt) => jwt.isProviderAlpha && !jwt.isTeamSuspended && jwt.isFullyAuthenticated,\n)\n\nexport const canAccessProfileSettings = withJwtCheck(\n\t(jwt) => !jwt.isEndOfTrialActive && !jwt.isTeamSuspended,\n)\n"],"names":[],"mappings":";AAKA,MAAM,eACL,CAAC,YACD,CAAC,eACA,CAAC,CAAC,cAAc,QAAQ,UAAU;AAM7B,MAAM,qBAAqB;AAAA,EAAa,CAAC,QAC/C,CAAC,SAAS,OAAO,EAAE,SAAS,IAAI,YAAY;AAC7C;AAEO,MAAM,wBAAwB;AAAA,EACpC,CAAC,QAAQ,CAAC,SAAS,UAAU,OAAO,EAAE,SAAS,IAAI,YAAY,KAAK,IAAI;AACzE;AAEO,MAAM,gBAAgB;AAAA,EAC5B,CAAC,QACA,CAAC,SAAS,OAAO,EAAE,SAAS,IAAI,YAAY,KAC5C,IAAI,wBACJ,CAAC,IAAI;AACP;AAEO,MAAM,iBAAiB;AAAA,EAC7B,CAAC,QACA,CAAC,SAAS,SAAS,QAAQ,EAAE,SAAS,IAAI,YAAY,KACtD,IAAI,yBACH,WAAW,IAAI,MAAM,KAAK,YAAY,IAAI,MAAM;AACnD;AAEO,MAAM,mBAAmB;AAAA,EAC/B,CAAC,QACA,CAAC,SAAS,SAAS,QAAQ,EAAE,SAAS,IAAI,YAAY,KACtD,IAAI,wBACJ,CAAC,IAAI,mBACL,CAAC,IAAI;AACP;AAEO,MAAM,6BAA6B;AAAA,EACzC,CAAC,QAAQ,IAAI,mBAAmB,CAAC,IAAI,mBAAmB,IAAI;AAC7D;AAEO,MAAM,2BAA2B;AAAA,EACvC,CAAC,QAAQ,CAAC,IAAI,sBAAsB,CAAC,IAAI;AAC1C;"}
@@ -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 {};
@@ -0,0 +1,13 @@
1
+ /**
2
+ * A menu item component for navigating to the team settings page.
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
+ * <TeamSettingsMenuItem />
9
+ * ```
10
+ *
11
+ * @note This component must be used within a Sidebar Context.
12
+ */
13
+ export declare const TeamSettingsMenuItem: () => import("react/jsx-runtime").JSX.Element | null;
@@ -1,14 +1,10 @@
1
1
  import { SidebarTeam } from '../../../types';
2
- type TeamSwitchProps = {
3
- /** Callback function triggered when a user selects a different team */
4
- onSwitchTeam: (team: SidebarTeam) => void;
5
- };
6
2
  /**
7
3
  * A component that displays a list of available teams for switching.
8
4
  * It automatically excludes the current team from the list and renders
9
5
  * nothing if there are no other teams available.
10
6
  *
11
- * Uses the ProfileMenu context to access the list of other teams and
7
+ * Uses the Sidebar context to access the list of other teams and
12
8
  * renders each team as a TeamMenuItem with click functionality.
13
9
  *
14
10
  * @example
@@ -21,8 +17,10 @@ type TeamSwitchProps = {
21
17
  * />
22
18
  * ```
23
19
  *
24
- * @note This component must be used within a ProfileMenu component
25
- * as it requires access to the ProfileMenu context.
20
+ * @note This component must be used within a Sidebar Context
26
21
  */
22
+ type TeamSwitchProps = {
23
+ onSwitchTeam: (team: SidebarTeam) => void;
24
+ };
27
25
  export declare const TeamSwitch: ({ onSwitchTeam }: TeamSwitchProps) => import("react/jsx-runtime").JSX.Element | null;
28
26
  export {};