@lokalise/harmony 1.25.1 → 1.26.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (481) hide show
  1. package/dist/harmony.cjs +160 -1
  2. package/dist/harmony.cjs.map +1 -0
  3. package/dist/harmony.css +639 -1
  4. package/dist/harmony.mjs +158 -1993
  5. package/dist/harmony.mjs.map +1 -0
  6. package/dist/harmony10.cjs +9 -0
  7. package/dist/harmony10.cjs.map +1 -0
  8. package/dist/harmony10.mjs +9 -0
  9. package/dist/harmony10.mjs.map +1 -0
  10. package/dist/harmony100.cjs +17 -0
  11. package/dist/harmony100.cjs.map +1 -0
  12. package/dist/harmony100.mjs +17 -0
  13. package/dist/harmony100.mjs.map +1 -0
  14. package/dist/harmony101.cjs +39 -0
  15. package/dist/harmony101.cjs.map +1 -0
  16. package/dist/harmony101.mjs +39 -0
  17. package/dist/harmony101.mjs.map +1 -0
  18. package/dist/harmony102.cjs +31 -0
  19. package/dist/harmony102.cjs.map +1 -0
  20. package/dist/harmony102.mjs +31 -0
  21. package/dist/harmony102.mjs.map +1 -0
  22. package/dist/harmony103.cjs +16 -0
  23. package/dist/harmony103.cjs.map +1 -0
  24. package/dist/harmony103.mjs +16 -0
  25. package/dist/harmony103.mjs.map +1 -0
  26. package/dist/harmony104.cjs +18 -0
  27. package/dist/harmony104.cjs.map +1 -0
  28. package/dist/harmony104.mjs +18 -0
  29. package/dist/harmony104.mjs.map +1 -0
  30. package/dist/harmony105.cjs +19 -0
  31. package/dist/harmony105.cjs.map +1 -0
  32. package/dist/harmony105.mjs +19 -0
  33. package/dist/harmony105.mjs.map +1 -0
  34. package/dist/harmony106.cjs +10 -0
  35. package/dist/harmony106.cjs.map +1 -0
  36. package/dist/harmony106.mjs +10 -0
  37. package/dist/harmony106.mjs.map +1 -0
  38. package/dist/harmony107.cjs +60 -0
  39. package/dist/harmony107.cjs.map +1 -0
  40. package/dist/harmony107.mjs +60 -0
  41. package/dist/harmony107.mjs.map +1 -0
  42. package/dist/harmony108.cjs +63 -0
  43. package/dist/harmony108.cjs.map +1 -0
  44. package/dist/harmony108.mjs +63 -0
  45. package/dist/harmony108.mjs.map +1 -0
  46. package/dist/harmony109.cjs +21 -0
  47. package/dist/harmony109.cjs.map +1 -0
  48. package/dist/harmony109.mjs +21 -0
  49. package/dist/harmony109.mjs.map +1 -0
  50. package/dist/harmony11.cjs +8 -0
  51. package/dist/harmony11.cjs.map +1 -0
  52. package/dist/harmony11.mjs +8 -0
  53. package/dist/harmony11.mjs.map +1 -0
  54. package/dist/harmony110.cjs +14 -0
  55. package/dist/harmony110.cjs.map +1 -0
  56. package/dist/harmony110.mjs +14 -0
  57. package/dist/harmony110.mjs.map +1 -0
  58. package/dist/harmony111.cjs +19 -0
  59. package/dist/harmony111.cjs.map +1 -0
  60. package/dist/harmony111.mjs +19 -0
  61. package/dist/harmony111.mjs.map +1 -0
  62. package/dist/harmony112.cjs +24 -0
  63. package/dist/harmony112.cjs.map +1 -0
  64. package/dist/harmony112.mjs +24 -0
  65. package/dist/harmony112.mjs.map +1 -0
  66. package/dist/harmony113.cjs +15 -0
  67. package/dist/harmony113.cjs.map +1 -0
  68. package/dist/harmony113.mjs +15 -0
  69. package/dist/harmony113.mjs.map +1 -0
  70. package/dist/harmony114.cjs +49 -0
  71. package/dist/harmony114.cjs.map +1 -0
  72. package/dist/harmony114.mjs +49 -0
  73. package/dist/harmony114.mjs.map +1 -0
  74. package/dist/harmony115.cjs +15 -0
  75. package/dist/harmony115.cjs.map +1 -0
  76. package/dist/harmony115.mjs +15 -0
  77. package/dist/harmony115.mjs.map +1 -0
  78. package/dist/harmony116.cjs +9 -0
  79. package/dist/harmony116.cjs.map +1 -0
  80. package/dist/harmony116.mjs +9 -0
  81. package/dist/harmony116.mjs.map +1 -0
  82. package/dist/harmony117.cjs +15 -0
  83. package/dist/harmony117.cjs.map +1 -0
  84. package/dist/harmony117.mjs +15 -0
  85. package/dist/harmony117.mjs.map +1 -0
  86. package/dist/harmony118.cjs +35 -0
  87. package/dist/harmony118.cjs.map +1 -0
  88. package/dist/harmony118.mjs +35 -0
  89. package/dist/harmony118.mjs.map +1 -0
  90. package/dist/harmony119.cjs +17 -0
  91. package/dist/harmony119.cjs.map +1 -0
  92. package/dist/harmony119.mjs +17 -0
  93. package/dist/harmony119.mjs.map +1 -0
  94. package/dist/harmony12.cjs +27 -0
  95. package/dist/harmony12.cjs.map +1 -0
  96. package/dist/harmony12.mjs +27 -0
  97. package/dist/harmony12.mjs.map +1 -0
  98. package/dist/harmony13.cjs +8 -0
  99. package/dist/harmony13.cjs.map +1 -0
  100. package/dist/harmony13.mjs +8 -0
  101. package/dist/harmony13.mjs.map +1 -0
  102. package/dist/harmony14.cjs +14 -0
  103. package/dist/harmony14.cjs.map +1 -0
  104. package/dist/harmony14.mjs +14 -0
  105. package/dist/harmony14.mjs.map +1 -0
  106. package/dist/harmony15.cjs +14 -0
  107. package/dist/harmony15.cjs.map +1 -0
  108. package/dist/harmony15.mjs +14 -0
  109. package/dist/harmony15.mjs.map +1 -0
  110. package/dist/harmony16.cjs +21 -0
  111. package/dist/harmony16.cjs.map +1 -0
  112. package/dist/harmony16.mjs +21 -0
  113. package/dist/harmony16.mjs.map +1 -0
  114. package/dist/harmony17.cjs +19 -0
  115. package/dist/harmony17.cjs.map +1 -0
  116. package/dist/harmony17.mjs +19 -0
  117. package/dist/harmony17.mjs.map +1 -0
  118. package/dist/harmony18.cjs +145 -0
  119. package/dist/harmony18.cjs.map +1 -0
  120. package/dist/harmony18.mjs +145 -0
  121. package/dist/harmony18.mjs.map +1 -0
  122. package/dist/harmony19.cjs +17 -0
  123. package/dist/harmony19.cjs.map +1 -0
  124. package/dist/harmony19.mjs +17 -0
  125. package/dist/harmony19.mjs.map +1 -0
  126. package/dist/harmony2.cjs +22 -0
  127. package/dist/harmony2.cjs.map +1 -0
  128. package/dist/harmony2.mjs +22 -0
  129. package/dist/harmony2.mjs.map +1 -0
  130. package/dist/harmony20.cjs +20 -0
  131. package/dist/harmony20.cjs.map +1 -0
  132. package/dist/harmony20.mjs +20 -0
  133. package/dist/harmony20.mjs.map +1 -0
  134. package/dist/harmony21.cjs +21 -0
  135. package/dist/harmony21.cjs.map +1 -0
  136. package/dist/harmony21.mjs +21 -0
  137. package/dist/harmony21.mjs.map +1 -0
  138. package/dist/harmony22.cjs +23 -0
  139. package/dist/harmony22.cjs.map +1 -0
  140. package/dist/harmony22.mjs +23 -0
  141. package/dist/harmony22.mjs.map +1 -0
  142. package/dist/harmony23.cjs +23 -0
  143. package/dist/harmony23.cjs.map +1 -0
  144. package/dist/harmony23.mjs +23 -0
  145. package/dist/harmony23.mjs.map +1 -0
  146. package/dist/harmony24.cjs +13 -0
  147. package/dist/harmony24.cjs.map +1 -0
  148. package/dist/harmony24.mjs +13 -0
  149. package/dist/harmony24.mjs.map +1 -0
  150. package/dist/harmony25.cjs +14 -0
  151. package/dist/harmony25.cjs.map +1 -0
  152. package/dist/harmony25.mjs +14 -0
  153. package/dist/harmony25.mjs.map +1 -0
  154. package/dist/harmony26.cjs +30 -0
  155. package/dist/harmony26.cjs.map +1 -0
  156. package/dist/harmony26.mjs +30 -0
  157. package/dist/harmony26.mjs.map +1 -0
  158. package/dist/harmony27.cjs +34 -0
  159. package/dist/harmony27.cjs.map +1 -0
  160. package/dist/harmony27.mjs +34 -0
  161. package/dist/harmony27.mjs.map +1 -0
  162. package/dist/harmony28.cjs +41 -0
  163. package/dist/harmony28.cjs.map +1 -0
  164. package/dist/harmony28.mjs +41 -0
  165. package/dist/harmony28.mjs.map +1 -0
  166. package/dist/harmony29.cjs +13 -0
  167. package/dist/harmony29.cjs.map +1 -0
  168. package/dist/harmony29.mjs +13 -0
  169. package/dist/harmony29.mjs.map +1 -0
  170. package/dist/harmony3.cjs +47 -0
  171. package/dist/harmony3.cjs.map +1 -0
  172. package/dist/harmony3.mjs +47 -0
  173. package/dist/harmony3.mjs.map +1 -0
  174. package/dist/harmony30.cjs +17 -0
  175. package/dist/harmony30.cjs.map +1 -0
  176. package/dist/harmony30.mjs +17 -0
  177. package/dist/harmony30.mjs.map +1 -0
  178. package/dist/harmony31.cjs +83 -0
  179. package/dist/harmony31.cjs.map +1 -0
  180. package/dist/harmony31.mjs +83 -0
  181. package/dist/harmony31.mjs.map +1 -0
  182. package/dist/harmony32.cjs +113 -0
  183. package/dist/harmony32.cjs.map +1 -0
  184. package/dist/harmony32.mjs +113 -0
  185. package/dist/harmony32.mjs.map +1 -0
  186. package/dist/harmony33.cjs +11 -0
  187. package/dist/harmony33.cjs.map +1 -0
  188. package/dist/harmony33.mjs +11 -0
  189. package/dist/harmony33.mjs.map +1 -0
  190. package/dist/harmony34.cjs +59 -0
  191. package/dist/harmony34.cjs.map +1 -0
  192. package/dist/harmony34.mjs +59 -0
  193. package/dist/harmony34.mjs.map +1 -0
  194. package/dist/harmony35.cjs +27 -0
  195. package/dist/harmony35.cjs.map +1 -0
  196. package/dist/harmony35.mjs +27 -0
  197. package/dist/harmony35.mjs.map +1 -0
  198. package/dist/harmony36.cjs +21 -0
  199. package/dist/harmony36.cjs.map +1 -0
  200. package/dist/harmony36.mjs +21 -0
  201. package/dist/harmony36.mjs.map +1 -0
  202. package/dist/harmony37.cjs +24 -0
  203. package/dist/harmony37.cjs.map +1 -0
  204. package/dist/harmony37.mjs +24 -0
  205. package/dist/harmony37.mjs.map +1 -0
  206. package/dist/harmony38.cjs +16 -0
  207. package/dist/harmony38.cjs.map +1 -0
  208. package/dist/harmony38.mjs +16 -0
  209. package/dist/harmony38.mjs.map +1 -0
  210. package/dist/harmony39.cjs +18 -0
  211. package/dist/harmony39.cjs.map +1 -0
  212. package/dist/harmony39.mjs +18 -0
  213. package/dist/harmony39.mjs.map +1 -0
  214. package/dist/harmony4.cjs +29 -0
  215. package/dist/harmony4.cjs.map +1 -0
  216. package/dist/harmony4.mjs +29 -0
  217. package/dist/harmony4.mjs.map +1 -0
  218. package/dist/harmony40.cjs +18 -0
  219. package/dist/harmony40.cjs.map +1 -0
  220. package/dist/harmony40.mjs +18 -0
  221. package/dist/harmony40.mjs.map +1 -0
  222. package/dist/harmony41.cjs +20 -0
  223. package/dist/harmony41.cjs.map +1 -0
  224. package/dist/harmony41.mjs +20 -0
  225. package/dist/harmony41.mjs.map +1 -0
  226. package/dist/harmony42.cjs +20 -0
  227. package/dist/harmony42.cjs.map +1 -0
  228. package/dist/harmony42.mjs +20 -0
  229. package/dist/harmony42.mjs.map +1 -0
  230. package/dist/harmony43.cjs +18 -0
  231. package/dist/harmony43.cjs.map +1 -0
  232. package/dist/harmony43.mjs +18 -0
  233. package/dist/harmony43.mjs.map +1 -0
  234. package/dist/harmony44.cjs +20 -0
  235. package/dist/harmony44.cjs.map +1 -0
  236. package/dist/harmony44.mjs +20 -0
  237. package/dist/harmony44.mjs.map +1 -0
  238. package/dist/harmony45.cjs +17 -0
  239. package/dist/harmony45.cjs.map +1 -0
  240. package/dist/harmony45.mjs +17 -0
  241. package/dist/harmony45.mjs.map +1 -0
  242. package/dist/harmony46.cjs +17 -0
  243. package/dist/harmony46.cjs.map +1 -0
  244. package/dist/harmony46.mjs +17 -0
  245. package/dist/harmony46.mjs.map +1 -0
  246. package/dist/harmony47.cjs +20 -0
  247. package/dist/harmony47.cjs.map +1 -0
  248. package/dist/harmony47.mjs +20 -0
  249. package/dist/harmony47.mjs.map +1 -0
  250. package/dist/harmony48.cjs +18 -0
  251. package/dist/harmony48.cjs.map +1 -0
  252. package/dist/harmony48.mjs +18 -0
  253. package/dist/harmony48.mjs.map +1 -0
  254. package/dist/harmony49.cjs +21 -0
  255. package/dist/harmony49.cjs.map +1 -0
  256. package/dist/harmony49.mjs +21 -0
  257. package/dist/harmony49.mjs.map +1 -0
  258. package/dist/harmony5.cjs +14 -0
  259. package/dist/harmony5.cjs.map +1 -0
  260. package/dist/harmony5.mjs +14 -0
  261. package/dist/harmony5.mjs.map +1 -0
  262. package/dist/harmony50.cjs +64 -0
  263. package/dist/harmony50.cjs.map +1 -0
  264. package/dist/harmony50.mjs +64 -0
  265. package/dist/harmony50.mjs.map +1 -0
  266. package/dist/harmony51.cjs +9 -0
  267. package/dist/harmony51.cjs.map +1 -0
  268. package/dist/harmony51.mjs +9 -0
  269. package/dist/harmony51.mjs.map +1 -0
  270. package/dist/harmony52.cjs +12 -0
  271. package/dist/harmony52.cjs.map +1 -0
  272. package/dist/harmony52.mjs +12 -0
  273. package/dist/harmony52.mjs.map +1 -0
  274. package/dist/harmony53.cjs +21 -0
  275. package/dist/harmony53.cjs.map +1 -0
  276. package/dist/harmony53.mjs +21 -0
  277. package/dist/harmony53.mjs.map +1 -0
  278. package/dist/harmony54.cjs +26 -0
  279. package/dist/harmony54.cjs.map +1 -0
  280. package/dist/harmony54.mjs +26 -0
  281. package/dist/harmony54.mjs.map +1 -0
  282. package/dist/harmony55.cjs +8 -0
  283. package/dist/harmony55.cjs.map +1 -0
  284. package/dist/harmony55.mjs +8 -0
  285. package/dist/harmony55.mjs.map +1 -0
  286. package/dist/harmony56.cjs +35 -0
  287. package/dist/harmony56.cjs.map +1 -0
  288. package/dist/harmony56.mjs +35 -0
  289. package/dist/harmony56.mjs.map +1 -0
  290. package/dist/harmony57.cjs +35 -0
  291. package/dist/harmony57.cjs.map +1 -0
  292. package/dist/harmony57.mjs +35 -0
  293. package/dist/harmony57.mjs.map +1 -0
  294. package/dist/harmony58.cjs +22 -0
  295. package/dist/harmony58.cjs.map +1 -0
  296. package/dist/harmony58.mjs +22 -0
  297. package/dist/harmony58.mjs.map +1 -0
  298. package/dist/harmony59.cjs +34 -0
  299. package/dist/harmony59.cjs.map +1 -0
  300. package/dist/harmony59.mjs +34 -0
  301. package/dist/harmony59.mjs.map +1 -0
  302. package/dist/harmony6.cjs +52 -0
  303. package/dist/harmony6.cjs.map +1 -0
  304. package/dist/harmony6.mjs +52 -0
  305. package/dist/harmony6.mjs.map +1 -0
  306. package/dist/harmony60.cjs +62 -0
  307. package/dist/harmony60.cjs.map +1 -0
  308. package/dist/harmony60.mjs +62 -0
  309. package/dist/harmony60.mjs.map +1 -0
  310. package/dist/harmony61.cjs +12 -0
  311. package/dist/harmony61.cjs.map +1 -0
  312. package/dist/harmony61.mjs +12 -0
  313. package/dist/harmony61.mjs.map +1 -0
  314. package/dist/harmony62.cjs +11 -0
  315. package/dist/harmony62.cjs.map +1 -0
  316. package/dist/harmony62.mjs +11 -0
  317. package/dist/harmony62.mjs.map +1 -0
  318. package/dist/harmony63.cjs +32 -0
  319. package/dist/harmony63.cjs.map +1 -0
  320. package/dist/harmony63.mjs +32 -0
  321. package/dist/harmony63.mjs.map +1 -0
  322. package/dist/harmony64.cjs +6 -0
  323. package/dist/harmony64.cjs.map +1 -0
  324. package/dist/harmony64.mjs +6 -0
  325. package/dist/harmony64.mjs.map +1 -0
  326. package/dist/harmony65.cjs +9 -0
  327. package/dist/harmony65.cjs.map +1 -0
  328. package/dist/harmony65.mjs +9 -0
  329. package/dist/harmony65.mjs.map +1 -0
  330. package/dist/harmony66.cjs +12 -0
  331. package/dist/harmony66.cjs.map +1 -0
  332. package/dist/harmony66.mjs +12 -0
  333. package/dist/harmony66.mjs.map +1 -0
  334. package/dist/harmony67.cjs +12 -0
  335. package/dist/harmony67.cjs.map +1 -0
  336. package/dist/harmony67.mjs +12 -0
  337. package/dist/harmony67.mjs.map +1 -0
  338. package/dist/harmony68.cjs +60 -0
  339. package/dist/harmony68.cjs.map +1 -0
  340. package/dist/harmony68.mjs +60 -0
  341. package/dist/harmony68.mjs.map +1 -0
  342. package/dist/harmony69.cjs +35 -0
  343. package/dist/harmony69.cjs.map +1 -0
  344. package/dist/harmony69.mjs +35 -0
  345. package/dist/harmony69.mjs.map +1 -0
  346. package/dist/harmony7.cjs +33 -0
  347. package/dist/harmony7.cjs.map +1 -0
  348. package/dist/harmony7.mjs +33 -0
  349. package/dist/harmony7.mjs.map +1 -0
  350. package/dist/harmony70.cjs +8 -0
  351. package/dist/harmony70.cjs.map +1 -0
  352. package/dist/harmony70.mjs +8 -0
  353. package/dist/harmony70.mjs.map +1 -0
  354. package/dist/harmony71.cjs +12 -0
  355. package/dist/harmony71.cjs.map +1 -0
  356. package/dist/harmony71.mjs +12 -0
  357. package/dist/harmony71.mjs.map +1 -0
  358. package/dist/harmony72.cjs +27 -0
  359. package/dist/harmony72.cjs.map +1 -0
  360. package/dist/harmony72.mjs +27 -0
  361. package/dist/harmony72.mjs.map +1 -0
  362. package/dist/harmony73.cjs +9 -0
  363. package/dist/harmony73.cjs.map +1 -0
  364. package/dist/harmony73.mjs +9 -0
  365. package/dist/harmony73.mjs.map +1 -0
  366. package/dist/harmony74.cjs +24 -0
  367. package/dist/harmony74.cjs.map +1 -0
  368. package/dist/harmony74.mjs +24 -0
  369. package/dist/harmony74.mjs.map +1 -0
  370. package/dist/harmony75.cjs +15 -0
  371. package/dist/harmony75.cjs.map +1 -0
  372. package/dist/harmony75.mjs +15 -0
  373. package/dist/harmony75.mjs.map +1 -0
  374. package/dist/harmony76.cjs +14 -0
  375. package/dist/harmony76.cjs.map +1 -0
  376. package/dist/harmony76.mjs +14 -0
  377. package/dist/harmony76.mjs.map +1 -0
  378. package/dist/harmony77.cjs +24 -0
  379. package/dist/harmony77.cjs.map +1 -0
  380. package/dist/harmony77.mjs +24 -0
  381. package/dist/harmony77.mjs.map +1 -0
  382. package/dist/harmony78.cjs +21 -0
  383. package/dist/harmony78.cjs.map +1 -0
  384. package/dist/harmony78.mjs +21 -0
  385. package/dist/harmony78.mjs.map +1 -0
  386. package/dist/harmony79.cjs +17 -0
  387. package/dist/harmony79.cjs.map +1 -0
  388. package/dist/harmony79.mjs +17 -0
  389. package/dist/harmony79.mjs.map +1 -0
  390. package/dist/harmony8.cjs +26 -0
  391. package/dist/harmony8.cjs.map +1 -0
  392. package/dist/harmony8.mjs +26 -0
  393. package/dist/harmony8.mjs.map +1 -0
  394. package/dist/harmony80.cjs +29 -0
  395. package/dist/harmony80.cjs.map +1 -0
  396. package/dist/harmony80.mjs +29 -0
  397. package/dist/harmony80.mjs.map +1 -0
  398. package/dist/harmony81.cjs +14 -0
  399. package/dist/harmony81.cjs.map +1 -0
  400. package/dist/harmony81.mjs +14 -0
  401. package/dist/harmony81.mjs.map +1 -0
  402. package/dist/harmony82.cjs +102 -0
  403. package/dist/harmony82.cjs.map +1 -0
  404. package/dist/harmony82.mjs +85 -0
  405. package/dist/harmony82.mjs.map +1 -0
  406. package/dist/harmony83.cjs +24 -0
  407. package/dist/harmony83.cjs.map +1 -0
  408. package/dist/harmony83.mjs +24 -0
  409. package/dist/harmony83.mjs.map +1 -0
  410. package/dist/harmony84.cjs +8 -0
  411. package/dist/harmony84.cjs.map +1 -0
  412. package/dist/harmony84.mjs +8 -0
  413. package/dist/harmony84.mjs.map +1 -0
  414. package/dist/harmony85.cjs +135 -0
  415. package/dist/harmony85.cjs.map +1 -0
  416. package/dist/harmony85.mjs +135 -0
  417. package/dist/harmony85.mjs.map +1 -0
  418. package/dist/harmony86.cjs +15 -0
  419. package/dist/harmony86.cjs.map +1 -0
  420. package/dist/harmony86.mjs +15 -0
  421. package/dist/harmony86.mjs.map +1 -0
  422. package/dist/harmony87.cjs +8 -0
  423. package/dist/harmony87.cjs.map +1 -0
  424. package/dist/harmony87.mjs +8 -0
  425. package/dist/harmony87.mjs.map +1 -0
  426. package/dist/harmony88.cjs +43 -0
  427. package/dist/harmony88.cjs.map +1 -0
  428. package/dist/harmony88.mjs +43 -0
  429. package/dist/harmony88.mjs.map +1 -0
  430. package/dist/harmony89.cjs +63 -0
  431. package/dist/harmony89.cjs.map +1 -0
  432. package/dist/harmony89.mjs +63 -0
  433. package/dist/harmony89.mjs.map +1 -0
  434. package/dist/harmony9.cjs +55 -0
  435. package/dist/harmony9.cjs.map +1 -0
  436. package/dist/harmony9.mjs +55 -0
  437. package/dist/harmony9.mjs.map +1 -0
  438. package/dist/harmony90.cjs +10 -0
  439. package/dist/harmony90.cjs.map +1 -0
  440. package/dist/harmony90.mjs +10 -0
  441. package/dist/harmony90.mjs.map +1 -0
  442. package/dist/harmony91.cjs +9 -0
  443. package/dist/harmony91.cjs.map +1 -0
  444. package/dist/harmony91.mjs +9 -0
  445. package/dist/harmony91.mjs.map +1 -0
  446. package/dist/harmony92.cjs +8 -0
  447. package/dist/harmony92.cjs.map +1 -0
  448. package/dist/harmony92.mjs +8 -0
  449. package/dist/harmony92.mjs.map +1 -0
  450. package/dist/harmony93.cjs +8 -0
  451. package/dist/harmony93.cjs.map +1 -0
  452. package/dist/harmony93.mjs +8 -0
  453. package/dist/harmony93.mjs.map +1 -0
  454. package/dist/harmony94.cjs +19 -0
  455. package/dist/harmony94.cjs.map +1 -0
  456. package/dist/harmony94.mjs +19 -0
  457. package/dist/harmony94.mjs.map +1 -0
  458. package/dist/harmony95.cjs +65 -0
  459. package/dist/harmony95.cjs.map +1 -0
  460. package/dist/harmony95.mjs +65 -0
  461. package/dist/harmony95.mjs.map +1 -0
  462. package/dist/harmony96.cjs +91 -0
  463. package/dist/harmony96.cjs.map +1 -0
  464. package/dist/harmony96.mjs +91 -0
  465. package/dist/harmony96.mjs.map +1 -0
  466. package/dist/harmony97.cjs +21 -0
  467. package/dist/harmony97.cjs.map +1 -0
  468. package/dist/harmony97.mjs +21 -0
  469. package/dist/harmony97.mjs.map +1 -0
  470. package/dist/harmony98.cjs +99 -0
  471. package/dist/harmony98.cjs.map +1 -0
  472. package/dist/harmony98.mjs +99 -0
  473. package/dist/harmony98.mjs.map +1 -0
  474. package/dist/harmony99.cjs +16 -0
  475. package/dist/harmony99.cjs.map +1 -0
  476. package/dist/harmony99.mjs +16 -0
  477. package/dist/harmony99.mjs.map +1 -0
  478. package/dist/types/src/features/publicApi/hooks/useListPermissionTemplates.d.ts +29 -0
  479. package/dist/types/src/features/publicApi/permissionTemplates.d.ts +112 -0
  480. package/dist/types/src/features/publicApi/types/permissionTemplateTypes.d.ts +86 -0
  481. package/package.json +1 -1
@@ -0,0 +1,17 @@
1
+ import { bulkUpdateProjectLanguages } from "./harmony27.mjs";
2
+ import { sendByPayloadRoute } from "@lokalise/frontend-http-client";
3
+ import { useMutation } from "@tanstack/react-query";
4
+ function useBulkUpdateProjectLanguagesMutation(wretchClient, params, headers, overrides = {}) {
5
+ return useMutation({
6
+ ...overrides,
7
+ mutationFn: async (variables) => sendByPayloadRoute(wretchClient, bulkUpdateProjectLanguages, {
8
+ pathParams: params,
9
+ headers: await headers.resolve(),
10
+ body: variables
11
+ })
12
+ });
13
+ }
14
+ export {
15
+ useBulkUpdateProjectLanguagesMutation
16
+ };
17
+ //# sourceMappingURL=harmony46.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"harmony46.mjs","sources":["../src/features/publicApi/hooks/useBulkUpdateProjectLanguagesMutation.ts"],"sourcesContent":["import type { HeaderBuilder } from '@features/auth/core/headers/headerBuilder'\nimport { bulkUpdateProjectLanguages } from '@features/publicApi/languages'\nimport type {\n\tBulkUpdateProjectLanguagesPathParams,\n\tBulkUpdateProjectLanguagesRequestBody,\n\tBulkUpdateProjectLanguagesResponse,\n} from '@features/publicApi/types/languageTypes'\nimport type { BaseApiEndpointHeader } from '@features/publicApi/types/sharedTypes'\nimport { sendByPayloadRoute } from '@lokalise/frontend-http-client'\nimport { useMutation } from '@tanstack/react-query'\nimport type { ApiMutationOverrides } from '@utils/types/apiMutationOverrides'\nimport type { Wretch } from 'wretch'\n\n/**\n * A react-router wrapper about the bulkUpdateProjectLanguages public API endpoint\n *\n * @param wretchClient - Wretch instance configured to a public API instance.\n * @param params - URL parameters\n * @param headers - A header builder instance to resolve the headers for the request.\n * @param overrides - Additional options to pass to the query.\n */\nexport function useBulkUpdateProjectLanguagesMutation<T>(\n\twretchClient: Wretch<T>,\n\tparams: BulkUpdateProjectLanguagesPathParams,\n\theaders: HeaderBuilder<BaseApiEndpointHeader>,\n\toverrides: ApiMutationOverrides<\n\t\tBulkUpdateProjectLanguagesResponse,\n\t\tBulkUpdateProjectLanguagesRequestBody\n\t> = {},\n) {\n\treturn useMutation({\n\t\t...overrides,\n\t\tmutationFn: async (variables) =>\n\t\t\tsendByPayloadRoute(wretchClient, bulkUpdateProjectLanguages, {\n\t\t\t\tpathParams: params,\n\t\t\t\theaders: await headers.resolve(),\n\t\t\t\tbody: variables,\n\t\t\t}),\n\t})\n}\n"],"names":[],"mappings":";;;AAqBO,SAAS,sCACf,cACA,QACA,SACA,YAGI,CAAA,GACH;AACD,SAAO,YAAY;AAAA,IAClB,GAAG;AAAA,IACH,YAAY,OAAO,cAClB,mBAAmB,cAAc,4BAA4B;AAAA,MAC5D,YAAY;AAAA,MACZ,SAAS,MAAM,QAAQ,QAAQ;AAAA,MAC/B,MAAM;AAAA,IACN,CAAA;AAAA,EAAA,CACF;AACF;"}
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const frontendHttpClient = require("@lokalise/frontend-http-client");
4
+ const reactQuery = require("@tanstack/react-query");
5
+ const score = require("./harmony81.cjs");
6
+ const getScoreKey = {
7
+ paramsKey: (params) => ["getScore", params]
8
+ };
9
+ function useGetScoreQuery(wretchClient, headers, overrides) {
10
+ return reactQuery.useQuery({
11
+ ...overrides,
12
+ queryFn: async ({ queryKey: [_, params] }) => frontendHttpClient.sendByGetRoute(wretchClient, score.getScore, {
13
+ headers: await headers.resolve(),
14
+ pathParams: params
15
+ })
16
+ });
17
+ }
18
+ exports.getScoreKey = getScoreKey;
19
+ exports.useGetScoreQuery = useGetScoreQuery;
20
+ //# sourceMappingURL=harmony47.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"harmony47.cjs","sources":["../src/features/publicApi/hooks/useGetScoreQuery.ts"],"sourcesContent":["import type { HeaderBuilder } from '@features/node'\nimport { sendByGetRoute } from '@lokalise/frontend-http-client'\nimport { useQuery } from '@tanstack/react-query'\nimport type { ApiQueryOverrides } from '@utils/types/apiQueryOverrides'\nimport type { Wretch } from 'wretch'\nimport { getScore } from '../score'\nimport type { GetScoreRequestQuery, GetScoreResponseBody } from '../types/scoreTypes'\nimport type { BaseApiEndpointHeader } from '../types/sharedTypes'\n\nexport const getScoreKey = {\n\tparamsKey: (params: GetScoreRequestQuery) => ['getScore', params] as const,\n}\n\nexport function useGetScoreQuery<T>(\n\twretchClient: Wretch<T>,\n\theaders: HeaderBuilder<BaseApiEndpointHeader>,\n\toverrides: ApiQueryOverrides<GetScoreResponseBody, typeof getScoreKey>,\n) {\n\treturn useQuery({\n\t\t...overrides,\n\t\tqueryFn: async ({ queryKey: [_, params] }) =>\n\t\t\tsendByGetRoute(wretchClient, getScore, {\n\t\t\t\theaders: await headers.resolve(),\n\t\t\t\tpathParams: params,\n\t\t\t}),\n\t})\n}\n"],"names":["useQuery","sendByGetRoute","getScore"],"mappings":";;;;;AASO,MAAM,cAAc;AAAA,EAC1B,WAAW,CAAC,WAAiC,CAAC,YAAY,MAAM;AACjE;AAEgB,SAAA,iBACf,cACA,SACA,WACC;AACD,SAAOA,oBAAS;AAAA,IACf,GAAG;AAAA,IACH,SAAS,OAAO,EAAE,UAAU,CAAC,GAAG,MAAM,QACrCC,mBAAAA,eAAe,cAAcC,gBAAU;AAAA,MACtC,SAAS,MAAM,QAAQ,QAAQ;AAAA,MAC/B,YAAY;AAAA,IACZ,CAAA;AAAA,EAAA,CACF;AACF;;;"}
@@ -0,0 +1,20 @@
1
+ import { sendByGetRoute } from "@lokalise/frontend-http-client";
2
+ import { useQuery } from "@tanstack/react-query";
3
+ import { getScore } from "./harmony81.mjs";
4
+ const getScoreKey = {
5
+ paramsKey: (params) => ["getScore", params]
6
+ };
7
+ function useGetScoreQuery(wretchClient, headers, overrides) {
8
+ return useQuery({
9
+ ...overrides,
10
+ queryFn: async ({ queryKey: [_, params] }) => sendByGetRoute(wretchClient, getScore, {
11
+ headers: await headers.resolve(),
12
+ pathParams: params
13
+ })
14
+ });
15
+ }
16
+ export {
17
+ getScoreKey,
18
+ useGetScoreQuery
19
+ };
20
+ //# sourceMappingURL=harmony47.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"harmony47.mjs","sources":["../src/features/publicApi/hooks/useGetScoreQuery.ts"],"sourcesContent":["import type { HeaderBuilder } from '@features/node'\nimport { sendByGetRoute } from '@lokalise/frontend-http-client'\nimport { useQuery } from '@tanstack/react-query'\nimport type { ApiQueryOverrides } from '@utils/types/apiQueryOverrides'\nimport type { Wretch } from 'wretch'\nimport { getScore } from '../score'\nimport type { GetScoreRequestQuery, GetScoreResponseBody } from '../types/scoreTypes'\nimport type { BaseApiEndpointHeader } from '../types/sharedTypes'\n\nexport const getScoreKey = {\n\tparamsKey: (params: GetScoreRequestQuery) => ['getScore', params] as const,\n}\n\nexport function useGetScoreQuery<T>(\n\twretchClient: Wretch<T>,\n\theaders: HeaderBuilder<BaseApiEndpointHeader>,\n\toverrides: ApiQueryOverrides<GetScoreResponseBody, typeof getScoreKey>,\n) {\n\treturn useQuery({\n\t\t...overrides,\n\t\tqueryFn: async ({ queryKey: [_, params] }) =>\n\t\t\tsendByGetRoute(wretchClient, getScore, {\n\t\t\t\theaders: await headers.resolve(),\n\t\t\t\tpathParams: params,\n\t\t\t}),\n\t})\n}\n"],"names":[],"mappings":";;;AASO,MAAM,cAAc;AAAA,EAC1B,WAAW,CAAC,WAAiC,CAAC,YAAY,MAAM;AACjE;AAEgB,SAAA,iBACf,cACA,SACA,WACC;AACD,SAAO,SAAS;AAAA,IACf,GAAG;AAAA,IACH,SAAS,OAAO,EAAE,UAAU,CAAC,GAAG,MAAM,QACrC,eAAe,cAAc,UAAU;AAAA,MACtC,SAAS,MAAM,QAAQ,QAAQ;AAAA,MAC/B,YAAY;AAAA,IACZ,CAAA;AAAA,EAAA,CACF;AACF;"}
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
3
+ function r(e) {
4
+ var t, f, n = "";
5
+ if ("string" == typeof e || "number" == typeof e) n += e;
6
+ else if ("object" == typeof e) if (Array.isArray(e)) {
7
+ var o = e.length;
8
+ for (t = 0; t < o; t++) e[t] && (f = r(e[t])) && (n && (n += " "), n += f);
9
+ } else for (f in e) e[f] && (n && (n += " "), n += f);
10
+ return n;
11
+ }
12
+ function clsx() {
13
+ for (var e, t, f = 0, n = "", o = arguments.length; f < o; f++) (e = arguments[f]) && (t = r(e)) && (n && (n += " "), n += t);
14
+ return n;
15
+ }
16
+ exports.clsx = clsx;
17
+ exports.default = clsx;
18
+ //# sourceMappingURL=harmony48.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"harmony48.cjs","sources":["../node_modules/clsx/dist/clsx.mjs"],"sourcesContent":["function r(e){var t,f,n=\"\";if(\"string\"==typeof e||\"number\"==typeof e)n+=e;else if(\"object\"==typeof e)if(Array.isArray(e)){var o=e.length;for(t=0;t<o;t++)e[t]&&(f=r(e[t]))&&(n&&(n+=\" \"),n+=f)}else for(f in e)e[f]&&(n&&(n+=\" \"),n+=f);return n}export function clsx(){for(var e,t,f=0,n=\"\",o=arguments.length;f<o;f++)(e=arguments[f])&&(t=r(e))&&(n&&(n+=\" \"),n+=t);return n}export default clsx;"],"names":[],"mappings":";;AAAA,SAAS,EAAE,GAAE;AAAC,MAAI,GAAE,GAAE,IAAE;AAAG,MAAG,YAAU,OAAO,KAAG,YAAU,OAAO,EAAE,MAAG;AAAA,WAAU,YAAU,OAAO,EAAE,KAAG,MAAM,QAAQ,CAAC,GAAE;AAAC,QAAI,IAAE,EAAE;AAAO,SAAI,IAAE,GAAE,IAAE,GAAE,IAAI,GAAE,CAAC,MAAI,IAAE,EAAE,EAAE,CAAC,CAAC,OAAK,MAAI,KAAG,MAAK,KAAG;AAAA,EAAE,MAAM,MAAI,KAAK,EAAE,GAAE,CAAC,MAAI,MAAI,KAAG,MAAK,KAAG;AAAG,SAAO;AAAC;AAAQ,SAAS,OAAM;AAAC,WAAQ,GAAE,GAAE,IAAE,GAAE,IAAE,IAAG,IAAE,UAAU,QAAO,IAAE,GAAE,IAAI,EAAC,IAAE,UAAU,CAAC,OAAK,IAAE,EAAE,CAAC,OAAK,MAAI,KAAG,MAAK,KAAG;AAAG,SAAO;AAAC;;;","x_google_ignoreList":[0]}
@@ -0,0 +1,18 @@
1
+ function r(e) {
2
+ var t, f, n = "";
3
+ if ("string" == typeof e || "number" == typeof e) n += e;
4
+ else if ("object" == typeof e) if (Array.isArray(e)) {
5
+ var o = e.length;
6
+ for (t = 0; t < o; t++) e[t] && (f = r(e[t])) && (n && (n += " "), n += f);
7
+ } else for (f in e) e[f] && (n && (n += " "), n += f);
8
+ return n;
9
+ }
10
+ function clsx() {
11
+ for (var e, t, f = 0, n = "", o = arguments.length; f < o; f++) (e = arguments[f]) && (t = r(e)) && (n && (n += " "), n += t);
12
+ return n;
13
+ }
14
+ export {
15
+ clsx,
16
+ clsx as default
17
+ };
18
+ //# sourceMappingURL=harmony48.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"harmony48.mjs","sources":["../node_modules/clsx/dist/clsx.mjs"],"sourcesContent":["function r(e){var t,f,n=\"\";if(\"string\"==typeof e||\"number\"==typeof e)n+=e;else if(\"object\"==typeof e)if(Array.isArray(e)){var o=e.length;for(t=0;t<o;t++)e[t]&&(f=r(e[t]))&&(n&&(n+=\" \"),n+=f)}else for(f in e)e[f]&&(n&&(n+=\" \"),n+=f);return n}export function clsx(){for(var e,t,f=0,n=\"\",o=arguments.length;f<o;f++)(e=arguments[f])&&(t=r(e))&&(n&&(n+=\" \"),n+=t);return n}export default clsx;"],"names":[],"mappings":"AAAA,SAAS,EAAE,GAAE;AAAC,MAAI,GAAE,GAAE,IAAE;AAAG,MAAG,YAAU,OAAO,KAAG,YAAU,OAAO,EAAE,MAAG;AAAA,WAAU,YAAU,OAAO,EAAE,KAAG,MAAM,QAAQ,CAAC,GAAE;AAAC,QAAI,IAAE,EAAE;AAAO,SAAI,IAAE,GAAE,IAAE,GAAE,IAAI,GAAE,CAAC,MAAI,IAAE,EAAE,EAAE,CAAC,CAAC,OAAK,MAAI,KAAG,MAAK,KAAG;AAAA,EAAE,MAAM,MAAI,KAAK,EAAE,GAAE,CAAC,MAAI,MAAI,KAAG,MAAK,KAAG;AAAG,SAAO;AAAC;AAAQ,SAAS,OAAM;AAAC,WAAQ,GAAE,GAAE,IAAE,GAAE,IAAE,IAAG,IAAE,UAAU,QAAO,IAAE,GAAE,IAAI,EAAC,IAAE,UAAU,CAAC,OAAK,IAAE,EAAE,CAAC,OAAK,MAAI,KAAG,MAAK,KAAG;AAAG,SAAO;AAAC;","x_google_ignoreList":[0]}
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
3
+ const headerContainer = "_headerContainer_1cubo_1";
4
+ const navigationTabList = "_navigationTabList_1cubo_8";
5
+ const navigationTab = "_navigationTab_1cubo_8";
6
+ const headerContent = "_headerContent_1cubo_34";
7
+ const staticEnabled = "_staticEnabled_1cubo_50";
8
+ const classes = {
9
+ headerContainer,
10
+ navigationTabList,
11
+ navigationTab,
12
+ headerContent,
13
+ staticEnabled
14
+ };
15
+ exports.default = classes;
16
+ exports.headerContainer = headerContainer;
17
+ exports.headerContent = headerContent;
18
+ exports.navigationTab = navigationTab;
19
+ exports.navigationTabList = navigationTabList;
20
+ exports.staticEnabled = staticEnabled;
21
+ //# sourceMappingURL=harmony49.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"harmony49.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;"}
@@ -0,0 +1,21 @@
1
+ const headerContainer = "_headerContainer_1cubo_1";
2
+ const navigationTabList = "_navigationTabList_1cubo_8";
3
+ const navigationTab = "_navigationTab_1cubo_8";
4
+ const headerContent = "_headerContent_1cubo_34";
5
+ const staticEnabled = "_staticEnabled_1cubo_50";
6
+ const classes = {
7
+ headerContainer,
8
+ navigationTabList,
9
+ navigationTab,
10
+ headerContent,
11
+ staticEnabled
12
+ };
13
+ export {
14
+ classes as default,
15
+ headerContainer,
16
+ headerContent,
17
+ navigationTab,
18
+ navigationTabList,
19
+ staticEnabled
20
+ };
21
+ //# sourceMappingURL=harmony49.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"harmony49.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;"}
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const jsxRuntime = require("react/jsx-runtime");
4
+ const louis = require("@lokalise/louis");
5
+ const React = require("react");
6
+ const Breadcrumbs_module = require("./harmony61.cjs");
7
+ const Breadcrumbs = ({ items }) => {
8
+ return /* @__PURE__ */ jsxRuntime.jsx("nav", { "aria-label": "breadcrumb", className: Breadcrumbs_module.default.breadcrumbs, children: items.map((item, index) => /* @__PURE__ */ jsxRuntime.jsxs(React.Fragment, { children: [
9
+ /* @__PURE__ */ jsxRuntime.jsx(louis.Link, { className: Breadcrumbs_module.default.breadcrumbsItem, href: item.link, rel: "noreferrer", children: item.name }),
10
+ index < items.length - 1 && /* @__PURE__ */ jsxRuntime.jsx("span", { children: " — " })
11
+ ] }, `${item.link}-${item.name}`)) });
12
+ };
13
+ exports.Breadcrumbs = Breadcrumbs;
14
+ //# sourceMappingURL=harmony5.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"harmony5.cjs","sources":["../src/components/NavigationPanel/components/Breadcrumbs/Breadcrumbs.tsx"],"sourcesContent":["import { Link } from '@lokalise/louis'\nimport { Fragment } from 'react'\n\nimport classes from './Breadcrumbs.module.css'\n\ntype Item = {\n\tname: string\n\tlink: string\n}\n\ntype BreadcrumbsProps = {\n\titems: Item[]\n}\n\nexport const Breadcrumbs = ({ items }: BreadcrumbsProps) => {\n\treturn (\n\t\t<nav aria-label=\"breadcrumb\" className={classes.breadcrumbs}>\n\t\t\t{items.map((item, index) => (\n\t\t\t\t<Fragment key={`${item.link}-${item.name}`}>\n\t\t\t\t\t<Link className={classes.breadcrumbsItem} href={item.link} rel=\"noreferrer\">\n\t\t\t\t\t\t{item.name}\n\t\t\t\t\t</Link>\n\t\t\t\t\t{index < items.length - 1 && <span>{' — '}</span>}\n\t\t\t\t</Fragment>\n\t\t\t))}\n\t\t</nav>\n\t)\n}\n"],"names":["jsx","classes","Fragment","Link"],"mappings":";;;;;;AAcO,MAAM,cAAc,CAAC,EAAE,YAA8B;AAC3D,SACEA,2BAAAA,IAAA,OAAA,EAAI,cAAW,cAAa,WAAWC,mBAAAA,QAAQ,aAC9C,UAAA,MAAM,IAAI,CAAC,MAAM,0CAChBC,MAAAA,UACA,EAAA,UAAA;AAAA,IAACF,2BAAAA,IAAAG,MAAAA,MAAA,EAAK,WAAWF,mBAAA,QAAQ,iBAAiB,MAAM,KAAK,MAAM,KAAI,cAC7D,UAAA,KAAK,KACP,CAAA;AAAA,IACC,QAAQ,MAAM,SAAS,KAAKD,2BAAA,IAAC,UAAM,UAAM,MAAA,CAAA;AAAA,EAAA,KAJ5B,GAAG,KAAK,IAAI,IAAI,KAAK,IAAI,EAKxC,CACA,GACF;AAEF;;"}
@@ -0,0 +1,14 @@
1
+ import { jsx, jsxs } from "react/jsx-runtime";
2
+ import { Link } from "@lokalise/louis";
3
+ import { Fragment } from "react";
4
+ import classes from "./harmony61.mjs";
5
+ const Breadcrumbs = ({ items }) => {
6
+ return /* @__PURE__ */ jsx("nav", { "aria-label": "breadcrumb", className: classes.breadcrumbs, children: items.map((item, index) => /* @__PURE__ */ jsxs(Fragment, { children: [
7
+ /* @__PURE__ */ jsx(Link, { className: classes.breadcrumbsItem, href: item.link, rel: "noreferrer", children: item.name }),
8
+ index < items.length - 1 && /* @__PURE__ */ jsx("span", { children: " — " })
9
+ ] }, `${item.link}-${item.name}`)) });
10
+ };
11
+ export {
12
+ Breadcrumbs
13
+ };
14
+ //# sourceMappingURL=harmony5.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"harmony5.mjs","sources":["../src/components/NavigationPanel/components/Breadcrumbs/Breadcrumbs.tsx"],"sourcesContent":["import { Link } from '@lokalise/louis'\nimport { Fragment } from 'react'\n\nimport classes from './Breadcrumbs.module.css'\n\ntype Item = {\n\tname: string\n\tlink: string\n}\n\ntype BreadcrumbsProps = {\n\titems: Item[]\n}\n\nexport const Breadcrumbs = ({ items }: BreadcrumbsProps) => {\n\treturn (\n\t\t<nav aria-label=\"breadcrumb\" className={classes.breadcrumbs}>\n\t\t\t{items.map((item, index) => (\n\t\t\t\t<Fragment key={`${item.link}-${item.name}`}>\n\t\t\t\t\t<Link className={classes.breadcrumbsItem} href={item.link} rel=\"noreferrer\">\n\t\t\t\t\t\t{item.name}\n\t\t\t\t\t</Link>\n\t\t\t\t\t{index < items.length - 1 && <span>{' — '}</span>}\n\t\t\t\t</Fragment>\n\t\t\t))}\n\t\t</nav>\n\t)\n}\n"],"names":[],"mappings":";;;;AAcO,MAAM,cAAc,CAAC,EAAE,YAA8B;AAC3D,SACE,oBAAA,OAAA,EAAI,cAAW,cAAa,WAAW,QAAQ,aAC9C,UAAA,MAAM,IAAI,CAAC,MAAM,+BAChB,UACA,EAAA,UAAA;AAAA,IAAC,oBAAA,MAAA,EAAK,WAAW,QAAQ,iBAAiB,MAAM,KAAK,MAAM,KAAI,cAC7D,UAAA,KAAK,KACP,CAAA;AAAA,IACC,QAAQ,MAAM,SAAS,KAAK,oBAAC,UAAM,UAAM,MAAA,CAAA;AAAA,EAAA,KAJ5B,GAAG,KAAK,IAAI,IAAI,KAAK,IAAI,EAKxC,CACA,GACF;AAEF;"}
@@ -0,0 +1,64 @@
1
+ "use strict";
2
+ Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
3
+ const React = require("react");
4
+ const utils = require("./harmony82.cjs");
5
+ function useResizeDetector({ skipOnMount = false, refreshMode, refreshRate = 1e3, refreshOptions, handleWidth = true, handleHeight = true, targetRef, observerOptions, onResize } = {}) {
6
+ const skipResize = React.useRef(skipOnMount);
7
+ const onResizeRef = utils.useCallbackRef(onResize);
8
+ const [size, setSize] = React.useState({
9
+ width: void 0,
10
+ height: void 0
11
+ });
12
+ const { refProxy, refElement } = utils.useRefProxy(targetRef);
13
+ const { box } = observerOptions || {};
14
+ const resizeCallback = React.useCallback((entries) => {
15
+ if (!handleWidth && !handleHeight)
16
+ return;
17
+ if (skipResize.current) {
18
+ skipResize.current = false;
19
+ return;
20
+ }
21
+ const shouldSetSize = (prevSize, nextSize) => handleWidth && prevSize.width !== nextSize.width || handleHeight && prevSize.height !== nextSize.height;
22
+ entries.forEach((entry) => {
23
+ const dimensions = utils.getDimensions(entry, box);
24
+ setSize((prevSize) => {
25
+ if (!shouldSetSize(prevSize, dimensions))
26
+ return prevSize;
27
+ onResizeRef === null || onResizeRef === void 0 ? void 0 : onResizeRef({
28
+ width: dimensions.width,
29
+ height: dimensions.height,
30
+ entry
31
+ });
32
+ return dimensions;
33
+ });
34
+ });
35
+ }, [handleWidth, handleHeight, skipResize, box]);
36
+ const resizeHandler = React.useCallback(utils.patchResizeCallback(resizeCallback, refreshMode, refreshRate, refreshOptions), [
37
+ resizeCallback,
38
+ refreshMode,
39
+ refreshRate,
40
+ refreshOptions
41
+ ]);
42
+ React.useEffect(() => {
43
+ let resizeObserver;
44
+ if (refElement) {
45
+ resizeObserver = new window.ResizeObserver(resizeHandler);
46
+ resizeObserver.observe(refElement, observerOptions);
47
+ } else if (size.width || size.height) {
48
+ onResizeRef === null || onResizeRef === void 0 ? void 0 : onResizeRef({
49
+ width: null,
50
+ height: null,
51
+ entry: null
52
+ });
53
+ setSize({ width: void 0, height: void 0 });
54
+ }
55
+ return () => {
56
+ var _a, _b, _c;
57
+ (_a = resizeObserver === null || resizeObserver === void 0 ? void 0 : resizeObserver.disconnect) === null || _a === void 0 ? void 0 : _a.call(resizeObserver);
58
+ (_c = (_b = resizeHandler).cancel) === null || _c === void 0 ? void 0 : _c.call(_b);
59
+ };
60
+ }, [resizeHandler, refElement]);
61
+ return Object.assign({ ref: refProxy }, size);
62
+ }
63
+ exports.default = useResizeDetector;
64
+ //# sourceMappingURL=harmony50.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"harmony50.cjs","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":["useRef","useCallbackRef","useState","useRefProxy","useCallback","getDimensions","patchResizeCallback","useEffect"],"mappings":";;;;AAIA,SAAS,kBAAkB,EAAE,cAAc,OAAO,aAAa,cAAc,KAAM,gBAAgB,cAAc,MAAM,eAAe,MAAM,WAAW,iBAAiB,SAAW,IAAG,IAAI;AAEtL,QAAM,aAAaA,MAAM,OAAC,WAAW;AAErC,QAAM,cAAcC,MAAc,eAAC,QAAQ;AAC3C,QAAM,CAAC,MAAM,OAAO,IAAIC,eAAS;AAAA,IAC7B,OAAO;AAAA,IACP,QAAQ;AAAA,EAChB,CAAK;AAED,QAAM,EAAE,UAAU,eAAeC,MAAAA,YAAY,SAAS;AACtD,QAAM,EAAE,QAAQ,mBAAmB,CAAE;AACrC,QAAM,iBAAiBC,kBAAY,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,aAAaC,MAAAA,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,gBAAgBD,MAAAA,YAAYE,MAAmB,oBAAC,gBAAgB,aAAa,aAAa,cAAc,GAAG;AAAA,IAC7G;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACR,CAAK;AAEDC,QAAAA,UAAU,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]}
@@ -0,0 +1,64 @@
1
+ import { useRef, useState, useCallback, useEffect } from "react";
2
+ import { useCallbackRef, useRefProxy, getDimensions, patchResizeCallback } from "./harmony82.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
+ }
61
+ export {
62
+ useResizeDetector as default
63
+ };
64
+ //# sourceMappingURL=harmony50.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"harmony50.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]}
@@ -0,0 +1,9 @@
1
+ "use strict";
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;
9
+ //# sourceMappingURL=harmony51.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"harmony51.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;"}
@@ -0,0 +1,9 @@
1
+ const sidebarContainer = "_sidebarContainer_bmdti_1";
2
+ const styles = {
3
+ sidebarContainer
4
+ };
5
+ export {
6
+ styles as default,
7
+ sidebarContainer
8
+ };
9
+ //# sourceMappingURL=harmony51.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"harmony51.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;"}
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const jsxRuntime = require("react/jsx-runtime");
4
+ const Avatar_module = require("./harmony65.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;
12
+ //# sourceMappingURL=harmony52.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"harmony52.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;;"}
@@ -0,0 +1,12 @@
1
+ import { jsx } from "react/jsx-runtime";
2
+ import styles from "./harmony65.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 }) });
9
+ export {
10
+ Avatar
11
+ };
12
+ //# sourceMappingURL=harmony52.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"harmony52.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;"}
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const jsxRuntime = require("react/jsx-runtime");
4
+ const louis = require("@lokalise/louis");
5
+ const clsx = require("./harmony48.cjs");
6
+ const IconLink_module = require("./harmony66.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;
21
+ //# sourceMappingURL=harmony53.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"harmony53.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;;"}
@@ -0,0 +1,21 @@
1
+ import { jsx } from "react/jsx-runtime";
2
+ import { Tooltip, Link } from "@lokalise/louis";
3
+ import { clsx } from "./harmony48.mjs";
4
+ import styles from "./harmony66.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
+ };
18
+ export {
19
+ IconLink
20
+ };
21
+ //# sourceMappingURL=harmony53.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"harmony53.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;"}
@@ -0,0 +1,26 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const jsxRuntime = require("react/jsx-runtime");
4
+ const louis = require("@lokalise/louis");
5
+ const clsx = require("./harmony48.cjs");
6
+ const Menu_module = require("./harmony67.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;
26
+ //# sourceMappingURL=harmony54.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"harmony54.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;;"}
@@ -0,0 +1,26 @@
1
+ import { jsx } from "react/jsx-runtime";
2
+ import { Menu as Menu$1, MenuList, Tooltip } from "@lokalise/louis";
3
+ import { clsx } from "./harmony48.mjs";
4
+ import styles from "./harmony67.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
+ };
23
+ export {
24
+ Menu
25
+ };
26
+ //# sourceMappingURL=harmony54.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"harmony54.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;"}
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const jsxRuntime = require("react/jsx-runtime");
4
+ const ProfileMenuContent = require("./harmony68.cjs");
5
+ const ProfileMenuProvider = require("./harmony69.cjs");
6
+ const ProfileMenu = ({ config, children }) => /* @__PURE__ */ jsxRuntime.jsx(ProfileMenuProvider.ProfileMenuProvider, { config, children: /* @__PURE__ */ jsxRuntime.jsx(ProfileMenuContent.ProfileMenuContent, { children }) });
7
+ exports.ProfileMenu = ProfileMenu;
8
+ //# sourceMappingURL=harmony55.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"harmony55.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;;"}
@@ -0,0 +1,8 @@
1
+ import { jsx } from "react/jsx-runtime";
2
+ import { ProfileMenuContent } from "./harmony68.mjs";
3
+ import { ProfileMenuProvider } from "./harmony69.mjs";
4
+ const ProfileMenu = ({ config, children }) => /* @__PURE__ */ jsx(ProfileMenuProvider, { config, children: /* @__PURE__ */ jsx(ProfileMenuContent, { children }) });
5
+ export {
6
+ ProfileMenu
7
+ };
8
+ //# sourceMappingURL=harmony55.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"harmony55.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;"}