@lokalise/harmony 1.40.2 → 1.40.3-exp-epic2x.2

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 (390) hide show
  1. package/dist/harmony.css +110 -317
  2. package/dist/harmony100.cjs +9 -10
  3. package/dist/harmony100.cjs.map +1 -1
  4. package/dist/harmony100.mjs +11 -12
  5. package/dist/harmony100.mjs.map +1 -1
  6. package/dist/harmony101.cjs +20 -11
  7. package/dist/harmony101.cjs.map +1 -1
  8. package/dist/harmony101.mjs +20 -11
  9. package/dist/harmony101.mjs.map +1 -1
  10. package/dist/harmony102.cjs +99 -6
  11. package/dist/harmony102.cjs.map +1 -1
  12. package/dist/harmony102.mjs +81 -5
  13. package/dist/harmony102.mjs.map +1 -1
  14. package/dist/harmony103.cjs +14 -9
  15. package/dist/harmony103.cjs.map +1 -1
  16. package/dist/harmony103.mjs +13 -8
  17. package/dist/harmony103.mjs.map +1 -1
  18. package/dist/harmony104.cjs +21 -10
  19. package/dist/harmony104.cjs.map +1 -1
  20. package/dist/harmony104.mjs +20 -9
  21. package/dist/harmony104.mjs.map +1 -1
  22. package/dist/harmony105.cjs +85 -55
  23. package/dist/harmony105.cjs.map +1 -1
  24. package/dist/harmony105.mjs +85 -55
  25. package/dist/harmony105.mjs.map +1 -1
  26. package/dist/harmony106.cjs +29 -41
  27. package/dist/harmony106.cjs.map +1 -1
  28. package/dist/harmony106.mjs +29 -41
  29. package/dist/harmony106.mjs.map +1 -1
  30. package/dist/harmony107.cjs +10 -6
  31. package/dist/harmony107.cjs.map +1 -1
  32. package/dist/harmony107.mjs +9 -5
  33. package/dist/harmony107.mjs.map +1 -1
  34. package/dist/harmony108.cjs +12 -9
  35. package/dist/harmony108.cjs.map +1 -1
  36. package/dist/harmony108.mjs +11 -8
  37. package/dist/harmony108.mjs.map +1 -1
  38. package/dist/harmony109.cjs +15 -24
  39. package/dist/harmony109.cjs.map +1 -1
  40. package/dist/harmony109.mjs +14 -23
  41. package/dist/harmony109.mjs.map +1 -1
  42. package/dist/harmony110.cjs +19 -6
  43. package/dist/harmony110.cjs.map +1 -1
  44. package/dist/harmony110.mjs +18 -5
  45. package/dist/harmony110.mjs.map +1 -1
  46. package/dist/harmony111.cjs +7 -18
  47. package/dist/harmony111.cjs.map +1 -1
  48. package/dist/harmony111.mjs +9 -20
  49. package/dist/harmony111.mjs.map +1 -1
  50. package/dist/harmony112.cjs +27 -12
  51. package/dist/harmony112.cjs.map +1 -1
  52. package/dist/harmony112.mjs +26 -11
  53. package/dist/harmony112.mjs.map +1 -1
  54. package/dist/harmony113.cjs +10 -12
  55. package/dist/harmony113.cjs.map +1 -1
  56. package/dist/harmony113.mjs +10 -12
  57. package/dist/harmony113.mjs.map +1 -1
  58. package/dist/harmony114.cjs +38 -18
  59. package/dist/harmony114.cjs.map +1 -1
  60. package/dist/harmony114.mjs +38 -18
  61. package/dist/harmony114.mjs.map +1 -1
  62. package/dist/harmony115.cjs +11 -98
  63. package/dist/harmony115.cjs.map +1 -1
  64. package/dist/harmony115.mjs +11 -81
  65. package/dist/harmony115.mjs.map +1 -1
  66. package/dist/harmony116.cjs +19 -84
  67. package/dist/harmony116.cjs.map +1 -1
  68. package/dist/harmony116.mjs +19 -84
  69. package/dist/harmony116.mjs.map +1 -1
  70. package/dist/harmony117.cjs +35 -29
  71. package/dist/harmony117.cjs.map +1 -1
  72. package/dist/harmony117.mjs +35 -29
  73. package/dist/harmony117.mjs.map +1 -1
  74. package/dist/harmony119.cjs +20 -5
  75. package/dist/harmony119.cjs.map +1 -1
  76. package/dist/harmony119.mjs +20 -5
  77. package/dist/harmony119.mjs.map +1 -1
  78. package/dist/harmony120.cjs +6 -132
  79. package/dist/harmony120.cjs.map +1 -1
  80. package/dist/harmony120.mjs +5 -131
  81. package/dist/harmony120.mjs.map +1 -1
  82. package/dist/harmony121.cjs +12 -9
  83. package/dist/harmony121.cjs.map +1 -1
  84. package/dist/harmony121.mjs +12 -9
  85. package/dist/harmony121.mjs.map +1 -1
  86. package/dist/harmony122.cjs +6 -6
  87. package/dist/harmony122.cjs.map +1 -1
  88. package/dist/harmony122.mjs +5 -5
  89. package/dist/harmony122.mjs.map +1 -1
  90. package/dist/harmony123.cjs +6 -41
  91. package/dist/harmony123.cjs.map +1 -1
  92. package/dist/harmony123.mjs +5 -40
  93. package/dist/harmony123.mjs.map +1 -1
  94. package/dist/harmony124.cjs +96 -60
  95. package/dist/harmony124.cjs.map +1 -1
  96. package/dist/harmony124.mjs +96 -60
  97. package/dist/harmony124.mjs.map +1 -1
  98. package/dist/harmony125.cjs +13 -7
  99. package/dist/harmony125.cjs.map +1 -1
  100. package/dist/harmony125.mjs +13 -7
  101. package/dist/harmony125.mjs.map +1 -1
  102. package/dist/harmony126.cjs +15 -7
  103. package/dist/harmony126.cjs.map +1 -1
  104. package/dist/harmony126.mjs +14 -6
  105. package/dist/harmony126.mjs.map +1 -1
  106. package/dist/harmony127.cjs +37 -6
  107. package/dist/harmony127.cjs.map +1 -1
  108. package/dist/harmony127.mjs +36 -5
  109. package/dist/harmony127.mjs.map +1 -1
  110. package/dist/harmony128.cjs +29 -6
  111. package/dist/harmony128.cjs.map +1 -1
  112. package/dist/harmony128.mjs +28 -5
  113. package/dist/harmony128.mjs.map +1 -1
  114. package/dist/harmony130.cjs +10 -63
  115. package/dist/harmony130.cjs.map +1 -1
  116. package/dist/harmony130.mjs +9 -62
  117. package/dist/harmony130.mjs.map +1 -1
  118. package/dist/harmony131.cjs +6 -88
  119. package/dist/harmony131.cjs.map +1 -1
  120. package/dist/harmony131.mjs +5 -87
  121. package/dist/harmony131.mjs.map +1 -1
  122. package/dist/harmony132.cjs +6 -15
  123. package/dist/harmony132.cjs.map +1 -1
  124. package/dist/harmony132.mjs +6 -15
  125. package/dist/harmony132.mjs.map +1 -1
  126. package/dist/harmony133.cjs +25 -97
  127. package/dist/harmony133.cjs.map +1 -1
  128. package/dist/harmony133.mjs +24 -96
  129. package/dist/harmony133.mjs.map +1 -1
  130. package/dist/harmony134.cjs +7 -14
  131. package/dist/harmony134.cjs.map +1 -1
  132. package/dist/harmony134.mjs +6 -13
  133. package/dist/harmony134.mjs.map +1 -1
  134. package/dist/harmony135.cjs +13 -15
  135. package/dist/harmony135.cjs.map +1 -1
  136. package/dist/harmony135.mjs +12 -14
  137. package/dist/harmony135.mjs.map +1 -1
  138. package/dist/harmony136.cjs +7 -37
  139. package/dist/harmony136.cjs.map +1 -1
  140. package/dist/harmony136.mjs +6 -36
  141. package/dist/harmony136.mjs.map +1 -1
  142. package/dist/harmony137.cjs +12 -27
  143. package/dist/harmony137.cjs.map +1 -1
  144. package/dist/harmony137.mjs +12 -27
  145. package/dist/harmony137.mjs.map +1 -1
  146. package/dist/harmony138.cjs +14 -12
  147. package/dist/harmony138.cjs.map +1 -1
  148. package/dist/harmony138.mjs +14 -12
  149. package/dist/harmony138.mjs.map +1 -1
  150. package/dist/harmony139.cjs +14 -13
  151. package/dist/harmony139.cjs.map +1 -1
  152. package/dist/harmony139.mjs +14 -13
  153. package/dist/harmony139.mjs.map +1 -1
  154. package/dist/harmony14.cjs +1 -1
  155. package/dist/harmony14.mjs +1 -1
  156. package/dist/harmony140.cjs +10 -15
  157. package/dist/harmony140.cjs.map +1 -1
  158. package/dist/harmony140.mjs +10 -15
  159. package/dist/harmony140.mjs.map +1 -1
  160. package/dist/harmony141.cjs +16 -7
  161. package/dist/harmony141.cjs.map +1 -1
  162. package/dist/harmony141.mjs +16 -7
  163. package/dist/harmony141.mjs.map +1 -1
  164. package/dist/harmony142.cjs +20 -56
  165. package/dist/harmony142.cjs.map +1 -1
  166. package/dist/harmony142.mjs +20 -56
  167. package/dist/harmony142.mjs.map +1 -1
  168. package/dist/harmony143.cjs +11 -59
  169. package/dist/harmony143.cjs.map +1 -1
  170. package/dist/harmony143.mjs +11 -59
  171. package/dist/harmony143.mjs.map +1 -1
  172. package/dist/harmony144.cjs +7 -19
  173. package/dist/harmony144.cjs.map +1 -1
  174. package/dist/harmony144.mjs +6 -18
  175. package/dist/harmony144.mjs.map +1 -1
  176. package/dist/harmony145.cjs +11 -10
  177. package/dist/harmony145.cjs.map +1 -1
  178. package/dist/harmony145.mjs +11 -10
  179. package/dist/harmony145.mjs.map +1 -1
  180. package/dist/harmony146.cjs +29 -13
  181. package/dist/harmony146.cjs.map +1 -1
  182. package/dist/harmony146.mjs +29 -13
  183. package/dist/harmony146.mjs.map +1 -1
  184. package/dist/harmony147.cjs +12 -19
  185. package/dist/harmony147.cjs.map +1 -1
  186. package/dist/harmony147.mjs +12 -19
  187. package/dist/harmony147.mjs.map +1 -1
  188. package/dist/harmony17.cjs +1 -1
  189. package/dist/harmony17.mjs +1 -1
  190. package/dist/harmony25.cjs +1 -1
  191. package/dist/harmony25.mjs +1 -1
  192. package/dist/harmony26.cjs +1 -1
  193. package/dist/harmony26.mjs +1 -1
  194. package/dist/harmony4.cjs +5 -24
  195. package/dist/harmony4.cjs.map +1 -1
  196. package/dist/harmony4.mjs +5 -24
  197. package/dist/harmony4.mjs.map +1 -1
  198. package/dist/harmony5.cjs +1 -1
  199. package/dist/harmony5.mjs +1 -1
  200. package/dist/harmony6.cjs +3 -3
  201. package/dist/harmony6.mjs +3 -3
  202. package/dist/harmony7.cjs +1 -1
  203. package/dist/harmony7.mjs +1 -1
  204. package/dist/harmony75.cjs +1 -1
  205. package/dist/harmony75.mjs +1 -1
  206. package/dist/harmony76.cjs +39 -6
  207. package/dist/harmony76.cjs.map +1 -1
  208. package/dist/harmony76.mjs +38 -5
  209. package/dist/harmony76.mjs.map +1 -1
  210. package/dist/harmony77.cjs +36 -8
  211. package/dist/harmony77.cjs.map +1 -1
  212. package/dist/harmony77.mjs +37 -9
  213. package/dist/harmony77.mjs.map +1 -1
  214. package/dist/harmony78.cjs +9 -18
  215. package/dist/harmony78.cjs.map +1 -1
  216. package/dist/harmony78.mjs +8 -17
  217. package/dist/harmony78.mjs.map +1 -1
  218. package/dist/harmony79.cjs +6 -21
  219. package/dist/harmony79.cjs.map +1 -1
  220. package/dist/harmony79.mjs +8 -23
  221. package/dist/harmony79.mjs.map +1 -1
  222. package/dist/harmony8.cjs +5 -5
  223. package/dist/harmony8.mjs +5 -5
  224. package/dist/harmony80.cjs +28 -4
  225. package/dist/harmony80.cjs.map +1 -1
  226. package/dist/harmony80.mjs +28 -4
  227. package/dist/harmony80.mjs.map +1 -1
  228. package/dist/harmony81.cjs +3 -32
  229. package/dist/harmony81.cjs.map +1 -1
  230. package/dist/harmony81.mjs +3 -32
  231. package/dist/harmony81.mjs.map +1 -1
  232. package/dist/harmony82.cjs +30 -29
  233. package/dist/harmony82.cjs.map +1 -1
  234. package/dist/harmony82.mjs +31 -30
  235. package/dist/harmony82.mjs.map +1 -1
  236. package/dist/harmony83.cjs +43 -19
  237. package/dist/harmony83.cjs.map +1 -1
  238. package/dist/harmony83.mjs +43 -19
  239. package/dist/harmony83.mjs.map +1 -1
  240. package/dist/harmony84.cjs +27 -29
  241. package/dist/harmony84.cjs.map +1 -1
  242. package/dist/harmony84.mjs +27 -29
  243. package/dist/harmony84.mjs.map +1 -1
  244. package/dist/harmony85.cjs +64 -57
  245. package/dist/harmony85.cjs.map +1 -1
  246. package/dist/harmony85.mjs +64 -57
  247. package/dist/harmony85.mjs.map +1 -1
  248. package/dist/harmony86.cjs +15 -9
  249. package/dist/harmony86.cjs.map +1 -1
  250. package/dist/harmony86.mjs +14 -8
  251. package/dist/harmony86.mjs.map +1 -1
  252. package/dist/harmony87.cjs +3 -8
  253. package/dist/harmony87.cjs.map +1 -1
  254. package/dist/harmony87.mjs +3 -8
  255. package/dist/harmony87.mjs.map +1 -1
  256. package/dist/harmony88.cjs +163 -26
  257. package/dist/harmony88.cjs.map +1 -1
  258. package/dist/harmony88.mjs +164 -27
  259. package/dist/harmony88.mjs.map +1 -1
  260. package/dist/harmony89.cjs +44 -3
  261. package/dist/harmony89.cjs.map +1 -1
  262. package/dist/harmony89.mjs +44 -3
  263. package/dist/harmony89.mjs.map +1 -1
  264. package/dist/harmony90.cjs +9 -30
  265. package/dist/harmony90.cjs.map +1 -1
  266. package/dist/harmony90.mjs +11 -32
  267. package/dist/harmony90.mjs.map +1 -1
  268. package/dist/harmony91.cjs +13 -44
  269. package/dist/harmony91.cjs.map +1 -1
  270. package/dist/harmony91.mjs +12 -43
  271. package/dist/harmony91.mjs.map +1 -1
  272. package/dist/harmony92.cjs +2 -28
  273. package/dist/harmony92.cjs.map +1 -1
  274. package/dist/harmony92.mjs +3 -29
  275. package/dist/harmony92.mjs.map +1 -1
  276. package/dist/harmony93.cjs +15 -63
  277. package/dist/harmony93.cjs.map +1 -1
  278. package/dist/harmony93.mjs +15 -63
  279. package/dist/harmony93.mjs.map +1 -1
  280. package/dist/harmony94.cjs +74 -13
  281. package/dist/harmony94.cjs.map +1 -1
  282. package/dist/harmony94.mjs +75 -14
  283. package/dist/harmony94.mjs.map +1 -1
  284. package/dist/harmony95.cjs +12 -3
  285. package/dist/harmony95.cjs.map +1 -1
  286. package/dist/harmony95.mjs +12 -3
  287. package/dist/harmony95.mjs.map +1 -1
  288. package/dist/harmony96.cjs +30 -11
  289. package/dist/harmony96.cjs.map +1 -1
  290. package/dist/harmony96.mjs +30 -11
  291. package/dist/harmony96.mjs.map +1 -1
  292. package/dist/harmony97.cjs +10 -22
  293. package/dist/harmony97.cjs.map +1 -1
  294. package/dist/harmony97.mjs +9 -21
  295. package/dist/harmony97.mjs.map +1 -1
  296. package/dist/harmony98.cjs +44 -163
  297. package/dist/harmony98.cjs.map +1 -1
  298. package/dist/harmony98.mjs +44 -163
  299. package/dist/harmony98.mjs.map +1 -1
  300. package/dist/harmony99.cjs +9 -44
  301. package/dist/harmony99.cjs.map +1 -1
  302. package/dist/harmony99.mjs +8 -43
  303. package/dist/harmony99.mjs.map +1 -1
  304. package/dist/types/src/components/Sidebar/Sidebar.d.ts +15 -49
  305. package/dist/types/src/components/Sidebar/SidebarContent/SidebarContent.d.ts +7 -0
  306. package/dist/types/src/components/Sidebar/SidebarContext.d.ts +3 -0
  307. package/dist/types/src/components/Sidebar/SidebarProvider.d.ts +3 -0
  308. package/dist/types/src/components/Sidebar/Widgets/Avatar/Avatar.d.ts +5 -0
  309. package/dist/types/src/components/Sidebar/Widgets/HelpMenu/HelpMenu.d.ts +13 -0
  310. package/dist/types/src/components/Sidebar/Widgets/HelpMenu/HelpMenu.test.d.ts +1 -0
  311. package/dist/types/src/components/Sidebar/Widgets/IconLink/IconLink.test.d.ts +1 -0
  312. package/dist/types/src/components/Sidebar/Widgets/Menu/Menu.d.ts +3 -2
  313. package/dist/types/src/components/Sidebar/Widgets/ProfileMenu/BillingMenuItem/BillingMenuItem.d.ts +13 -0
  314. package/dist/types/src/components/Sidebar/Widgets/ProfileMenu/CreateNewTeam/CreateNewTeam.d.ts +17 -0
  315. package/dist/types/src/components/Sidebar/Widgets/ProfileMenu/CreateNewTeam/CreateNewTeam.test.d.ts +1 -0
  316. package/dist/types/src/components/Sidebar/Widgets/ProfileMenu/CreateNewTeamPlaceholder/CreateNewTeamPlaceholder.d.ts +17 -0
  317. package/dist/types/src/components/Sidebar/Widgets/ProfileMenu/CreateNewTeamPlaceholder/CreateNewTeamPlaceholder.test.d.ts +1 -0
  318. package/dist/types/src/components/Sidebar/Widgets/ProfileMenu/DarkModeToggle/DarkModeToggle.d.ts +18 -0
  319. package/dist/types/src/components/Sidebar/Widgets/ProfileMenu/ProfileMenu.d.ts +11 -24
  320. package/dist/types/src/components/Sidebar/Widgets/ProfileMenu/ProfileMenu.stories.d.ts +3 -5
  321. package/dist/types/src/components/Sidebar/Widgets/ProfileMenu/ProfileSettingsMenuItem/ProfileSettingsMenuItem.d.ts +10 -35
  322. package/dist/types/src/components/Sidebar/Widgets/ProfileMenu/ProfileSettingsMenuItem/ProfileSettingsMenuItem.test.d.ts +1 -0
  323. package/dist/types/src/components/Sidebar/Widgets/ProfileMenu/ProviderMenuItem/ProviderMenuItem.d.ts +13 -0
  324. package/dist/types/src/components/Sidebar/Widgets/ProfileMenu/ProviderMenuItem/ProviderMenuItem.test.d.ts +1 -0
  325. package/dist/types/src/components/Sidebar/Widgets/ProfileMenu/TeamMenuItem/TeamMenuItem.d.ts +1 -3
  326. package/dist/types/src/components/Sidebar/Widgets/ProfileMenu/TeamMenuItem/TeamMenuItem.test.d.ts +1 -0
  327. package/dist/types/src/components/Sidebar/Widgets/ProfileMenu/TeamSettingsMenuItem/TeamSettingsMenuItem.d.ts +13 -0
  328. package/dist/types/src/components/Sidebar/Widgets/ProfileMenu/TeamSettingsMenuItem/TeamSettingsMenuItem.test.d.ts +1 -0
  329. package/dist/types/src/components/Sidebar/Widgets/ProfileMenu/TeamSwitch/TeamSwitch.d.ts +5 -7
  330. package/dist/types/src/components/Sidebar/Widgets/ProfileMenu/TeamSwitch/TeamSwitch.test.d.ts +1 -0
  331. package/dist/types/src/components/Sidebar/Widgets/ProfileMenu/UpgradeMenuItem/UpgradeMenuItem.d.ts +6 -9
  332. package/dist/types/src/components/Sidebar/Widgets/ProfileMenu/UpgradeMenuItem/UpgradeMenuItem.test.d.ts +1 -0
  333. package/dist/types/src/components/Sidebar/Widgets/Tasks/utils/content.d.ts +4 -0
  334. package/dist/types/src/components/Sidebar/hooks/useSidebar.d.ts +1 -0
  335. package/dist/types/src/components/Sidebar/hooks/useSidebarDataLoader.d.ts +5 -0
  336. package/dist/types/src/components/Sidebar/types.d.ts +70 -0
  337. package/dist/types/src/features/auth/core/types/jwtTokenPayload.d.ts +16 -10
  338. package/dist/types/src/features/auth/core/types/jwtTokenPayload.fixture.d.ts +15 -11
  339. package/dist/types/src/features/auth/frontend/hooks/useAuthenticatedSessionPayload.d.ts +7 -5
  340. package/dist/types/src/features/auth/frontend/hooks/useAuthenticatedUser.d.ts +1 -1
  341. package/dist/types/src/features/publicApi/hooks/useGetProjectPermissionMetaQuery.d.ts +3 -3
  342. package/dist/types/src/features/publicApi/hooks/useGetTeamUsersQuery.d.ts +1 -1
  343. package/dist/types/src/features/publicApi/hooks/useListPermissionTemplates.d.ts +2 -2
  344. package/dist/types/src/features/publicApi/hooks/useListTeamUsersQuery.d.ts +1 -1
  345. package/dist/types/src/features/publicApi/permissionTemplates.d.ts +8 -8
  346. package/dist/types/src/features/publicApi/projects.d.ts +12 -12
  347. package/dist/types/src/features/publicApi/teamUsers.d.ts +8 -8
  348. package/dist/types/src/features/publicApi/types/permissionTemplateTypes.d.ts +12 -12
  349. package/dist/types/src/features/publicApi/types/permissionTypes.d.ts +2 -2
  350. package/dist/types/src/features/publicApi/types/projectTypes.d.ts +18 -18
  351. package/dist/types/src/features/publicApi/types/teamUserTypes.d.ts +10 -10
  352. package/dist/types/src/utils/user/permissions.d.ts +9 -0
  353. package/dist/types/src/utils/user/permissions.test.d.ts +1 -0
  354. package/dist/types/tests/mocks/sidebar/sidebar.d.ts +14 -0
  355. package/dist/types/tests/utils/sidebar.d.ts +4 -0
  356. package/package.json +1 -1
  357. package/dist/harmony148.cjs +0 -15
  358. package/dist/harmony148.cjs.map +0 -1
  359. package/dist/harmony148.mjs +0 -15
  360. package/dist/harmony148.mjs.map +0 -1
  361. package/dist/harmony149.cjs +0 -9
  362. package/dist/harmony149.cjs.map +0 -1
  363. package/dist/harmony149.mjs +0 -9
  364. package/dist/harmony149.mjs.map +0 -1
  365. package/dist/harmony150.cjs +0 -15
  366. package/dist/harmony150.cjs.map +0 -1
  367. package/dist/harmony150.mjs +0 -15
  368. package/dist/harmony150.mjs.map +0 -1
  369. package/dist/harmony151.cjs +0 -35
  370. package/dist/harmony151.cjs.map +0 -1
  371. package/dist/harmony151.mjs +0 -35
  372. package/dist/harmony151.mjs.map +0 -1
  373. package/dist/harmony152.cjs +0 -17
  374. package/dist/harmony152.cjs.map +0 -1
  375. package/dist/harmony152.mjs +0 -17
  376. package/dist/harmony152.mjs.map +0 -1
  377. package/dist/harmony153.cjs +0 -49
  378. package/dist/harmony153.cjs.map +0 -1
  379. package/dist/harmony153.mjs +0 -49
  380. package/dist/harmony153.mjs.map +0 -1
  381. package/dist/harmony154.cjs +0 -15
  382. package/dist/harmony154.cjs.map +0 -1
  383. package/dist/harmony154.mjs +0 -15
  384. package/dist/harmony154.mjs.map +0 -1
  385. package/dist/types/src/components/Sidebar/Widgets/ProfileMenu/ProfileMenuContent.d.ts +0 -6
  386. package/dist/types/src/components/Sidebar/Widgets/ProfileMenu/ProfileMenuContext.d.ts +0 -3
  387. package/dist/types/src/components/Sidebar/Widgets/ProfileMenu/ProfileMenuProvider.d.ts +0 -7
  388. package/dist/types/src/components/Sidebar/utils/index.d.ts +0 -4
  389. /package/dist/types/src/components/Sidebar/Widgets/{ProfileMenu/ProfileMenu.test.d.ts → Avatar/Avatar.test.d.ts} +0 -0
  390. /package/dist/types/src/components/Sidebar/{UpgradeIcon → Widgets/ProfileMenu/UpgradeIcon}/UpgradeIcon.d.ts +0 -0
@@ -2,35 +2,14 @@
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
3
  const jsxRuntime = require("react/jsx-runtime");
4
4
  const louis = require("@lokalise/louis");
5
- const reactTable = require("@tanstack/react-table");
6
- const clsx = require("./harmony73.cjs");
7
- const SortingIcon = require("./harmony100.cjs");
8
- const TableHeaderCell_module = require("./harmony101.cjs");
9
- const TableHeaderCell = ({
10
- header,
11
- align = "left",
12
- className,
13
- ...rest
14
- }) => /* @__PURE__ */ jsxRuntime.jsxs(
15
- louis.TableHeaderCell,
16
- {
17
- className: clsx.clsx(className, {
18
- [TableHeaderCell_module.default.centeredCell]: align === "center",
19
- [TableHeaderCell_module.default.rightAlignedCell]: align === "right"
20
- }),
21
- ...rest,
22
- children: [
23
- reactTable.flexRender(header.column.columnDef.header, header.getContext()),
24
- header.column.getCanSort() && /* @__PURE__ */ jsxRuntime.jsx(
25
- SortColumnButton,
26
- {
27
- direction: header.column.getIsSorted(),
28
- onSortToggle: header.column.getToggleSortingHandler()
29
- }
30
- )
31
- ]
5
+ const SortingIcon = ({ direction }) => {
6
+ if (direction === "asc") {
7
+ return /* @__PURE__ */ jsxRuntime.jsx(louis.SortAscendingIcon, { ariaLabel: "ascending sorting" });
32
8
  }
33
- );
34
- const SortColumnButton = ({ direction, onSortToggle }) => /* @__PURE__ */ jsxRuntime.jsx("button", { type: "button", onClick: onSortToggle, className: TableHeaderCell_module.default.headerSortButton, children: /* @__PURE__ */ jsxRuntime.jsx(SortingIcon.SortingIcon, { direction }) });
35
- exports.TableHeaderCell = TableHeaderCell;
9
+ if (direction === "desc") {
10
+ return /* @__PURE__ */ jsxRuntime.jsx(louis.SortDescendingIcon, { ariaLabel: "descending sorting" });
11
+ }
12
+ return /* @__PURE__ */ jsxRuntime.jsx(louis.SortIcon, { ariaLabel: "sorting" });
13
+ };
14
+ exports.SortingIcon = SortingIcon;
36
15
  //# sourceMappingURL=harmony90.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"harmony90.cjs","sources":["../src/components/Table/components/TableHeaderCell.tsx"],"sourcesContent":["import {\n\tTableHeaderCell as LouisTableHeaderCell,\n\ttype TableHeaderCellProps as LouisTableHeaderCellProps,\n} from '@lokalise/louis'\nimport { type Header, type SortDirection, flexRender } from '@tanstack/react-table'\nimport cx from 'clsx'\nimport { SortingIcon } from './SortingIcon'\nimport styles from './TableHeaderCell.module.css'\n\ntype TableHeaderProps<T> = LouisTableHeaderCellProps & {\n\theader: Header<T, unknown>\n}\n\nexport const TableHeaderCell = <T,>({\n\theader,\n\talign = 'left',\n\tclassName,\n\t...rest\n}: TableHeaderProps<T>) => (\n\t<LouisTableHeaderCell\n\t\tclassName={cx(className, {\n\t\t\t[styles.centeredCell]: align === 'center',\n\t\t\t[styles.rightAlignedCell]: align === 'right',\n\t\t})}\n\t\t{...rest}\n\t>\n\t\t{flexRender(header.column.columnDef.header, header.getContext())}\n\t\t{header.column.getCanSort() && (\n\t\t\t<SortColumnButton\n\t\t\t\tdirection={header.column.getIsSorted()}\n\t\t\t\tonSortToggle={header.column.getToggleSortingHandler()}\n\t\t\t/>\n\t\t)}\n\t</LouisTableHeaderCell>\n)\n\ntype SortColumnButtonProps = {\n\tdirection: SortDirection | false\n\tonSortToggle?: (event: unknown) => void\n}\n\nconst SortColumnButton = ({ direction, onSortToggle }: SortColumnButtonProps) => (\n\t<button type=\"button\" onClick={onSortToggle} className={styles.headerSortButton}>\n\t\t<SortingIcon direction={direction} />\n\t</button>\n)\n"],"names":["jsxs","LouisTableHeaderCell","cx","styles","flexRender","jsx","SortingIcon"],"mappings":";;;;;;;;AAaO,MAAM,kBAAkB,CAAK;AAAA,EACnC;AAAA,EACA,QAAQ;AAAA,EACR;AAAA,EACA,GAAG;AACJ,MACCA,2BAAA;AAAA,EAACC,MAAA;AAAA,EAAA;AAAA,IACA,WAAWC,UAAG,WAAW;AAAA,MACxB,CAACC,uBAAA,QAAO,YAAY,GAAG,UAAU;AAAA,MACjC,CAACA,uBAAA,QAAO,gBAAgB,GAAG,UAAU;AAAA,IAAA,CACrC;AAAA,IACA,GAAG;AAAA,IAEH,UAAA;AAAA,MAAAC,WAAA,WAAW,OAAO,OAAO,UAAU,QAAQ,OAAO,YAAY;AAAA,MAC9D,OAAO,OAAO,WAAA,KACdC,2BAAA;AAAA,QAAC;AAAA,QAAA;AAAA,UACA,WAAW,OAAO,OAAO,YAAY;AAAA,UACrC,cAAc,OAAO,OAAO,wBAAwB;AAAA,QAAA;AAAA,MAAA;AAAA,IACrD;AAAA,EAAA;AAEF;AAQD,MAAM,mBAAmB,CAAC,EAAE,WAAW,aAAa,qCAClD,UAAO,EAAA,MAAK,UAAS,SAAS,cAAc,WAAWF,+BAAO,kBAC9D,UAACE,2BAAA,IAAAC,yBAAA,EAAY,UAAsB,CAAA,GACpC;;"}
1
+ {"version":3,"file":"harmony90.cjs","sources":["../src/components/Table/components/SortingIcon.tsx"],"sourcesContent":["import { SortAscendingIcon, SortDescendingIcon, SortIcon } from '@lokalise/louis'\nimport type { SortDirection } from '@tanstack/react-table'\n\ntype SortingIconProps = {\n\tdirection: SortDirection | false\n}\n\nexport const SortingIcon = ({ direction }: SortingIconProps) => {\n\tif (direction === 'asc') {\n\t\treturn <SortAscendingIcon ariaLabel=\"ascending sorting\" />\n\t}\n\tif (direction === 'desc') {\n\t\treturn <SortDescendingIcon ariaLabel=\"descending sorting\" />\n\t}\n\treturn <SortIcon ariaLabel=\"sorting\" />\n}\n"],"names":["jsx","SortAscendingIcon","SortDescendingIcon","SortIcon"],"mappings":";;;;AAOO,MAAM,cAAc,CAAC,EAAE,gBAAkC;AAC/D,MAAI,cAAc,OAAO;AACjB,WAAAA,2BAAA,IAACC,MAAkB,mBAAA,EAAA,WAAU,oBAAoB,CAAA;AAAA,EAAA;AAEzD,MAAI,cAAc,QAAQ;AAClB,WAAAD,2BAAA,IAACE,MAAmB,oBAAA,EAAA,WAAU,qBAAqB,CAAA;AAAA,EAAA;AAEpD,SAAAF,2BAAA,IAACG,MAAS,UAAA,EAAA,WAAU,UAAU,CAAA;AACtC;;"}
@@ -1,36 +1,15 @@
1
- import { jsxs, jsx } from "react/jsx-runtime";
2
- import { TableHeaderCell as TableHeaderCell$1 } from "@lokalise/louis";
3
- import { flexRender } from "@tanstack/react-table";
4
- import { clsx } from "./harmony73.mjs";
5
- import { SortingIcon } from "./harmony100.mjs";
6
- import styles from "./harmony101.mjs";
7
- const TableHeaderCell = ({
8
- header,
9
- align = "left",
10
- className,
11
- ...rest
12
- }) => /* @__PURE__ */ jsxs(
13
- TableHeaderCell$1,
14
- {
15
- className: clsx(className, {
16
- [styles.centeredCell]: align === "center",
17
- [styles.rightAlignedCell]: align === "right"
18
- }),
19
- ...rest,
20
- children: [
21
- flexRender(header.column.columnDef.header, header.getContext()),
22
- header.column.getCanSort() && /* @__PURE__ */ jsx(
23
- SortColumnButton,
24
- {
25
- direction: header.column.getIsSorted(),
26
- onSortToggle: header.column.getToggleSortingHandler()
27
- }
28
- )
29
- ]
1
+ import { jsx } from "react/jsx-runtime";
2
+ import { SortAscendingIcon, SortDescendingIcon, SortIcon } from "@lokalise/louis";
3
+ const SortingIcon = ({ direction }) => {
4
+ if (direction === "asc") {
5
+ return /* @__PURE__ */ jsx(SortAscendingIcon, { ariaLabel: "ascending sorting" });
30
6
  }
31
- );
32
- const SortColumnButton = ({ direction, onSortToggle }) => /* @__PURE__ */ jsx("button", { type: "button", onClick: onSortToggle, className: styles.headerSortButton, children: /* @__PURE__ */ jsx(SortingIcon, { direction }) });
7
+ if (direction === "desc") {
8
+ return /* @__PURE__ */ jsx(SortDescendingIcon, { ariaLabel: "descending sorting" });
9
+ }
10
+ return /* @__PURE__ */ jsx(SortIcon, { ariaLabel: "sorting" });
11
+ };
33
12
  export {
34
- TableHeaderCell
13
+ SortingIcon
35
14
  };
36
15
  //# sourceMappingURL=harmony90.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"harmony90.mjs","sources":["../src/components/Table/components/TableHeaderCell.tsx"],"sourcesContent":["import {\n\tTableHeaderCell as LouisTableHeaderCell,\n\ttype TableHeaderCellProps as LouisTableHeaderCellProps,\n} from '@lokalise/louis'\nimport { type Header, type SortDirection, flexRender } from '@tanstack/react-table'\nimport cx from 'clsx'\nimport { SortingIcon } from './SortingIcon'\nimport styles from './TableHeaderCell.module.css'\n\ntype TableHeaderProps<T> = LouisTableHeaderCellProps & {\n\theader: Header<T, unknown>\n}\n\nexport const TableHeaderCell = <T,>({\n\theader,\n\talign = 'left',\n\tclassName,\n\t...rest\n}: TableHeaderProps<T>) => (\n\t<LouisTableHeaderCell\n\t\tclassName={cx(className, {\n\t\t\t[styles.centeredCell]: align === 'center',\n\t\t\t[styles.rightAlignedCell]: align === 'right',\n\t\t})}\n\t\t{...rest}\n\t>\n\t\t{flexRender(header.column.columnDef.header, header.getContext())}\n\t\t{header.column.getCanSort() && (\n\t\t\t<SortColumnButton\n\t\t\t\tdirection={header.column.getIsSorted()}\n\t\t\t\tonSortToggle={header.column.getToggleSortingHandler()}\n\t\t\t/>\n\t\t)}\n\t</LouisTableHeaderCell>\n)\n\ntype SortColumnButtonProps = {\n\tdirection: SortDirection | false\n\tonSortToggle?: (event: unknown) => void\n}\n\nconst SortColumnButton = ({ direction, onSortToggle }: SortColumnButtonProps) => (\n\t<button type=\"button\" onClick={onSortToggle} className={styles.headerSortButton}>\n\t\t<SortingIcon direction={direction} />\n\t</button>\n)\n"],"names":["LouisTableHeaderCell","cx"],"mappings":";;;;;;AAaO,MAAM,kBAAkB,CAAK;AAAA,EACnC;AAAA,EACA,QAAQ;AAAA,EACR;AAAA,EACA,GAAG;AACJ,MACC;AAAA,EAACA;AAAAA,EAAA;AAAA,IACA,WAAWC,KAAG,WAAW;AAAA,MACxB,CAAC,OAAO,YAAY,GAAG,UAAU;AAAA,MACjC,CAAC,OAAO,gBAAgB,GAAG,UAAU;AAAA,IAAA,CACrC;AAAA,IACA,GAAG;AAAA,IAEH,UAAA;AAAA,MAAA,WAAW,OAAO,OAAO,UAAU,QAAQ,OAAO,YAAY;AAAA,MAC9D,OAAO,OAAO,WAAA,KACd;AAAA,QAAC;AAAA,QAAA;AAAA,UACA,WAAW,OAAO,OAAO,YAAY;AAAA,UACrC,cAAc,OAAO,OAAO,wBAAwB;AAAA,QAAA;AAAA,MAAA;AAAA,IACrD;AAAA,EAAA;AAEF;AAQD,MAAM,mBAAmB,CAAC,EAAE,WAAW,aAAa,0BAClD,UAAO,EAAA,MAAK,UAAS,SAAS,cAAc,WAAW,OAAO,kBAC9D,UAAC,oBAAA,aAAA,EAAY,UAAsB,CAAA,GACpC;"}
1
+ {"version":3,"file":"harmony90.mjs","sources":["../src/components/Table/components/SortingIcon.tsx"],"sourcesContent":["import { SortAscendingIcon, SortDescendingIcon, SortIcon } from '@lokalise/louis'\nimport type { SortDirection } from '@tanstack/react-table'\n\ntype SortingIconProps = {\n\tdirection: SortDirection | false\n}\n\nexport const SortingIcon = ({ direction }: SortingIconProps) => {\n\tif (direction === 'asc') {\n\t\treturn <SortAscendingIcon ariaLabel=\"ascending sorting\" />\n\t}\n\tif (direction === 'desc') {\n\t\treturn <SortDescendingIcon ariaLabel=\"descending sorting\" />\n\t}\n\treturn <SortIcon ariaLabel=\"sorting\" />\n}\n"],"names":[],"mappings":";;AAOO,MAAM,cAAc,CAAC,EAAE,gBAAkC;AAC/D,MAAI,cAAc,OAAO;AACjB,WAAA,oBAAC,mBAAkB,EAAA,WAAU,oBAAoB,CAAA;AAAA,EAAA;AAEzD,MAAI,cAAc,QAAQ;AAClB,WAAA,oBAAC,oBAAmB,EAAA,WAAU,qBAAqB,CAAA;AAAA,EAAA;AAEpD,SAAA,oBAAC,UAAS,EAAA,WAAU,UAAU,CAAA;AACtC;"}
@@ -1,46 +1,15 @@
1
1
  "use strict";
2
- var __defProp = Object.defineProperty;
3
- var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
4
- var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
5
- Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
6
- const wretch = require("wretch");
7
- const FormDataAddon = require("wretch/addons/formData");
8
- class NavigationClient {
9
- constructor(config) {
10
- __publicField(this, "config");
11
- __publicField(this, "publicApiClient");
12
- __publicField(this, "authorizedApiClient");
13
- this.config = config;
14
- this.publicApiClient = this.createPublicApiClient();
15
- this.authorizedApiClient = this.createAuthorizedApiClient();
16
- }
17
- createPublicApiClient() {
18
- return wretch(this.config.expertPublicApiUrl).options({ credentials: "omit" }).errorType("json");
19
- }
20
- createAuthorizedApiClient() {
21
- return wretch(this.config.nextgenApiUrl).errorType("json").addon(FormDataAddon);
22
- }
23
- getConfig() {
24
- return { ...this.config };
25
- }
26
- getPublicApiClient() {
27
- return this.publicApiClient;
28
- }
29
- getAuthorizedApiClient() {
30
- return this.authorizedApiClient;
31
- }
32
- getExpertUrl() {
33
- return this.config.expertAppUrl;
34
- }
35
- getNextgenUrl() {
36
- return this.config.nextgenAppUrl;
37
- }
38
- getExpertPublicApiUrl() {
39
- return this.config.expertPublicApiUrl;
40
- }
41
- getNextgenApiUrl() {
42
- return this.config.nextgenApiUrl;
43
- }
44
- }
45
- exports.NavigationClient = NavigationClient;
2
+ Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
3
+ const headerSortButton = "_headerSortButton_b5tlh_1";
4
+ const centeredCell = "_centeredCell_b5tlh_15";
5
+ const rightAlignedCell = "_rightAlignedCell_b5tlh_19";
6
+ const styles = {
7
+ headerSortButton,
8
+ centeredCell,
9
+ rightAlignedCell
10
+ };
11
+ exports.centeredCell = centeredCell;
12
+ exports.default = styles;
13
+ exports.headerSortButton = headerSortButton;
14
+ exports.rightAlignedCell = rightAlignedCell;
46
15
  //# sourceMappingURL=harmony91.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"harmony91.cjs","sources":["../src/features/navigation/core/NavigationClient.ts"],"sourcesContent":["import wretch, { type Wretch } from 'wretch'\nimport FormDataAddon, { type FormDataAddon as FormDataAddonType } from 'wretch/addons/formData'\n\nexport interface NavigationConfig {\n\texpertAppUrl: string\n\tnextgenAppUrl: string\n\texpertPublicApiUrl: string\n\tnextgenApiUrl: string\n}\n\nexport class NavigationClient {\n\tprivate config: NavigationConfig\n\tprivate publicApiClient: Wretch<unknown, unknown, undefined>\n\tprivate authorizedApiClient: FormDataAddonType & Wretch<FormDataAddonType, unknown, undefined>\n\n\tconstructor(config: NavigationConfig) {\n\t\tthis.config = config\n\t\tthis.publicApiClient = this.createPublicApiClient()\n\t\tthis.authorizedApiClient = this.createAuthorizedApiClient()\n\t}\n\n\tprivate createPublicApiClient() {\n\t\treturn wretch(this.config.expertPublicApiUrl).options({ credentials: 'omit' }).errorType('json')\n\t}\n\n\tprivate createAuthorizedApiClient() {\n\t\treturn wretch(this.config.nextgenApiUrl).errorType('json').addon(FormDataAddon)\n\t}\n\n\tgetConfig(): NavigationConfig {\n\t\treturn { ...this.config }\n\t}\n\n\tgetPublicApiClient() {\n\t\treturn this.publicApiClient\n\t}\n\n\tgetAuthorizedApiClient() {\n\t\treturn this.authorizedApiClient\n\t}\n\n\tgetExpertUrl(): string {\n\t\treturn this.config.expertAppUrl\n\t}\n\n\tgetNextgenUrl(): string {\n\t\treturn this.config.nextgenAppUrl\n\t}\n\n\tgetExpertPublicApiUrl(): string {\n\t\treturn this.config.expertPublicApiUrl\n\t}\n\n\tgetNextgenApiUrl(): string {\n\t\treturn this.config.nextgenApiUrl\n\t}\n}\n"],"names":[],"mappings":";;;;;;;AAUO,MAAM,iBAAiB;AAAA,EAK7B,YAAY,QAA0B;AAJ9B;AACA;AACA;AAGP,SAAK,SAAS;AACT,SAAA,kBAAkB,KAAK,sBAAsB;AAC7C,SAAA,sBAAsB,KAAK,0BAA0B;AAAA,EAAA;AAAA,EAGnD,wBAAwB;AAC/B,WAAO,OAAO,KAAK,OAAO,kBAAkB,EAAE,QAAQ,EAAE,aAAa,OAAO,CAAC,EAAE,UAAU,MAAM;AAAA,EAAA;AAAA,EAGxF,4BAA4B;AAC5B,WAAA,OAAO,KAAK,OAAO,aAAa,EAAE,UAAU,MAAM,EAAE,MAAM,aAAa;AAAA,EAAA;AAAA,EAG/E,YAA8B;AACtB,WAAA,EAAE,GAAG,KAAK,OAAO;AAAA,EAAA;AAAA,EAGzB,qBAAqB;AACpB,WAAO,KAAK;AAAA,EAAA;AAAA,EAGb,yBAAyB;AACxB,WAAO,KAAK;AAAA,EAAA;AAAA,EAGb,eAAuB;AACtB,WAAO,KAAK,OAAO;AAAA,EAAA;AAAA,EAGpB,gBAAwB;AACvB,WAAO,KAAK,OAAO;AAAA,EAAA;AAAA,EAGpB,wBAAgC;AAC/B,WAAO,KAAK,OAAO;AAAA,EAAA;AAAA,EAGpB,mBAA2B;AAC1B,WAAO,KAAK,OAAO;AAAA,EAAA;AAErB;;"}
1
+ {"version":3,"file":"harmony91.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;"}
@@ -1,46 +1,15 @@
1
- var __defProp = Object.defineProperty;
2
- var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
3
- var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
4
- import wretch from "wretch";
5
- import FormDataAddon from "wretch/addons/formData";
6
- class NavigationClient {
7
- constructor(config) {
8
- __publicField(this, "config");
9
- __publicField(this, "publicApiClient");
10
- __publicField(this, "authorizedApiClient");
11
- this.config = config;
12
- this.publicApiClient = this.createPublicApiClient();
13
- this.authorizedApiClient = this.createAuthorizedApiClient();
14
- }
15
- createPublicApiClient() {
16
- return wretch(this.config.expertPublicApiUrl).options({ credentials: "omit" }).errorType("json");
17
- }
18
- createAuthorizedApiClient() {
19
- return wretch(this.config.nextgenApiUrl).errorType("json").addon(FormDataAddon);
20
- }
21
- getConfig() {
22
- return { ...this.config };
23
- }
24
- getPublicApiClient() {
25
- return this.publicApiClient;
26
- }
27
- getAuthorizedApiClient() {
28
- return this.authorizedApiClient;
29
- }
30
- getExpertUrl() {
31
- return this.config.expertAppUrl;
32
- }
33
- getNextgenUrl() {
34
- return this.config.nextgenAppUrl;
35
- }
36
- getExpertPublicApiUrl() {
37
- return this.config.expertPublicApiUrl;
38
- }
39
- getNextgenApiUrl() {
40
- return this.config.nextgenApiUrl;
41
- }
42
- }
1
+ const headerSortButton = "_headerSortButton_b5tlh_1";
2
+ const centeredCell = "_centeredCell_b5tlh_15";
3
+ const rightAlignedCell = "_rightAlignedCell_b5tlh_19";
4
+ const styles = {
5
+ headerSortButton,
6
+ centeredCell,
7
+ rightAlignedCell
8
+ };
43
9
  export {
44
- NavigationClient
10
+ centeredCell,
11
+ styles as default,
12
+ headerSortButton,
13
+ rightAlignedCell
45
14
  };
46
15
  //# sourceMappingURL=harmony91.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"harmony91.mjs","sources":["../src/features/navigation/core/NavigationClient.ts"],"sourcesContent":["import wretch, { type Wretch } from 'wretch'\nimport FormDataAddon, { type FormDataAddon as FormDataAddonType } from 'wretch/addons/formData'\n\nexport interface NavigationConfig {\n\texpertAppUrl: string\n\tnextgenAppUrl: string\n\texpertPublicApiUrl: string\n\tnextgenApiUrl: string\n}\n\nexport class NavigationClient {\n\tprivate config: NavigationConfig\n\tprivate publicApiClient: Wretch<unknown, unknown, undefined>\n\tprivate authorizedApiClient: FormDataAddonType & Wretch<FormDataAddonType, unknown, undefined>\n\n\tconstructor(config: NavigationConfig) {\n\t\tthis.config = config\n\t\tthis.publicApiClient = this.createPublicApiClient()\n\t\tthis.authorizedApiClient = this.createAuthorizedApiClient()\n\t}\n\n\tprivate createPublicApiClient() {\n\t\treturn wretch(this.config.expertPublicApiUrl).options({ credentials: 'omit' }).errorType('json')\n\t}\n\n\tprivate createAuthorizedApiClient() {\n\t\treturn wretch(this.config.nextgenApiUrl).errorType('json').addon(FormDataAddon)\n\t}\n\n\tgetConfig(): NavigationConfig {\n\t\treturn { ...this.config }\n\t}\n\n\tgetPublicApiClient() {\n\t\treturn this.publicApiClient\n\t}\n\n\tgetAuthorizedApiClient() {\n\t\treturn this.authorizedApiClient\n\t}\n\n\tgetExpertUrl(): string {\n\t\treturn this.config.expertAppUrl\n\t}\n\n\tgetNextgenUrl(): string {\n\t\treturn this.config.nextgenAppUrl\n\t}\n\n\tgetExpertPublicApiUrl(): string {\n\t\treturn this.config.expertPublicApiUrl\n\t}\n\n\tgetNextgenApiUrl(): string {\n\t\treturn this.config.nextgenApiUrl\n\t}\n}\n"],"names":[],"mappings":";;;;;AAUO,MAAM,iBAAiB;AAAA,EAK7B,YAAY,QAA0B;AAJ9B;AACA;AACA;AAGP,SAAK,SAAS;AACT,SAAA,kBAAkB,KAAK,sBAAsB;AAC7C,SAAA,sBAAsB,KAAK,0BAA0B;AAAA,EAAA;AAAA,EAGnD,wBAAwB;AAC/B,WAAO,OAAO,KAAK,OAAO,kBAAkB,EAAE,QAAQ,EAAE,aAAa,OAAO,CAAC,EAAE,UAAU,MAAM;AAAA,EAAA;AAAA,EAGxF,4BAA4B;AAC5B,WAAA,OAAO,KAAK,OAAO,aAAa,EAAE,UAAU,MAAM,EAAE,MAAM,aAAa;AAAA,EAAA;AAAA,EAG/E,YAA8B;AACtB,WAAA,EAAE,GAAG,KAAK,OAAO;AAAA,EAAA;AAAA,EAGzB,qBAAqB;AACpB,WAAO,KAAK;AAAA,EAAA;AAAA,EAGb,yBAAyB;AACxB,WAAO,KAAK;AAAA,EAAA;AAAA,EAGb,eAAuB;AACtB,WAAO,KAAK,OAAO;AAAA,EAAA;AAAA,EAGpB,gBAAwB;AACvB,WAAO,KAAK,OAAO;AAAA,EAAA;AAAA,EAGpB,wBAAgC;AAC/B,WAAO,KAAK,OAAO;AAAA,EAAA;AAAA,EAGpB,mBAA2B;AAC1B,WAAO,KAAK,OAAO;AAAA,EAAA;AAErB;"}
1
+ {"version":3,"file":"harmony91.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;"}
@@ -1,32 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
3
  const React = require("react");
4
- const useExpertNavigation = require("./harmony98.cjs");
5
- const useNextgenNavigation = require("./harmony99.cjs");
6
- const isLegacyProject = (type) => {
7
- return type !== "marketing";
8
- };
9
- const useNavigation = (activeKey, project, contributorData) => {
10
- const legacyNavigationItems = useExpertNavigation.useExpertNavigation(
11
- isLegacyProject(project == null ? void 0 : project.project_type),
12
- project,
13
- contributorData
14
- );
15
- const newNavigationItems = useNextgenNavigation.useNextgenNavigation(
16
- activeKey,
17
- !isLegacyProject(project == null ? void 0 : project.project_type),
18
- project
19
- );
20
- return React.useMemo(() => {
21
- if (!project) {
22
- return [];
23
- }
24
- if (isLegacyProject(project.project_type)) {
25
- return legacyNavigationItems;
26
- }
27
- return newNavigationItems;
28
- }, [project, legacyNavigationItems, newNavigationItems]);
29
- };
30
- exports.isLegacyProject = isLegacyProject;
31
- exports.useNavigation = useNavigation;
4
+ const SidebarContext = React.createContext({});
5
+ exports.SidebarContext = SidebarContext;
32
6
  //# sourceMappingURL=harmony92.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"harmony92.cjs","sources":["../src/features/navigation/hooks/useNavigation.ts"],"sourcesContent":["import type { Contributor, Project, ProjectType } from '@features/node'\nimport { useMemo } from 'react'\nimport { useExpertNavigation } from './useExpertNavigation'\nimport { useNextgenNavigation } from './useNextgenNavigation'\n\nexport const isLegacyProject = (type: ProjectType | undefined) => {\n\treturn type !== 'marketing'\n}\n\n/**\n * Main useNavigation hook that serves as an arbiter between legacy and new navigation.\n * It determines which navigation system to use based on project type.\n */\nexport const useNavigation = (\n\tactiveKey: string,\n\tproject?: Project,\n\tcontributorData?: Contributor,\n) => {\n\t// Get navigation items from expert or next-gen system, depending on project type\n\tconst legacyNavigationItems = useExpertNavigation(\n\t\tisLegacyProject(project?.project_type),\n\t\tproject,\n\t\tcontributorData,\n\t)\n\tconst newNavigationItems = useNextgenNavigation(\n\t\tactiveKey,\n\t\t!isLegacyProject(project?.project_type),\n\t\tproject,\n\t)\n\n\t// Determine which navigation items to use based on project type\n\treturn useMemo(() => {\n\t\tif (!project) {\n\t\t\treturn []\n\t\t}\n\t\t// Use legacy navigation for legacy project types\n\t\tif (isLegacyProject(project.project_type)) {\n\t\t\treturn legacyNavigationItems\n\t\t}\n\n\t\t// Use new navigation for new project types\n\t\treturn newNavigationItems\n\t}, [project, legacyNavigationItems, newNavigationItems])\n}\n"],"names":["useExpertNavigation","useNextgenNavigation","useMemo"],"mappings":";;;;;AAKa,MAAA,kBAAkB,CAAC,SAAkC;AACjE,SAAO,SAAS;AACjB;AAMO,MAAM,gBAAgB,CAC5B,WACA,SACA,oBACI;AAEJ,QAAM,wBAAwBA,oBAAA;AAAA,IAC7B,gBAAgB,mCAAS,YAAY;AAAA,IACrC;AAAA,IACA;AAAA,EACD;AACA,QAAM,qBAAqBC,qBAAA;AAAA,IAC1B;AAAA,IACA,CAAC,gBAAgB,mCAAS,YAAY;AAAA,IACtC;AAAA,EACD;AAGA,SAAOC,cAAQ,MAAM;AACpB,QAAI,CAAC,SAAS;AACb,aAAO,CAAC;AAAA,IAAA;AAGL,QAAA,gBAAgB,QAAQ,YAAY,GAAG;AACnC,aAAA;AAAA,IAAA;AAID,WAAA;AAAA,EACL,GAAA,CAAC,SAAS,uBAAuB,kBAAkB,CAAC;AACxD;;;"}
1
+ {"version":3,"file":"harmony92.cjs","sources":["../src/components/Sidebar/SidebarContext.ts"],"sourcesContent":["import { createContext, useContext } from 'react'\nimport type { SidebarContextProps } from './types'\n\nexport const SidebarContext = createContext({} as SidebarContextProps)\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":["createContext"],"mappings":";;;AAGa,MAAA,iBAAiBA,MAAc,cAAA,CAAyB,CAAA;;"}
@@ -1,32 +1,6 @@
1
- import { useMemo } from "react";
2
- import { useExpertNavigation } from "./harmony98.mjs";
3
- import { useNextgenNavigation } from "./harmony99.mjs";
4
- const isLegacyProject = (type) => {
5
- return type !== "marketing";
6
- };
7
- const useNavigation = (activeKey, project, contributorData) => {
8
- const legacyNavigationItems = useExpertNavigation(
9
- isLegacyProject(project == null ? void 0 : project.project_type),
10
- project,
11
- contributorData
12
- );
13
- const newNavigationItems = useNextgenNavigation(
14
- activeKey,
15
- !isLegacyProject(project == null ? void 0 : project.project_type),
16
- project
17
- );
18
- return useMemo(() => {
19
- if (!project) {
20
- return [];
21
- }
22
- if (isLegacyProject(project.project_type)) {
23
- return legacyNavigationItems;
24
- }
25
- return newNavigationItems;
26
- }, [project, legacyNavigationItems, newNavigationItems]);
27
- };
1
+ import { createContext } from "react";
2
+ const SidebarContext = createContext({});
28
3
  export {
29
- isLegacyProject,
30
- useNavigation
4
+ SidebarContext
31
5
  };
32
6
  //# sourceMappingURL=harmony92.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"harmony92.mjs","sources":["../src/features/navigation/hooks/useNavigation.ts"],"sourcesContent":["import type { Contributor, Project, ProjectType } from '@features/node'\nimport { useMemo } from 'react'\nimport { useExpertNavigation } from './useExpertNavigation'\nimport { useNextgenNavigation } from './useNextgenNavigation'\n\nexport const isLegacyProject = (type: ProjectType | undefined) => {\n\treturn type !== 'marketing'\n}\n\n/**\n * Main useNavigation hook that serves as an arbiter between legacy and new navigation.\n * It determines which navigation system to use based on project type.\n */\nexport const useNavigation = (\n\tactiveKey: string,\n\tproject?: Project,\n\tcontributorData?: Contributor,\n) => {\n\t// Get navigation items from expert or next-gen system, depending on project type\n\tconst legacyNavigationItems = useExpertNavigation(\n\t\tisLegacyProject(project?.project_type),\n\t\tproject,\n\t\tcontributorData,\n\t)\n\tconst newNavigationItems = useNextgenNavigation(\n\t\tactiveKey,\n\t\t!isLegacyProject(project?.project_type),\n\t\tproject,\n\t)\n\n\t// Determine which navigation items to use based on project type\n\treturn useMemo(() => {\n\t\tif (!project) {\n\t\t\treturn []\n\t\t}\n\t\t// Use legacy navigation for legacy project types\n\t\tif (isLegacyProject(project.project_type)) {\n\t\t\treturn legacyNavigationItems\n\t\t}\n\n\t\t// Use new navigation for new project types\n\t\treturn newNavigationItems\n\t}, [project, legacyNavigationItems, newNavigationItems])\n}\n"],"names":[],"mappings":";;;AAKa,MAAA,kBAAkB,CAAC,SAAkC;AACjE,SAAO,SAAS;AACjB;AAMO,MAAM,gBAAgB,CAC5B,WACA,SACA,oBACI;AAEJ,QAAM,wBAAwB;AAAA,IAC7B,gBAAgB,mCAAS,YAAY;AAAA,IACrC;AAAA,IACA;AAAA,EACD;AACA,QAAM,qBAAqB;AAAA,IAC1B;AAAA,IACA,CAAC,gBAAgB,mCAAS,YAAY;AAAA,IACtC;AAAA,EACD;AAGA,SAAO,QAAQ,MAAM;AACpB,QAAI,CAAC,SAAS;AACb,aAAO,CAAC;AAAA,IAAA;AAGL,QAAA,gBAAgB,QAAQ,YAAY,GAAG;AACnC,aAAA;AAAA,IAAA;AAID,WAAA;AAAA,EACL,GAAA,CAAC,SAAS,uBAAuB,kBAAkB,CAAC;AACxD;"}
1
+ {"version":3,"file":"harmony92.mjs","sources":["../src/components/Sidebar/SidebarContext.ts"],"sourcesContent":["import { createContext, useContext } from 'react'\nimport type { SidebarContextProps } from './types'\n\nexport const SidebarContext = createContext({} as SidebarContextProps)\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":";AAGa,MAAA,iBAAiB,cAAc,CAAyB,CAAA;"}
@@ -1,69 +1,21 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const headerBuilderFactories = require("./harmony21.cjs");
4
- const useRetrieveContributorQuery = require("./harmony55.cjs");
5
- const useRetrieveProjectQuery = require("./harmony56.cjs");
6
- const NavigationClientProvider = require("./harmony94.cjs");
7
- function useNavigationProjectQuery(projectId) {
8
- const navigationClient = NavigationClientProvider.useNavigationClient();
9
- const expertPublicApiUrl = navigationClient.getExpertPublicApiUrl();
10
- return useRetrieveProjectQuery.useRetrieveProjectQuery(
11
- navigationClient.getPublicApiClient(),
12
- headerBuilderFactories.createPublicApiHeaderBuilder(expertPublicApiUrl),
3
+ const jsxRuntime = require("react/jsx-runtime");
4
+ const louis = require("@lokalise/louis");
5
+ const clsx = require("./harmony73.cjs");
6
+ const IconLink_module = require("./harmony107.cjs");
7
+ const IconLink = ({ label, to, icon: Icon }) => {
8
+ return /* @__PURE__ */ jsxRuntime.jsx(louis.Tooltip, { placement: "right", tooltip: label, children: /* @__PURE__ */ jsxRuntime.jsx(
9
+ louis.Link,
13
10
  {
14
- queryKey: useRetrieveProjectQuery.retrieveProjectQueryKey.projectIdKey(projectId),
15
- enabled: !!projectId,
16
- staleTime: 5 * 60 * 1e3
17
- // 5 minutes
18
- }
19
- );
20
- }
21
- function useNavigationContributorQuery(projectId) {
22
- const navigationClient = NavigationClientProvider.useNavigationClient();
23
- const expertPublicApiUrl = navigationClient.getExpertPublicApiUrl();
24
- return useRetrieveContributorQuery.useRetrieveContributorQuery(
25
- navigationClient.getPublicApiClient(),
26
- headerBuilderFactories.createPublicApiHeaderBuilder(expertPublicApiUrl),
27
- {
28
- queryKey: useRetrieveContributorQuery.retrieveContributorKeys.projectUserKey({
29
- project: { id: projectId },
30
- contributor: { authenticatedUser: true }
11
+ "aria-label": label,
12
+ className: clsx.clsx(IconLink_module.default.link, {
13
+ [IconLink_module.default.active]: typeof window !== "undefined" && window.location.pathname.startsWith(to)
31
14
  }),
32
- enabled: !!projectId,
33
- staleTime: 5 * 60 * 1e3
34
- // 5 minutes
35
- }
36
- );
37
- }
38
- function useNavigationData(projectId) {
39
- var _a;
40
- const projectQuery = useNavigationProjectQuery(projectId);
41
- const contributorQuery = useNavigationContributorQuery(projectId);
42
- return {
43
- // Individual queries
44
- projectQuery,
45
- contributorQuery,
46
- // Combined data
47
- data: {
48
- project: projectQuery.data,
49
- contributor: (_a = contributorQuery.data) == null ? void 0 : _a.contributor
50
- },
51
- // Combined loading state
52
- isLoading: projectQuery.isLoading || contributorQuery.isLoading,
53
- // Combined error state
54
- error: projectQuery.error || contributorQuery.error,
55
- // Check if any query is still loading
56
- isAnyLoading: projectQuery.isLoading || contributorQuery.isLoading,
57
- // Check if all queries have data
58
- hasAllData: !!(projectQuery.data && contributorQuery.data),
59
- // Refetch all queries
60
- refetchAll: () => {
61
- projectQuery.refetch();
62
- contributorQuery.refetch();
15
+ href: to,
16
+ children: /* @__PURE__ */ jsxRuntime.jsx(Icon, { size: "25px" })
63
17
  }
64
- };
65
- }
66
- exports.useNavigationContributorQuery = useNavigationContributorQuery;
67
- exports.useNavigationData = useNavigationData;
68
- exports.useNavigationProjectQuery = useNavigationProjectQuery;
18
+ ) });
19
+ };
20
+ exports.IconLink = IconLink;
69
21
  //# sourceMappingURL=harmony93.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"harmony93.cjs","sources":["../src/features/navigation/hooks/useNavigationQueries.ts"],"sourcesContent":["import { createPublicApiHeaderBuilder } from '@features/auth/factories/headerBuilderFactories'\nimport {\n\tretrieveContributorKeys,\n\tuseRetrieveContributorQuery,\n} from '@features/publicApi/hooks/useRetrieveContributorQuery'\nimport {\n\tretrieveProjectQueryKey,\n\tuseRetrieveProjectQuery,\n} from '@features/publicApi/hooks/useRetrieveProjectQuery'\nimport { useNavigationClient } from '../providers/NavigationClientProvider'\n\n/**\n * Hook to fetch project data for navigation\n */\nexport function useNavigationProjectQuery(projectId: string) {\n\tconst navigationClient = useNavigationClient()\n\tconst expertPublicApiUrl = navigationClient.getExpertPublicApiUrl()\n\n\treturn useRetrieveProjectQuery(\n\t\tnavigationClient.getPublicApiClient(),\n\t\tcreatePublicApiHeaderBuilder(expertPublicApiUrl),\n\t\t{\n\t\t\tqueryKey: retrieveProjectQueryKey.projectIdKey(projectId),\n\t\t\tenabled: !!projectId,\n\t\t\tstaleTime: 5 * 60 * 1000, // 5 minutes\n\t\t},\n\t)\n}\n\n/**\n * Hook to fetch contributor data for navigation\n */\nexport function useNavigationContributorQuery(projectId: string) {\n\tconst navigationClient = useNavigationClient()\n\tconst expertPublicApiUrl = navigationClient.getExpertPublicApiUrl()\n\n\treturn useRetrieveContributorQuery(\n\t\tnavigationClient.getPublicApiClient(),\n\t\tcreatePublicApiHeaderBuilder(expertPublicApiUrl),\n\t\t{\n\t\t\tqueryKey: retrieveContributorKeys.projectUserKey({\n\t\t\t\tproject: { id: projectId },\n\t\t\t\tcontributor: { authenticatedUser: true },\n\t\t\t}),\n\t\t\tenabled: !!projectId,\n\t\t\tstaleTime: 5 * 60 * 1000, // 5 minutes\n\t\t},\n\t)\n}\n\n/**\n * Composite hook that fetches all navigation data\n */\nexport function useNavigationData(projectId: string) {\n\tconst projectQuery = useNavigationProjectQuery(projectId)\n\tconst contributorQuery = useNavigationContributorQuery(projectId)\n\n\treturn {\n\t\t// Individual queries\n\t\tprojectQuery,\n\t\tcontributorQuery,\n\n\t\t// Combined data\n\t\tdata: {\n\t\t\tproject: projectQuery.data,\n\t\t\tcontributor: contributorQuery.data?.contributor,\n\t\t},\n\n\t\t// Combined loading state\n\t\tisLoading: projectQuery.isLoading || contributorQuery.isLoading,\n\n\t\t// Combined error state\n\t\terror: projectQuery.error || contributorQuery.error,\n\n\t\t// Check if any query is still loading\n\t\tisAnyLoading: projectQuery.isLoading || contributorQuery.isLoading,\n\n\t\t// Check if all queries have data\n\t\thasAllData: !!(projectQuery.data && contributorQuery.data),\n\n\t\t// Refetch all queries\n\t\trefetchAll: () => {\n\t\t\tprojectQuery.refetch()\n\t\t\tcontributorQuery.refetch()\n\t\t},\n\t}\n}\n"],"names":["useNavigationClient","useRetrieveProjectQuery","createPublicApiHeaderBuilder","retrieveProjectQueryKey","useRetrieveContributorQuery","retrieveContributorKeys"],"mappings":";;;;;;AAcO,SAAS,0BAA0B,WAAmB;AAC5D,QAAM,mBAAmBA,yBAAAA,oBAAoB;AACvC,QAAA,qBAAqB,iBAAiB,sBAAsB;AAE3D,SAAAC,wBAAA;AAAA,IACN,iBAAiB,mBAAmB;AAAA,IACpCC,uBAAAA,6BAA6B,kBAAkB;AAAA,IAC/C;AAAA,MACC,UAAUC,wBAAAA,wBAAwB,aAAa,SAAS;AAAA,MACxD,SAAS,CAAC,CAAC;AAAA,MACX,WAAW,IAAI,KAAK;AAAA;AAAA,IAAA;AAAA,EAEtB;AACD;AAKO,SAAS,8BAA8B,WAAmB;AAChE,QAAM,mBAAmBH,yBAAAA,oBAAoB;AACvC,QAAA,qBAAqB,iBAAiB,sBAAsB;AAE3D,SAAAI,4BAAA;AAAA,IACN,iBAAiB,mBAAmB;AAAA,IACpCF,uBAAAA,6BAA6B,kBAAkB;AAAA,IAC/C;AAAA,MACC,UAAUG,oDAAwB,eAAe;AAAA,QAChD,SAAS,EAAE,IAAI,UAAU;AAAA,QACzB,aAAa,EAAE,mBAAmB,KAAK;AAAA,MAAA,CACvC;AAAA,MACD,SAAS,CAAC,CAAC;AAAA,MACX,WAAW,IAAI,KAAK;AAAA;AAAA,IAAA;AAAA,EAEtB;AACD;AAKO,SAAS,kBAAkB,WAAmB;;AAC9C,QAAA,eAAe,0BAA0B,SAAS;AAClD,QAAA,mBAAmB,8BAA8B,SAAS;AAEzD,SAAA;AAAA;AAAA,IAEN;AAAA,IACA;AAAA;AAAA,IAGA,MAAM;AAAA,MACL,SAAS,aAAa;AAAA,MACtB,cAAa,sBAAiB,SAAjB,mBAAuB;AAAA,IACrC;AAAA;AAAA,IAGA,WAAW,aAAa,aAAa,iBAAiB;AAAA;AAAA,IAGtD,OAAO,aAAa,SAAS,iBAAiB;AAAA;AAAA,IAG9C,cAAc,aAAa,aAAa,iBAAiB;AAAA;AAAA,IAGzD,YAAY,CAAC,EAAE,aAAa,QAAQ,iBAAiB;AAAA;AAAA,IAGrD,YAAY,MAAM;AACjB,mBAAa,QAAQ;AACrB,uBAAiB,QAAQ;AAAA,IAAA;AAAA,EAE3B;AACD;;;;"}
1
+ {"version":3,"file":"harmony93.cjs","sources":["../src/components/Sidebar/Widgets/IconLink/IconLink.tsx"],"sourcesContent":["import { Link, type SvgIconProps, Tooltip } from '@lokalise/louis'\nimport clsx from 'clsx'\nimport type { FC } from 'react'\nimport styles from './IconLink.module.css'\n\ntype IconLinkProps = {\n\t/** URL destination for the link */\n\tto: string\n\t/** Text to display in the tooltip when hovering over the icon */\n\tlabel: string\n\t/** Icon component from @lokalise/louis to display */\n\ticon: FC<SvgIconProps>\n}\n\n/**\n * A navigation link component that displays an icon with a tooltip.\n * When hovered, shows a tooltip with the label text.\n * The link is highlighted when the current URL matches its destination.\n *\n * @example\n * ```tsx\n * <IconLink to=\"/projects\" label=\"Projects\" icon={FolderOpenIcon} />\n * ```\n */\nexport const IconLink = ({ label, to, icon: Icon }: IconLinkProps) => {\n\treturn (\n\t\t<Tooltip placement=\"right\" tooltip={label}>\n\t\t\t<Link\n\t\t\t\taria-label={label}\n\t\t\t\tclassName={clsx(styles.link, {\n\t\t\t\t\t[styles.active]: typeof window !== 'undefined' && window.location.pathname.startsWith(to),\n\t\t\t\t})}\n\t\t\t\thref={to}\n\t\t\t>\n\t\t\t\t<Icon size=\"25px\" />\n\t\t\t</Link>\n\t\t</Tooltip>\n\t)\n}\n"],"names":["jsx","Tooltip","Link","clsx","styles"],"mappings":";;;;;;AAwBO,MAAM,WAAW,CAAC,EAAE,OAAO,IAAI,MAAM,WAA0B;AACrE,SACEA,2BAAA,IAAAC,MAAA,SAAA,EAAQ,WAAU,SAAQ,SAAS,OACnC,UAAAD,2BAAA;AAAA,IAACE,MAAA;AAAA,IAAA;AAAA,MACA,cAAY;AAAA,MACZ,WAAWC,KAAAA,KAAKC,gBAAA,QAAO,MAAM;AAAA,QAC5B,CAACA,gBAAO,QAAA,MAAM,GAAG,OAAO,WAAW,eAAe,OAAO,SAAS,SAAS,WAAW,EAAE;AAAA,MAAA,CACxF;AAAA,MACD,MAAM;AAAA,MAEN,UAAAJ,2BAAAA,IAAC,MAAK,EAAA,MAAK,OAAO,CAAA;AAAA,IAAA;AAAA,EAAA,GAEpB;AAEF;;"}
@@ -1,69 +1,21 @@
1
- import { createPublicApiHeaderBuilder } from "./harmony21.mjs";
2
- import { useRetrieveContributorQuery, retrieveContributorKeys } from "./harmony55.mjs";
3
- import { useRetrieveProjectQuery, retrieveProjectQueryKey } from "./harmony56.mjs";
4
- import { useNavigationClient } from "./harmony94.mjs";
5
- function useNavigationProjectQuery(projectId) {
6
- const navigationClient = useNavigationClient();
7
- const expertPublicApiUrl = navigationClient.getExpertPublicApiUrl();
8
- return useRetrieveProjectQuery(
9
- navigationClient.getPublicApiClient(),
10
- createPublicApiHeaderBuilder(expertPublicApiUrl),
1
+ import { jsx } from "react/jsx-runtime";
2
+ import { Tooltip, Link } from "@lokalise/louis";
3
+ import { clsx } from "./harmony73.mjs";
4
+ import styles from "./harmony107.mjs";
5
+ const IconLink = ({ label, to, icon: Icon }) => {
6
+ return /* @__PURE__ */ jsx(Tooltip, { placement: "right", tooltip: label, children: /* @__PURE__ */ jsx(
7
+ Link,
11
8
  {
12
- queryKey: retrieveProjectQueryKey.projectIdKey(projectId),
13
- enabled: !!projectId,
14
- staleTime: 5 * 60 * 1e3
15
- // 5 minutes
16
- }
17
- );
18
- }
19
- function useNavigationContributorQuery(projectId) {
20
- const navigationClient = useNavigationClient();
21
- const expertPublicApiUrl = navigationClient.getExpertPublicApiUrl();
22
- return useRetrieveContributorQuery(
23
- navigationClient.getPublicApiClient(),
24
- createPublicApiHeaderBuilder(expertPublicApiUrl),
25
- {
26
- queryKey: retrieveContributorKeys.projectUserKey({
27
- project: { id: projectId },
28
- contributor: { authenticatedUser: true }
9
+ "aria-label": label,
10
+ className: clsx(styles.link, {
11
+ [styles.active]: typeof window !== "undefined" && window.location.pathname.startsWith(to)
29
12
  }),
30
- enabled: !!projectId,
31
- staleTime: 5 * 60 * 1e3
32
- // 5 minutes
13
+ href: to,
14
+ children: /* @__PURE__ */ jsx(Icon, { size: "25px" })
33
15
  }
34
- );
35
- }
36
- function useNavigationData(projectId) {
37
- var _a;
38
- const projectQuery = useNavigationProjectQuery(projectId);
39
- const contributorQuery = useNavigationContributorQuery(projectId);
40
- return {
41
- // Individual queries
42
- projectQuery,
43
- contributorQuery,
44
- // Combined data
45
- data: {
46
- project: projectQuery.data,
47
- contributor: (_a = contributorQuery.data) == null ? void 0 : _a.contributor
48
- },
49
- // Combined loading state
50
- isLoading: projectQuery.isLoading || contributorQuery.isLoading,
51
- // Combined error state
52
- error: projectQuery.error || contributorQuery.error,
53
- // Check if any query is still loading
54
- isAnyLoading: projectQuery.isLoading || contributorQuery.isLoading,
55
- // Check if all queries have data
56
- hasAllData: !!(projectQuery.data && contributorQuery.data),
57
- // Refetch all queries
58
- refetchAll: () => {
59
- projectQuery.refetch();
60
- contributorQuery.refetch();
61
- }
62
- };
63
- }
16
+ ) });
17
+ };
64
18
  export {
65
- useNavigationContributorQuery,
66
- useNavigationData,
67
- useNavigationProjectQuery
19
+ IconLink
68
20
  };
69
21
  //# sourceMappingURL=harmony93.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"harmony93.mjs","sources":["../src/features/navigation/hooks/useNavigationQueries.ts"],"sourcesContent":["import { createPublicApiHeaderBuilder } from '@features/auth/factories/headerBuilderFactories'\nimport {\n\tretrieveContributorKeys,\n\tuseRetrieveContributorQuery,\n} from '@features/publicApi/hooks/useRetrieveContributorQuery'\nimport {\n\tretrieveProjectQueryKey,\n\tuseRetrieveProjectQuery,\n} from '@features/publicApi/hooks/useRetrieveProjectQuery'\nimport { useNavigationClient } from '../providers/NavigationClientProvider'\n\n/**\n * Hook to fetch project data for navigation\n */\nexport function useNavigationProjectQuery(projectId: string) {\n\tconst navigationClient = useNavigationClient()\n\tconst expertPublicApiUrl = navigationClient.getExpertPublicApiUrl()\n\n\treturn useRetrieveProjectQuery(\n\t\tnavigationClient.getPublicApiClient(),\n\t\tcreatePublicApiHeaderBuilder(expertPublicApiUrl),\n\t\t{\n\t\t\tqueryKey: retrieveProjectQueryKey.projectIdKey(projectId),\n\t\t\tenabled: !!projectId,\n\t\t\tstaleTime: 5 * 60 * 1000, // 5 minutes\n\t\t},\n\t)\n}\n\n/**\n * Hook to fetch contributor data for navigation\n */\nexport function useNavigationContributorQuery(projectId: string) {\n\tconst navigationClient = useNavigationClient()\n\tconst expertPublicApiUrl = navigationClient.getExpertPublicApiUrl()\n\n\treturn useRetrieveContributorQuery(\n\t\tnavigationClient.getPublicApiClient(),\n\t\tcreatePublicApiHeaderBuilder(expertPublicApiUrl),\n\t\t{\n\t\t\tqueryKey: retrieveContributorKeys.projectUserKey({\n\t\t\t\tproject: { id: projectId },\n\t\t\t\tcontributor: { authenticatedUser: true },\n\t\t\t}),\n\t\t\tenabled: !!projectId,\n\t\t\tstaleTime: 5 * 60 * 1000, // 5 minutes\n\t\t},\n\t)\n}\n\n/**\n * Composite hook that fetches all navigation data\n */\nexport function useNavigationData(projectId: string) {\n\tconst projectQuery = useNavigationProjectQuery(projectId)\n\tconst contributorQuery = useNavigationContributorQuery(projectId)\n\n\treturn {\n\t\t// Individual queries\n\t\tprojectQuery,\n\t\tcontributorQuery,\n\n\t\t// Combined data\n\t\tdata: {\n\t\t\tproject: projectQuery.data,\n\t\t\tcontributor: contributorQuery.data?.contributor,\n\t\t},\n\n\t\t// Combined loading state\n\t\tisLoading: projectQuery.isLoading || contributorQuery.isLoading,\n\n\t\t// Combined error state\n\t\terror: projectQuery.error || contributorQuery.error,\n\n\t\t// Check if any query is still loading\n\t\tisAnyLoading: projectQuery.isLoading || contributorQuery.isLoading,\n\n\t\t// Check if all queries have data\n\t\thasAllData: !!(projectQuery.data && contributorQuery.data),\n\n\t\t// Refetch all queries\n\t\trefetchAll: () => {\n\t\t\tprojectQuery.refetch()\n\t\t\tcontributorQuery.refetch()\n\t\t},\n\t}\n}\n"],"names":[],"mappings":";;;;AAcO,SAAS,0BAA0B,WAAmB;AAC5D,QAAM,mBAAmB,oBAAoB;AACvC,QAAA,qBAAqB,iBAAiB,sBAAsB;AAE3D,SAAA;AAAA,IACN,iBAAiB,mBAAmB;AAAA,IACpC,6BAA6B,kBAAkB;AAAA,IAC/C;AAAA,MACC,UAAU,wBAAwB,aAAa,SAAS;AAAA,MACxD,SAAS,CAAC,CAAC;AAAA,MACX,WAAW,IAAI,KAAK;AAAA;AAAA,IAAA;AAAA,EAEtB;AACD;AAKO,SAAS,8BAA8B,WAAmB;AAChE,QAAM,mBAAmB,oBAAoB;AACvC,QAAA,qBAAqB,iBAAiB,sBAAsB;AAE3D,SAAA;AAAA,IACN,iBAAiB,mBAAmB;AAAA,IACpC,6BAA6B,kBAAkB;AAAA,IAC/C;AAAA,MACC,UAAU,wBAAwB,eAAe;AAAA,QAChD,SAAS,EAAE,IAAI,UAAU;AAAA,QACzB,aAAa,EAAE,mBAAmB,KAAK;AAAA,MAAA,CACvC;AAAA,MACD,SAAS,CAAC,CAAC;AAAA,MACX,WAAW,IAAI,KAAK;AAAA;AAAA,IAAA;AAAA,EAEtB;AACD;AAKO,SAAS,kBAAkB,WAAmB;;AAC9C,QAAA,eAAe,0BAA0B,SAAS;AAClD,QAAA,mBAAmB,8BAA8B,SAAS;AAEzD,SAAA;AAAA;AAAA,IAEN;AAAA,IACA;AAAA;AAAA,IAGA,MAAM;AAAA,MACL,SAAS,aAAa;AAAA,MACtB,cAAa,sBAAiB,SAAjB,mBAAuB;AAAA,IACrC;AAAA;AAAA,IAGA,WAAW,aAAa,aAAa,iBAAiB;AAAA;AAAA,IAGtD,OAAO,aAAa,SAAS,iBAAiB;AAAA;AAAA,IAG9C,cAAc,aAAa,aAAa,iBAAiB;AAAA;AAAA,IAGzD,YAAY,CAAC,EAAE,aAAa,QAAQ,iBAAiB;AAAA;AAAA,IAGrD,YAAY,MAAM;AACjB,mBAAa,QAAQ;AACrB,uBAAiB,QAAQ;AAAA,IAAA;AAAA,EAE3B;AACD;"}
1
+ {"version":3,"file":"harmony93.mjs","sources":["../src/components/Sidebar/Widgets/IconLink/IconLink.tsx"],"sourcesContent":["import { Link, type SvgIconProps, Tooltip } from '@lokalise/louis'\nimport clsx from 'clsx'\nimport type { FC } from 'react'\nimport styles from './IconLink.module.css'\n\ntype IconLinkProps = {\n\t/** URL destination for the link */\n\tto: string\n\t/** Text to display in the tooltip when hovering over the icon */\n\tlabel: string\n\t/** Icon component from @lokalise/louis to display */\n\ticon: FC<SvgIconProps>\n}\n\n/**\n * A navigation link component that displays an icon with a tooltip.\n * When hovered, shows a tooltip with the label text.\n * The link is highlighted when the current URL matches its destination.\n *\n * @example\n * ```tsx\n * <IconLink to=\"/projects\" label=\"Projects\" icon={FolderOpenIcon} />\n * ```\n */\nexport const IconLink = ({ label, to, icon: Icon }: IconLinkProps) => {\n\treturn (\n\t\t<Tooltip placement=\"right\" tooltip={label}>\n\t\t\t<Link\n\t\t\t\taria-label={label}\n\t\t\t\tclassName={clsx(styles.link, {\n\t\t\t\t\t[styles.active]: typeof window !== 'undefined' && window.location.pathname.startsWith(to),\n\t\t\t\t})}\n\t\t\t\thref={to}\n\t\t\t>\n\t\t\t\t<Icon size=\"25px\" />\n\t\t\t</Link>\n\t\t</Tooltip>\n\t)\n}\n"],"names":[],"mappings":";;;;AAwBO,MAAM,WAAW,CAAC,EAAE,OAAO,IAAI,MAAM,WAA0B;AACrE,SACE,oBAAA,SAAA,EAAQ,WAAU,SAAQ,SAAS,OACnC,UAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACA,cAAY;AAAA,MACZ,WAAW,KAAK,OAAO,MAAM;AAAA,QAC5B,CAAC,OAAO,MAAM,GAAG,OAAO,WAAW,eAAe,OAAO,SAAS,SAAS,WAAW,EAAE;AAAA,MAAA,CACxF;AAAA,MACD,MAAM;AAAA,MAEN,UAAA,oBAAC,MAAK,EAAA,MAAK,OAAO,CAAA;AAAA,IAAA;AAAA,EAAA,GAEpB;AAEF;"}