@lokalise/harmony 2.1.2 → 2.1.3

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 (585) hide show
  1. package/dist/harmony.cjs +135 -135
  2. package/dist/harmony.mjs +79 -79
  3. package/dist/harmony106.cjs +165 -13
  4. package/dist/harmony106.cjs.map +1 -1
  5. package/dist/harmony106.mjs +165 -13
  6. package/dist/harmony106.mjs.map +1 -1
  7. package/dist/harmony107.cjs +37 -159
  8. package/dist/harmony107.cjs.map +1 -1
  9. package/dist/harmony107.mjs +38 -160
  10. package/dist/harmony107.mjs.map +1 -1
  11. package/dist/harmony108.cjs +12 -42
  12. package/dist/harmony108.cjs.map +1 -1
  13. package/dist/harmony108.mjs +12 -42
  14. package/dist/harmony108.mjs.map +1 -1
  15. package/dist/harmony11.cjs +55 -30
  16. package/dist/harmony11.cjs.map +1 -1
  17. package/dist/harmony11.mjs +55 -30
  18. package/dist/harmony11.mjs.map +1 -1
  19. package/dist/harmony112.cjs +1 -1
  20. package/dist/harmony112.mjs +1 -1
  21. package/dist/harmony113.cjs +12 -12
  22. package/dist/harmony113.mjs +12 -12
  23. package/dist/harmony115.cjs +1 -1
  24. package/dist/harmony115.mjs +1 -1
  25. package/dist/harmony116.cjs +1 -1
  26. package/dist/harmony116.mjs +1 -1
  27. package/dist/harmony117.cjs +1 -1
  28. package/dist/harmony117.mjs +1 -1
  29. package/dist/harmony12.cjs +30 -22
  30. package/dist/harmony12.cjs.map +1 -1
  31. package/dist/harmony12.mjs +30 -22
  32. package/dist/harmony12.mjs.map +1 -1
  33. package/dist/harmony121.cjs +99 -20
  34. package/dist/harmony121.cjs.map +1 -1
  35. package/dist/harmony121.mjs +82 -20
  36. package/dist/harmony121.mjs.map +1 -1
  37. package/dist/harmony122.cjs +87 -7
  38. package/dist/harmony122.cjs.map +1 -1
  39. package/dist/harmony122.mjs +87 -7
  40. package/dist/harmony122.mjs.map +1 -1
  41. package/dist/harmony123.cjs +30 -17
  42. package/dist/harmony123.cjs.map +1 -1
  43. package/dist/harmony123.mjs +30 -17
  44. package/dist/harmony123.mjs.map +1 -1
  45. package/dist/harmony124.cjs +20 -8
  46. package/dist/harmony124.cjs.map +1 -1
  47. package/dist/harmony124.mjs +20 -8
  48. package/dist/harmony124.mjs.map +1 -1
  49. package/dist/harmony125.cjs +9 -8
  50. package/dist/harmony125.cjs.map +1 -1
  51. package/dist/harmony125.mjs +8 -7
  52. package/dist/harmony125.mjs.map +1 -1
  53. package/dist/harmony126.cjs +11 -14
  54. package/dist/harmony126.cjs.map +1 -1
  55. package/dist/harmony126.mjs +11 -14
  56. package/dist/harmony126.mjs.map +1 -1
  57. package/dist/harmony127.cjs +14 -86
  58. package/dist/harmony127.cjs.map +1 -1
  59. package/dist/harmony127.mjs +14 -86
  60. package/dist/harmony127.mjs.map +1 -1
  61. package/dist/harmony128.cjs +18 -29
  62. package/dist/harmony128.cjs.map +1 -1
  63. package/dist/harmony128.mjs +18 -29
  64. package/dist/harmony128.mjs.map +1 -1
  65. package/dist/harmony129.cjs +9 -98
  66. package/dist/harmony129.cjs.map +1 -1
  67. package/dist/harmony129.mjs +9 -81
  68. package/dist/harmony129.mjs.map +1 -1
  69. package/dist/harmony13.cjs +11 -52
  70. package/dist/harmony13.cjs.map +1 -1
  71. package/dist/harmony13.mjs +11 -52
  72. package/dist/harmony13.mjs.map +1 -1
  73. package/dist/harmony130.cjs +26 -9
  74. package/dist/harmony130.cjs.map +1 -1
  75. package/dist/harmony130.mjs +25 -8
  76. package/dist/harmony130.mjs.map +1 -1
  77. package/dist/harmony131.cjs +4 -4
  78. package/dist/harmony131.cjs.map +1 -1
  79. package/dist/harmony131.mjs +5 -5
  80. package/dist/harmony131.mjs.map +1 -1
  81. package/dist/harmony132.cjs +32 -9
  82. package/dist/harmony132.cjs.map +1 -1
  83. package/dist/harmony132.mjs +34 -11
  84. package/dist/harmony132.mjs.map +1 -1
  85. package/dist/harmony133.cjs +4 -11
  86. package/dist/harmony133.cjs.map +1 -1
  87. package/dist/harmony133.mjs +7 -14
  88. package/dist/harmony133.mjs.map +1 -1
  89. package/dist/harmony134.cjs +20 -8
  90. package/dist/harmony134.cjs.map +1 -1
  91. package/dist/harmony134.mjs +21 -9
  92. package/dist/harmony134.mjs.map +1 -1
  93. package/dist/harmony135.cjs +25 -15
  94. package/dist/harmony135.cjs.map +1 -1
  95. package/dist/harmony135.mjs +27 -17
  96. package/dist/harmony135.mjs.map +1 -1
  97. package/dist/harmony136.cjs +21 -12
  98. package/dist/harmony136.cjs.map +1 -1
  99. package/dist/harmony136.mjs +20 -11
  100. package/dist/harmony136.mjs.map +1 -1
  101. package/dist/harmony137.cjs +15 -32
  102. package/dist/harmony137.cjs.map +1 -1
  103. package/dist/harmony137.mjs +17 -34
  104. package/dist/harmony137.mjs.map +1 -1
  105. package/dist/harmony138.cjs +6 -12
  106. package/dist/harmony138.cjs.map +1 -1
  107. package/dist/harmony138.mjs +5 -11
  108. package/dist/harmony138.mjs.map +1 -1
  109. package/dist/harmony139.cjs +15 -22
  110. package/dist/harmony139.cjs.map +1 -1
  111. package/dist/harmony139.mjs +14 -21
  112. package/dist/harmony139.mjs.map +1 -1
  113. package/dist/harmony14.cjs +55 -9
  114. package/dist/harmony14.cjs.map +1 -1
  115. package/dist/harmony14.mjs +55 -9
  116. package/dist/harmony14.mjs.map +1 -1
  117. package/dist/harmony140.cjs +6 -37
  118. package/dist/harmony140.cjs.map +1 -1
  119. package/dist/harmony140.mjs +5 -36
  120. package/dist/harmony140.mjs.map +1 -1
  121. package/dist/harmony141.cjs +5 -21
  122. package/dist/harmony141.cjs.map +1 -1
  123. package/dist/harmony141.mjs +5 -21
  124. package/dist/harmony141.mjs.map +1 -1
  125. package/dist/harmony142.cjs +7 -21
  126. package/dist/harmony142.cjs.map +1 -1
  127. package/dist/harmony142.mjs +7 -21
  128. package/dist/harmony142.mjs.map +1 -1
  129. package/dist/harmony143.cjs +17 -6
  130. package/dist/harmony143.cjs.map +1 -1
  131. package/dist/harmony143.mjs +16 -5
  132. package/dist/harmony143.mjs.map +1 -1
  133. package/dist/harmony144.cjs +8 -15
  134. package/dist/harmony144.cjs.map +1 -1
  135. package/dist/harmony144.mjs +7 -14
  136. package/dist/harmony144.mjs.map +1 -1
  137. package/dist/harmony145.cjs +8 -3
  138. package/dist/harmony145.cjs.map +1 -1
  139. package/dist/harmony145.mjs +8 -3
  140. package/dist/harmony145.mjs.map +1 -1
  141. package/dist/harmony146.cjs +15 -3
  142. package/dist/harmony146.cjs.map +1 -1
  143. package/dist/harmony146.mjs +15 -3
  144. package/dist/harmony146.mjs.map +1 -1
  145. package/dist/harmony147.cjs +10 -3
  146. package/dist/harmony147.cjs.map +1 -1
  147. package/dist/harmony147.mjs +10 -3
  148. package/dist/harmony147.mjs.map +1 -1
  149. package/dist/harmony148.cjs +96 -14
  150. package/dist/harmony148.cjs.map +1 -1
  151. package/dist/harmony148.mjs +96 -14
  152. package/dist/harmony148.mjs.map +1 -1
  153. package/dist/harmony149.cjs +13 -14
  154. package/dist/harmony149.cjs.map +1 -1
  155. package/dist/harmony149.mjs +13 -14
  156. package/dist/harmony149.mjs.map +1 -1
  157. package/dist/harmony15.cjs +30 -5
  158. package/dist/harmony15.cjs.map +1 -1
  159. package/dist/harmony15.mjs +30 -5
  160. package/dist/harmony15.mjs.map +1 -1
  161. package/dist/harmony150.cjs +14 -3
  162. package/dist/harmony150.cjs.map +1 -1
  163. package/dist/harmony150.mjs +14 -3
  164. package/dist/harmony150.mjs.map +1 -1
  165. package/dist/harmony151.cjs +37 -6
  166. package/dist/harmony151.cjs.map +1 -1
  167. package/dist/harmony151.mjs +36 -5
  168. package/dist/harmony151.mjs.map +1 -1
  169. package/dist/harmony152.cjs +29 -6
  170. package/dist/harmony152.cjs.map +1 -1
  171. package/dist/harmony152.mjs +28 -5
  172. package/dist/harmony152.mjs.map +1 -1
  173. package/dist/harmony153.cjs +9 -10
  174. package/dist/harmony153.cjs.map +1 -1
  175. package/dist/harmony153.mjs +8 -9
  176. package/dist/harmony153.mjs.map +1 -1
  177. package/dist/harmony154.cjs +3 -6
  178. package/dist/harmony154.cjs.map +1 -1
  179. package/dist/harmony154.mjs +3 -6
  180. package/dist/harmony154.mjs.map +1 -1
  181. package/dist/harmony155.cjs +6 -3
  182. package/dist/harmony155.cjs.map +1 -1
  183. package/dist/harmony155.mjs +6 -3
  184. package/dist/harmony155.mjs.map +1 -1
  185. package/dist/harmony156.cjs +21 -6
  186. package/dist/harmony156.cjs.map +1 -1
  187. package/dist/harmony156.mjs +21 -6
  188. package/dist/harmony156.mjs.map +1 -1
  189. package/dist/harmony157.cjs +3 -21
  190. package/dist/harmony157.cjs.map +1 -1
  191. package/dist/harmony157.mjs +3 -21
  192. package/dist/harmony157.mjs.map +1 -1
  193. package/dist/harmony158.cjs +9 -3
  194. package/dist/harmony158.cjs.map +1 -1
  195. package/dist/harmony158.mjs +9 -3
  196. package/dist/harmony158.mjs.map +1 -1
  197. package/dist/harmony159.cjs +3 -9
  198. package/dist/harmony159.cjs.map +1 -1
  199. package/dist/harmony159.mjs +3 -9
  200. package/dist/harmony159.mjs.map +1 -1
  201. package/dist/harmony16.cjs +18 -15
  202. package/dist/harmony16.cjs.map +1 -1
  203. package/dist/harmony16.mjs +18 -15
  204. package/dist/harmony16.mjs.map +1 -1
  205. package/dist/harmony160.cjs +14 -7
  206. package/dist/harmony160.cjs.map +1 -1
  207. package/dist/harmony160.mjs +13 -6
  208. package/dist/harmony160.mjs.map +1 -1
  209. package/dist/harmony161.cjs +14 -31
  210. package/dist/harmony161.cjs.map +1 -1
  211. package/dist/harmony161.mjs +14 -31
  212. package/dist/harmony161.mjs.map +1 -1
  213. package/dist/harmony162.cjs +14 -94
  214. package/dist/harmony162.cjs.map +1 -1
  215. package/dist/harmony162.mjs +14 -94
  216. package/dist/harmony162.mjs.map +1 -1
  217. package/dist/harmony163.cjs +3 -13
  218. package/dist/harmony163.cjs.map +1 -1
  219. package/dist/harmony163.mjs +3 -13
  220. package/dist/harmony163.mjs.map +1 -1
  221. package/dist/harmony164.cjs +3 -14
  222. package/dist/harmony164.cjs.map +1 -1
  223. package/dist/harmony164.mjs +3 -14
  224. package/dist/harmony164.mjs.map +1 -1
  225. package/dist/harmony165.cjs +3 -36
  226. package/dist/harmony165.cjs.map +1 -1
  227. package/dist/harmony165.mjs +3 -36
  228. package/dist/harmony165.mjs.map +1 -1
  229. package/dist/harmony166.cjs +14 -28
  230. package/dist/harmony166.cjs.map +1 -1
  231. package/dist/harmony166.mjs +14 -28
  232. package/dist/harmony166.mjs.map +1 -1
  233. package/dist/harmony167.cjs +14 -13
  234. package/dist/harmony167.cjs.map +1 -1
  235. package/dist/harmony167.mjs +14 -13
  236. package/dist/harmony167.mjs.map +1 -1
  237. package/dist/harmony168.cjs +3 -15
  238. package/dist/harmony168.cjs.map +1 -1
  239. package/dist/harmony168.mjs +3 -15
  240. package/dist/harmony168.mjs.map +1 -1
  241. package/dist/harmony169.cjs +10 -15
  242. package/dist/harmony169.cjs.map +1 -1
  243. package/dist/harmony169.mjs +10 -15
  244. package/dist/harmony169.mjs.map +1 -1
  245. package/dist/harmony17.cjs +28 -32
  246. package/dist/harmony17.cjs.map +1 -1
  247. package/dist/harmony17.mjs +28 -32
  248. package/dist/harmony17.mjs.map +1 -1
  249. package/dist/harmony170.cjs +15 -10
  250. package/dist/harmony170.cjs.map +1 -1
  251. package/dist/harmony170.mjs +15 -10
  252. package/dist/harmony170.mjs.map +1 -1
  253. package/dist/harmony171.cjs +18 -13
  254. package/dist/harmony171.cjs.map +1 -1
  255. package/dist/harmony171.mjs +18 -13
  256. package/dist/harmony171.mjs.map +1 -1
  257. package/dist/harmony172.cjs +10 -19
  258. package/dist/harmony172.cjs.map +1 -1
  259. package/dist/harmony172.mjs +10 -19
  260. package/dist/harmony172.mjs.map +1 -1
  261. package/dist/harmony173.cjs +32 -12
  262. package/dist/harmony173.cjs.map +1 -1
  263. package/dist/harmony173.mjs +32 -12
  264. package/dist/harmony173.mjs.map +1 -1
  265. package/dist/harmony174.cjs +6 -4
  266. package/dist/harmony174.cjs.map +1 -1
  267. package/dist/harmony174.mjs +6 -4
  268. package/dist/harmony174.mjs.map +1 -1
  269. package/dist/harmony175.cjs +11 -5
  270. package/dist/harmony175.cjs.map +1 -1
  271. package/dist/harmony175.mjs +11 -5
  272. package/dist/harmony175.mjs.map +1 -1
  273. package/dist/harmony176.cjs +31 -11
  274. package/dist/harmony176.cjs.map +1 -1
  275. package/dist/harmony176.mjs +31 -11
  276. package/dist/harmony176.mjs.map +1 -1
  277. package/dist/harmony177.cjs +10 -28
  278. package/dist/harmony177.cjs.map +1 -1
  279. package/dist/harmony177.mjs +10 -28
  280. package/dist/harmony177.mjs.map +1 -1
  281. package/dist/harmony178.cjs +4 -14
  282. package/dist/harmony178.cjs.map +1 -1
  283. package/dist/harmony178.mjs +4 -14
  284. package/dist/harmony178.mjs.map +1 -1
  285. package/dist/harmony18.cjs +14 -5
  286. package/dist/harmony18.cjs.map +1 -1
  287. package/dist/harmony18.mjs +14 -5
  288. package/dist/harmony18.mjs.map +1 -1
  289. package/dist/harmony19.cjs +13 -10
  290. package/dist/harmony19.cjs.map +1 -1
  291. package/dist/harmony19.mjs +13 -10
  292. package/dist/harmony19.mjs.map +1 -1
  293. package/dist/harmony20.cjs +13 -10
  294. package/dist/harmony20.cjs.map +1 -1
  295. package/dist/harmony20.mjs +13 -10
  296. package/dist/harmony20.mjs.map +1 -1
  297. package/dist/harmony21.cjs +13 -17
  298. package/dist/harmony21.cjs.map +1 -1
  299. package/dist/harmony21.mjs +13 -17
  300. package/dist/harmony21.mjs.map +1 -1
  301. package/dist/harmony22.cjs +13 -15
  302. package/dist/harmony22.cjs.map +1 -1
  303. package/dist/harmony22.mjs +13 -15
  304. package/dist/harmony22.mjs.map +1 -1
  305. package/dist/harmony23.cjs +12 -141
  306. package/dist/harmony23.cjs.map +1 -1
  307. package/dist/harmony23.mjs +12 -141
  308. package/dist/harmony23.mjs.map +1 -1
  309. package/dist/harmony24.cjs +22 -20
  310. package/dist/harmony24.cjs.map +1 -1
  311. package/dist/harmony24.mjs +22 -20
  312. package/dist/harmony24.mjs.map +1 -1
  313. package/dist/harmony25.cjs +13 -14
  314. package/dist/harmony25.cjs.map +1 -1
  315. package/dist/harmony25.mjs +13 -14
  316. package/dist/harmony25.mjs.map +1 -1
  317. package/dist/harmony26.cjs +12 -16
  318. package/dist/harmony26.cjs.map +1 -1
  319. package/dist/harmony26.mjs +13 -17
  320. package/dist/harmony26.mjs.map +1 -1
  321. package/dist/harmony27.cjs +15 -16
  322. package/dist/harmony27.cjs.map +1 -1
  323. package/dist/harmony27.mjs +16 -17
  324. package/dist/harmony27.mjs.map +1 -1
  325. package/dist/harmony28.cjs +15 -18
  326. package/dist/harmony28.cjs.map +1 -1
  327. package/dist/harmony28.mjs +15 -18
  328. package/dist/harmony28.mjs.map +1 -1
  329. package/dist/harmony29.cjs +15 -20
  330. package/dist/harmony29.cjs.map +1 -1
  331. package/dist/harmony29.mjs +15 -20
  332. package/dist/harmony29.mjs.map +1 -1
  333. package/dist/harmony30.cjs +15 -10
  334. package/dist/harmony30.cjs.map +1 -1
  335. package/dist/harmony30.mjs +15 -10
  336. package/dist/harmony30.mjs.map +1 -1
  337. package/dist/harmony31.cjs +15 -11
  338. package/dist/harmony31.cjs.map +1 -1
  339. package/dist/harmony31.mjs +15 -11
  340. package/dist/harmony31.mjs.map +1 -1
  341. package/dist/harmony32.cjs +16 -8
  342. package/dist/harmony32.cjs.map +1 -1
  343. package/dist/harmony32.mjs +16 -8
  344. package/dist/harmony32.mjs.map +1 -1
  345. package/dist/harmony33.cjs +16 -8
  346. package/dist/harmony33.cjs.map +1 -1
  347. package/dist/harmony33.mjs +16 -8
  348. package/dist/harmony33.mjs.map +1 -1
  349. package/dist/harmony34.cjs +16 -14
  350. package/dist/harmony34.cjs.map +1 -1
  351. package/dist/harmony34.mjs +16 -14
  352. package/dist/harmony34.mjs.map +1 -1
  353. package/dist/harmony35.cjs +16 -13
  354. package/dist/harmony35.cjs.map +1 -1
  355. package/dist/harmony35.mjs +16 -13
  356. package/dist/harmony35.mjs.map +1 -1
  357. package/dist/harmony36.cjs +16 -13
  358. package/dist/harmony36.cjs.map +1 -1
  359. package/dist/harmony36.mjs +16 -13
  360. package/dist/harmony36.mjs.map +1 -1
  361. package/dist/harmony37.cjs +14 -13
  362. package/dist/harmony37.cjs.map +1 -1
  363. package/dist/harmony37.mjs +14 -13
  364. package/dist/harmony37.mjs.map +1 -1
  365. package/dist/harmony38.cjs +16 -13
  366. package/dist/harmony38.cjs.map +1 -1
  367. package/dist/harmony38.mjs +16 -13
  368. package/dist/harmony38.mjs.map +1 -1
  369. package/dist/harmony39.cjs +16 -7
  370. package/dist/harmony39.cjs.map +1 -1
  371. package/dist/harmony39.mjs +16 -7
  372. package/dist/harmony39.mjs.map +1 -1
  373. package/dist/harmony40.cjs +17 -10
  374. package/dist/harmony40.cjs.map +1 -1
  375. package/dist/harmony40.mjs +17 -10
  376. package/dist/harmony40.mjs.map +1 -1
  377. package/dist/harmony41.cjs +14 -11
  378. package/dist/harmony41.cjs.map +1 -1
  379. package/dist/harmony41.mjs +14 -11
  380. package/dist/harmony41.mjs.map +1 -1
  381. package/dist/harmony42.cjs +14 -9
  382. package/dist/harmony42.cjs.map +1 -1
  383. package/dist/harmony42.mjs +14 -9
  384. package/dist/harmony42.mjs.map +1 -1
  385. package/dist/harmony43.cjs +124 -9
  386. package/dist/harmony43.cjs.map +1 -1
  387. package/dist/harmony43.mjs +124 -9
  388. package/dist/harmony43.mjs.map +1 -1
  389. package/dist/harmony44.cjs +82 -9
  390. package/dist/harmony44.cjs.map +1 -1
  391. package/dist/harmony44.mjs +82 -9
  392. package/dist/harmony44.mjs.map +1 -1
  393. package/dist/harmony45.cjs +6 -88
  394. package/dist/harmony45.cjs.map +1 -1
  395. package/dist/harmony45.mjs +6 -88
  396. package/dist/harmony45.mjs.map +1 -1
  397. package/dist/harmony46.cjs +25 -52
  398. package/dist/harmony46.cjs.map +1 -1
  399. package/dist/harmony46.mjs +25 -52
  400. package/dist/harmony46.mjs.map +1 -1
  401. package/dist/harmony47.cjs +23 -30
  402. package/dist/harmony47.cjs.map +1 -1
  403. package/dist/harmony47.mjs +23 -30
  404. package/dist/harmony47.mjs.map +1 -1
  405. package/dist/harmony48.cjs +141 -11
  406. package/dist/harmony48.cjs.map +1 -1
  407. package/dist/harmony48.mjs +140 -10
  408. package/dist/harmony48.mjs.map +1 -1
  409. package/dist/harmony49.cjs +32 -50
  410. package/dist/harmony49.cjs.map +1 -1
  411. package/dist/harmony49.mjs +32 -50
  412. package/dist/harmony49.mjs.map +1 -1
  413. package/dist/harmony5.cjs +7 -5
  414. package/dist/harmony5.cjs.map +1 -1
  415. package/dist/harmony5.mjs +7 -5
  416. package/dist/harmony5.mjs.map +1 -1
  417. package/dist/harmony50.cjs +26 -30
  418. package/dist/harmony50.cjs.map +1 -1
  419. package/dist/harmony50.mjs +26 -30
  420. package/dist/harmony50.mjs.map +1 -1
  421. package/dist/harmony51.cjs +4 -18
  422. package/dist/harmony51.cjs.map +1 -1
  423. package/dist/harmony51.mjs +4 -18
  424. package/dist/harmony51.mjs.map +1 -1
  425. package/dist/harmony52.cjs +81 -25
  426. package/dist/harmony52.cjs.map +1 -1
  427. package/dist/harmony52.mjs +81 -25
  428. package/dist/harmony52.mjs.map +1 -1
  429. package/dist/harmony53.cjs +46 -13
  430. package/dist/harmony53.cjs.map +1 -1
  431. package/dist/harmony53.mjs +45 -12
  432. package/dist/harmony53.mjs.map +1 -1
  433. package/dist/harmony54.cjs +18 -14
  434. package/dist/harmony54.cjs.map +1 -1
  435. package/dist/harmony54.mjs +18 -14
  436. package/dist/harmony54.mjs.map +1 -1
  437. package/dist/harmony55.cjs +30 -14
  438. package/dist/harmony55.cjs.map +1 -1
  439. package/dist/harmony55.mjs +30 -14
  440. package/dist/harmony55.mjs.map +1 -1
  441. package/dist/harmony56.cjs +22 -13
  442. package/dist/harmony56.cjs.map +1 -1
  443. package/dist/harmony56.mjs +22 -13
  444. package/dist/harmony56.mjs.map +1 -1
  445. package/dist/harmony57.cjs +52 -14
  446. package/dist/harmony57.cjs.map +1 -1
  447. package/dist/harmony57.mjs +52 -14
  448. package/dist/harmony57.mjs.map +1 -1
  449. package/dist/harmony58.cjs +9 -13
  450. package/dist/harmony58.cjs.map +1 -1
  451. package/dist/harmony58.mjs +9 -13
  452. package/dist/harmony58.mjs.map +1 -1
  453. package/dist/harmony59.cjs +5 -22
  454. package/dist/harmony59.cjs.map +1 -1
  455. package/dist/harmony59.mjs +5 -22
  456. package/dist/harmony59.mjs.map +1 -1
  457. package/dist/harmony6.cjs +1 -1
  458. package/dist/harmony6.mjs +2 -2
  459. package/dist/harmony60.cjs +14 -12
  460. package/dist/harmony60.cjs.map +1 -1
  461. package/dist/harmony60.mjs +14 -12
  462. package/dist/harmony60.mjs.map +1 -1
  463. package/dist/harmony61.cjs +31 -12
  464. package/dist/harmony61.cjs.map +1 -1
  465. package/dist/harmony61.mjs +31 -12
  466. package/dist/harmony61.mjs.map +1 -1
  467. package/dist/harmony62.cjs +5 -17
  468. package/dist/harmony62.cjs.map +1 -1
  469. package/dist/harmony62.mjs +5 -17
  470. package/dist/harmony62.mjs.map +1 -1
  471. package/dist/harmony63.cjs +10 -16
  472. package/dist/harmony63.cjs.map +1 -1
  473. package/dist/harmony63.mjs +10 -16
  474. package/dist/harmony63.mjs.map +1 -1
  475. package/dist/harmony64.cjs +11 -15
  476. package/dist/harmony64.cjs.map +1 -1
  477. package/dist/harmony64.mjs +11 -15
  478. package/dist/harmony64.mjs.map +1 -1
  479. package/dist/harmony65.cjs +18 -15
  480. package/dist/harmony65.cjs.map +1 -1
  481. package/dist/harmony65.mjs +18 -15
  482. package/dist/harmony65.mjs.map +1 -1
  483. package/dist/harmony66.cjs +16 -15
  484. package/dist/harmony66.cjs.map +1 -1
  485. package/dist/harmony66.mjs +16 -15
  486. package/dist/harmony66.mjs.map +1 -1
  487. package/dist/harmony67.cjs +142 -17
  488. package/dist/harmony67.cjs.map +1 -1
  489. package/dist/harmony67.mjs +142 -17
  490. package/dist/harmony67.mjs.map +1 -1
  491. package/dist/harmony68.cjs +19 -16
  492. package/dist/harmony68.cjs.map +1 -1
  493. package/dist/harmony68.mjs +19 -16
  494. package/dist/harmony68.mjs.map +1 -1
  495. package/dist/harmony69.cjs +13 -16
  496. package/dist/harmony69.cjs.map +1 -1
  497. package/dist/harmony69.mjs +13 -16
  498. package/dist/harmony69.mjs.map +1 -1
  499. package/dist/harmony70.cjs +15 -15
  500. package/dist/harmony70.cjs.map +1 -1
  501. package/dist/harmony70.mjs +16 -16
  502. package/dist/harmony70.mjs.map +1 -1
  503. package/dist/harmony71.cjs +16 -15
  504. package/dist/harmony71.cjs.map +1 -1
  505. package/dist/harmony71.mjs +17 -16
  506. package/dist/harmony71.mjs.map +1 -1
  507. package/dist/harmony72.cjs +20 -15
  508. package/dist/harmony72.cjs.map +1 -1
  509. package/dist/harmony72.mjs +20 -15
  510. package/dist/harmony72.mjs.map +1 -1
  511. package/dist/harmony73.cjs +19 -16
  512. package/dist/harmony73.cjs.map +1 -1
  513. package/dist/harmony73.mjs +19 -16
  514. package/dist/harmony73.mjs.map +1 -1
  515. package/dist/harmony74.cjs +8 -15
  516. package/dist/harmony74.cjs.map +1 -1
  517. package/dist/harmony74.mjs +8 -15
  518. package/dist/harmony74.mjs.map +1 -1
  519. package/dist/harmony75.cjs +9 -16
  520. package/dist/harmony75.cjs.map +1 -1
  521. package/dist/harmony75.mjs +9 -16
  522. package/dist/harmony75.mjs.map +1 -1
  523. package/dist/harmony76.cjs +9 -14
  524. package/dist/harmony76.cjs.map +1 -1
  525. package/dist/harmony76.mjs +9 -14
  526. package/dist/harmony76.mjs.map +1 -1
  527. package/dist/harmony77.cjs +9 -14
  528. package/dist/harmony77.cjs.map +1 -1
  529. package/dist/harmony77.mjs +9 -14
  530. package/dist/harmony77.mjs.map +1 -1
  531. package/dist/harmony78.cjs +15 -124
  532. package/dist/harmony78.cjs.map +1 -1
  533. package/dist/harmony78.mjs +15 -124
  534. package/dist/harmony78.mjs.map +1 -1
  535. package/dist/harmony79.cjs +14 -82
  536. package/dist/harmony79.cjs.map +1 -1
  537. package/dist/harmony79.mjs +14 -82
  538. package/dist/harmony79.mjs.map +1 -1
  539. package/dist/harmony80.cjs +14 -6
  540. package/dist/harmony80.cjs.map +1 -1
  541. package/dist/harmony80.mjs +14 -6
  542. package/dist/harmony80.mjs.map +1 -1
  543. package/dist/harmony81.cjs +14 -28
  544. package/dist/harmony81.cjs.map +1 -1
  545. package/dist/harmony81.mjs +14 -28
  546. package/dist/harmony81.mjs.map +1 -1
  547. package/dist/harmony82.cjs +14 -24
  548. package/dist/harmony82.cjs.map +1 -1
  549. package/dist/harmony82.mjs +14 -24
  550. package/dist/harmony82.mjs.map +1 -1
  551. package/dist/harmony83.cjs +8 -141
  552. package/dist/harmony83.cjs.map +1 -1
  553. package/dist/harmony83.mjs +8 -141
  554. package/dist/harmony83.mjs.map +1 -1
  555. package/dist/harmony84.cjs +11 -37
  556. package/dist/harmony84.cjs.map +1 -1
  557. package/dist/harmony84.mjs +11 -37
  558. package/dist/harmony84.mjs.map +1 -1
  559. package/dist/harmony85.cjs +11 -26
  560. package/dist/harmony85.cjs.map +1 -1
  561. package/dist/harmony85.mjs +11 -26
  562. package/dist/harmony85.mjs.map +1 -1
  563. package/dist/harmony86.cjs +9 -4
  564. package/dist/harmony86.cjs.map +1 -1
  565. package/dist/harmony86.mjs +9 -4
  566. package/dist/harmony86.mjs.map +1 -1
  567. package/dist/harmony87.cjs +9 -84
  568. package/dist/harmony87.cjs.map +1 -1
  569. package/dist/harmony87.mjs +9 -84
  570. package/dist/harmony87.mjs.map +1 -1
  571. package/dist/harmony88.cjs +9 -47
  572. package/dist/harmony88.cjs.map +1 -1
  573. package/dist/harmony88.mjs +9 -47
  574. package/dist/harmony88.mjs.map +1 -1
  575. package/dist/harmony89.cjs +88 -18
  576. package/dist/harmony89.cjs.map +1 -1
  577. package/dist/harmony89.mjs +88 -18
  578. package/dist/harmony89.mjs.map +1 -1
  579. package/dist/harmony94.cjs +1 -1
  580. package/dist/harmony94.mjs +1 -1
  581. package/dist/harmony98.cjs +2 -2
  582. package/dist/harmony98.mjs +2 -2
  583. package/dist/harmony99.cjs +4 -4
  584. package/dist/harmony99.mjs +4 -4
  585. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"harmony85.mjs","sources":["../src/features/publicApi/types/sharedTypes.ts"],"sourcesContent":["import { z } from 'zod'\n\nexport const AUTHORIZATION_HEADER_SCHEMA = z.union([\n\tz.object({ authorization: z.string() }),\n\tz.object({ AUTHORIZATION: z.string() }),\n])\n\nexport const APU_TOKEN_AUTH_HEADER_SCHEMA = z.union([\n\tz.object({ 'X-API-Token': z.string() }),\n\tz.object({ 'X-Api-Token': z.string() }),\n\tz.object({ 'x-api-token': z.string() }),\n\tz.object({ 'X-API-TOKEN': z.string() }),\n])\n\nexport const AUTHENTICATION_HEADERS_SCHEMA = z.union([\n\tAUTHORIZATION_HEADER_SCHEMA,\n\tAPU_TOKEN_AUTH_HEADER_SCHEMA,\n])\n\nexport type AuthenticationHeaders = z.infer<typeof AUTHENTICATION_HEADERS_SCHEMA>\n\nexport const API_PLUGIN_HEADER_SCHEMA = z.union([\n\tz.object({ 'X-Lokalise-Plugin': z.string() }),\n\tz.object({ 'x-lokalise-plugin': z.string() }),\n\tz.object({ 'X-LOKALISE-PLUGIN': z.string() }),\n])\n\nexport type ApiPluginHeader = z.infer<typeof API_PLUGIN_HEADER_SCHEMA>\n\nexport const BASE_API_ENDPOINT_HEADER_SCHEMA =\n\tAUTHENTICATION_HEADERS_SCHEMA.and(API_PLUGIN_HEADER_SCHEMA)\n\nexport type BaseApiEndpointHeader = z.infer<typeof BASE_API_ENDPOINT_HEADER_SCHEMA>\n"],"names":[],"mappings":";AAEa,MAAA,8BAA8B,EAAE,MAAM;AAAA,EAClD,EAAE,OAAO,EAAE,eAAe,EAAE,UAAU;AAAA,EACtC,EAAE,OAAO,EAAE,eAAe,EAAE,OAAA,EAAU,CAAA;AACvC,CAAC;AAEY,MAAA,+BAA+B,EAAE,MAAM;AAAA,EACnD,EAAE,OAAO,EAAE,eAAe,EAAE,UAAU;AAAA,EACtC,EAAE,OAAO,EAAE,eAAe,EAAE,UAAU;AAAA,EACtC,EAAE,OAAO,EAAE,eAAe,EAAE,UAAU;AAAA,EACtC,EAAE,OAAO,EAAE,eAAe,EAAE,OAAA,EAAU,CAAA;AACvC,CAAC;AAEY,MAAA,gCAAgC,EAAE,MAAM;AAAA,EACpD;AAAA,EACA;AACD,CAAC;AAIY,MAAA,2BAA2B,EAAE,MAAM;AAAA,EAC/C,EAAE,OAAO,EAAE,qBAAqB,EAAE,UAAU;AAAA,EAC5C,EAAE,OAAO,EAAE,qBAAqB,EAAE,UAAU;AAAA,EAC5C,EAAE,OAAO,EAAE,qBAAqB,EAAE,OAAA,EAAU,CAAA;AAC7C,CAAC;AAIY,MAAA,kCACZ,8BAA8B,IAAI,wBAAwB;"}
1
+ {"version":3,"file":"harmony85.mjs","sources":["../src/features/permissions/hooks/useCanPerformAnyAction.ts"],"sourcesContent":["import type { Action } from '@features/permissions/action'\nimport { useActionResolverPayload } from '@features/permissions/hooks/useActionResolverPayload'\nimport { canPerformAction } from '@features/permissions/utils/canPerformAction'\nimport { useMemo } from 'react'\n\n/**\n * React hook to determine if the current user has permission to perform at least one of the specified actions.\n *\n * This hook is useful for conditionally rendering UI elements or triggering logic\n * that should be available if the user has any of a set of permissions.\n * It returns true if the user can perform at least one action in the provided list.\n *\n * @param actions A list of actions to check permissions for (e.g. 'accessMarketingProjects', 'deleteProjects').\n * @returns {boolean} True if the user can perform any action, otherwise false.\n *\n * @example\n * // Check if the user can either access marketing projects or delete projects\n * const canDoAny = useCanPerformAnyAction(\"accessMarketingProjects\", \"deleteProjects\");\n * if (canDoAny) {\n * // show details or enable actions\n * }\n */\nexport const useCanPerformAnyAction = (...actions: Action[]): boolean => {\n\tconst payload = useActionResolverPayload()\n\n\t// The reason for using `actions.join()` is to ensure that the memoization will not recompute\n\t// unless the actions themselves change. This is required as collecting the actions with `...actions`\n\t// will result in a new array reference on every render, which would cause the memoization to invalidate.\n\t// biome-ignore lint/correctness/useExhaustiveDependencies: Explained above\n\treturn useMemo(\n\t\t() => actions.some((action) => canPerformAction(action, payload)),\n\t\t[payload, actions.join()],\n\t)\n}\n"],"names":[],"mappings":";;;AAsBa,MAAA,yBAAyB,IAAI,YAA+B;AACxE,QAAM,UAAU,yBAAyB;AAMlC,SAAA;AAAA,IACN,MAAM,QAAQ,KAAK,CAAC,WAAW,iBAAiB,QAAQ,OAAO,CAAC;AAAA,IAChE,CAAC,SAAS,QAAQ,KAAM,CAAA;AAAA,EACzB;AACD;"}
@@ -1,7 +1,12 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const types = require("./harmony45.cjs");
4
- const zod = require("zod");
5
- const TEAM_ROLE_SCHEMA = zod.z.enum(types.TEAM_ROLES);
6
- exports.TEAM_ROLE_SCHEMA = TEAM_ROLE_SCHEMA;
3
+ const useActionResolverPayload = require("./harmony143.cjs");
4
+ const hasAny = require("./harmony144.cjs");
5
+ const React = require("react");
6
+ const useHasAnyFeatureFlags = (...features) => {
7
+ const { enabledFeatureFlags } = useActionResolverPayload.useActionResolverPayload();
8
+ const key = features.join("");
9
+ return React.useMemo(() => hasAny.hasAny(enabledFeatureFlags, ...features), [key, enabledFeatureFlags]);
10
+ };
11
+ exports.useHasAnyFeatureFlags = useHasAnyFeatureFlags;
7
12
  //# sourceMappingURL=harmony86.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"harmony86.cjs","sources":["../src/features/publicApi/types/teamRoleTypes.ts"],"sourcesContent":["import { TEAM_ROLES } from '@features/permissions/types'\nimport { z } from 'zod'\n\nexport const TEAM_ROLE_SCHEMA = z.enum(TEAM_ROLES)\n"],"names":["z","TEAM_ROLES"],"mappings":";;;;AAGa,MAAA,mBAAmBA,IAAAA,EAAE,KAAKC,MAAU,UAAA;;"}
1
+ {"version":3,"file":"harmony86.cjs","sources":["../src/features/permissions/hooks/useHasAnyFeatureFlags.ts"],"sourcesContent":["import { useActionResolverPayload } from '@features/permissions/hooks/useActionResolverPayload'\nimport type { FeatureFlag } from '@features/permissions/types'\nimport { hasAny } from '@features/permissions/utils/hasAny'\nimport { useMemo } from 'react'\n\nexport const useHasAnyFeatureFlags = (...features: FeatureFlag[]) => {\n\tconst { enabledFeatureFlags } = useActionResolverPayload()\n\tconst key = features.join('')\n\n\t// biome-ignore lint/correctness/useExhaustiveDependencies: Using key as spreading parameters will create a new array on every render.\n\treturn useMemo(() => hasAny(enabledFeatureFlags, ...features), [key, enabledFeatureFlags])\n}\n"],"names":["useActionResolverPayload","useMemo","hasAny"],"mappings":";;;;;AAKa,MAAA,wBAAwB,IAAI,aAA4B;AAC9D,QAAA,EAAE,oBAAoB,IAAIA,kDAAyB;AACnD,QAAA,MAAM,SAAS,KAAK,EAAE;AAGrB,SAAAC,MAAA,QAAQ,MAAMC,OAAAA,OAAO,qBAAqB,GAAG,QAAQ,GAAG,CAAC,KAAK,mBAAmB,CAAC;AAC1F;;"}
@@ -1,7 +1,12 @@
1
- import { TEAM_ROLES } from "./harmony45.mjs";
2
- import { z } from "zod";
3
- const TEAM_ROLE_SCHEMA = z.enum(TEAM_ROLES);
1
+ import { useActionResolverPayload } from "./harmony143.mjs";
2
+ import { hasAny } from "./harmony144.mjs";
3
+ import { useMemo } from "react";
4
+ const useHasAnyFeatureFlags = (...features) => {
5
+ const { enabledFeatureFlags } = useActionResolverPayload();
6
+ const key = features.join("");
7
+ return useMemo(() => hasAny(enabledFeatureFlags, ...features), [key, enabledFeatureFlags]);
8
+ };
4
9
  export {
5
- TEAM_ROLE_SCHEMA
10
+ useHasAnyFeatureFlags
6
11
  };
7
12
  //# sourceMappingURL=harmony86.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"harmony86.mjs","sources":["../src/features/publicApi/types/teamRoleTypes.ts"],"sourcesContent":["import { TEAM_ROLES } from '@features/permissions/types'\nimport { z } from 'zod'\n\nexport const TEAM_ROLE_SCHEMA = z.enum(TEAM_ROLES)\n"],"names":[],"mappings":";;AAGa,MAAA,mBAAmB,EAAE,KAAK,UAAU;"}
1
+ {"version":3,"file":"harmony86.mjs","sources":["../src/features/permissions/hooks/useHasAnyFeatureFlags.ts"],"sourcesContent":["import { useActionResolverPayload } from '@features/permissions/hooks/useActionResolverPayload'\nimport type { FeatureFlag } from '@features/permissions/types'\nimport { hasAny } from '@features/permissions/utils/hasAny'\nimport { useMemo } from 'react'\n\nexport const useHasAnyFeatureFlags = (...features: FeatureFlag[]) => {\n\tconst { enabledFeatureFlags } = useActionResolverPayload()\n\tconst key = features.join('')\n\n\t// biome-ignore lint/correctness/useExhaustiveDependencies: Using key as spreading parameters will create a new array on every render.\n\treturn useMemo(() => hasAny(enabledFeatureFlags, ...features), [key, enabledFeatureFlags])\n}\n"],"names":[],"mappings":";;;AAKa,MAAA,wBAAwB,IAAI,aAA4B;AAC9D,QAAA,EAAE,oBAAoB,IAAI,yBAAyB;AACnD,QAAA,MAAM,SAAS,KAAK,EAAE;AAGrB,SAAA,QAAQ,MAAM,OAAO,qBAAqB,GAAG,QAAQ,GAAG,CAAC,KAAK,mBAAmB,CAAC;AAC1F;"}
@@ -1,87 +1,12 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const paginationTypes = require("./harmony80.cjs");
4
- const sharedTypes = require("./harmony85.cjs");
5
- const zod = require("zod");
6
- const TEAM_API_BASE_HEADERS_SCHEMA = sharedTypes.BASE_API_ENDPOINT_HEADER_SCHEMA;
7
- const EXTENDED_DATE_TIME_SCHEMA = zod.z.union([
8
- zod.z.string().refine((val) => /^\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2} \(.*\)$/.test(val), {
9
- message: "Invalid datetime format"
10
- }),
11
- zod.z.string().datetime({ offset: true }),
12
- zod.z.string().datetime()
13
- ]);
14
- const TEAMS_QUOTA_METRICS = [
15
- "users",
16
- "keys",
17
- "projects",
18
- "mau",
19
- "trafficBytes",
20
- "ai_words"
21
- ];
22
- const TEAMS_QUOTA_METRICS_SCHEMA = zod.z.enum(TEAMS_QUOTA_METRICS);
23
- const TEAMS_QUOTA_USAGE_SCHEMA = zod.z.record(TEAMS_QUOTA_METRICS_SCHEMA, zod.z.number());
24
- const TEAMS_QUOTA_ALLOWED_SCHEMA = zod.z.record(TEAMS_QUOTA_METRICS_SCHEMA, zod.z.number());
25
- const LIST_TEAMS_QUERY_SCHEMA = paginationTypes.PAGINATION_QUERY_PARAMS_SCHEMA;
26
- const LIST_TEAMS_RESPONSE_SCHEMA = zod.z.object({
27
- teams: zod.z.array(
28
- zod.z.object({
29
- team_id: zod.z.number(),
30
- // TODO: This should not be optional, but the API is not consistent yet
31
- uuid: zod.z.string().uuid().optional(),
32
- name: zod.z.string(),
33
- plan: zod.z.string(),
34
- logo_url: zod.z.string().nullable(),
35
- role: zod.z.string(),
36
- created_at: EXTENDED_DATE_TIME_SCHEMA,
37
- created_at_timestamp: zod.z.number(),
38
- quota_usage: TEAMS_QUOTA_USAGE_SCHEMA,
39
- quota_allowed: TEAMS_QUOTA_ALLOWED_SCHEMA
40
- })
41
- )
42
- });
43
- const TEAM_QUOTA_METRICS_SCHEMA = zod.z.object({
44
- id: zod.z.number().nullable().optional(),
45
- users: zod.z.number(),
46
- keys: zod.z.number(),
47
- projects: zod.z.number(),
48
- mau: zod.z.number(),
49
- trafficBytes: zod.z.number(),
50
- aiWords: zod.z.number()
51
- });
52
- const TEAM_QUOTA_USAGE_SCHEMA = TEAM_QUOTA_METRICS_SCHEMA;
53
- const TEAM_QUOTA_ALLOWED_SCHEMA = TEAM_QUOTA_METRICS_SCHEMA;
54
- const RETRIEVE_TEAM_PATH_PARAMS_SCHEMA = zod.z.object({
55
- teamId: zod.z.union([zod.z.string().uuid(), zod.z.number()])
56
- });
57
- const RETRIEVE_TEAM_RESPONSE_SCHEMA = zod.z.object({
58
- team: zod.z.object({
59
- team_id: zod.z.number(),
60
- // TODO: This should not be optional, but the API is not consistent yet
61
- uuid: zod.z.string().uuid().optional(),
62
- name: zod.z.string(),
63
- plan_name: zod.z.string(),
64
- created_at: EXTENDED_DATE_TIME_SCHEMA,
65
- created_at_timestamp: zod.z.number(),
66
- logo_url: zod.z.string().nullable(),
67
- role: zod.z.string(),
68
- quota_usage: TEAM_QUOTA_USAGE_SCHEMA,
69
- quota_allowed: TEAM_QUOTA_ALLOWED_SCHEMA,
70
- is_team_suspended: zod.z.boolean(),
71
- is_end_of_trial_active: zod.z.boolean(),
72
- trial_days_left: zod.z.number()
73
- })
74
- });
75
- exports.LIST_TEAMS_QUERY_SCHEMA = LIST_TEAMS_QUERY_SCHEMA;
76
- exports.LIST_TEAMS_RESPONSE_SCHEMA = LIST_TEAMS_RESPONSE_SCHEMA;
77
- exports.RETRIEVE_TEAM_PATH_PARAMS_SCHEMA = RETRIEVE_TEAM_PATH_PARAMS_SCHEMA;
78
- exports.RETRIEVE_TEAM_RESPONSE_SCHEMA = RETRIEVE_TEAM_RESPONSE_SCHEMA;
79
- exports.TEAMS_QUOTA_ALLOWED_SCHEMA = TEAMS_QUOTA_ALLOWED_SCHEMA;
80
- exports.TEAMS_QUOTA_METRICS = TEAMS_QUOTA_METRICS;
81
- exports.TEAMS_QUOTA_METRICS_SCHEMA = TEAMS_QUOTA_METRICS_SCHEMA;
82
- exports.TEAMS_QUOTA_USAGE_SCHEMA = TEAMS_QUOTA_USAGE_SCHEMA;
83
- exports.TEAM_API_BASE_HEADERS_SCHEMA = TEAM_API_BASE_HEADERS_SCHEMA;
84
- exports.TEAM_QUOTA_ALLOWED_SCHEMA = TEAM_QUOTA_ALLOWED_SCHEMA;
85
- exports.TEAM_QUOTA_METRICS_SCHEMA = TEAM_QUOTA_METRICS_SCHEMA;
86
- exports.TEAM_QUOTA_USAGE_SCHEMA = TEAM_QUOTA_USAGE_SCHEMA;
3
+ const useActionResolverPayload = require("./harmony143.cjs");
4
+ const has = require("./harmony145.cjs");
5
+ const React = require("react");
6
+ const useHasAllFeatureFlags = (...features) => {
7
+ const { enabledFeatureFlags } = useActionResolverPayload.useActionResolverPayload();
8
+ const key = features.join("");
9
+ return React.useMemo(() => has.has(enabledFeatureFlags, ...features), [key, enabledFeatureFlags]);
10
+ };
11
+ exports.useHasAllFeatureFlags = useHasAllFeatureFlags;
87
12
  //# sourceMappingURL=harmony87.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"harmony87.cjs","sources":["../src/features/publicApi/types/teamTypes.ts"],"sourcesContent":["import { PAGINATION_QUERY_PARAMS_SCHEMA } from '@features/publicApi/types/paginationTypes'\nimport { BASE_API_ENDPOINT_HEADER_SCHEMA } from '@features/publicApi/types/sharedTypes'\nimport { z } from 'zod'\n\n// Shared schema\nexport const TEAM_API_BASE_HEADERS_SCHEMA = BASE_API_ENDPOINT_HEADER_SCHEMA\n\nexport type TeamApiBaseHeaders = z.infer<typeof TEAM_API_BASE_HEADERS_SCHEMA>\n\n/**\n * TODO - created_at is using custom format like 2024-10-03 09:45:52 (Etc/UTC)\n * instead of ISO 8601 which is expected by ZOD and we need a custom datetime schema\n */\nconst EXTENDED_DATE_TIME_SCHEMA = z.union([\n\tz.string().refine((val) => /^\\d{4}-\\d{2}-\\d{2} \\d{2}:\\d{2}:\\d{2} \\(.*\\)$/.test(val), {\n\t\tmessage: 'Invalid datetime format',\n\t}),\n\tz.string().datetime({ offset: true }),\n\tz.string().datetime(),\n])\n\n// There are too many differences between teams list and retrieving team\n// It is better to keep schemas separately\n\n// List teams\nexport const TEAMS_QUOTA_METRICS = [\n\t'users',\n\t'keys',\n\t'projects',\n\t'mau',\n\t'trafficBytes',\n\t'ai_words',\n] as const\n\nexport const TEAMS_QUOTA_METRICS_SCHEMA = z.enum(TEAMS_QUOTA_METRICS)\nexport type TeamsQuotaMetrics = z.infer<typeof TEAMS_QUOTA_METRICS_SCHEMA>\n\nexport const TEAMS_QUOTA_USAGE_SCHEMA = z.record(TEAMS_QUOTA_METRICS_SCHEMA, z.number())\nexport type TeamsQuotaUsage = z.infer<typeof TEAMS_QUOTA_USAGE_SCHEMA>\n\nexport const TEAMS_QUOTA_ALLOWED_SCHEMA = z.record(TEAMS_QUOTA_METRICS_SCHEMA, z.number())\nexport type TeamsQuotaAllowed = z.infer<typeof TEAMS_QUOTA_ALLOWED_SCHEMA>\n\nexport const LIST_TEAMS_QUERY_SCHEMA = PAGINATION_QUERY_PARAMS_SCHEMA\nexport type ListTeamsQueryParams = z.infer<typeof LIST_TEAMS_QUERY_SCHEMA>\n\nexport const LIST_TEAMS_RESPONSE_SCHEMA = z.object({\n\tteams: z.array(\n\t\tz.object({\n\t\t\tteam_id: z.number(),\n\t\t\t// TODO: This should not be optional, but the API is not consistent yet\n\t\t\tuuid: z.string().uuid().optional(),\n\t\t\tname: z.string(),\n\t\t\tplan: z.string(),\n\t\t\tlogo_url: z.string().nullable(),\n\t\t\trole: z.string(),\n\t\t\tcreated_at: EXTENDED_DATE_TIME_SCHEMA,\n\t\t\tcreated_at_timestamp: z.number(),\n\t\t\tquota_usage: TEAMS_QUOTA_USAGE_SCHEMA,\n\t\t\tquota_allowed: TEAMS_QUOTA_ALLOWED_SCHEMA,\n\t\t}),\n\t),\n})\n\nexport type ListTeamsResponse = z.infer<typeof LIST_TEAMS_RESPONSE_SCHEMA>\n\n// Retrieve team\nexport const TEAM_QUOTA_METRICS_SCHEMA = z.object({\n\tid: z.number().nullable().optional(),\n\tusers: z.number(),\n\tkeys: z.number(),\n\tprojects: z.number(),\n\tmau: z.number(),\n\ttrafficBytes: z.number(),\n\taiWords: z.number(),\n})\n\nexport type TeamQuotaMetrics = z.infer<typeof TEAM_QUOTA_METRICS_SCHEMA>\n\nexport const TEAM_QUOTA_USAGE_SCHEMA = TEAM_QUOTA_METRICS_SCHEMA\nexport type TeamQuotaUsage = z.infer<typeof TEAM_QUOTA_USAGE_SCHEMA>\n\nexport const TEAM_QUOTA_ALLOWED_SCHEMA = TEAM_QUOTA_METRICS_SCHEMA\nexport type TeamQuotaAllowed = z.infer<typeof TEAM_QUOTA_ALLOWED_SCHEMA>\n\nexport const RETRIEVE_TEAM_PATH_PARAMS_SCHEMA = z.object({\n\tteamId: z.union([z.string().uuid(), z.number()]),\n})\n\nexport type RetrieveTeamPathParams = z.infer<typeof RETRIEVE_TEAM_PATH_PARAMS_SCHEMA>\n\nexport const RETRIEVE_TEAM_RESPONSE_SCHEMA = z.object({\n\tteam: z.object({\n\t\tteam_id: z.number(),\n\t\t// TODO: This should not be optional, but the API is not consistent yet\n\t\tuuid: z.string().uuid().optional(),\n\t\tname: z.string(),\n\t\tplan_name: z.string(),\n\t\tcreated_at: EXTENDED_DATE_TIME_SCHEMA,\n\t\tcreated_at_timestamp: z.number(),\n\t\tlogo_url: z.string().nullable(),\n\t\trole: z.string(),\n\t\tquota_usage: TEAM_QUOTA_USAGE_SCHEMA,\n\t\tquota_allowed: TEAM_QUOTA_ALLOWED_SCHEMA,\n\t\tis_team_suspended: z.boolean(),\n\t\tis_end_of_trial_active: z.boolean(),\n\t\ttrial_days_left: z.number(),\n\t}),\n})\n\nexport type RetrieveTeamResponse = z.infer<typeof RETRIEVE_TEAM_RESPONSE_SCHEMA>\n"],"names":["BASE_API_ENDPOINT_HEADER_SCHEMA","z","PAGINATION_QUERY_PARAMS_SCHEMA"],"mappings":";;;;;AAKO,MAAM,+BAA+BA,YAAAA;AAQ5C,MAAM,4BAA4BC,MAAE,MAAM;AAAA,EACzCA,MAAE,OAAS,EAAA,OAAO,CAAC,QAAQ,+CAA+C,KAAK,GAAG,GAAG;AAAA,IACpF,SAAS;AAAA,EAAA,CACT;AAAA,EACDA,MAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,MAAM;AAAA,EACpCA,IAAA,EAAE,OAAO,EAAE,SAAS;AACrB,CAAC;AAMM,MAAM,sBAAsB;AAAA,EAClC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACD;AAEa,MAAA,6BAA6BA,IAAAA,EAAE,KAAK,mBAAmB;AAG7D,MAAM,2BAA2BA,IAAAA,EAAE,OAAO,4BAA4BA,IAAAA,EAAE,OAAQ,CAAA;AAGhF,MAAM,6BAA6BA,IAAAA,EAAE,OAAO,4BAA4BA,IAAAA,EAAE,OAAQ,CAAA;AAGlF,MAAM,0BAA0BC,gBAAAA;AAG1B,MAAA,6BAA6BD,MAAE,OAAO;AAAA,EAClD,OAAOA,IAAE,EAAA;AAAA,IACRA,IAAAA,EAAE,OAAO;AAAA,MACR,SAASA,MAAE,OAAO;AAAA;AAAA,MAElB,MAAMA,IAAAA,EAAE,OAAS,EAAA,KAAA,EAAO,SAAS;AAAA,MACjC,MAAMA,MAAE,OAAO;AAAA,MACf,MAAMA,MAAE,OAAO;AAAA,MACf,UAAUA,IAAA,EAAE,OAAO,EAAE,SAAS;AAAA,MAC9B,MAAMA,MAAE,OAAO;AAAA,MACf,YAAY;AAAA,MACZ,sBAAsBA,MAAE,OAAO;AAAA,MAC/B,aAAa;AAAA,MACb,eAAe;AAAA,IACf,CAAA;AAAA,EAAA;AAEH,CAAC;AAKY,MAAA,4BAA4BA,MAAE,OAAO;AAAA,EACjD,IAAIA,IAAAA,EAAE,OAAS,EAAA,SAAA,EAAW,SAAS;AAAA,EACnC,OAAOA,MAAE,OAAO;AAAA,EAChB,MAAMA,MAAE,OAAO;AAAA,EACf,UAAUA,MAAE,OAAO;AAAA,EACnB,KAAKA,MAAE,OAAO;AAAA,EACd,cAAcA,MAAE,OAAO;AAAA,EACvB,SAASA,MAAE,OAAO;AACnB,CAAC;AAIM,MAAM,0BAA0B;AAGhC,MAAM,4BAA4B;AAG5B,MAAA,mCAAmCA,MAAE,OAAO;AAAA,EACxD,QAAQA,IAAAA,EAAE,MAAM,CAACA,IAAE,EAAA,OAAS,EAAA,KAAQ,GAAAA,MAAE,QAAQ,CAAC;AAChD,CAAC;AAIY,MAAA,gCAAgCA,MAAE,OAAO;AAAA,EACrD,MAAMA,MAAE,OAAO;AAAA,IACd,SAASA,MAAE,OAAO;AAAA;AAAA,IAElB,MAAMA,IAAAA,EAAE,OAAS,EAAA,KAAA,EAAO,SAAS;AAAA,IACjC,MAAMA,MAAE,OAAO;AAAA,IACf,WAAWA,MAAE,OAAO;AAAA,IACpB,YAAY;AAAA,IACZ,sBAAsBA,MAAE,OAAO;AAAA,IAC/B,UAAUA,IAAA,EAAE,OAAO,EAAE,SAAS;AAAA,IAC9B,MAAMA,MAAE,OAAO;AAAA,IACf,aAAa;AAAA,IACb,eAAe;AAAA,IACf,mBAAmBA,MAAE,QAAQ;AAAA,IAC7B,wBAAwBA,MAAE,QAAQ;AAAA,IAClC,iBAAiBA,MAAE,OAAO;AAAA,EAC1B,CAAA;AACF,CAAC;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"harmony87.cjs","sources":["../src/features/permissions/hooks/useHasAllFeatureFlags.ts"],"sourcesContent":["import { useActionResolverPayload } from '@features/permissions/hooks/useActionResolverPayload'\nimport type { FeatureFlag } from '@features/permissions/types'\nimport { has } from '@features/permissions/utils/has'\nimport { useMemo } from 'react'\n\nexport const useHasAllFeatureFlags = (...features: FeatureFlag[]) => {\n\tconst { enabledFeatureFlags } = useActionResolverPayload()\n\tconst key = features.join('')\n\n\t// biome-ignore lint/correctness/useExhaustiveDependencies: Using key as spreading parameters will create a new array on every render.\n\treturn useMemo(() => has(enabledFeatureFlags, ...features), [key, enabledFeatureFlags])\n}\n"],"names":["useActionResolverPayload","useMemo","has"],"mappings":";;;;;AAKa,MAAA,wBAAwB,IAAI,aAA4B;AAC9D,QAAA,EAAE,oBAAoB,IAAIA,kDAAyB;AACnD,QAAA,MAAM,SAAS,KAAK,EAAE;AAGrB,SAAAC,MAAA,QAAQ,MAAMC,IAAAA,IAAI,qBAAqB,GAAG,QAAQ,GAAG,CAAC,KAAK,mBAAmB,CAAC;AACvF;;"}
@@ -1,87 +1,12 @@
1
- import { PAGINATION_QUERY_PARAMS_SCHEMA } from "./harmony80.mjs";
2
- import { BASE_API_ENDPOINT_HEADER_SCHEMA } from "./harmony85.mjs";
3
- import { z } from "zod";
4
- const TEAM_API_BASE_HEADERS_SCHEMA = BASE_API_ENDPOINT_HEADER_SCHEMA;
5
- const EXTENDED_DATE_TIME_SCHEMA = z.union([
6
- z.string().refine((val) => /^\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2} \(.*\)$/.test(val), {
7
- message: "Invalid datetime format"
8
- }),
9
- z.string().datetime({ offset: true }),
10
- z.string().datetime()
11
- ]);
12
- const TEAMS_QUOTA_METRICS = [
13
- "users",
14
- "keys",
15
- "projects",
16
- "mau",
17
- "trafficBytes",
18
- "ai_words"
19
- ];
20
- const TEAMS_QUOTA_METRICS_SCHEMA = z.enum(TEAMS_QUOTA_METRICS);
21
- const TEAMS_QUOTA_USAGE_SCHEMA = z.record(TEAMS_QUOTA_METRICS_SCHEMA, z.number());
22
- const TEAMS_QUOTA_ALLOWED_SCHEMA = z.record(TEAMS_QUOTA_METRICS_SCHEMA, z.number());
23
- const LIST_TEAMS_QUERY_SCHEMA = PAGINATION_QUERY_PARAMS_SCHEMA;
24
- const LIST_TEAMS_RESPONSE_SCHEMA = z.object({
25
- teams: z.array(
26
- z.object({
27
- team_id: z.number(),
28
- // TODO: This should not be optional, but the API is not consistent yet
29
- uuid: z.string().uuid().optional(),
30
- name: z.string(),
31
- plan: z.string(),
32
- logo_url: z.string().nullable(),
33
- role: z.string(),
34
- created_at: EXTENDED_DATE_TIME_SCHEMA,
35
- created_at_timestamp: z.number(),
36
- quota_usage: TEAMS_QUOTA_USAGE_SCHEMA,
37
- quota_allowed: TEAMS_QUOTA_ALLOWED_SCHEMA
38
- })
39
- )
40
- });
41
- const TEAM_QUOTA_METRICS_SCHEMA = z.object({
42
- id: z.number().nullable().optional(),
43
- users: z.number(),
44
- keys: z.number(),
45
- projects: z.number(),
46
- mau: z.number(),
47
- trafficBytes: z.number(),
48
- aiWords: z.number()
49
- });
50
- const TEAM_QUOTA_USAGE_SCHEMA = TEAM_QUOTA_METRICS_SCHEMA;
51
- const TEAM_QUOTA_ALLOWED_SCHEMA = TEAM_QUOTA_METRICS_SCHEMA;
52
- const RETRIEVE_TEAM_PATH_PARAMS_SCHEMA = z.object({
53
- teamId: z.union([z.string().uuid(), z.number()])
54
- });
55
- const RETRIEVE_TEAM_RESPONSE_SCHEMA = z.object({
56
- team: z.object({
57
- team_id: z.number(),
58
- // TODO: This should not be optional, but the API is not consistent yet
59
- uuid: z.string().uuid().optional(),
60
- name: z.string(),
61
- plan_name: z.string(),
62
- created_at: EXTENDED_DATE_TIME_SCHEMA,
63
- created_at_timestamp: z.number(),
64
- logo_url: z.string().nullable(),
65
- role: z.string(),
66
- quota_usage: TEAM_QUOTA_USAGE_SCHEMA,
67
- quota_allowed: TEAM_QUOTA_ALLOWED_SCHEMA,
68
- is_team_suspended: z.boolean(),
69
- is_end_of_trial_active: z.boolean(),
70
- trial_days_left: z.number()
71
- })
72
- });
1
+ import { useActionResolverPayload } from "./harmony143.mjs";
2
+ import { has } from "./harmony145.mjs";
3
+ import { useMemo } from "react";
4
+ const useHasAllFeatureFlags = (...features) => {
5
+ const { enabledFeatureFlags } = useActionResolverPayload();
6
+ const key = features.join("");
7
+ return useMemo(() => has(enabledFeatureFlags, ...features), [key, enabledFeatureFlags]);
8
+ };
73
9
  export {
74
- LIST_TEAMS_QUERY_SCHEMA,
75
- LIST_TEAMS_RESPONSE_SCHEMA,
76
- RETRIEVE_TEAM_PATH_PARAMS_SCHEMA,
77
- RETRIEVE_TEAM_RESPONSE_SCHEMA,
78
- TEAMS_QUOTA_ALLOWED_SCHEMA,
79
- TEAMS_QUOTA_METRICS,
80
- TEAMS_QUOTA_METRICS_SCHEMA,
81
- TEAMS_QUOTA_USAGE_SCHEMA,
82
- TEAM_API_BASE_HEADERS_SCHEMA,
83
- TEAM_QUOTA_ALLOWED_SCHEMA,
84
- TEAM_QUOTA_METRICS_SCHEMA,
85
- TEAM_QUOTA_USAGE_SCHEMA
10
+ useHasAllFeatureFlags
86
11
  };
87
12
  //# sourceMappingURL=harmony87.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"harmony87.mjs","sources":["../src/features/publicApi/types/teamTypes.ts"],"sourcesContent":["import { PAGINATION_QUERY_PARAMS_SCHEMA } from '@features/publicApi/types/paginationTypes'\nimport { BASE_API_ENDPOINT_HEADER_SCHEMA } from '@features/publicApi/types/sharedTypes'\nimport { z } from 'zod'\n\n// Shared schema\nexport const TEAM_API_BASE_HEADERS_SCHEMA = BASE_API_ENDPOINT_HEADER_SCHEMA\n\nexport type TeamApiBaseHeaders = z.infer<typeof TEAM_API_BASE_HEADERS_SCHEMA>\n\n/**\n * TODO - created_at is using custom format like 2024-10-03 09:45:52 (Etc/UTC)\n * instead of ISO 8601 which is expected by ZOD and we need a custom datetime schema\n */\nconst EXTENDED_DATE_TIME_SCHEMA = z.union([\n\tz.string().refine((val) => /^\\d{4}-\\d{2}-\\d{2} \\d{2}:\\d{2}:\\d{2} \\(.*\\)$/.test(val), {\n\t\tmessage: 'Invalid datetime format',\n\t}),\n\tz.string().datetime({ offset: true }),\n\tz.string().datetime(),\n])\n\n// There are too many differences between teams list and retrieving team\n// It is better to keep schemas separately\n\n// List teams\nexport const TEAMS_QUOTA_METRICS = [\n\t'users',\n\t'keys',\n\t'projects',\n\t'mau',\n\t'trafficBytes',\n\t'ai_words',\n] as const\n\nexport const TEAMS_QUOTA_METRICS_SCHEMA = z.enum(TEAMS_QUOTA_METRICS)\nexport type TeamsQuotaMetrics = z.infer<typeof TEAMS_QUOTA_METRICS_SCHEMA>\n\nexport const TEAMS_QUOTA_USAGE_SCHEMA = z.record(TEAMS_QUOTA_METRICS_SCHEMA, z.number())\nexport type TeamsQuotaUsage = z.infer<typeof TEAMS_QUOTA_USAGE_SCHEMA>\n\nexport const TEAMS_QUOTA_ALLOWED_SCHEMA = z.record(TEAMS_QUOTA_METRICS_SCHEMA, z.number())\nexport type TeamsQuotaAllowed = z.infer<typeof TEAMS_QUOTA_ALLOWED_SCHEMA>\n\nexport const LIST_TEAMS_QUERY_SCHEMA = PAGINATION_QUERY_PARAMS_SCHEMA\nexport type ListTeamsQueryParams = z.infer<typeof LIST_TEAMS_QUERY_SCHEMA>\n\nexport const LIST_TEAMS_RESPONSE_SCHEMA = z.object({\n\tteams: z.array(\n\t\tz.object({\n\t\t\tteam_id: z.number(),\n\t\t\t// TODO: This should not be optional, but the API is not consistent yet\n\t\t\tuuid: z.string().uuid().optional(),\n\t\t\tname: z.string(),\n\t\t\tplan: z.string(),\n\t\t\tlogo_url: z.string().nullable(),\n\t\t\trole: z.string(),\n\t\t\tcreated_at: EXTENDED_DATE_TIME_SCHEMA,\n\t\t\tcreated_at_timestamp: z.number(),\n\t\t\tquota_usage: TEAMS_QUOTA_USAGE_SCHEMA,\n\t\t\tquota_allowed: TEAMS_QUOTA_ALLOWED_SCHEMA,\n\t\t}),\n\t),\n})\n\nexport type ListTeamsResponse = z.infer<typeof LIST_TEAMS_RESPONSE_SCHEMA>\n\n// Retrieve team\nexport const TEAM_QUOTA_METRICS_SCHEMA = z.object({\n\tid: z.number().nullable().optional(),\n\tusers: z.number(),\n\tkeys: z.number(),\n\tprojects: z.number(),\n\tmau: z.number(),\n\ttrafficBytes: z.number(),\n\taiWords: z.number(),\n})\n\nexport type TeamQuotaMetrics = z.infer<typeof TEAM_QUOTA_METRICS_SCHEMA>\n\nexport const TEAM_QUOTA_USAGE_SCHEMA = TEAM_QUOTA_METRICS_SCHEMA\nexport type TeamQuotaUsage = z.infer<typeof TEAM_QUOTA_USAGE_SCHEMA>\n\nexport const TEAM_QUOTA_ALLOWED_SCHEMA = TEAM_QUOTA_METRICS_SCHEMA\nexport type TeamQuotaAllowed = z.infer<typeof TEAM_QUOTA_ALLOWED_SCHEMA>\n\nexport const RETRIEVE_TEAM_PATH_PARAMS_SCHEMA = z.object({\n\tteamId: z.union([z.string().uuid(), z.number()]),\n})\n\nexport type RetrieveTeamPathParams = z.infer<typeof RETRIEVE_TEAM_PATH_PARAMS_SCHEMA>\n\nexport const RETRIEVE_TEAM_RESPONSE_SCHEMA = z.object({\n\tteam: z.object({\n\t\tteam_id: z.number(),\n\t\t// TODO: This should not be optional, but the API is not consistent yet\n\t\tuuid: z.string().uuid().optional(),\n\t\tname: z.string(),\n\t\tplan_name: z.string(),\n\t\tcreated_at: EXTENDED_DATE_TIME_SCHEMA,\n\t\tcreated_at_timestamp: z.number(),\n\t\tlogo_url: z.string().nullable(),\n\t\trole: z.string(),\n\t\tquota_usage: TEAM_QUOTA_USAGE_SCHEMA,\n\t\tquota_allowed: TEAM_QUOTA_ALLOWED_SCHEMA,\n\t\tis_team_suspended: z.boolean(),\n\t\tis_end_of_trial_active: z.boolean(),\n\t\ttrial_days_left: z.number(),\n\t}),\n})\n\nexport type RetrieveTeamResponse = z.infer<typeof RETRIEVE_TEAM_RESPONSE_SCHEMA>\n"],"names":[],"mappings":";;;AAKO,MAAM,+BAA+B;AAQ5C,MAAM,4BAA4B,EAAE,MAAM;AAAA,EACzC,EAAE,OAAS,EAAA,OAAO,CAAC,QAAQ,+CAA+C,KAAK,GAAG,GAAG;AAAA,IACpF,SAAS;AAAA,EAAA,CACT;AAAA,EACD,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,MAAM;AAAA,EACpC,EAAE,OAAO,EAAE,SAAS;AACrB,CAAC;AAMM,MAAM,sBAAsB;AAAA,EAClC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACD;AAEa,MAAA,6BAA6B,EAAE,KAAK,mBAAmB;AAG7D,MAAM,2BAA2B,EAAE,OAAO,4BAA4B,EAAE,OAAQ,CAAA;AAGhF,MAAM,6BAA6B,EAAE,OAAO,4BAA4B,EAAE,OAAQ,CAAA;AAGlF,MAAM,0BAA0B;AAG1B,MAAA,6BAA6B,EAAE,OAAO;AAAA,EAClD,OAAO,EAAE;AAAA,IACR,EAAE,OAAO;AAAA,MACR,SAAS,EAAE,OAAO;AAAA;AAAA,MAElB,MAAM,EAAE,OAAS,EAAA,KAAA,EAAO,SAAS;AAAA,MACjC,MAAM,EAAE,OAAO;AAAA,MACf,MAAM,EAAE,OAAO;AAAA,MACf,UAAU,EAAE,OAAO,EAAE,SAAS;AAAA,MAC9B,MAAM,EAAE,OAAO;AAAA,MACf,YAAY;AAAA,MACZ,sBAAsB,EAAE,OAAO;AAAA,MAC/B,aAAa;AAAA,MACb,eAAe;AAAA,IACf,CAAA;AAAA,EAAA;AAEH,CAAC;AAKY,MAAA,4BAA4B,EAAE,OAAO;AAAA,EACjD,IAAI,EAAE,OAAS,EAAA,SAAA,EAAW,SAAS;AAAA,EACnC,OAAO,EAAE,OAAO;AAAA,EAChB,MAAM,EAAE,OAAO;AAAA,EACf,UAAU,EAAE,OAAO;AAAA,EACnB,KAAK,EAAE,OAAO;AAAA,EACd,cAAc,EAAE,OAAO;AAAA,EACvB,SAAS,EAAE,OAAO;AACnB,CAAC;AAIM,MAAM,0BAA0B;AAGhC,MAAM,4BAA4B;AAG5B,MAAA,mCAAmC,EAAE,OAAO;AAAA,EACxD,QAAQ,EAAE,MAAM,CAAC,EAAE,OAAS,EAAA,KAAQ,GAAA,EAAE,QAAQ,CAAC;AAChD,CAAC;AAIY,MAAA,gCAAgC,EAAE,OAAO;AAAA,EACrD,MAAM,EAAE,OAAO;AAAA,IACd,SAAS,EAAE,OAAO;AAAA;AAAA,IAElB,MAAM,EAAE,OAAS,EAAA,KAAA,EAAO,SAAS;AAAA,IACjC,MAAM,EAAE,OAAO;AAAA,IACf,WAAW,EAAE,OAAO;AAAA,IACpB,YAAY;AAAA,IACZ,sBAAsB,EAAE,OAAO;AAAA,IAC/B,UAAU,EAAE,OAAO,EAAE,SAAS;AAAA,IAC9B,MAAM,EAAE,OAAO;AAAA,IACf,aAAa;AAAA,IACb,eAAe;AAAA,IACf,mBAAmB,EAAE,QAAQ;AAAA,IAC7B,wBAAwB,EAAE,QAAQ;AAAA,IAClC,iBAAiB,EAAE,OAAO;AAAA,EAC1B,CAAA;AACF,CAAC;"}
1
+ {"version":3,"file":"harmony87.mjs","sources":["../src/features/permissions/hooks/useHasAllFeatureFlags.ts"],"sourcesContent":["import { useActionResolverPayload } from '@features/permissions/hooks/useActionResolverPayload'\nimport type { FeatureFlag } from '@features/permissions/types'\nimport { has } from '@features/permissions/utils/has'\nimport { useMemo } from 'react'\n\nexport const useHasAllFeatureFlags = (...features: FeatureFlag[]) => {\n\tconst { enabledFeatureFlags } = useActionResolverPayload()\n\tconst key = features.join('')\n\n\t// biome-ignore lint/correctness/useExhaustiveDependencies: Using key as spreading parameters will create a new array on every render.\n\treturn useMemo(() => has(enabledFeatureFlags, ...features), [key, enabledFeatureFlags])\n}\n"],"names":[],"mappings":";;;AAKa,MAAA,wBAAwB,IAAI,aAA4B;AAC9D,QAAA,EAAE,oBAAoB,IAAI,yBAAyB;AACnD,QAAA,MAAM,SAAS,KAAK,EAAE;AAGrB,SAAA,QAAQ,MAAM,IAAI,qBAAqB,GAAG,QAAQ,GAAG,CAAC,KAAK,mBAAmB,CAAC;AACvF;"}
@@ -1,50 +1,12 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const permissionTemplateTypes = require("./harmony81.cjs");
4
- const sharedTypes = require("./harmony85.cjs");
5
- const teamRoleTypes = require("./harmony86.cjs");
6
- const zod = require("zod");
7
- const TEAM_USER_API_BASE_HEADERS_SCHEMA = sharedTypes.BASE_API_ENDPOINT_HEADER_SCHEMA;
8
- const TEAM_USER_SCHEMA = zod.z.object({
9
- user_id: zod.z.number(),
10
- email: zod.z.string().email(),
11
- fullname: zod.z.string(),
12
- created_at: zod.z.string(),
13
- created_at_timestamp: zod.z.number(),
14
- role: teamRoleTypes.TEAM_ROLE_SCHEMA
15
- });
16
- const TEAM_USER_PATH_PARAMS_SCHEMA = zod.z.object({
17
- teamId: zod.z.union([zod.z.number(), zod.z.string().uuid()]),
18
- userId: zod.z.union([zod.z.number(), zod.z.string().uuid()])
19
- });
20
- const TEAM_PATH_PARAMS_SCHEMA = zod.z.object({
21
- teamId: zod.z.number()
22
- });
23
- const TEAM_USER_RESPONSE_SCHEMA = zod.z.object({
24
- team_id: zod.z.number(),
25
- team_user: TEAM_USER_SCHEMA
26
- });
27
- const LIST_TEAM_USERS_RESPONSE_SCHEMA = zod.z.object({
28
- team_id: zod.z.number(),
29
- team_users: zod.z.array(TEAM_USER_SCHEMA)
30
- });
31
- const GET_TEAM_USER_PERMISSIONS_REQUEST_BODY_SCHEMA = zod.z.object({
32
- projectIds: zod.z.array(zod.z.union([zod.z.string(), zod.z.string().uuid()]))
33
- });
34
- const USER_PROJECTS_PERMISSIONS_SCHEMA = zod.z.object({
35
- id: zod.z.string(),
36
- permissions: zod.z.array(permissionTemplateTypes.PERMISSION_SCHEMA)
37
- });
38
- const GET_TEAM_USER_PERMISSIONS_RESPONSE_SCHEMA = zod.z.object({
39
- projects: zod.z.array(USER_PROJECTS_PERMISSIONS_SCHEMA)
40
- });
41
- exports.GET_TEAM_USER_PERMISSIONS_REQUEST_BODY_SCHEMA = GET_TEAM_USER_PERMISSIONS_REQUEST_BODY_SCHEMA;
42
- exports.GET_TEAM_USER_PERMISSIONS_RESPONSE_SCHEMA = GET_TEAM_USER_PERMISSIONS_RESPONSE_SCHEMA;
43
- exports.LIST_TEAM_USERS_RESPONSE_SCHEMA = LIST_TEAM_USERS_RESPONSE_SCHEMA;
44
- exports.TEAM_PATH_PARAMS_SCHEMA = TEAM_PATH_PARAMS_SCHEMA;
45
- exports.TEAM_USER_API_BASE_HEADERS_SCHEMA = TEAM_USER_API_BASE_HEADERS_SCHEMA;
46
- exports.TEAM_USER_PATH_PARAMS_SCHEMA = TEAM_USER_PATH_PARAMS_SCHEMA;
47
- exports.TEAM_USER_RESPONSE_SCHEMA = TEAM_USER_RESPONSE_SCHEMA;
48
- exports.TEAM_USER_SCHEMA = TEAM_USER_SCHEMA;
49
- exports.USER_PROJECTS_PERMISSIONS_SCHEMA = USER_PROJECTS_PERMISSIONS_SCHEMA;
3
+ const action = require("./harmony146.cjs");
4
+ function canPerformAction(action$1, payload) {
5
+ const resolver = action.actionResolvers[action$1];
6
+ if (!resolver) {
7
+ throw new Error(`Action resolver for "${action$1}" not found`);
8
+ }
9
+ return resolver(payload);
10
+ }
11
+ exports.canPerformAction = canPerformAction;
50
12
  //# sourceMappingURL=harmony88.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"harmony88.cjs","sources":["../src/features/publicApi/types/teamUserTypes.ts"],"sourcesContent":["import { PERMISSION_SCHEMA } from '@features/publicApi/types/permissionTemplateTypes'\nimport { BASE_API_ENDPOINT_HEADER_SCHEMA } from '@features/publicApi/types/sharedTypes'\nimport { TEAM_ROLE_SCHEMA } from '@features/publicApi/types/teamRoleTypes'\nimport { z } from 'zod'\n\nexport const TEAM_USER_API_BASE_HEADERS_SCHEMA = BASE_API_ENDPOINT_HEADER_SCHEMA\n\nexport type TeamUserApiBaseHeaders = z.infer<typeof TEAM_USER_API_BASE_HEADERS_SCHEMA>\n\nexport const TEAM_USER_SCHEMA = z.object({\n\tuser_id: z.number(),\n\temail: z.string().email(),\n\tfullname: z.string(),\n\tcreated_at: z.string(),\n\tcreated_at_timestamp: z.number(),\n\trole: TEAM_ROLE_SCHEMA,\n})\n\nexport type TeamUser = z.infer<typeof TEAM_USER_SCHEMA>\n\nexport const TEAM_USER_PATH_PARAMS_SCHEMA = z.object({\n\tteamId: z.union([z.number(), z.string().uuid()]),\n\tuserId: z.union([z.number(), z.string().uuid()]),\n})\n\nexport type TeamUserPathParams = z.infer<typeof TEAM_USER_PATH_PARAMS_SCHEMA>\n\nexport const TEAM_PATH_PARAMS_SCHEMA = z.object({\n\tteamId: z.number(),\n})\n\nexport type TeamPathParams = z.infer<typeof TEAM_PATH_PARAMS_SCHEMA>\n\nexport const TEAM_USER_RESPONSE_SCHEMA = z.object({\n\tteam_id: z.number(),\n\tteam_user: TEAM_USER_SCHEMA,\n})\n\nexport type TeamUserResponse = z.infer<typeof TEAM_USER_RESPONSE_SCHEMA>\n\nexport const LIST_TEAM_USERS_RESPONSE_SCHEMA = z.object({\n\tteam_id: z.number(),\n\tteam_users: z.array(TEAM_USER_SCHEMA),\n})\n\nexport type ListTeamUsersResponse = z.infer<typeof LIST_TEAM_USERS_RESPONSE_SCHEMA>\n\nexport const GET_TEAM_USER_PERMISSIONS_REQUEST_BODY_SCHEMA = z.object({\n\tprojectIds: z.array(z.union([z.string(), z.string().uuid()])),\n})\n\nexport type GetTeamUserPermissionsRequestBody = z.infer<\n\ttypeof GET_TEAM_USER_PERMISSIONS_REQUEST_BODY_SCHEMA\n>\n\nexport const USER_PROJECTS_PERMISSIONS_SCHEMA = z.object({\n\tid: z.string(),\n\tpermissions: z.array(PERMISSION_SCHEMA),\n})\n\nexport type UserProjectsPermissionsSchema = z.infer<typeof USER_PROJECTS_PERMISSIONS_SCHEMA>\n\nexport const GET_TEAM_USER_PERMISSIONS_RESPONSE_SCHEMA = z.object({\n\tprojects: z.array(USER_PROJECTS_PERMISSIONS_SCHEMA),\n})\n\nexport type GetTeamUserPermissionsResponse = z.infer<\n\ttypeof GET_TEAM_USER_PERMISSIONS_RESPONSE_SCHEMA\n>\n"],"names":["BASE_API_ENDPOINT_HEADER_SCHEMA","z","TEAM_ROLE_SCHEMA","PERMISSION_SCHEMA"],"mappings":";;;;;;AAKO,MAAM,oCAAoCA,YAAAA;AAIpC,MAAA,mBAAmBC,MAAE,OAAO;AAAA,EACxC,SAASA,MAAE,OAAO;AAAA,EAClB,OAAOA,IAAA,EAAE,OAAO,EAAE,MAAM;AAAA,EACxB,UAAUA,MAAE,OAAO;AAAA,EACnB,YAAYA,MAAE,OAAO;AAAA,EACrB,sBAAsBA,MAAE,OAAO;AAAA,EAC/B,MAAMC,cAAAA;AACP,CAAC;AAIY,MAAA,+BAA+BD,MAAE,OAAO;AAAA,EACpD,QAAQA,IAAA,EAAE,MAAM,CAACA,MAAE,UAAUA,IAAAA,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;AAAA,EAC/C,QAAQA,IAAAA,EAAE,MAAM,CAACA,IAAE,EAAA,OAAU,GAAAA,MAAE,SAAS,MAAM,CAAC;AAChD,CAAC;AAIY,MAAA,0BAA0BA,MAAE,OAAO;AAAA,EAC/C,QAAQA,MAAE,OAAO;AAClB,CAAC;AAIY,MAAA,4BAA4BA,MAAE,OAAO;AAAA,EACjD,SAASA,MAAE,OAAO;AAAA,EAClB,WAAW;AACZ,CAAC;AAIY,MAAA,kCAAkCA,MAAE,OAAO;AAAA,EACvD,SAASA,MAAE,OAAO;AAAA,EAClB,YAAYA,IAAAA,EAAE,MAAM,gBAAgB;AACrC,CAAC;AAIY,MAAA,gDAAgDA,MAAE,OAAO;AAAA,EACrE,YAAYA,IAAAA,EAAE,MAAMA,IAAA,EAAE,MAAM,CAACA,IAAAA,EAAE,OAAO,GAAGA,IAAAA,EAAE,SAAS,KAAM,CAAA,CAAC,CAAC;AAC7D,CAAC;AAMY,MAAA,mCAAmCA,MAAE,OAAO;AAAA,EACxD,IAAIA,MAAE,OAAO;AAAA,EACb,aAAaA,IAAAA,EAAE,MAAME,wBAAiB,iBAAA;AACvC,CAAC;AAIY,MAAA,4CAA4CF,MAAE,OAAO;AAAA,EACjE,UAAUA,IAAAA,EAAE,MAAM,gCAAgC;AACnD,CAAC;;;;;;;;;;"}
1
+ {"version":3,"file":"harmony88.cjs","sources":["../src/features/permissions/utils/canPerformAction.ts"],"sourcesContent":["import { type Action, actionResolvers } from '../action'\nimport type { ActionResolverPayload } from '../types'\n\n/**\n * Checks if the user can perform a specific action given the current permissions context and payload.\n *\n * This utility function is used internally by hooks and guards to determine\n * if a user is authorized to perform a particular action.\n *\n * @param action The action to check permission for.\n * @param payload The action resolver payload, typically containing the user's permissions, roles, and other relevant context.\n * @returns {boolean} True if the user can perform the action, otherwise false.\n *\n * @example\n * const allowed = canPerformAction(\"edit_project\", payload);\n * if (allowed) {\n * // perform edit\n * }\n */\nexport function canPerformAction(action: Action, payload: ActionResolverPayload): boolean {\n\tconst resolver = actionResolvers[action]\n\n\tif (!resolver) {\n\t\tthrow new Error(`Action resolver for \"${action}\" not found`)\n\t}\n\n\treturn resolver(payload)\n}\n"],"names":["action","actionResolvers"],"mappings":";;;AAmBgB,SAAA,iBAAiBA,UAAgB,SAAyC;AACnF,QAAA,WAAWC,uBAAgBD,QAAM;AAEvC,MAAI,CAAC,UAAU;AACd,UAAM,IAAI,MAAM,wBAAwBA,QAAM,aAAa;AAAA,EAAA;AAG5D,SAAO,SAAS,OAAO;AACxB;;"}
@@ -1,50 +1,12 @@
1
- import { PERMISSION_SCHEMA } from "./harmony81.mjs";
2
- import { BASE_API_ENDPOINT_HEADER_SCHEMA } from "./harmony85.mjs";
3
- import { TEAM_ROLE_SCHEMA } from "./harmony86.mjs";
4
- import { z } from "zod";
5
- const TEAM_USER_API_BASE_HEADERS_SCHEMA = BASE_API_ENDPOINT_HEADER_SCHEMA;
6
- const TEAM_USER_SCHEMA = z.object({
7
- user_id: z.number(),
8
- email: z.string().email(),
9
- fullname: z.string(),
10
- created_at: z.string(),
11
- created_at_timestamp: z.number(),
12
- role: TEAM_ROLE_SCHEMA
13
- });
14
- const TEAM_USER_PATH_PARAMS_SCHEMA = z.object({
15
- teamId: z.union([z.number(), z.string().uuid()]),
16
- userId: z.union([z.number(), z.string().uuid()])
17
- });
18
- const TEAM_PATH_PARAMS_SCHEMA = z.object({
19
- teamId: z.number()
20
- });
21
- const TEAM_USER_RESPONSE_SCHEMA = z.object({
22
- team_id: z.number(),
23
- team_user: TEAM_USER_SCHEMA
24
- });
25
- const LIST_TEAM_USERS_RESPONSE_SCHEMA = z.object({
26
- team_id: z.number(),
27
- team_users: z.array(TEAM_USER_SCHEMA)
28
- });
29
- const GET_TEAM_USER_PERMISSIONS_REQUEST_BODY_SCHEMA = z.object({
30
- projectIds: z.array(z.union([z.string(), z.string().uuid()]))
31
- });
32
- const USER_PROJECTS_PERMISSIONS_SCHEMA = z.object({
33
- id: z.string(),
34
- permissions: z.array(PERMISSION_SCHEMA)
35
- });
36
- const GET_TEAM_USER_PERMISSIONS_RESPONSE_SCHEMA = z.object({
37
- projects: z.array(USER_PROJECTS_PERMISSIONS_SCHEMA)
38
- });
1
+ import { actionResolvers } from "./harmony146.mjs";
2
+ function canPerformAction(action, payload) {
3
+ const resolver = actionResolvers[action];
4
+ if (!resolver) {
5
+ throw new Error(`Action resolver for "${action}" not found`);
6
+ }
7
+ return resolver(payload);
8
+ }
39
9
  export {
40
- GET_TEAM_USER_PERMISSIONS_REQUEST_BODY_SCHEMA,
41
- GET_TEAM_USER_PERMISSIONS_RESPONSE_SCHEMA,
42
- LIST_TEAM_USERS_RESPONSE_SCHEMA,
43
- TEAM_PATH_PARAMS_SCHEMA,
44
- TEAM_USER_API_BASE_HEADERS_SCHEMA,
45
- TEAM_USER_PATH_PARAMS_SCHEMA,
46
- TEAM_USER_RESPONSE_SCHEMA,
47
- TEAM_USER_SCHEMA,
48
- USER_PROJECTS_PERMISSIONS_SCHEMA
10
+ canPerformAction
49
11
  };
50
12
  //# sourceMappingURL=harmony88.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"harmony88.mjs","sources":["../src/features/publicApi/types/teamUserTypes.ts"],"sourcesContent":["import { PERMISSION_SCHEMA } from '@features/publicApi/types/permissionTemplateTypes'\nimport { BASE_API_ENDPOINT_HEADER_SCHEMA } from '@features/publicApi/types/sharedTypes'\nimport { TEAM_ROLE_SCHEMA } from '@features/publicApi/types/teamRoleTypes'\nimport { z } from 'zod'\n\nexport const TEAM_USER_API_BASE_HEADERS_SCHEMA = BASE_API_ENDPOINT_HEADER_SCHEMA\n\nexport type TeamUserApiBaseHeaders = z.infer<typeof TEAM_USER_API_BASE_HEADERS_SCHEMA>\n\nexport const TEAM_USER_SCHEMA = z.object({\n\tuser_id: z.number(),\n\temail: z.string().email(),\n\tfullname: z.string(),\n\tcreated_at: z.string(),\n\tcreated_at_timestamp: z.number(),\n\trole: TEAM_ROLE_SCHEMA,\n})\n\nexport type TeamUser = z.infer<typeof TEAM_USER_SCHEMA>\n\nexport const TEAM_USER_PATH_PARAMS_SCHEMA = z.object({\n\tteamId: z.union([z.number(), z.string().uuid()]),\n\tuserId: z.union([z.number(), z.string().uuid()]),\n})\n\nexport type TeamUserPathParams = z.infer<typeof TEAM_USER_PATH_PARAMS_SCHEMA>\n\nexport const TEAM_PATH_PARAMS_SCHEMA = z.object({\n\tteamId: z.number(),\n})\n\nexport type TeamPathParams = z.infer<typeof TEAM_PATH_PARAMS_SCHEMA>\n\nexport const TEAM_USER_RESPONSE_SCHEMA = z.object({\n\tteam_id: z.number(),\n\tteam_user: TEAM_USER_SCHEMA,\n})\n\nexport type TeamUserResponse = z.infer<typeof TEAM_USER_RESPONSE_SCHEMA>\n\nexport const LIST_TEAM_USERS_RESPONSE_SCHEMA = z.object({\n\tteam_id: z.number(),\n\tteam_users: z.array(TEAM_USER_SCHEMA),\n})\n\nexport type ListTeamUsersResponse = z.infer<typeof LIST_TEAM_USERS_RESPONSE_SCHEMA>\n\nexport const GET_TEAM_USER_PERMISSIONS_REQUEST_BODY_SCHEMA = z.object({\n\tprojectIds: z.array(z.union([z.string(), z.string().uuid()])),\n})\n\nexport type GetTeamUserPermissionsRequestBody = z.infer<\n\ttypeof GET_TEAM_USER_PERMISSIONS_REQUEST_BODY_SCHEMA\n>\n\nexport const USER_PROJECTS_PERMISSIONS_SCHEMA = z.object({\n\tid: z.string(),\n\tpermissions: z.array(PERMISSION_SCHEMA),\n})\n\nexport type UserProjectsPermissionsSchema = z.infer<typeof USER_PROJECTS_PERMISSIONS_SCHEMA>\n\nexport const GET_TEAM_USER_PERMISSIONS_RESPONSE_SCHEMA = z.object({\n\tprojects: z.array(USER_PROJECTS_PERMISSIONS_SCHEMA),\n})\n\nexport type GetTeamUserPermissionsResponse = z.infer<\n\ttypeof GET_TEAM_USER_PERMISSIONS_RESPONSE_SCHEMA\n>\n"],"names":[],"mappings":";;;;AAKO,MAAM,oCAAoC;AAIpC,MAAA,mBAAmB,EAAE,OAAO;AAAA,EACxC,SAAS,EAAE,OAAO;AAAA,EAClB,OAAO,EAAE,OAAO,EAAE,MAAM;AAAA,EACxB,UAAU,EAAE,OAAO;AAAA,EACnB,YAAY,EAAE,OAAO;AAAA,EACrB,sBAAsB,EAAE,OAAO;AAAA,EAC/B,MAAM;AACP,CAAC;AAIY,MAAA,+BAA+B,EAAE,OAAO;AAAA,EACpD,QAAQ,EAAE,MAAM,CAAC,EAAE,UAAU,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;AAAA,EAC/C,QAAQ,EAAE,MAAM,CAAC,EAAE,OAAU,GAAA,EAAE,SAAS,MAAM,CAAC;AAChD,CAAC;AAIY,MAAA,0BAA0B,EAAE,OAAO;AAAA,EAC/C,QAAQ,EAAE,OAAO;AAClB,CAAC;AAIY,MAAA,4BAA4B,EAAE,OAAO;AAAA,EACjD,SAAS,EAAE,OAAO;AAAA,EAClB,WAAW;AACZ,CAAC;AAIY,MAAA,kCAAkC,EAAE,OAAO;AAAA,EACvD,SAAS,EAAE,OAAO;AAAA,EAClB,YAAY,EAAE,MAAM,gBAAgB;AACrC,CAAC;AAIY,MAAA,gDAAgD,EAAE,OAAO;AAAA,EACrE,YAAY,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,GAAG,EAAE,SAAS,KAAM,CAAA,CAAC,CAAC;AAC7D,CAAC;AAMY,MAAA,mCAAmC,EAAE,OAAO;AAAA,EACxD,IAAI,EAAE,OAAO;AAAA,EACb,aAAa,EAAE,MAAM,iBAAiB;AACvC,CAAC;AAIY,MAAA,4CAA4C,EAAE,OAAO;AAAA,EACjE,UAAU,EAAE,MAAM,gCAAgC;AACnD,CAAC;"}
1
+ {"version":3,"file":"harmony88.mjs","sources":["../src/features/permissions/utils/canPerformAction.ts"],"sourcesContent":["import { type Action, actionResolvers } from '../action'\nimport type { ActionResolverPayload } from '../types'\n\n/**\n * Checks if the user can perform a specific action given the current permissions context and payload.\n *\n * This utility function is used internally by hooks and guards to determine\n * if a user is authorized to perform a particular action.\n *\n * @param action The action to check permission for.\n * @param payload The action resolver payload, typically containing the user's permissions, roles, and other relevant context.\n * @returns {boolean} True if the user can perform the action, otherwise false.\n *\n * @example\n * const allowed = canPerformAction(\"edit_project\", payload);\n * if (allowed) {\n * // perform edit\n * }\n */\nexport function canPerformAction(action: Action, payload: ActionResolverPayload): boolean {\n\tconst resolver = actionResolvers[action]\n\n\tif (!resolver) {\n\t\tthrow new Error(`Action resolver for \"${action}\" not found`)\n\t}\n\n\treturn resolver(payload)\n}\n"],"names":[],"mappings":";AAmBgB,SAAA,iBAAiB,QAAgB,SAAyC;AACnF,QAAA,WAAW,gBAAgB,MAAM;AAEvC,MAAI,CAAC,UAAU;AACd,UAAM,IAAI,MAAM,wBAAwB,MAAM,aAAa;AAAA,EAAA;AAG5D,SAAO,SAAS,OAAO;AACxB;"}
@@ -1,21 +1,91 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const sharedTypes = require("./harmony85.cjs");
4
- const zod = require("zod");
5
- const JWT_TOKEN_SCHEMA = zod.z.object({
6
- accessToken: zod.z.string(),
7
- refreshToken: zod.z.string()
8
- });
9
- const X_CSRF_TOKEN_SCHEMA = zod.z.union([
10
- zod.z.object({ "X-Csrf-Token": zod.z.string() }),
11
- zod.z.object({ "X-CSRF-Token": zod.z.string() }),
12
- zod.z.object({ "x-csrf-token": zod.z.string() }),
13
- zod.z.object({ "X-CSRF-TOKEN": zod.z.string() })
14
- ]);
15
- const USER_TOKEN_REQUEST_HEADER_SCHEMA = zod.z.union([
16
- sharedTypes.AUTHORIZATION_HEADER_SCHEMA,
17
- X_CSRF_TOKEN_SCHEMA
18
- ]);
19
- exports.JWT_TOKEN_SCHEMA = JWT_TOKEN_SCHEMA;
20
- exports.USER_TOKEN_REQUEST_HEADER_SCHEMA = USER_TOKEN_REQUEST_HEADER_SCHEMA;
3
+ const TEAM_ROLES = ["owner", "admin", "biller", "member"];
4
+ const LEGACY_PROJECT_PERMISSIONS = ["glossary", "create_branches"];
5
+ const PROJECT_PERMISSIONS = [
6
+ "tasks",
7
+ "upload",
8
+ "activity",
9
+ "download",
10
+ "glossary_edit",
11
+ "glossary_delete",
12
+ "settings",
13
+ "statistics",
14
+ "manage_keys",
15
+ "screenshots",
16
+ "contributors",
17
+ "branches_create",
18
+ "branches_merge",
19
+ "manage_languages",
20
+ "review",
21
+ "branches_main_modify",
22
+ "custom_status_modify"
23
+ ];
24
+ const EXPERT_FEATURE_FLAGS = [
25
+ "homeFeatureLqai",
26
+ "lionLfcFilesManagement",
27
+ "lionFeatureFilesManagementBulkActions",
28
+ "trexFeatureAutomaticTranslations",
29
+ "perfFeatureReportingEngine",
30
+ "homeFeatureAiLqaSuggestions",
31
+ "homeFeatureAibilling",
32
+ "homeBugfixAiTaskSaveTemplate",
33
+ "homeFeatureAutomaticTranslationUse100TMMatch",
34
+ "homeFeatureAutomaticTranslationUseFuzzyMatch",
35
+ "homeMarketingBeta",
36
+ "growthSubscriptionExtras",
37
+ "growthCreditCardExpiry",
38
+ "growthCancellationFlow",
39
+ "growthPricingV2",
40
+ "growthPricingV2WipUsageOverview",
41
+ "metroWorkflowsManagement",
42
+ "metroWorkflowsCreateCustomScratch",
43
+ "metroWorkflowStatusReporting",
44
+ "metroWorkflowsGa",
45
+ "metroFeatureTemplateTriggerGates",
46
+ "metroCustomWorkflows",
47
+ "metroFeatureWorkflowsAiScoring",
48
+ "metroFeatureWorkflowsInBranches",
49
+ "maxMigrationForm",
50
+ "gitLabRecursivePullEnabled",
51
+ "perfFeatureAsyncExport",
52
+ "exportAppleStringsReplaceU2028Disabled",
53
+ "translationsFeatureRagModelSettings",
54
+ "translationsFeatureAiScoring"
55
+ ];
56
+ const AUTOPILOT_FEATURE_FLAGS = [
57
+ "ap_feature_setup_cancel",
58
+ "ap_feature_setup_human_review",
59
+ "ap_feature_delete_project_button",
60
+ "ap_feature_project_jobs",
61
+ "ap_feature_settings_apps",
62
+ "ap_feature_styleguide_name",
63
+ "ap_feature_reviewer_users",
64
+ "ap_feature_target_languages_limit",
65
+ "ap_feature_hraas",
66
+ "ap_feature_detach_project_from_shopify",
67
+ "ap_feature_detach_force_install_project_from_shopify",
68
+ "ap_experiment_shopify_roi_recommendations",
69
+ "ap_feature_billing",
70
+ "ap_feature_force_re_export",
71
+ "ap_feature_export_with_non_translatable_markers",
72
+ "ap_feature_export_modal",
73
+ "ap_feature_in_context_preview",
74
+ "ap_feature_in_context_preview_pdf_interactivity",
75
+ "ap_feature_marketing_all_file_types_support",
76
+ "ap_feature_ntc_manipulation"
77
+ ];
78
+ const PROJECT_TYPES = [
79
+ "localization_files",
80
+ "paged_documents",
81
+ "content_integration",
82
+ "marketing",
83
+ "marketing_integrations"
84
+ ];
85
+ exports.AUTOPILOT_FEATURE_FLAGS = AUTOPILOT_FEATURE_FLAGS;
86
+ exports.EXPERT_FEATURE_FLAGS = EXPERT_FEATURE_FLAGS;
87
+ exports.LEGACY_PROJECT_PERMISSIONS = LEGACY_PROJECT_PERMISSIONS;
88
+ exports.PROJECT_PERMISSIONS = PROJECT_PERMISSIONS;
89
+ exports.PROJECT_TYPES = PROJECT_TYPES;
90
+ exports.TEAM_ROLES = TEAM_ROLES;
21
91
  //# sourceMappingURL=harmony89.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"harmony89.cjs","sources":["../src/features/publicApi/types/userTokenTypes.ts"],"sourcesContent":["import { AUTHORIZATION_HEADER_SCHEMA } from '@features/publicApi/types/sharedTypes'\nimport { z } from 'zod'\n\nexport const JWT_TOKEN_SCHEMA = z.object({\n\taccessToken: z.string(),\n\trefreshToken: z.string(),\n})\n\nexport type JwtToken = z.infer<typeof JWT_TOKEN_SCHEMA>\n\nconst X_CSRF_TOKEN_SCHEMA = z.union([\n\tz.object({ 'X-Csrf-Token': z.string() }),\n\tz.object({ 'X-CSRF-Token': z.string() }),\n\tz.object({ 'x-csrf-token': z.string() }),\n\tz.object({ 'X-CSRF-TOKEN': z.string() }),\n])\n\nexport const USER_TOKEN_REQUEST_HEADER_SCHEMA = z.union([\n\tAUTHORIZATION_HEADER_SCHEMA,\n\tX_CSRF_TOKEN_SCHEMA,\n])\n\nexport type UserTokenRequestHeader = z.infer<typeof USER_TOKEN_REQUEST_HEADER_SCHEMA>\n"],"names":["z","AUTHORIZATION_HEADER_SCHEMA"],"mappings":";;;;AAGa,MAAA,mBAAmBA,MAAE,OAAO;AAAA,EACxC,aAAaA,MAAE,OAAO;AAAA,EACtB,cAAcA,MAAE,OAAO;AACxB,CAAC;AAID,MAAM,sBAAsBA,MAAE,MAAM;AAAA,EACnCA,MAAE,OAAO,EAAE,gBAAgBA,IAAAA,EAAE,UAAU;AAAA,EACvCA,MAAE,OAAO,EAAE,gBAAgBA,IAAAA,EAAE,UAAU;AAAA,EACvCA,MAAE,OAAO,EAAE,gBAAgBA,IAAAA,EAAE,UAAU;AAAA,EACvCA,IAAAA,EAAE,OAAO,EAAE,gBAAgBA,IAAE,EAAA,OAAA,EAAU,CAAA;AACxC,CAAC;AAEY,MAAA,mCAAmCA,MAAE,MAAM;AAAA,EACvDC,YAAA;AAAA,EACA;AACD,CAAC;;;"}
1
+ {"version":3,"file":"harmony89.cjs","sources":["../src/features/permissions/types.ts"],"sourcesContent":["// This is sad-making! This should really be in a shared package.\n// TODO nic: Where can we get this from so that we are not duplicating it?\n\nexport const TEAM_ROLES = ['owner', 'admin', 'biller', 'member'] as const\nexport type TeamRole = (typeof TEAM_ROLES)[number]\n\n/** @deprecated - use `ProjectPermission` instead */\nexport const LEGACY_PROJECT_PERMISSIONS = ['glossary', 'create_branches'] as const\n\n/** @deprecated - use `ProjectPermission` instead */\nexport type LegacyProjectPermission = (typeof LEGACY_PROJECT_PERMISSIONS)[number]\n\nexport const PROJECT_PERMISSIONS = [\n\t'tasks',\n\t'upload',\n\t'activity',\n\t'download',\n\t'glossary_edit',\n\t'glossary_delete',\n\t'settings',\n\t'statistics',\n\t'manage_keys',\n\t'screenshots',\n\t'contributors',\n\t'branches_create',\n\t'branches_merge',\n\t'manage_languages',\n\t'review',\n\t'branches_main_modify',\n\t'custom_status_modify',\n] as const\nexport type ProjectPermission = (typeof PROJECT_PERMISSIONS)[number]\n\nexport const EXPERT_FEATURE_FLAGS = [\n\t'homeFeatureLqai',\n\t'lionLfcFilesManagement',\n\t'lionFeatureFilesManagementBulkActions',\n\t'trexFeatureAutomaticTranslations',\n\t'perfFeatureReportingEngine',\n\t'homeFeatureAiLqaSuggestions',\n\t'homeFeatureAibilling',\n\t'homeBugfixAiTaskSaveTemplate',\n\t'homeFeatureAutomaticTranslationUse100TMMatch',\n\t'homeFeatureAutomaticTranslationUseFuzzyMatch',\n\t'homeMarketingBeta',\n\t'growthSubscriptionExtras',\n\t'growthCreditCardExpiry',\n\t'growthCancellationFlow',\n\t'growthPricingV2',\n\t'growthPricingV2WipUsageOverview',\n\t'metroWorkflowsManagement',\n\t'metroWorkflowsCreateCustomScratch',\n\t'metroWorkflowStatusReporting',\n\t'metroWorkflowsGa',\n\t'metroFeatureTemplateTriggerGates',\n\t'metroCustomWorkflows',\n\t'metroFeatureWorkflowsAiScoring',\n\t'metroFeatureWorkflowsInBranches',\n\t'maxMigrationForm',\n\t'gitLabRecursivePullEnabled',\n\t'perfFeatureAsyncExport',\n\t'exportAppleStringsReplaceU2028Disabled',\n\t'translationsFeatureRagModelSettings',\n\t'translationsFeatureAiScoring',\n] as const\n\nexport type ExpertFeatureFlag = (typeof EXPERT_FEATURE_FLAGS)[number]\n\nexport const AUTOPILOT_FEATURE_FLAGS = [\n\t'ap_feature_setup_cancel',\n\t'ap_feature_setup_human_review',\n\t'ap_feature_delete_project_button',\n\t'ap_feature_project_jobs',\n\t'ap_feature_settings_apps',\n\t'ap_feature_styleguide_name',\n\t'ap_feature_reviewer_users',\n\t'ap_feature_target_languages_limit',\n\t'ap_feature_hraas',\n\t'ap_feature_detach_project_from_shopify',\n\t'ap_feature_detach_force_install_project_from_shopify',\n\t'ap_experiment_shopify_roi_recommendations',\n\t'ap_feature_billing',\n\t'ap_feature_force_re_export',\n\t'ap_feature_export_with_non_translatable_markers',\n\t'ap_feature_export_modal',\n\t'ap_feature_in_context_preview',\n\t'ap_feature_in_context_preview_pdf_interactivity',\n\t'ap_feature_marketing_all_file_types_support',\n\t'ap_feature_ntc_manipulation',\n] as const\n\nexport type AutopilotFeatureFlag = (typeof AUTOPILOT_FEATURE_FLAGS)[number]\n\nexport type FeatureFlag = ExpertFeatureFlag | AutopilotFeatureFlag\n\nexport const PROJECT_TYPES = [\n\t'localization_files',\n\t'paged_documents',\n\t'content_integration',\n\t'marketing',\n\t'marketing_integrations',\n] as const\n\nexport type ProjectType = (typeof PROJECT_TYPES)[number]\n\nexport type ActionResolverPayload = {\n\tenabledFeatureFlags?: FeatureFlag[]\n\n\t// This is optional to future-proof the API for the possibility of actions outside the context of a team\n\tteamRole?: TeamRole\n\n\t// This is optional as resolvers should be usable outside the context of a project\n\tprojectPermissions?: (ProjectPermission | LegacyProjectPermission)[]\n\tprojectType?: ProjectType\n}\n\nexport type ActionResolver = (payload: ActionResolverPayload) => boolean\n"],"names":[],"mappings":";;AAGO,MAAM,aAAa,CAAC,SAAS,SAAS,UAAU,QAAQ;AAIlD,MAAA,6BAA6B,CAAC,YAAY,iBAAiB;AAKjE,MAAM,sBAAsB;AAAA,EAClC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACD;AAGO,MAAM,uBAAuB;AAAA,EACnC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACD;AAIO,MAAM,0BAA0B;AAAA,EACtC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACD;AAMO,MAAM,gBAAgB;AAAA,EAC5B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACD;;;;;;;"}