@lokalise/harmony 2.1.0-exp-testingContracts.5 → 2.1.0-exp-testingContracts.7

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 (717) hide show
  1. package/dist/harmony.cjs +69 -73
  2. package/dist/harmony.cjs.map +1 -1
  3. package/dist/harmony.mjs +69 -73
  4. package/dist/harmony.mjs.map +1 -1
  5. package/dist/harmony10.cjs +1 -1
  6. package/dist/harmony10.mjs +1 -1
  7. package/dist/harmony100.cjs +42 -65
  8. package/dist/harmony100.cjs.map +1 -1
  9. package/dist/harmony100.mjs +42 -65
  10. package/dist/harmony100.mjs.map +1 -1
  11. package/dist/harmony101.cjs +39 -3
  12. package/dist/harmony101.cjs.map +1 -1
  13. package/dist/harmony101.mjs +39 -3
  14. package/dist/harmony101.mjs.map +1 -1
  15. package/dist/harmony102.cjs +38 -43
  16. package/dist/harmony102.cjs.map +1 -1
  17. package/dist/harmony102.mjs +38 -43
  18. package/dist/harmony102.mjs.map +1 -1
  19. package/dist/harmony103.cjs +9 -39
  20. package/dist/harmony103.cjs.map +1 -1
  21. package/dist/harmony103.mjs +8 -38
  22. package/dist/harmony103.mjs.map +1 -1
  23. package/dist/harmony104.cjs +30 -35
  24. package/dist/harmony104.cjs.map +1 -1
  25. package/dist/harmony104.mjs +31 -36
  26. package/dist/harmony104.mjs.map +1 -1
  27. package/dist/harmony105.cjs +166 -9
  28. package/dist/harmony105.cjs.map +1 -1
  29. package/dist/harmony105.mjs +165 -8
  30. package/dist/harmony105.mjs.map +1 -1
  31. package/dist/harmony106.cjs +44 -33
  32. package/dist/harmony106.cjs.map +1 -1
  33. package/dist/harmony106.mjs +44 -33
  34. package/dist/harmony106.mjs.map +1 -1
  35. package/dist/harmony107.cjs +13 -165
  36. package/dist/harmony107.cjs.map +1 -1
  37. package/dist/harmony107.mjs +13 -165
  38. package/dist/harmony107.mjs.map +1 -1
  39. package/dist/harmony108.cjs +2 -43
  40. package/dist/harmony108.cjs.map +1 -1
  41. package/dist/harmony108.mjs +3 -44
  42. package/dist/harmony108.mjs.map +1 -1
  43. package/dist/harmony109.cjs +17 -13
  44. package/dist/harmony109.cjs.map +1 -1
  45. package/dist/harmony109.mjs +17 -13
  46. package/dist/harmony109.mjs.map +1 -1
  47. package/dist/harmony110.cjs +76 -3
  48. package/dist/harmony110.cjs.map +1 -1
  49. package/dist/harmony110.mjs +76 -3
  50. package/dist/harmony110.mjs.map +1 -1
  51. package/dist/harmony111.cjs +11 -17
  52. package/dist/harmony111.cjs.map +1 -1
  53. package/dist/harmony111.mjs +11 -17
  54. package/dist/harmony111.mjs.map +1 -1
  55. package/dist/harmony112.cjs +34 -76
  56. package/dist/harmony112.cjs.map +1 -1
  57. package/dist/harmony112.mjs +34 -76
  58. package/dist/harmony112.mjs.map +1 -1
  59. package/dist/harmony113.cjs +9 -12
  60. package/dist/harmony113.cjs.map +1 -1
  61. package/dist/harmony113.mjs +9 -12
  62. package/dist/harmony113.mjs.map +1 -1
  63. package/dist/harmony114.cjs +47 -34
  64. package/dist/harmony114.cjs.map +1 -1
  65. package/dist/harmony114.mjs +47 -34
  66. package/dist/harmony114.mjs.map +1 -1
  67. package/dist/harmony115.cjs +10 -10
  68. package/dist/harmony115.cjs.map +1 -1
  69. package/dist/harmony115.mjs +9 -9
  70. package/dist/harmony115.mjs.map +1 -1
  71. package/dist/harmony116.cjs +9 -44
  72. package/dist/harmony116.cjs.map +1 -1
  73. package/dist/harmony116.mjs +11 -46
  74. package/dist/harmony116.mjs.map +1 -1
  75. package/dist/harmony117.cjs +9 -6
  76. package/dist/harmony117.cjs.map +1 -1
  77. package/dist/harmony117.mjs +9 -6
  78. package/dist/harmony117.mjs.map +1 -1
  79. package/dist/harmony120.cjs +96 -9
  80. package/dist/harmony120.cjs.map +1 -1
  81. package/dist/harmony120.mjs +79 -9
  82. package/dist/harmony120.mjs.map +1 -1
  83. package/dist/harmony121.cjs +21 -13
  84. package/dist/harmony121.cjs.map +1 -1
  85. package/dist/harmony121.mjs +20 -12
  86. package/dist/harmony121.mjs.map +1 -1
  87. package/dist/harmony122.cjs +6 -98
  88. package/dist/harmony122.cjs.map +1 -1
  89. package/dist/harmony122.mjs +7 -82
  90. package/dist/harmony122.mjs.map +1 -1
  91. package/dist/harmony123.cjs +17 -20
  92. package/dist/harmony123.cjs.map +1 -1
  93. package/dist/harmony123.mjs +17 -20
  94. package/dist/harmony123.mjs.map +1 -1
  95. package/dist/harmony124.cjs +8 -7
  96. package/dist/harmony124.cjs.map +1 -1
  97. package/dist/harmony124.mjs +8 -7
  98. package/dist/harmony124.mjs.map +1 -1
  99. package/dist/harmony125.cjs +7 -16
  100. package/dist/harmony125.cjs.map +1 -1
  101. package/dist/harmony125.mjs +7 -16
  102. package/dist/harmony125.mjs.map +1 -1
  103. package/dist/harmony126.cjs +14 -7
  104. package/dist/harmony126.cjs.map +1 -1
  105. package/dist/harmony126.mjs +14 -7
  106. package/dist/harmony126.mjs.map +1 -1
  107. package/dist/harmony127.cjs +86 -7
  108. package/dist/harmony127.cjs.map +1 -1
  109. package/dist/harmony127.mjs +86 -7
  110. package/dist/harmony127.mjs.map +1 -1
  111. package/dist/harmony128.cjs +30 -15
  112. package/dist/harmony128.cjs.map +1 -1
  113. package/dist/harmony128.mjs +30 -15
  114. package/dist/harmony128.mjs.map +1 -1
  115. package/dist/harmony129.cjs +9 -87
  116. package/dist/harmony129.cjs.map +1 -1
  117. package/dist/harmony129.mjs +8 -86
  118. package/dist/harmony129.mjs.map +1 -1
  119. package/dist/harmony130.cjs +11 -29
  120. package/dist/harmony130.cjs.map +1 -1
  121. package/dist/harmony130.mjs +11 -29
  122. package/dist/harmony130.mjs.map +1 -1
  123. package/dist/harmony131.cjs +16 -6
  124. package/dist/harmony131.cjs.map +1 -1
  125. package/dist/harmony131.mjs +15 -5
  126. package/dist/harmony131.mjs.map +1 -1
  127. package/dist/harmony132.cjs +20 -6
  128. package/dist/harmony132.cjs.map +1 -1
  129. package/dist/harmony132.mjs +19 -5
  130. package/dist/harmony132.mjs.map +1 -1
  131. package/dist/harmony133.cjs +10 -9
  132. package/dist/harmony133.cjs.map +1 -1
  133. package/dist/harmony133.mjs +9 -8
  134. package/dist/harmony133.mjs.map +1 -1
  135. package/dist/harmony134.cjs +20 -6
  136. package/dist/harmony134.cjs.map +1 -1
  137. package/dist/harmony134.mjs +21 -7
  138. package/dist/harmony134.mjs.map +1 -1
  139. package/dist/harmony135.cjs +6 -9
  140. package/dist/harmony135.cjs.map +1 -1
  141. package/dist/harmony135.mjs +8 -11
  142. package/dist/harmony135.mjs.map +1 -1
  143. package/dist/harmony136.cjs +33 -14
  144. package/dist/harmony136.cjs.map +1 -1
  145. package/dist/harmony136.mjs +35 -16
  146. package/dist/harmony136.mjs.map +1 -1
  147. package/dist/harmony137.cjs +9 -7
  148. package/dist/harmony137.cjs.map +1 -1
  149. package/dist/harmony137.mjs +11 -9
  150. package/dist/harmony137.mjs.map +1 -1
  151. package/dist/harmony138.cjs +14 -18
  152. package/dist/harmony138.cjs.map +1 -1
  153. package/dist/harmony138.mjs +15 -19
  154. package/dist/harmony138.mjs.map +1 -1
  155. package/dist/harmony139.cjs +31 -7
  156. package/dist/harmony139.cjs.map +1 -1
  157. package/dist/harmony139.mjs +32 -8
  158. package/dist/harmony139.mjs.map +1 -1
  159. package/dist/harmony140.cjs +21 -38
  160. package/dist/harmony140.cjs.map +1 -1
  161. package/dist/harmony140.mjs +20 -37
  162. package/dist/harmony140.mjs.map +1 -1
  163. package/dist/harmony141.cjs +18 -9
  164. package/dist/harmony141.cjs.map +1 -1
  165. package/dist/harmony141.mjs +19 -10
  166. package/dist/harmony141.mjs.map +1 -1
  167. package/dist/harmony142.cjs +6 -22
  168. package/dist/harmony142.cjs.map +1 -1
  169. package/dist/harmony142.mjs +5 -21
  170. package/dist/harmony142.mjs.map +1 -1
  171. package/dist/harmony143.cjs +15 -36
  172. package/dist/harmony143.cjs.map +1 -1
  173. package/dist/harmony143.mjs +14 -35
  174. package/dist/harmony143.mjs.map +1 -1
  175. package/dist/harmony144.cjs +5 -21
  176. package/dist/harmony144.cjs.map +1 -1
  177. package/dist/harmony144.mjs +5 -21
  178. package/dist/harmony144.mjs.map +1 -1
  179. package/dist/harmony145.cjs +6 -22
  180. package/dist/harmony145.cjs.map +1 -1
  181. package/dist/harmony145.mjs +5 -21
  182. package/dist/harmony145.mjs.map +1 -1
  183. package/dist/harmony146.cjs +4 -7
  184. package/dist/harmony146.cjs.map +1 -1
  185. package/dist/harmony146.mjs +3 -6
  186. package/dist/harmony146.mjs.map +1 -1
  187. package/dist/harmony147.cjs +4 -16
  188. package/dist/harmony147.cjs.map +1 -1
  189. package/dist/harmony147.mjs +3 -15
  190. package/dist/harmony147.mjs.map +1 -1
  191. package/dist/harmony148.cjs +3 -10
  192. package/dist/harmony148.cjs.map +1 -1
  193. package/dist/harmony148.mjs +3 -10
  194. package/dist/harmony148.mjs.map +1 -1
  195. package/dist/harmony149.cjs +14 -3
  196. package/dist/harmony149.cjs.map +1 -1
  197. package/dist/harmony149.mjs +14 -3
  198. package/dist/harmony149.mjs.map +1 -1
  199. package/dist/harmony150.cjs +14 -3
  200. package/dist/harmony150.cjs.map +1 -1
  201. package/dist/harmony150.mjs +14 -3
  202. package/dist/harmony150.mjs.map +1 -1
  203. package/dist/harmony151.cjs +3 -3
  204. package/dist/harmony151.cjs.map +1 -1
  205. package/dist/harmony151.mjs +3 -3
  206. package/dist/harmony151.mjs.map +1 -1
  207. package/dist/harmony152.cjs +10 -14
  208. package/dist/harmony152.cjs.map +1 -1
  209. package/dist/harmony152.mjs +10 -14
  210. package/dist/harmony152.mjs.map +1 -1
  211. package/dist/harmony153.cjs +10 -15
  212. package/dist/harmony153.cjs.map +1 -1
  213. package/dist/harmony153.mjs +9 -14
  214. package/dist/harmony153.mjs.map +1 -1
  215. package/dist/harmony154.cjs +7 -4
  216. package/dist/harmony154.cjs.map +1 -1
  217. package/dist/harmony154.mjs +6 -3
  218. package/dist/harmony154.mjs.map +1 -1
  219. package/dist/harmony155.cjs +10 -97
  220. package/dist/harmony155.cjs.map +1 -1
  221. package/dist/harmony155.mjs +9 -96
  222. package/dist/harmony155.mjs.map +1 -1
  223. package/dist/harmony156.cjs +25 -14
  224. package/dist/harmony156.cjs.map +1 -1
  225. package/dist/harmony156.mjs +24 -13
  226. package/dist/harmony156.mjs.map +1 -1
  227. package/dist/harmony157.cjs +7 -15
  228. package/dist/harmony157.cjs.map +1 -1
  229. package/dist/harmony157.mjs +6 -14
  230. package/dist/harmony157.mjs.map +1 -1
  231. package/dist/harmony158.cjs +13 -37
  232. package/dist/harmony158.cjs.map +1 -1
  233. package/dist/harmony158.mjs +12 -36
  234. package/dist/harmony158.mjs.map +1 -1
  235. package/dist/harmony159.cjs +7 -29
  236. package/dist/harmony159.cjs.map +1 -1
  237. package/dist/harmony159.mjs +6 -28
  238. package/dist/harmony159.mjs.map +1 -1
  239. package/dist/harmony160.cjs +97 -10
  240. package/dist/harmony160.cjs.map +1 -1
  241. package/dist/harmony160.mjs +96 -9
  242. package/dist/harmony160.mjs.map +1 -1
  243. package/dist/harmony161.cjs +14 -7
  244. package/dist/harmony161.cjs.map +1 -1
  245. package/dist/harmony161.mjs +13 -6
  246. package/dist/harmony161.mjs.map +1 -1
  247. package/dist/harmony162.cjs +15 -10
  248. package/dist/harmony162.cjs.map +1 -1
  249. package/dist/harmony162.mjs +14 -9
  250. package/dist/harmony162.mjs.map +1 -1
  251. package/dist/harmony163.cjs +37 -25
  252. package/dist/harmony163.cjs.map +1 -1
  253. package/dist/harmony163.mjs +36 -24
  254. package/dist/harmony163.mjs.map +1 -1
  255. package/dist/harmony164.cjs +29 -7
  256. package/dist/harmony164.cjs.map +1 -1
  257. package/dist/harmony164.mjs +28 -6
  258. package/dist/harmony164.mjs.map +1 -1
  259. package/dist/harmony165.cjs +32 -12
  260. package/dist/harmony165.cjs.map +1 -1
  261. package/dist/harmony165.mjs +31 -11
  262. package/dist/harmony165.mjs.map +1 -1
  263. package/dist/harmony166.cjs +14 -7
  264. package/dist/harmony166.cjs.map +1 -1
  265. package/dist/harmony166.mjs +13 -6
  266. package/dist/harmony166.mjs.map +1 -1
  267. package/dist/harmony167.cjs +14 -12
  268. package/dist/harmony167.cjs.map +1 -1
  269. package/dist/harmony167.mjs +14 -12
  270. package/dist/harmony167.mjs.map +1 -1
  271. package/dist/harmony168.cjs +14 -13
  272. package/dist/harmony168.cjs.map +1 -1
  273. package/dist/harmony168.mjs +14 -13
  274. package/dist/harmony168.mjs.map +1 -1
  275. package/dist/harmony169.cjs +10 -15
  276. package/dist/harmony169.cjs.map +1 -1
  277. package/dist/harmony169.mjs +10 -15
  278. package/dist/harmony169.mjs.map +1 -1
  279. package/dist/harmony17.cjs +3 -3
  280. package/dist/harmony17.cjs.map +1 -1
  281. package/dist/harmony17.mjs +2 -2
  282. package/dist/harmony17.mjs.map +1 -1
  283. package/dist/harmony170.cjs +15 -31
  284. package/dist/harmony170.cjs.map +1 -1
  285. package/dist/harmony170.mjs +15 -31
  286. package/dist/harmony170.mjs.map +1 -1
  287. package/dist/harmony171.cjs +20 -10
  288. package/dist/harmony171.cjs.map +1 -1
  289. package/dist/harmony171.mjs +20 -10
  290. package/dist/harmony171.mjs.map +1 -1
  291. package/dist/harmony172.cjs +10 -14
  292. package/dist/harmony172.cjs.map +1 -1
  293. package/dist/harmony172.mjs +10 -14
  294. package/dist/harmony172.mjs.map +1 -1
  295. package/dist/harmony173.cjs +4 -21
  296. package/dist/harmony173.cjs.map +1 -1
  297. package/dist/harmony173.mjs +4 -21
  298. package/dist/harmony173.mjs.map +1 -1
  299. package/dist/harmony174.cjs +5 -11
  300. package/dist/harmony174.cjs.map +1 -1
  301. package/dist/harmony174.mjs +5 -11
  302. package/dist/harmony174.mjs.map +1 -1
  303. package/dist/harmony175.cjs +11 -5
  304. package/dist/harmony175.cjs.map +1 -1
  305. package/dist/harmony175.mjs +11 -5
  306. package/dist/harmony175.mjs.map +1 -1
  307. package/dist/harmony176.cjs +31 -11
  308. package/dist/harmony176.cjs.map +1 -1
  309. package/dist/harmony176.mjs +31 -11
  310. package/dist/harmony176.mjs.map +1 -1
  311. package/dist/harmony177.cjs +10 -28
  312. package/dist/harmony177.cjs.map +1 -1
  313. package/dist/harmony177.mjs +10 -28
  314. package/dist/harmony177.mjs.map +1 -1
  315. package/dist/harmony18.cjs +2 -2
  316. package/dist/harmony18.cjs.map +1 -1
  317. package/dist/harmony18.mjs +1 -1
  318. package/dist/harmony18.mjs.map +1 -1
  319. package/dist/harmony2.cjs +3 -3
  320. package/dist/harmony2.mjs +3 -3
  321. package/dist/harmony20.cjs +1 -1
  322. package/dist/harmony20.mjs +1 -1
  323. package/dist/harmony22.cjs +20 -16
  324. package/dist/harmony22.cjs.map +1 -1
  325. package/dist/harmony22.mjs +20 -16
  326. package/dist/harmony22.mjs.map +1 -1
  327. package/dist/harmony23.cjs +13 -141
  328. package/dist/harmony23.cjs.map +1 -1
  329. package/dist/harmony23.mjs +13 -141
  330. package/dist/harmony23.mjs.map +1 -1
  331. package/dist/harmony24.cjs +17 -20
  332. package/dist/harmony24.cjs.map +1 -1
  333. package/dist/harmony24.mjs +17 -20
  334. package/dist/harmony24.mjs.map +1 -1
  335. package/dist/harmony25.cjs +16 -12
  336. package/dist/harmony25.cjs.map +1 -1
  337. package/dist/harmony25.mjs +16 -12
  338. package/dist/harmony25.mjs.map +1 -1
  339. package/dist/harmony26.cjs +18 -15
  340. package/dist/harmony26.cjs.map +1 -1
  341. package/dist/harmony26.mjs +18 -15
  342. package/dist/harmony26.mjs.map +1 -1
  343. package/dist/harmony27.cjs +18 -16
  344. package/dist/harmony27.cjs.map +1 -1
  345. package/dist/harmony27.mjs +18 -16
  346. package/dist/harmony27.mjs.map +1 -1
  347. package/dist/harmony28.cjs +8 -18
  348. package/dist/harmony28.cjs.map +1 -1
  349. package/dist/harmony28.mjs +8 -18
  350. package/dist/harmony28.mjs.map +1 -1
  351. package/dist/harmony29.cjs +10 -19
  352. package/dist/harmony29.cjs.map +1 -1
  353. package/dist/harmony29.mjs +10 -19
  354. package/dist/harmony29.mjs.map +1 -1
  355. package/dist/harmony3.cjs +4 -4
  356. package/dist/harmony3.mjs +4 -4
  357. package/dist/harmony30.cjs +9 -10
  358. package/dist/harmony30.cjs.map +1 -1
  359. package/dist/harmony30.mjs +9 -10
  360. package/dist/harmony30.mjs.map +1 -1
  361. package/dist/harmony31.cjs +9 -11
  362. package/dist/harmony31.cjs.map +1 -1
  363. package/dist/harmony31.mjs +9 -11
  364. package/dist/harmony31.mjs.map +1 -1
  365. package/dist/harmony32.cjs +11 -5
  366. package/dist/harmony32.cjs.map +1 -1
  367. package/dist/harmony32.mjs +11 -5
  368. package/dist/harmony32.mjs.map +1 -1
  369. package/dist/harmony33.cjs +8 -7
  370. package/dist/harmony33.cjs.map +1 -1
  371. package/dist/harmony33.mjs +9 -8
  372. package/dist/harmony33.mjs.map +1 -1
  373. package/dist/harmony34.cjs +9 -11
  374. package/dist/harmony34.cjs.map +1 -1
  375. package/dist/harmony34.mjs +10 -12
  376. package/dist/harmony34.mjs.map +1 -1
  377. package/dist/harmony35.cjs +5 -5
  378. package/dist/harmony35.cjs.map +1 -1
  379. package/dist/harmony35.mjs +5 -5
  380. package/dist/harmony35.mjs.map +1 -1
  381. package/dist/harmony36.cjs +11 -10
  382. package/dist/harmony36.cjs.map +1 -1
  383. package/dist/harmony36.mjs +11 -10
  384. package/dist/harmony36.mjs.map +1 -1
  385. package/dist/harmony37.cjs +7 -9
  386. package/dist/harmony37.cjs.map +1 -1
  387. package/dist/harmony37.mjs +7 -9
  388. package/dist/harmony37.mjs.map +1 -1
  389. package/dist/harmony38.cjs +10 -13
  390. package/dist/harmony38.cjs.map +1 -1
  391. package/dist/harmony38.mjs +10 -13
  392. package/dist/harmony38.mjs.map +1 -1
  393. package/dist/harmony39.cjs +8 -5
  394. package/dist/harmony39.cjs.map +1 -1
  395. package/dist/harmony39.mjs +8 -5
  396. package/dist/harmony39.mjs.map +1 -1
  397. package/dist/harmony4.cjs +2 -2
  398. package/dist/harmony4.mjs +2 -2
  399. package/dist/harmony40.cjs +7 -9
  400. package/dist/harmony40.cjs.map +1 -1
  401. package/dist/harmony40.mjs +7 -9
  402. package/dist/harmony40.mjs.map +1 -1
  403. package/dist/harmony41.cjs +7 -9
  404. package/dist/harmony41.cjs.map +1 -1
  405. package/dist/harmony41.mjs +7 -9
  406. package/dist/harmony41.mjs.map +1 -1
  407. package/dist/harmony42.cjs +9 -9
  408. package/dist/harmony42.cjs.map +1 -1
  409. package/dist/harmony42.mjs +9 -9
  410. package/dist/harmony42.mjs.map +1 -1
  411. package/dist/harmony43.cjs +88 -9
  412. package/dist/harmony43.cjs.map +1 -1
  413. package/dist/harmony43.mjs +88 -9
  414. package/dist/harmony43.mjs.map +1 -1
  415. package/dist/harmony44.cjs +55 -9
  416. package/dist/harmony44.cjs.map +1 -1
  417. package/dist/harmony44.mjs +55 -9
  418. package/dist/harmony44.mjs.map +1 -1
  419. package/dist/harmony45.cjs +31 -88
  420. package/dist/harmony45.cjs.map +1 -1
  421. package/dist/harmony45.mjs +31 -88
  422. package/dist/harmony45.mjs.map +1 -1
  423. package/dist/harmony46.cjs +10 -54
  424. package/dist/harmony46.cjs.map +1 -1
  425. package/dist/harmony46.mjs +10 -54
  426. package/dist/harmony46.mjs.map +1 -1
  427. package/dist/harmony47.cjs +50 -26
  428. package/dist/harmony47.cjs.map +1 -1
  429. package/dist/harmony47.mjs +51 -27
  430. package/dist/harmony47.mjs.map +1 -1
  431. package/dist/harmony48.cjs +27 -8
  432. package/dist/harmony48.cjs.map +1 -1
  433. package/dist/harmony48.mjs +28 -9
  434. package/dist/harmony48.mjs.map +1 -1
  435. package/dist/harmony49.cjs +15 -52
  436. package/dist/harmony49.cjs.map +1 -1
  437. package/dist/harmony49.mjs +16 -53
  438. package/dist/harmony49.mjs.map +1 -1
  439. package/dist/harmony5.cjs +5 -5
  440. package/dist/harmony5.mjs +5 -5
  441. package/dist/harmony50.cjs +24 -26
  442. package/dist/harmony50.cjs.map +1 -1
  443. package/dist/harmony50.mjs +25 -27
  444. package/dist/harmony50.mjs.map +1 -1
  445. package/dist/harmony51.cjs +12 -16
  446. package/dist/harmony51.cjs.map +1 -1
  447. package/dist/harmony51.mjs +13 -17
  448. package/dist/harmony51.mjs.map +1 -1
  449. package/dist/harmony52.cjs +14 -28
  450. package/dist/harmony52.cjs.map +1 -1
  451. package/dist/harmony52.mjs +14 -28
  452. package/dist/harmony52.mjs.map +1 -1
  453. package/dist/harmony53.cjs +14 -14
  454. package/dist/harmony53.cjs.map +1 -1
  455. package/dist/harmony53.mjs +14 -14
  456. package/dist/harmony53.mjs.map +1 -1
  457. package/dist/harmony54.cjs +6 -6
  458. package/dist/harmony54.cjs.map +1 -1
  459. package/dist/harmony54.mjs +6 -6
  460. package/dist/harmony54.mjs.map +1 -1
  461. package/dist/harmony55.cjs +6 -6
  462. package/dist/harmony55.cjs.map +1 -1
  463. package/dist/harmony55.mjs +6 -6
  464. package/dist/harmony55.mjs.map +1 -1
  465. package/dist/harmony56.cjs +4 -5
  466. package/dist/harmony56.cjs.map +1 -1
  467. package/dist/harmony56.mjs +4 -5
  468. package/dist/harmony56.mjs.map +1 -1
  469. package/dist/harmony57.cjs +15 -7
  470. package/dist/harmony57.cjs.map +1 -1
  471. package/dist/harmony57.mjs +16 -8
  472. package/dist/harmony57.mjs.map +1 -1
  473. package/dist/harmony58.cjs +6 -6
  474. package/dist/harmony58.cjs.map +1 -1
  475. package/dist/harmony58.mjs +7 -7
  476. package/dist/harmony58.mjs.map +1 -1
  477. package/dist/harmony59.cjs +7 -16
  478. package/dist/harmony59.cjs.map +1 -1
  479. package/dist/harmony59.mjs +7 -16
  480. package/dist/harmony59.mjs.map +1 -1
  481. package/dist/harmony6.cjs +2 -2
  482. package/dist/harmony6.mjs +2 -2
  483. package/dist/harmony60.cjs +11 -7
  484. package/dist/harmony60.cjs.map +1 -1
  485. package/dist/harmony60.mjs +13 -9
  486. package/dist/harmony60.mjs.map +1 -1
  487. package/dist/harmony61.cjs +10 -6
  488. package/dist/harmony61.cjs.map +1 -1
  489. package/dist/harmony61.mjs +12 -8
  490. package/dist/harmony61.mjs.map +1 -1
  491. package/dist/harmony62.cjs +12 -14
  492. package/dist/harmony62.cjs.map +1 -1
  493. package/dist/harmony62.mjs +12 -14
  494. package/dist/harmony62.mjs.map +1 -1
  495. package/dist/harmony63.cjs +12 -14
  496. package/dist/harmony63.cjs.map +1 -1
  497. package/dist/harmony63.mjs +13 -15
  498. package/dist/harmony63.mjs.map +1 -1
  499. package/dist/harmony64.cjs +9 -9
  500. package/dist/harmony64.cjs.map +1 -1
  501. package/dist/harmony64.mjs +9 -9
  502. package/dist/harmony64.mjs.map +1 -1
  503. package/dist/harmony65.cjs +14 -12
  504. package/dist/harmony65.cjs.map +1 -1
  505. package/dist/harmony65.mjs +15 -13
  506. package/dist/harmony65.mjs.map +1 -1
  507. package/dist/harmony66.cjs +14 -12
  508. package/dist/harmony66.cjs.map +1 -1
  509. package/dist/harmony66.mjs +14 -12
  510. package/dist/harmony66.mjs.map +1 -1
  511. package/dist/harmony67.cjs +10 -10
  512. package/dist/harmony67.cjs.map +1 -1
  513. package/dist/harmony67.mjs +10 -10
  514. package/dist/harmony67.mjs.map +1 -1
  515. package/dist/harmony68.cjs +8 -8
  516. package/dist/harmony68.cjs.map +1 -1
  517. package/dist/harmony68.mjs +8 -8
  518. package/dist/harmony68.mjs.map +1 -1
  519. package/dist/harmony69.cjs +8 -8
  520. package/dist/harmony69.cjs.map +1 -1
  521. package/dist/harmony69.mjs +8 -8
  522. package/dist/harmony69.mjs.map +1 -1
  523. package/dist/harmony7.cjs +2 -2
  524. package/dist/harmony7.mjs +2 -2
  525. package/dist/harmony70.cjs +12 -14
  526. package/dist/harmony70.cjs.map +1 -1
  527. package/dist/harmony70.mjs +12 -14
  528. package/dist/harmony70.mjs.map +1 -1
  529. package/dist/harmony71.cjs +8 -8
  530. package/dist/harmony71.cjs.map +1 -1
  531. package/dist/harmony71.mjs +8 -8
  532. package/dist/harmony71.mjs.map +1 -1
  533. package/dist/harmony72.cjs +14 -12
  534. package/dist/harmony72.cjs.map +1 -1
  535. package/dist/harmony72.mjs +14 -12
  536. package/dist/harmony72.mjs.map +1 -1
  537. package/dist/harmony73.cjs +9 -8
  538. package/dist/harmony73.cjs.map +1 -1
  539. package/dist/harmony73.mjs +10 -9
  540. package/dist/harmony73.mjs.map +1 -1
  541. package/dist/harmony74.cjs +7 -10
  542. package/dist/harmony74.cjs.map +1 -1
  543. package/dist/harmony74.mjs +9 -12
  544. package/dist/harmony74.mjs.map +1 -1
  545. package/dist/harmony75.cjs +7 -11
  546. package/dist/harmony75.cjs.map +1 -1
  547. package/dist/harmony75.mjs +8 -12
  548. package/dist/harmony75.mjs.map +1 -1
  549. package/dist/harmony76.cjs +123 -13
  550. package/dist/harmony76.cjs.map +1 -1
  551. package/dist/harmony76.mjs +123 -13
  552. package/dist/harmony76.mjs.map +1 -1
  553. package/dist/harmony77.cjs +81 -13
  554. package/dist/harmony77.cjs.map +1 -1
  555. package/dist/harmony77.mjs +81 -13
  556. package/dist/harmony77.mjs.map +1 -1
  557. package/dist/harmony78.cjs +5 -123
  558. package/dist/harmony78.cjs.map +1 -1
  559. package/dist/harmony78.mjs +5 -123
  560. package/dist/harmony78.mjs.map +1 -1
  561. package/dist/harmony79.cjs +28 -82
  562. package/dist/harmony79.cjs.map +1 -1
  563. package/dist/harmony79.mjs +27 -81
  564. package/dist/harmony79.mjs.map +1 -1
  565. package/dist/harmony80.cjs +23 -5
  566. package/dist/harmony80.cjs.map +1 -1
  567. package/dist/harmony80.mjs +23 -5
  568. package/dist/harmony80.mjs.map +1 -1
  569. package/dist/harmony81.cjs +141 -28
  570. package/dist/harmony81.cjs.map +1 -1
  571. package/dist/harmony81.mjs +130 -17
  572. package/dist/harmony81.mjs.map +1 -1
  573. package/dist/harmony82.cjs +36 -23
  574. package/dist/harmony82.cjs.map +1 -1
  575. package/dist/harmony82.mjs +36 -23
  576. package/dist/harmony82.mjs.map +1 -1
  577. package/dist/harmony83.cjs +26 -141
  578. package/dist/harmony83.cjs.map +1 -1
  579. package/dist/harmony83.mjs +26 -141
  580. package/dist/harmony83.mjs.map +1 -1
  581. package/dist/harmony84.cjs +4 -37
  582. package/dist/harmony84.cjs.map +1 -1
  583. package/dist/harmony84.mjs +4 -37
  584. package/dist/harmony84.mjs.map +1 -1
  585. package/dist/harmony85.cjs +83 -25
  586. package/dist/harmony85.cjs.map +1 -1
  587. package/dist/harmony85.mjs +83 -25
  588. package/dist/harmony85.mjs.map +1 -1
  589. package/dist/harmony86.cjs +58 -4
  590. package/dist/harmony86.cjs.map +1 -1
  591. package/dist/harmony86.mjs +58 -4
  592. package/dist/harmony86.mjs.map +1 -1
  593. package/dist/harmony87.cjs +17 -83
  594. package/dist/harmony87.cjs.map +1 -1
  595. package/dist/harmony87.mjs +17 -83
  596. package/dist/harmony87.mjs.map +1 -1
  597. package/dist/harmony88.cjs +8 -58
  598. package/dist/harmony88.cjs.map +1 -1
  599. package/dist/harmony88.mjs +7 -57
  600. package/dist/harmony88.mjs.map +1 -1
  601. package/dist/harmony89.cjs +3 -19
  602. package/dist/harmony89.cjs.map +1 -1
  603. package/dist/harmony89.mjs +2 -18
  604. package/dist/harmony89.mjs.map +1 -1
  605. package/dist/harmony9.cjs +1 -1
  606. package/dist/harmony9.mjs +1 -1
  607. package/dist/harmony90.cjs +3 -9
  608. package/dist/harmony90.cjs.map +1 -1
  609. package/dist/harmony90.mjs +2 -8
  610. package/dist/harmony90.mjs.map +1 -1
  611. package/dist/harmony91.cjs +15 -2
  612. package/dist/harmony91.cjs.map +1 -1
  613. package/dist/harmony91.mjs +15 -2
  614. package/dist/harmony91.mjs.map +1 -1
  615. package/dist/harmony92.cjs +18 -2
  616. package/dist/harmony92.cjs.map +1 -1
  617. package/dist/harmony92.mjs +18 -2
  618. package/dist/harmony92.mjs.map +1 -1
  619. package/dist/harmony93.cjs +60 -14
  620. package/dist/harmony93.cjs.map +1 -1
  621. package/dist/harmony93.mjs +60 -14
  622. package/dist/harmony93.mjs.map +1 -1
  623. package/dist/harmony94.cjs +9 -19
  624. package/dist/harmony94.cjs.map +1 -1
  625. package/dist/harmony94.mjs +8 -18
  626. package/dist/harmony94.mjs.map +1 -1
  627. package/dist/harmony95.cjs +28 -60
  628. package/dist/harmony95.cjs.map +1 -1
  629. package/dist/harmony95.mjs +28 -60
  630. package/dist/harmony95.mjs.map +1 -1
  631. package/dist/harmony96.cjs +3 -8
  632. package/dist/harmony96.cjs.map +1 -1
  633. package/dist/harmony96.mjs +3 -8
  634. package/dist/harmony96.mjs.map +1 -1
  635. package/dist/harmony97.cjs +27 -27
  636. package/dist/harmony97.cjs.map +1 -1
  637. package/dist/harmony97.mjs +28 -28
  638. package/dist/harmony97.mjs.map +1 -1
  639. package/dist/harmony98.cjs +66 -3
  640. package/dist/harmony98.cjs.map +1 -1
  641. package/dist/harmony98.mjs +66 -3
  642. package/dist/harmony98.mjs.map +1 -1
  643. package/dist/harmony99.cjs +3 -29
  644. package/dist/harmony99.cjs.map +1 -1
  645. package/dist/harmony99.mjs +3 -29
  646. package/dist/harmony99.mjs.map +1 -1
  647. package/dist/types/src/features/auth/core/middleware/jwtAuthHeaderBuilderMiddleware.d.ts +1 -1
  648. package/dist/types/src/features/auth/core/middleware/publicApiHeaderBuilderMiddleware.d.ts +1 -1
  649. package/dist/types/src/features/auth/core/types/jwtTokenPayload.d.ts +35 -8
  650. package/dist/types/src/features/auth/core/types/jwtTokenPayload.fixture.d.ts +1 -1
  651. package/dist/types/src/features/auth/factories/headerBuilderFactories.d.ts +1 -1
  652. package/dist/types/src/features/auth/frontend/hooks/useAuthenticatedProjectContributor.d.ts +4 -4
  653. package/dist/types/src/features/auth/frontend/hooks/useAuthenticatedUser.d.ts +3 -3
  654. package/dist/types/src/features/auth/frontend/hooks/useGetPromotedClassicSessionJwtQuery.d.ts +1 -1
  655. package/dist/types/src/features/auth/frontend/services/generateTokenFromClassicSession.d.ts +4 -1
  656. package/dist/types/src/features/auth/frontend/services/refreshExpiredToken.d.ts +4 -1
  657. package/dist/types/src/features/auth/node.d.ts +0 -2
  658. package/dist/types/src/features/navigation/hooks/useNavigationQueries.d.ts +48 -48
  659. package/dist/types/src/features/publicApi/TESTING_CONTRACTS.d.ts +239 -2
  660. package/dist/types/src/features/publicApi/contributors.d.ts +1072 -5
  661. package/dist/types/src/features/publicApi/hooks/useAddContributorsMutation.d.ts +8 -8
  662. package/dist/types/src/features/publicApi/hooks/useAddLanguagesToProjectMutation.d.ts +3 -3
  663. package/dist/types/src/features/publicApi/hooks/useBulkUpdateProjectLanguagesMutation.d.ts +1 -1
  664. package/dist/types/src/features/publicApi/hooks/useCreateProjectMutation.d.ts +15 -15
  665. package/dist/types/src/features/publicApi/hooks/useCreateScoreMutation.d.ts +4 -4
  666. package/dist/types/src/features/publicApi/hooks/useDeleteContributorMutation.d.ts +1 -1
  667. package/dist/types/src/features/publicApi/hooks/useDeleteProjectMutation.d.ts +1 -1
  668. package/dist/types/src/features/publicApi/hooks/useDeleteScoreMutation.d.ts +1 -1
  669. package/dist/types/src/features/publicApi/hooks/useGetProjectPermissionMetaQuery.d.ts +1 -1
  670. package/dist/types/src/features/publicApi/hooks/useGetScoreQuery.d.ts +1 -1
  671. package/dist/types/src/features/publicApi/hooks/useGetTeamUsersQuery.d.ts +1 -1
  672. package/dist/types/src/features/publicApi/hooks/useGetUserTokenQuery.d.ts +1 -1
  673. package/dist/types/src/features/publicApi/hooks/useListContributorsQuery.d.ts +1 -1
  674. package/dist/types/src/features/publicApi/hooks/useListPermissionTemplates.d.ts +1 -1
  675. package/dist/types/src/features/publicApi/hooks/useListProjectLanguagesQuery.d.ts +1 -1
  676. package/dist/types/src/features/publicApi/hooks/useListProjectsQuery.d.ts +2 -2
  677. package/dist/types/src/features/publicApi/hooks/useListTeamUsersQuery.d.ts +1 -1
  678. package/dist/types/src/features/publicApi/hooks/useListTeamsQuery.d.ts +2 -2
  679. package/dist/types/src/features/publicApi/hooks/useRetrieveContributorQuery.d.ts +3 -3
  680. package/dist/types/src/features/publicApi/hooks/useRetrieveProjectQuery.d.ts +1 -1
  681. package/dist/types/src/features/publicApi/hooks/useRetrieveTeamQuery.d.ts +1 -1
  682. package/dist/types/src/features/publicApi/hooks/useRetrieveUserPermissions.d.ts +2 -2
  683. package/dist/types/src/features/publicApi/hooks/useUpdateContributorMutation.d.ts +6 -6
  684. package/dist/types/src/features/publicApi/hooks/useUpdateProjectMutation.d.ts +14 -14
  685. package/dist/types/src/features/publicApi/languages.d.ts +368 -3
  686. package/dist/types/src/features/publicApi/permissionTemplates.d.ts +117 -1
  687. package/dist/types/src/features/publicApi/projects.d.ts +1965 -6
  688. package/dist/types/src/features/publicApi/score.d.ts +290 -3
  689. package/dist/types/src/features/publicApi/team.d.ts +374 -2
  690. package/dist/types/src/features/publicApi/teamUsers.d.ts +318 -3
  691. package/dist/types/src/features/publicApi/types/contributorTypes.d.ts +834 -84
  692. package/dist/types/src/features/publicApi/types/languageTypes.d.ts +212 -22
  693. package/dist/types/src/features/publicApi/types/paginationTypes.d.ts +8 -2
  694. package/dist/types/src/features/publicApi/types/permissionTemplateTypes.d.ts +76 -71
  695. package/dist/types/src/features/publicApi/types/permissionTypes.d.ts +24 -48
  696. package/dist/types/src/features/publicApi/types/projectTypes.d.ts +1097 -211
  697. package/dist/types/src/features/publicApi/types/scoreTypes.d.ts +96 -32
  698. package/dist/types/src/features/publicApi/types/sharedTypes.d.ts +126 -30
  699. package/dist/types/src/features/publicApi/types/teamRoleTypes.d.ts +2 -7
  700. package/dist/types/src/features/publicApi/types/teamTypes.d.ts +328 -65
  701. package/dist/types/src/features/publicApi/types/teamUserTypes.d.ts +208 -91
  702. package/dist/types/src/features/publicApi/types/userTokenTypes.d.ts +39 -9
  703. package/dist/types/src/features/publicApi/userToken.d.ts +53 -1
  704. package/dist/types/tests/utils/apiHelpers.d.ts +1 -1
  705. package/package.json +1 -1
  706. package/dist/harmony178.cjs +0 -17
  707. package/dist/harmony178.cjs.map +0 -1
  708. package/dist/harmony178.mjs +0 -17
  709. package/dist/harmony178.mjs.map +0 -1
  710. package/dist/harmony179.cjs +0 -7
  711. package/dist/harmony179.cjs.map +0 -1
  712. package/dist/harmony179.mjs +0 -7
  713. package/dist/harmony179.mjs.map +0 -1
  714. package/dist/types/src/features/auth/core/headers/createHeaderBuilderMiddleware.d.ts +0 -32
  715. package/dist/types/src/features/auth/core/headers/createHeaderBuilderMiddleware.test.d.ts +0 -1
  716. package/dist/types/src/features/auth/core/headers/headerBuilder.d.ts +0 -171
  717. package/dist/types/src/features/auth/core/headers/headerBuilder.test.d.ts +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"harmony38.cjs","sources":["../src/features/permissions/components/HasFeatureFlagGuard.tsx"],"sourcesContent":["import { useHasAllFeatureFlags } from '@features/permissions/hooks/useHasAllFeatureFlags'\nimport { useHasAnyFeatureFlags } from '@features/permissions/hooks/useHasAnyFeatureFlags'\nimport type { FeatureFlag } from '@features/permissions/types'\nimport type { PropsWithChildren } from 'react'\n\ntype HasFeatureFlagGuardProps = PropsWithChildren<{\n\tall?: FeatureFlag[]\n\tany?: FeatureFlag[]\n}>\n\nexport const HasFeatureFlagGuard = ({ any, all, children }: HasFeatureFlagGuardProps) => {\n\tconst hasAllFlags = useHasAllFeatureFlags(...(all ?? []))\n\tconst hasAnyFlags = useHasAnyFeatureFlags(...(any ?? []))\n\n\t// If you pass in an array with nothing in it, you don't have access!\n\tconst hasAll = all === undefined || (all.length > 0 ? hasAllFlags : false)\n\tconst hasAny = any === undefined || (any.length > 0 ? hasAnyFlags : false)\n\n\tif (hasAll && hasAny) {\n\t\treturn <>{children}</>\n\t}\n\n\treturn null\n}\n"],"names":["useHasAllFeatureFlags","useHasAnyFeatureFlags"],"mappings":";;;;;AAUO,MAAM,sBAAsB,CAAC,EAAE,KAAK,KAAK,eAAyC;AACxF,QAAM,cAAcA,sBAAAA,sBAAsB,GAAI,OAAO,CAAA,CAAG;AACxD,QAAM,cAAcC,sBAAAA,sBAAsB,GAAI,OAAO,CAAA,CAAG;AAGxD,QAAM,SAAS,QAAQ,WAAc,IAAI,SAAS,IAAI,cAAc;AACpE,QAAM,SAAS,QAAQ,WAAc,IAAI,SAAS,IAAI,cAAc;AAEpE,MAAI,UAAU,QAAQ;AACrB,iEAAU,UAAS;AAAA,EAAA;AAGb,SAAA;AACR;;"}
1
+ {"version":3,"file":"harmony38.cjs","sources":["../src/features/permissions/hooks/useCanPerformAllActions.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 all the specified actions.\n *\n * This hook is useful for conditionally rendering UI elements or triggering logic\n * that require the user to have multiple permissions.\n * It returns true only if the user can perform every 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 all actions, otherwise false.\n *\n * @example\n * // Check if the user can both access marketing projects and delete projects\n * const canDoAll = useCanPerformAllActions(\"accessMarketingProjects\", \"deleteProjects\");\n * if (canDoAll) {\n * // show danger zone\n * }\n */\nexport const useCanPerformAllActions = (...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.every((action) => canPerformAction(action, payload)),\n\t\t[payload, actions.join()],\n\t)\n}\n"],"names":["useActionResolverPayload","useMemo","canPerformAction"],"mappings":";;;;;AAsBa,MAAA,0BAA0B,IAAI,YAA+B;AACzE,QAAM,UAAUA,yBAAAA,yBAAyB;AAMlC,SAAAC,MAAA;AAAA,IACN,MAAM,QAAQ,MAAM,CAAC,WAAWC,iBAAAA,iBAAiB,QAAQ,OAAO,CAAC;AAAA,IACjE,CAAC,SAAS,QAAQ,KAAM,CAAA;AAAA,EACzB;AACD;;"}
@@ -1,17 +1,14 @@
1
- import { jsx, Fragment } from "react/jsx-runtime";
2
- import { useHasAllFeatureFlags } from "./harmony43.mjs";
3
- import { useHasAnyFeatureFlags } from "./harmony42.mjs";
4
- const HasFeatureFlagGuard = ({ any, all, children }) => {
5
- const hasAllFlags = useHasAllFeatureFlags(...all ?? []);
6
- const hasAnyFlags = useHasAnyFeatureFlags(...any ?? []);
7
- const hasAll = all === void 0 || (all.length > 0 ? hasAllFlags : false);
8
- const hasAny = any === void 0 || (any.length > 0 ? hasAnyFlags : false);
9
- if (hasAll && hasAny) {
10
- return /* @__PURE__ */ jsx(Fragment, { children });
11
- }
12
- return null;
1
+ import { useActionResolverPayload } from "./harmony123.mjs";
2
+ import { canPerformAction } from "./harmony42.mjs";
3
+ import { useMemo } from "react";
4
+ const useCanPerformAllActions = (...actions) => {
5
+ const payload = useActionResolverPayload();
6
+ return useMemo(
7
+ () => actions.every((action) => canPerformAction(action, payload)),
8
+ [payload, actions.join()]
9
+ );
13
10
  };
14
11
  export {
15
- HasFeatureFlagGuard
12
+ useCanPerformAllActions
16
13
  };
17
14
  //# sourceMappingURL=harmony38.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"harmony38.mjs","sources":["../src/features/permissions/components/HasFeatureFlagGuard.tsx"],"sourcesContent":["import { useHasAllFeatureFlags } from '@features/permissions/hooks/useHasAllFeatureFlags'\nimport { useHasAnyFeatureFlags } from '@features/permissions/hooks/useHasAnyFeatureFlags'\nimport type { FeatureFlag } from '@features/permissions/types'\nimport type { PropsWithChildren } from 'react'\n\ntype HasFeatureFlagGuardProps = PropsWithChildren<{\n\tall?: FeatureFlag[]\n\tany?: FeatureFlag[]\n}>\n\nexport const HasFeatureFlagGuard = ({ any, all, children }: HasFeatureFlagGuardProps) => {\n\tconst hasAllFlags = useHasAllFeatureFlags(...(all ?? []))\n\tconst hasAnyFlags = useHasAnyFeatureFlags(...(any ?? []))\n\n\t// If you pass in an array with nothing in it, you don't have access!\n\tconst hasAll = all === undefined || (all.length > 0 ? hasAllFlags : false)\n\tconst hasAny = any === undefined || (any.length > 0 ? hasAnyFlags : false)\n\n\tif (hasAll && hasAny) {\n\t\treturn <>{children}</>\n\t}\n\n\treturn null\n}\n"],"names":[],"mappings":";;;AAUO,MAAM,sBAAsB,CAAC,EAAE,KAAK,KAAK,eAAyC;AACxF,QAAM,cAAc,sBAAsB,GAAI,OAAO,CAAA,CAAG;AACxD,QAAM,cAAc,sBAAsB,GAAI,OAAO,CAAA,CAAG;AAGxD,QAAM,SAAS,QAAQ,WAAc,IAAI,SAAS,IAAI,cAAc;AACpE,QAAM,SAAS,QAAQ,WAAc,IAAI,SAAS,IAAI,cAAc;AAEpE,MAAI,UAAU,QAAQ;AACrB,2CAAU,UAAS;AAAA,EAAA;AAGb,SAAA;AACR;"}
1
+ {"version":3,"file":"harmony38.mjs","sources":["../src/features/permissions/hooks/useCanPerformAllActions.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 all the specified actions.\n *\n * This hook is useful for conditionally rendering UI elements or triggering logic\n * that require the user to have multiple permissions.\n * It returns true only if the user can perform every 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 all actions, otherwise false.\n *\n * @example\n * // Check if the user can both access marketing projects and delete projects\n * const canDoAll = useCanPerformAllActions(\"accessMarketingProjects\", \"deleteProjects\");\n * if (canDoAll) {\n * // show danger zone\n * }\n */\nexport const useCanPerformAllActions = (...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.every((action) => canPerformAction(action, payload)),\n\t\t[payload, actions.join()],\n\t)\n}\n"],"names":[],"mappings":";;;AAsBa,MAAA,0BAA0B,IAAI,YAA+B;AACzE,QAAM,UAAU,yBAAyB;AAMlC,SAAA;AAAA,IACN,MAAM,QAAQ,MAAM,CAAC,WAAW,iBAAiB,QAAQ,OAAO,CAAC;AAAA,IACjE,CAAC,SAAS,QAAQ,KAAM,CAAA;AAAA,EACzB;AACD;"}
@@ -1,11 +1,14 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const useActionResolverPayload = require("./harmony125.cjs");
4
- const canPerformAction = require("./harmony44.cjs");
3
+ const useActionResolverPayload = require("./harmony123.cjs");
4
+ const canPerformAction = require("./harmony42.cjs");
5
5
  const React = require("react");
6
- const useCanPerformAction = (action) => {
6
+ const useCanPerformAnyAction = (...actions) => {
7
7
  const payload = useActionResolverPayload.useActionResolverPayload();
8
- return React.useMemo(() => canPerformAction.canPerformAction(action, payload), [action, payload]);
8
+ return React.useMemo(
9
+ () => actions.some((action) => canPerformAction.canPerformAction(action, payload)),
10
+ [payload, actions.join()]
11
+ );
9
12
  };
10
- exports.useCanPerformAction = useCanPerformAction;
13
+ exports.useCanPerformAnyAction = useCanPerformAnyAction;
11
14
  //# sourceMappingURL=harmony39.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"harmony39.cjs","sources":["../src/features/permissions/hooks/useCanPerformAction.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 a specific action.\n *\n * This hook is useful for conditionally rendering UI elements or triggering logic\n * based on whether the user can perform a given action.\n * It leverages the permissions context and returns a boolean indicating the user's ability.\n *\n * @param action The action to check permission for (e.g. 'accessMarketingProjects', 'deleteProjects').\n * @returns {boolean} True if the user can perform the action, otherwise false.\n *\n * @example\n * // Check if the user can access marketing projects\n * const canAccess = useCanPerformAction(\"accessMarketingProjects\");\n * if (canAccess) {\n * // show marketing dashboard\n * }\n */\nexport const useCanPerformAction = (action: Action): boolean => {\n\tconst payload = useActionResolverPayload()\n\n\treturn useMemo(() => canPerformAction(action, payload), [action, payload])\n}\n"],"names":["useActionResolverPayload","useMemo","canPerformAction"],"mappings":";;;;;AAsBa,MAAA,sBAAsB,CAAC,WAA4B;AAC/D,QAAM,UAAUA,yBAAAA,yBAAyB;AAElC,SAAAC,MAAA,QAAQ,MAAMC,iBAAAA,iBAAiB,QAAQ,OAAO,GAAG,CAAC,QAAQ,OAAO,CAAC;AAC1E;;"}
1
+ {"version":3,"file":"harmony39.cjs","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":["useActionResolverPayload","useMemo","canPerformAction"],"mappings":";;;;;AAsBa,MAAA,yBAAyB,IAAI,YAA+B;AACxE,QAAM,UAAUA,yBAAAA,yBAAyB;AAMlC,SAAAC,MAAA;AAAA,IACN,MAAM,QAAQ,KAAK,CAAC,WAAWC,iBAAAA,iBAAiB,QAAQ,OAAO,CAAC;AAAA,IAChE,CAAC,SAAS,QAAQ,KAAM,CAAA;AAAA,EACzB;AACD;;"}
@@ -1,11 +1,14 @@
1
- import { useActionResolverPayload } from "./harmony125.mjs";
2
- import { canPerformAction } from "./harmony44.mjs";
1
+ import { useActionResolverPayload } from "./harmony123.mjs";
2
+ import { canPerformAction } from "./harmony42.mjs";
3
3
  import { useMemo } from "react";
4
- const useCanPerformAction = (action) => {
4
+ const useCanPerformAnyAction = (...actions) => {
5
5
  const payload = useActionResolverPayload();
6
- return useMemo(() => canPerformAction(action, payload), [action, payload]);
6
+ return useMemo(
7
+ () => actions.some((action) => canPerformAction(action, payload)),
8
+ [payload, actions.join()]
9
+ );
7
10
  };
8
11
  export {
9
- useCanPerformAction
12
+ useCanPerformAnyAction
10
13
  };
11
14
  //# sourceMappingURL=harmony39.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"harmony39.mjs","sources":["../src/features/permissions/hooks/useCanPerformAction.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 a specific action.\n *\n * This hook is useful for conditionally rendering UI elements or triggering logic\n * based on whether the user can perform a given action.\n * It leverages the permissions context and returns a boolean indicating the user's ability.\n *\n * @param action The action to check permission for (e.g. 'accessMarketingProjects', 'deleteProjects').\n * @returns {boolean} True if the user can perform the action, otherwise false.\n *\n * @example\n * // Check if the user can access marketing projects\n * const canAccess = useCanPerformAction(\"accessMarketingProjects\");\n * if (canAccess) {\n * // show marketing dashboard\n * }\n */\nexport const useCanPerformAction = (action: Action): boolean => {\n\tconst payload = useActionResolverPayload()\n\n\treturn useMemo(() => canPerformAction(action, payload), [action, payload])\n}\n"],"names":[],"mappings":";;;AAsBa,MAAA,sBAAsB,CAAC,WAA4B;AAC/D,QAAM,UAAU,yBAAyB;AAElC,SAAA,QAAQ,MAAM,iBAAiB,QAAQ,OAAO,GAAG,CAAC,QAAQ,OAAO,CAAC;AAC1E;"}
1
+ {"version":3,"file":"harmony39.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;"}
package/dist/harmony4.cjs CHANGED
@@ -4,8 +4,8 @@ const jsxRuntime = require("react/jsx-runtime");
4
4
  const NavigationPanel = require("./harmony2.cjs");
5
5
  const Breadcrumbs = require("./harmony9.cjs");
6
6
  const NavigationTabs = require("./harmony3.cjs");
7
- const useNavigation = require("./harmony99.cjs");
8
- const useNavigationQueries = require("./harmony100.cjs");
7
+ const useNavigation = require("./harmony97.cjs");
8
+ const useNavigationQueries = require("./harmony98.cjs");
9
9
  const ProjectNavigationPanel = ({ page, projectId }) => {
10
10
  const {
11
11
  data: { project, contributor },
package/dist/harmony4.mjs CHANGED
@@ -2,8 +2,8 @@ import { jsxs, jsx } from "react/jsx-runtime";
2
2
  import { NavigationPanel } from "./harmony2.mjs";
3
3
  import { Breadcrumbs } from "./harmony9.mjs";
4
4
  import { NavigationTabs } from "./harmony3.mjs";
5
- import { useNavigation } from "./harmony99.mjs";
6
- import { useNavigationData } from "./harmony100.mjs";
5
+ import { useNavigation } from "./harmony97.mjs";
6
+ import { useNavigationData } from "./harmony98.mjs";
7
7
  const ProjectNavigationPanel = ({ page, projectId }) => {
8
8
  const {
9
9
  data: { project, contributor },
@@ -1,14 +1,12 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const useActionResolverPayload = require("./harmony125.cjs");
4
- const canPerformAction = require("./harmony44.cjs");
3
+ const useActionResolverPayload = require("./harmony123.cjs");
4
+ const hasAny = require("./harmony124.cjs");
5
5
  const React = require("react");
6
- const useCanPerformAllActions = (...actions) => {
7
- const payload = useActionResolverPayload.useActionResolverPayload();
8
- return React.useMemo(
9
- () => actions.every((action) => canPerformAction.canPerformAction(action, payload)),
10
- [payload, actions.join()]
11
- );
6
+ const useHasAnyFeatureFlags = (...features) => {
7
+ const { enabledFeatureFlags } = useActionResolverPayload.useActionResolverPayload();
8
+ const key = features.join("");
9
+ return React.useMemo(() => hasAny.hasAny(enabledFeatureFlags, ...features), [key, enabledFeatureFlags]);
12
10
  };
13
- exports.useCanPerformAllActions = useCanPerformAllActions;
11
+ exports.useHasAnyFeatureFlags = useHasAnyFeatureFlags;
14
12
  //# sourceMappingURL=harmony40.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"harmony40.cjs","sources":["../src/features/permissions/hooks/useCanPerformAllActions.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 all the specified actions.\n *\n * This hook is useful for conditionally rendering UI elements or triggering logic\n * that require the user to have multiple permissions.\n * It returns true only if the user can perform every 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 all actions, otherwise false.\n *\n * @example\n * // Check if the user can both access marketing projects and delete projects\n * const canDoAll = useCanPerformAllActions(\"accessMarketingProjects\", \"deleteProjects\");\n * if (canDoAll) {\n * // show danger zone\n * }\n */\nexport const useCanPerformAllActions = (...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.every((action) => canPerformAction(action, payload)),\n\t\t[payload, actions.join()],\n\t)\n}\n"],"names":["useActionResolverPayload","useMemo","canPerformAction"],"mappings":";;;;;AAsBa,MAAA,0BAA0B,IAAI,YAA+B;AACzE,QAAM,UAAUA,yBAAAA,yBAAyB;AAMlC,SAAAC,MAAA;AAAA,IACN,MAAM,QAAQ,MAAM,CAAC,WAAWC,iBAAAA,iBAAiB,QAAQ,OAAO,CAAC;AAAA,IACjE,CAAC,SAAS,QAAQ,KAAM,CAAA;AAAA,EACzB;AACD;;"}
1
+ {"version":3,"file":"harmony40.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,14 +1,12 @@
1
- import { useActionResolverPayload } from "./harmony125.mjs";
2
- import { canPerformAction } from "./harmony44.mjs";
1
+ import { useActionResolverPayload } from "./harmony123.mjs";
2
+ import { hasAny } from "./harmony124.mjs";
3
3
  import { useMemo } from "react";
4
- const useCanPerformAllActions = (...actions) => {
5
- const payload = useActionResolverPayload();
6
- return useMemo(
7
- () => actions.every((action) => canPerformAction(action, payload)),
8
- [payload, actions.join()]
9
- );
4
+ const useHasAnyFeatureFlags = (...features) => {
5
+ const { enabledFeatureFlags } = useActionResolverPayload();
6
+ const key = features.join("");
7
+ return useMemo(() => hasAny(enabledFeatureFlags, ...features), [key, enabledFeatureFlags]);
10
8
  };
11
9
  export {
12
- useCanPerformAllActions
10
+ useHasAnyFeatureFlags
13
11
  };
14
12
  //# sourceMappingURL=harmony40.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"harmony40.mjs","sources":["../src/features/permissions/hooks/useCanPerformAllActions.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 all the specified actions.\n *\n * This hook is useful for conditionally rendering UI elements or triggering logic\n * that require the user to have multiple permissions.\n * It returns true only if the user can perform every 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 all actions, otherwise false.\n *\n * @example\n * // Check if the user can both access marketing projects and delete projects\n * const canDoAll = useCanPerformAllActions(\"accessMarketingProjects\", \"deleteProjects\");\n * if (canDoAll) {\n * // show danger zone\n * }\n */\nexport const useCanPerformAllActions = (...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.every((action) => canPerformAction(action, payload)),\n\t\t[payload, actions.join()],\n\t)\n}\n"],"names":[],"mappings":";;;AAsBa,MAAA,0BAA0B,IAAI,YAA+B;AACzE,QAAM,UAAU,yBAAyB;AAMlC,SAAA;AAAA,IACN,MAAM,QAAQ,MAAM,CAAC,WAAW,iBAAiB,QAAQ,OAAO,CAAC;AAAA,IACjE,CAAC,SAAS,QAAQ,KAAM,CAAA;AAAA,EACzB;AACD;"}
1
+ {"version":3,"file":"harmony40.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,14 +1,12 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const useActionResolverPayload = require("./harmony125.cjs");
4
- const canPerformAction = require("./harmony44.cjs");
3
+ const useActionResolverPayload = require("./harmony123.cjs");
4
+ const has = require("./harmony125.cjs");
5
5
  const React = require("react");
6
- const useCanPerformAnyAction = (...actions) => {
7
- const payload = useActionResolverPayload.useActionResolverPayload();
8
- return React.useMemo(
9
- () => actions.some((action) => canPerformAction.canPerformAction(action, payload)),
10
- [payload, actions.join()]
11
- );
6
+ const useHasAllFeatureFlags = (...features) => {
7
+ const { enabledFeatureFlags } = useActionResolverPayload.useActionResolverPayload();
8
+ const key = features.join("");
9
+ return React.useMemo(() => has.has(enabledFeatureFlags, ...features), [key, enabledFeatureFlags]);
12
10
  };
13
- exports.useCanPerformAnyAction = useCanPerformAnyAction;
11
+ exports.useHasAllFeatureFlags = useHasAllFeatureFlags;
14
12
  //# sourceMappingURL=harmony41.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"harmony41.cjs","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":["useActionResolverPayload","useMemo","canPerformAction"],"mappings":";;;;;AAsBa,MAAA,yBAAyB,IAAI,YAA+B;AACxE,QAAM,UAAUA,yBAAAA,yBAAyB;AAMlC,SAAAC,MAAA;AAAA,IACN,MAAM,QAAQ,KAAK,CAAC,WAAWC,iBAAAA,iBAAiB,QAAQ,OAAO,CAAC;AAAA,IAChE,CAAC,SAAS,QAAQ,KAAM,CAAA;AAAA,EACzB;AACD;;"}
1
+ {"version":3,"file":"harmony41.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,14 +1,12 @@
1
- import { useActionResolverPayload } from "./harmony125.mjs";
2
- import { canPerformAction } from "./harmony44.mjs";
1
+ import { useActionResolverPayload } from "./harmony123.mjs";
2
+ import { has } from "./harmony125.mjs";
3
3
  import { useMemo } from "react";
4
- const useCanPerformAnyAction = (...actions) => {
5
- const payload = useActionResolverPayload();
6
- return useMemo(
7
- () => actions.some((action) => canPerformAction(action, payload)),
8
- [payload, actions.join()]
9
- );
4
+ const useHasAllFeatureFlags = (...features) => {
5
+ const { enabledFeatureFlags } = useActionResolverPayload();
6
+ const key = features.join("");
7
+ return useMemo(() => has(enabledFeatureFlags, ...features), [key, enabledFeatureFlags]);
10
8
  };
11
9
  export {
12
- useCanPerformAnyAction
10
+ useHasAllFeatureFlags
13
11
  };
14
12
  //# sourceMappingURL=harmony41.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"harmony41.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
+ {"version":3,"file":"harmony41.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,12 +1,12 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const useActionResolverPayload = require("./harmony125.cjs");
4
- const hasAny = require("./harmony126.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;
3
+ const action = require("./harmony126.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;
12
12
  //# sourceMappingURL=harmony42.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"harmony42.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
+ {"version":3,"file":"harmony42.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,12 +1,12 @@
1
- import { useActionResolverPayload } from "./harmony125.mjs";
2
- import { hasAny } from "./harmony126.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
- };
1
+ import { actionResolvers } from "./harmony126.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
+ }
9
9
  export {
10
- useHasAnyFeatureFlags
10
+ canPerformAction
11
11
  };
12
12
  //# sourceMappingURL=harmony42.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"harmony42.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
+ {"version":3,"file":"harmony42.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,12 +1,91 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const useActionResolverPayload = require("./harmony125.cjs");
4
- const has = require("./harmony127.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;
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;
12
91
  //# sourceMappingURL=harmony43.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"harmony43.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
+ {"version":3,"file":"harmony43.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;;;;;;;"}
@@ -1,12 +1,91 @@
1
- import { useActionResolverPayload } from "./harmony125.mjs";
2
- import { has } from "./harmony127.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
- };
1
+ const TEAM_ROLES = ["owner", "admin", "biller", "member"];
2
+ const LEGACY_PROJECT_PERMISSIONS = ["glossary", "create_branches"];
3
+ const PROJECT_PERMISSIONS = [
4
+ "tasks",
5
+ "upload",
6
+ "activity",
7
+ "download",
8
+ "glossary_edit",
9
+ "glossary_delete",
10
+ "settings",
11
+ "statistics",
12
+ "manage_keys",
13
+ "screenshots",
14
+ "contributors",
15
+ "branches_create",
16
+ "branches_merge",
17
+ "manage_languages",
18
+ "review",
19
+ "branches_main_modify",
20
+ "custom_status_modify"
21
+ ];
22
+ const EXPERT_FEATURE_FLAGS = [
23
+ "homeFeatureLqai",
24
+ "lionLfcFilesManagement",
25
+ "lionFeatureFilesManagementBulkActions",
26
+ "trexFeatureAutomaticTranslations",
27
+ "perfFeatureReportingEngine",
28
+ "homeFeatureAiLqaSuggestions",
29
+ "homeFeatureAibilling",
30
+ "homeBugfixAiTaskSaveTemplate",
31
+ "homeFeatureAutomaticTranslationUse100TMMatch",
32
+ "homeFeatureAutomaticTranslationUseFuzzyMatch",
33
+ "homeMarketingBeta",
34
+ "growthSubscriptionExtras",
35
+ "growthCreditCardExpiry",
36
+ "growthCancellationFlow",
37
+ "growthPricingV2",
38
+ "growthPricingV2WipUsageOverview",
39
+ "metroWorkflowsManagement",
40
+ "metroWorkflowsCreateCustomScratch",
41
+ "metroWorkflowStatusReporting",
42
+ "metroWorkflowsGa",
43
+ "metroFeatureTemplateTriggerGates",
44
+ "metroCustomWorkflows",
45
+ "metroFeatureWorkflowsAiScoring",
46
+ "metroFeatureWorkflowsInBranches",
47
+ "maxMigrationForm",
48
+ "gitLabRecursivePullEnabled",
49
+ "perfFeatureAsyncExport",
50
+ "exportAppleStringsReplaceU2028Disabled",
51
+ "translationsFeatureRagModelSettings",
52
+ "translationsFeatureAiScoring"
53
+ ];
54
+ const AUTOPILOT_FEATURE_FLAGS = [
55
+ "ap_feature_setup_cancel",
56
+ "ap_feature_setup_human_review",
57
+ "ap_feature_delete_project_button",
58
+ "ap_feature_project_jobs",
59
+ "ap_feature_settings_apps",
60
+ "ap_feature_styleguide_name",
61
+ "ap_feature_reviewer_users",
62
+ "ap_feature_target_languages_limit",
63
+ "ap_feature_hraas",
64
+ "ap_feature_detach_project_from_shopify",
65
+ "ap_feature_detach_force_install_project_from_shopify",
66
+ "ap_experiment_shopify_roi_recommendations",
67
+ "ap_feature_billing",
68
+ "ap_feature_force_re_export",
69
+ "ap_feature_export_with_non_translatable_markers",
70
+ "ap_feature_export_modal",
71
+ "ap_feature_in_context_preview",
72
+ "ap_feature_in_context_preview_pdf_interactivity",
73
+ "ap_feature_marketing_all_file_types_support",
74
+ "ap_feature_ntc_manipulation"
75
+ ];
76
+ const PROJECT_TYPES = [
77
+ "localization_files",
78
+ "paged_documents",
79
+ "content_integration",
80
+ "marketing",
81
+ "marketing_integrations"
82
+ ];
9
83
  export {
10
- useHasAllFeatureFlags
84
+ AUTOPILOT_FEATURE_FLAGS,
85
+ EXPERT_FEATURE_FLAGS,
86
+ LEGACY_PROJECT_PERMISSIONS,
87
+ PROJECT_PERMISSIONS,
88
+ PROJECT_TYPES,
89
+ TEAM_ROLES
11
90
  };
12
91
  //# sourceMappingURL=harmony43.mjs.map