@new-black/lyra 1.0.20 → 1.0.21

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 (1010) hide show
  1. package/dist/components/inputs/file-input/file-input.styles.d.ts.map +1 -1
  2. package/dist/lyra16.cjs +1 -1
  3. package/dist/lyra16.js +1 -1
  4. package/dist/lyra183.cjs +1 -1
  5. package/dist/lyra183.js +34 -34
  6. package/dist/lyra226.cjs +1 -1
  7. package/dist/lyra226.js +35 -35
  8. package/dist/lyra23.cjs +1 -1
  9. package/dist/lyra23.js +1 -1
  10. package/dist/lyra25.cjs +1 -1
  11. package/dist/lyra25.js +1 -1
  12. package/dist/lyra27.cjs +1 -1
  13. package/dist/lyra27.cjs.map +1 -1
  14. package/dist/lyra27.js +59 -56
  15. package/dist/lyra27.js.map +1 -1
  16. package/dist/lyra28.cjs +1 -1
  17. package/dist/lyra28.cjs.map +1 -1
  18. package/dist/lyra28.js +5 -3
  19. package/dist/lyra28.js.map +1 -1
  20. package/dist/lyra34.cjs +1 -1
  21. package/dist/lyra34.js +3 -3
  22. package/dist/lyra36.cjs +1 -1
  23. package/dist/lyra36.js +6 -6
  24. package/dist/lyra37.cjs +1 -1
  25. package/dist/lyra37.js +7 -7
  26. package/dist/lyra43.cjs +1 -1
  27. package/dist/lyra43.js +3 -3
  28. package/dist/lyra451.cjs +1 -1
  29. package/dist/lyra451.js +1 -1
  30. package/dist/lyra452.cjs +1 -1
  31. package/dist/lyra452.cjs.map +1 -1
  32. package/dist/lyra452.js +1 -16
  33. package/dist/lyra452.js.map +1 -1
  34. package/dist/lyra453.cjs +1 -1
  35. package/dist/lyra453.cjs.map +1 -1
  36. package/dist/lyra453.js +14 -90
  37. package/dist/lyra453.js.map +1 -1
  38. package/dist/lyra454.cjs +1 -1
  39. package/dist/lyra454.cjs.map +1 -1
  40. package/dist/lyra454.js +12 -44
  41. package/dist/lyra454.js.map +1 -1
  42. package/dist/lyra455.cjs +1 -1
  43. package/dist/lyra455.cjs.map +1 -1
  44. package/dist/lyra455.js +90 -14
  45. package/dist/lyra455.js.map +1 -1
  46. package/dist/lyra456.cjs +1 -1
  47. package/dist/lyra456.cjs.map +1 -1
  48. package/dist/lyra456.js +44 -12
  49. package/dist/lyra456.js.map +1 -1
  50. package/dist/lyra457.cjs +1 -1
  51. package/dist/lyra457.cjs.map +1 -1
  52. package/dist/lyra457.js +33 -1
  53. package/dist/lyra457.js.map +1 -1
  54. package/dist/lyra458.cjs +1 -1
  55. package/dist/lyra458.cjs.map +1 -1
  56. package/dist/lyra458.js +51 -30
  57. package/dist/lyra458.js.map +1 -1
  58. package/dist/lyra459.cjs +1 -1
  59. package/dist/lyra459.cjs.map +1 -1
  60. package/dist/lyra459.js +50 -49
  61. package/dist/lyra459.js.map +1 -1
  62. package/dist/lyra460.cjs +1 -1
  63. package/dist/lyra460.cjs.map +1 -1
  64. package/dist/lyra460.js +7 -53
  65. package/dist/lyra460.js.map +1 -1
  66. package/dist/lyra461.cjs +1 -1
  67. package/dist/lyra461.cjs.map +1 -1
  68. package/dist/lyra461.js +61 -6
  69. package/dist/lyra461.js.map +1 -1
  70. package/dist/lyra462.cjs +1 -1
  71. package/dist/lyra462.cjs.map +1 -1
  72. package/dist/lyra462.js +36 -61
  73. package/dist/lyra462.js.map +1 -1
  74. package/dist/lyra463.cjs +5 -1
  75. package/dist/lyra463.cjs.map +1 -1
  76. package/dist/lyra463.js +2556 -35
  77. package/dist/lyra463.js.map +1 -1
  78. package/dist/lyra464.cjs +1 -5
  79. package/dist/lyra464.cjs.map +1 -1
  80. package/dist/lyra464.js +52 -2556
  81. package/dist/lyra464.js.map +1 -1
  82. package/dist/lyra465.cjs +1 -1
  83. package/dist/lyra465.cjs.map +1 -1
  84. package/dist/lyra465.js +13 -53
  85. package/dist/lyra465.js.map +1 -1
  86. package/dist/lyra469.cjs +10 -1
  87. package/dist/lyra469.cjs.map +1 -1
  88. package/dist/lyra469.js +96 -5
  89. package/dist/lyra469.js.map +1 -1
  90. package/dist/lyra470.cjs +1 -1
  91. package/dist/lyra470.cjs.map +1 -1
  92. package/dist/lyra470.js +304 -4
  93. package/dist/lyra470.js.map +1 -1
  94. package/dist/lyra471.cjs +1 -1
  95. package/dist/lyra471.cjs.map +1 -1
  96. package/dist/lyra471.js +56 -5
  97. package/dist/lyra471.js.map +1 -1
  98. package/dist/lyra472.cjs +13 -1
  99. package/dist/lyra472.cjs.map +1 -1
  100. package/dist/lyra472.js +1679 -4
  101. package/dist/lyra472.js.map +1 -1
  102. package/dist/lyra473.cjs +1 -1
  103. package/dist/lyra473.cjs.map +1 -1
  104. package/dist/lyra473.js +9 -5
  105. package/dist/lyra473.js.map +1 -1
  106. package/dist/lyra474.cjs +1 -1
  107. package/dist/lyra474.cjs.map +1 -1
  108. package/dist/lyra474.js +3 -1
  109. package/dist/lyra474.js.map +1 -1
  110. package/dist/lyra475.cjs +1 -1
  111. package/dist/lyra475.cjs.map +1 -1
  112. package/dist/lyra475.js +6 -4
  113. package/dist/lyra475.js.map +1 -1
  114. package/dist/lyra476.cjs +1 -1
  115. package/dist/lyra476.cjs.map +1 -1
  116. package/dist/lyra476.js +6 -4
  117. package/dist/lyra476.js.map +1 -1
  118. package/dist/lyra477.cjs +1 -1
  119. package/dist/lyra477.cjs.map +1 -1
  120. package/dist/lyra477.js +6 -4
  121. package/dist/lyra477.js.map +1 -1
  122. package/dist/lyra478.cjs +1 -1
  123. package/dist/lyra478.cjs.map +1 -1
  124. package/dist/lyra478.js +3 -1
  125. package/dist/lyra478.js.map +1 -1
  126. package/dist/lyra479.cjs +1 -1
  127. package/dist/lyra479.cjs.map +1 -1
  128. package/dist/lyra479.js +6 -4
  129. package/dist/lyra479.js.map +1 -1
  130. package/dist/lyra480.cjs +1 -1
  131. package/dist/lyra480.cjs.map +1 -1
  132. package/dist/lyra480.js +6 -4
  133. package/dist/lyra480.js.map +1 -1
  134. package/dist/lyra481.cjs +1 -1
  135. package/dist/lyra481.cjs.map +1 -1
  136. package/dist/lyra481.js +6 -4
  137. package/dist/lyra481.js.map +1 -1
  138. package/dist/lyra482.cjs +1 -1
  139. package/dist/lyra482.cjs.map +1 -1
  140. package/dist/lyra482.js +3 -1
  141. package/dist/lyra482.js.map +1 -1
  142. package/dist/lyra483.cjs +1 -1
  143. package/dist/lyra483.cjs.map +1 -1
  144. package/dist/lyra483.js +3 -1
  145. package/dist/lyra483.js.map +1 -1
  146. package/dist/lyra484.cjs +1 -1
  147. package/dist/lyra484.cjs.map +1 -1
  148. package/dist/lyra484.js +3 -1
  149. package/dist/lyra484.js.map +1 -1
  150. package/dist/lyra485.cjs +1 -1
  151. package/dist/lyra485.cjs.map +1 -1
  152. package/dist/lyra485.js +3 -1
  153. package/dist/lyra485.js.map +1 -1
  154. package/dist/lyra486.cjs +1 -1
  155. package/dist/lyra486.cjs.map +1 -1
  156. package/dist/lyra486.js +6 -4
  157. package/dist/lyra486.js.map +1 -1
  158. package/dist/lyra487.cjs +1 -1
  159. package/dist/lyra487.cjs.map +1 -1
  160. package/dist/lyra487.js +6 -4
  161. package/dist/lyra487.js.map +1 -1
  162. package/dist/lyra488.cjs +1 -1
  163. package/dist/lyra488.cjs.map +1 -1
  164. package/dist/lyra488.js +6 -4
  165. package/dist/lyra488.js.map +1 -1
  166. package/dist/lyra489.cjs +1 -1
  167. package/dist/lyra489.cjs.map +1 -1
  168. package/dist/lyra489.js +6 -4
  169. package/dist/lyra489.js.map +1 -1
  170. package/dist/lyra49.cjs +1 -1
  171. package/dist/lyra49.js +1 -1
  172. package/dist/lyra490.cjs +1 -1
  173. package/dist/lyra490.cjs.map +1 -1
  174. package/dist/lyra490.js +3 -1
  175. package/dist/lyra490.js.map +1 -1
  176. package/dist/lyra491.cjs +1 -1
  177. package/dist/lyra491.cjs.map +1 -1
  178. package/dist/lyra491.js +6 -4
  179. package/dist/lyra491.js.map +1 -1
  180. package/dist/lyra492.cjs +1 -1
  181. package/dist/lyra492.cjs.map +1 -1
  182. package/dist/lyra492.js +6 -4
  183. package/dist/lyra492.js.map +1 -1
  184. package/dist/lyra493.cjs +1 -1
  185. package/dist/lyra493.cjs.map +1 -1
  186. package/dist/lyra493.js +3 -1
  187. package/dist/lyra493.js.map +1 -1
  188. package/dist/lyra494.cjs +1 -1
  189. package/dist/lyra494.cjs.map +1 -1
  190. package/dist/lyra494.js +6 -4
  191. package/dist/lyra494.js.map +1 -1
  192. package/dist/lyra495.cjs +1 -1
  193. package/dist/lyra495.cjs.map +1 -1
  194. package/dist/lyra495.js +3 -1
  195. package/dist/lyra495.js.map +1 -1
  196. package/dist/lyra496.cjs +1 -1
  197. package/dist/lyra496.cjs.map +1 -1
  198. package/dist/lyra496.js +3 -1
  199. package/dist/lyra496.js.map +1 -1
  200. package/dist/lyra497.cjs +1 -1
  201. package/dist/lyra497.cjs.map +1 -1
  202. package/dist/lyra497.js +6 -4
  203. package/dist/lyra497.js.map +1 -1
  204. package/dist/lyra498.cjs +1 -1
  205. package/dist/lyra498.cjs.map +1 -1
  206. package/dist/lyra498.js +3 -1
  207. package/dist/lyra498.js.map +1 -1
  208. package/dist/lyra499.cjs +1 -1
  209. package/dist/lyra499.cjs.map +1 -1
  210. package/dist/lyra499.js +6 -4
  211. package/dist/lyra499.js.map +1 -1
  212. package/dist/lyra50.cjs +1 -1
  213. package/dist/lyra50.js +2 -2
  214. package/dist/lyra500.cjs +1 -1
  215. package/dist/lyra500.cjs.map +1 -1
  216. package/dist/lyra500.js +6 -4
  217. package/dist/lyra500.js.map +1 -1
  218. package/dist/lyra501.cjs +1 -1
  219. package/dist/lyra501.cjs.map +1 -1
  220. package/dist/lyra501.js +3 -1
  221. package/dist/lyra501.js.map +1 -1
  222. package/dist/lyra502.cjs +1 -1
  223. package/dist/lyra502.cjs.map +1 -1
  224. package/dist/lyra502.js +6 -4
  225. package/dist/lyra502.js.map +1 -1
  226. package/dist/lyra503.cjs +1 -10
  227. package/dist/lyra503.cjs.map +1 -1
  228. package/dist/lyra503.js +7 -96
  229. package/dist/lyra503.js.map +1 -1
  230. package/dist/lyra504.cjs +1 -1
  231. package/dist/lyra504.cjs.map +1 -1
  232. package/dist/lyra504.js +6 -304
  233. package/dist/lyra504.js.map +1 -1
  234. package/dist/lyra505.cjs +1 -1
  235. package/dist/lyra505.cjs.map +1 -1
  236. package/dist/lyra505.js +7 -56
  237. package/dist/lyra505.js.map +1 -1
  238. package/dist/lyra506.cjs +1 -13
  239. package/dist/lyra506.cjs.map +1 -1
  240. package/dist/lyra506.js +6 -1679
  241. package/dist/lyra506.js.map +1 -1
  242. package/dist/lyra507.cjs +1 -1
  243. package/dist/lyra507.cjs.map +1 -1
  244. package/dist/lyra507.js +7 -9
  245. package/dist/lyra507.js.map +1 -1
  246. package/dist/lyra508.cjs +1 -1
  247. package/dist/lyra508.cjs.map +1 -1
  248. package/dist/lyra508.js +6 -7
  249. package/dist/lyra508.js.map +1 -1
  250. package/dist/lyra509.cjs +1 -1
  251. package/dist/lyra509.cjs.map +1 -1
  252. package/dist/lyra509.js +78 -7
  253. package/dist/lyra509.js.map +1 -1
  254. package/dist/lyra51.cjs +1 -1
  255. package/dist/lyra51.js +2 -2
  256. package/dist/lyra510.cjs +1 -1
  257. package/dist/lyra510.cjs.map +1 -1
  258. package/dist/lyra510.js +257 -6
  259. package/dist/lyra510.js.map +1 -1
  260. package/dist/lyra511.cjs +1 -1
  261. package/dist/lyra511.cjs.map +1 -1
  262. package/dist/lyra511.js +27 -7
  263. package/dist/lyra511.js.map +1 -1
  264. package/dist/lyra512.cjs +1 -1
  265. package/dist/lyra512.cjs.map +1 -1
  266. package/dist/lyra512.js +30 -7
  267. package/dist/lyra512.js.map +1 -1
  268. package/dist/lyra513.cjs +1 -1
  269. package/dist/lyra513.cjs.map +1 -1
  270. package/dist/lyra513.js +36 -7
  271. package/dist/lyra513.js.map +1 -1
  272. package/dist/lyra514.cjs +1 -1
  273. package/dist/lyra514.cjs.map +1 -1
  274. package/dist/lyra514.js +357 -7
  275. package/dist/lyra514.js.map +1 -1
  276. package/dist/lyra515.cjs +1 -1
  277. package/dist/lyra515.cjs.map +1 -1
  278. package/dist/lyra515.js +39 -7
  279. package/dist/lyra515.js.map +1 -1
  280. package/dist/lyra516.cjs +1 -1
  281. package/dist/lyra516.cjs.map +1 -1
  282. package/dist/lyra516.js +135 -7
  283. package/dist/lyra516.js.map +1 -1
  284. package/dist/lyra517.cjs +1 -1
  285. package/dist/lyra517.cjs.map +1 -1
  286. package/dist/lyra517.js +1150 -6
  287. package/dist/lyra517.js.map +1 -1
  288. package/dist/lyra518.cjs +1 -1
  289. package/dist/lyra518.cjs.map +1 -1
  290. package/dist/lyra518.js +82 -7
  291. package/dist/lyra518.js.map +1 -1
  292. package/dist/lyra519.cjs +1 -1
  293. package/dist/lyra519.cjs.map +1 -1
  294. package/dist/lyra519.js +106 -7
  295. package/dist/lyra519.js.map +1 -1
  296. package/dist/lyra520.cjs +1 -1
  297. package/dist/lyra520.cjs.map +1 -1
  298. package/dist/lyra520.js +13 -7
  299. package/dist/lyra520.js.map +1 -1
  300. package/dist/lyra521.cjs +1 -1
  301. package/dist/lyra521.cjs.map +1 -1
  302. package/dist/lyra521.js +29 -7
  303. package/dist/lyra521.js.map +1 -1
  304. package/dist/lyra522.cjs +1 -1
  305. package/dist/lyra522.cjs.map +1 -1
  306. package/dist/lyra522.js +1 -3
  307. package/dist/lyra522.js.map +1 -1
  308. package/dist/lyra523.cjs +1 -1
  309. package/dist/lyra523.cjs.map +1 -1
  310. package/dist/lyra523.js +1 -3
  311. package/dist/lyra523.js.map +1 -1
  312. package/dist/lyra524.cjs +1 -1
  313. package/dist/lyra524.cjs.map +1 -1
  314. package/dist/lyra524.js +1 -3
  315. package/dist/lyra524.js.map +1 -1
  316. package/dist/lyra525.cjs +1 -1
  317. package/dist/lyra525.cjs.map +1 -1
  318. package/dist/lyra525.js +4 -6
  319. package/dist/lyra525.js.map +1 -1
  320. package/dist/lyra526.cjs +1 -1
  321. package/dist/lyra526.cjs.map +1 -1
  322. package/dist/lyra526.js +1 -3
  323. package/dist/lyra526.js.map +1 -1
  324. package/dist/lyra527.cjs +1 -1
  325. package/dist/lyra527.cjs.map +1 -1
  326. package/dist/lyra527.js +4 -6
  327. package/dist/lyra527.js.map +1 -1
  328. package/dist/lyra528.cjs +1 -1
  329. package/dist/lyra528.cjs.map +1 -1
  330. package/dist/lyra528.js +1 -3
  331. package/dist/lyra528.js.map +1 -1
  332. package/dist/lyra529.cjs +1 -1
  333. package/dist/lyra529.cjs.map +1 -1
  334. package/dist/lyra529.js +4 -6
  335. package/dist/lyra529.js.map +1 -1
  336. package/dist/lyra530.cjs +1 -1
  337. package/dist/lyra530.cjs.map +1 -1
  338. package/dist/lyra530.js +4 -6
  339. package/dist/lyra530.js.map +1 -1
  340. package/dist/lyra531.cjs +1 -1
  341. package/dist/lyra531.cjs.map +1 -1
  342. package/dist/lyra531.js +1 -3
  343. package/dist/lyra531.js.map +1 -1
  344. package/dist/lyra532.cjs +1 -1
  345. package/dist/lyra532.cjs.map +1 -1
  346. package/dist/lyra532.js +4 -6
  347. package/dist/lyra532.js.map +1 -1
  348. package/dist/lyra533.cjs +1 -1
  349. package/dist/lyra533.cjs.map +1 -1
  350. package/dist/lyra533.js +4 -6
  351. package/dist/lyra533.js.map +1 -1
  352. package/dist/lyra534.cjs +1 -1
  353. package/dist/lyra534.cjs.map +1 -1
  354. package/dist/lyra534.js +4 -6
  355. package/dist/lyra534.js.map +1 -1
  356. package/dist/lyra535.cjs +1 -1
  357. package/dist/lyra535.cjs.map +1 -1
  358. package/dist/lyra535.js +1 -3
  359. package/dist/lyra535.js.map +1 -1
  360. package/dist/lyra536.cjs +1 -1
  361. package/dist/lyra536.cjs.map +1 -1
  362. package/dist/lyra536.js +1 -3
  363. package/dist/lyra536.js.map +1 -1
  364. package/dist/lyra537.cjs +1 -1
  365. package/dist/lyra537.cjs.map +1 -1
  366. package/dist/lyra537.js +1 -3
  367. package/dist/lyra537.js.map +1 -1
  368. package/dist/lyra538.cjs +1 -1
  369. package/dist/lyra538.cjs.map +1 -1
  370. package/dist/lyra538.js +4 -6
  371. package/dist/lyra538.js.map +1 -1
  372. package/dist/lyra539.cjs +1 -1
  373. package/dist/lyra539.cjs.map +1 -1
  374. package/dist/lyra539.js +4 -6
  375. package/dist/lyra539.js.map +1 -1
  376. package/dist/lyra540.cjs +1 -1
  377. package/dist/lyra540.cjs.map +1 -1
  378. package/dist/lyra540.js +4 -6
  379. package/dist/lyra540.js.map +1 -1
  380. package/dist/lyra541.cjs +1 -1
  381. package/dist/lyra541.cjs.map +1 -1
  382. package/dist/lyra541.js +4 -6
  383. package/dist/lyra541.js.map +1 -1
  384. package/dist/lyra542.cjs +1 -1
  385. package/dist/lyra542.cjs.map +1 -1
  386. package/dist/lyra542.js +5 -6
  387. package/dist/lyra542.js.map +1 -1
  388. package/dist/lyra543.cjs +1 -1
  389. package/dist/lyra543.cjs.map +1 -1
  390. package/dist/lyra543.js +5 -78
  391. package/dist/lyra543.js.map +1 -1
  392. package/dist/lyra544.cjs +1 -1
  393. package/dist/lyra544.cjs.map +1 -1
  394. package/dist/lyra544.js +4 -257
  395. package/dist/lyra544.js.map +1 -1
  396. package/dist/lyra545.cjs +1 -1
  397. package/dist/lyra545.cjs.map +1 -1
  398. package/dist/lyra545.js +5 -27
  399. package/dist/lyra545.js.map +1 -1
  400. package/dist/lyra546.cjs +1 -1
  401. package/dist/lyra546.cjs.map +1 -1
  402. package/dist/lyra546.js +5 -30
  403. package/dist/lyra546.js.map +1 -1
  404. package/dist/lyra547.cjs +1 -1
  405. package/dist/lyra547.cjs.map +1 -1
  406. package/dist/lyra547.js +5 -36
  407. package/dist/lyra547.js.map +1 -1
  408. package/dist/lyra548.cjs +1 -1
  409. package/dist/lyra548.cjs.map +1 -1
  410. package/dist/lyra548.js +5 -357
  411. package/dist/lyra548.js.map +1 -1
  412. package/dist/lyra549.cjs +1 -1
  413. package/dist/lyra549.cjs.map +1 -1
  414. package/dist/lyra549.js +5 -39
  415. package/dist/lyra549.js.map +1 -1
  416. package/dist/lyra550.cjs +1 -1
  417. package/dist/lyra550.cjs.map +1 -1
  418. package/dist/lyra550.js +5 -135
  419. package/dist/lyra550.js.map +1 -1
  420. package/dist/lyra551.cjs +1 -1
  421. package/dist/lyra551.cjs.map +1 -1
  422. package/dist/lyra551.js +4 -1150
  423. package/dist/lyra551.js.map +1 -1
  424. package/dist/lyra552.cjs +1 -1
  425. package/dist/lyra552.cjs.map +1 -1
  426. package/dist/lyra552.js +5 -82
  427. package/dist/lyra552.js.map +1 -1
  428. package/dist/lyra553.cjs +1 -1
  429. package/dist/lyra553.cjs.map +1 -1
  430. package/dist/lyra553.js +5 -106
  431. package/dist/lyra553.js.map +1 -1
  432. package/dist/lyra554.cjs +1 -1
  433. package/dist/lyra554.cjs.map +1 -1
  434. package/dist/lyra554.js +5 -13
  435. package/dist/lyra554.js.map +1 -1
  436. package/dist/lyra555.cjs +1 -1
  437. package/dist/lyra555.cjs.map +1 -1
  438. package/dist/lyra555.js +5 -29
  439. package/dist/lyra555.js.map +1 -1
  440. package/dist/lyra556.cjs +1 -1
  441. package/dist/lyra556.cjs.map +1 -1
  442. package/dist/lyra556.js +86 -14
  443. package/dist/lyra556.js.map +1 -1
  444. package/dist/lyra557.cjs +1 -1
  445. package/dist/lyra557.cjs.map +1 -1
  446. package/dist/lyra557.js +11 -11
  447. package/dist/lyra557.js.map +1 -1
  448. package/dist/lyra558.cjs +1 -1
  449. package/dist/lyra558.cjs.map +1 -1
  450. package/dist/lyra558.js +12 -12
  451. package/dist/lyra558.js.map +1 -1
  452. package/dist/lyra559.cjs +1 -1
  453. package/dist/lyra559.cjs.map +1 -1
  454. package/dist/lyra559.js +12 -12
  455. package/dist/lyra559.js.map +1 -1
  456. package/dist/lyra560.cjs +1 -1
  457. package/dist/lyra560.cjs.map +1 -1
  458. package/dist/lyra560.js +12 -12
  459. package/dist/lyra560.js.map +1 -1
  460. package/dist/lyra561.cjs +1 -1
  461. package/dist/lyra561.cjs.map +1 -1
  462. package/dist/lyra561.js +12 -12
  463. package/dist/lyra561.js.map +1 -1
  464. package/dist/lyra562.cjs +1 -1
  465. package/dist/lyra562.cjs.map +1 -1
  466. package/dist/lyra562.js +12 -12
  467. package/dist/lyra562.js.map +1 -1
  468. package/dist/lyra563.cjs +1 -1
  469. package/dist/lyra563.cjs.map +1 -1
  470. package/dist/lyra563.js +9 -9
  471. package/dist/lyra563.js.map +1 -1
  472. package/dist/lyra564.cjs +1 -1
  473. package/dist/lyra564.cjs.map +1 -1
  474. package/dist/lyra564.js +12 -12
  475. package/dist/lyra564.js.map +1 -1
  476. package/dist/lyra565.cjs +1 -1
  477. package/dist/lyra565.cjs.map +1 -1
  478. package/dist/lyra565.js +12 -12
  479. package/dist/lyra565.js.map +1 -1
  480. package/dist/lyra566.cjs +1 -1
  481. package/dist/lyra566.cjs.map +1 -1
  482. package/dist/lyra566.js +9 -9
  483. package/dist/lyra566.js.map +1 -1
  484. package/dist/lyra567.cjs +1 -1
  485. package/dist/lyra567.cjs.map +1 -1
  486. package/dist/lyra567.js +12 -12
  487. package/dist/lyra567.js.map +1 -1
  488. package/dist/lyra568.cjs +1 -1
  489. package/dist/lyra568.cjs.map +1 -1
  490. package/dist/lyra568.js +12 -12
  491. package/dist/lyra568.js.map +1 -1
  492. package/dist/lyra569.cjs +1 -1
  493. package/dist/lyra569.cjs.map +1 -1
  494. package/dist/lyra569.js +12 -12
  495. package/dist/lyra569.js.map +1 -1
  496. package/dist/lyra570.cjs +1 -1
  497. package/dist/lyra570.cjs.map +1 -1
  498. package/dist/lyra570.js +11 -11
  499. package/dist/lyra570.js.map +1 -1
  500. package/dist/lyra571.cjs +1 -1
  501. package/dist/lyra571.cjs.map +1 -1
  502. package/dist/lyra571.js +13 -13
  503. package/dist/lyra571.js.map +1 -1
  504. package/dist/lyra572.cjs +1 -1
  505. package/dist/lyra572.cjs.map +1 -1
  506. package/dist/lyra572.js +13 -13
  507. package/dist/lyra572.js.map +1 -1
  508. package/dist/lyra573.cjs +1 -1
  509. package/dist/lyra573.cjs.map +1 -1
  510. package/dist/lyra573.js +12 -12
  511. package/dist/lyra573.js.map +1 -1
  512. package/dist/lyra574.cjs +1 -1
  513. package/dist/lyra574.cjs.map +1 -1
  514. package/dist/lyra574.js +12 -12
  515. package/dist/lyra574.js.map +1 -1
  516. package/dist/lyra575.cjs +1 -1
  517. package/dist/lyra575.cjs.map +1 -1
  518. package/dist/lyra575.js +12 -12
  519. package/dist/lyra575.js.map +1 -1
  520. package/dist/lyra576.cjs +1 -1
  521. package/dist/lyra576.cjs.map +1 -1
  522. package/dist/lyra576.js +12 -12
  523. package/dist/lyra576.js.map +1 -1
  524. package/dist/lyra577.cjs +1 -1
  525. package/dist/lyra577.cjs.map +1 -1
  526. package/dist/lyra577.js +12 -12
  527. package/dist/lyra577.js.map +1 -1
  528. package/dist/lyra578.cjs +1 -1
  529. package/dist/lyra578.cjs.map +1 -1
  530. package/dist/lyra578.js +12 -12
  531. package/dist/lyra578.js.map +1 -1
  532. package/dist/lyra579.cjs +1 -1
  533. package/dist/lyra579.cjs.map +1 -1
  534. package/dist/lyra579.js +1 -1
  535. package/dist/lyra579.js.map +1 -1
  536. package/dist/lyra580.cjs +1 -1
  537. package/dist/lyra580.cjs.map +1 -1
  538. package/dist/lyra580.js +12 -12
  539. package/dist/lyra580.js.map +1 -1
  540. package/dist/lyra581.cjs +1 -1
  541. package/dist/lyra581.cjs.map +1 -1
  542. package/dist/lyra581.js +12 -12
  543. package/dist/lyra581.js.map +1 -1
  544. package/dist/lyra582.cjs +1 -1
  545. package/dist/lyra582.cjs.map +1 -1
  546. package/dist/lyra582.js +12 -12
  547. package/dist/lyra582.js.map +1 -1
  548. package/dist/lyra583.cjs +1 -1
  549. package/dist/lyra583.cjs.map +1 -1
  550. package/dist/lyra583.js +12 -12
  551. package/dist/lyra583.js.map +1 -1
  552. package/dist/lyra584.cjs +1 -1
  553. package/dist/lyra584.cjs.map +1 -1
  554. package/dist/lyra584.js +12 -12
  555. package/dist/lyra584.js.map +1 -1
  556. package/dist/lyra585.cjs +1 -1
  557. package/dist/lyra585.cjs.map +1 -1
  558. package/dist/lyra585.js +12 -12
  559. package/dist/lyra585.js.map +1 -1
  560. package/dist/lyra586.cjs +1 -1
  561. package/dist/lyra586.cjs.map +1 -1
  562. package/dist/lyra586.js +12 -12
  563. package/dist/lyra586.js.map +1 -1
  564. package/dist/lyra587.cjs +1 -1
  565. package/dist/lyra587.cjs.map +1 -1
  566. package/dist/lyra587.js +12 -12
  567. package/dist/lyra587.js.map +1 -1
  568. package/dist/lyra588.cjs +1 -1
  569. package/dist/lyra588.cjs.map +1 -1
  570. package/dist/lyra588.js +12 -12
  571. package/dist/lyra588.js.map +1 -1
  572. package/dist/lyra589.cjs +1 -1
  573. package/dist/lyra589.cjs.map +1 -1
  574. package/dist/lyra589.js +11 -11
  575. package/dist/lyra589.js.map +1 -1
  576. package/dist/lyra59.cjs +1 -1
  577. package/dist/lyra59.js +7 -7
  578. package/dist/lyra590.cjs +1 -1
  579. package/dist/lyra590.cjs.map +1 -1
  580. package/dist/lyra590.js +14 -144
  581. package/dist/lyra590.js.map +1 -1
  582. package/dist/lyra591.cjs +1 -1
  583. package/dist/lyra591.cjs.map +1 -1
  584. package/dist/lyra591.js +140 -82
  585. package/dist/lyra591.js.map +1 -1
  586. package/dist/lyra596.cjs +1 -1
  587. package/dist/lyra596.cjs.map +1 -1
  588. package/dist/lyra596.js +4 -17
  589. package/dist/lyra596.js.map +1 -1
  590. package/dist/lyra597.cjs +1 -1
  591. package/dist/lyra597.cjs.map +1 -1
  592. package/dist/lyra597.js +17 -4
  593. package/dist/lyra597.js.map +1 -1
  594. package/dist/lyra598.cjs +1 -1
  595. package/dist/lyra598.cjs.map +1 -1
  596. package/dist/lyra598.js +4 -4
  597. package/dist/lyra598.js.map +1 -1
  598. package/dist/lyra599.cjs +1 -1
  599. package/dist/lyra599.cjs.map +1 -1
  600. package/dist/lyra599.js +30 -20
  601. package/dist/lyra599.js.map +1 -1
  602. package/dist/lyra60.cjs +1 -1
  603. package/dist/lyra60.js +3 -3
  604. package/dist/lyra600.cjs +1 -1
  605. package/dist/lyra600.cjs.map +1 -1
  606. package/dist/lyra600.js +21 -4
  607. package/dist/lyra600.js.map +1 -1
  608. package/dist/lyra601.cjs +1 -1
  609. package/dist/lyra601.cjs.map +1 -1
  610. package/dist/lyra601.js +4 -20
  611. package/dist/lyra601.js.map +1 -1
  612. package/dist/lyra602.cjs +1 -1
  613. package/dist/lyra602.cjs.map +1 -1
  614. package/dist/lyra602.js +20 -4
  615. package/dist/lyra602.js.map +1 -1
  616. package/dist/lyra603.cjs +1 -1
  617. package/dist/lyra603.cjs.map +1 -1
  618. package/dist/lyra603.js +2 -29
  619. package/dist/lyra603.js.map +1 -1
  620. package/dist/lyra606.cjs +1 -1
  621. package/dist/lyra606.cjs.map +1 -1
  622. package/dist/lyra606.js +229 -182
  623. package/dist/lyra606.js.map +1 -1
  624. package/dist/lyra607.cjs +1 -1
  625. package/dist/lyra607.cjs.map +1 -1
  626. package/dist/lyra607.js +14 -77
  627. package/dist/lyra607.js.map +1 -1
  628. package/dist/lyra608.cjs +1 -1
  629. package/dist/lyra608.cjs.map +1 -1
  630. package/dist/lyra608.js +479 -41
  631. package/dist/lyra608.js.map +1 -1
  632. package/dist/lyra609.cjs +1 -1
  633. package/dist/lyra609.cjs.map +1 -1
  634. package/dist/lyra609.js +65 -32
  635. package/dist/lyra609.js.map +1 -1
  636. package/dist/lyra61.cjs +1 -1
  637. package/dist/lyra61.js +9 -9
  638. package/dist/lyra610.cjs +1 -1
  639. package/dist/lyra610.cjs.map +1 -1
  640. package/dist/lyra610.js +13 -16
  641. package/dist/lyra610.js.map +1 -1
  642. package/dist/lyra611.cjs +1 -1
  643. package/dist/lyra611.cjs.map +1 -1
  644. package/dist/lyra611.js +2 -3
  645. package/dist/lyra611.js.map +1 -1
  646. package/dist/lyra612.cjs +9 -1
  647. package/dist/lyra612.cjs.map +1 -1
  648. package/dist/lyra612.js +48 -14
  649. package/dist/lyra612.js.map +1 -1
  650. package/dist/lyra613.cjs +9 -1
  651. package/dist/lyra613.cjs.map +1 -1
  652. package/dist/lyra613.js +83 -7
  653. package/dist/lyra613.js.map +1 -1
  654. package/dist/lyra614.cjs +1 -1
  655. package/dist/lyra614.cjs.map +1 -1
  656. package/dist/lyra614.js +133 -227
  657. package/dist/lyra614.js.map +1 -1
  658. package/dist/lyra615.cjs +1 -1
  659. package/dist/lyra615.cjs.map +1 -1
  660. package/dist/lyra615.js +50 -14
  661. package/dist/lyra615.js.map +1 -1
  662. package/dist/lyra616.cjs +1 -1
  663. package/dist/lyra616.cjs.map +1 -1
  664. package/dist/lyra616.js +181 -477
  665. package/dist/lyra616.js.map +1 -1
  666. package/dist/lyra617.cjs +1 -1
  667. package/dist/lyra617.cjs.map +1 -1
  668. package/dist/lyra617.js +78 -65
  669. package/dist/lyra617.js.map +1 -1
  670. package/dist/lyra618.cjs +1 -1
  671. package/dist/lyra618.cjs.map +1 -1
  672. package/dist/lyra618.js +44 -13
  673. package/dist/lyra618.js.map +1 -1
  674. package/dist/lyra619.cjs +1 -1
  675. package/dist/lyra619.cjs.map +1 -1
  676. package/dist/lyra619.js +15 -51
  677. package/dist/lyra619.js.map +1 -1
  678. package/dist/lyra620.cjs +1 -1
  679. package/dist/lyra620.cjs.map +1 -1
  680. package/dist/lyra620.js +3 -2
  681. package/dist/lyra620.js.map +1 -1
  682. package/dist/lyra621.cjs +1 -9
  683. package/dist/lyra621.cjs.map +1 -1
  684. package/dist/lyra621.js +14 -48
  685. package/dist/lyra621.js.map +1 -1
  686. package/dist/lyra622.cjs +1 -9
  687. package/dist/lyra622.cjs.map +1 -1
  688. package/dist/lyra622.js +7 -83
  689. package/dist/lyra622.js.map +1 -1
  690. package/dist/lyra623.cjs +1 -1
  691. package/dist/lyra623.cjs.map +1 -1
  692. package/dist/lyra623.js +30 -136
  693. package/dist/lyra623.js.map +1 -1
  694. package/dist/lyra67.cjs +1 -1
  695. package/dist/lyra67.js +8 -8
  696. package/dist/lyra677.cjs +1 -1
  697. package/dist/lyra677.js +1 -1
  698. package/dist/lyra681.cjs +1 -1
  699. package/dist/lyra681.js +2 -2
  700. package/dist/lyra686.cjs +1 -1
  701. package/dist/lyra686.js +1 -1
  702. package/dist/lyra689.cjs +1 -1
  703. package/dist/lyra689.js +2 -2
  704. package/dist/lyra691.cjs +1 -1
  705. package/dist/lyra691.js +1 -1
  706. package/dist/lyra719.cjs +1 -1
  707. package/dist/lyra719.js +4 -4
  708. package/dist/lyra729.cjs +1 -1
  709. package/dist/lyra729.js +1 -1
  710. package/dist/lyra730.cjs +1 -1
  711. package/dist/lyra730.js +1 -1
  712. package/dist/lyra731.cjs +1 -1
  713. package/dist/lyra731.js +1 -1
  714. package/dist/lyra75.cjs +1 -1
  715. package/dist/lyra75.js +2 -2
  716. package/dist/lyra761.cjs +1 -1
  717. package/dist/lyra761.js +1 -1
  718. package/dist/lyra779.cjs +1 -1
  719. package/dist/lyra779.js +1 -1
  720. package/dist/lyra780.cjs +1 -1
  721. package/dist/lyra780.js +1 -1
  722. package/dist/lyra781.cjs +1 -1
  723. package/dist/lyra781.js +2 -2
  724. package/dist/lyra782.cjs +1 -1
  725. package/dist/lyra782.js +5 -5
  726. package/dist/lyra783.cjs +1 -1
  727. package/dist/lyra783.js +2 -2
  728. package/dist/lyra786.cjs +1 -1
  729. package/dist/lyra786.js +1 -1
  730. package/dist/lyra787.cjs +1 -1
  731. package/dist/lyra787.js +1 -1
  732. package/dist/lyra788.cjs +1 -1
  733. package/dist/lyra788.js +1 -1
  734. package/dist/lyra789.cjs +1 -1
  735. package/dist/lyra789.js +2 -2
  736. package/dist/lyra790.cjs +1 -1
  737. package/dist/lyra790.js +5 -5
  738. package/dist/lyra791.cjs +1 -1
  739. package/dist/lyra791.js +2 -2
  740. package/dist/lyra792.cjs +1 -1
  741. package/dist/lyra792.js +1 -1
  742. package/dist/lyra793.cjs +1 -1
  743. package/dist/lyra793.js +4 -4
  744. package/dist/lyra794.cjs +1 -1
  745. package/dist/lyra794.cjs.map +1 -1
  746. package/dist/lyra794.js +2 -375
  747. package/dist/lyra794.js.map +1 -1
  748. package/dist/lyra795.cjs +1 -1
  749. package/dist/lyra795.cjs.map +1 -1
  750. package/dist/lyra795.js +54 -2
  751. package/dist/lyra795.js.map +1 -1
  752. package/dist/lyra796.cjs +1 -1
  753. package/dist/lyra796.cjs.map +1 -1
  754. package/dist/lyra796.js +8 -54
  755. package/dist/lyra796.js.map +1 -1
  756. package/dist/lyra797.cjs +1 -1
  757. package/dist/lyra797.cjs.map +1 -1
  758. package/dist/lyra797.js +4 -8
  759. package/dist/lyra797.js.map +1 -1
  760. package/dist/lyra798.cjs +1 -1
  761. package/dist/lyra798.cjs.map +1 -1
  762. package/dist/lyra798.js +13 -4
  763. package/dist/lyra798.js.map +1 -1
  764. package/dist/lyra799.cjs +1 -1
  765. package/dist/lyra799.cjs.map +1 -1
  766. package/dist/lyra799.js +4 -13
  767. package/dist/lyra799.js.map +1 -1
  768. package/dist/lyra800.cjs +1 -1
  769. package/dist/lyra800.cjs.map +1 -1
  770. package/dist/lyra800.js +584 -3
  771. package/dist/lyra800.js.map +1 -1
  772. package/dist/lyra801.cjs +1 -1
  773. package/dist/lyra801.cjs.map +1 -1
  774. package/dist/lyra801.js +11 -585
  775. package/dist/lyra801.js.map +1 -1
  776. package/dist/lyra802.cjs +1 -1
  777. package/dist/lyra802.cjs.map +1 -1
  778. package/dist/lyra802.js +2 -11
  779. package/dist/lyra802.js.map +1 -1
  780. package/dist/lyra803.cjs +1 -1
  781. package/dist/lyra803.cjs.map +1 -1
  782. package/dist/lyra803.js +29 -2
  783. package/dist/lyra803.js.map +1 -1
  784. package/dist/lyra804.cjs +1 -1
  785. package/dist/lyra804.cjs.map +1 -1
  786. package/dist/lyra804.js +6 -29
  787. package/dist/lyra804.js.map +1 -1
  788. package/dist/lyra805.cjs +1 -1
  789. package/dist/lyra805.cjs.map +1 -1
  790. package/dist/lyra805.js +3 -5
  791. package/dist/lyra805.js.map +1 -1
  792. package/dist/lyra806.cjs +1 -1
  793. package/dist/lyra806.cjs.map +1 -1
  794. package/dist/lyra806.js +14 -4
  795. package/dist/lyra806.js.map +1 -1
  796. package/dist/lyra807.cjs +1 -1
  797. package/dist/lyra807.cjs.map +1 -1
  798. package/dist/lyra807.js +15 -14
  799. package/dist/lyra807.js.map +1 -1
  800. package/dist/lyra808.cjs +1 -1
  801. package/dist/lyra808.cjs.map +1 -1
  802. package/dist/lyra808.js +22 -14
  803. package/dist/lyra808.js.map +1 -1
  804. package/dist/lyra809.cjs +1 -1
  805. package/dist/lyra809.cjs.map +1 -1
  806. package/dist/lyra809.js +7 -22
  807. package/dist/lyra809.js.map +1 -1
  808. package/dist/lyra810.cjs +1 -1
  809. package/dist/lyra810.cjs.map +1 -1
  810. package/dist/lyra810.js +50 -7
  811. package/dist/lyra810.js.map +1 -1
  812. package/dist/lyra811.cjs +1 -1
  813. package/dist/lyra811.cjs.map +1 -1
  814. package/dist/lyra811.js +370 -46
  815. package/dist/lyra811.js.map +1 -1
  816. package/dist/lyra813.cjs +1 -1
  817. package/dist/lyra813.js +1 -1
  818. package/dist/lyra819.cjs +1 -1
  819. package/dist/lyra819.cjs.map +1 -1
  820. package/dist/lyra819.js +28 -253
  821. package/dist/lyra819.js.map +1 -1
  822. package/dist/lyra820.cjs +1 -1
  823. package/dist/lyra820.cjs.map +1 -1
  824. package/dist/lyra820.js +21 -78
  825. package/dist/lyra820.js.map +1 -1
  826. package/dist/lyra821.cjs +1 -1
  827. package/dist/lyra821.cjs.map +1 -1
  828. package/dist/lyra821.js +20 -2
  829. package/dist/lyra821.js.map +1 -1
  830. package/dist/lyra822.cjs +1 -1
  831. package/dist/lyra822.cjs.map +1 -1
  832. package/dist/lyra822.js +9 -13
  833. package/dist/lyra822.js.map +1 -1
  834. package/dist/lyra823.cjs +1 -1
  835. package/dist/lyra823.cjs.map +1 -1
  836. package/dist/lyra823.js +12 -18
  837. package/dist/lyra823.js.map +1 -1
  838. package/dist/lyra824.cjs +1 -1
  839. package/dist/lyra824.cjs.map +1 -1
  840. package/dist/lyra824.js +6 -14
  841. package/dist/lyra824.js.map +1 -1
  842. package/dist/lyra825.cjs +1 -1
  843. package/dist/lyra825.cjs.map +1 -1
  844. package/dist/lyra825.js +24 -2
  845. package/dist/lyra825.js.map +1 -1
  846. package/dist/lyra826.cjs +1 -1
  847. package/dist/lyra826.cjs.map +1 -1
  848. package/dist/lyra826.js +2 -19
  849. package/dist/lyra826.js.map +1 -1
  850. package/dist/lyra827.cjs +1 -1
  851. package/dist/lyra827.cjs.map +1 -1
  852. package/dist/lyra827.js +9 -28
  853. package/dist/lyra827.js.map +1 -1
  854. package/dist/lyra828.cjs +1 -1
  855. package/dist/lyra828.cjs.map +1 -1
  856. package/dist/lyra828.js +7 -25
  857. package/dist/lyra828.js.map +1 -1
  858. package/dist/lyra829.cjs +1 -1
  859. package/dist/lyra829.cjs.map +1 -1
  860. package/dist/lyra829.js +250 -17
  861. package/dist/lyra829.js.map +1 -1
  862. package/dist/lyra830.cjs +1 -1
  863. package/dist/lyra830.cjs.map +1 -1
  864. package/dist/lyra830.js +81 -8
  865. package/dist/lyra830.js.map +1 -1
  866. package/dist/lyra831.cjs +1 -1
  867. package/dist/lyra831.cjs.map +1 -1
  868. package/dist/lyra831.js +2 -13
  869. package/dist/lyra831.js.map +1 -1
  870. package/dist/lyra832.cjs +1 -1
  871. package/dist/lyra832.cjs.map +1 -1
  872. package/dist/lyra832.js +13 -6
  873. package/dist/lyra832.js.map +1 -1
  874. package/dist/lyra833.cjs +1 -1
  875. package/dist/lyra833.cjs.map +1 -1
  876. package/dist/lyra833.js +18 -23
  877. package/dist/lyra833.js.map +1 -1
  878. package/dist/lyra834.cjs +1 -1
  879. package/dist/lyra834.cjs.map +1 -1
  880. package/dist/lyra834.js +14 -2
  881. package/dist/lyra834.js.map +1 -1
  882. package/dist/lyra835.cjs +1 -1
  883. package/dist/lyra835.cjs.map +1 -1
  884. package/dist/lyra835.js +2 -9
  885. package/dist/lyra835.js.map +1 -1
  886. package/dist/lyra836.cjs +1 -1
  887. package/dist/lyra836.cjs.map +1 -1
  888. package/dist/lyra836.js +19 -7
  889. package/dist/lyra836.js.map +1 -1
  890. package/dist/lyra839.cjs +1 -1
  891. package/dist/lyra839.js +2 -2
  892. package/dist/lyra84.cjs +1 -1
  893. package/dist/lyra84.js +1 -1
  894. package/dist/lyra842.cjs +1 -4
  895. package/dist/lyra842.cjs.map +1 -1
  896. package/dist/lyra842.js +103 -45
  897. package/dist/lyra842.js.map +1 -1
  898. package/dist/lyra843.cjs +1 -1
  899. package/dist/lyra843.cjs.map +1 -1
  900. package/dist/lyra843.js +21 -104
  901. package/dist/lyra843.js.map +1 -1
  902. package/dist/lyra844.cjs +1 -1
  903. package/dist/lyra844.cjs.map +1 -1
  904. package/dist/lyra844.js +20 -22
  905. package/dist/lyra844.js.map +1 -1
  906. package/dist/lyra845.cjs +1 -1
  907. package/dist/lyra845.cjs.map +1 -1
  908. package/dist/lyra845.js +5 -20
  909. package/dist/lyra845.js.map +1 -1
  910. package/dist/lyra846.cjs +1 -1
  911. package/dist/lyra846.cjs.map +1 -1
  912. package/dist/lyra846.js +20 -5
  913. package/dist/lyra846.js.map +1 -1
  914. package/dist/lyra847.cjs +1 -1
  915. package/dist/lyra847.cjs.map +1 -1
  916. package/dist/lyra847.js +29 -19
  917. package/dist/lyra847.js.map +1 -1
  918. package/dist/lyra848.cjs +1 -1
  919. package/dist/lyra848.cjs.map +1 -1
  920. package/dist/lyra848.js +6 -28
  921. package/dist/lyra848.js.map +1 -1
  922. package/dist/lyra849.cjs +1 -1
  923. package/dist/lyra849.cjs.map +1 -1
  924. package/dist/lyra849.js +51 -6
  925. package/dist/lyra849.js.map +1 -1
  926. package/dist/lyra850.cjs +1 -1
  927. package/dist/lyra850.cjs.map +1 -1
  928. package/dist/lyra850.js +19 -49
  929. package/dist/lyra850.js.map +1 -1
  930. package/dist/lyra851.cjs +1 -1
  931. package/dist/lyra851.cjs.map +1 -1
  932. package/dist/lyra851.js +16 -19
  933. package/dist/lyra851.js.map +1 -1
  934. package/dist/lyra852.cjs +1 -1
  935. package/dist/lyra852.cjs.map +1 -1
  936. package/dist/lyra852.js +55 -19
  937. package/dist/lyra852.js.map +1 -1
  938. package/dist/lyra853.cjs +1 -1
  939. package/dist/lyra853.cjs.map +1 -1
  940. package/dist/lyra853.js +10 -55
  941. package/dist/lyra853.js.map +1 -1
  942. package/dist/lyra854.cjs +1 -1
  943. package/dist/lyra854.cjs.map +1 -1
  944. package/dist/lyra854.js +3 -10
  945. package/dist/lyra854.js.map +1 -1
  946. package/dist/lyra855.cjs +1 -1
  947. package/dist/lyra855.cjs.map +1 -1
  948. package/dist/lyra855.js +17 -3
  949. package/dist/lyra855.js.map +1 -1
  950. package/dist/lyra856.cjs +1 -1
  951. package/dist/lyra856.cjs.map +1 -1
  952. package/dist/lyra856.js +3 -17
  953. package/dist/lyra856.js.map +1 -1
  954. package/dist/lyra857.cjs +1 -1
  955. package/dist/lyra857.cjs.map +1 -1
  956. package/dist/lyra857.js +3 -3
  957. package/dist/lyra857.js.map +1 -1
  958. package/dist/lyra858.cjs +1 -1
  959. package/dist/lyra858.cjs.map +1 -1
  960. package/dist/lyra858.js +9 -3
  961. package/dist/lyra858.js.map +1 -1
  962. package/dist/lyra859.cjs +1 -1
  963. package/dist/lyra859.cjs.map +1 -1
  964. package/dist/lyra859.js +2 -10
  965. package/dist/lyra859.js.map +1 -1
  966. package/dist/lyra86.cjs +1 -1
  967. package/dist/lyra86.js +1 -1
  968. package/dist/lyra860.cjs +1 -1
  969. package/dist/lyra860.cjs.map +1 -1
  970. package/dist/lyra860.js +5 -2
  971. package/dist/lyra860.js.map +1 -1
  972. package/dist/lyra861.cjs +4 -1
  973. package/dist/lyra861.cjs.map +1 -1
  974. package/dist/lyra861.js +46 -4
  975. package/dist/lyra861.js.map +1 -1
  976. package/dist/lyra865.cjs +1 -1
  977. package/dist/lyra865.cjs.map +1 -1
  978. package/dist/lyra865.js +5 -64
  979. package/dist/lyra865.js.map +1 -1
  980. package/dist/lyra866.cjs +1 -1
  981. package/dist/lyra866.cjs.map +1 -1
  982. package/dist/lyra866.js +7 -21
  983. package/dist/lyra866.js.map +1 -1
  984. package/dist/lyra867.cjs +1 -1
  985. package/dist/lyra867.cjs.map +1 -1
  986. package/dist/lyra867.js +15 -5
  987. package/dist/lyra867.js.map +1 -1
  988. package/dist/lyra868.cjs +1 -1
  989. package/dist/lyra868.cjs.map +1 -1
  990. package/dist/lyra868.js +63 -7
  991. package/dist/lyra868.js.map +1 -1
  992. package/dist/lyra869.cjs +1 -1
  993. package/dist/lyra869.cjs.map +1 -1
  994. package/dist/lyra869.js +22 -15
  995. package/dist/lyra869.js.map +1 -1
  996. package/dist/lyra876.cjs +1 -1
  997. package/dist/lyra876.js +1 -1
  998. package/dist/lyra88.cjs +1 -1
  999. package/dist/lyra88.js +1 -1
  1000. package/dist/lyra89.cjs +1 -1
  1001. package/dist/lyra89.js +48 -48
  1002. package/dist/lyra96.cjs +1 -1
  1003. package/dist/lyra96.js +3 -3
  1004. package/dist/lyra97.cjs +1 -1
  1005. package/dist/lyra97.js +3 -3
  1006. package/dist/lyra98.cjs +1 -1
  1007. package/dist/lyra98.js +1 -1
  1008. package/dist/lyra99.cjs +1 -1
  1009. package/dist/lyra99.js +1 -1
  1010. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"lyra464.cjs","sources":["../node_modules/@dnd-kit/core/dist/core.esm.js"],"sourcesContent":["import React, { createContext, useContext, useEffect, useState, useCallback, useMemo, useRef, useReducer, memo, cloneElement, forwardRef } from 'react';\nimport { createPortal, unstable_batchedUpdates } from 'react-dom';\nimport { useUniqueId, getEventCoordinates, getWindow, isDocument, isHTMLElement, isSVGElement, canUseDOM, isWindow, isNode, getOwnerDocument, add, isKeyboardEvent, subtract, useLazyMemo, useInterval, usePrevious, useLatestValue, useEvent, useIsomorphicLayoutEffect, useNodeRef, findFirstFocusableNode, CSS } from '@dnd-kit/utilities';\nimport { useAnnouncement, HiddenText, LiveRegion } from '@dnd-kit/accessibility';\n\nconst DndMonitorContext = /*#__PURE__*/createContext(null);\n\nfunction useDndMonitor(listener) {\n const registerListener = useContext(DndMonitorContext);\n useEffect(() => {\n if (!registerListener) {\n throw new Error('useDndMonitor must be used within a children of <DndContext>');\n }\n\n const unsubscribe = registerListener(listener);\n return unsubscribe;\n }, [listener, registerListener]);\n}\n\nfunction useDndMonitorProvider() {\n const [listeners] = useState(() => new Set());\n const registerListener = useCallback(listener => {\n listeners.add(listener);\n return () => listeners.delete(listener);\n }, [listeners]);\n const dispatch = useCallback(_ref => {\n let {\n type,\n event\n } = _ref;\n listeners.forEach(listener => {\n var _listener$type;\n\n return (_listener$type = listener[type]) == null ? void 0 : _listener$type.call(listener, event);\n });\n }, [listeners]);\n return [dispatch, registerListener];\n}\n\nconst defaultScreenReaderInstructions = {\n draggable: \"\\n To pick up a draggable item, press the space bar.\\n While dragging, use the arrow keys to move the item.\\n Press space again to drop the item in its new position, or press escape to cancel.\\n \"\n};\nconst defaultAnnouncements = {\n onDragStart(_ref) {\n let {\n active\n } = _ref;\n return \"Picked up draggable item \" + active.id + \".\";\n },\n\n onDragOver(_ref2) {\n let {\n active,\n over\n } = _ref2;\n\n if (over) {\n return \"Draggable item \" + active.id + \" was moved over droppable area \" + over.id + \".\";\n }\n\n return \"Draggable item \" + active.id + \" is no longer over a droppable area.\";\n },\n\n onDragEnd(_ref3) {\n let {\n active,\n over\n } = _ref3;\n\n if (over) {\n return \"Draggable item \" + active.id + \" was dropped over droppable area \" + over.id;\n }\n\n return \"Draggable item \" + active.id + \" was dropped.\";\n },\n\n onDragCancel(_ref4) {\n let {\n active\n } = _ref4;\n return \"Dragging was cancelled. Draggable item \" + active.id + \" was dropped.\";\n }\n\n};\n\nfunction Accessibility(_ref) {\n let {\n announcements = defaultAnnouncements,\n container,\n hiddenTextDescribedById,\n screenReaderInstructions = defaultScreenReaderInstructions\n } = _ref;\n const {\n announce,\n announcement\n } = useAnnouncement();\n const liveRegionId = useUniqueId(\"DndLiveRegion\");\n const [mounted, setMounted] = useState(false);\n useEffect(() => {\n setMounted(true);\n }, []);\n useDndMonitor(useMemo(() => ({\n onDragStart(_ref2) {\n let {\n active\n } = _ref2;\n announce(announcements.onDragStart({\n active\n }));\n },\n\n onDragMove(_ref3) {\n let {\n active,\n over\n } = _ref3;\n\n if (announcements.onDragMove) {\n announce(announcements.onDragMove({\n active,\n over\n }));\n }\n },\n\n onDragOver(_ref4) {\n let {\n active,\n over\n } = _ref4;\n announce(announcements.onDragOver({\n active,\n over\n }));\n },\n\n onDragEnd(_ref5) {\n let {\n active,\n over\n } = _ref5;\n announce(announcements.onDragEnd({\n active,\n over\n }));\n },\n\n onDragCancel(_ref6) {\n let {\n active,\n over\n } = _ref6;\n announce(announcements.onDragCancel({\n active,\n over\n }));\n }\n\n }), [announce, announcements]));\n\n if (!mounted) {\n return null;\n }\n\n const markup = React.createElement(React.Fragment, null, React.createElement(HiddenText, {\n id: hiddenTextDescribedById,\n value: screenReaderInstructions.draggable\n }), React.createElement(LiveRegion, {\n id: liveRegionId,\n announcement: announcement\n }));\n return container ? createPortal(markup, container) : markup;\n}\n\nvar Action;\n\n(function (Action) {\n Action[\"DragStart\"] = \"dragStart\";\n Action[\"DragMove\"] = \"dragMove\";\n Action[\"DragEnd\"] = \"dragEnd\";\n Action[\"DragCancel\"] = \"dragCancel\";\n Action[\"DragOver\"] = \"dragOver\";\n Action[\"RegisterDroppable\"] = \"registerDroppable\";\n Action[\"SetDroppableDisabled\"] = \"setDroppableDisabled\";\n Action[\"UnregisterDroppable\"] = \"unregisterDroppable\";\n})(Action || (Action = {}));\n\nfunction noop() {}\n\nfunction useSensor(sensor, options) {\n return useMemo(() => ({\n sensor,\n options: options != null ? options : {}\n }), // eslint-disable-next-line react-hooks/exhaustive-deps\n [sensor, options]);\n}\n\nfunction useSensors() {\n for (var _len = arguments.length, sensors = new Array(_len), _key = 0; _key < _len; _key++) {\n sensors[_key] = arguments[_key];\n }\n\n return useMemo(() => [...sensors].filter(sensor => sensor != null), // eslint-disable-next-line react-hooks/exhaustive-deps\n [...sensors]);\n}\n\nconst defaultCoordinates = /*#__PURE__*/Object.freeze({\n x: 0,\n y: 0\n});\n\n/**\r\n * Returns the distance between two points\r\n */\nfunction distanceBetween(p1, p2) {\n return Math.sqrt(Math.pow(p1.x - p2.x, 2) + Math.pow(p1.y - p2.y, 2));\n}\n\nfunction getRelativeTransformOrigin(event, rect) {\n const eventCoordinates = getEventCoordinates(event);\n\n if (!eventCoordinates) {\n return '0 0';\n }\n\n const transformOrigin = {\n x: (eventCoordinates.x - rect.left) / rect.width * 100,\n y: (eventCoordinates.y - rect.top) / rect.height * 100\n };\n return transformOrigin.x + \"% \" + transformOrigin.y + \"%\";\n}\n\n/**\r\n * Sort collisions from smallest to greatest value\r\n */\nfunction sortCollisionsAsc(_ref, _ref2) {\n let {\n data: {\n value: a\n }\n } = _ref;\n let {\n data: {\n value: b\n }\n } = _ref2;\n return a - b;\n}\n/**\r\n * Sort collisions from greatest to smallest value\r\n */\n\nfunction sortCollisionsDesc(_ref3, _ref4) {\n let {\n data: {\n value: a\n }\n } = _ref3;\n let {\n data: {\n value: b\n }\n } = _ref4;\n return b - a;\n}\n/**\r\n * Returns the coordinates of the corners of a given rectangle:\r\n * [TopLeft {x, y}, TopRight {x, y}, BottomLeft {x, y}, BottomRight {x, y}]\r\n */\n\nfunction cornersOfRectangle(_ref5) {\n let {\n left,\n top,\n height,\n width\n } = _ref5;\n return [{\n x: left,\n y: top\n }, {\n x: left + width,\n y: top\n }, {\n x: left,\n y: top + height\n }, {\n x: left + width,\n y: top + height\n }];\n}\nfunction getFirstCollision(collisions, property) {\n if (!collisions || collisions.length === 0) {\n return null;\n }\n\n const [firstCollision] = collisions;\n return property ? firstCollision[property] : firstCollision;\n}\n\n/**\r\n * Returns the coordinates of the center of a given ClientRect\r\n */\n\nfunction centerOfRectangle(rect, left, top) {\n if (left === void 0) {\n left = rect.left;\n }\n\n if (top === void 0) {\n top = rect.top;\n }\n\n return {\n x: left + rect.width * 0.5,\n y: top + rect.height * 0.5\n };\n}\n/**\r\n * Returns the closest rectangles from an array of rectangles to the center of a given\r\n * rectangle.\r\n */\n\n\nconst closestCenter = _ref => {\n let {\n collisionRect,\n droppableRects,\n droppableContainers\n } = _ref;\n const centerRect = centerOfRectangle(collisionRect, collisionRect.left, collisionRect.top);\n const collisions = [];\n\n for (const droppableContainer of droppableContainers) {\n const {\n id\n } = droppableContainer;\n const rect = droppableRects.get(id);\n\n if (rect) {\n const distBetween = distanceBetween(centerOfRectangle(rect), centerRect);\n collisions.push({\n id,\n data: {\n droppableContainer,\n value: distBetween\n }\n });\n }\n }\n\n return collisions.sort(sortCollisionsAsc);\n};\n\n/**\r\n * Returns the closest rectangles from an array of rectangles to the corners of\r\n * another rectangle.\r\n */\n\nconst closestCorners = _ref => {\n let {\n collisionRect,\n droppableRects,\n droppableContainers\n } = _ref;\n const corners = cornersOfRectangle(collisionRect);\n const collisions = [];\n\n for (const droppableContainer of droppableContainers) {\n const {\n id\n } = droppableContainer;\n const rect = droppableRects.get(id);\n\n if (rect) {\n const rectCorners = cornersOfRectangle(rect);\n const distances = corners.reduce((accumulator, corner, index) => {\n return accumulator + distanceBetween(rectCorners[index], corner);\n }, 0);\n const effectiveDistance = Number((distances / 4).toFixed(4));\n collisions.push({\n id,\n data: {\n droppableContainer,\n value: effectiveDistance\n }\n });\n }\n }\n\n return collisions.sort(sortCollisionsAsc);\n};\n\n/**\r\n * Returns the intersecting rectangle area between two rectangles\r\n */\n\nfunction getIntersectionRatio(entry, target) {\n const top = Math.max(target.top, entry.top);\n const left = Math.max(target.left, entry.left);\n const right = Math.min(target.left + target.width, entry.left + entry.width);\n const bottom = Math.min(target.top + target.height, entry.top + entry.height);\n const width = right - left;\n const height = bottom - top;\n\n if (left < right && top < bottom) {\n const targetArea = target.width * target.height;\n const entryArea = entry.width * entry.height;\n const intersectionArea = width * height;\n const intersectionRatio = intersectionArea / (targetArea + entryArea - intersectionArea);\n return Number(intersectionRatio.toFixed(4));\n } // Rectangles do not overlap, or overlap has an area of zero (edge/corner overlap)\n\n\n return 0;\n}\n/**\r\n * Returns the rectangles that has the greatest intersection area with a given\r\n * rectangle in an array of rectangles.\r\n */\n\nconst rectIntersection = _ref => {\n let {\n collisionRect,\n droppableRects,\n droppableContainers\n } = _ref;\n const collisions = [];\n\n for (const droppableContainer of droppableContainers) {\n const {\n id\n } = droppableContainer;\n const rect = droppableRects.get(id);\n\n if (rect) {\n const intersectionRatio = getIntersectionRatio(rect, collisionRect);\n\n if (intersectionRatio > 0) {\n collisions.push({\n id,\n data: {\n droppableContainer,\n value: intersectionRatio\n }\n });\n }\n }\n }\n\n return collisions.sort(sortCollisionsDesc);\n};\n\n/**\r\n * Check if a given point is contained within a bounding rectangle\r\n */\n\nfunction isPointWithinRect(point, rect) {\n const {\n top,\n left,\n bottom,\n right\n } = rect;\n return top <= point.y && point.y <= bottom && left <= point.x && point.x <= right;\n}\n/**\r\n * Returns the rectangles that the pointer is hovering over\r\n */\n\n\nconst pointerWithin = _ref => {\n let {\n droppableContainers,\n droppableRects,\n pointerCoordinates\n } = _ref;\n\n if (!pointerCoordinates) {\n return [];\n }\n\n const collisions = [];\n\n for (const droppableContainer of droppableContainers) {\n const {\n id\n } = droppableContainer;\n const rect = droppableRects.get(id);\n\n if (rect && isPointWithinRect(pointerCoordinates, rect)) {\n /* There may be more than a single rectangle intersecting\r\n * with the pointer coordinates. In order to sort the\r\n * colliding rectangles, we measure the distance between\r\n * the pointer and the corners of the intersecting rectangle\r\n */\n const corners = cornersOfRectangle(rect);\n const distances = corners.reduce((accumulator, corner) => {\n return accumulator + distanceBetween(pointerCoordinates, corner);\n }, 0);\n const effectiveDistance = Number((distances / 4).toFixed(4));\n collisions.push({\n id,\n data: {\n droppableContainer,\n value: effectiveDistance\n }\n });\n }\n }\n\n return collisions.sort(sortCollisionsAsc);\n};\n\nfunction adjustScale(transform, rect1, rect2) {\n return { ...transform,\n scaleX: rect1 && rect2 ? rect1.width / rect2.width : 1,\n scaleY: rect1 && rect2 ? rect1.height / rect2.height : 1\n };\n}\n\nfunction getRectDelta(rect1, rect2) {\n return rect1 && rect2 ? {\n x: rect1.left - rect2.left,\n y: rect1.top - rect2.top\n } : defaultCoordinates;\n}\n\nfunction createRectAdjustmentFn(modifier) {\n return function adjustClientRect(rect) {\n for (var _len = arguments.length, adjustments = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n adjustments[_key - 1] = arguments[_key];\n }\n\n return adjustments.reduce((acc, adjustment) => ({ ...acc,\n top: acc.top + modifier * adjustment.y,\n bottom: acc.bottom + modifier * adjustment.y,\n left: acc.left + modifier * adjustment.x,\n right: acc.right + modifier * adjustment.x\n }), { ...rect\n });\n };\n}\nconst getAdjustedRect = /*#__PURE__*/createRectAdjustmentFn(1);\n\nfunction parseTransform(transform) {\n if (transform.startsWith('matrix3d(')) {\n const transformArray = transform.slice(9, -1).split(/, /);\n return {\n x: +transformArray[12],\n y: +transformArray[13],\n scaleX: +transformArray[0],\n scaleY: +transformArray[5]\n };\n } else if (transform.startsWith('matrix(')) {\n const transformArray = transform.slice(7, -1).split(/, /);\n return {\n x: +transformArray[4],\n y: +transformArray[5],\n scaleX: +transformArray[0],\n scaleY: +transformArray[3]\n };\n }\n\n return null;\n}\n\nfunction inverseTransform(rect, transform, transformOrigin) {\n const parsedTransform = parseTransform(transform);\n\n if (!parsedTransform) {\n return rect;\n }\n\n const {\n scaleX,\n scaleY,\n x: translateX,\n y: translateY\n } = parsedTransform;\n const x = rect.left - translateX - (1 - scaleX) * parseFloat(transformOrigin);\n const y = rect.top - translateY - (1 - scaleY) * parseFloat(transformOrigin.slice(transformOrigin.indexOf(' ') + 1));\n const w = scaleX ? rect.width / scaleX : rect.width;\n const h = scaleY ? rect.height / scaleY : rect.height;\n return {\n width: w,\n height: h,\n top: y,\n right: x + w,\n bottom: y + h,\n left: x\n };\n}\n\nconst defaultOptions = {\n ignoreTransform: false\n};\n/**\r\n * Returns the bounding client rect of an element relative to the viewport.\r\n */\n\nfunction getClientRect(element, options) {\n if (options === void 0) {\n options = defaultOptions;\n }\n\n let rect = element.getBoundingClientRect();\n\n if (options.ignoreTransform) {\n const {\n transform,\n transformOrigin\n } = getWindow(element).getComputedStyle(element);\n\n if (transform) {\n rect = inverseTransform(rect, transform, transformOrigin);\n }\n }\n\n const {\n top,\n left,\n width,\n height,\n bottom,\n right\n } = rect;\n return {\n top,\n left,\n width,\n height,\n bottom,\n right\n };\n}\n/**\r\n * Returns the bounding client rect of an element relative to the viewport.\r\n *\r\n * @remarks\r\n * The ClientRect returned by this method does not take into account transforms\r\n * applied to the element it measures.\r\n *\r\n */\n\nfunction getTransformAgnosticClientRect(element) {\n return getClientRect(element, {\n ignoreTransform: true\n });\n}\n\nfunction getWindowClientRect(element) {\n const width = element.innerWidth;\n const height = element.innerHeight;\n return {\n top: 0,\n left: 0,\n right: width,\n bottom: height,\n width,\n height\n };\n}\n\nfunction isFixed(node, computedStyle) {\n if (computedStyle === void 0) {\n computedStyle = getWindow(node).getComputedStyle(node);\n }\n\n return computedStyle.position === 'fixed';\n}\n\nfunction isScrollable(element, computedStyle) {\n if (computedStyle === void 0) {\n computedStyle = getWindow(element).getComputedStyle(element);\n }\n\n const overflowRegex = /(auto|scroll|overlay)/;\n const properties = ['overflow', 'overflowX', 'overflowY'];\n return properties.some(property => {\n const value = computedStyle[property];\n return typeof value === 'string' ? overflowRegex.test(value) : false;\n });\n}\n\nfunction getScrollableAncestors(element, limit) {\n const scrollParents = [];\n\n function findScrollableAncestors(node) {\n if (limit != null && scrollParents.length >= limit) {\n return scrollParents;\n }\n\n if (!node) {\n return scrollParents;\n }\n\n if (isDocument(node) && node.scrollingElement != null && !scrollParents.includes(node.scrollingElement)) {\n scrollParents.push(node.scrollingElement);\n return scrollParents;\n }\n\n if (!isHTMLElement(node) || isSVGElement(node)) {\n return scrollParents;\n }\n\n if (scrollParents.includes(node)) {\n return scrollParents;\n }\n\n const computedStyle = getWindow(element).getComputedStyle(node);\n\n if (node !== element) {\n if (isScrollable(node, computedStyle)) {\n scrollParents.push(node);\n }\n }\n\n if (isFixed(node, computedStyle)) {\n return scrollParents;\n }\n\n return findScrollableAncestors(node.parentNode);\n }\n\n if (!element) {\n return scrollParents;\n }\n\n return findScrollableAncestors(element);\n}\nfunction getFirstScrollableAncestor(node) {\n const [firstScrollableAncestor] = getScrollableAncestors(node, 1);\n return firstScrollableAncestor != null ? firstScrollableAncestor : null;\n}\n\nfunction getScrollableElement(element) {\n if (!canUseDOM || !element) {\n return null;\n }\n\n if (isWindow(element)) {\n return element;\n }\n\n if (!isNode(element)) {\n return null;\n }\n\n if (isDocument(element) || element === getOwnerDocument(element).scrollingElement) {\n return window;\n }\n\n if (isHTMLElement(element)) {\n return element;\n }\n\n return null;\n}\n\nfunction getScrollXCoordinate(element) {\n if (isWindow(element)) {\n return element.scrollX;\n }\n\n return element.scrollLeft;\n}\nfunction getScrollYCoordinate(element) {\n if (isWindow(element)) {\n return element.scrollY;\n }\n\n return element.scrollTop;\n}\nfunction getScrollCoordinates(element) {\n return {\n x: getScrollXCoordinate(element),\n y: getScrollYCoordinate(element)\n };\n}\n\nvar Direction;\n\n(function (Direction) {\n Direction[Direction[\"Forward\"] = 1] = \"Forward\";\n Direction[Direction[\"Backward\"] = -1] = \"Backward\";\n})(Direction || (Direction = {}));\n\nfunction isDocumentScrollingElement(element) {\n if (!canUseDOM || !element) {\n return false;\n }\n\n return element === document.scrollingElement;\n}\n\nfunction getScrollPosition(scrollingContainer) {\n const minScroll = {\n x: 0,\n y: 0\n };\n const dimensions = isDocumentScrollingElement(scrollingContainer) ? {\n height: window.innerHeight,\n width: window.innerWidth\n } : {\n height: scrollingContainer.clientHeight,\n width: scrollingContainer.clientWidth\n };\n const maxScroll = {\n x: scrollingContainer.scrollWidth - dimensions.width,\n y: scrollingContainer.scrollHeight - dimensions.height\n };\n const isTop = scrollingContainer.scrollTop <= minScroll.y;\n const isLeft = scrollingContainer.scrollLeft <= minScroll.x;\n const isBottom = scrollingContainer.scrollTop >= maxScroll.y;\n const isRight = scrollingContainer.scrollLeft >= maxScroll.x;\n return {\n isTop,\n isLeft,\n isBottom,\n isRight,\n maxScroll,\n minScroll\n };\n}\n\nconst defaultThreshold = {\n x: 0.2,\n y: 0.2\n};\nfunction getScrollDirectionAndSpeed(scrollContainer, scrollContainerRect, _ref, acceleration, thresholdPercentage) {\n let {\n top,\n left,\n right,\n bottom\n } = _ref;\n\n if (acceleration === void 0) {\n acceleration = 10;\n }\n\n if (thresholdPercentage === void 0) {\n thresholdPercentage = defaultThreshold;\n }\n\n const {\n isTop,\n isBottom,\n isLeft,\n isRight\n } = getScrollPosition(scrollContainer);\n const direction = {\n x: 0,\n y: 0\n };\n const speed = {\n x: 0,\n y: 0\n };\n const threshold = {\n height: scrollContainerRect.height * thresholdPercentage.y,\n width: scrollContainerRect.width * thresholdPercentage.x\n };\n\n if (!isTop && top <= scrollContainerRect.top + threshold.height) {\n // Scroll Up\n direction.y = Direction.Backward;\n speed.y = acceleration * Math.abs((scrollContainerRect.top + threshold.height - top) / threshold.height);\n } else if (!isBottom && bottom >= scrollContainerRect.bottom - threshold.height) {\n // Scroll Down\n direction.y = Direction.Forward;\n speed.y = acceleration * Math.abs((scrollContainerRect.bottom - threshold.height - bottom) / threshold.height);\n }\n\n if (!isRight && right >= scrollContainerRect.right - threshold.width) {\n // Scroll Right\n direction.x = Direction.Forward;\n speed.x = acceleration * Math.abs((scrollContainerRect.right - threshold.width - right) / threshold.width);\n } else if (!isLeft && left <= scrollContainerRect.left + threshold.width) {\n // Scroll Left\n direction.x = Direction.Backward;\n speed.x = acceleration * Math.abs((scrollContainerRect.left + threshold.width - left) / threshold.width);\n }\n\n return {\n direction,\n speed\n };\n}\n\nfunction getScrollElementRect(element) {\n if (element === document.scrollingElement) {\n const {\n innerWidth,\n innerHeight\n } = window;\n return {\n top: 0,\n left: 0,\n right: innerWidth,\n bottom: innerHeight,\n width: innerWidth,\n height: innerHeight\n };\n }\n\n const {\n top,\n left,\n right,\n bottom\n } = element.getBoundingClientRect();\n return {\n top,\n left,\n right,\n bottom,\n width: element.clientWidth,\n height: element.clientHeight\n };\n}\n\nfunction getScrollOffsets(scrollableAncestors) {\n return scrollableAncestors.reduce((acc, node) => {\n return add(acc, getScrollCoordinates(node));\n }, defaultCoordinates);\n}\nfunction getScrollXOffset(scrollableAncestors) {\n return scrollableAncestors.reduce((acc, node) => {\n return acc + getScrollXCoordinate(node);\n }, 0);\n}\nfunction getScrollYOffset(scrollableAncestors) {\n return scrollableAncestors.reduce((acc, node) => {\n return acc + getScrollYCoordinate(node);\n }, 0);\n}\n\nfunction scrollIntoViewIfNeeded(element, measure) {\n if (measure === void 0) {\n measure = getClientRect;\n }\n\n if (!element) {\n return;\n }\n\n const {\n top,\n left,\n bottom,\n right\n } = measure(element);\n const firstScrollableAncestor = getFirstScrollableAncestor(element);\n\n if (!firstScrollableAncestor) {\n return;\n }\n\n if (bottom <= 0 || right <= 0 || top >= window.innerHeight || left >= window.innerWidth) {\n element.scrollIntoView({\n block: 'center',\n inline: 'center'\n });\n }\n}\n\nconst properties = [['x', ['left', 'right'], getScrollXOffset], ['y', ['top', 'bottom'], getScrollYOffset]];\nclass Rect {\n constructor(rect, element) {\n this.rect = void 0;\n this.width = void 0;\n this.height = void 0;\n this.top = void 0;\n this.bottom = void 0;\n this.right = void 0;\n this.left = void 0;\n const scrollableAncestors = getScrollableAncestors(element);\n const scrollOffsets = getScrollOffsets(scrollableAncestors);\n this.rect = { ...rect\n };\n this.width = rect.width;\n this.height = rect.height;\n\n for (const [axis, keys, getScrollOffset] of properties) {\n for (const key of keys) {\n Object.defineProperty(this, key, {\n get: () => {\n const currentOffsets = getScrollOffset(scrollableAncestors);\n const scrollOffsetsDeltla = scrollOffsets[axis] - currentOffsets;\n return this.rect[key] + scrollOffsetsDeltla;\n },\n enumerable: true\n });\n }\n }\n\n Object.defineProperty(this, 'rect', {\n enumerable: false\n });\n }\n\n}\n\nclass Listeners {\n constructor(target) {\n this.target = void 0;\n this.listeners = [];\n\n this.removeAll = () => {\n this.listeners.forEach(listener => {\n var _this$target;\n\n return (_this$target = this.target) == null ? void 0 : _this$target.removeEventListener(...listener);\n });\n };\n\n this.target = target;\n }\n\n add(eventName, handler, options) {\n var _this$target2;\n\n (_this$target2 = this.target) == null ? void 0 : _this$target2.addEventListener(eventName, handler, options);\n this.listeners.push([eventName, handler, options]);\n }\n\n}\n\nfunction getEventListenerTarget(target) {\n // If the `event.target` element is removed from the document events will still be targeted\n // at it, and hence won't always bubble up to the window or document anymore.\n // If there is any risk of an element being removed while it is being dragged,\n // the best practice is to attach the event listeners directly to the target.\n // https://developer.mozilla.org/en-US/docs/Web/API/EventTarget\n const {\n EventTarget\n } = getWindow(target);\n return target instanceof EventTarget ? target : getOwnerDocument(target);\n}\n\nfunction hasExceededDistance(delta, measurement) {\n const dx = Math.abs(delta.x);\n const dy = Math.abs(delta.y);\n\n if (typeof measurement === 'number') {\n return Math.sqrt(dx ** 2 + dy ** 2) > measurement;\n }\n\n if ('x' in measurement && 'y' in measurement) {\n return dx > measurement.x && dy > measurement.y;\n }\n\n if ('x' in measurement) {\n return dx > measurement.x;\n }\n\n if ('y' in measurement) {\n return dy > measurement.y;\n }\n\n return false;\n}\n\nvar EventName;\n\n(function (EventName) {\n EventName[\"Click\"] = \"click\";\n EventName[\"DragStart\"] = \"dragstart\";\n EventName[\"Keydown\"] = \"keydown\";\n EventName[\"ContextMenu\"] = \"contextmenu\";\n EventName[\"Resize\"] = \"resize\";\n EventName[\"SelectionChange\"] = \"selectionchange\";\n EventName[\"VisibilityChange\"] = \"visibilitychange\";\n})(EventName || (EventName = {}));\n\nfunction preventDefault(event) {\n event.preventDefault();\n}\nfunction stopPropagation(event) {\n event.stopPropagation();\n}\n\nvar KeyboardCode;\n\n(function (KeyboardCode) {\n KeyboardCode[\"Space\"] = \"Space\";\n KeyboardCode[\"Down\"] = \"ArrowDown\";\n KeyboardCode[\"Right\"] = \"ArrowRight\";\n KeyboardCode[\"Left\"] = \"ArrowLeft\";\n KeyboardCode[\"Up\"] = \"ArrowUp\";\n KeyboardCode[\"Esc\"] = \"Escape\";\n KeyboardCode[\"Enter\"] = \"Enter\";\n})(KeyboardCode || (KeyboardCode = {}));\n\nconst defaultKeyboardCodes = {\n start: [KeyboardCode.Space, KeyboardCode.Enter],\n cancel: [KeyboardCode.Esc],\n end: [KeyboardCode.Space, KeyboardCode.Enter]\n};\nconst defaultKeyboardCoordinateGetter = (event, _ref) => {\n let {\n currentCoordinates\n } = _ref;\n\n switch (event.code) {\n case KeyboardCode.Right:\n return { ...currentCoordinates,\n x: currentCoordinates.x + 25\n };\n\n case KeyboardCode.Left:\n return { ...currentCoordinates,\n x: currentCoordinates.x - 25\n };\n\n case KeyboardCode.Down:\n return { ...currentCoordinates,\n y: currentCoordinates.y + 25\n };\n\n case KeyboardCode.Up:\n return { ...currentCoordinates,\n y: currentCoordinates.y - 25\n };\n }\n\n return undefined;\n};\n\nclass KeyboardSensor {\n constructor(props) {\n this.props = void 0;\n this.autoScrollEnabled = false;\n this.referenceCoordinates = void 0;\n this.listeners = void 0;\n this.windowListeners = void 0;\n this.props = props;\n const {\n event: {\n target\n }\n } = props;\n this.props = props;\n this.listeners = new Listeners(getOwnerDocument(target));\n this.windowListeners = new Listeners(getWindow(target));\n this.handleKeyDown = this.handleKeyDown.bind(this);\n this.handleCancel = this.handleCancel.bind(this);\n this.attach();\n }\n\n attach() {\n this.handleStart();\n this.windowListeners.add(EventName.Resize, this.handleCancel);\n this.windowListeners.add(EventName.VisibilityChange, this.handleCancel);\n setTimeout(() => this.listeners.add(EventName.Keydown, this.handleKeyDown));\n }\n\n handleStart() {\n const {\n activeNode,\n onStart\n } = this.props;\n const node = activeNode.node.current;\n\n if (node) {\n scrollIntoViewIfNeeded(node);\n }\n\n onStart(defaultCoordinates);\n }\n\n handleKeyDown(event) {\n if (isKeyboardEvent(event)) {\n const {\n active,\n context,\n options\n } = this.props;\n const {\n keyboardCodes = defaultKeyboardCodes,\n coordinateGetter = defaultKeyboardCoordinateGetter,\n scrollBehavior = 'smooth'\n } = options;\n const {\n code\n } = event;\n\n if (keyboardCodes.end.includes(code)) {\n this.handleEnd(event);\n return;\n }\n\n if (keyboardCodes.cancel.includes(code)) {\n this.handleCancel(event);\n return;\n }\n\n const {\n collisionRect\n } = context.current;\n const currentCoordinates = collisionRect ? {\n x: collisionRect.left,\n y: collisionRect.top\n } : defaultCoordinates;\n\n if (!this.referenceCoordinates) {\n this.referenceCoordinates = currentCoordinates;\n }\n\n const newCoordinates = coordinateGetter(event, {\n active,\n context: context.current,\n currentCoordinates\n });\n\n if (newCoordinates) {\n const coordinatesDelta = subtract(newCoordinates, currentCoordinates);\n const scrollDelta = {\n x: 0,\n y: 0\n };\n const {\n scrollableAncestors\n } = context.current;\n\n for (const scrollContainer of scrollableAncestors) {\n const direction = event.code;\n const {\n isTop,\n isRight,\n isLeft,\n isBottom,\n maxScroll,\n minScroll\n } = getScrollPosition(scrollContainer);\n const scrollElementRect = getScrollElementRect(scrollContainer);\n const clampedCoordinates = {\n x: Math.min(direction === KeyboardCode.Right ? scrollElementRect.right - scrollElementRect.width / 2 : scrollElementRect.right, Math.max(direction === KeyboardCode.Right ? scrollElementRect.left : scrollElementRect.left + scrollElementRect.width / 2, newCoordinates.x)),\n y: Math.min(direction === KeyboardCode.Down ? scrollElementRect.bottom - scrollElementRect.height / 2 : scrollElementRect.bottom, Math.max(direction === KeyboardCode.Down ? scrollElementRect.top : scrollElementRect.top + scrollElementRect.height / 2, newCoordinates.y))\n };\n const canScrollX = direction === KeyboardCode.Right && !isRight || direction === KeyboardCode.Left && !isLeft;\n const canScrollY = direction === KeyboardCode.Down && !isBottom || direction === KeyboardCode.Up && !isTop;\n\n if (canScrollX && clampedCoordinates.x !== newCoordinates.x) {\n const newScrollCoordinates = scrollContainer.scrollLeft + coordinatesDelta.x;\n const canScrollToNewCoordinates = direction === KeyboardCode.Right && newScrollCoordinates <= maxScroll.x || direction === KeyboardCode.Left && newScrollCoordinates >= minScroll.x;\n\n if (canScrollToNewCoordinates && !coordinatesDelta.y) {\n // We don't need to update coordinates, the scroll adjustment alone will trigger\n // logic to auto-detect the new container we are over\n scrollContainer.scrollTo({\n left: newScrollCoordinates,\n behavior: scrollBehavior\n });\n return;\n }\n\n if (canScrollToNewCoordinates) {\n scrollDelta.x = scrollContainer.scrollLeft - newScrollCoordinates;\n } else {\n scrollDelta.x = direction === KeyboardCode.Right ? scrollContainer.scrollLeft - maxScroll.x : scrollContainer.scrollLeft - minScroll.x;\n }\n\n if (scrollDelta.x) {\n scrollContainer.scrollBy({\n left: -scrollDelta.x,\n behavior: scrollBehavior\n });\n }\n\n break;\n } else if (canScrollY && clampedCoordinates.y !== newCoordinates.y) {\n const newScrollCoordinates = scrollContainer.scrollTop + coordinatesDelta.y;\n const canScrollToNewCoordinates = direction === KeyboardCode.Down && newScrollCoordinates <= maxScroll.y || direction === KeyboardCode.Up && newScrollCoordinates >= minScroll.y;\n\n if (canScrollToNewCoordinates && !coordinatesDelta.x) {\n // We don't need to update coordinates, the scroll adjustment alone will trigger\n // logic to auto-detect the new container we are over\n scrollContainer.scrollTo({\n top: newScrollCoordinates,\n behavior: scrollBehavior\n });\n return;\n }\n\n if (canScrollToNewCoordinates) {\n scrollDelta.y = scrollContainer.scrollTop - newScrollCoordinates;\n } else {\n scrollDelta.y = direction === KeyboardCode.Down ? scrollContainer.scrollTop - maxScroll.y : scrollContainer.scrollTop - minScroll.y;\n }\n\n if (scrollDelta.y) {\n scrollContainer.scrollBy({\n top: -scrollDelta.y,\n behavior: scrollBehavior\n });\n }\n\n break;\n }\n }\n\n this.handleMove(event, add(subtract(newCoordinates, this.referenceCoordinates), scrollDelta));\n }\n }\n }\n\n handleMove(event, coordinates) {\n const {\n onMove\n } = this.props;\n event.preventDefault();\n onMove(coordinates);\n }\n\n handleEnd(event) {\n const {\n onEnd\n } = this.props;\n event.preventDefault();\n this.detach();\n onEnd();\n }\n\n handleCancel(event) {\n const {\n onCancel\n } = this.props;\n event.preventDefault();\n this.detach();\n onCancel();\n }\n\n detach() {\n this.listeners.removeAll();\n this.windowListeners.removeAll();\n }\n\n}\nKeyboardSensor.activators = [{\n eventName: 'onKeyDown',\n handler: (event, _ref, _ref2) => {\n let {\n keyboardCodes = defaultKeyboardCodes,\n onActivation\n } = _ref;\n let {\n active\n } = _ref2;\n const {\n code\n } = event.nativeEvent;\n\n if (keyboardCodes.start.includes(code)) {\n const activator = active.activatorNode.current;\n\n if (activator && event.target !== activator) {\n return false;\n }\n\n event.preventDefault();\n onActivation == null ? void 0 : onActivation({\n event: event.nativeEvent\n });\n return true;\n }\n\n return false;\n }\n}];\n\nfunction isDistanceConstraint(constraint) {\n return Boolean(constraint && 'distance' in constraint);\n}\n\nfunction isDelayConstraint(constraint) {\n return Boolean(constraint && 'delay' in constraint);\n}\n\nclass AbstractPointerSensor {\n constructor(props, events, listenerTarget) {\n var _getEventCoordinates;\n\n if (listenerTarget === void 0) {\n listenerTarget = getEventListenerTarget(props.event.target);\n }\n\n this.props = void 0;\n this.events = void 0;\n this.autoScrollEnabled = true;\n this.document = void 0;\n this.activated = false;\n this.initialCoordinates = void 0;\n this.timeoutId = null;\n this.listeners = void 0;\n this.documentListeners = void 0;\n this.windowListeners = void 0;\n this.props = props;\n this.events = events;\n const {\n event\n } = props;\n const {\n target\n } = event;\n this.props = props;\n this.events = events;\n this.document = getOwnerDocument(target);\n this.documentListeners = new Listeners(this.document);\n this.listeners = new Listeners(listenerTarget);\n this.windowListeners = new Listeners(getWindow(target));\n this.initialCoordinates = (_getEventCoordinates = getEventCoordinates(event)) != null ? _getEventCoordinates : defaultCoordinates;\n this.handleStart = this.handleStart.bind(this);\n this.handleMove = this.handleMove.bind(this);\n this.handleEnd = this.handleEnd.bind(this);\n this.handleCancel = this.handleCancel.bind(this);\n this.handleKeydown = this.handleKeydown.bind(this);\n this.removeTextSelection = this.removeTextSelection.bind(this);\n this.attach();\n }\n\n attach() {\n const {\n events,\n props: {\n options: {\n activationConstraint,\n bypassActivationConstraint\n }\n }\n } = this;\n this.listeners.add(events.move.name, this.handleMove, {\n passive: false\n });\n this.listeners.add(events.end.name, this.handleEnd);\n this.windowListeners.add(EventName.Resize, this.handleCancel);\n this.windowListeners.add(EventName.DragStart, preventDefault);\n this.windowListeners.add(EventName.VisibilityChange, this.handleCancel);\n this.windowListeners.add(EventName.ContextMenu, preventDefault);\n this.documentListeners.add(EventName.Keydown, this.handleKeydown);\n\n if (activationConstraint) {\n if (bypassActivationConstraint != null && bypassActivationConstraint({\n event: this.props.event,\n activeNode: this.props.activeNode,\n options: this.props.options\n })) {\n return this.handleStart();\n }\n\n if (isDelayConstraint(activationConstraint)) {\n this.timeoutId = setTimeout(this.handleStart, activationConstraint.delay);\n return;\n }\n\n if (isDistanceConstraint(activationConstraint)) {\n return;\n }\n }\n\n this.handleStart();\n }\n\n detach() {\n this.listeners.removeAll();\n this.windowListeners.removeAll(); // Wait until the next event loop before removing document listeners\n // This is necessary because we listen for `click` and `selection` events on the document\n\n setTimeout(this.documentListeners.removeAll, 50);\n\n if (this.timeoutId !== null) {\n clearTimeout(this.timeoutId);\n this.timeoutId = null;\n }\n }\n\n handleStart() {\n const {\n initialCoordinates\n } = this;\n const {\n onStart\n } = this.props;\n\n if (initialCoordinates) {\n this.activated = true; // Stop propagation of click events once activation constraints are met\n\n this.documentListeners.add(EventName.Click, stopPropagation, {\n capture: true\n }); // Remove any text selection from the document\n\n this.removeTextSelection(); // Prevent further text selection while dragging\n\n this.documentListeners.add(EventName.SelectionChange, this.removeTextSelection);\n onStart(initialCoordinates);\n }\n }\n\n handleMove(event) {\n var _getEventCoordinates2;\n\n const {\n activated,\n initialCoordinates,\n props\n } = this;\n const {\n onMove,\n options: {\n activationConstraint\n }\n } = props;\n\n if (!initialCoordinates) {\n return;\n }\n\n const coordinates = (_getEventCoordinates2 = getEventCoordinates(event)) != null ? _getEventCoordinates2 : defaultCoordinates;\n const delta = subtract(initialCoordinates, coordinates); // Constraint validation\n\n if (!activated && activationConstraint) {\n if (isDistanceConstraint(activationConstraint)) {\n if (activationConstraint.tolerance != null && hasExceededDistance(delta, activationConstraint.tolerance)) {\n return this.handleCancel();\n }\n\n if (hasExceededDistance(delta, activationConstraint.distance)) {\n return this.handleStart();\n }\n }\n\n if (isDelayConstraint(activationConstraint)) {\n if (hasExceededDistance(delta, activationConstraint.tolerance)) {\n return this.handleCancel();\n }\n }\n\n return;\n }\n\n if (event.cancelable) {\n event.preventDefault();\n }\n\n onMove(coordinates);\n }\n\n handleEnd() {\n const {\n onEnd\n } = this.props;\n this.detach();\n onEnd();\n }\n\n handleCancel() {\n const {\n onCancel\n } = this.props;\n this.detach();\n onCancel();\n }\n\n handleKeydown(event) {\n if (event.code === KeyboardCode.Esc) {\n this.handleCancel();\n }\n }\n\n removeTextSelection() {\n var _this$document$getSel;\n\n (_this$document$getSel = this.document.getSelection()) == null ? void 0 : _this$document$getSel.removeAllRanges();\n }\n\n}\n\nconst events = {\n move: {\n name: 'pointermove'\n },\n end: {\n name: 'pointerup'\n }\n};\nclass PointerSensor extends AbstractPointerSensor {\n constructor(props) {\n const {\n event\n } = props; // Pointer events stop firing if the target is unmounted while dragging\n // Therefore we attach listeners to the owner document instead\n\n const listenerTarget = getOwnerDocument(event.target);\n super(props, events, listenerTarget);\n }\n\n}\nPointerSensor.activators = [{\n eventName: 'onPointerDown',\n handler: (_ref, _ref2) => {\n let {\n nativeEvent: event\n } = _ref;\n let {\n onActivation\n } = _ref2;\n\n if (!event.isPrimary || event.button !== 0) {\n return false;\n }\n\n onActivation == null ? void 0 : onActivation({\n event\n });\n return true;\n }\n}];\n\nconst events$1 = {\n move: {\n name: 'mousemove'\n },\n end: {\n name: 'mouseup'\n }\n};\nvar MouseButton;\n\n(function (MouseButton) {\n MouseButton[MouseButton[\"RightClick\"] = 2] = \"RightClick\";\n})(MouseButton || (MouseButton = {}));\n\nclass MouseSensor extends AbstractPointerSensor {\n constructor(props) {\n super(props, events$1, getOwnerDocument(props.event.target));\n }\n\n}\nMouseSensor.activators = [{\n eventName: 'onMouseDown',\n handler: (_ref, _ref2) => {\n let {\n nativeEvent: event\n } = _ref;\n let {\n onActivation\n } = _ref2;\n\n if (event.button === MouseButton.RightClick) {\n return false;\n }\n\n onActivation == null ? void 0 : onActivation({\n event\n });\n return true;\n }\n}];\n\nconst events$2 = {\n move: {\n name: 'touchmove'\n },\n end: {\n name: 'touchend'\n }\n};\nclass TouchSensor extends AbstractPointerSensor {\n constructor(props) {\n super(props, events$2);\n }\n\n static setup() {\n // Adding a non-capture and non-passive `touchmove` listener in order\n // to force `event.preventDefault()` calls to work in dynamically added\n // touchmove event handlers. This is required for iOS Safari.\n window.addEventListener(events$2.move.name, noop, {\n capture: false,\n passive: false\n });\n return function teardown() {\n window.removeEventListener(events$2.move.name, noop);\n }; // We create a new handler because the teardown function of another sensor\n // could remove our event listener if we use a referentially equal listener.\n\n function noop() {}\n }\n\n}\nTouchSensor.activators = [{\n eventName: 'onTouchStart',\n handler: (_ref, _ref2) => {\n let {\n nativeEvent: event\n } = _ref;\n let {\n onActivation\n } = _ref2;\n const {\n touches\n } = event;\n\n if (touches.length > 1) {\n return false;\n }\n\n onActivation == null ? void 0 : onActivation({\n event\n });\n return true;\n }\n}];\n\nvar AutoScrollActivator;\n\n(function (AutoScrollActivator) {\n AutoScrollActivator[AutoScrollActivator[\"Pointer\"] = 0] = \"Pointer\";\n AutoScrollActivator[AutoScrollActivator[\"DraggableRect\"] = 1] = \"DraggableRect\";\n})(AutoScrollActivator || (AutoScrollActivator = {}));\n\nvar TraversalOrder;\n\n(function (TraversalOrder) {\n TraversalOrder[TraversalOrder[\"TreeOrder\"] = 0] = \"TreeOrder\";\n TraversalOrder[TraversalOrder[\"ReversedTreeOrder\"] = 1] = \"ReversedTreeOrder\";\n})(TraversalOrder || (TraversalOrder = {}));\n\nfunction useAutoScroller(_ref) {\n let {\n acceleration,\n activator = AutoScrollActivator.Pointer,\n canScroll,\n draggingRect,\n enabled,\n interval = 5,\n order = TraversalOrder.TreeOrder,\n pointerCoordinates,\n scrollableAncestors,\n scrollableAncestorRects,\n delta,\n threshold\n } = _ref;\n const scrollIntent = useScrollIntent({\n delta,\n disabled: !enabled\n });\n const [setAutoScrollInterval, clearAutoScrollInterval] = useInterval();\n const scrollSpeed = useRef({\n x: 0,\n y: 0\n });\n const scrollDirection = useRef({\n x: 0,\n y: 0\n });\n const rect = useMemo(() => {\n switch (activator) {\n case AutoScrollActivator.Pointer:\n return pointerCoordinates ? {\n top: pointerCoordinates.y,\n bottom: pointerCoordinates.y,\n left: pointerCoordinates.x,\n right: pointerCoordinates.x\n } : null;\n\n case AutoScrollActivator.DraggableRect:\n return draggingRect;\n }\n }, [activator, draggingRect, pointerCoordinates]);\n const scrollContainerRef = useRef(null);\n const autoScroll = useCallback(() => {\n const scrollContainer = scrollContainerRef.current;\n\n if (!scrollContainer) {\n return;\n }\n\n const scrollLeft = scrollSpeed.current.x * scrollDirection.current.x;\n const scrollTop = scrollSpeed.current.y * scrollDirection.current.y;\n scrollContainer.scrollBy(scrollLeft, scrollTop);\n }, []);\n const sortedScrollableAncestors = useMemo(() => order === TraversalOrder.TreeOrder ? [...scrollableAncestors].reverse() : scrollableAncestors, [order, scrollableAncestors]);\n useEffect(() => {\n if (!enabled || !scrollableAncestors.length || !rect) {\n clearAutoScrollInterval();\n return;\n }\n\n for (const scrollContainer of sortedScrollableAncestors) {\n if ((canScroll == null ? void 0 : canScroll(scrollContainer)) === false) {\n continue;\n }\n\n const index = scrollableAncestors.indexOf(scrollContainer);\n const scrollContainerRect = scrollableAncestorRects[index];\n\n if (!scrollContainerRect) {\n continue;\n }\n\n const {\n direction,\n speed\n } = getScrollDirectionAndSpeed(scrollContainer, scrollContainerRect, rect, acceleration, threshold);\n\n for (const axis of ['x', 'y']) {\n if (!scrollIntent[axis][direction[axis]]) {\n speed[axis] = 0;\n direction[axis] = 0;\n }\n }\n\n if (speed.x > 0 || speed.y > 0) {\n clearAutoScrollInterval();\n scrollContainerRef.current = scrollContainer;\n setAutoScrollInterval(autoScroll, interval);\n scrollSpeed.current = speed;\n scrollDirection.current = direction;\n return;\n }\n }\n\n scrollSpeed.current = {\n x: 0,\n y: 0\n };\n scrollDirection.current = {\n x: 0,\n y: 0\n };\n clearAutoScrollInterval();\n }, // eslint-disable-next-line react-hooks/exhaustive-deps\n [acceleration, autoScroll, canScroll, clearAutoScrollInterval, enabled, interval, // eslint-disable-next-line react-hooks/exhaustive-deps\n JSON.stringify(rect), // eslint-disable-next-line react-hooks/exhaustive-deps\n JSON.stringify(scrollIntent), setAutoScrollInterval, scrollableAncestors, sortedScrollableAncestors, scrollableAncestorRects, // eslint-disable-next-line react-hooks/exhaustive-deps\n JSON.stringify(threshold)]);\n}\nconst defaultScrollIntent = {\n x: {\n [Direction.Backward]: false,\n [Direction.Forward]: false\n },\n y: {\n [Direction.Backward]: false,\n [Direction.Forward]: false\n }\n};\n\nfunction useScrollIntent(_ref2) {\n let {\n delta,\n disabled\n } = _ref2;\n const previousDelta = usePrevious(delta);\n return useLazyMemo(previousIntent => {\n if (disabled || !previousDelta || !previousIntent) {\n // Reset scroll intent tracking when auto-scrolling is disabled\n return defaultScrollIntent;\n }\n\n const direction = {\n x: Math.sign(delta.x - previousDelta.x),\n y: Math.sign(delta.y - previousDelta.y)\n }; // Keep track of the user intent to scroll in each direction for both axis\n\n return {\n x: {\n [Direction.Backward]: previousIntent.x[Direction.Backward] || direction.x === -1,\n [Direction.Forward]: previousIntent.x[Direction.Forward] || direction.x === 1\n },\n y: {\n [Direction.Backward]: previousIntent.y[Direction.Backward] || direction.y === -1,\n [Direction.Forward]: previousIntent.y[Direction.Forward] || direction.y === 1\n }\n };\n }, [disabled, delta, previousDelta]);\n}\n\nfunction useCachedNode(draggableNodes, id) {\n const draggableNode = id !== null ? draggableNodes.get(id) : undefined;\n const node = draggableNode ? draggableNode.node.current : null;\n return useLazyMemo(cachedNode => {\n var _ref;\n\n if (id === null) {\n return null;\n } // In some cases, the draggable node can unmount while dragging\n // This is the case for virtualized lists. In those situations,\n // we fall back to the last known value for that node.\n\n\n return (_ref = node != null ? node : cachedNode) != null ? _ref : null;\n }, [node, id]);\n}\n\nfunction useCombineActivators(sensors, getSyntheticHandler) {\n return useMemo(() => sensors.reduce((accumulator, sensor) => {\n const {\n sensor: Sensor\n } = sensor;\n const sensorActivators = Sensor.activators.map(activator => ({\n eventName: activator.eventName,\n handler: getSyntheticHandler(activator.handler, sensor)\n }));\n return [...accumulator, ...sensorActivators];\n }, []), [sensors, getSyntheticHandler]);\n}\n\nvar MeasuringStrategy;\n\n(function (MeasuringStrategy) {\n MeasuringStrategy[MeasuringStrategy[\"Always\"] = 0] = \"Always\";\n MeasuringStrategy[MeasuringStrategy[\"BeforeDragging\"] = 1] = \"BeforeDragging\";\n MeasuringStrategy[MeasuringStrategy[\"WhileDragging\"] = 2] = \"WhileDragging\";\n})(MeasuringStrategy || (MeasuringStrategy = {}));\n\nvar MeasuringFrequency;\n\n(function (MeasuringFrequency) {\n MeasuringFrequency[\"Optimized\"] = \"optimized\";\n})(MeasuringFrequency || (MeasuringFrequency = {}));\n\nconst defaultValue = /*#__PURE__*/new Map();\nfunction useDroppableMeasuring(containers, _ref) {\n let {\n dragging,\n dependencies,\n config\n } = _ref;\n const [queue, setQueue] = useState(null);\n const {\n frequency,\n measure,\n strategy\n } = config;\n const containersRef = useRef(containers);\n const disabled = isDisabled();\n const disabledRef = useLatestValue(disabled);\n const measureDroppableContainers = useCallback(function (ids) {\n if (ids === void 0) {\n ids = [];\n }\n\n if (disabledRef.current) {\n return;\n }\n\n setQueue(value => {\n if (value === null) {\n return ids;\n }\n\n return value.concat(ids.filter(id => !value.includes(id)));\n });\n }, [disabledRef]);\n const timeoutId = useRef(null);\n const droppableRects = useLazyMemo(previousValue => {\n if (disabled && !dragging) {\n return defaultValue;\n }\n\n if (!previousValue || previousValue === defaultValue || containersRef.current !== containers || queue != null) {\n const map = new Map();\n\n for (let container of containers) {\n if (!container) {\n continue;\n }\n\n if (queue && queue.length > 0 && !queue.includes(container.id) && container.rect.current) {\n // This container does not need to be re-measured\n map.set(container.id, container.rect.current);\n continue;\n }\n\n const node = container.node.current;\n const rect = node ? new Rect(measure(node), node) : null;\n container.rect.current = rect;\n\n if (rect) {\n map.set(container.id, rect);\n }\n }\n\n return map;\n }\n\n return previousValue;\n }, [containers, queue, dragging, disabled, measure]);\n useEffect(() => {\n containersRef.current = containers;\n }, [containers]);\n useEffect(() => {\n if (disabled) {\n return;\n }\n\n measureDroppableContainers();\n }, // eslint-disable-next-line react-hooks/exhaustive-deps\n [dragging, disabled]);\n useEffect(() => {\n if (queue && queue.length > 0) {\n setQueue(null);\n }\n }, //eslint-disable-next-line react-hooks/exhaustive-deps\n [JSON.stringify(queue)]);\n useEffect(() => {\n if (disabled || typeof frequency !== 'number' || timeoutId.current !== null) {\n return;\n }\n\n timeoutId.current = setTimeout(() => {\n measureDroppableContainers();\n timeoutId.current = null;\n }, frequency);\n }, // eslint-disable-next-line react-hooks/exhaustive-deps\n [frequency, disabled, measureDroppableContainers, ...dependencies]);\n return {\n droppableRects,\n measureDroppableContainers,\n measuringScheduled: queue != null\n };\n\n function isDisabled() {\n switch (strategy) {\n case MeasuringStrategy.Always:\n return false;\n\n case MeasuringStrategy.BeforeDragging:\n return dragging;\n\n default:\n return !dragging;\n }\n }\n}\n\nfunction useInitialValue(value, computeFn) {\n return useLazyMemo(previousValue => {\n if (!value) {\n return null;\n }\n\n if (previousValue) {\n return previousValue;\n }\n\n return typeof computeFn === 'function' ? computeFn(value) : value;\n }, [computeFn, value]);\n}\n\nfunction useInitialRect(node, measure) {\n return useInitialValue(node, measure);\n}\n\n/**\r\n * Returns a new MutationObserver instance.\r\n * If `MutationObserver` is undefined in the execution environment, returns `undefined`.\r\n */\n\nfunction useMutationObserver(_ref) {\n let {\n callback,\n disabled\n } = _ref;\n const handleMutations = useEvent(callback);\n const mutationObserver = useMemo(() => {\n if (disabled || typeof window === 'undefined' || typeof window.MutationObserver === 'undefined') {\n return undefined;\n }\n\n const {\n MutationObserver\n } = window;\n return new MutationObserver(handleMutations);\n }, [handleMutations, disabled]);\n useEffect(() => {\n return () => mutationObserver == null ? void 0 : mutationObserver.disconnect();\n }, [mutationObserver]);\n return mutationObserver;\n}\n\n/**\r\n * Returns a new ResizeObserver instance bound to the `onResize` callback.\r\n * If `ResizeObserver` is undefined in the execution environment, returns `undefined`.\r\n */\n\nfunction useResizeObserver(_ref) {\n let {\n callback,\n disabled\n } = _ref;\n const handleResize = useEvent(callback);\n const resizeObserver = useMemo(() => {\n if (disabled || typeof window === 'undefined' || typeof window.ResizeObserver === 'undefined') {\n return undefined;\n }\n\n const {\n ResizeObserver\n } = window;\n return new ResizeObserver(handleResize);\n }, // eslint-disable-next-line react-hooks/exhaustive-deps\n [disabled]);\n useEffect(() => {\n return () => resizeObserver == null ? void 0 : resizeObserver.disconnect();\n }, [resizeObserver]);\n return resizeObserver;\n}\n\nfunction defaultMeasure(element) {\n return new Rect(getClientRect(element), element);\n}\n\nfunction useRect(element, measure, fallbackRect) {\n if (measure === void 0) {\n measure = defaultMeasure;\n }\n\n const [rect, measureRect] = useReducer(reducer, null);\n const mutationObserver = useMutationObserver({\n callback(records) {\n if (!element) {\n return;\n }\n\n for (const record of records) {\n const {\n type,\n target\n } = record;\n\n if (type === 'childList' && target instanceof HTMLElement && target.contains(element)) {\n measureRect();\n break;\n }\n }\n }\n\n });\n const resizeObserver = useResizeObserver({\n callback: measureRect\n });\n useIsomorphicLayoutEffect(() => {\n measureRect();\n\n if (element) {\n resizeObserver == null ? void 0 : resizeObserver.observe(element);\n mutationObserver == null ? void 0 : mutationObserver.observe(document.body, {\n childList: true,\n subtree: true\n });\n } else {\n resizeObserver == null ? void 0 : resizeObserver.disconnect();\n mutationObserver == null ? void 0 : mutationObserver.disconnect();\n }\n }, [element]);\n return rect;\n\n function reducer(currentRect) {\n if (!element) {\n return null;\n }\n\n if (element.isConnected === false) {\n var _ref;\n\n // Fall back to last rect we measured if the element is\n // no longer connected to the DOM.\n return (_ref = currentRect != null ? currentRect : fallbackRect) != null ? _ref : null;\n }\n\n const newRect = measure(element);\n\n if (JSON.stringify(currentRect) === JSON.stringify(newRect)) {\n return currentRect;\n }\n\n return newRect;\n }\n}\n\nfunction useRectDelta(rect) {\n const initialRect = useInitialValue(rect);\n return getRectDelta(rect, initialRect);\n}\n\nconst defaultValue$1 = [];\nfunction useScrollableAncestors(node) {\n const previousNode = useRef(node);\n const ancestors = useLazyMemo(previousValue => {\n if (!node) {\n return defaultValue$1;\n }\n\n if (previousValue && previousValue !== defaultValue$1 && node && previousNode.current && node.parentNode === previousNode.current.parentNode) {\n return previousValue;\n }\n\n return getScrollableAncestors(node);\n }, [node]);\n useEffect(() => {\n previousNode.current = node;\n }, [node]);\n return ancestors;\n}\n\nfunction useScrollOffsets(elements) {\n const [scrollCoordinates, setScrollCoordinates] = useState(null);\n const prevElements = useRef(elements); // To-do: Throttle the handleScroll callback\n\n const handleScroll = useCallback(event => {\n const scrollingElement = getScrollableElement(event.target);\n\n if (!scrollingElement) {\n return;\n }\n\n setScrollCoordinates(scrollCoordinates => {\n if (!scrollCoordinates) {\n return null;\n }\n\n scrollCoordinates.set(scrollingElement, getScrollCoordinates(scrollingElement));\n return new Map(scrollCoordinates);\n });\n }, []);\n useEffect(() => {\n const previousElements = prevElements.current;\n\n if (elements !== previousElements) {\n cleanup(previousElements);\n const entries = elements.map(element => {\n const scrollableElement = getScrollableElement(element);\n\n if (scrollableElement) {\n scrollableElement.addEventListener('scroll', handleScroll, {\n passive: true\n });\n return [scrollableElement, getScrollCoordinates(scrollableElement)];\n }\n\n return null;\n }).filter(entry => entry != null);\n setScrollCoordinates(entries.length ? new Map(entries) : null);\n prevElements.current = elements;\n }\n\n return () => {\n cleanup(elements);\n cleanup(previousElements);\n };\n\n function cleanup(elements) {\n elements.forEach(element => {\n const scrollableElement = getScrollableElement(element);\n scrollableElement == null ? void 0 : scrollableElement.removeEventListener('scroll', handleScroll);\n });\n }\n }, [handleScroll, elements]);\n return useMemo(() => {\n if (elements.length) {\n return scrollCoordinates ? Array.from(scrollCoordinates.values()).reduce((acc, coordinates) => add(acc, coordinates), defaultCoordinates) : getScrollOffsets(elements);\n }\n\n return defaultCoordinates;\n }, [elements, scrollCoordinates]);\n}\n\nfunction useScrollOffsetsDelta(scrollOffsets, dependencies) {\n if (dependencies === void 0) {\n dependencies = [];\n }\n\n const initialScrollOffsets = useRef(null);\n useEffect(() => {\n initialScrollOffsets.current = null;\n }, // eslint-disable-next-line react-hooks/exhaustive-deps\n dependencies);\n useEffect(() => {\n const hasScrollOffsets = scrollOffsets !== defaultCoordinates;\n\n if (hasScrollOffsets && !initialScrollOffsets.current) {\n initialScrollOffsets.current = scrollOffsets;\n }\n\n if (!hasScrollOffsets && initialScrollOffsets.current) {\n initialScrollOffsets.current = null;\n }\n }, [scrollOffsets]);\n return initialScrollOffsets.current ? subtract(scrollOffsets, initialScrollOffsets.current) : defaultCoordinates;\n}\n\nfunction useSensorSetup(sensors) {\n useEffect(() => {\n if (!canUseDOM) {\n return;\n }\n\n const teardownFns = sensors.map(_ref => {\n let {\n sensor\n } = _ref;\n return sensor.setup == null ? void 0 : sensor.setup();\n });\n return () => {\n for (const teardown of teardownFns) {\n teardown == null ? void 0 : teardown();\n }\n };\n }, // TO-DO: Sensors length could theoretically change which would not be a valid dependency\n // eslint-disable-next-line react-hooks/exhaustive-deps\n sensors.map(_ref2 => {\n let {\n sensor\n } = _ref2;\n return sensor;\n }));\n}\n\nfunction useSyntheticListeners(listeners, id) {\n return useMemo(() => {\n return listeners.reduce((acc, _ref) => {\n let {\n eventName,\n handler\n } = _ref;\n\n acc[eventName] = event => {\n handler(event, id);\n };\n\n return acc;\n }, {});\n }, [listeners, id]);\n}\n\nfunction useWindowRect(element) {\n return useMemo(() => element ? getWindowClientRect(element) : null, [element]);\n}\n\nconst defaultValue$2 = [];\nfunction useRects(elements, measure) {\n if (measure === void 0) {\n measure = getClientRect;\n }\n\n const [firstElement] = elements;\n const windowRect = useWindowRect(firstElement ? getWindow(firstElement) : null);\n const [rects, measureRects] = useReducer(reducer, defaultValue$2);\n const resizeObserver = useResizeObserver({\n callback: measureRects\n });\n\n if (elements.length > 0 && rects === defaultValue$2) {\n measureRects();\n }\n\n useIsomorphicLayoutEffect(() => {\n if (elements.length) {\n elements.forEach(element => resizeObserver == null ? void 0 : resizeObserver.observe(element));\n } else {\n resizeObserver == null ? void 0 : resizeObserver.disconnect();\n measureRects();\n }\n }, [elements]);\n return rects;\n\n function reducer() {\n if (!elements.length) {\n return defaultValue$2;\n }\n\n return elements.map(element => isDocumentScrollingElement(element) ? windowRect : new Rect(measure(element), element));\n }\n}\n\nfunction getMeasurableNode(node) {\n if (!node) {\n return null;\n }\n\n if (node.children.length > 1) {\n return node;\n }\n\n const firstChild = node.children[0];\n return isHTMLElement(firstChild) ? firstChild : node;\n}\n\nfunction useDragOverlayMeasuring(_ref) {\n let {\n measure\n } = _ref;\n const [rect, setRect] = useState(null);\n const handleResize = useCallback(entries => {\n for (const {\n target\n } of entries) {\n if (isHTMLElement(target)) {\n setRect(rect => {\n const newRect = measure(target);\n return rect ? { ...rect,\n width: newRect.width,\n height: newRect.height\n } : newRect;\n });\n break;\n }\n }\n }, [measure]);\n const resizeObserver = useResizeObserver({\n callback: handleResize\n });\n const handleNodeChange = useCallback(element => {\n const node = getMeasurableNode(element);\n resizeObserver == null ? void 0 : resizeObserver.disconnect();\n\n if (node) {\n resizeObserver == null ? void 0 : resizeObserver.observe(node);\n }\n\n setRect(node ? measure(node) : null);\n }, [measure, resizeObserver]);\n const [nodeRef, setRef] = useNodeRef(handleNodeChange);\n return useMemo(() => ({\n nodeRef,\n rect,\n setRef\n }), [rect, nodeRef, setRef]);\n}\n\nconst defaultSensors = [{\n sensor: PointerSensor,\n options: {}\n}, {\n sensor: KeyboardSensor,\n options: {}\n}];\nconst defaultData = {\n current: {}\n};\nconst defaultMeasuringConfiguration = {\n draggable: {\n measure: getTransformAgnosticClientRect\n },\n droppable: {\n measure: getTransformAgnosticClientRect,\n strategy: MeasuringStrategy.WhileDragging,\n frequency: MeasuringFrequency.Optimized\n },\n dragOverlay: {\n measure: getClientRect\n }\n};\n\nclass DroppableContainersMap extends Map {\n get(id) {\n var _super$get;\n\n return id != null ? (_super$get = super.get(id)) != null ? _super$get : undefined : undefined;\n }\n\n toArray() {\n return Array.from(this.values());\n }\n\n getEnabled() {\n return this.toArray().filter(_ref => {\n let {\n disabled\n } = _ref;\n return !disabled;\n });\n }\n\n getNodeFor(id) {\n var _this$get$node$curren, _this$get;\n\n return (_this$get$node$curren = (_this$get = this.get(id)) == null ? void 0 : _this$get.node.current) != null ? _this$get$node$curren : undefined;\n }\n\n}\n\nconst defaultPublicContext = {\n activatorEvent: null,\n active: null,\n activeNode: null,\n activeNodeRect: null,\n collisions: null,\n containerNodeRect: null,\n draggableNodes: /*#__PURE__*/new Map(),\n droppableRects: /*#__PURE__*/new Map(),\n droppableContainers: /*#__PURE__*/new DroppableContainersMap(),\n over: null,\n dragOverlay: {\n nodeRef: {\n current: null\n },\n rect: null,\n setRef: noop\n },\n scrollableAncestors: [],\n scrollableAncestorRects: [],\n measuringConfiguration: defaultMeasuringConfiguration,\n measureDroppableContainers: noop,\n windowRect: null,\n measuringScheduled: false\n};\nconst defaultInternalContext = {\n activatorEvent: null,\n activators: [],\n active: null,\n activeNodeRect: null,\n ariaDescribedById: {\n draggable: ''\n },\n dispatch: noop,\n draggableNodes: /*#__PURE__*/new Map(),\n over: null,\n measureDroppableContainers: noop\n};\nconst InternalContext = /*#__PURE__*/createContext(defaultInternalContext);\nconst PublicContext = /*#__PURE__*/createContext(defaultPublicContext);\n\nfunction getInitialState() {\n return {\n draggable: {\n active: null,\n initialCoordinates: {\n x: 0,\n y: 0\n },\n nodes: new Map(),\n translate: {\n x: 0,\n y: 0\n }\n },\n droppable: {\n containers: new DroppableContainersMap()\n }\n };\n}\nfunction reducer(state, action) {\n switch (action.type) {\n case Action.DragStart:\n return { ...state,\n draggable: { ...state.draggable,\n initialCoordinates: action.initialCoordinates,\n active: action.active\n }\n };\n\n case Action.DragMove:\n if (!state.draggable.active) {\n return state;\n }\n\n return { ...state,\n draggable: { ...state.draggable,\n translate: {\n x: action.coordinates.x - state.draggable.initialCoordinates.x,\n y: action.coordinates.y - state.draggable.initialCoordinates.y\n }\n }\n };\n\n case Action.DragEnd:\n case Action.DragCancel:\n return { ...state,\n draggable: { ...state.draggable,\n active: null,\n initialCoordinates: {\n x: 0,\n y: 0\n },\n translate: {\n x: 0,\n y: 0\n }\n }\n };\n\n case Action.RegisterDroppable:\n {\n const {\n element\n } = action;\n const {\n id\n } = element;\n const containers = new DroppableContainersMap(state.droppable.containers);\n containers.set(id, element);\n return { ...state,\n droppable: { ...state.droppable,\n containers\n }\n };\n }\n\n case Action.SetDroppableDisabled:\n {\n const {\n id,\n key,\n disabled\n } = action;\n const element = state.droppable.containers.get(id);\n\n if (!element || key !== element.key) {\n return state;\n }\n\n const containers = new DroppableContainersMap(state.droppable.containers);\n containers.set(id, { ...element,\n disabled\n });\n return { ...state,\n droppable: { ...state.droppable,\n containers\n }\n };\n }\n\n case Action.UnregisterDroppable:\n {\n const {\n id,\n key\n } = action;\n const element = state.droppable.containers.get(id);\n\n if (!element || key !== element.key) {\n return state;\n }\n\n const containers = new DroppableContainersMap(state.droppable.containers);\n containers.delete(id);\n return { ...state,\n droppable: { ...state.droppable,\n containers\n }\n };\n }\n\n default:\n {\n return state;\n }\n }\n}\n\nfunction RestoreFocus(_ref) {\n let {\n disabled\n } = _ref;\n const {\n active,\n activatorEvent,\n draggableNodes\n } = useContext(InternalContext);\n const previousActivatorEvent = usePrevious(activatorEvent);\n const previousActiveId = usePrevious(active == null ? void 0 : active.id); // Restore keyboard focus on the activator node\n\n useEffect(() => {\n if (disabled) {\n return;\n }\n\n if (!activatorEvent && previousActivatorEvent && previousActiveId != null) {\n if (!isKeyboardEvent(previousActivatorEvent)) {\n return;\n }\n\n if (document.activeElement === previousActivatorEvent.target) {\n // No need to restore focus\n return;\n }\n\n const draggableNode = draggableNodes.get(previousActiveId);\n\n if (!draggableNode) {\n return;\n }\n\n const {\n activatorNode,\n node\n } = draggableNode;\n\n if (!activatorNode.current && !node.current) {\n return;\n }\n\n requestAnimationFrame(() => {\n for (const element of [activatorNode.current, node.current]) {\n if (!element) {\n continue;\n }\n\n const focusableNode = findFirstFocusableNode(element);\n\n if (focusableNode) {\n focusableNode.focus();\n break;\n }\n }\n });\n }\n }, [activatorEvent, disabled, draggableNodes, previousActiveId, previousActivatorEvent]);\n return null;\n}\n\nfunction applyModifiers(modifiers, _ref) {\n let {\n transform,\n ...args\n } = _ref;\n return modifiers != null && modifiers.length ? modifiers.reduce((accumulator, modifier) => {\n return modifier({\n transform: accumulator,\n ...args\n });\n }, transform) : transform;\n}\n\nfunction useMeasuringConfiguration(config) {\n return useMemo(() => ({\n draggable: { ...defaultMeasuringConfiguration.draggable,\n ...(config == null ? void 0 : config.draggable)\n },\n droppable: { ...defaultMeasuringConfiguration.droppable,\n ...(config == null ? void 0 : config.droppable)\n },\n dragOverlay: { ...defaultMeasuringConfiguration.dragOverlay,\n ...(config == null ? void 0 : config.dragOverlay)\n }\n }), // eslint-disable-next-line react-hooks/exhaustive-deps\n [config == null ? void 0 : config.draggable, config == null ? void 0 : config.droppable, config == null ? void 0 : config.dragOverlay]);\n}\n\nfunction useLayoutShiftScrollCompensation(_ref) {\n let {\n activeNode,\n measure,\n initialRect,\n config = true\n } = _ref;\n const initialized = useRef(false);\n const {\n x,\n y\n } = typeof config === 'boolean' ? {\n x: config,\n y: config\n } : config;\n useIsomorphicLayoutEffect(() => {\n const disabled = !x && !y;\n\n if (disabled || !activeNode) {\n initialized.current = false;\n return;\n }\n\n if (initialized.current || !initialRect) {\n // Return early if layout shift scroll compensation was already attempted\n // or if there is no initialRect to compare to.\n return;\n } // Get the most up to date node ref for the active draggable\n\n\n const node = activeNode == null ? void 0 : activeNode.node.current;\n\n if (!node || node.isConnected === false) {\n // Return early if there is no attached node ref or if the node is\n // disconnected from the document.\n return;\n }\n\n const rect = measure(node);\n const rectDelta = getRectDelta(rect, initialRect);\n\n if (!x) {\n rectDelta.x = 0;\n }\n\n if (!y) {\n rectDelta.y = 0;\n } // Only perform layout shift scroll compensation once\n\n\n initialized.current = true;\n\n if (Math.abs(rectDelta.x) > 0 || Math.abs(rectDelta.y) > 0) {\n const firstScrollableAncestor = getFirstScrollableAncestor(node);\n\n if (firstScrollableAncestor) {\n firstScrollableAncestor.scrollBy({\n top: rectDelta.y,\n left: rectDelta.x\n });\n }\n }\n }, [activeNode, x, y, initialRect, measure]);\n}\n\nconst ActiveDraggableContext = /*#__PURE__*/createContext({ ...defaultCoordinates,\n scaleX: 1,\n scaleY: 1\n});\nvar Status;\n\n(function (Status) {\n Status[Status[\"Uninitialized\"] = 0] = \"Uninitialized\";\n Status[Status[\"Initializing\"] = 1] = \"Initializing\";\n Status[Status[\"Initialized\"] = 2] = \"Initialized\";\n})(Status || (Status = {}));\n\nconst DndContext = /*#__PURE__*/memo(function DndContext(_ref) {\n var _sensorContext$curren, _dragOverlay$nodeRef$, _dragOverlay$rect, _over$rect;\n\n let {\n id,\n accessibility,\n autoScroll = true,\n children,\n sensors = defaultSensors,\n collisionDetection = rectIntersection,\n measuring,\n modifiers,\n ...props\n } = _ref;\n const store = useReducer(reducer, undefined, getInitialState);\n const [state, dispatch] = store;\n const [dispatchMonitorEvent, registerMonitorListener] = useDndMonitorProvider();\n const [status, setStatus] = useState(Status.Uninitialized);\n const isInitialized = status === Status.Initialized;\n const {\n draggable: {\n active: activeId,\n nodes: draggableNodes,\n translate\n },\n droppable: {\n containers: droppableContainers\n }\n } = state;\n const node = activeId ? draggableNodes.get(activeId) : null;\n const activeRects = useRef({\n initial: null,\n translated: null\n });\n const active = useMemo(() => {\n var _node$data;\n\n return activeId != null ? {\n id: activeId,\n // It's possible for the active node to unmount while dragging\n data: (_node$data = node == null ? void 0 : node.data) != null ? _node$data : defaultData,\n rect: activeRects\n } : null;\n }, [activeId, node]);\n const activeRef = useRef(null);\n const [activeSensor, setActiveSensor] = useState(null);\n const [activatorEvent, setActivatorEvent] = useState(null);\n const latestProps = useLatestValue(props, Object.values(props));\n const draggableDescribedById = useUniqueId(\"DndDescribedBy\", id);\n const enabledDroppableContainers = useMemo(() => droppableContainers.getEnabled(), [droppableContainers]);\n const measuringConfiguration = useMeasuringConfiguration(measuring);\n const {\n droppableRects,\n measureDroppableContainers,\n measuringScheduled\n } = useDroppableMeasuring(enabledDroppableContainers, {\n dragging: isInitialized,\n dependencies: [translate.x, translate.y],\n config: measuringConfiguration.droppable\n });\n const activeNode = useCachedNode(draggableNodes, activeId);\n const activationCoordinates = useMemo(() => activatorEvent ? getEventCoordinates(activatorEvent) : null, [activatorEvent]);\n const autoScrollOptions = getAutoScrollerOptions();\n const initialActiveNodeRect = useInitialRect(activeNode, measuringConfiguration.draggable.measure);\n useLayoutShiftScrollCompensation({\n activeNode: activeId ? draggableNodes.get(activeId) : null,\n config: autoScrollOptions.layoutShiftCompensation,\n initialRect: initialActiveNodeRect,\n measure: measuringConfiguration.draggable.measure\n });\n const activeNodeRect = useRect(activeNode, measuringConfiguration.draggable.measure, initialActiveNodeRect);\n const containerNodeRect = useRect(activeNode ? activeNode.parentElement : null);\n const sensorContext = useRef({\n activatorEvent: null,\n active: null,\n activeNode,\n collisionRect: null,\n collisions: null,\n droppableRects,\n draggableNodes,\n draggingNode: null,\n draggingNodeRect: null,\n droppableContainers,\n over: null,\n scrollableAncestors: [],\n scrollAdjustedTranslate: null\n });\n const overNode = droppableContainers.getNodeFor((_sensorContext$curren = sensorContext.current.over) == null ? void 0 : _sensorContext$curren.id);\n const dragOverlay = useDragOverlayMeasuring({\n measure: measuringConfiguration.dragOverlay.measure\n }); // Use the rect of the drag overlay if it is mounted\n\n const draggingNode = (_dragOverlay$nodeRef$ = dragOverlay.nodeRef.current) != null ? _dragOverlay$nodeRef$ : activeNode;\n const draggingNodeRect = isInitialized ? (_dragOverlay$rect = dragOverlay.rect) != null ? _dragOverlay$rect : activeNodeRect : null;\n const usesDragOverlay = Boolean(dragOverlay.nodeRef.current && dragOverlay.rect); // The delta between the previous and new position of the draggable node\n // is only relevant when there is no drag overlay\n\n const nodeRectDelta = useRectDelta(usesDragOverlay ? null : activeNodeRect); // Get the window rect of the dragging node\n\n const windowRect = useWindowRect(draggingNode ? getWindow(draggingNode) : null); // Get scrollable ancestors of the dragging node\n\n const scrollableAncestors = useScrollableAncestors(isInitialized ? overNode != null ? overNode : activeNode : null);\n const scrollableAncestorRects = useRects(scrollableAncestors); // Apply modifiers\n\n const modifiedTranslate = applyModifiers(modifiers, {\n transform: {\n x: translate.x - nodeRectDelta.x,\n y: translate.y - nodeRectDelta.y,\n scaleX: 1,\n scaleY: 1\n },\n activatorEvent,\n active,\n activeNodeRect,\n containerNodeRect,\n draggingNodeRect,\n over: sensorContext.current.over,\n overlayNodeRect: dragOverlay.rect,\n scrollableAncestors,\n scrollableAncestorRects,\n windowRect\n });\n const pointerCoordinates = activationCoordinates ? add(activationCoordinates, translate) : null;\n const scrollOffsets = useScrollOffsets(scrollableAncestors); // Represents the scroll delta since dragging was initiated\n\n const scrollAdjustment = useScrollOffsetsDelta(scrollOffsets); // Represents the scroll delta since the last time the active node rect was measured\n\n const activeNodeScrollDelta = useScrollOffsetsDelta(scrollOffsets, [activeNodeRect]);\n const scrollAdjustedTranslate = add(modifiedTranslate, scrollAdjustment);\n const collisionRect = draggingNodeRect ? getAdjustedRect(draggingNodeRect, modifiedTranslate) : null;\n const collisions = active && collisionRect ? collisionDetection({\n active,\n collisionRect,\n droppableRects,\n droppableContainers: enabledDroppableContainers,\n pointerCoordinates\n }) : null;\n const overId = getFirstCollision(collisions, 'id');\n const [over, setOver] = useState(null); // When there is no drag overlay used, we need to account for the\n // window scroll delta\n\n const appliedTranslate = usesDragOverlay ? modifiedTranslate : add(modifiedTranslate, activeNodeScrollDelta);\n const transform = adjustScale(appliedTranslate, (_over$rect = over == null ? void 0 : over.rect) != null ? _over$rect : null, activeNodeRect);\n const instantiateSensor = useCallback((event, _ref2) => {\n let {\n sensor: Sensor,\n options\n } = _ref2;\n\n if (activeRef.current == null) {\n return;\n }\n\n const activeNode = draggableNodes.get(activeRef.current);\n\n if (!activeNode) {\n return;\n }\n\n const activatorEvent = event.nativeEvent;\n const sensorInstance = new Sensor({\n active: activeRef.current,\n activeNode,\n event: activatorEvent,\n options,\n // Sensors need to be instantiated with refs for arguments that change over time\n // otherwise they are frozen in time with the stale arguments\n context: sensorContext,\n\n onStart(initialCoordinates) {\n const id = activeRef.current;\n\n if (id == null) {\n return;\n }\n\n const draggableNode = draggableNodes.get(id);\n\n if (!draggableNode) {\n return;\n }\n\n const {\n onDragStart\n } = latestProps.current;\n const event = {\n active: {\n id,\n data: draggableNode.data,\n rect: activeRects\n }\n };\n unstable_batchedUpdates(() => {\n onDragStart == null ? void 0 : onDragStart(event);\n setStatus(Status.Initializing);\n dispatch({\n type: Action.DragStart,\n initialCoordinates,\n active: id\n });\n dispatchMonitorEvent({\n type: 'onDragStart',\n event\n });\n });\n },\n\n onMove(coordinates) {\n dispatch({\n type: Action.DragMove,\n coordinates\n });\n },\n\n onEnd: createHandler(Action.DragEnd),\n onCancel: createHandler(Action.DragCancel)\n });\n unstable_batchedUpdates(() => {\n setActiveSensor(sensorInstance);\n setActivatorEvent(event.nativeEvent);\n });\n\n function createHandler(type) {\n return async function handler() {\n const {\n active,\n collisions,\n over,\n scrollAdjustedTranslate\n } = sensorContext.current;\n let event = null;\n\n if (active && scrollAdjustedTranslate) {\n const {\n cancelDrop\n } = latestProps.current;\n event = {\n activatorEvent,\n active: active,\n collisions,\n delta: scrollAdjustedTranslate,\n over\n };\n\n if (type === Action.DragEnd && typeof cancelDrop === 'function') {\n const shouldCancel = await Promise.resolve(cancelDrop(event));\n\n if (shouldCancel) {\n type = Action.DragCancel;\n }\n }\n }\n\n activeRef.current = null;\n unstable_batchedUpdates(() => {\n dispatch({\n type\n });\n setStatus(Status.Uninitialized);\n setOver(null);\n setActiveSensor(null);\n setActivatorEvent(null);\n const eventName = type === Action.DragEnd ? 'onDragEnd' : 'onDragCancel';\n\n if (event) {\n const handler = latestProps.current[eventName];\n handler == null ? void 0 : handler(event);\n dispatchMonitorEvent({\n type: eventName,\n event\n });\n }\n });\n };\n }\n }, // eslint-disable-next-line react-hooks/exhaustive-deps\n [draggableNodes]);\n const bindActivatorToSensorInstantiator = useCallback((handler, sensor) => {\n return (event, active) => {\n const nativeEvent = event.nativeEvent;\n const activeDraggableNode = draggableNodes.get(active);\n\n if ( // Another sensor is already instantiating\n activeRef.current !== null || // No active draggable\n !activeDraggableNode || // Event has already been captured\n nativeEvent.dndKit || nativeEvent.defaultPrevented) {\n return;\n }\n\n const activationContext = {\n active: activeDraggableNode\n };\n const shouldActivate = handler(event, sensor.options, activationContext);\n\n if (shouldActivate === true) {\n nativeEvent.dndKit = {\n capturedBy: sensor.sensor\n };\n activeRef.current = active;\n instantiateSensor(event, sensor);\n }\n };\n }, [draggableNodes, instantiateSensor]);\n const activators = useCombineActivators(sensors, bindActivatorToSensorInstantiator);\n useSensorSetup(sensors);\n useIsomorphicLayoutEffect(() => {\n if (activeNodeRect && status === Status.Initializing) {\n setStatus(Status.Initialized);\n }\n }, [activeNodeRect, status]);\n useEffect(() => {\n const {\n onDragMove\n } = latestProps.current;\n const {\n active,\n activatorEvent,\n collisions,\n over\n } = sensorContext.current;\n\n if (!active || !activatorEvent) {\n return;\n }\n\n const event = {\n active,\n activatorEvent,\n collisions,\n delta: {\n x: scrollAdjustedTranslate.x,\n y: scrollAdjustedTranslate.y\n },\n over\n };\n unstable_batchedUpdates(() => {\n onDragMove == null ? void 0 : onDragMove(event);\n dispatchMonitorEvent({\n type: 'onDragMove',\n event\n });\n });\n }, // eslint-disable-next-line react-hooks/exhaustive-deps\n [scrollAdjustedTranslate.x, scrollAdjustedTranslate.y]);\n useEffect(() => {\n const {\n active,\n activatorEvent,\n collisions,\n droppableContainers,\n scrollAdjustedTranslate\n } = sensorContext.current;\n\n if (!active || activeRef.current == null || !activatorEvent || !scrollAdjustedTranslate) {\n return;\n }\n\n const {\n onDragOver\n } = latestProps.current;\n const overContainer = droppableContainers.get(overId);\n const over = overContainer && overContainer.rect.current ? {\n id: overContainer.id,\n rect: overContainer.rect.current,\n data: overContainer.data,\n disabled: overContainer.disabled\n } : null;\n const event = {\n active,\n activatorEvent,\n collisions,\n delta: {\n x: scrollAdjustedTranslate.x,\n y: scrollAdjustedTranslate.y\n },\n over\n };\n unstable_batchedUpdates(() => {\n setOver(over);\n onDragOver == null ? void 0 : onDragOver(event);\n dispatchMonitorEvent({\n type: 'onDragOver',\n event\n });\n });\n }, // eslint-disable-next-line react-hooks/exhaustive-deps\n [overId]);\n useIsomorphicLayoutEffect(() => {\n sensorContext.current = {\n activatorEvent,\n active,\n activeNode,\n collisionRect,\n collisions,\n droppableRects,\n draggableNodes,\n draggingNode,\n draggingNodeRect,\n droppableContainers,\n over,\n scrollableAncestors,\n scrollAdjustedTranslate\n };\n activeRects.current = {\n initial: draggingNodeRect,\n translated: collisionRect\n };\n }, [active, activeNode, collisions, collisionRect, draggableNodes, draggingNode, draggingNodeRect, droppableRects, droppableContainers, over, scrollableAncestors, scrollAdjustedTranslate]);\n useAutoScroller({ ...autoScrollOptions,\n delta: translate,\n draggingRect: collisionRect,\n pointerCoordinates,\n scrollableAncestors,\n scrollableAncestorRects\n });\n const publicContext = useMemo(() => {\n const context = {\n active,\n activeNode,\n activeNodeRect,\n activatorEvent,\n collisions,\n containerNodeRect,\n dragOverlay,\n draggableNodes,\n droppableContainers,\n droppableRects,\n over,\n measureDroppableContainers,\n scrollableAncestors,\n scrollableAncestorRects,\n measuringConfiguration,\n measuringScheduled,\n windowRect\n };\n return context;\n }, [active, activeNode, activeNodeRect, activatorEvent, collisions, containerNodeRect, dragOverlay, draggableNodes, droppableContainers, droppableRects, over, measureDroppableContainers, scrollableAncestors, scrollableAncestorRects, measuringConfiguration, measuringScheduled, windowRect]);\n const internalContext = useMemo(() => {\n const context = {\n activatorEvent,\n activators,\n active,\n activeNodeRect,\n ariaDescribedById: {\n draggable: draggableDescribedById\n },\n dispatch,\n draggableNodes,\n over,\n measureDroppableContainers\n };\n return context;\n }, [activatorEvent, activators, active, activeNodeRect, dispatch, draggableDescribedById, draggableNodes, over, measureDroppableContainers]);\n return React.createElement(DndMonitorContext.Provider, {\n value: registerMonitorListener\n }, React.createElement(InternalContext.Provider, {\n value: internalContext\n }, React.createElement(PublicContext.Provider, {\n value: publicContext\n }, React.createElement(ActiveDraggableContext.Provider, {\n value: transform\n }, children)), React.createElement(RestoreFocus, {\n disabled: (accessibility == null ? void 0 : accessibility.restoreFocus) === false\n })), React.createElement(Accessibility, { ...accessibility,\n hiddenTextDescribedById: draggableDescribedById\n }));\n\n function getAutoScrollerOptions() {\n const activeSensorDisablesAutoscroll = (activeSensor == null ? void 0 : activeSensor.autoScrollEnabled) === false;\n const autoScrollGloballyDisabled = typeof autoScroll === 'object' ? autoScroll.enabled === false : autoScroll === false;\n const enabled = isInitialized && !activeSensorDisablesAutoscroll && !autoScrollGloballyDisabled;\n\n if (typeof autoScroll === 'object') {\n return { ...autoScroll,\n enabled\n };\n }\n\n return {\n enabled\n };\n }\n});\n\nconst NullContext = /*#__PURE__*/createContext(null);\nconst defaultRole = 'button';\nconst ID_PREFIX = 'Droppable';\nfunction useDraggable(_ref) {\n let {\n id,\n data,\n disabled = false,\n attributes\n } = _ref;\n const key = useUniqueId(ID_PREFIX);\n const {\n activators,\n activatorEvent,\n active,\n activeNodeRect,\n ariaDescribedById,\n draggableNodes,\n over\n } = useContext(InternalContext);\n const {\n role = defaultRole,\n roleDescription = 'draggable',\n tabIndex = 0\n } = attributes != null ? attributes : {};\n const isDragging = (active == null ? void 0 : active.id) === id;\n const transform = useContext(isDragging ? ActiveDraggableContext : NullContext);\n const [node, setNodeRef] = useNodeRef();\n const [activatorNode, setActivatorNodeRef] = useNodeRef();\n const listeners = useSyntheticListeners(activators, id);\n const dataRef = useLatestValue(data);\n useIsomorphicLayoutEffect(() => {\n draggableNodes.set(id, {\n id,\n key,\n node,\n activatorNode,\n data: dataRef\n });\n return () => {\n const node = draggableNodes.get(id);\n\n if (node && node.key === key) {\n draggableNodes.delete(id);\n }\n };\n }, // eslint-disable-next-line react-hooks/exhaustive-deps\n [draggableNodes, id]);\n const memoizedAttributes = useMemo(() => ({\n role,\n tabIndex,\n 'aria-disabled': disabled,\n 'aria-pressed': isDragging && role === defaultRole ? true : undefined,\n 'aria-roledescription': roleDescription,\n 'aria-describedby': ariaDescribedById.draggable\n }), [disabled, role, tabIndex, isDragging, roleDescription, ariaDescribedById.draggable]);\n return {\n active,\n activatorEvent,\n activeNodeRect,\n attributes: memoizedAttributes,\n isDragging,\n listeners: disabled ? undefined : listeners,\n node,\n over,\n setNodeRef,\n setActivatorNodeRef,\n transform\n };\n}\n\nfunction useDndContext() {\n return useContext(PublicContext);\n}\n\nconst ID_PREFIX$1 = 'Droppable';\nconst defaultResizeObserverConfig = {\n timeout: 25\n};\nfunction useDroppable(_ref) {\n let {\n data,\n disabled = false,\n id,\n resizeObserverConfig\n } = _ref;\n const key = useUniqueId(ID_PREFIX$1);\n const {\n active,\n dispatch,\n over,\n measureDroppableContainers\n } = useContext(InternalContext);\n const previous = useRef({\n disabled\n });\n const resizeObserverConnected = useRef(false);\n const rect = useRef(null);\n const callbackId = useRef(null);\n const {\n disabled: resizeObserverDisabled,\n updateMeasurementsFor,\n timeout: resizeObserverTimeout\n } = { ...defaultResizeObserverConfig,\n ...resizeObserverConfig\n };\n const ids = useLatestValue(updateMeasurementsFor != null ? updateMeasurementsFor : id);\n const handleResize = useCallback(() => {\n if (!resizeObserverConnected.current) {\n // ResizeObserver invokes the `handleResize` callback as soon as `observe` is called,\n // assuming the element is rendered and displayed.\n resizeObserverConnected.current = true;\n return;\n }\n\n if (callbackId.current != null) {\n clearTimeout(callbackId.current);\n }\n\n callbackId.current = setTimeout(() => {\n measureDroppableContainers(Array.isArray(ids.current) ? ids.current : [ids.current]);\n callbackId.current = null;\n }, resizeObserverTimeout);\n }, //eslint-disable-next-line react-hooks/exhaustive-deps\n [resizeObserverTimeout]);\n const resizeObserver = useResizeObserver({\n callback: handleResize,\n disabled: resizeObserverDisabled || !active\n });\n const handleNodeChange = useCallback((newElement, previousElement) => {\n if (!resizeObserver) {\n return;\n }\n\n if (previousElement) {\n resizeObserver.unobserve(previousElement);\n resizeObserverConnected.current = false;\n }\n\n if (newElement) {\n resizeObserver.observe(newElement);\n }\n }, [resizeObserver]);\n const [nodeRef, setNodeRef] = useNodeRef(handleNodeChange);\n const dataRef = useLatestValue(data);\n useEffect(() => {\n if (!resizeObserver || !nodeRef.current) {\n return;\n }\n\n resizeObserver.disconnect();\n resizeObserverConnected.current = false;\n resizeObserver.observe(nodeRef.current);\n }, [nodeRef, resizeObserver]);\n useIsomorphicLayoutEffect(() => {\n dispatch({\n type: Action.RegisterDroppable,\n element: {\n id,\n key,\n disabled,\n node: nodeRef,\n rect,\n data: dataRef\n }\n });\n return () => dispatch({\n type: Action.UnregisterDroppable,\n key,\n id\n });\n }, // eslint-disable-next-line react-hooks/exhaustive-deps\n [id]);\n useEffect(() => {\n if (disabled !== previous.current.disabled) {\n dispatch({\n type: Action.SetDroppableDisabled,\n id,\n key,\n disabled\n });\n previous.current.disabled = disabled;\n }\n }, [id, key, disabled, dispatch]);\n return {\n active,\n rect,\n isOver: (over == null ? void 0 : over.id) === id,\n node: nodeRef,\n over,\n setNodeRef\n };\n}\n\nfunction AnimationManager(_ref) {\n let {\n animation,\n children\n } = _ref;\n const [clonedChildren, setClonedChildren] = useState(null);\n const [element, setElement] = useState(null);\n const previousChildren = usePrevious(children);\n\n if (!children && !clonedChildren && previousChildren) {\n setClonedChildren(previousChildren);\n }\n\n useIsomorphicLayoutEffect(() => {\n if (!element) {\n return;\n }\n\n const key = clonedChildren == null ? void 0 : clonedChildren.key;\n const id = clonedChildren == null ? void 0 : clonedChildren.props.id;\n\n if (key == null || id == null) {\n setClonedChildren(null);\n return;\n }\n\n Promise.resolve(animation(id, element)).then(() => {\n setClonedChildren(null);\n });\n }, [animation, clonedChildren, element]);\n return React.createElement(React.Fragment, null, children, clonedChildren ? cloneElement(clonedChildren, {\n ref: setElement\n }) : null);\n}\n\nconst defaultTransform = {\n x: 0,\n y: 0,\n scaleX: 1,\n scaleY: 1\n};\nfunction NullifiedContextProvider(_ref) {\n let {\n children\n } = _ref;\n return React.createElement(InternalContext.Provider, {\n value: defaultInternalContext\n }, React.createElement(ActiveDraggableContext.Provider, {\n value: defaultTransform\n }, children));\n}\n\nconst baseStyles = {\n position: 'fixed',\n touchAction: 'none'\n};\n\nconst defaultTransition = activatorEvent => {\n const isKeyboardActivator = isKeyboardEvent(activatorEvent);\n return isKeyboardActivator ? 'transform 250ms ease' : undefined;\n};\n\nconst PositionedOverlay = /*#__PURE__*/forwardRef((_ref, ref) => {\n let {\n as,\n activatorEvent,\n adjustScale,\n children,\n className,\n rect,\n style,\n transform,\n transition = defaultTransition\n } = _ref;\n\n if (!rect) {\n return null;\n }\n\n const scaleAdjustedTransform = adjustScale ? transform : { ...transform,\n scaleX: 1,\n scaleY: 1\n };\n const styles = { ...baseStyles,\n width: rect.width,\n height: rect.height,\n top: rect.top,\n left: rect.left,\n transform: CSS.Transform.toString(scaleAdjustedTransform),\n transformOrigin: adjustScale && activatorEvent ? getRelativeTransformOrigin(activatorEvent, rect) : undefined,\n transition: typeof transition === 'function' ? transition(activatorEvent) : transition,\n ...style\n };\n return React.createElement(as, {\n className,\n style: styles,\n ref\n }, children);\n});\n\nconst defaultDropAnimationSideEffects = options => _ref => {\n let {\n active,\n dragOverlay\n } = _ref;\n const originalStyles = {};\n const {\n styles,\n className\n } = options;\n\n if (styles != null && styles.active) {\n for (const [key, value] of Object.entries(styles.active)) {\n if (value === undefined) {\n continue;\n }\n\n originalStyles[key] = active.node.style.getPropertyValue(key);\n active.node.style.setProperty(key, value);\n }\n }\n\n if (styles != null && styles.dragOverlay) {\n for (const [key, value] of Object.entries(styles.dragOverlay)) {\n if (value === undefined) {\n continue;\n }\n\n dragOverlay.node.style.setProperty(key, value);\n }\n }\n\n if (className != null && className.active) {\n active.node.classList.add(className.active);\n }\n\n if (className != null && className.dragOverlay) {\n dragOverlay.node.classList.add(className.dragOverlay);\n }\n\n return function cleanup() {\n for (const [key, value] of Object.entries(originalStyles)) {\n active.node.style.setProperty(key, value);\n }\n\n if (className != null && className.active) {\n active.node.classList.remove(className.active);\n }\n };\n};\n\nconst defaultKeyframeResolver = _ref2 => {\n let {\n transform: {\n initial,\n final\n }\n } = _ref2;\n return [{\n transform: CSS.Transform.toString(initial)\n }, {\n transform: CSS.Transform.toString(final)\n }];\n};\n\nconst defaultDropAnimationConfiguration = {\n duration: 250,\n easing: 'ease',\n keyframes: defaultKeyframeResolver,\n sideEffects: /*#__PURE__*/defaultDropAnimationSideEffects({\n styles: {\n active: {\n opacity: '0'\n }\n }\n })\n};\nfunction useDropAnimation(_ref3) {\n let {\n config,\n draggableNodes,\n droppableContainers,\n measuringConfiguration\n } = _ref3;\n return useEvent((id, node) => {\n if (config === null) {\n return;\n }\n\n const activeDraggable = draggableNodes.get(id);\n\n if (!activeDraggable) {\n return;\n }\n\n const activeNode = activeDraggable.node.current;\n\n if (!activeNode) {\n return;\n }\n\n const measurableNode = getMeasurableNode(node);\n\n if (!measurableNode) {\n return;\n }\n\n const {\n transform\n } = getWindow(node).getComputedStyle(node);\n const parsedTransform = parseTransform(transform);\n\n if (!parsedTransform) {\n return;\n }\n\n const animation = typeof config === 'function' ? config : createDefaultDropAnimation(config);\n scrollIntoViewIfNeeded(activeNode, measuringConfiguration.draggable.measure);\n return animation({\n active: {\n id,\n data: activeDraggable.data,\n node: activeNode,\n rect: measuringConfiguration.draggable.measure(activeNode)\n },\n draggableNodes,\n dragOverlay: {\n node,\n rect: measuringConfiguration.dragOverlay.measure(measurableNode)\n },\n droppableContainers,\n measuringConfiguration,\n transform: parsedTransform\n });\n });\n}\n\nfunction createDefaultDropAnimation(options) {\n const {\n duration,\n easing,\n sideEffects,\n keyframes\n } = { ...defaultDropAnimationConfiguration,\n ...options\n };\n return _ref4 => {\n let {\n active,\n dragOverlay,\n transform,\n ...rest\n } = _ref4;\n\n if (!duration) {\n // Do not animate if animation duration is zero.\n return;\n }\n\n const delta = {\n x: dragOverlay.rect.left - active.rect.left,\n y: dragOverlay.rect.top - active.rect.top\n };\n const scale = {\n scaleX: transform.scaleX !== 1 ? active.rect.width * transform.scaleX / dragOverlay.rect.width : 1,\n scaleY: transform.scaleY !== 1 ? active.rect.height * transform.scaleY / dragOverlay.rect.height : 1\n };\n const finalTransform = {\n x: transform.x - delta.x,\n y: transform.y - delta.y,\n ...scale\n };\n const animationKeyframes = keyframes({ ...rest,\n active,\n dragOverlay,\n transform: {\n initial: transform,\n final: finalTransform\n }\n });\n const [firstKeyframe] = animationKeyframes;\n const lastKeyframe = animationKeyframes[animationKeyframes.length - 1];\n\n if (JSON.stringify(firstKeyframe) === JSON.stringify(lastKeyframe)) {\n // The start and end keyframes are the same, infer that there is no animation needed.\n return;\n }\n\n const cleanup = sideEffects == null ? void 0 : sideEffects({\n active,\n dragOverlay,\n ...rest\n });\n const animation = dragOverlay.node.animate(animationKeyframes, {\n duration,\n easing,\n fill: 'forwards'\n });\n return new Promise(resolve => {\n animation.onfinish = () => {\n cleanup == null ? void 0 : cleanup();\n resolve();\n };\n });\n };\n}\n\nlet key = 0;\nfunction useKey(id) {\n return useMemo(() => {\n if (id == null) {\n return;\n }\n\n key++;\n return key;\n }, [id]);\n}\n\nconst DragOverlay = /*#__PURE__*/React.memo(_ref => {\n let {\n adjustScale = false,\n children,\n dropAnimation: dropAnimationConfig,\n style,\n transition,\n modifiers,\n wrapperElement = 'div',\n className,\n zIndex = 999\n } = _ref;\n const {\n activatorEvent,\n active,\n activeNodeRect,\n containerNodeRect,\n draggableNodes,\n droppableContainers,\n dragOverlay,\n over,\n measuringConfiguration,\n scrollableAncestors,\n scrollableAncestorRects,\n windowRect\n } = useDndContext();\n const transform = useContext(ActiveDraggableContext);\n const key = useKey(active == null ? void 0 : active.id);\n const modifiedTransform = applyModifiers(modifiers, {\n activatorEvent,\n active,\n activeNodeRect,\n containerNodeRect,\n draggingNodeRect: dragOverlay.rect,\n over,\n overlayNodeRect: dragOverlay.rect,\n scrollableAncestors,\n scrollableAncestorRects,\n transform,\n windowRect\n });\n const initialRect = useInitialValue(activeNodeRect);\n const dropAnimation = useDropAnimation({\n config: dropAnimationConfig,\n draggableNodes,\n droppableContainers,\n measuringConfiguration\n }); // We need to wait for the active node to be measured before connecting the drag overlay ref\n // otherwise collisions can be computed against a mispositioned drag overlay\n\n const ref = initialRect ? dragOverlay.setRef : undefined;\n return React.createElement(NullifiedContextProvider, null, React.createElement(AnimationManager, {\n animation: dropAnimation\n }, active && key ? React.createElement(PositionedOverlay, {\n key: key,\n id: active.id,\n ref: ref,\n as: wrapperElement,\n activatorEvent: activatorEvent,\n adjustScale: adjustScale,\n className: className,\n transition: transition,\n rect: initialRect,\n style: {\n zIndex,\n ...style\n },\n transform: modifiedTransform\n }, children) : null));\n});\n\nexport { AutoScrollActivator, DndContext, DragOverlay, KeyboardCode, KeyboardSensor, MeasuringFrequency, MeasuringStrategy, MouseSensor, PointerSensor, TouchSensor, TraversalOrder, applyModifiers, closestCenter, closestCorners, defaultAnnouncements, defaultCoordinates, defaultDropAnimationConfiguration as defaultDropAnimation, defaultDropAnimationSideEffects, defaultScreenReaderInstructions, getClientRect, getFirstCollision, getScrollableAncestors, pointerWithin, rectIntersection, useDndContext, useDndMonitor, useDraggable, useDroppable, useSensor, useSensors };\n//# sourceMappingURL=core.esm.js.map\n"],"names":["DndMonitorContext","createContext","useDndMonitor","listener","registerListener","useContext","useEffect","useDndMonitorProvider","listeners","useState","useCallback","_ref","type","event","_listener$type","defaultScreenReaderInstructions","defaultAnnouncements","active","_ref2","over","_ref3","_ref4","Accessibility","announcements","container","hiddenTextDescribedById","screenReaderInstructions","announce","announcement","useAnnouncement","liveRegionId","useUniqueId","mounted","setMounted","useMemo","_ref5","_ref6","markup","React","HiddenText","LiveRegion","createPortal","Action","noop","useSensor","sensor","options","useSensors","_len","sensors","_key","defaultCoordinates","distanceBetween","p1","p2","getRelativeTransformOrigin","rect","eventCoordinates","getEventCoordinates","transformOrigin","sortCollisionsAsc","a","b","sortCollisionsDesc","cornersOfRectangle","left","top","height","width","getFirstCollision","collisions","property","firstCollision","closestCorners","collisionRect","droppableRects","droppableContainers","corners","droppableContainer","id","rectCorners","distances","accumulator","corner","index","effectiveDistance","getIntersectionRatio","entry","target","right","bottom","targetArea","entryArea","intersectionArea","intersectionRatio","rectIntersection","adjustScale","transform","rect1","rect2","getRectDelta","createRectAdjustmentFn","modifier","adjustments","acc","adjustment","getAdjustedRect","parseTransform","transformArray","inverseTransform","parsedTransform","scaleX","scaleY","translateX","translateY","x","y","w","h","defaultOptions","getClientRect","element","getWindow","getTransformAgnosticClientRect","getWindowClientRect","isFixed","node","computedStyle","isScrollable","overflowRegex","value","getScrollableAncestors","limit","scrollParents","findScrollableAncestors","isDocument","isHTMLElement","isSVGElement","getFirstScrollableAncestor","firstScrollableAncestor","getScrollableElement","canUseDOM","isWindow","isNode","getOwnerDocument","getScrollXCoordinate","getScrollYCoordinate","getScrollCoordinates","Direction","isDocumentScrollingElement","getScrollPosition","scrollingContainer","minScroll","dimensions","maxScroll","isTop","isLeft","isBottom","isRight","defaultThreshold","getScrollDirectionAndSpeed","scrollContainer","scrollContainerRect","acceleration","thresholdPercentage","direction","speed","threshold","getScrollElementRect","innerWidth","innerHeight","getScrollOffsets","scrollableAncestors","add","getScrollXOffset","getScrollYOffset","scrollIntoViewIfNeeded","measure","properties","Rect","scrollOffsets","axis","keys","getScrollOffset","key","currentOffsets","scrollOffsetsDeltla","Listeners","_this$target","eventName","handler","_this$target2","getEventListenerTarget","EventTarget","hasExceededDistance","delta","measurement","dx","dy","EventName","preventDefault","stopPropagation","KeyboardCode","defaultKeyboardCodes","defaultKeyboardCoordinateGetter","currentCoordinates","KeyboardSensor","props","activeNode","onStart","isKeyboardEvent","context","keyboardCodes","coordinateGetter","scrollBehavior","code","newCoordinates","coordinatesDelta","subtract","scrollDelta","scrollElementRect","clampedCoordinates","canScrollX","canScrollY","newScrollCoordinates","canScrollToNewCoordinates","coordinates","onMove","onEnd","onCancel","onActivation","activator","isDistanceConstraint","constraint","isDelayConstraint","AbstractPointerSensor","events","listenerTarget","_getEventCoordinates","activationConstraint","bypassActivationConstraint","initialCoordinates","_getEventCoordinates2","activated","_this$document$getSel","PointerSensor","events$1","MouseButton","MouseSensor","events$2","TouchSensor","touches","AutoScrollActivator","TraversalOrder","useAutoScroller","canScroll","draggingRect","enabled","interval","order","pointerCoordinates","scrollableAncestorRects","scrollIntent","useScrollIntent","setAutoScrollInterval","clearAutoScrollInterval","useInterval","scrollSpeed","useRef","scrollDirection","scrollContainerRef","autoScroll","scrollLeft","scrollTop","sortedScrollableAncestors","defaultScrollIntent","disabled","previousDelta","usePrevious","useLazyMemo","previousIntent","useCachedNode","draggableNodes","draggableNode","cachedNode","useCombineActivators","getSyntheticHandler","Sensor","sensorActivators","MeasuringStrategy","MeasuringFrequency","defaultValue","useDroppableMeasuring","containers","dragging","dependencies","config","queue","setQueue","frequency","strategy","containersRef","isDisabled","disabledRef","useLatestValue","measureDroppableContainers","ids","timeoutId","previousValue","map","useInitialValue","computeFn","useInitialRect","useMutationObserver","callback","handleMutations","useEvent","mutationObserver","MutationObserver","useResizeObserver","handleResize","resizeObserver","ResizeObserver","defaultMeasure","useRect","fallbackRect","measureRect","useReducer","reducer","records","record","useIsomorphicLayoutEffect","currentRect","newRect","useRectDelta","initialRect","defaultValue$1","useScrollableAncestors","previousNode","ancestors","useScrollOffsets","elements","scrollCoordinates","setScrollCoordinates","prevElements","handleScroll","scrollingElement","previousElements","cleanup","entries","scrollableElement","useScrollOffsetsDelta","initialScrollOffsets","hasScrollOffsets","useSensorSetup","teardownFns","teardown","useSyntheticListeners","useWindowRect","defaultValue$2","useRects","firstElement","windowRect","rects","measureRects","getMeasurableNode","firstChild","useDragOverlayMeasuring","setRect","handleNodeChange","nodeRef","setRef","useNodeRef","defaultSensors","defaultData","defaultMeasuringConfiguration","DroppableContainersMap","_super$get","_this$get$node$curren","_this$get","defaultPublicContext","defaultInternalContext","InternalContext","PublicContext","getInitialState","state","action","RestoreFocus","activatorEvent","previousActivatorEvent","previousActiveId","activatorNode","focusableNode","findFirstFocusableNode","applyModifiers","modifiers","args","useMeasuringConfiguration","useLayoutShiftScrollCompensation","initialized","rectDelta","ActiveDraggableContext","Status","DndContext","memo","_sensorContext$curren","_dragOverlay$nodeRef$","_dragOverlay$rect","_over$rect","accessibility","children","collisionDetection","measuring","store","dispatch","dispatchMonitorEvent","registerMonitorListener","status","setStatus","isInitialized","activeId","translate","activeRects","_node$data","activeRef","activeSensor","setActiveSensor","setActivatorEvent","latestProps","draggableDescribedById","enabledDroppableContainers","measuringConfiguration","measuringScheduled","activationCoordinates","autoScrollOptions","getAutoScrollerOptions","initialActiveNodeRect","activeNodeRect","containerNodeRect","sensorContext","overNode","dragOverlay","draggingNode","draggingNodeRect","usesDragOverlay","nodeRectDelta","modifiedTranslate","scrollAdjustment","activeNodeScrollDelta","scrollAdjustedTranslate","overId","setOver","appliedTranslate","instantiateSensor","sensorInstance","onDragStart","unstable_batchedUpdates","createHandler","cancelDrop","bindActivatorToSensorInstantiator","nativeEvent","activeDraggableNode","activationContext","activators","onDragMove","onDragOver","overContainer","publicContext","internalContext","activeSensorDisablesAutoscroll","autoScrollGloballyDisabled","NullContext","defaultRole","ID_PREFIX","useDraggable","data","attributes","ariaDescribedById","role","roleDescription","tabIndex","isDragging","setNodeRef","setActivatorNodeRef","dataRef","memoizedAttributes","useDndContext","ID_PREFIX$1","defaultResizeObserverConfig","useDroppable","resizeObserverConfig","previous","resizeObserverConnected","callbackId","resizeObserverDisabled","updateMeasurementsFor","resizeObserverTimeout","newElement","previousElement","AnimationManager","animation","clonedChildren","setClonedChildren","setElement","previousChildren","cloneElement","defaultTransform","NullifiedContextProvider","baseStyles","defaultTransition","PositionedOverlay","forwardRef","ref","as","className","style","transition","scaleAdjustedTransform","styles","CSS","defaultDropAnimationSideEffects","originalStyles","defaultKeyframeResolver","initial","final","defaultDropAnimationConfiguration","useDropAnimation","activeDraggable","measurableNode","createDefaultDropAnimation","duration","easing","sideEffects","keyframes","rest","scale","finalTransform","animationKeyframes","firstKeyframe","lastKeyframe","resolve","useKey","DragOverlay","dropAnimationConfig","wrapperElement","zIndex","modifiedTransform","dropAnimation"],"mappings":"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","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"lyra464.cjs","sources":["../src/components/sortable/sortable-flex-wrapped-list-keyboard-coordinates.ts"],"sourcesContent":["import {\n ClientRect,\n DroppableContainer,\n KeyboardCode,\n KeyboardCoordinateGetter,\n} from \"@dnd-kit/core\";\nimport { subtract } from \"@dnd-kit/utilities\";\n\n/**\n * A keyboard coordinate getter for a sortable flex-wrapped list.\n * This function is used to determine the coordinates of the target container when using the keyboard to move items.\n */\nexport const flexWrappedListKeyboardCoordinates: KeyboardCoordinateGetter = (\n event,\n { context: { active, collisionRect, droppableContainers, droppableRects } },\n) => {\n if (!active || !collisionRect) return;\n\n const directions: string[] = [\n KeyboardCode.Down,\n KeyboardCode.Right,\n KeyboardCode.Up,\n KeyboardCode.Left,\n ];\n\n if (directions.includes(event.code)) {\n event.preventDefault();\n\n const currentPosition = { x: collisionRect.left, y: collisionRect.top };\n\n let bestMatch: DroppableContainer | undefined;\n let shortestDistance = Number.MAX_SAFE_INTEGER;\n\n droppableContainers.getEnabled().forEach((container) => {\n if (container.id === active.id || container.disabled) return;\n\n const rect = droppableRects.get(container.id);\n if (!rect) return;\n\n let distance: number;\n\n switch (event.code) {\n case KeyboardCode.Right:\n if (rect.left > currentPosition.x && rect.top === currentPosition.y) {\n distance = Math.sqrt(\n Math.pow(rect.left - currentPosition.x, 2) +\n Math.pow(rect.top - currentPosition.y, 2),\n );\n if (distance < shortestDistance) {\n shortestDistance = distance;\n bestMatch = container;\n }\n }\n break;\n case KeyboardCode.Left:\n if (rect.right < currentPosition.x && rect.top === currentPosition.y) {\n distance = Math.sqrt(\n Math.pow(currentPosition.x - rect.right, 2) +\n Math.pow(currentPosition.y - rect.top, 2),\n );\n if (distance < shortestDistance) {\n shortestDistance = distance;\n bestMatch = container;\n }\n }\n break;\n case KeyboardCode.Down:\n if (rect.top > currentPosition.y) {\n distance = Math.sqrt(\n Math.pow(rect.left - currentPosition.x, 2) +\n Math.pow(rect.top - currentPosition.y, 2),\n );\n if (distance < shortestDistance) {\n shortestDistance = distance;\n bestMatch = container;\n }\n }\n break;\n case KeyboardCode.Up:\n if (rect.bottom < currentPosition.y) {\n distance = Math.sqrt(\n Math.pow(currentPosition.x - rect.left, 2) +\n Math.pow(currentPosition.y - rect.bottom, 2),\n );\n if (distance < shortestDistance) {\n shortestDistance = distance;\n bestMatch = container;\n }\n }\n break;\n }\n });\n\n if (bestMatch) {\n const bestRect = droppableRects.get(bestMatch.id);\n if (bestRect) {\n return getTargetCoordinates(bestRect);\n }\n }\n }\n};\n\nfunction getTargetCoordinates(targetRect: ClientRect) {\n // This function can be enhanced to account for different types of adjustments\n // For simplicity, it currently just returns the top-left of the targetRect.\n // Adjust based on your specific UI/UX requirements.\n return subtract({ x: targetRect.left, y: targetRect.top }, { x: 0, y: 0 });\n}\n"],"names":["flexWrappedListKeyboardCoordinates","event","active","collisionRect","droppableContainers","droppableRects","KeyboardCode","currentPosition","bestMatch","shortestDistance","container","rect","distance","bestRect","getTargetCoordinates","targetRect","subtract"],"mappings":"4IAYaA,EAA+D,CAC1EC,EACA,CAAE,QAAS,CAAE,OAAAC,EAAQ,cAAAC,EAAe,oBAAAC,EAAqB,eAAAC,CAAe,KACrE,CACC,GAAA,CAACH,GAAU,CAACC,EAAe,OAS/B,GAP6B,CAC3BG,EAAAA,aAAa,KACbA,EAAAA,aAAa,MACbA,EAAAA,aAAa,GACbA,EAAAA,aAAa,IAAA,EAGA,SAASL,EAAM,IAAI,EAAG,CACnCA,EAAM,eAAe,EAErB,MAAMM,EAAkB,CAAE,EAAGJ,EAAc,KAAM,EAAGA,EAAc,KAE9D,IAAAK,EACAC,EAAmB,OAAO,iBA8D9B,GA5DAL,EAAoB,WAAW,EAAE,QAASM,GAAc,CACtD,GAAIA,EAAU,KAAOR,EAAO,IAAMQ,EAAU,SAAU,OAEtD,MAAMC,EAAON,EAAe,IAAIK,EAAU,EAAE,EAC5C,GAAI,CAACC,EAAM,OAEP,IAAAC,EAEJ,OAAQX,EAAM,KAAM,CAClB,KAAKK,EAAa,aAAA,MACZK,EAAK,KAAOJ,EAAgB,GAAKI,EAAK,MAAQJ,EAAgB,IAChEK,EAAW,KAAK,KACd,KAAK,IAAID,EAAK,KAAOJ,EAAgB,EAAG,CAAC,EACvC,KAAK,IAAII,EAAK,IAAMJ,EAAgB,EAAG,CAAC,CAAA,EAExCK,EAAWH,IACMA,EAAAG,EACPJ,EAAAE,IAGhB,MACF,KAAKJ,EAAa,aAAA,KACZK,EAAK,MAAQJ,EAAgB,GAAKI,EAAK,MAAQJ,EAAgB,IACjEK,EAAW,KAAK,KACd,KAAK,IAAIL,EAAgB,EAAII,EAAK,MAAO,CAAC,EACxC,KAAK,IAAIJ,EAAgB,EAAII,EAAK,IAAK,CAAC,CAAA,EAExCC,EAAWH,IACMA,EAAAG,EACPJ,EAAAE,IAGhB,MACF,KAAKJ,EAAa,aAAA,KACZK,EAAK,IAAMJ,EAAgB,IAC7BK,EAAW,KAAK,KACd,KAAK,IAAID,EAAK,KAAOJ,EAAgB,EAAG,CAAC,EACvC,KAAK,IAAII,EAAK,IAAMJ,EAAgB,EAAG,CAAC,CAAA,EAExCK,EAAWH,IACMA,EAAAG,EACPJ,EAAAE,IAGhB,MACF,KAAKJ,EAAa,aAAA,GACZK,EAAK,OAASJ,EAAgB,IAChCK,EAAW,KAAK,KACd,KAAK,IAAIL,EAAgB,EAAII,EAAK,KAAM,CAAC,EACvC,KAAK,IAAIJ,EAAgB,EAAII,EAAK,OAAQ,CAAC,CAAA,EAE3CC,EAAWH,IACMA,EAAAG,EACPJ,EAAAE,IAGhB,KACJ,CAAA,CACD,EAEGF,EAAW,CACb,MAAMK,EAAWR,EAAe,IAAIG,EAAU,EAAE,EAChD,GAAIK,EACF,OAAOC,EAAqBD,CAAQ,CAExC,CACF,CACF,EAEA,SAASC,EAAqBC,EAAwB,CAIpD,OAAOC,EAAS,SAAA,CAAE,EAAGD,EAAW,KAAM,EAAGA,EAAW,GAAI,EAAG,CAAE,EAAG,EAAG,EAAG,CAAG,CAAA,CAC3E"}