@lokalise/harmony 1.33.0-exp-louis-27.0.0.1 → 1.33.0

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 (397) hide show
  1. package/dist/harmony.cjs +22 -16
  2. package/dist/harmony.cjs.map +1 -1
  3. package/dist/harmony.mjs +23 -17
  4. package/dist/harmony.mjs.map +1 -1
  5. package/dist/harmony100.cjs +99 -18
  6. package/dist/harmony100.cjs.map +1 -1
  7. package/dist/harmony100.mjs +82 -18
  8. package/dist/harmony100.mjs.map +1 -1
  9. package/dist/harmony101.cjs +18 -14
  10. package/dist/harmony101.cjs.map +1 -1
  11. package/dist/harmony101.mjs +18 -14
  12. package/dist/harmony101.mjs.map +1 -1
  13. package/dist/harmony102.cjs +14 -21
  14. package/dist/harmony102.cjs.map +1 -1
  15. package/dist/harmony102.mjs +13 -20
  16. package/dist/harmony102.mjs.map +1 -1
  17. package/dist/harmony103.cjs +131 -5
  18. package/dist/harmony103.cjs.map +1 -1
  19. package/dist/harmony103.mjs +131 -5
  20. package/dist/harmony103.mjs.map +1 -1
  21. package/dist/harmony104.cjs +12 -132
  22. package/dist/harmony104.cjs.map +1 -1
  23. package/dist/harmony104.mjs +11 -131
  24. package/dist/harmony104.mjs.map +1 -1
  25. package/dist/harmony105.cjs +6 -13
  26. package/dist/harmony105.cjs.map +1 -1
  27. package/dist/harmony105.mjs +5 -12
  28. package/dist/harmony105.mjs.map +1 -1
  29. package/dist/harmony106.cjs +40 -5
  30. package/dist/harmony106.cjs.map +1 -1
  31. package/dist/harmony106.mjs +40 -5
  32. package/dist/harmony106.mjs.map +1 -1
  33. package/dist/harmony107.cjs +53 -33
  34. package/dist/harmony107.cjs.map +1 -1
  35. package/dist/harmony107.mjs +54 -34
  36. package/dist/harmony107.mjs.map +1 -1
  37. package/dist/harmony108.cjs +6 -59
  38. package/dist/harmony108.cjs.map +1 -1
  39. package/dist/harmony108.mjs +6 -59
  40. package/dist/harmony108.mjs.map +1 -1
  41. package/dist/harmony109.cjs +21 -7
  42. package/dist/harmony109.cjs.map +1 -1
  43. package/dist/harmony109.mjs +20 -6
  44. package/dist/harmony109.mjs.map +1 -1
  45. package/dist/harmony110.cjs +6 -6
  46. package/dist/harmony110.cjs.map +1 -1
  47. package/dist/harmony110.mjs +5 -5
  48. package/dist/harmony110.mjs.map +1 -1
  49. package/dist/harmony111.cjs +6 -5
  50. package/dist/harmony111.cjs.map +1 -1
  51. package/dist/harmony111.mjs +6 -5
  52. package/dist/harmony112.cjs +5 -5
  53. package/dist/harmony112.mjs +5 -5
  54. package/dist/harmony113.cjs +6 -63
  55. package/dist/harmony113.cjs.map +1 -1
  56. package/dist/harmony113.mjs +5 -62
  57. package/dist/harmony113.mjs.map +1 -1
  58. package/dist/harmony114.cjs +61 -87
  59. package/dist/harmony114.cjs.map +1 -1
  60. package/dist/harmony114.mjs +61 -87
  61. package/dist/harmony114.mjs.map +1 -1
  62. package/dist/harmony115.cjs +88 -18
  63. package/dist/harmony115.cjs.map +1 -1
  64. package/dist/harmony115.mjs +87 -17
  65. package/dist/harmony115.mjs.map +1 -1
  66. package/dist/harmony116.cjs +19 -97
  67. package/dist/harmony116.cjs.map +1 -1
  68. package/dist/harmony116.mjs +18 -96
  69. package/dist/harmony116.mjs.map +1 -1
  70. package/dist/harmony117.cjs +94 -11
  71. package/dist/harmony117.cjs.map +1 -1
  72. package/dist/harmony117.mjs +94 -11
  73. package/dist/harmony117.mjs.map +1 -1
  74. package/dist/harmony118.cjs +12 -13
  75. package/dist/harmony118.cjs.map +1 -1
  76. package/dist/harmony118.mjs +12 -13
  77. package/dist/harmony118.mjs.map +1 -1
  78. package/dist/harmony119.cjs +13 -35
  79. package/dist/harmony119.cjs.map +1 -1
  80. package/dist/harmony119.mjs +13 -35
  81. package/dist/harmony119.mjs.map +1 -1
  82. package/dist/harmony120.cjs +32 -24
  83. package/dist/harmony120.cjs.map +1 -1
  84. package/dist/harmony120.mjs +32 -24
  85. package/dist/harmony120.mjs.map +1 -1
  86. package/dist/harmony121.cjs +27 -12
  87. package/dist/harmony121.cjs.map +1 -1
  88. package/dist/harmony121.mjs +27 -12
  89. package/dist/harmony121.mjs.map +1 -1
  90. package/dist/harmony122.cjs +12 -14
  91. package/dist/harmony122.cjs.map +1 -1
  92. package/dist/harmony122.mjs +12 -14
  93. package/dist/harmony122.mjs.map +1 -1
  94. package/dist/harmony123.cjs +13 -14
  95. package/dist/harmony123.cjs.map +1 -1
  96. package/dist/harmony123.mjs +13 -14
  97. package/dist/harmony123.mjs.map +1 -1
  98. package/dist/harmony124.cjs +16 -7
  99. package/dist/harmony124.cjs.map +1 -1
  100. package/dist/harmony124.mjs +16 -7
  101. package/dist/harmony124.mjs.map +1 -1
  102. package/dist/harmony125.cjs +6 -56
  103. package/dist/harmony125.cjs.map +1 -1
  104. package/dist/harmony125.mjs +6 -56
  105. package/dist/harmony125.mjs.map +1 -1
  106. package/dist/harmony126.cjs +54 -57
  107. package/dist/harmony126.cjs.map +1 -1
  108. package/dist/harmony126.mjs +55 -58
  109. package/dist/harmony126.mjs.map +1 -1
  110. package/dist/harmony127.cjs +60 -18
  111. package/dist/harmony127.cjs.map +1 -1
  112. package/dist/harmony127.mjs +59 -17
  113. package/dist/harmony127.mjs.map +1 -1
  114. package/dist/harmony128.cjs +19 -12
  115. package/dist/harmony128.cjs.map +1 -1
  116. package/dist/harmony128.mjs +18 -11
  117. package/dist/harmony128.mjs.map +1 -1
  118. package/dist/harmony129.cjs +10 -15
  119. package/dist/harmony129.cjs.map +1 -1
  120. package/dist/harmony129.mjs +10 -15
  121. package/dist/harmony129.mjs.map +1 -1
  122. package/dist/harmony130.cjs +13 -18
  123. package/dist/harmony130.cjs.map +1 -1
  124. package/dist/harmony130.mjs +13 -18
  125. package/dist/harmony130.mjs.map +1 -1
  126. package/dist/harmony131.cjs +19 -10
  127. package/dist/harmony131.cjs.map +1 -1
  128. package/dist/harmony131.mjs +19 -10
  129. package/dist/harmony131.mjs.map +1 -1
  130. package/dist/harmony132.cjs +11 -5
  131. package/dist/harmony132.cjs.map +1 -1
  132. package/dist/harmony132.mjs +11 -5
  133. package/dist/harmony132.mjs.map +1 -1
  134. package/dist/harmony133.cjs +5 -11
  135. package/dist/harmony133.cjs.map +1 -1
  136. package/dist/harmony133.mjs +5 -11
  137. package/dist/harmony133.mjs.map +1 -1
  138. package/dist/harmony134.cjs +11 -31
  139. package/dist/harmony134.cjs.map +1 -1
  140. package/dist/harmony134.mjs +11 -31
  141. package/dist/harmony134.mjs.map +1 -1
  142. package/dist/harmony135.cjs +28 -10
  143. package/dist/harmony135.cjs.map +1 -1
  144. package/dist/harmony135.mjs +28 -10
  145. package/dist/harmony135.mjs.map +1 -1
  146. package/dist/harmony136.cjs +14 -46
  147. package/dist/harmony136.cjs.map +1 -1
  148. package/dist/harmony136.mjs +14 -46
  149. package/dist/harmony136.mjs.map +1 -1
  150. package/dist/harmony137.cjs +46 -12
  151. package/dist/harmony137.cjs.map +1 -1
  152. package/dist/harmony137.mjs +45 -11
  153. package/dist/harmony137.mjs.map +1 -1
  154. package/dist/harmony138.cjs +15 -0
  155. package/dist/harmony138.cjs.map +1 -0
  156. package/dist/harmony138.mjs +15 -0
  157. package/dist/harmony138.mjs.map +1 -0
  158. package/dist/harmony16.cjs +1 -1
  159. package/dist/harmony16.mjs +1 -1
  160. package/dist/harmony23.cjs +1 -1
  161. package/dist/harmony23.mjs +1 -1
  162. package/dist/harmony24.cjs +1 -1
  163. package/dist/harmony24.mjs +1 -1
  164. package/dist/harmony26.cjs +1 -1
  165. package/dist/harmony26.mjs +1 -1
  166. package/dist/harmony27.cjs +2 -2
  167. package/dist/harmony27.mjs +2 -2
  168. package/dist/harmony28.cjs +2 -2
  169. package/dist/harmony28.mjs +2 -2
  170. package/dist/harmony29.cjs +2 -2
  171. package/dist/harmony29.mjs +2 -2
  172. package/dist/harmony3.cjs +3 -3
  173. package/dist/harmony3.mjs +3 -3
  174. package/dist/harmony30.cjs +1 -1
  175. package/dist/harmony30.mjs +1 -1
  176. package/dist/harmony31.cjs +2 -2
  177. package/dist/harmony31.mjs +2 -2
  178. package/dist/harmony32.cjs +1 -1
  179. package/dist/harmony32.mjs +1 -1
  180. package/dist/harmony33.cjs +9 -1
  181. package/dist/harmony33.cjs.map +1 -1
  182. package/dist/harmony33.mjs +10 -2
  183. package/dist/harmony33.mjs.map +1 -1
  184. package/dist/harmony34.cjs +1 -1
  185. package/dist/harmony34.mjs +1 -1
  186. package/dist/harmony4.cjs +10 -10
  187. package/dist/harmony4.mjs +10 -10
  188. package/dist/harmony5.cjs +1 -1
  189. package/dist/harmony5.mjs +1 -1
  190. package/dist/harmony50.cjs +14 -12
  191. package/dist/harmony50.cjs.map +1 -1
  192. package/dist/harmony50.mjs +14 -12
  193. package/dist/harmony50.mjs.map +1 -1
  194. package/dist/harmony51.cjs +12 -14
  195. package/dist/harmony51.cjs.map +1 -1
  196. package/dist/harmony51.mjs +12 -14
  197. package/dist/harmony51.mjs.map +1 -1
  198. package/dist/harmony52.cjs +8 -8
  199. package/dist/harmony52.cjs.map +1 -1
  200. package/dist/harmony52.mjs +8 -8
  201. package/dist/harmony52.mjs.map +1 -1
  202. package/dist/harmony53.cjs +10 -7
  203. package/dist/harmony53.cjs.map +1 -1
  204. package/dist/harmony53.mjs +12 -9
  205. package/dist/harmony53.mjs.map +1 -1
  206. package/dist/harmony54.cjs +14 -56
  207. package/dist/harmony54.cjs.map +1 -1
  208. package/dist/harmony54.mjs +14 -56
  209. package/dist/harmony54.mjs.map +1 -1
  210. package/dist/harmony55.cjs +48 -74
  211. package/dist/harmony55.cjs.map +1 -1
  212. package/dist/harmony55.mjs +47 -73
  213. package/dist/harmony55.mjs.map +1 -1
  214. package/dist/harmony56.cjs +80 -4
  215. package/dist/harmony56.cjs.map +1 -1
  216. package/dist/harmony56.mjs +80 -4
  217. package/dist/harmony56.mjs.map +1 -1
  218. package/dist/harmony57.cjs +4 -21
  219. package/dist/harmony57.cjs.map +1 -1
  220. package/dist/harmony57.mjs +4 -21
  221. package/dist/harmony57.mjs.map +1 -1
  222. package/dist/harmony58.cjs +20 -17
  223. package/dist/harmony58.cjs.map +1 -1
  224. package/dist/harmony58.mjs +20 -17
  225. package/dist/harmony58.mjs.map +1 -1
  226. package/dist/harmony59.cjs +14 -137
  227. package/dist/harmony59.cjs.map +1 -1
  228. package/dist/harmony59.mjs +12 -135
  229. package/dist/harmony59.mjs.map +1 -1
  230. package/dist/harmony6.cjs +4 -4
  231. package/dist/harmony6.mjs +4 -4
  232. package/dist/harmony60.cjs +142 -46
  233. package/dist/harmony60.cjs.map +1 -1
  234. package/dist/harmony60.mjs +141 -45
  235. package/dist/harmony60.mjs.map +1 -1
  236. package/dist/harmony61.cjs +46 -25
  237. package/dist/harmony61.cjs.map +1 -1
  238. package/dist/harmony61.mjs +46 -25
  239. package/dist/harmony61.mjs.map +1 -1
  240. package/dist/harmony62.cjs +24 -6
  241. package/dist/harmony62.cjs.map +1 -1
  242. package/dist/harmony62.mjs +24 -6
  243. package/dist/harmony62.mjs.map +1 -1
  244. package/dist/harmony63.cjs +6 -82
  245. package/dist/harmony63.cjs.map +1 -1
  246. package/dist/harmony63.mjs +6 -82
  247. package/dist/harmony63.mjs.map +1 -1
  248. package/dist/harmony64.cjs +80 -20
  249. package/dist/harmony64.cjs.map +1 -1
  250. package/dist/harmony64.mjs +80 -20
  251. package/dist/harmony64.mjs.map +1 -1
  252. package/dist/harmony65.cjs +31 -16
  253. package/dist/harmony65.cjs.map +1 -1
  254. package/dist/harmony65.mjs +31 -16
  255. package/dist/harmony65.mjs.map +1 -1
  256. package/dist/harmony66.cjs +19 -16
  257. package/dist/harmony66.cjs.map +1 -1
  258. package/dist/harmony66.mjs +18 -15
  259. package/dist/harmony66.mjs.map +1 -1
  260. package/dist/harmony67.cjs +15 -18
  261. package/dist/harmony67.cjs.map +1 -1
  262. package/dist/harmony67.mjs +15 -18
  263. package/dist/harmony67.mjs.map +1 -1
  264. package/dist/harmony68.cjs +18 -61
  265. package/dist/harmony68.cjs.map +1 -1
  266. package/dist/harmony68.mjs +18 -61
  267. package/dist/harmony68.mjs.map +1 -1
  268. package/dist/harmony69.cjs +61 -6
  269. package/dist/harmony69.cjs.map +1 -1
  270. package/dist/harmony69.mjs +61 -6
  271. package/dist/harmony69.mjs.map +1 -1
  272. package/dist/harmony7.cjs +1 -1
  273. package/dist/harmony7.mjs +1 -1
  274. package/dist/harmony70.cjs +7 -10
  275. package/dist/harmony70.cjs.map +1 -1
  276. package/dist/harmony70.mjs +6 -9
  277. package/dist/harmony70.mjs.map +1 -1
  278. package/dist/harmony71.cjs +8 -17
  279. package/dist/harmony71.cjs.map +1 -1
  280. package/dist/harmony71.mjs +7 -16
  281. package/dist/harmony71.mjs.map +1 -1
  282. package/dist/harmony72.cjs +13 -18
  283. package/dist/harmony72.cjs.map +1 -1
  284. package/dist/harmony72.mjs +13 -18
  285. package/dist/harmony72.mjs.map +1 -1
  286. package/dist/harmony73.cjs +22 -4
  287. package/dist/harmony73.cjs.map +1 -1
  288. package/dist/harmony73.mjs +22 -4
  289. package/dist/harmony73.mjs.map +1 -1
  290. package/dist/harmony74.cjs +4 -31
  291. package/dist/harmony74.cjs.map +1 -1
  292. package/dist/harmony74.mjs +5 -32
  293. package/dist/harmony74.mjs.map +1 -1
  294. package/dist/harmony75.cjs +26 -26
  295. package/dist/harmony75.cjs.map +1 -1
  296. package/dist/harmony75.mjs +27 -27
  297. package/dist/harmony75.mjs.map +1 -1
  298. package/dist/harmony76.cjs +25 -12
  299. package/dist/harmony76.cjs.map +1 -1
  300. package/dist/harmony76.mjs +25 -12
  301. package/dist/harmony76.mjs.map +1 -1
  302. package/dist/harmony77.cjs +12 -24
  303. package/dist/harmony77.cjs.map +1 -1
  304. package/dist/harmony77.mjs +13 -25
  305. package/dist/harmony77.mjs.map +1 -1
  306. package/dist/harmony78.cjs +27 -55
  307. package/dist/harmony78.cjs.map +1 -1
  308. package/dist/harmony78.mjs +29 -57
  309. package/dist/harmony78.mjs.map +1 -1
  310. package/dist/harmony79.cjs +60 -10
  311. package/dist/harmony79.cjs.map +1 -1
  312. package/dist/harmony79.mjs +59 -9
  313. package/dist/harmony79.mjs.map +1 -1
  314. package/dist/harmony80.cjs +10 -9
  315. package/dist/harmony80.cjs.map +1 -1
  316. package/dist/harmony80.mjs +9 -8
  317. package/dist/harmony80.mjs.map +1 -1
  318. package/dist/harmony81.cjs +5 -26
  319. package/dist/harmony81.cjs.map +1 -1
  320. package/dist/harmony81.mjs +8 -29
  321. package/dist/harmony81.mjs.map +1 -1
  322. package/dist/harmony82.cjs +29 -3
  323. package/dist/harmony82.cjs.map +1 -1
  324. package/dist/harmony82.mjs +29 -3
  325. package/dist/harmony82.mjs.map +1 -1
  326. package/dist/harmony83.cjs +3 -40
  327. package/dist/harmony83.cjs.map +1 -1
  328. package/dist/harmony83.mjs +3 -40
  329. package/dist/harmony83.mjs.map +1 -1
  330. package/dist/harmony84.cjs +40 -6
  331. package/dist/harmony84.cjs.map +1 -1
  332. package/dist/harmony84.mjs +39 -5
  333. package/dist/harmony84.mjs.map +1 -1
  334. package/dist/harmony85.cjs +3 -6
  335. package/dist/harmony85.cjs.map +1 -1
  336. package/dist/harmony85.mjs +3 -6
  337. package/dist/harmony85.mjs.map +1 -1
  338. package/dist/harmony86.cjs +6 -6
  339. package/dist/harmony86.mjs +6 -6
  340. package/dist/harmony87.cjs +9 -57
  341. package/dist/harmony87.cjs.map +1 -1
  342. package/dist/harmony87.mjs +8 -56
  343. package/dist/harmony87.mjs.map +1 -1
  344. package/dist/harmony88.cjs +51 -36
  345. package/dist/harmony88.cjs.map +1 -1
  346. package/dist/harmony88.mjs +52 -37
  347. package/dist/harmony88.mjs.map +1 -1
  348. package/dist/harmony89.cjs +42 -5
  349. package/dist/harmony89.cjs.map +1 -1
  350. package/dist/harmony89.mjs +42 -5
  351. package/dist/harmony89.mjs.map +1 -1
  352. package/dist/harmony90.cjs +6 -10
  353. package/dist/harmony90.cjs.map +1 -1
  354. package/dist/harmony90.mjs +5 -9
  355. package/dist/harmony90.mjs.map +1 -1
  356. package/dist/harmony91.cjs +6 -21
  357. package/dist/harmony91.cjs.map +1 -1
  358. package/dist/harmony91.mjs +6 -21
  359. package/dist/harmony91.mjs.map +1 -1
  360. package/dist/harmony92.cjs +21 -3
  361. package/dist/harmony92.cjs.map +1 -1
  362. package/dist/harmony92.mjs +21 -3
  363. package/dist/harmony92.mjs.map +1 -1
  364. package/dist/harmony93.cjs +6 -21
  365. package/dist/harmony93.cjs.map +1 -1
  366. package/dist/harmony93.mjs +5 -20
  367. package/dist/harmony93.mjs.map +1 -1
  368. package/dist/harmony94.cjs +21 -12
  369. package/dist/harmony94.cjs.map +1 -1
  370. package/dist/harmony94.mjs +20 -11
  371. package/dist/harmony94.mjs.map +1 -1
  372. package/dist/harmony95.cjs +12 -12
  373. package/dist/harmony95.cjs.map +1 -1
  374. package/dist/harmony95.mjs +11 -11
  375. package/dist/harmony95.mjs.map +1 -1
  376. package/dist/harmony96.cjs +12 -12
  377. package/dist/harmony96.cjs.map +1 -1
  378. package/dist/harmony96.mjs +11 -11
  379. package/dist/harmony96.mjs.map +1 -1
  380. package/dist/harmony97.cjs +13 -12
  381. package/dist/harmony97.cjs.map +1 -1
  382. package/dist/harmony97.mjs +12 -11
  383. package/dist/harmony97.mjs.map +1 -1
  384. package/dist/harmony98.cjs +12 -22
  385. package/dist/harmony98.cjs.map +1 -1
  386. package/dist/harmony98.mjs +11 -21
  387. package/dist/harmony98.mjs.map +1 -1
  388. package/dist/harmony99.cjs +21 -99
  389. package/dist/harmony99.cjs.map +1 -1
  390. package/dist/harmony99.mjs +20 -81
  391. package/dist/harmony99.mjs.map +1 -1
  392. package/dist/types/src/features/publicApi/hooks/useListTeamUsersQuery.d.ts +32 -0
  393. package/dist/types/src/features/publicApi/node.d.ts +1 -0
  394. package/dist/types/src/features/publicApi/teamUsers.d.ts +110 -0
  395. package/dist/types/src/features/publicApi/types/projectTypes.d.ts +65 -0
  396. package/dist/types/src/features/publicApi/types/teamUserTypes.d.ts +54 -0
  397. package/package.json +2 -2
@@ -1,9 +1,64 @@
1
- const sidebarContainer = "_sidebarContainer_bmdti_1";
2
- const styles = {
3
- sidebarContainer
4
- };
1
+ import { useRef, useState, useCallback, useEffect } from "react";
2
+ import { useCallbackRef, useRefProxy, getDimensions, patchResizeCallback } from "./harmony100.mjs";
3
+ function useResizeDetector({ skipOnMount = false, refreshMode, refreshRate = 1e3, refreshOptions, handleWidth = true, handleHeight = true, targetRef, observerOptions, onResize } = {}) {
4
+ const skipResize = useRef(skipOnMount);
5
+ const onResizeRef = useCallbackRef(onResize);
6
+ const [size, setSize] = useState({
7
+ width: void 0,
8
+ height: void 0
9
+ });
10
+ const { refProxy, refElement } = useRefProxy(targetRef);
11
+ const { box } = observerOptions || {};
12
+ const resizeCallback = useCallback((entries) => {
13
+ if (!handleWidth && !handleHeight)
14
+ return;
15
+ if (skipResize.current) {
16
+ skipResize.current = false;
17
+ return;
18
+ }
19
+ const shouldSetSize = (prevSize, nextSize) => handleWidth && prevSize.width !== nextSize.width || handleHeight && prevSize.height !== nextSize.height;
20
+ entries.forEach((entry) => {
21
+ const dimensions = getDimensions(entry, box);
22
+ setSize((prevSize) => {
23
+ if (!shouldSetSize(prevSize, dimensions))
24
+ return prevSize;
25
+ onResizeRef === null || onResizeRef === void 0 ? void 0 : onResizeRef({
26
+ width: dimensions.width,
27
+ height: dimensions.height,
28
+ entry
29
+ });
30
+ return dimensions;
31
+ });
32
+ });
33
+ }, [handleWidth, handleHeight, skipResize, box]);
34
+ const resizeHandler = useCallback(patchResizeCallback(resizeCallback, refreshMode, refreshRate, refreshOptions), [
35
+ resizeCallback,
36
+ refreshMode,
37
+ refreshRate,
38
+ refreshOptions
39
+ ]);
40
+ useEffect(() => {
41
+ let resizeObserver;
42
+ if (refElement) {
43
+ resizeObserver = new window.ResizeObserver(resizeHandler);
44
+ resizeObserver.observe(refElement, observerOptions);
45
+ } else if (size.width || size.height) {
46
+ onResizeRef === null || onResizeRef === void 0 ? void 0 : onResizeRef({
47
+ width: null,
48
+ height: null,
49
+ entry: null
50
+ });
51
+ setSize({ width: void 0, height: void 0 });
52
+ }
53
+ return () => {
54
+ var _a, _b, _c;
55
+ (_a = resizeObserver === null || resizeObserver === void 0 ? void 0 : resizeObserver.disconnect) === null || _a === void 0 ? void 0 : _a.call(resizeObserver);
56
+ (_c = (_b = resizeHandler).cancel) === null || _c === void 0 ? void 0 : _c.call(_b);
57
+ };
58
+ }, [resizeHandler, refElement]);
59
+ return Object.assign({ ref: refProxy }, size);
60
+ }
5
61
  export {
6
- styles as default,
7
- sidebarContainer
62
+ useResizeDetector as default
8
63
  };
9
64
  //# sourceMappingURL=harmony69.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"harmony69.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;"}
1
+ {"version":3,"file":"harmony69.mjs","sources":["../node_modules/react-resize-detector/build/useResizeDetector.js"],"sourcesContent":["import { useRef, useState, useCallback, useEffect } from 'react';\nimport { useCallbackRef, useRefProxy, getDimensions, patchResizeCallback } from './utils.js';\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nfunction useResizeDetector({ skipOnMount = false, refreshMode, refreshRate = 1000, refreshOptions, handleWidth = true, handleHeight = true, targetRef, observerOptions, onResize, } = {}) {\n // If `skipOnMount` is enabled, skip the first resize event\n const skipResize = useRef(skipOnMount);\n // Wrap the `onResize` callback with a ref to avoid re-renders\n const onResizeRef = useCallbackRef(onResize);\n const [size, setSize] = useState({\n width: undefined,\n height: undefined,\n });\n // Create a proxy ref to handle conditional rendering and dynamic ref changes of the target element\n const { refProxy, refElement } = useRefProxy(targetRef);\n const { box } = observerOptions || {};\n const resizeCallback = useCallback((entries) => {\n if (!handleWidth && !handleHeight)\n return;\n if (skipResize.current) {\n skipResize.current = false;\n return;\n }\n // Only update the size if one of the observed dimensions has changed\n const shouldSetSize = (prevSize, nextSize) => (handleWidth && prevSize.width !== nextSize.width) || (handleHeight && prevSize.height !== nextSize.height);\n entries.forEach((entry) => {\n const dimensions = getDimensions(entry, box);\n setSize((prevSize) => {\n if (!shouldSetSize(prevSize, dimensions))\n return prevSize;\n onResizeRef === null || onResizeRef === void 0 ? void 0 : onResizeRef({\n width: dimensions.width,\n height: dimensions.height,\n entry,\n });\n return dimensions;\n });\n });\n }, [handleWidth, handleHeight, skipResize, box]);\n // Throttle/Debounce the resize event if refreshMode is configured\n const resizeHandler = useCallback(patchResizeCallback(resizeCallback, refreshMode, refreshRate, refreshOptions), [\n resizeCallback,\n refreshMode,\n refreshRate,\n refreshOptions,\n ]);\n // Attach ResizeObserver to the element\n useEffect(() => {\n let resizeObserver;\n if (refElement) {\n resizeObserver = new window.ResizeObserver(resizeHandler);\n resizeObserver.observe(refElement, observerOptions);\n }\n // If refElement is not available, reset the size\n else if (size.width || size.height) {\n onResizeRef === null || onResizeRef === void 0 ? void 0 : onResizeRef({\n width: null,\n height: null,\n entry: null,\n });\n setSize({ width: undefined, height: undefined });\n }\n // Disconnect the ResizeObserver when the component is unmounted\n return () => {\n var _a, _b, _c;\n (_a = resizeObserver === null || resizeObserver === void 0 ? void 0 : resizeObserver.disconnect) === null || _a === void 0 ? void 0 : _a.call(resizeObserver);\n (_c = (_b = resizeHandler).cancel) === null || _c === void 0 ? void 0 : _c.call(_b);\n };\n }, [resizeHandler, refElement]);\n return Object.assign({ ref: refProxy }, size);\n}\n\nexport { useResizeDetector as default };\n//# sourceMappingURL=useResizeDetector.js.map\n"],"names":[],"mappings":";;AAIA,SAAS,kBAAkB,EAAE,cAAc,OAAO,aAAa,cAAc,KAAM,gBAAgB,cAAc,MAAM,eAAe,MAAM,WAAW,iBAAiB,SAAW,IAAG,IAAI;AAEtL,QAAM,aAAa,OAAO,WAAW;AAErC,QAAM,cAAc,eAAe,QAAQ;AAC3C,QAAM,CAAC,MAAM,OAAO,IAAI,SAAS;AAAA,IAC7B,OAAO;AAAA,IACP,QAAQ;AAAA,EAChB,CAAK;AAED,QAAM,EAAE,UAAU,eAAe,YAAY,SAAS;AACtD,QAAM,EAAE,QAAQ,mBAAmB,CAAE;AACrC,QAAM,iBAAiB,YAAY,CAAC,YAAY;AAC5C,QAAI,CAAC,eAAe,CAAC;AACjB;AACJ,QAAI,WAAW,SAAS;AACpB,iBAAW,UAAU;AACrB;AAAA,IACZ;AAEQ,UAAM,gBAAgB,CAAC,UAAU,aAAc,eAAe,SAAS,UAAU,SAAS,SAAW,gBAAgB,SAAS,WAAW,SAAS;AAClJ,YAAQ,QAAQ,CAAC,UAAU;AACvB,YAAM,aAAa,cAAc,OAAO,GAAG;AAC3C,cAAQ,CAAC,aAAa;AAClB,YAAI,CAAC,cAAc,UAAU,UAAU;AACnC,iBAAO;AACX,wBAAgB,QAAQ,gBAAgB,SAAS,SAAS,YAAY;AAAA,UAClE,OAAO,WAAW;AAAA,UAClB,QAAQ,WAAW;AAAA,UACnB;AAAA,QACpB,CAAiB;AACD,eAAO;AAAA,MACvB,CAAa;AAAA,IACb,CAAS;AAAA,EACJ,GAAE,CAAC,aAAa,cAAc,YAAY,GAAG,CAAC;AAE/C,QAAM,gBAAgB,YAAY,oBAAoB,gBAAgB,aAAa,aAAa,cAAc,GAAG;AAAA,IAC7G;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACR,CAAK;AAED,YAAU,MAAM;AACZ,QAAI;AACJ,QAAI,YAAY;AACZ,uBAAiB,IAAI,OAAO,eAAe,aAAa;AACxD,qBAAe,QAAQ,YAAY,eAAe;AAAA,IAC9D,WAEiB,KAAK,SAAS,KAAK,QAAQ;AAChC,sBAAgB,QAAQ,gBAAgB,SAAS,SAAS,YAAY;AAAA,QAClE,OAAO;AAAA,QACP,QAAQ;AAAA,QACR,OAAO;AAAA,MACvB,CAAa;AACD,cAAQ,EAAE,OAAO,QAAW,QAAQ,OAAS,CAAE;AAAA,IAC3D;AAEQ,WAAO,MAAM;AACT,UAAI,IAAI,IAAI;AACZ,OAAC,KAAK,mBAAmB,QAAQ,mBAAmB,SAAS,SAAS,eAAe,gBAAgB,QAAQ,OAAO,SAAS,SAAS,GAAG,KAAK,cAAc;AAC5J,OAAC,MAAM,KAAK,eAAe,YAAY,QAAQ,OAAO,SAAS,SAAS,GAAG,KAAK,EAAE;AAAA,IACrF;AAAA,EACT,GAAO,CAAC,eAAe,UAAU,CAAC;AAC9B,SAAO,OAAO,OAAO,EAAE,KAAK,SAAQ,GAAI,IAAI;AAChD;","x_google_ignoreList":[0]}
package/dist/harmony7.cjs CHANGED
@@ -3,7 +3,7 @@ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
3
  const jsxRuntime = require("react/jsx-runtime");
4
4
  const louis = require("@lokalise/louis");
5
5
  const reactTable = require("@tanstack/react-table");
6
- const TableHeaderCell = require("./harmony83.cjs");
6
+ const TableHeaderCell = require("./harmony84.cjs");
7
7
  const Table = ({ headers, rows, tbodyRef }) => {
8
8
  return /* @__PURE__ */ jsxRuntime.jsxs(louis.Table, { children: [
9
9
  /* @__PURE__ */ jsxRuntime.jsx(louis.TableHeader, { children: headers.map((headerGroup) => /* @__PURE__ */ jsxRuntime.jsx(louis.TableRow, { children: headerGroup.headers.map((header) => /* @__PURE__ */ jsxRuntime.jsx(TableHeaderCell.TableHeaderCell, { header }, header.id)) }, headerGroup.id)) }),
package/dist/harmony7.mjs CHANGED
@@ -1,7 +1,7 @@
1
1
  import { jsxs, jsx } from "react/jsx-runtime";
2
2
  import { Table as Table$1, TableHeader, TableRow, TableBody, TableCell } from "@lokalise/louis";
3
3
  import { flexRender } from "@tanstack/react-table";
4
- import { TableHeaderCell } from "./harmony83.mjs";
4
+ import { TableHeaderCell } from "./harmony84.mjs";
5
5
  const Table = ({ headers, rows, tbodyRef }) => {
6
6
  return /* @__PURE__ */ jsxs(Table$1, { children: [
7
7
  /* @__PURE__ */ jsx(TableHeader, { children: headers.map((headerGroup) => /* @__PURE__ */ jsx(TableRow, { children: headerGroup.headers.map((header) => /* @__PURE__ */ jsx(TableHeaderCell, { header }, header.id)) }, headerGroup.id)) }),
@@ -1,12 +1,9 @@
1
1
  "use strict";
2
- Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const jsxRuntime = require("react/jsx-runtime");
4
- const Avatar_module = require("./harmony84.cjs");
5
- const Avatar = ({
6
- src,
7
- href = "/",
8
- ariaLabel = "Lokalise App Home",
9
- alt = "Lokalise Logo"
10
- }) => /* @__PURE__ */ jsxRuntime.jsx("a", { className: Avatar_module.default.logoLink, href, "aria-label": ariaLabel, children: /* @__PURE__ */ jsxRuntime.jsx("img", { src, alt }) });
11
- exports.Avatar = Avatar;
2
+ Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
3
+ const sidebarContainer = "_sidebarContainer_bmdti_1";
4
+ const styles = {
5
+ sidebarContainer
6
+ };
7
+ exports.default = styles;
8
+ exports.sidebarContainer = sidebarContainer;
12
9
  //# sourceMappingURL=harmony70.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"harmony70.cjs","sources":["../src/components/Sidebar/Widgets/Avatar/Avatar.tsx"],"sourcesContent":["import styles from './Avatar.module.css'\n\ntype AvatarProps = {\n\t/** URL of the avatar/logo image */\n\tsrc: string\n\t/** Link destination when avatar is clicked. Defaults to '/' */\n\thref?: string\n\t/** Accessibility label for the avatar link. Defaults to 'Home' */\n\tariaLabel?: string\n\t/** Alt text for the avatar image. Defaults to 'Lokalise' */\n\talt?: string\n}\n\n/**\n * Display company main avatar / logo in the top section of the Sidebar.\n * Used as the main branding element and home navigation link.\n */\nexport const Avatar = ({\n\tsrc,\n\thref = '/',\n\tariaLabel = 'Lokalise App Home',\n\talt = 'Lokalise Logo',\n}: AvatarProps) => (\n\t<a className={styles.logoLink} href={href} aria-label={ariaLabel}>\n\t\t<img src={src} alt={alt} />\n\t</a>\n)\n"],"names":["jsx","styles"],"mappings":";;;;AAiBO,MAAM,SAAS,CAAC;AAAA,EACtB;AAAA,EACA,OAAO;AAAA,EACP,YAAY;AAAA,EACZ,MAAM;AACP,MACEA,2BAAAA,IAAA,KAAA,EAAE,WAAWC,cAAA,QAAO,UAAU,MAAY,cAAY,WACtD,UAACD,2BAAAA,IAAA,OAAA,EAAI,KAAU,IAAA,CAAU,EAC1B,CAAA;;"}
1
+ {"version":3,"file":"harmony70.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;"}
@@ -1,12 +1,9 @@
1
- import { jsx } from "react/jsx-runtime";
2
- import styles from "./harmony84.mjs";
3
- const Avatar = ({
4
- src,
5
- href = "/",
6
- ariaLabel = "Lokalise App Home",
7
- alt = "Lokalise Logo"
8
- }) => /* @__PURE__ */ jsx("a", { className: styles.logoLink, href, "aria-label": ariaLabel, children: /* @__PURE__ */ jsx("img", { src, alt }) });
1
+ const sidebarContainer = "_sidebarContainer_bmdti_1";
2
+ const styles = {
3
+ sidebarContainer
4
+ };
9
5
  export {
10
- Avatar
6
+ styles as default,
7
+ sidebarContainer
11
8
  };
12
9
  //# sourceMappingURL=harmony70.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"harmony70.mjs","sources":["../src/components/Sidebar/Widgets/Avatar/Avatar.tsx"],"sourcesContent":["import styles from './Avatar.module.css'\n\ntype AvatarProps = {\n\t/** URL of the avatar/logo image */\n\tsrc: string\n\t/** Link destination when avatar is clicked. Defaults to '/' */\n\thref?: string\n\t/** Accessibility label for the avatar link. Defaults to 'Home' */\n\tariaLabel?: string\n\t/** Alt text for the avatar image. Defaults to 'Lokalise' */\n\talt?: string\n}\n\n/**\n * Display company main avatar / logo in the top section of the Sidebar.\n * Used as the main branding element and home navigation link.\n */\nexport const Avatar = ({\n\tsrc,\n\thref = '/',\n\tariaLabel = 'Lokalise App Home',\n\talt = 'Lokalise Logo',\n}: AvatarProps) => (\n\t<a className={styles.logoLink} href={href} aria-label={ariaLabel}>\n\t\t<img src={src} alt={alt} />\n\t</a>\n)\n"],"names":[],"mappings":";;AAiBO,MAAM,SAAS,CAAC;AAAA,EACtB;AAAA,EACA,OAAO;AAAA,EACP,YAAY;AAAA,EACZ,MAAM;AACP,MACE,oBAAA,KAAA,EAAE,WAAW,OAAO,UAAU,MAAY,cAAY,WACtD,UAAC,oBAAA,OAAA,EAAI,KAAU,IAAA,CAAU,EAC1B,CAAA;"}
1
+ {"version":3,"file":"harmony70.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;"}
@@ -1,21 +1,12 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
3
  const jsxRuntime = require("react/jsx-runtime");
4
- const louis = require("@lokalise/louis");
5
- const clsx = require("./harmony66.cjs");
6
- const IconLink_module = require("./harmony85.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,
10
- {
11
- "aria-label": label,
12
- className: clsx.clsx(IconLink_module.default.link, {
13
- [IconLink_module.default.active]: window.location.pathname.startsWith(to)
14
- }),
15
- href: to,
16
- children: /* @__PURE__ */ jsxRuntime.jsx(Icon, { size: "25px" })
17
- }
18
- ) });
19
- };
20
- exports.IconLink = IconLink;
4
+ const Avatar_module = require("./harmony85.cjs");
5
+ const Avatar = ({
6
+ src,
7
+ href = "/",
8
+ ariaLabel = "Lokalise App Home",
9
+ alt = "Lokalise Logo"
10
+ }) => /* @__PURE__ */ jsxRuntime.jsx("a", { className: Avatar_module.default.logoLink, href, "aria-label": ariaLabel, children: /* @__PURE__ */ jsxRuntime.jsx("img", { src, alt }) });
11
+ exports.Avatar = Avatar;
21
12
  //# sourceMappingURL=harmony71.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"harmony71.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]: 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,gBAAAA,QAAO,MAAM,GAAG,OAAO,SAAS,SAAS,WAAW,EAAE;AAAA,MAAA,CACvD;AAAA,MACD,MAAM;AAAA,MAEN,UAAAJ,2BAAAA,IAAC,MAAK,EAAA,MAAK,OAAO,CAAA;AAAA,IAAA;AAAA,EAAA,GAEpB;AAEF;;"}
1
+ {"version":3,"file":"harmony71.cjs","sources":["../src/components/Sidebar/Widgets/Avatar/Avatar.tsx"],"sourcesContent":["import styles from './Avatar.module.css'\n\ntype AvatarProps = {\n\t/** URL of the avatar/logo image */\n\tsrc: string\n\t/** Link destination when avatar is clicked. Defaults to '/' */\n\thref?: string\n\t/** Accessibility label for the avatar link. Defaults to 'Home' */\n\tariaLabel?: string\n\t/** Alt text for the avatar image. Defaults to 'Lokalise' */\n\talt?: string\n}\n\n/**\n * Display company main avatar / logo in the top section of the Sidebar.\n * Used as the main branding element and home navigation link.\n */\nexport const Avatar = ({\n\tsrc,\n\thref = '/',\n\tariaLabel = 'Lokalise App Home',\n\talt = 'Lokalise Logo',\n}: AvatarProps) => (\n\t<a className={styles.logoLink} href={href} aria-label={ariaLabel}>\n\t\t<img src={src} alt={alt} />\n\t</a>\n)\n"],"names":["jsx","styles"],"mappings":";;;;AAiBO,MAAM,SAAS,CAAC;AAAA,EACtB;AAAA,EACA,OAAO;AAAA,EACP,YAAY;AAAA,EACZ,MAAM;AACP,MACEA,2BAAAA,IAAA,KAAA,EAAE,WAAWC,cAAA,QAAO,UAAU,MAAY,cAAY,WACtD,UAACD,2BAAAA,IAAA,OAAA,EAAI,KAAU,IAAA,CAAU,EAC1B,CAAA;;"}
@@ -1,21 +1,12 @@
1
1
  import { jsx } from "react/jsx-runtime";
2
- import { Tooltip, Link } from "@lokalise/louis";
3
- import { clsx } from "./harmony66.mjs";
4
2
  import styles from "./harmony85.mjs";
5
- const IconLink = ({ label, to, icon: Icon }) => {
6
- return /* @__PURE__ */ jsx(Tooltip, { placement: "right", tooltip: label, children: /* @__PURE__ */ jsx(
7
- Link,
8
- {
9
- "aria-label": label,
10
- className: clsx(styles.link, {
11
- [styles.active]: window.location.pathname.startsWith(to)
12
- }),
13
- href: to,
14
- children: /* @__PURE__ */ jsx(Icon, { size: "25px" })
15
- }
16
- ) });
17
- };
3
+ const Avatar = ({
4
+ src,
5
+ href = "/",
6
+ ariaLabel = "Lokalise App Home",
7
+ alt = "Lokalise Logo"
8
+ }) => /* @__PURE__ */ jsx("a", { className: styles.logoLink, href, "aria-label": ariaLabel, children: /* @__PURE__ */ jsx("img", { src, alt }) });
18
9
  export {
19
- IconLink
10
+ Avatar
20
11
  };
21
12
  //# sourceMappingURL=harmony71.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"harmony71.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]: 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,SAAS,SAAS,WAAW,EAAE;AAAA,MAAA,CACvD;AAAA,MACD,MAAM;AAAA,MAEN,UAAA,oBAAC,MAAK,EAAA,MAAK,OAAO,CAAA;AAAA,IAAA;AAAA,EAAA,GAEpB;AAEF;"}
1
+ {"version":3,"file":"harmony71.mjs","sources":["../src/components/Sidebar/Widgets/Avatar/Avatar.tsx"],"sourcesContent":["import styles from './Avatar.module.css'\n\ntype AvatarProps = {\n\t/** URL of the avatar/logo image */\n\tsrc: string\n\t/** Link destination when avatar is clicked. Defaults to '/' */\n\thref?: string\n\t/** Accessibility label for the avatar link. Defaults to 'Home' */\n\tariaLabel?: string\n\t/** Alt text for the avatar image. Defaults to 'Lokalise' */\n\talt?: string\n}\n\n/**\n * Display company main avatar / logo in the top section of the Sidebar.\n * Used as the main branding element and home navigation link.\n */\nexport const Avatar = ({\n\tsrc,\n\thref = '/',\n\tariaLabel = 'Lokalise App Home',\n\talt = 'Lokalise Logo',\n}: AvatarProps) => (\n\t<a className={styles.logoLink} href={href} aria-label={ariaLabel}>\n\t\t<img src={src} alt={alt} />\n\t</a>\n)\n"],"names":[],"mappings":";;AAiBO,MAAM,SAAS,CAAC;AAAA,EACtB;AAAA,EACA,OAAO;AAAA,EACP,YAAY;AAAA,EACZ,MAAM;AACP,MACE,oBAAA,KAAA,EAAE,WAAW,OAAO,UAAU,MAAY,cAAY,WACtD,UAAC,oBAAA,OAAA,EAAI,KAAU,IAAA,CAAU,EAC1B,CAAA;"}
@@ -2,25 +2,20 @@
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 clsx = require("./harmony66.cjs");
6
- const Menu_module = require("./harmony86.cjs");
7
- const Menu = ({ children, icon: Icon }) => {
8
- return /* @__PURE__ */ jsxRuntime.jsx(
9
- louis.Menu,
5
+ const clsx = require("./harmony67.cjs");
6
+ const IconLink_module = require("./harmony86.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,
10
10
  {
11
- menuButton: ({ opened }) => /* @__PURE__ */ jsxRuntime.jsx(louis.Tooltip, { placement: "right", tooltip: "Help", children: /* @__PURE__ */ jsxRuntime.jsx(
12
- "button",
13
- {
14
- type: "button",
15
- className: clsx.clsx(Menu_module.default.dropdownButton, {
16
- [Menu_module.default.dropdownButtonActive]: opened
17
- }),
18
- children: /* @__PURE__ */ jsxRuntime.jsx(Icon, { size: "25px" })
19
- }
20
- ) }),
21
- children: /* @__PURE__ */ jsxRuntime.jsx(louis.MenuList, { placement: "right-start", children })
11
+ "aria-label": label,
12
+ className: clsx.clsx(IconLink_module.default.link, {
13
+ [IconLink_module.default.active]: window.location.pathname.startsWith(to)
14
+ }),
15
+ href: to,
16
+ children: /* @__PURE__ */ jsxRuntime.jsx(Icon, { size: "25px" })
22
17
  }
23
- );
18
+ ) });
24
19
  };
25
- exports.Menu = Menu;
20
+ exports.IconLink = IconLink;
26
21
  //# sourceMappingURL=harmony72.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"harmony72.cjs","sources":["../src/components/Sidebar/Widgets/Menu/Menu.tsx"],"sourcesContent":["import { MenuList, type SvgIconProps, Tooltip, Menu as UIMenu } from '@lokalise/louis'\nimport clsx from 'clsx'\nimport type { FC, PropsWithChildren } from 'react'\nimport styles from './Menu.module.css'\n\ntype MenuProps = PropsWithChildren<{\n\t/** Icon component from @lokalise/louis to display in the menu button */\n\ticon: FC<SvgIconProps>\n}>\n\n/**\n * A dropdown menu component that displays an icon button which reveals a menu list when clicked.\n * The menu is positioned to the right of the button and includes a tooltip.\n *\n * Used primarily for dropdown menus in the Sidebar, such as the Help menu.\n *\n * @example\n * ```tsx\n * <Menu icon={HelpCenterIcon}>\n * <MenuItem href=\"/docs\">Documentation</MenuItem>\n * <MenuItem href=\"/tutorial\">Tutorials</MenuItem>\n * <MenuDivider />\n * <MenuItem href=\"/blog\">Blog</MenuItem>\n * </Menu>\n * ```\n */\nexport const Menu = ({ children, icon: Icon }: MenuProps) => {\n\treturn (\n\t\t<UIMenu\n\t\t\tmenuButton={({ opened }) => (\n\t\t\t\t<Tooltip placement=\"right\" tooltip=\"Help\">\n\t\t\t\t\t<button\n\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\tclassName={clsx(styles.dropdownButton, {\n\t\t\t\t\t\t\t[styles.dropdownButtonActive]: opened,\n\t\t\t\t\t\t})}\n\t\t\t\t\t>\n\t\t\t\t\t\t<Icon size=\"25px\" />\n\t\t\t\t\t</button>\n\t\t\t\t</Tooltip>\n\t\t\t)}\n\t\t>\n\t\t\t<MenuList placement=\"right-start\">{children}</MenuList>\n\t\t</UIMenu>\n\t)\n}\n"],"names":["jsx","UIMenu","Tooltip","clsx","styles","MenuList"],"mappings":";;;;;;AA0BO,MAAM,OAAO,CAAC,EAAE,UAAU,MAAM,WAAsB;AAE3D,SAAAA,2BAAA;AAAA,IAACC,MAAA;AAAA,IAAA;AAAA,MACA,YAAY,CAAC,EAAE,OAAO,qCACpBC,MAAQ,SAAA,EAAA,WAAU,SAAQ,SAAQ,QAClC,UAAAF,2BAAA;AAAA,QAAC;AAAA,QAAA;AAAA,UACA,MAAK;AAAA,UACL,WAAWG,KAAAA,KAAKC,YAAA,QAAO,gBAAgB;AAAA,YACtC,CAACA,YAAAA,QAAO,oBAAoB,GAAG;AAAA,UAAA,CAC/B;AAAA,UAED,UAAAJ,2BAAAA,IAAC,MAAK,EAAA,MAAK,OAAO,CAAA;AAAA,QAAA;AAAA,MAAA,GAEpB;AAAA,MAGD,UAACA,2BAAA,IAAAK,MAAA,UAAA,EAAS,WAAU,eAAe,SAAS,CAAA;AAAA,IAAA;AAAA,EAC7C;AAEF;;"}
1
+ {"version":3,"file":"harmony72.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]: 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,gBAAAA,QAAO,MAAM,GAAG,OAAO,SAAS,SAAS,WAAW,EAAE;AAAA,MAAA,CACvD;AAAA,MACD,MAAM;AAAA,MAEN,UAAAJ,2BAAAA,IAAC,MAAK,EAAA,MAAK,OAAO,CAAA;AAAA,IAAA;AAAA,EAAA,GAEpB;AAEF;;"}
@@ -1,26 +1,21 @@
1
1
  import { jsx } from "react/jsx-runtime";
2
- import { Menu as Menu$1, MenuList, Tooltip } from "@lokalise/louis";
3
- import { clsx } from "./harmony66.mjs";
2
+ import { Tooltip, Link } from "@lokalise/louis";
3
+ import { clsx } from "./harmony67.mjs";
4
4
  import styles from "./harmony86.mjs";
5
- const Menu = ({ children, icon: Icon }) => {
6
- return /* @__PURE__ */ jsx(
7
- Menu$1,
5
+ const IconLink = ({ label, to, icon: Icon }) => {
6
+ return /* @__PURE__ */ jsx(Tooltip, { placement: "right", tooltip: label, children: /* @__PURE__ */ jsx(
7
+ Link,
8
8
  {
9
- menuButton: ({ opened }) => /* @__PURE__ */ jsx(Tooltip, { placement: "right", tooltip: "Help", children: /* @__PURE__ */ jsx(
10
- "button",
11
- {
12
- type: "button",
13
- className: clsx(styles.dropdownButton, {
14
- [styles.dropdownButtonActive]: opened
15
- }),
16
- children: /* @__PURE__ */ jsx(Icon, { size: "25px" })
17
- }
18
- ) }),
19
- children: /* @__PURE__ */ jsx(MenuList, { placement: "right-start", children })
9
+ "aria-label": label,
10
+ className: clsx(styles.link, {
11
+ [styles.active]: window.location.pathname.startsWith(to)
12
+ }),
13
+ href: to,
14
+ children: /* @__PURE__ */ jsx(Icon, { size: "25px" })
20
15
  }
21
- );
16
+ ) });
22
17
  };
23
18
  export {
24
- Menu
19
+ IconLink
25
20
  };
26
21
  //# sourceMappingURL=harmony72.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"harmony72.mjs","sources":["../src/components/Sidebar/Widgets/Menu/Menu.tsx"],"sourcesContent":["import { MenuList, type SvgIconProps, Tooltip, Menu as UIMenu } from '@lokalise/louis'\nimport clsx from 'clsx'\nimport type { FC, PropsWithChildren } from 'react'\nimport styles from './Menu.module.css'\n\ntype MenuProps = PropsWithChildren<{\n\t/** Icon component from @lokalise/louis to display in the menu button */\n\ticon: FC<SvgIconProps>\n}>\n\n/**\n * A dropdown menu component that displays an icon button which reveals a menu list when clicked.\n * The menu is positioned to the right of the button and includes a tooltip.\n *\n * Used primarily for dropdown menus in the Sidebar, such as the Help menu.\n *\n * @example\n * ```tsx\n * <Menu icon={HelpCenterIcon}>\n * <MenuItem href=\"/docs\">Documentation</MenuItem>\n * <MenuItem href=\"/tutorial\">Tutorials</MenuItem>\n * <MenuDivider />\n * <MenuItem href=\"/blog\">Blog</MenuItem>\n * </Menu>\n * ```\n */\nexport const Menu = ({ children, icon: Icon }: MenuProps) => {\n\treturn (\n\t\t<UIMenu\n\t\t\tmenuButton={({ opened }) => (\n\t\t\t\t<Tooltip placement=\"right\" tooltip=\"Help\">\n\t\t\t\t\t<button\n\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\tclassName={clsx(styles.dropdownButton, {\n\t\t\t\t\t\t\t[styles.dropdownButtonActive]: opened,\n\t\t\t\t\t\t})}\n\t\t\t\t\t>\n\t\t\t\t\t\t<Icon size=\"25px\" />\n\t\t\t\t\t</button>\n\t\t\t\t</Tooltip>\n\t\t\t)}\n\t\t>\n\t\t\t<MenuList placement=\"right-start\">{children}</MenuList>\n\t\t</UIMenu>\n\t)\n}\n"],"names":["UIMenu"],"mappings":";;;;AA0BO,MAAM,OAAO,CAAC,EAAE,UAAU,MAAM,WAAsB;AAE3D,SAAA;AAAA,IAACA;AAAAA,IAAA;AAAA,MACA,YAAY,CAAC,EAAE,OAAO,0BACpB,SAAQ,EAAA,WAAU,SAAQ,SAAQ,QAClC,UAAA;AAAA,QAAC;AAAA,QAAA;AAAA,UACA,MAAK;AAAA,UACL,WAAW,KAAK,OAAO,gBAAgB;AAAA,YACtC,CAAC,OAAO,oBAAoB,GAAG;AAAA,UAAA,CAC/B;AAAA,UAED,UAAA,oBAAC,MAAK,EAAA,MAAK,OAAO,CAAA;AAAA,QAAA;AAAA,MAAA,GAEpB;AAAA,MAGD,UAAC,oBAAA,UAAA,EAAS,WAAU,eAAe,SAAS,CAAA;AAAA,IAAA;AAAA,EAC7C;AAEF;"}
1
+ {"version":3,"file":"harmony72.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]: 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,SAAS,SAAS,WAAW,EAAE;AAAA,MAAA,CACvD;AAAA,MACD,MAAM;AAAA,MAEN,UAAA,oBAAC,MAAK,EAAA,MAAK,OAAO,CAAA;AAAA,IAAA;AAAA,EAAA,GAEpB;AAEF;"}
@@ -1,8 +1,26 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
3
  const jsxRuntime = require("react/jsx-runtime");
4
- const ProfileMenuContent = require("./harmony87.cjs");
5
- const ProfileMenuProvider = require("./harmony88.cjs");
6
- const ProfileMenu = ({ config, children }) => /* @__PURE__ */ jsxRuntime.jsx(ProfileMenuProvider.ProfileMenuProvider, { config, children: /* @__PURE__ */ jsxRuntime.jsx(ProfileMenuContent.ProfileMenuContent, { children }) });
7
- exports.ProfileMenu = ProfileMenu;
4
+ const louis = require("@lokalise/louis");
5
+ const clsx = require("./harmony67.cjs");
6
+ const Menu_module = require("./harmony87.cjs");
7
+ const Menu = ({ children, icon: Icon }) => {
8
+ return /* @__PURE__ */ jsxRuntime.jsx(
9
+ louis.Menu,
10
+ {
11
+ menuButton: ({ opened }) => /* @__PURE__ */ jsxRuntime.jsx(louis.Tooltip, { placement: "right", tooltip: "Help", children: /* @__PURE__ */ jsxRuntime.jsx(
12
+ "button",
13
+ {
14
+ type: "button",
15
+ className: clsx.clsx(Menu_module.default.dropdownButton, {
16
+ [Menu_module.default.dropdownButtonActive]: opened
17
+ }),
18
+ children: /* @__PURE__ */ jsxRuntime.jsx(Icon, { size: "25px" })
19
+ }
20
+ ) }),
21
+ children: /* @__PURE__ */ jsxRuntime.jsx(louis.MenuList, { placement: "right-start", children })
22
+ }
23
+ );
24
+ };
25
+ exports.Menu = Menu;
8
26
  //# sourceMappingURL=harmony73.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"harmony73.cjs","sources":["../src/components/Sidebar/Widgets/ProfileMenu/ProfileMenu.tsx"],"sourcesContent":["import { ProfileMenuContent, type ProfileMenuContentProps } from './ProfileMenuContent'\nimport { ProfileMenuProvider } from './ProfileMenuProvider'\nimport type { SidebarProfileMenuConfig } from './types'\n\ntype ProfileMenuProps = {\n\t/** Configuration object containing team and user settings */\n\tconfig: SidebarProfileMenuConfig\n\t/** Render function for the menu content */\n\tchildren: ProfileMenuContentProps['children']\n}\n\n/**\n * A contextual menu component that provides team management functionality.\n * It manages team switching, profile settings, billing options, and upgrade prompts.\n *\n * The component uses a render prop pattern to provide context values to its children,\n * allowing flexible composition of menu items based on user permissions and team status.\n *\n * @example\n * ```tsx\n * <ProfileMenu config={profileMenuConfig}>\n * {({ allowTeamCreation, showBillingButton }) => (\n * <>\n * <TeamSwitch onSwitchTeam={handleTeamSwitch} />\n * {allowTeamCreation && <MenuItem>Create new team</MenuItem>}\n * {showBillingButton && <MenuItem href=\"/billing\">Billing</MenuItem>}\n * </>\n * )}\n * </ProfileMenu>\n * ```\n */\nexport const ProfileMenu = ({ config, children }: ProfileMenuProps) => (\n\t<ProfileMenuProvider config={config}>\n\t\t<ProfileMenuContent>{children}</ProfileMenuContent>\n\t</ProfileMenuProvider>\n)\n"],"names":["jsx","ProfileMenuProvider","ProfileMenuContent"],"mappings":";;;;;AA+BO,MAAM,cAAc,CAAC,EAAE,QAAQ,SAAS,MAC7CA,2BAAA,IAAAC,oBAAA,qBAAA,EAAoB,QACpB,UAAAD,2BAAA,IAACE,mBAAoB,oBAAA,EAAA,SAAS,CAAA,EAC/B,CAAA;;"}
1
+ {"version":3,"file":"harmony73.cjs","sources":["../src/components/Sidebar/Widgets/Menu/Menu.tsx"],"sourcesContent":["import { MenuList, type SvgIconProps, Tooltip, Menu as UIMenu } from '@lokalise/louis'\nimport clsx from 'clsx'\nimport type { FC, PropsWithChildren } from 'react'\nimport styles from './Menu.module.css'\n\ntype MenuProps = PropsWithChildren<{\n\t/** Icon component from @lokalise/louis to display in the menu button */\n\ticon: FC<SvgIconProps>\n}>\n\n/**\n * A dropdown menu component that displays an icon button which reveals a menu list when clicked.\n * The menu is positioned to the right of the button and includes a tooltip.\n *\n * Used primarily for dropdown menus in the Sidebar, such as the Help menu.\n *\n * @example\n * ```tsx\n * <Menu icon={HelpCenterIcon}>\n * <MenuItem href=\"/docs\">Documentation</MenuItem>\n * <MenuItem href=\"/tutorial\">Tutorials</MenuItem>\n * <MenuDivider />\n * <MenuItem href=\"/blog\">Blog</MenuItem>\n * </Menu>\n * ```\n */\nexport const Menu = ({ children, icon: Icon }: MenuProps) => {\n\treturn (\n\t\t<UIMenu\n\t\t\tmenuButton={({ opened }) => (\n\t\t\t\t<Tooltip placement=\"right\" tooltip=\"Help\">\n\t\t\t\t\t<button\n\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\tclassName={clsx(styles.dropdownButton, {\n\t\t\t\t\t\t\t[styles.dropdownButtonActive]: opened,\n\t\t\t\t\t\t})}\n\t\t\t\t\t>\n\t\t\t\t\t\t<Icon size=\"25px\" />\n\t\t\t\t\t</button>\n\t\t\t\t</Tooltip>\n\t\t\t)}\n\t\t>\n\t\t\t<MenuList placement=\"right-start\">{children}</MenuList>\n\t\t</UIMenu>\n\t)\n}\n"],"names":["jsx","UIMenu","Tooltip","clsx","styles","MenuList"],"mappings":";;;;;;AA0BO,MAAM,OAAO,CAAC,EAAE,UAAU,MAAM,WAAsB;AAE3D,SAAAA,2BAAA;AAAA,IAACC,MAAA;AAAA,IAAA;AAAA,MACA,YAAY,CAAC,EAAE,OAAO,qCACpBC,MAAQ,SAAA,EAAA,WAAU,SAAQ,SAAQ,QAClC,UAAAF,2BAAA;AAAA,QAAC;AAAA,QAAA;AAAA,UACA,MAAK;AAAA,UACL,WAAWG,KAAAA,KAAKC,YAAA,QAAO,gBAAgB;AAAA,YACtC,CAACA,YAAAA,QAAO,oBAAoB,GAAG;AAAA,UAAA,CAC/B;AAAA,UAED,UAAAJ,2BAAAA,IAAC,MAAK,EAAA,MAAK,OAAO,CAAA;AAAA,QAAA;AAAA,MAAA,GAEpB;AAAA,MAGD,UAACA,2BAAA,IAAAK,MAAA,UAAA,EAAS,WAAU,eAAe,SAAS,CAAA;AAAA,IAAA;AAAA,EAC7C;AAEF;;"}
@@ -1,8 +1,26 @@
1
1
  import { jsx } from "react/jsx-runtime";
2
- import { ProfileMenuContent } from "./harmony87.mjs";
3
- import { ProfileMenuProvider } from "./harmony88.mjs";
4
- const ProfileMenu = ({ config, children }) => /* @__PURE__ */ jsx(ProfileMenuProvider, { config, children: /* @__PURE__ */ jsx(ProfileMenuContent, { children }) });
2
+ import { Menu as Menu$1, MenuList, Tooltip } from "@lokalise/louis";
3
+ import { clsx } from "./harmony67.mjs";
4
+ import styles from "./harmony87.mjs";
5
+ const Menu = ({ children, icon: Icon }) => {
6
+ return /* @__PURE__ */ jsx(
7
+ Menu$1,
8
+ {
9
+ menuButton: ({ opened }) => /* @__PURE__ */ jsx(Tooltip, { placement: "right", tooltip: "Help", children: /* @__PURE__ */ jsx(
10
+ "button",
11
+ {
12
+ type: "button",
13
+ className: clsx(styles.dropdownButton, {
14
+ [styles.dropdownButtonActive]: opened
15
+ }),
16
+ children: /* @__PURE__ */ jsx(Icon, { size: "25px" })
17
+ }
18
+ ) }),
19
+ children: /* @__PURE__ */ jsx(MenuList, { placement: "right-start", children })
20
+ }
21
+ );
22
+ };
5
23
  export {
6
- ProfileMenu
24
+ Menu
7
25
  };
8
26
  //# sourceMappingURL=harmony73.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"harmony73.mjs","sources":["../src/components/Sidebar/Widgets/ProfileMenu/ProfileMenu.tsx"],"sourcesContent":["import { ProfileMenuContent, type ProfileMenuContentProps } from './ProfileMenuContent'\nimport { ProfileMenuProvider } from './ProfileMenuProvider'\nimport type { SidebarProfileMenuConfig } from './types'\n\ntype ProfileMenuProps = {\n\t/** Configuration object containing team and user settings */\n\tconfig: SidebarProfileMenuConfig\n\t/** Render function for the menu content */\n\tchildren: ProfileMenuContentProps['children']\n}\n\n/**\n * A contextual menu component that provides team management functionality.\n * It manages team switching, profile settings, billing options, and upgrade prompts.\n *\n * The component uses a render prop pattern to provide context values to its children,\n * allowing flexible composition of menu items based on user permissions and team status.\n *\n * @example\n * ```tsx\n * <ProfileMenu config={profileMenuConfig}>\n * {({ allowTeamCreation, showBillingButton }) => (\n * <>\n * <TeamSwitch onSwitchTeam={handleTeamSwitch} />\n * {allowTeamCreation && <MenuItem>Create new team</MenuItem>}\n * {showBillingButton && <MenuItem href=\"/billing\">Billing</MenuItem>}\n * </>\n * )}\n * </ProfileMenu>\n * ```\n */\nexport const ProfileMenu = ({ config, children }: ProfileMenuProps) => (\n\t<ProfileMenuProvider config={config}>\n\t\t<ProfileMenuContent>{children}</ProfileMenuContent>\n\t</ProfileMenuProvider>\n)\n"],"names":[],"mappings":";;;AA+BO,MAAM,cAAc,CAAC,EAAE,QAAQ,SAAS,MAC7C,oBAAA,qBAAA,EAAoB,QACpB,UAAA,oBAAC,oBAAoB,EAAA,SAAS,CAAA,EAC/B,CAAA;"}
1
+ {"version":3,"file":"harmony73.mjs","sources":["../src/components/Sidebar/Widgets/Menu/Menu.tsx"],"sourcesContent":["import { MenuList, type SvgIconProps, Tooltip, Menu as UIMenu } from '@lokalise/louis'\nimport clsx from 'clsx'\nimport type { FC, PropsWithChildren } from 'react'\nimport styles from './Menu.module.css'\n\ntype MenuProps = PropsWithChildren<{\n\t/** Icon component from @lokalise/louis to display in the menu button */\n\ticon: FC<SvgIconProps>\n}>\n\n/**\n * A dropdown menu component that displays an icon button which reveals a menu list when clicked.\n * The menu is positioned to the right of the button and includes a tooltip.\n *\n * Used primarily for dropdown menus in the Sidebar, such as the Help menu.\n *\n * @example\n * ```tsx\n * <Menu icon={HelpCenterIcon}>\n * <MenuItem href=\"/docs\">Documentation</MenuItem>\n * <MenuItem href=\"/tutorial\">Tutorials</MenuItem>\n * <MenuDivider />\n * <MenuItem href=\"/blog\">Blog</MenuItem>\n * </Menu>\n * ```\n */\nexport const Menu = ({ children, icon: Icon }: MenuProps) => {\n\treturn (\n\t\t<UIMenu\n\t\t\tmenuButton={({ opened }) => (\n\t\t\t\t<Tooltip placement=\"right\" tooltip=\"Help\">\n\t\t\t\t\t<button\n\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\tclassName={clsx(styles.dropdownButton, {\n\t\t\t\t\t\t\t[styles.dropdownButtonActive]: opened,\n\t\t\t\t\t\t})}\n\t\t\t\t\t>\n\t\t\t\t\t\t<Icon size=\"25px\" />\n\t\t\t\t\t</button>\n\t\t\t\t</Tooltip>\n\t\t\t)}\n\t\t>\n\t\t\t<MenuList placement=\"right-start\">{children}</MenuList>\n\t\t</UIMenu>\n\t)\n}\n"],"names":["UIMenu"],"mappings":";;;;AA0BO,MAAM,OAAO,CAAC,EAAE,UAAU,MAAM,WAAsB;AAE3D,SAAA;AAAA,IAACA;AAAAA,IAAA;AAAA,MACA,YAAY,CAAC,EAAE,OAAO,0BACpB,SAAQ,EAAA,WAAU,SAAQ,SAAQ,QAClC,UAAA;AAAA,QAAC;AAAA,QAAA;AAAA,UACA,MAAK;AAAA,UACL,WAAW,KAAK,OAAO,gBAAgB;AAAA,YACtC,CAAC,OAAO,oBAAoB,GAAG;AAAA,UAAA,CAC/B;AAAA,UAED,UAAA,oBAAC,MAAK,EAAA,MAAK,OAAO,CAAA;AAAA,QAAA;AAAA,MAAA,GAEpB;AAAA,MAGD,UAAC,oBAAA,UAAA,EAAS,WAAU,eAAe,SAAS,CAAA;AAAA,IAAA;AAAA,EAC7C;AAEF;"}
@@ -1,35 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
3
  const jsxRuntime = require("react/jsx-runtime");
4
- const louis = require("@lokalise/louis");
5
- const ProfileMenuContext = require("./harmony89.cjs");
6
- const ProfileSettingsMenuItem_module = require("./harmony90.cjs");
7
- const ProfileSettingsMenuItem = ({
8
- href,
9
- onClick,
10
- userEmail,
11
- hideBottomDivider
12
- }) => {
13
- const { isEndOfTrialActive, isTeamSuspended } = ProfileMenuContext.useProfileMenu();
14
- if (isEndOfTrialActive || isTeamSuspended) {
15
- return null;
16
- }
17
- return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
18
- /* @__PURE__ */ jsxRuntime.jsx(
19
- louis.MenuItem,
20
- {
21
- href,
22
- onClick: () => {
23
- onClick == null ? void 0 : onClick();
24
- },
25
- children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: `flex-col ${ProfileSettingsMenuItem_module.default.container}`, children: [
26
- /* @__PURE__ */ jsxRuntime.jsx("span", { children: "Profile Settings" }),
27
- /* @__PURE__ */ jsxRuntime.jsx("span", { className: ProfileSettingsMenuItem_module.default.profileEmail, children: userEmail })
28
- ] })
29
- }
30
- ),
31
- !hideBottomDivider && /* @__PURE__ */ jsxRuntime.jsx(louis.MenuDivider, {})
32
- ] });
33
- };
34
- exports.ProfileSettingsMenuItem = ProfileSettingsMenuItem;
4
+ const ProfileMenuContent = require("./harmony88.cjs");
5
+ const ProfileMenuProvider = require("./harmony89.cjs");
6
+ const ProfileMenu = ({ config, children }) => /* @__PURE__ */ jsxRuntime.jsx(ProfileMenuProvider.ProfileMenuProvider, { config, children: /* @__PURE__ */ jsxRuntime.jsx(ProfileMenuContent.ProfileMenuContent, { children }) });
7
+ exports.ProfileMenu = ProfileMenu;
35
8
  //# sourceMappingURL=harmony74.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"harmony74.cjs","sources":["../src/components/Sidebar/Widgets/ProfileMenu/ProfileSettingsMenuItem/ProfileSettingsMenuItem.tsx"],"sourcesContent":["import { MenuDivider, MenuItem } from '@lokalise/louis'\nimport { useProfileMenu } from '../ProfileMenuContext'\nimport styles from './ProfileSettingsMenuItem.module.css'\n\ntype ProfileSettingsMenuItemProps = {\n\t/** URL to the profile settings page */\n\thref: string\n\t/** User's email address to display below \"Profile Settings\" */\n\tuserEmail: string\n\t/** Optional callback function for tracking or additional actions */\n\tonClick?: () => void\n\t/** Whether to hide the divider that appears below this menu item */\n\thideBottomDivider?: boolean\n}\n\n/**\n * A menu item component that provides access to profile settings.\n *\n * Features:\n * - Displays \"Profile Settings\" with the user's email address below\n * - Conditionally renders based on team status\n * - Includes an optional divider below the item\n * - Will not render if:\n * - Team is suspended\n * - Team's trial period has ended\n *\n * @example\n * ```tsx\n * <ProfileSettingsMenuItem\n * href=\"/settings/profile\"\n * userEmail=\"user@example.com\"\n * onClick={() => trackSettingsClick()}\n * />\n *\n * // Without bottom divider\n * <ProfileSettingsMenuItem\n * href=\"/settings/profile\"\n * userEmail=\"user@example.com\"\n * hideBottomDivider\n * />\n * ```\n *\n * @note This component must be used within a ProfileMenu component\n * as it requires access to the ProfileMenu context for team status information.\n */\nexport const ProfileSettingsMenuItem = ({\n\thref,\n\tonClick,\n\tuserEmail,\n\thideBottomDivider,\n}: ProfileSettingsMenuItemProps) => {\n\tconst { isEndOfTrialActive, isTeamSuspended } = useProfileMenu()\n\n\tif (isEndOfTrialActive || isTeamSuspended) {\n\t\treturn null\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t<MenuItem\n\t\t\t\thref={href}\n\t\t\t\tonClick={() => {\n\t\t\t\t\tonClick?.()\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\t<div className={`flex-col ${styles.container}`}>\n\t\t\t\t\t<span>Profile Settings</span>\n\t\t\t\t\t<span className={styles.profileEmail}>{userEmail}</span>\n\t\t\t\t</div>\n\t\t\t</MenuItem>\n\n\t\t\t{!hideBottomDivider && <MenuDivider />}\n\t\t</>\n\t)\n}\n"],"names":["useProfileMenu","jsxs","Fragment","jsx","MenuItem","styles","MenuDivider"],"mappings":";;;;;;AA6CO,MAAM,0BAA0B,CAAC;AAAA,EACvC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACD,MAAoC;AACnC,QAAM,EAAE,oBAAoB,gBAAgB,IAAIA,kCAAe;AAE/D,MAAI,sBAAsB,iBAAiB;AACnC,WAAA;AAAA,EAAA;AAGR,SAEEC,2BAAA,KAAAC,qBAAA,EAAA,UAAA;AAAA,IAAAC,2BAAA;AAAA,MAACC,MAAA;AAAA,MAAA;AAAA,QACA;AAAA,QACA,SAAS,MAAM;AACJ;AAAA,QACX;AAAA,QAEA,0CAAC,OAAI,EAAA,WAAW,YAAYC,uCAAO,SAAS,IAC3C,UAAA;AAAA,UAAAF,2BAAAA,IAAC,UAAK,UAAgB,mBAAA,CAAA;AAAA,UACrBA,2BAAA,IAAA,QAAA,EAAK,WAAWE,+BAAA,QAAO,cAAe,UAAU,UAAA,CAAA;AAAA,QAAA,EAClD,CAAA;AAAA,MAAA;AAAA,IACD;AAAA,IAEC,CAAC,qBAAqBF,+BAACG,MAAAA,aAAY,CAAA,CAAA;AAAA,EAAA,GACrC;AAEF;;"}
1
+ {"version":3,"file":"harmony74.cjs","sources":["../src/components/Sidebar/Widgets/ProfileMenu/ProfileMenu.tsx"],"sourcesContent":["import { ProfileMenuContent, type ProfileMenuContentProps } from './ProfileMenuContent'\nimport { ProfileMenuProvider } from './ProfileMenuProvider'\nimport type { SidebarProfileMenuConfig } from './types'\n\ntype ProfileMenuProps = {\n\t/** Configuration object containing team and user settings */\n\tconfig: SidebarProfileMenuConfig\n\t/** Render function for the menu content */\n\tchildren: ProfileMenuContentProps['children']\n}\n\n/**\n * A contextual menu component that provides team management functionality.\n * It manages team switching, profile settings, billing options, and upgrade prompts.\n *\n * The component uses a render prop pattern to provide context values to its children,\n * allowing flexible composition of menu items based on user permissions and team status.\n *\n * @example\n * ```tsx\n * <ProfileMenu config={profileMenuConfig}>\n * {({ allowTeamCreation, showBillingButton }) => (\n * <>\n * <TeamSwitch onSwitchTeam={handleTeamSwitch} />\n * {allowTeamCreation && <MenuItem>Create new team</MenuItem>}\n * {showBillingButton && <MenuItem href=\"/billing\">Billing</MenuItem>}\n * </>\n * )}\n * </ProfileMenu>\n * ```\n */\nexport const ProfileMenu = ({ config, children }: ProfileMenuProps) => (\n\t<ProfileMenuProvider config={config}>\n\t\t<ProfileMenuContent>{children}</ProfileMenuContent>\n\t</ProfileMenuProvider>\n)\n"],"names":["jsx","ProfileMenuProvider","ProfileMenuContent"],"mappings":";;;;;AA+BO,MAAM,cAAc,CAAC,EAAE,QAAQ,SAAS,MAC7CA,2BAAA,IAAAC,oBAAA,qBAAA,EAAoB,QACpB,UAAAD,2BAAA,IAACE,mBAAoB,oBAAA,EAAA,SAAS,CAAA,EAC/B,CAAA;;"}
@@ -1,35 +1,8 @@
1
- import { jsxs, Fragment, jsx } from "react/jsx-runtime";
2
- import { MenuItem, MenuDivider } from "@lokalise/louis";
3
- import { useProfileMenu } from "./harmony89.mjs";
4
- import styles from "./harmony90.mjs";
5
- const ProfileSettingsMenuItem = ({
6
- href,
7
- onClick,
8
- userEmail,
9
- hideBottomDivider
10
- }) => {
11
- const { isEndOfTrialActive, isTeamSuspended } = useProfileMenu();
12
- if (isEndOfTrialActive || isTeamSuspended) {
13
- return null;
14
- }
15
- return /* @__PURE__ */ jsxs(Fragment, { children: [
16
- /* @__PURE__ */ jsx(
17
- MenuItem,
18
- {
19
- href,
20
- onClick: () => {
21
- onClick == null ? void 0 : onClick();
22
- },
23
- children: /* @__PURE__ */ jsxs("div", { className: `flex-col ${styles.container}`, children: [
24
- /* @__PURE__ */ jsx("span", { children: "Profile Settings" }),
25
- /* @__PURE__ */ jsx("span", { className: styles.profileEmail, children: userEmail })
26
- ] })
27
- }
28
- ),
29
- !hideBottomDivider && /* @__PURE__ */ jsx(MenuDivider, {})
30
- ] });
31
- };
1
+ import { jsx } from "react/jsx-runtime";
2
+ import { ProfileMenuContent } from "./harmony88.mjs";
3
+ import { ProfileMenuProvider } from "./harmony89.mjs";
4
+ const ProfileMenu = ({ config, children }) => /* @__PURE__ */ jsx(ProfileMenuProvider, { config, children: /* @__PURE__ */ jsx(ProfileMenuContent, { children }) });
32
5
  export {
33
- ProfileSettingsMenuItem
6
+ ProfileMenu
34
7
  };
35
8
  //# sourceMappingURL=harmony74.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"harmony74.mjs","sources":["../src/components/Sidebar/Widgets/ProfileMenu/ProfileSettingsMenuItem/ProfileSettingsMenuItem.tsx"],"sourcesContent":["import { MenuDivider, MenuItem } from '@lokalise/louis'\nimport { useProfileMenu } from '../ProfileMenuContext'\nimport styles from './ProfileSettingsMenuItem.module.css'\n\ntype ProfileSettingsMenuItemProps = {\n\t/** URL to the profile settings page */\n\thref: string\n\t/** User's email address to display below \"Profile Settings\" */\n\tuserEmail: string\n\t/** Optional callback function for tracking or additional actions */\n\tonClick?: () => void\n\t/** Whether to hide the divider that appears below this menu item */\n\thideBottomDivider?: boolean\n}\n\n/**\n * A menu item component that provides access to profile settings.\n *\n * Features:\n * - Displays \"Profile Settings\" with the user's email address below\n * - Conditionally renders based on team status\n * - Includes an optional divider below the item\n * - Will not render if:\n * - Team is suspended\n * - Team's trial period has ended\n *\n * @example\n * ```tsx\n * <ProfileSettingsMenuItem\n * href=\"/settings/profile\"\n * userEmail=\"user@example.com\"\n * onClick={() => trackSettingsClick()}\n * />\n *\n * // Without bottom divider\n * <ProfileSettingsMenuItem\n * href=\"/settings/profile\"\n * userEmail=\"user@example.com\"\n * hideBottomDivider\n * />\n * ```\n *\n * @note This component must be used within a ProfileMenu component\n * as it requires access to the ProfileMenu context for team status information.\n */\nexport const ProfileSettingsMenuItem = ({\n\thref,\n\tonClick,\n\tuserEmail,\n\thideBottomDivider,\n}: ProfileSettingsMenuItemProps) => {\n\tconst { isEndOfTrialActive, isTeamSuspended } = useProfileMenu()\n\n\tif (isEndOfTrialActive || isTeamSuspended) {\n\t\treturn null\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t<MenuItem\n\t\t\t\thref={href}\n\t\t\t\tonClick={() => {\n\t\t\t\t\tonClick?.()\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\t<div className={`flex-col ${styles.container}`}>\n\t\t\t\t\t<span>Profile Settings</span>\n\t\t\t\t\t<span className={styles.profileEmail}>{userEmail}</span>\n\t\t\t\t</div>\n\t\t\t</MenuItem>\n\n\t\t\t{!hideBottomDivider && <MenuDivider />}\n\t\t</>\n\t)\n}\n"],"names":[],"mappings":";;;;AA6CO,MAAM,0BAA0B,CAAC;AAAA,EACvC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACD,MAAoC;AACnC,QAAM,EAAE,oBAAoB,gBAAgB,IAAI,eAAe;AAE/D,MAAI,sBAAsB,iBAAiB;AACnC,WAAA;AAAA,EAAA;AAGR,SAEE,qBAAA,UAAA,EAAA,UAAA;AAAA,IAAA;AAAA,MAAC;AAAA,MAAA;AAAA,QACA;AAAA,QACA,SAAS,MAAM;AACJ;AAAA,QACX;AAAA,QAEA,+BAAC,OAAI,EAAA,WAAW,YAAY,OAAO,SAAS,IAC3C,UAAA;AAAA,UAAA,oBAAC,UAAK,UAAgB,mBAAA,CAAA;AAAA,UACrB,oBAAA,QAAA,EAAK,WAAW,OAAO,cAAe,UAAU,UAAA,CAAA;AAAA,QAAA,EAClD,CAAA;AAAA,MAAA;AAAA,IACD;AAAA,IAEC,CAAC,qBAAqB,oBAAC,aAAY,CAAA,CAAA;AAAA,EAAA,GACrC;AAEF;"}
1
+ {"version":3,"file":"harmony74.mjs","sources":["../src/components/Sidebar/Widgets/ProfileMenu/ProfileMenu.tsx"],"sourcesContent":["import { ProfileMenuContent, type ProfileMenuContentProps } from './ProfileMenuContent'\nimport { ProfileMenuProvider } from './ProfileMenuProvider'\nimport type { SidebarProfileMenuConfig } from './types'\n\ntype ProfileMenuProps = {\n\t/** Configuration object containing team and user settings */\n\tconfig: SidebarProfileMenuConfig\n\t/** Render function for the menu content */\n\tchildren: ProfileMenuContentProps['children']\n}\n\n/**\n * A contextual menu component that provides team management functionality.\n * It manages team switching, profile settings, billing options, and upgrade prompts.\n *\n * The component uses a render prop pattern to provide context values to its children,\n * allowing flexible composition of menu items based on user permissions and team status.\n *\n * @example\n * ```tsx\n * <ProfileMenu config={profileMenuConfig}>\n * {({ allowTeamCreation, showBillingButton }) => (\n * <>\n * <TeamSwitch onSwitchTeam={handleTeamSwitch} />\n * {allowTeamCreation && <MenuItem>Create new team</MenuItem>}\n * {showBillingButton && <MenuItem href=\"/billing\">Billing</MenuItem>}\n * </>\n * )}\n * </ProfileMenu>\n * ```\n */\nexport const ProfileMenu = ({ config, children }: ProfileMenuProps) => (\n\t<ProfileMenuProvider config={config}>\n\t\t<ProfileMenuContent>{children}</ProfileMenuContent>\n\t</ProfileMenuProvider>\n)\n"],"names":[],"mappings":";;;AA+BO,MAAM,cAAc,CAAC,EAAE,QAAQ,SAAS,MAC7C,oBAAA,qBAAA,EAAoB,QACpB,UAAA,oBAAC,oBAAoB,EAAA,SAAS,CAAA,EAC/B,CAAA;"}