@new-black/lyra 1.0.21 → 1.0.23

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 (337) hide show
  1. package/dist/components/inputs/search-list-field/search-list-field.d.ts +2 -2
  2. package/dist/components/inputs/search-list-field/search-list-field.d.ts.map +1 -1
  3. package/dist/components/table/table-pagination.d.ts.map +1 -1
  4. package/dist/components/table/table.d.ts.map +1 -1
  5. package/dist/components/table/table.types.d.ts +2 -1
  6. package/dist/components/table/table.types.d.ts.map +1 -1
  7. package/dist/lyra23.cjs +1 -1
  8. package/dist/lyra23.js +1 -1
  9. package/dist/lyra25.cjs +1 -1
  10. package/dist/lyra25.js +1 -1
  11. package/dist/lyra27.cjs +1 -1
  12. package/dist/lyra27.js +2 -2
  13. package/dist/lyra34.cjs +1 -1
  14. package/dist/lyra34.js +3 -3
  15. package/dist/lyra36.cjs +1 -1
  16. package/dist/lyra36.js +6 -6
  17. package/dist/lyra37.cjs +1 -1
  18. package/dist/lyra37.cjs.map +1 -1
  19. package/dist/lyra37.js +305 -301
  20. package/dist/lyra37.js.map +1 -1
  21. package/dist/lyra43.cjs +1 -1
  22. package/dist/lyra43.js +3 -3
  23. package/dist/lyra451.cjs +1 -1
  24. package/dist/lyra451.js +1 -1
  25. package/dist/lyra453.cjs +1 -1
  26. package/dist/lyra453.cjs.map +1 -1
  27. package/dist/lyra453.js +14 -14
  28. package/dist/lyra453.js.map +1 -1
  29. package/dist/lyra454.cjs +1 -1
  30. package/dist/lyra454.cjs.map +1 -1
  31. package/dist/lyra454.js +13 -11
  32. package/dist/lyra454.js.map +1 -1
  33. package/dist/lyra455.cjs +1 -1
  34. package/dist/lyra455.cjs.map +1 -1
  35. package/dist/lyra455.js +12 -90
  36. package/dist/lyra455.js.map +1 -1
  37. package/dist/lyra456.cjs +1 -1
  38. package/dist/lyra456.cjs.map +1 -1
  39. package/dist/lyra456.js +90 -44
  40. package/dist/lyra456.js.map +1 -1
  41. package/dist/lyra457.cjs +1 -1
  42. package/dist/lyra457.cjs.map +1 -1
  43. package/dist/lyra457.js +44 -31
  44. package/dist/lyra457.js.map +1 -1
  45. package/dist/lyra458.cjs +1 -1
  46. package/dist/lyra458.cjs.map +1 -1
  47. package/dist/lyra458.js +30 -51
  48. package/dist/lyra458.js.map +1 -1
  49. package/dist/lyra459.cjs +1 -1
  50. package/dist/lyra459.cjs.map +1 -1
  51. package/dist/lyra459.js +49 -50
  52. package/dist/lyra459.js.map +1 -1
  53. package/dist/lyra460.cjs +1 -1
  54. package/dist/lyra460.cjs.map +1 -1
  55. package/dist/lyra460.js +53 -7
  56. package/dist/lyra460.js.map +1 -1
  57. package/dist/lyra461.cjs +1 -1
  58. package/dist/lyra461.cjs.map +1 -1
  59. package/dist/lyra461.js +6 -61
  60. package/dist/lyra461.js.map +1 -1
  61. package/dist/lyra462.cjs +1 -1
  62. package/dist/lyra462.cjs.map +1 -1
  63. package/dist/lyra462.js +61 -36
  64. package/dist/lyra462.js.map +1 -1
  65. package/dist/lyra463.cjs +1 -5
  66. package/dist/lyra463.cjs.map +1 -1
  67. package/dist/lyra463.js +35 -2556
  68. package/dist/lyra463.js.map +1 -1
  69. package/dist/lyra464.cjs +5 -1
  70. package/dist/lyra464.cjs.map +1 -1
  71. package/dist/lyra464.js +2556 -52
  72. package/dist/lyra464.js.map +1 -1
  73. package/dist/lyra465.cjs +1 -1
  74. package/dist/lyra465.cjs.map +1 -1
  75. package/dist/lyra465.js +53 -13
  76. package/dist/lyra465.js.map +1 -1
  77. package/dist/lyra470.cjs +1 -1
  78. package/dist/lyra470.cjs.map +1 -1
  79. package/dist/lyra470.js +25 -24
  80. package/dist/lyra470.js.map +1 -1
  81. package/dist/lyra49.cjs +1 -1
  82. package/dist/lyra49.js +1 -1
  83. package/dist/lyra50.cjs +1 -1
  84. package/dist/lyra50.js +2 -2
  85. package/dist/lyra508.cjs +1 -1
  86. package/dist/lyra508.js +3 -3
  87. package/dist/lyra51.cjs +1 -1
  88. package/dist/lyra51.js +2 -2
  89. package/dist/lyra510.cjs +1 -1
  90. package/dist/lyra510.js +1 -1
  91. package/dist/lyra59.cjs +1 -1
  92. package/dist/lyra59.js +6 -6
  93. package/dist/lyra596.cjs +1 -1
  94. package/dist/lyra596.cjs.map +1 -1
  95. package/dist/lyra596.js +17 -4
  96. package/dist/lyra596.js.map +1 -1
  97. package/dist/lyra597.cjs +1 -1
  98. package/dist/lyra597.cjs.map +1 -1
  99. package/dist/lyra597.js +4 -17
  100. package/dist/lyra597.js.map +1 -1
  101. package/dist/lyra598.cjs +1 -1
  102. package/dist/lyra598.cjs.map +1 -1
  103. package/dist/lyra598.js +4 -4
  104. package/dist/lyra598.js.map +1 -1
  105. package/dist/lyra599.cjs +1 -1
  106. package/dist/lyra599.cjs.map +1 -1
  107. package/dist/lyra599.js +20 -30
  108. package/dist/lyra599.js.map +1 -1
  109. package/dist/lyra60.cjs +1 -1
  110. package/dist/lyra60.js +3 -3
  111. package/dist/lyra600.cjs +1 -1
  112. package/dist/lyra600.cjs.map +1 -1
  113. package/dist/lyra600.js +4 -21
  114. package/dist/lyra600.js.map +1 -1
  115. package/dist/lyra601.cjs +1 -1
  116. package/dist/lyra601.cjs.map +1 -1
  117. package/dist/lyra601.js +20 -4
  118. package/dist/lyra601.js.map +1 -1
  119. package/dist/lyra602.cjs +1 -1
  120. package/dist/lyra602.cjs.map +1 -1
  121. package/dist/lyra602.js +4 -20
  122. package/dist/lyra602.js.map +1 -1
  123. package/dist/lyra603.cjs +1 -1
  124. package/dist/lyra603.cjs.map +1 -1
  125. package/dist/lyra603.js +29 -2
  126. package/dist/lyra603.js.map +1 -1
  127. package/dist/lyra606.cjs +1 -1
  128. package/dist/lyra606.cjs.map +1 -1
  129. package/dist/lyra606.js +182 -229
  130. package/dist/lyra606.js.map +1 -1
  131. package/dist/lyra607.cjs +1 -1
  132. package/dist/lyra607.cjs.map +1 -1
  133. package/dist/lyra607.js +77 -14
  134. package/dist/lyra607.js.map +1 -1
  135. package/dist/lyra608.cjs +1 -1
  136. package/dist/lyra608.cjs.map +1 -1
  137. package/dist/lyra608.js +41 -479
  138. package/dist/lyra608.js.map +1 -1
  139. package/dist/lyra609.cjs +1 -1
  140. package/dist/lyra609.cjs.map +1 -1
  141. package/dist/lyra609.js +15 -65
  142. package/dist/lyra609.js.map +1 -1
  143. package/dist/lyra61.cjs +1 -1
  144. package/dist/lyra61.js +8 -8
  145. package/dist/lyra610.cjs +1 -1
  146. package/dist/lyra610.cjs.map +1 -1
  147. package/dist/lyra610.js +3 -13
  148. package/dist/lyra610.js.map +1 -1
  149. package/dist/lyra611.cjs +1 -1
  150. package/dist/lyra611.cjs.map +1 -1
  151. package/dist/lyra611.js +14 -2
  152. package/dist/lyra611.js.map +1 -1
  153. package/dist/lyra612.cjs +1 -9
  154. package/dist/lyra612.cjs.map +1 -1
  155. package/dist/lyra612.js +7 -48
  156. package/dist/lyra612.js.map +1 -1
  157. package/dist/lyra613.cjs +1 -9
  158. package/dist/lyra613.cjs.map +1 -1
  159. package/dist/lyra613.js +31 -81
  160. package/dist/lyra613.js.map +1 -1
  161. package/dist/lyra614.cjs +1 -1
  162. package/dist/lyra614.cjs.map +1 -1
  163. package/dist/lyra614.js +227 -133
  164. package/dist/lyra614.js.map +1 -1
  165. package/dist/lyra615.cjs +1 -1
  166. package/dist/lyra615.cjs.map +1 -1
  167. package/dist/lyra615.js +14 -50
  168. package/dist/lyra615.js.map +1 -1
  169. package/dist/lyra616.cjs +1 -1
  170. package/dist/lyra616.cjs.map +1 -1
  171. package/dist/lyra616.js +477 -181
  172. package/dist/lyra616.js.map +1 -1
  173. package/dist/lyra617.cjs +1 -1
  174. package/dist/lyra617.cjs.map +1 -1
  175. package/dist/lyra617.js +65 -78
  176. package/dist/lyra617.js.map +1 -1
  177. package/dist/lyra618.cjs +1 -1
  178. package/dist/lyra618.cjs.map +1 -1
  179. package/dist/lyra618.js +13 -44
  180. package/dist/lyra618.js.map +1 -1
  181. package/dist/lyra619.cjs +1 -1
  182. package/dist/lyra619.cjs.map +1 -1
  183. package/dist/lyra619.js +2 -16
  184. package/dist/lyra619.js.map +1 -1
  185. package/dist/lyra620.cjs +9 -1
  186. package/dist/lyra620.cjs.map +1 -1
  187. package/dist/lyra620.js +48 -3
  188. package/dist/lyra620.js.map +1 -1
  189. package/dist/lyra621.cjs +9 -1
  190. package/dist/lyra621.cjs.map +1 -1
  191. package/dist/lyra621.js +83 -14
  192. package/dist/lyra621.js.map +1 -1
  193. package/dist/lyra622.cjs +1 -1
  194. package/dist/lyra622.cjs.map +1 -1
  195. package/dist/lyra622.js +139 -7
  196. package/dist/lyra622.js.map +1 -1
  197. package/dist/lyra623.cjs +1 -1
  198. package/dist/lyra623.cjs.map +1 -1
  199. package/dist/lyra623.js +50 -31
  200. package/dist/lyra623.js.map +1 -1
  201. package/dist/lyra67.cjs +1 -1
  202. package/dist/lyra67.cjs.map +1 -1
  203. package/dist/lyra67.js +70 -69
  204. package/dist/lyra67.js.map +1 -1
  205. package/dist/lyra686.cjs +1 -1
  206. package/dist/lyra686.js +1 -1
  207. package/dist/lyra689.cjs +1 -1
  208. package/dist/lyra689.js +1 -1
  209. package/dist/lyra719.cjs +1 -1
  210. package/dist/lyra719.js +4 -4
  211. package/dist/lyra729.cjs +1 -1
  212. package/dist/lyra729.js +1 -1
  213. package/dist/lyra730.cjs +1 -1
  214. package/dist/lyra730.js +1 -1
  215. package/dist/lyra731.cjs +1 -1
  216. package/dist/lyra731.js +1 -1
  217. package/dist/lyra75.cjs +1 -1
  218. package/dist/lyra75.js +1 -1
  219. package/dist/lyra761.cjs +1 -1
  220. package/dist/lyra761.js +1 -1
  221. package/dist/lyra779.cjs +1 -1
  222. package/dist/lyra779.js +1 -1
  223. package/dist/lyra786.cjs +1 -1
  224. package/dist/lyra786.js +1 -1
  225. package/dist/lyra787.cjs +1 -1
  226. package/dist/lyra787.js +1 -1
  227. package/dist/lyra788.cjs +1 -1
  228. package/dist/lyra788.js +1 -1
  229. package/dist/lyra789.cjs +1 -1
  230. package/dist/lyra789.js +2 -2
  231. package/dist/lyra790.cjs +1 -1
  232. package/dist/lyra790.js +4 -4
  233. package/dist/lyra800.cjs +1 -1
  234. package/dist/lyra800.js +2 -2
  235. package/dist/lyra802.cjs +1 -1
  236. package/dist/lyra802.cjs.map +1 -1
  237. package/dist/lyra802.js +375 -2
  238. package/dist/lyra802.js.map +1 -1
  239. package/dist/lyra803.cjs +1 -1
  240. package/dist/lyra803.cjs.map +1 -1
  241. package/dist/lyra803.js +13 -28
  242. package/dist/lyra803.js.map +1 -1
  243. package/dist/lyra804.cjs +1 -1
  244. package/dist/lyra804.cjs.map +1 -1
  245. package/dist/lyra804.js +2 -6
  246. package/dist/lyra804.js.map +1 -1
  247. package/dist/lyra805.cjs +1 -1
  248. package/dist/lyra805.cjs.map +1 -1
  249. package/dist/lyra805.js +29 -4
  250. package/dist/lyra805.js.map +1 -1
  251. package/dist/lyra806.cjs +1 -1
  252. package/dist/lyra806.cjs.map +1 -1
  253. package/dist/lyra806.js +6 -14
  254. package/dist/lyra806.js.map +1 -1
  255. package/dist/lyra807.cjs +1 -1
  256. package/dist/lyra807.cjs.map +1 -1
  257. package/dist/lyra807.js +3 -14
  258. package/dist/lyra807.js.map +1 -1
  259. package/dist/lyra808.cjs +1 -1
  260. package/dist/lyra808.cjs.map +1 -1
  261. package/dist/lyra808.js +14 -22
  262. package/dist/lyra808.js.map +1 -1
  263. package/dist/lyra809.cjs +1 -1
  264. package/dist/lyra809.cjs.map +1 -1
  265. package/dist/lyra809.js +22 -7
  266. package/dist/lyra809.js.map +1 -1
  267. package/dist/lyra810.cjs +1 -1
  268. package/dist/lyra810.cjs.map +1 -1
  269. package/dist/lyra810.js +7 -50
  270. package/dist/lyra810.js.map +1 -1
  271. package/dist/lyra811.cjs +1 -1
  272. package/dist/lyra811.cjs.map +1 -1
  273. package/dist/lyra811.js +46 -370
  274. package/dist/lyra811.js.map +1 -1
  275. package/dist/lyra829.cjs +1 -1
  276. package/dist/lyra829.cjs.map +1 -1
  277. package/dist/lyra829.js +2 -253
  278. package/dist/lyra829.js.map +1 -1
  279. package/dist/lyra830.cjs +1 -1
  280. package/dist/lyra830.cjs.map +1 -1
  281. package/dist/lyra830.js +16 -79
  282. package/dist/lyra830.js.map +1 -1
  283. package/dist/lyra831.cjs +1 -1
  284. package/dist/lyra831.cjs.map +1 -1
  285. package/dist/lyra831.js +253 -2
  286. package/dist/lyra831.js.map +1 -1
  287. package/dist/lyra832.cjs +1 -1
  288. package/dist/lyra832.cjs.map +1 -1
  289. package/dist/lyra832.js +82 -13
  290. package/dist/lyra832.js.map +1 -1
  291. package/dist/lyra833.cjs +1 -1
  292. package/dist/lyra833.cjs.map +1 -1
  293. package/dist/lyra833.js +2 -19
  294. package/dist/lyra833.js.map +1 -1
  295. package/dist/lyra834.cjs +1 -1
  296. package/dist/lyra834.cjs.map +1 -1
  297. package/dist/lyra834.js +12 -13
  298. package/dist/lyra834.js.map +1 -1
  299. package/dist/lyra835.cjs +1 -1
  300. package/dist/lyra835.cjs.map +1 -1
  301. package/dist/lyra835.js +19 -2
  302. package/dist/lyra835.js.map +1 -1
  303. package/dist/lyra836.cjs +1 -1
  304. package/dist/lyra836.cjs.map +1 -1
  305. package/dist/lyra836.js +13 -18
  306. package/dist/lyra836.js.map +1 -1
  307. package/dist/lyra84.cjs +1 -1
  308. package/dist/lyra84.js +1 -1
  309. package/dist/lyra842.cjs +1 -1
  310. package/dist/lyra842.js +3 -3
  311. package/dist/lyra858.cjs +4 -1
  312. package/dist/lyra858.cjs.map +1 -1
  313. package/dist/lyra858.js +46 -9
  314. package/dist/lyra858.js.map +1 -1
  315. package/dist/lyra859.cjs +1 -1
  316. package/dist/lyra859.cjs.map +1 -1
  317. package/dist/lyra859.js +10 -2
  318. package/dist/lyra859.js.map +1 -1
  319. package/dist/lyra86.cjs +1 -1
  320. package/dist/lyra86.js +1 -1
  321. package/dist/lyra860.cjs +1 -1
  322. package/dist/lyra860.cjs.map +1 -1
  323. package/dist/lyra860.js +2 -5
  324. package/dist/lyra860.js.map +1 -1
  325. package/dist/lyra861.cjs +1 -4
  326. package/dist/lyra861.cjs.map +1 -1
  327. package/dist/lyra861.js +4 -46
  328. package/dist/lyra861.js.map +1 -1
  329. package/dist/lyra96.cjs +1 -1
  330. package/dist/lyra96.js +3 -3
  331. package/dist/lyra97.cjs +1 -1
  332. package/dist/lyra97.js +3 -3
  333. package/dist/lyra98.cjs +1 -1
  334. package/dist/lyra98.js +1 -1
  335. package/dist/lyra99.cjs +1 -1
  336. package/dist/lyra99.js +1 -1
  337. package/package.json +1 -1
package/dist/lyra811.js CHANGED
@@ -1,377 +1,53 @@
1
- import { debounce as I, memo as c, notUndefined as u, approxEqual as M } from "./lyra861.js";
2
- const z = (r) => r, O = (r) => {
3
- const h = Math.max(r.startIndex - r.overscan, 0), e = Math.min(r.endIndex + r.overscan, r.count - 1), t = [];
4
- for (let s = h; s <= e; s++)
5
- t.push(s);
6
- return t;
7
- }, _ = (r, h) => {
8
- const e = r.scrollElement;
9
- if (!e)
10
- return;
11
- const t = (n) => {
12
- const { width: i, height: o } = n;
13
- h({ width: Math.round(i), height: Math.round(o) });
14
- };
15
- if (t(e.getBoundingClientRect()), typeof ResizeObserver > "u")
16
- return () => {
17
- };
18
- const s = new ResizeObserver((n) => {
19
- const i = n[0];
20
- if (i != null && i.borderBoxSize) {
21
- const o = i.borderBoxSize[0];
22
- if (o) {
23
- t({ width: o.inlineSize, height: o.blockSize });
24
- return;
25
- }
26
- }
27
- t(e.getBoundingClientRect());
28
- });
29
- return s.observe(e, { box: "border-box" }), () => {
30
- s.unobserve(e);
31
- };
32
- }, v = {
33
- passive: !0
34
- }, S = typeof window > "u" ? !0 : "onscrollend" in window, w = (r, h) => {
35
- const e = r.scrollElement;
36
- if (!e)
37
- return;
38
- let t = 0;
39
- const s = S ? () => {
40
- } : I(() => {
41
- h(t, !1);
42
- }, r.options.isScrollingResetDelay), n = (l) => () => {
43
- t = e[r.options.horizontal ? "scrollLeft" : "scrollTop"], s(), h(t, l);
44
- }, i = n(!0), o = n(!1);
45
- return o(), e.addEventListener("scroll", i, v), e.addEventListener("scrollend", o, v), () => {
46
- e.removeEventListener("scroll", i), e.removeEventListener("scrollend", o);
47
- };
48
- }, y = (r, h, e) => {
49
- if (h != null && h.borderBoxSize) {
50
- const t = h.borderBoxSize[0];
51
- if (t)
52
- return Math.round(
53
- t[e.options.horizontal ? "inlineSize" : "blockSize"]
54
- );
1
+ class a {
2
+ constructor() {
3
+ this.order = [], this.scheduled = /* @__PURE__ */ new Set();
55
4
  }
56
- return Math.round(
57
- r.getBoundingClientRect()[e.options.horizontal ? "width" : "height"]
58
- );
59
- }, R = (r, {
60
- adjustments: h = 0,
61
- behavior: e
62
- }, t) => {
63
- var s, n;
64
- const i = r + h;
65
- (n = (s = t.scrollElement) == null ? void 0 : s.scrollTo) == null || n.call(s, {
66
- [t.options.horizontal ? "left" : "top"]: i,
67
- behavior: e
68
- });
69
- };
70
- class k {
71
- constructor(h) {
72
- this.unsubs = [], this.scrollElement = null, this.isScrolling = !1, this.scrollToIndexTimeoutId = null, this.measurementsCache = [], this.itemSizeCache = /* @__PURE__ */ new Map(), this.pendingMeasuredCacheIndexes = [], this.scrollDirection = null, this.scrollAdjustments = 0, this.measureElementCache = /* @__PURE__ */ new Map(), this.observer = /* @__PURE__ */ (() => {
73
- let e = null;
74
- const t = () => e || (typeof ResizeObserver < "u" ? e = new ResizeObserver((s) => {
75
- s.forEach((n) => {
76
- this._measureElement(n.target, n);
77
- });
78
- }) : null);
79
- return {
80
- disconnect: () => {
81
- var s;
82
- return (s = t()) == null ? void 0 : s.disconnect();
83
- },
84
- observe: (s) => {
85
- var n;
86
- return (n = t()) == null ? void 0 : n.observe(s, { box: "border-box" });
87
- },
88
- unobserve: (s) => {
89
- var n;
90
- return (n = t()) == null ? void 0 : n.unobserve(s);
91
- }
92
- };
93
- })(), this.range = null, this.setOptions = (e) => {
94
- Object.entries(e).forEach(([t, s]) => {
95
- typeof s > "u" && delete e[t];
96
- }), this.options = {
97
- debug: !1,
98
- initialOffset: 0,
99
- overscan: 1,
100
- paddingStart: 0,
101
- paddingEnd: 0,
102
- scrollPaddingStart: 0,
103
- scrollPaddingEnd: 0,
104
- horizontal: !1,
105
- getItemKey: z,
106
- rangeExtractor: O,
107
- onChange: () => {
108
- },
109
- measureElement: y,
110
- initialRect: { width: 0, height: 0 },
111
- scrollMargin: 0,
112
- gap: 0,
113
- indexAttribute: "data-index",
114
- initialMeasurementsCache: [],
115
- lanes: 1,
116
- isScrollingResetDelay: 150,
117
- ...e
118
- };
119
- }, this.notify = (e, t) => {
120
- var s, n;
121
- const { startIndex: i, endIndex: o } = this.range ?? {
122
- startIndex: void 0,
123
- endIndex: void 0
124
- }, l = this.calculateRange();
125
- (e || i !== (l == null ? void 0 : l.startIndex) || o !== (l == null ? void 0 : l.endIndex)) && ((n = (s = this.options).onChange) == null || n.call(s, this, t));
126
- }, this.cleanup = () => {
127
- this.unsubs.filter(Boolean).forEach((e) => e()), this.unsubs = [], this.scrollElement = null;
128
- }, this._didMount = () => (this.measureElementCache.forEach(this.observer.observe), () => {
129
- this.observer.disconnect(), this.cleanup();
130
- }), this._willUpdate = () => {
131
- const e = this.options.getScrollElement();
132
- this.scrollElement !== e && (this.cleanup(), this.scrollElement = e, this._scrollToOffset(this.scrollOffset, {
133
- adjustments: void 0,
134
- behavior: void 0
135
- }), this.unsubs.push(
136
- this.options.observeElementRect(this, (t) => {
137
- this.scrollRect = t, this.notify(!1, !1);
138
- })
139
- ), this.unsubs.push(
140
- this.options.observeElementOffset(this, (t, s) => {
141
- this.scrollAdjustments = 0, this.scrollDirection = s ? this.scrollOffset < t ? "forward" : "backward" : null, this.scrollOffset = t;
142
- const n = this.isScrolling;
143
- this.isScrolling = s, this.notify(n !== s, s);
144
- })
145
- ));
146
- }, this.getSize = () => this.scrollRect[this.options.horizontal ? "width" : "height"], this.getMeasurementOptions = c(
147
- () => [
148
- this.options.count,
149
- this.options.paddingStart,
150
- this.options.scrollMargin,
151
- this.options.getItemKey
152
- ],
153
- (e, t, s, n) => (this.pendingMeasuredCacheIndexes = [], {
154
- count: e,
155
- paddingStart: t,
156
- scrollMargin: s,
157
- getItemKey: n
158
- }),
159
- {
160
- key: !1
161
- }
162
- ), this.getFurthestMeasurement = (e, t) => {
163
- const s = /* @__PURE__ */ new Map(), n = /* @__PURE__ */ new Map();
164
- for (let i = t - 1; i >= 0; i--) {
165
- const o = e[i];
166
- if (s.has(o.lane))
167
- continue;
168
- const l = n.get(
169
- o.lane
170
- );
171
- if (l == null || o.end > l.end ? n.set(o.lane, o) : o.end < l.end && s.set(o.lane, !0), s.size === this.options.lanes)
172
- break;
173
- }
174
- return n.size === this.options.lanes ? Array.from(n.values()).sort((i, o) => i.end === o.end ? i.index - o.index : i.end - o.end)[0] : void 0;
175
- }, this.getMeasurements = c(
176
- () => [this.getMeasurementOptions(), this.itemSizeCache],
177
- ({ count: e, paddingStart: t, scrollMargin: s, getItemKey: n }, i) => {
178
- const o = this.pendingMeasuredCacheIndexes.length > 0 ? Math.min(...this.pendingMeasuredCacheIndexes) : 0;
179
- this.pendingMeasuredCacheIndexes = [];
180
- const l = this.measurementsCache.slice(0, o);
181
- for (let a = o; a < e; a++) {
182
- const m = n(a), d = this.options.lanes === 1 ? l[a - 1] : this.getFurthestMeasurement(l, a), f = d ? d.end + this.options.gap : t + s, p = i.get(m), g = typeof p == "number" ? p : this.options.estimateSize(a), b = f + g, x = d ? d.lane : a % this.options.lanes;
183
- l[a] = {
184
- index: a,
185
- start: f,
186
- size: g,
187
- end: b,
188
- key: m,
189
- lane: x
190
- };
191
- }
192
- return this.measurementsCache = l, l;
193
- },
194
- {
195
- key: process.env.NODE_ENV !== "production" && "getMeasurements",
196
- debug: () => this.options.debug
197
- }
198
- ), this.calculateRange = c(
199
- () => [this.getMeasurements(), this.getSize(), this.scrollOffset],
200
- (e, t, s) => this.range = e.length > 0 && t > 0 ? C({
201
- measurements: e,
202
- outerSize: t,
203
- scrollOffset: s
204
- }) : null,
205
- {
206
- key: process.env.NODE_ENV !== "production" && "calculateRange",
207
- debug: () => this.options.debug
208
- }
209
- ), this.getIndexes = c(
210
- () => [
211
- this.options.rangeExtractor,
212
- this.calculateRange(),
213
- this.options.overscan,
214
- this.options.count
215
- ],
216
- (e, t, s, n) => t === null ? [] : e({
217
- startIndex: t.startIndex,
218
- endIndex: t.endIndex,
219
- overscan: s,
220
- count: n
221
- }),
222
- {
223
- key: process.env.NODE_ENV !== "production" && "getIndexes",
224
- debug: () => this.options.debug
225
- }
226
- ), this.indexFromElement = (e) => {
227
- const t = this.options.indexAttribute, s = e.getAttribute(t);
228
- return s ? parseInt(s, 10) : (console.warn(
229
- `Missing attribute name '${t}={index}' on measured element.`
230
- ), -1);
231
- }, this._measureElement = (e, t) => {
232
- const s = this.measurementsCache[this.indexFromElement(e)];
233
- if (!s || !e.isConnected) {
234
- this.measureElementCache.forEach((o, l) => {
235
- o === e && (this.observer.unobserve(e), this.measureElementCache.delete(l));
236
- });
5
+ add(e) {
6
+ if (!this.scheduled.has(e))
7
+ return this.scheduled.add(e), this.order.push(e), !0;
8
+ }
9
+ remove(e) {
10
+ const r = this.order.indexOf(e);
11
+ r !== -1 && (this.order.splice(r, 1), this.scheduled.delete(e));
12
+ }
13
+ clear() {
14
+ this.order.length = 0, this.scheduled.clear();
15
+ }
16
+ }
17
+ function m(o) {
18
+ let e = new a(), r = new a(), l = 0, s = !1, i = !1;
19
+ const h = /* @__PURE__ */ new WeakSet(), u = {
20
+ /**
21
+ * Schedule a process to run on the next frame.
22
+ */
23
+ schedule: (t, d = !1, n = !1) => {
24
+ const c = n && s, f = c ? e : r;
25
+ return d && h.add(t), f.add(t) && c && s && (l = e.order.length), t;
26
+ },
27
+ /**
28
+ * Cancel the provided callback from running on the next frame.
29
+ */
30
+ cancel: (t) => {
31
+ r.remove(t), h.delete(t);
32
+ },
33
+ /**
34
+ * Execute all schedule callbacks.
35
+ */
36
+ process: (t) => {
37
+ if (s) {
38
+ i = !0;
237
39
  return;
238
40
  }
239
- const n = this.measureElementCache.get(s.key);
240
- n !== e && (n && this.observer.unobserve(n), this.observer.observe(e), this.measureElementCache.set(s.key, e));
241
- const i = this.options.measureElement(e, t, this);
242
- this.resizeItem(s, i);
243
- }, this.resizeItem = (e, t) => {
244
- const s = this.itemSizeCache.get(e.key) ?? e.size, n = t - s;
245
- n !== 0 && ((this.shouldAdjustScrollPositionOnItemSizeChange !== void 0 ? this.shouldAdjustScrollPositionOnItemSizeChange(e, n, this) : e.start < this.scrollOffset + this.scrollAdjustments) && (process.env.NODE_ENV !== "production" && this.options.debug && console.info("correction", n), this._scrollToOffset(this.scrollOffset, {
246
- adjustments: this.scrollAdjustments += n,
247
- behavior: void 0
248
- })), this.pendingMeasuredCacheIndexes.push(e.index), this.itemSizeCache = new Map(this.itemSizeCache.set(e.key, t)), this.notify(!0, !1));
249
- }, this.measureElement = (e) => {
250
- e && this._measureElement(e, void 0);
251
- }, this.getVirtualItems = c(
252
- () => [this.getIndexes(), this.getMeasurements()],
253
- (e, t) => {
254
- const s = [];
255
- for (let n = 0, i = e.length; n < i; n++) {
256
- const o = e[n], l = t[o];
257
- s.push(l);
41
+ if (s = !0, [e, r] = [r, e], r.clear(), l = e.order.length, l)
42
+ for (let d = 0; d < l; d++) {
43
+ const n = e.order[d];
44
+ h.has(n) && (u.schedule(n), o()), n(t);
258
45
  }
259
- return s;
260
- },
261
- {
262
- key: process.env.NODE_ENV !== "production" && "getIndexes",
263
- debug: () => this.options.debug
264
- }
265
- ), this.getVirtualItemForOffset = (e) => {
266
- const t = this.getMeasurements();
267
- return u(
268
- t[E(
269
- 0,
270
- t.length - 1,
271
- (s) => u(t[s]).start,
272
- e
273
- )]
274
- );
275
- }, this.getOffsetForAlignment = (e, t) => {
276
- const s = this.getSize();
277
- t === "auto" && (e <= this.scrollOffset ? t = "start" : e >= this.scrollOffset + s ? t = "end" : t = "start"), t === "start" ? e = e : t === "end" ? e = e - s : t === "center" && (e = e - s / 2);
278
- const n = this.options.horizontal ? "scrollWidth" : "scrollHeight", o = (this.scrollElement ? "document" in this.scrollElement ? this.scrollElement.document.documentElement[n] : this.scrollElement[n] : 0) - this.getSize();
279
- return Math.max(Math.min(o, e), 0);
280
- }, this.getOffsetForIndex = (e, t = "auto") => {
281
- e = Math.max(0, Math.min(e, this.options.count - 1));
282
- const s = u(this.getMeasurements()[e]);
283
- if (t === "auto")
284
- if (s.end >= this.scrollOffset + this.getSize() - this.options.scrollPaddingEnd)
285
- t = "end";
286
- else if (s.start <= this.scrollOffset + this.options.scrollPaddingStart)
287
- t = "start";
288
- else
289
- return [this.scrollOffset, t];
290
- const n = t === "end" ? s.end + this.options.scrollPaddingEnd : s.start - this.options.scrollPaddingStart;
291
- return [this.getOffsetForAlignment(n, t), t];
292
- }, this.isDynamicMode = () => this.measureElementCache.size > 0, this.cancelScrollToIndex = () => {
293
- this.scrollToIndexTimeoutId !== null && (clearTimeout(this.scrollToIndexTimeoutId), this.scrollToIndexTimeoutId = null);
294
- }, this.scrollToOffset = (e, { align: t = "start", behavior: s } = {}) => {
295
- this.cancelScrollToIndex(), s === "smooth" && this.isDynamicMode() && console.warn(
296
- "The `smooth` scroll behavior is not fully supported with dynamic size."
297
- ), this._scrollToOffset(this.getOffsetForAlignment(e, t), {
298
- adjustments: void 0,
299
- behavior: s
300
- });
301
- }, this.scrollToIndex = (e, { align: t = "auto", behavior: s } = {}) => {
302
- e = Math.max(0, Math.min(e, this.options.count - 1)), this.cancelScrollToIndex(), s === "smooth" && this.isDynamicMode() && console.warn(
303
- "The `smooth` scroll behavior is not fully supported with dynamic size."
304
- );
305
- const [n, i] = this.getOffsetForIndex(e, t);
306
- this._scrollToOffset(n, { adjustments: void 0, behavior: s }), s !== "smooth" && this.isDynamicMode() && (this.scrollToIndexTimeoutId = setTimeout(() => {
307
- if (this.scrollToIndexTimeoutId = null, this.measureElementCache.has(
308
- this.options.getItemKey(e)
309
- )) {
310
- const [l] = this.getOffsetForIndex(e, i);
311
- M(l, this.scrollOffset) || this.scrollToIndex(e, { align: i, behavior: s });
312
- } else
313
- this.scrollToIndex(e, { align: i, behavior: s });
314
- }));
315
- }, this.scrollBy = (e, { behavior: t } = {}) => {
316
- this.cancelScrollToIndex(), t === "smooth" && this.isDynamicMode() && console.warn(
317
- "The `smooth` scroll behavior is not fully supported with dynamic size."
318
- ), this._scrollToOffset(this.scrollOffset + e, {
319
- adjustments: void 0,
320
- behavior: t
321
- });
322
- }, this.getTotalSize = () => {
323
- var e;
324
- const t = this.getMeasurements();
325
- let s;
326
- return t.length === 0 ? s = this.options.paddingStart : s = this.options.lanes === 1 ? ((e = t[t.length - 1]) == null ? void 0 : e.end) ?? 0 : Math.max(
327
- ...t.slice(-this.options.lanes).map((n) => n.end)
328
- ), s - this.options.scrollMargin + this.options.paddingEnd;
329
- }, this._scrollToOffset = (e, {
330
- adjustments: t,
331
- behavior: s
332
- }) => {
333
- this.options.scrollToFn(e, { behavior: s, adjustments: t }, this);
334
- }, this.measure = () => {
335
- var e, t;
336
- this.itemSizeCache = /* @__PURE__ */ new Map(), (t = (e = this.options).onChange) == null || t.call(e, this, !1);
337
- }, this.setOptions(h), this.scrollRect = this.options.initialRect, this.scrollOffset = typeof this.options.initialOffset == "function" ? this.options.initialOffset() : this.options.initialOffset, this.measurementsCache = this.options.initialMeasurementsCache, this.measurementsCache.forEach((e) => {
338
- this.itemSizeCache.set(e.key, e.size);
339
- }), this.notify(!1, !1);
340
- }
341
- }
342
- const E = (r, h, e, t) => {
343
- for (; r <= h; ) {
344
- const s = (r + h) / 2 | 0, n = e(s);
345
- if (n < t)
346
- r = s + 1;
347
- else if (n > t)
348
- h = s - 1;
349
- else
350
- return s;
351
- }
352
- return r > 0 ? r - 1 : 0;
353
- };
354
- function C({
355
- measurements: r,
356
- outerSize: h,
357
- scrollOffset: e
358
- }) {
359
- const t = r.length - 1, n = E(0, t, (o) => r[o].start, e);
360
- let i = n;
361
- for (; i < t && r[i].end < e + h; )
362
- i++;
363
- return { startIndex: n, endIndex: i };
46
+ s = !1, i && (i = !1, u.process(t));
47
+ }
48
+ };
49
+ return u;
364
50
  }
365
51
  export {
366
- k as Virtualizer,
367
- M as approxEqual,
368
- I as debounce,
369
- z as defaultKeyExtractor,
370
- O as defaultRangeExtractor,
371
- R as elementScroll,
372
- y as measureElement,
373
- c as memo,
374
- u as notUndefined,
375
- w as observeElementOffset,
376
- _ as observeElementRect
52
+ m as createRenderStep
377
53
  };
@@ -1 +1 @@
1
- {"version":3,"file":"lyra811.js","sources":["../node_modules/@tanstack/virtual-core/dist/esm/index.js"],"sourcesContent":["import { debounce, memo, notUndefined, approxEqual } from \"./utils.js\";\nconst defaultKeyExtractor = (index) => index;\nconst defaultRangeExtractor = (range) => {\n const start = Math.max(range.startIndex - range.overscan, 0);\n const end = Math.min(range.endIndex + range.overscan, range.count - 1);\n const arr = [];\n for (let i = start; i <= end; i++) {\n arr.push(i);\n }\n return arr;\n};\nconst observeElementRect = (instance, cb) => {\n const element = instance.scrollElement;\n if (!element) {\n return;\n }\n const handler = (rect) => {\n const { width, height } = rect;\n cb({ width: Math.round(width), height: Math.round(height) });\n };\n handler(element.getBoundingClientRect());\n if (typeof ResizeObserver === \"undefined\") {\n return () => {\n };\n }\n const observer = new ResizeObserver((entries) => {\n const entry = entries[0];\n if (entry == null ? void 0 : entry.borderBoxSize) {\n const box = entry.borderBoxSize[0];\n if (box) {\n handler({ width: box.inlineSize, height: box.blockSize });\n return;\n }\n }\n handler(element.getBoundingClientRect());\n });\n observer.observe(element, { box: \"border-box\" });\n return () => {\n observer.unobserve(element);\n };\n};\nconst addEventListenerOptions = {\n passive: true\n};\nconst observeWindowRect = (instance, cb) => {\n const element = instance.scrollElement;\n if (!element) {\n return;\n }\n const handler = () => {\n cb({ width: element.innerWidth, height: element.innerHeight });\n };\n handler();\n element.addEventListener(\"resize\", handler, addEventListenerOptions);\n return () => {\n element.removeEventListener(\"resize\", handler);\n };\n};\nconst supportsScrollend = typeof window == \"undefined\" ? true : \"onscrollend\" in window;\nconst observeElementOffset = (instance, cb) => {\n const element = instance.scrollElement;\n if (!element) {\n return;\n }\n let offset = 0;\n const fallback = supportsScrollend ? () => void 0 : debounce(() => {\n cb(offset, false);\n }, instance.options.isScrollingResetDelay);\n const createHandler = (isScrolling) => () => {\n offset = element[instance.options.horizontal ? \"scrollLeft\" : \"scrollTop\"];\n fallback();\n cb(offset, isScrolling);\n };\n const handler = createHandler(true);\n const endHandler = createHandler(false);\n endHandler();\n element.addEventListener(\"scroll\", handler, addEventListenerOptions);\n element.addEventListener(\"scrollend\", endHandler, addEventListenerOptions);\n return () => {\n element.removeEventListener(\"scroll\", handler);\n element.removeEventListener(\"scrollend\", endHandler);\n };\n};\nconst observeWindowOffset = (instance, cb) => {\n const element = instance.scrollElement;\n if (!element) {\n return;\n }\n let offset = 0;\n const fallback = supportsScrollend ? () => void 0 : debounce(() => {\n cb(offset, false);\n }, instance.options.isScrollingResetDelay);\n const createHandler = (isScrolling) => () => {\n offset = element[instance.options.horizontal ? \"scrollX\" : \"scrollY\"];\n fallback();\n cb(offset, isScrolling);\n };\n const handler = createHandler(true);\n const endHandler = createHandler(false);\n endHandler();\n element.addEventListener(\"scroll\", handler, addEventListenerOptions);\n element.addEventListener(\"scrollend\", endHandler, addEventListenerOptions);\n return () => {\n element.removeEventListener(\"scroll\", handler);\n element.removeEventListener(\"scrollend\", endHandler);\n };\n};\nconst measureElement = (element, entry, instance) => {\n if (entry == null ? void 0 : entry.borderBoxSize) {\n const box = entry.borderBoxSize[0];\n if (box) {\n const size = Math.round(\n box[instance.options.horizontal ? \"inlineSize\" : \"blockSize\"]\n );\n return size;\n }\n }\n return Math.round(\n element.getBoundingClientRect()[instance.options.horizontal ? \"width\" : \"height\"]\n );\n};\nconst windowScroll = (offset, {\n adjustments = 0,\n behavior\n}, instance) => {\n var _a, _b;\n const toOffset = offset + adjustments;\n (_b = (_a = instance.scrollElement) == null ? void 0 : _a.scrollTo) == null ? void 0 : _b.call(_a, {\n [instance.options.horizontal ? \"left\" : \"top\"]: toOffset,\n behavior\n });\n};\nconst elementScroll = (offset, {\n adjustments = 0,\n behavior\n}, instance) => {\n var _a, _b;\n const toOffset = offset + adjustments;\n (_b = (_a = instance.scrollElement) == null ? void 0 : _a.scrollTo) == null ? void 0 : _b.call(_a, {\n [instance.options.horizontal ? \"left\" : \"top\"]: toOffset,\n behavior\n });\n};\nclass Virtualizer {\n constructor(opts) {\n this.unsubs = [];\n this.scrollElement = null;\n this.isScrolling = false;\n this.scrollToIndexTimeoutId = null;\n this.measurementsCache = [];\n this.itemSizeCache = /* @__PURE__ */ new Map();\n this.pendingMeasuredCacheIndexes = [];\n this.scrollDirection = null;\n this.scrollAdjustments = 0;\n this.measureElementCache = /* @__PURE__ */ new Map();\n this.observer = /* @__PURE__ */ (() => {\n let _ro = null;\n const get = () => {\n if (_ro) {\n return _ro;\n } else if (typeof ResizeObserver !== \"undefined\") {\n return _ro = new ResizeObserver((entries) => {\n entries.forEach((entry) => {\n this._measureElement(entry.target, entry);\n });\n });\n } else {\n return null;\n }\n };\n return {\n disconnect: () => {\n var _a;\n return (_a = get()) == null ? void 0 : _a.disconnect();\n },\n observe: (target) => {\n var _a;\n return (_a = get()) == null ? void 0 : _a.observe(target, { box: \"border-box\" });\n },\n unobserve: (target) => {\n var _a;\n return (_a = get()) == null ? void 0 : _a.unobserve(target);\n }\n };\n })();\n this.range = null;\n this.setOptions = (opts2) => {\n Object.entries(opts2).forEach(([key, value]) => {\n if (typeof value === \"undefined\")\n delete opts2[key];\n });\n this.options = {\n debug: false,\n initialOffset: 0,\n overscan: 1,\n paddingStart: 0,\n paddingEnd: 0,\n scrollPaddingStart: 0,\n scrollPaddingEnd: 0,\n horizontal: false,\n getItemKey: defaultKeyExtractor,\n rangeExtractor: defaultRangeExtractor,\n onChange: () => {\n },\n measureElement,\n initialRect: { width: 0, height: 0 },\n scrollMargin: 0,\n gap: 0,\n indexAttribute: \"data-index\",\n initialMeasurementsCache: [],\n lanes: 1,\n isScrollingResetDelay: 150,\n ...opts2\n };\n };\n this.notify = (force, sync) => {\n var _a, _b;\n const { startIndex, endIndex } = this.range ?? {\n startIndex: void 0,\n endIndex: void 0\n };\n const range = this.calculateRange();\n if (force || startIndex !== (range == null ? void 0 : range.startIndex) || endIndex !== (range == null ? void 0 : range.endIndex)) {\n (_b = (_a = this.options).onChange) == null ? void 0 : _b.call(_a, this, sync);\n }\n };\n this.cleanup = () => {\n this.unsubs.filter(Boolean).forEach((d) => d());\n this.unsubs = [];\n this.scrollElement = null;\n };\n this._didMount = () => {\n this.measureElementCache.forEach(this.observer.observe);\n return () => {\n this.observer.disconnect();\n this.cleanup();\n };\n };\n this._willUpdate = () => {\n const scrollElement = this.options.getScrollElement();\n if (this.scrollElement !== scrollElement) {\n this.cleanup();\n this.scrollElement = scrollElement;\n this._scrollToOffset(this.scrollOffset, {\n adjustments: void 0,\n behavior: void 0\n });\n this.unsubs.push(\n this.options.observeElementRect(this, (rect) => {\n this.scrollRect = rect;\n this.notify(false, false);\n })\n );\n this.unsubs.push(\n this.options.observeElementOffset(this, (offset, isScrolling) => {\n this.scrollAdjustments = 0;\n this.scrollDirection = isScrolling ? this.scrollOffset < offset ? \"forward\" : \"backward\" : null;\n this.scrollOffset = offset;\n const prevIsScrolling = this.isScrolling;\n this.isScrolling = isScrolling;\n this.notify(prevIsScrolling !== isScrolling, isScrolling);\n })\n );\n }\n };\n this.getSize = () => {\n return this.scrollRect[this.options.horizontal ? \"width\" : \"height\"];\n };\n this.getMeasurementOptions = memo(\n () => [\n this.options.count,\n this.options.paddingStart,\n this.options.scrollMargin,\n this.options.getItemKey\n ],\n (count, paddingStart, scrollMargin, getItemKey) => {\n this.pendingMeasuredCacheIndexes = [];\n return {\n count,\n paddingStart,\n scrollMargin,\n getItemKey\n };\n },\n {\n key: false\n }\n );\n this.getFurthestMeasurement = (measurements, index) => {\n const furthestMeasurementsFound = /* @__PURE__ */ new Map();\n const furthestMeasurements = /* @__PURE__ */ new Map();\n for (let m = index - 1; m >= 0; m--) {\n const measurement = measurements[m];\n if (furthestMeasurementsFound.has(measurement.lane)) {\n continue;\n }\n const previousFurthestMeasurement = furthestMeasurements.get(\n measurement.lane\n );\n if (previousFurthestMeasurement == null || measurement.end > previousFurthestMeasurement.end) {\n furthestMeasurements.set(measurement.lane, measurement);\n } else if (measurement.end < previousFurthestMeasurement.end) {\n furthestMeasurementsFound.set(measurement.lane, true);\n }\n if (furthestMeasurementsFound.size === this.options.lanes) {\n break;\n }\n }\n return furthestMeasurements.size === this.options.lanes ? Array.from(furthestMeasurements.values()).sort((a, b) => {\n if (a.end === b.end) {\n return a.index - b.index;\n }\n return a.end - b.end;\n })[0] : void 0;\n };\n this.getMeasurements = memo(\n () => [this.getMeasurementOptions(), this.itemSizeCache],\n ({ count, paddingStart, scrollMargin, getItemKey }, itemSizeCache) => {\n const min = this.pendingMeasuredCacheIndexes.length > 0 ? Math.min(...this.pendingMeasuredCacheIndexes) : 0;\n this.pendingMeasuredCacheIndexes = [];\n const measurements = this.measurementsCache.slice(0, min);\n for (let i = min; i < count; i++) {\n const key = getItemKey(i);\n const furthestMeasurement = this.options.lanes === 1 ? measurements[i - 1] : this.getFurthestMeasurement(measurements, i);\n const start = furthestMeasurement ? furthestMeasurement.end + this.options.gap : paddingStart + scrollMargin;\n const measuredSize = itemSizeCache.get(key);\n const size = typeof measuredSize === \"number\" ? measuredSize : this.options.estimateSize(i);\n const end = start + size;\n const lane = furthestMeasurement ? furthestMeasurement.lane : i % this.options.lanes;\n measurements[i] = {\n index: i,\n start,\n size,\n end,\n key,\n lane\n };\n }\n this.measurementsCache = measurements;\n return measurements;\n },\n {\n key: process.env.NODE_ENV !== \"production\" && \"getMeasurements\",\n debug: () => this.options.debug\n }\n );\n this.calculateRange = memo(\n () => [this.getMeasurements(), this.getSize(), this.scrollOffset],\n (measurements, outerSize, scrollOffset) => {\n return this.range = measurements.length > 0 && outerSize > 0 ? calculateRange({\n measurements,\n outerSize,\n scrollOffset\n }) : null;\n },\n {\n key: process.env.NODE_ENV !== \"production\" && \"calculateRange\",\n debug: () => this.options.debug\n }\n );\n this.getIndexes = memo(\n () => [\n this.options.rangeExtractor,\n this.calculateRange(),\n this.options.overscan,\n this.options.count\n ],\n (rangeExtractor, range, overscan, count) => {\n return range === null ? [] : rangeExtractor({\n startIndex: range.startIndex,\n endIndex: range.endIndex,\n overscan,\n count\n });\n },\n {\n key: process.env.NODE_ENV !== \"production\" && \"getIndexes\",\n debug: () => this.options.debug\n }\n );\n this.indexFromElement = (node) => {\n const attributeName = this.options.indexAttribute;\n const indexStr = node.getAttribute(attributeName);\n if (!indexStr) {\n console.warn(\n `Missing attribute name '${attributeName}={index}' on measured element.`\n );\n return -1;\n }\n return parseInt(indexStr, 10);\n };\n this._measureElement = (node, entry) => {\n const item = this.measurementsCache[this.indexFromElement(node)];\n if (!item || !node.isConnected) {\n this.measureElementCache.forEach((cached, key) => {\n if (cached === node) {\n this.observer.unobserve(node);\n this.measureElementCache.delete(key);\n }\n });\n return;\n }\n const prevNode = this.measureElementCache.get(item.key);\n if (prevNode !== node) {\n if (prevNode) {\n this.observer.unobserve(prevNode);\n }\n this.observer.observe(node);\n this.measureElementCache.set(item.key, node);\n }\n const measuredItemSize = this.options.measureElement(node, entry, this);\n this.resizeItem(item, measuredItemSize);\n };\n this.resizeItem = (item, size) => {\n const itemSize = this.itemSizeCache.get(item.key) ?? item.size;\n const delta = size - itemSize;\n if (delta !== 0) {\n if (this.shouldAdjustScrollPositionOnItemSizeChange !== void 0 ? this.shouldAdjustScrollPositionOnItemSizeChange(item, delta, this) : item.start < this.scrollOffset + this.scrollAdjustments) {\n if (process.env.NODE_ENV !== \"production\" && this.options.debug) {\n console.info(\"correction\", delta);\n }\n this._scrollToOffset(this.scrollOffset, {\n adjustments: this.scrollAdjustments += delta,\n behavior: void 0\n });\n }\n this.pendingMeasuredCacheIndexes.push(item.index);\n this.itemSizeCache = new Map(this.itemSizeCache.set(item.key, size));\n this.notify(true, false);\n }\n };\n this.measureElement = (node) => {\n if (!node) {\n return;\n }\n this._measureElement(node, void 0);\n };\n this.getVirtualItems = memo(\n () => [this.getIndexes(), this.getMeasurements()],\n (indexes, measurements) => {\n const virtualItems = [];\n for (let k = 0, len = indexes.length; k < len; k++) {\n const i = indexes[k];\n const measurement = measurements[i];\n virtualItems.push(measurement);\n }\n return virtualItems;\n },\n {\n key: process.env.NODE_ENV !== \"production\" && \"getIndexes\",\n debug: () => this.options.debug\n }\n );\n this.getVirtualItemForOffset = (offset) => {\n const measurements = this.getMeasurements();\n return notUndefined(\n measurements[findNearestBinarySearch(\n 0,\n measurements.length - 1,\n (index) => notUndefined(measurements[index]).start,\n offset\n )]\n );\n };\n this.getOffsetForAlignment = (toOffset, align) => {\n const size = this.getSize();\n if (align === \"auto\") {\n if (toOffset <= this.scrollOffset) {\n align = \"start\";\n } else if (toOffset >= this.scrollOffset + size) {\n align = \"end\";\n } else {\n align = \"start\";\n }\n }\n if (align === \"start\") {\n toOffset = toOffset;\n } else if (align === \"end\") {\n toOffset = toOffset - size;\n } else if (align === \"center\") {\n toOffset = toOffset - size / 2;\n }\n const scrollSizeProp = this.options.horizontal ? \"scrollWidth\" : \"scrollHeight\";\n const scrollSize = this.scrollElement ? \"document\" in this.scrollElement ? this.scrollElement.document.documentElement[scrollSizeProp] : this.scrollElement[scrollSizeProp] : 0;\n const maxOffset = scrollSize - this.getSize();\n return Math.max(Math.min(maxOffset, toOffset), 0);\n };\n this.getOffsetForIndex = (index, align = \"auto\") => {\n index = Math.max(0, Math.min(index, this.options.count - 1));\n const measurement = notUndefined(this.getMeasurements()[index]);\n if (align === \"auto\") {\n if (measurement.end >= this.scrollOffset + this.getSize() - this.options.scrollPaddingEnd) {\n align = \"end\";\n } else if (measurement.start <= this.scrollOffset + this.options.scrollPaddingStart) {\n align = \"start\";\n } else {\n return [this.scrollOffset, align];\n }\n }\n const toOffset = align === \"end\" ? measurement.end + this.options.scrollPaddingEnd : measurement.start - this.options.scrollPaddingStart;\n return [this.getOffsetForAlignment(toOffset, align), align];\n };\n this.isDynamicMode = () => this.measureElementCache.size > 0;\n this.cancelScrollToIndex = () => {\n if (this.scrollToIndexTimeoutId !== null) {\n clearTimeout(this.scrollToIndexTimeoutId);\n this.scrollToIndexTimeoutId = null;\n }\n };\n this.scrollToOffset = (toOffset, { align = \"start\", behavior } = {}) => {\n this.cancelScrollToIndex();\n if (behavior === \"smooth\" && this.isDynamicMode()) {\n console.warn(\n \"The `smooth` scroll behavior is not fully supported with dynamic size.\"\n );\n }\n this._scrollToOffset(this.getOffsetForAlignment(toOffset, align), {\n adjustments: void 0,\n behavior\n });\n };\n this.scrollToIndex = (index, { align: initialAlign = \"auto\", behavior } = {}) => {\n index = Math.max(0, Math.min(index, this.options.count - 1));\n this.cancelScrollToIndex();\n if (behavior === \"smooth\" && this.isDynamicMode()) {\n console.warn(\n \"The `smooth` scroll behavior is not fully supported with dynamic size.\"\n );\n }\n const [toOffset, align] = this.getOffsetForIndex(index, initialAlign);\n this._scrollToOffset(toOffset, { adjustments: void 0, behavior });\n if (behavior !== \"smooth\" && this.isDynamicMode()) {\n this.scrollToIndexTimeoutId = setTimeout(() => {\n this.scrollToIndexTimeoutId = null;\n const elementInDOM = this.measureElementCache.has(\n this.options.getItemKey(index)\n );\n if (elementInDOM) {\n const [toOffset2] = this.getOffsetForIndex(index, align);\n if (!approxEqual(toOffset2, this.scrollOffset)) {\n this.scrollToIndex(index, { align, behavior });\n }\n } else {\n this.scrollToIndex(index, { align, behavior });\n }\n });\n }\n };\n this.scrollBy = (delta, { behavior } = {}) => {\n this.cancelScrollToIndex();\n if (behavior === \"smooth\" && this.isDynamicMode()) {\n console.warn(\n \"The `smooth` scroll behavior is not fully supported with dynamic size.\"\n );\n }\n this._scrollToOffset(this.scrollOffset + delta, {\n adjustments: void 0,\n behavior\n });\n };\n this.getTotalSize = () => {\n var _a;\n const measurements = this.getMeasurements();\n let end;\n if (measurements.length === 0) {\n end = this.options.paddingStart;\n } else {\n end = this.options.lanes === 1 ? ((_a = measurements[measurements.length - 1]) == null ? void 0 : _a.end) ?? 0 : Math.max(\n ...measurements.slice(-this.options.lanes).map((m) => m.end)\n );\n }\n return end - this.options.scrollMargin + this.options.paddingEnd;\n };\n this._scrollToOffset = (offset, {\n adjustments,\n behavior\n }) => {\n this.options.scrollToFn(offset, { behavior, adjustments }, this);\n };\n this.measure = () => {\n var _a, _b;\n this.itemSizeCache = /* @__PURE__ */ new Map();\n (_b = (_a = this.options).onChange) == null ? void 0 : _b.call(_a, this, false);\n };\n this.setOptions(opts);\n this.scrollRect = this.options.initialRect;\n this.scrollOffset = typeof this.options.initialOffset === \"function\" ? this.options.initialOffset() : this.options.initialOffset;\n this.measurementsCache = this.options.initialMeasurementsCache;\n this.measurementsCache.forEach((item) => {\n this.itemSizeCache.set(item.key, item.size);\n });\n this.notify(false, false);\n }\n}\nconst findNearestBinarySearch = (low, high, getCurrentValue, value) => {\n while (low <= high) {\n const middle = (low + high) / 2 | 0;\n const currentValue = getCurrentValue(middle);\n if (currentValue < value) {\n low = middle + 1;\n } else if (currentValue > value) {\n high = middle - 1;\n } else {\n return middle;\n }\n }\n if (low > 0) {\n return low - 1;\n } else {\n return 0;\n }\n};\nfunction calculateRange({\n measurements,\n outerSize,\n scrollOffset\n}) {\n const count = measurements.length - 1;\n const getOffset = (index) => measurements[index].start;\n const startIndex = findNearestBinarySearch(0, count, getOffset, scrollOffset);\n let endIndex = startIndex;\n while (endIndex < count && measurements[endIndex].end < scrollOffset + outerSize) {\n endIndex++;\n }\n return { startIndex, endIndex };\n}\nexport {\n Virtualizer,\n approxEqual,\n debounce,\n defaultKeyExtractor,\n defaultRangeExtractor,\n elementScroll,\n measureElement,\n memo,\n notUndefined,\n observeElementOffset,\n observeElementRect,\n observeWindowOffset,\n observeWindowRect,\n windowScroll\n};\n//# sourceMappingURL=index.js.map\n"],"names":["defaultKeyExtractor","index","defaultRangeExtractor","range","start","end","arr","i","observeElementRect","instance","cb","element","handler","rect","width","height","observer","entries","entry","box","addEventListenerOptions","supportsScrollend","observeElementOffset","offset","fallback","debounce","createHandler","isScrolling","endHandler","measureElement","elementScroll","adjustments","behavior","_a","_b","toOffset","Virtualizer","opts","_ro","get","target","opts2","key","value","force","sync","startIndex","endIndex","d","scrollElement","prevIsScrolling","memo","count","paddingStart","scrollMargin","getItemKey","measurements","furthestMeasurementsFound","furthestMeasurements","m","measurement","previousFurthestMeasurement","a","b","itemSizeCache","min","furthestMeasurement","measuredSize","size","lane","outerSize","scrollOffset","calculateRange","rangeExtractor","overscan","node","attributeName","indexStr","item","cached","prevNode","measuredItemSize","itemSize","delta","indexes","virtualItems","k","len","notUndefined","findNearestBinarySearch","align","scrollSizeProp","maxOffset","initialAlign","toOffset2","approxEqual","low","high","getCurrentValue","middle","currentValue"],"mappings":"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","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"lyra811.js","sources":["../node_modules/framer-motion/dist/es/frameloop/render-step.mjs"],"sourcesContent":["class Queue {\n constructor() {\n this.order = [];\n this.scheduled = new Set();\n }\n add(process) {\n if (!this.scheduled.has(process)) {\n this.scheduled.add(process);\n this.order.push(process);\n return true;\n }\n }\n remove(process) {\n const index = this.order.indexOf(process);\n if (index !== -1) {\n this.order.splice(index, 1);\n this.scheduled.delete(process);\n }\n }\n clear() {\n this.order.length = 0;\n this.scheduled.clear();\n }\n}\nfunction createRenderStep(runNextFrame) {\n /**\n * We create and reuse two queues, one to queue jobs for the current frame\n * and one for the next. We reuse to avoid triggering GC after x frames.\n */\n let thisFrame = new Queue();\n let nextFrame = new Queue();\n let numToRun = 0;\n /**\n * Track whether we're currently processing jobs in this step. This way\n * we can decide whether to schedule new jobs for this frame or next.\n */\n let isProcessing = false;\n let flushNextFrame = false;\n /**\n * A set of processes which were marked keepAlive when scheduled.\n */\n const toKeepAlive = new WeakSet();\n const step = {\n /**\n * Schedule a process to run on the next frame.\n */\n schedule: (callback, keepAlive = false, immediate = false) => {\n const addToCurrentFrame = immediate && isProcessing;\n const queue = addToCurrentFrame ? thisFrame : nextFrame;\n if (keepAlive)\n toKeepAlive.add(callback);\n if (queue.add(callback) && addToCurrentFrame && isProcessing) {\n // If we're adding it to the currently running queue, update its measured size\n numToRun = thisFrame.order.length;\n }\n return callback;\n },\n /**\n * Cancel the provided callback from running on the next frame.\n */\n cancel: (callback) => {\n nextFrame.remove(callback);\n toKeepAlive.delete(callback);\n },\n /**\n * Execute all schedule callbacks.\n */\n process: (frameData) => {\n /**\n * If we're already processing we've probably been triggered by a flushSync\n * inside an existing process. Instead of executing, mark flushNextFrame\n * as true and ensure we flush the following frame at the end of this one.\n */\n if (isProcessing) {\n flushNextFrame = true;\n return;\n }\n isProcessing = true;\n [thisFrame, nextFrame] = [nextFrame, thisFrame];\n // Clear the next frame queue\n nextFrame.clear();\n // Execute this frame\n numToRun = thisFrame.order.length;\n if (numToRun) {\n for (let i = 0; i < numToRun; i++) {\n const callback = thisFrame.order[i];\n if (toKeepAlive.has(callback)) {\n step.schedule(callback);\n runNextFrame();\n }\n callback(frameData);\n }\n }\n isProcessing = false;\n if (flushNextFrame) {\n flushNextFrame = false;\n step.process(frameData);\n }\n },\n };\n return step;\n}\n\nexport { createRenderStep };\n"],"names":["Queue","process","index","createRenderStep","runNextFrame","thisFrame","nextFrame","numToRun","isProcessing","flushNextFrame","toKeepAlive","step","callback","keepAlive","immediate","addToCurrentFrame","queue","frameData","i"],"mappings":"AAAA,MAAMA,EAAM;AAAA,EACR,cAAc;AACV,SAAK,QAAQ,IACb,KAAK,YAAY,oBAAI;EACxB;AAAA,EACD,IAAIC,GAAS;AACT,QAAI,CAAC,KAAK,UAAU,IAAIA,CAAO;AAC3B,kBAAK,UAAU,IAAIA,CAAO,GAC1B,KAAK,MAAM,KAAKA,CAAO,GAChB;AAAA,EAEd;AAAA,EACD,OAAOA,GAAS;AACZ,UAAMC,IAAQ,KAAK,MAAM,QAAQD,CAAO;AACxC,IAAIC,MAAU,OACV,KAAK,MAAM,OAAOA,GAAO,CAAC,GAC1B,KAAK,UAAU,OAAOD,CAAO;AAAA,EAEpC;AAAA,EACD,QAAQ;AACJ,SAAK,MAAM,SAAS,GACpB,KAAK,UAAU;EAClB;AACL;AACA,SAASE,EAAiBC,GAAc;AAKpC,MAAIC,IAAY,IAAIL,KAChBM,IAAY,IAAIN,KAChBO,IAAW,GAKXC,IAAe,IACfC,IAAiB;AAIrB,QAAMC,IAAc,oBAAI,WAClBC,IAAO;AAAA;AAAA;AAAA;AAAA,IAIT,UAAU,CAACC,GAAUC,IAAY,IAAOC,IAAY,OAAU;AAC1D,YAAMC,IAAoBD,KAAaN,GACjCQ,IAAQD,IAAoBV,IAAYC;AAC9C,aAAIO,KACAH,EAAY,IAAIE,CAAQ,GACxBI,EAAM,IAAIJ,CAAQ,KAAKG,KAAqBP,MAE5CD,IAAWF,EAAU,MAAM,SAExBO;AAAA,IACV;AAAA;AAAA;AAAA;AAAA,IAID,QAAQ,CAACA,MAAa;AAClB,MAAAN,EAAU,OAAOM,CAAQ,GACzBF,EAAY,OAAOE,CAAQ;AAAA,IAC9B;AAAA;AAAA;AAAA;AAAA,IAID,SAAS,CAACK,MAAc;AAMpB,UAAIT,GAAc;AACd,QAAAC,IAAiB;AACjB;AAAA,MACH;AAOD,UANAD,IAAe,IACf,CAACH,GAAWC,CAAS,IAAI,CAACA,GAAWD,CAAS,GAE9CC,EAAU,MAAK,GAEfC,IAAWF,EAAU,MAAM,QACvBE;AACA,iBAASW,IAAI,GAAGA,IAAIX,GAAUW,KAAK;AAC/B,gBAAMN,IAAWP,EAAU,MAAMa,CAAC;AAClC,UAAIR,EAAY,IAAIE,CAAQ,MACxBD,EAAK,SAASC,CAAQ,GACtBR,MAEJQ,EAASK,CAAS;AAAA,QACrB;AAEL,MAAAT,IAAe,IACXC,MACAA,IAAiB,IACjBE,EAAK,QAAQM,CAAS;AAAA,IAE7B;AAAA,EACT;AACI,SAAON;AACX;","x_google_ignoreList":[0]}
package/dist/lyra829.cjs CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const b=require("./lyra698.cjs"),S=require("./lyra830.cjs"),j=require("./lyra774.cjs"),P=require("./lyra700.cjs"),q=require("./lyra775.cjs"),m=require("./lyra868.cjs"),k=require("./lyra699.cjs"),u=require("./lyra854.cjs"),B=require("./lyra839.cjs"),T=require("./lyra777.cjs"),y=require("./lyra869.cjs"),w=require("./lyra776.cjs"),R=require("./lyra769.cjs"),V=require("./lyra747.cjs"),G=require("./lyra736.cjs"),O=require("./lyra795.cjs"),W=require("./lyra831.cjs"),M=require("./lyra715.cjs"),L=new WeakMap;class _{constructor(t){this.openGlobalLock=null,this.isDragging=!1,this.currentDirection=null,this.originPoint={x:0,y:0},this.constraints=!1,this.hasMutatedConstraints=!1,this.elastic=k.createBox(),this.visualElement=t}start(t,{snapToCursor:s=!1}={}){const{presenceContext:n}=this.visualElement;if(n&&n.isPresent===!1)return;const e=o=>{const{dragSnapToOrigin:a}=this.getProps();a?this.pauseAnimation():this.stopAnimation(),s&&this.snapToCursor(T.extractEventInfo(o,"page").point)},r=(o,a)=>{const{drag:f,dragPropagation:v,onDragStart:g}=this.getProps();if(f&&!v&&(this.openGlobalLock&&this.openGlobalLock(),this.openGlobalLock=j.getGlobalLock(f),!this.openGlobalLock))return;this.isDragging=!0,this.currentDirection=null,this.resolveConstraints(),this.visualElement.projection&&(this.visualElement.projection.isAnimationBlocked=!0,this.visualElement.projection.target=void 0),u.eachAxis(p=>{let E=this.getAxisMotionValue(p).get()||0;if(G.percent.test(E)){const{projection:C}=this.visualElement;if(C&&C.layout){const D=C.layout.layoutBox[p];D&&(E=R.calcLength(D)*(parseFloat(E)/100))}}this.originPoint[p]=E}),g&&M.frame.update(()=>g(o,a),!1,!0);const{animationState:A}=this.visualElement;A&&A.setActive("whileDrag",!0)},i=(o,a)=>{const{dragPropagation:f,dragDirectionLock:v,onDirectionLock:g,onDrag:A}=this.getProps();if(!f&&!this.openGlobalLock)return;const{offset:p}=a;if(v&&this.currentDirection===null){this.currentDirection=I(p),this.currentDirection!==null&&g&&g(this.currentDirection);return}this.updateAxis("x",a.point,p),this.updateAxis("y",a.point,p),this.visualElement.render(),A&&A(o,a)},l=(o,a)=>this.stop(o,a),c=()=>u.eachAxis(o=>{var a;return this.getAnimationState(o)==="paused"&&((a=this.getAxisMotionValue(o).animation)===null||a===void 0?void 0:a.play())}),{dragSnapToOrigin:h}=this.getProps();this.panSession=new S.PanSession(t,{onSessionStart:e,onStart:r,onMove:i,onSessionEnd:l,resumeAnimation:c},{transformPagePoint:this.visualElement.getTransformPagePoint(),dragSnapToOrigin:h,contextWindow:W.getContextWindow(this.visualElement)})}stop(t,s){const n=this.isDragging;if(this.cancel(),!n)return;const{velocity:e}=s;this.startAnimation(e);const{onDragEnd:r}=this.getProps();r&&M.frame.update(()=>r(t,s))}cancel(){this.isDragging=!1;const{projection:t,animationState:s}=this.visualElement;t&&(t.isAnimationBlocked=!1),this.panSession&&this.panSession.end(),this.panSession=void 0;const{dragPropagation:n}=this.getProps();!n&&this.openGlobalLock&&(this.openGlobalLock(),this.openGlobalLock=null),s&&s.setActive("whileDrag",!1)}updateAxis(t,s,n){const{drag:e}=this.getProps();if(!n||!x(t,e,this.currentDirection))return;const r=this.getAxisMotionValue(t);let i=this.originPoint[t]+n[t];this.constraints&&this.constraints[t]&&(i=m.applyConstraints(i,this.constraints[t],this.elastic[t])),r.set(i)}resolveConstraints(){var t;const{dragConstraints:s,dragElastic:n}=this.getProps(),e=this.visualElement.projection&&!this.visualElement.projection.layout?this.visualElement.projection.measure(!1):(t=this.visualElement.projection)===null||t===void 0?void 0:t.layout,r=this.constraints;s&&P.isRefObject(s)?this.constraints||(this.constraints=this.resolveRefConstraints()):s&&e?this.constraints=m.calcRelativeConstraints(e.layoutBox,s):this.constraints=!1,this.elastic=m.resolveDragElastic(n),r!==this.constraints&&e&&this.constraints&&!this.hasMutatedConstraints&&u.eachAxis(i=>{this.getAxisMotionValue(i)&&(this.constraints[i]=m.rebaseAxisConstraints(e.layoutBox[i],this.constraints[i]))})}resolveRefConstraints(){const{dragConstraints:t,onMeasureDragConstraints:s}=this.getProps();if(!t||!P.isRefObject(t))return!1;const n=t.current;b.invariant(n!==null,"If `dragConstraints` is set as a React ref, that ref must be passed to another component's `ref` prop.");const{projection:e}=this.visualElement;if(!e||!e.layout)return!1;const r=B.measurePageBox(n,e.root,this.visualElement.getTransformPagePoint());let i=m.calcViewportConstraints(e.layout.layoutBox,r);if(s){const l=s(y.convertBoxToBoundingBox(i));this.hasMutatedConstraints=!!l,l&&(i=y.convertBoundingBoxToBox(l))}return i}startAnimation(t){const{drag:s,dragMomentum:n,dragElastic:e,dragTransition:r,dragSnapToOrigin:i,onDragTransitionEnd:l}=this.getProps(),c=this.constraints||{},h=u.eachAxis(o=>{if(!x(o,s,this.currentDirection))return;let a=c&&c[o]||{};i&&(a={min:0,max:0});const f=e?200:1e6,v=e?40:1e7,g={type:"inertia",velocity:n?t[o]:0,bounceStiffness:f,bounceDamping:v,timeConstant:750,restDelta:1,restSpeed:10,...r,...a};return this.startAxisValueAnimation(o,g)});return Promise.all(h).then(l)}startAxisValueAnimation(t,s){const n=this.getAxisMotionValue(t);return n.start(O.animateMotionValue(t,n,0,s))}stopAnimation(){u.eachAxis(t=>this.getAxisMotionValue(t).stop())}pauseAnimation(){u.eachAxis(t=>{var s;return(s=this.getAxisMotionValue(t).animation)===null||s===void 0?void 0:s.pause()})}getAnimationState(t){var s;return(s=this.getAxisMotionValue(t).animation)===null||s===void 0?void 0:s.state}getAxisMotionValue(t){const s="_drag"+t.toUpperCase(),n=this.visualElement.getProps(),e=n[s];return e||this.visualElement.getValue(t,(n.initial?n.initial[t]:void 0)||0)}snapToCursor(t){u.eachAxis(s=>{const{drag:n}=this.getProps();if(!x(s,n,this.currentDirection))return;const{projection:e}=this.visualElement,r=this.getAxisMotionValue(s);if(e&&e.layout){const{min:i,max:l}=e.layout.layoutBox[s];r.set(t[s]-V.mix(i,l,.5))}})}scalePositionWithinConstraints(){if(!this.visualElement.current)return;const{drag:t,dragConstraints:s}=this.getProps(),{projection:n}=this.visualElement;if(!P.isRefObject(s)||!n||!this.constraints)return;this.stopAnimation();const e={x:0,y:0};u.eachAxis(i=>{const l=this.getAxisMotionValue(i);if(l){const c=l.get();e[i]=m.calcOrigin({min:c,max:c},this.constraints[i])}});const{transformTemplate:r}=this.visualElement.getProps();this.visualElement.current.style.transform=r?r({},""):"none",n.root&&n.root.updateScroll(),n.updateLayout(),this.resolveConstraints(),u.eachAxis(i=>{if(!x(i,t,null))return;const l=this.getAxisMotionValue(i),{min:c,max:h}=this.constraints[i];l.set(V.mix(c,h,e[i]))})}addListeners(){if(!this.visualElement.current)return;L.set(this.visualElement,this);const t=this.visualElement.current,s=q.addPointerEvent(t,"pointerdown",c=>{const{drag:h,dragListener:o=!0}=this.getProps();h&&o&&this.start(c)}),n=()=>{const{dragConstraints:c}=this.getProps();P.isRefObject(c)&&(this.constraints=this.resolveRefConstraints())},{projection:e}=this.visualElement,r=e.addEventListener("measure",n);e&&!e.layout&&(e.root&&e.root.updateScroll(),e.updateLayout()),n();const i=w.addDomEvent(window,"resize",()=>this.scalePositionWithinConstraints()),l=e.addEventListener("didUpdate",({delta:c,hasLayoutChanged:h})=>{this.isDragging&&h&&(u.eachAxis(o=>{const a=this.getAxisMotionValue(o);a&&(this.originPoint[o]+=c[o].translate,a.set(a.get()+c[o].translate))}),this.visualElement.render())});return()=>{i(),s(),r(),l&&l()}}getProps(){const t=this.visualElement.getProps(),{drag:s=!1,dragDirectionLock:n=!1,dragPropagation:e=!1,dragConstraints:r=!1,dragElastic:i=m.defaultElastic,dragMomentum:l=!0}=t;return{...t,drag:s,dragDirectionLock:n,dragPropagation:e,dragConstraints:r,dragElastic:i,dragMomentum:l}}}function x(d,t,s){return(t===!0||t===d)&&(s===null||s===d)}function I(d,t=10){let s=null;return Math.abs(d.y)>t?s="y":Math.abs(d.x)>t&&(s="x"),s}exports.VisualElementDragControls=_;exports.elementDragControls=L;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=(r,e)=>e?r===e?!0:t(r,e.parentElement):!1;exports.isNodeOrChild=t;
@@ -1 +1 @@
1
- {"version":3,"file":"lyra829.cjs","sources":["../node_modules/framer-motion/dist/es/gestures/drag/VisualElementDragControls.mjs"],"sourcesContent":["import { invariant } from '../../utils/errors.mjs';\nimport { PanSession } from '../pan/PanSession.mjs';\nimport { getGlobalLock } from './utils/lock.mjs';\nimport { isRefObject } from '../../utils/is-ref-object.mjs';\nimport { addPointerEvent } from '../../events/add-pointer-event.mjs';\nimport { applyConstraints, calcRelativeConstraints, resolveDragElastic, calcViewportConstraints, defaultElastic, rebaseAxisConstraints, calcOrigin } from './utils/constraints.mjs';\nimport { createBox } from '../../projection/geometry/models.mjs';\nimport { eachAxis } from '../../projection/utils/each-axis.mjs';\nimport { measurePageBox } from '../../projection/utils/measure.mjs';\nimport { extractEventInfo } from '../../events/event-info.mjs';\nimport { convertBoxToBoundingBox, convertBoundingBoxToBox } from '../../projection/geometry/conversion.mjs';\nimport { addDomEvent } from '../../events/add-dom-event.mjs';\nimport { calcLength } from '../../projection/geometry/delta-calc.mjs';\nimport { mix } from '../../utils/mix.mjs';\nimport { percent } from '../../value/types/numbers/units.mjs';\nimport { animateMotionValue } from '../../animation/interfaces/motion-value.mjs';\nimport { getContextWindow } from '../../utils/get-context-window.mjs';\nimport { frame } from '../../frameloop/frame.mjs';\n\nconst elementDragControls = new WeakMap();\n/**\n *\n */\n// let latestPointerEvent: PointerEvent\nclass VisualElementDragControls {\n constructor(visualElement) {\n // This is a reference to the global drag gesture lock, ensuring only one component\n // can \"capture\" the drag of one or both axes.\n // TODO: Look into moving this into pansession?\n this.openGlobalLock = null;\n this.isDragging = false;\n this.currentDirection = null;\n this.originPoint = { x: 0, y: 0 };\n /**\n * The permitted boundaries of travel, in pixels.\n */\n this.constraints = false;\n this.hasMutatedConstraints = false;\n /**\n * The per-axis resolved elastic values.\n */\n this.elastic = createBox();\n this.visualElement = visualElement;\n }\n start(originEvent, { snapToCursor = false } = {}) {\n /**\n * Don't start dragging if this component is exiting\n */\n const { presenceContext } = this.visualElement;\n if (presenceContext && presenceContext.isPresent === false)\n return;\n const onSessionStart = (event) => {\n const { dragSnapToOrigin } = this.getProps();\n // Stop or pause any animations on both axis values immediately. This allows the user to throw and catch\n // the component.\n dragSnapToOrigin ? this.pauseAnimation() : this.stopAnimation();\n if (snapToCursor) {\n this.snapToCursor(extractEventInfo(event, \"page\").point);\n }\n };\n const onStart = (event, info) => {\n // Attempt to grab the global drag gesture lock - maybe make this part of PanSession\n const { drag, dragPropagation, onDragStart } = this.getProps();\n if (drag && !dragPropagation) {\n if (this.openGlobalLock)\n this.openGlobalLock();\n this.openGlobalLock = getGlobalLock(drag);\n // If we don 't have the lock, don't start dragging\n if (!this.openGlobalLock)\n return;\n }\n this.isDragging = true;\n this.currentDirection = null;\n this.resolveConstraints();\n if (this.visualElement.projection) {\n this.visualElement.projection.isAnimationBlocked = true;\n this.visualElement.projection.target = undefined;\n }\n /**\n * Record gesture origin\n */\n eachAxis((axis) => {\n let current = this.getAxisMotionValue(axis).get() || 0;\n /**\n * If the MotionValue is a percentage value convert to px\n */\n if (percent.test(current)) {\n const { projection } = this.visualElement;\n if (projection && projection.layout) {\n const measuredAxis = projection.layout.layoutBox[axis];\n if (measuredAxis) {\n const length = calcLength(measuredAxis);\n current = length * (parseFloat(current) / 100);\n }\n }\n }\n this.originPoint[axis] = current;\n });\n // Fire onDragStart event\n if (onDragStart) {\n frame.update(() => onDragStart(event, info), false, true);\n }\n const { animationState } = this.visualElement;\n animationState && animationState.setActive(\"whileDrag\", true);\n };\n const onMove = (event, info) => {\n // latestPointerEvent = event\n const { dragPropagation, dragDirectionLock, onDirectionLock, onDrag, } = this.getProps();\n // If we didn't successfully receive the gesture lock, early return.\n if (!dragPropagation && !this.openGlobalLock)\n return;\n const { offset } = info;\n // Attempt to detect drag direction if directionLock is true\n if (dragDirectionLock && this.currentDirection === null) {\n this.currentDirection = getCurrentDirection(offset);\n // If we've successfully set a direction, notify listener\n if (this.currentDirection !== null) {\n onDirectionLock && onDirectionLock(this.currentDirection);\n }\n return;\n }\n // Update each point with the latest position\n this.updateAxis(\"x\", info.point, offset);\n this.updateAxis(\"y\", info.point, offset);\n /**\n * Ideally we would leave the renderer to fire naturally at the end of\n * this frame but if the element is about to change layout as the result\n * of a re-render we want to ensure the browser can read the latest\n * bounding box to ensure the pointer and element don't fall out of sync.\n */\n this.visualElement.render();\n /**\n * This must fire after the render call as it might trigger a state\n * change which itself might trigger a layout update.\n */\n onDrag && onDrag(event, info);\n };\n const onSessionEnd = (event, info) => this.stop(event, info);\n const resumeAnimation = () => eachAxis((axis) => {\n var _a;\n return this.getAnimationState(axis) === \"paused\" &&\n ((_a = this.getAxisMotionValue(axis).animation) === null || _a === void 0 ? void 0 : _a.play());\n });\n const { dragSnapToOrigin } = this.getProps();\n this.panSession = new PanSession(originEvent, {\n onSessionStart,\n onStart,\n onMove,\n onSessionEnd,\n resumeAnimation,\n }, {\n transformPagePoint: this.visualElement.getTransformPagePoint(),\n dragSnapToOrigin,\n contextWindow: getContextWindow(this.visualElement),\n });\n }\n stop(event, info) {\n const isDragging = this.isDragging;\n this.cancel();\n if (!isDragging)\n return;\n const { velocity } = info;\n this.startAnimation(velocity);\n const { onDragEnd } = this.getProps();\n if (onDragEnd) {\n frame.update(() => onDragEnd(event, info));\n }\n }\n cancel() {\n this.isDragging = false;\n const { projection, animationState } = this.visualElement;\n if (projection) {\n projection.isAnimationBlocked = false;\n }\n this.panSession && this.panSession.end();\n this.panSession = undefined;\n const { dragPropagation } = this.getProps();\n if (!dragPropagation && this.openGlobalLock) {\n this.openGlobalLock();\n this.openGlobalLock = null;\n }\n animationState && animationState.setActive(\"whileDrag\", false);\n }\n updateAxis(axis, _point, offset) {\n const { drag } = this.getProps();\n // If we're not dragging this axis, do an early return.\n if (!offset || !shouldDrag(axis, drag, this.currentDirection))\n return;\n const axisValue = this.getAxisMotionValue(axis);\n let next = this.originPoint[axis] + offset[axis];\n // Apply constraints\n if (this.constraints && this.constraints[axis]) {\n next = applyConstraints(next, this.constraints[axis], this.elastic[axis]);\n }\n axisValue.set(next);\n }\n resolveConstraints() {\n var _a;\n const { dragConstraints, dragElastic } = this.getProps();\n const layout = this.visualElement.projection &&\n !this.visualElement.projection.layout\n ? this.visualElement.projection.measure(false)\n : (_a = this.visualElement.projection) === null || _a === void 0 ? void 0 : _a.layout;\n const prevConstraints = this.constraints;\n if (dragConstraints && isRefObject(dragConstraints)) {\n if (!this.constraints) {\n this.constraints = this.resolveRefConstraints();\n }\n }\n else {\n if (dragConstraints && layout) {\n this.constraints = calcRelativeConstraints(layout.layoutBox, dragConstraints);\n }\n else {\n this.constraints = false;\n }\n }\n this.elastic = resolveDragElastic(dragElastic);\n /**\n * If we're outputting to external MotionValues, we want to rebase the measured constraints\n * from viewport-relative to component-relative.\n */\n if (prevConstraints !== this.constraints &&\n layout &&\n this.constraints &&\n !this.hasMutatedConstraints) {\n eachAxis((axis) => {\n if (this.getAxisMotionValue(axis)) {\n this.constraints[axis] = rebaseAxisConstraints(layout.layoutBox[axis], this.constraints[axis]);\n }\n });\n }\n }\n resolveRefConstraints() {\n const { dragConstraints: constraints, onMeasureDragConstraints } = this.getProps();\n if (!constraints || !isRefObject(constraints))\n return false;\n const constraintsElement = constraints.current;\n invariant(constraintsElement !== null, \"If `dragConstraints` is set as a React ref, that ref must be passed to another component's `ref` prop.\");\n const { projection } = this.visualElement;\n // TODO\n if (!projection || !projection.layout)\n return false;\n const constraintsBox = measurePageBox(constraintsElement, projection.root, this.visualElement.getTransformPagePoint());\n let measuredConstraints = calcViewportConstraints(projection.layout.layoutBox, constraintsBox);\n /**\n * If there's an onMeasureDragConstraints listener we call it and\n * if different constraints are returned, set constraints to that\n */\n if (onMeasureDragConstraints) {\n const userConstraints = onMeasureDragConstraints(convertBoxToBoundingBox(measuredConstraints));\n this.hasMutatedConstraints = !!userConstraints;\n if (userConstraints) {\n measuredConstraints = convertBoundingBoxToBox(userConstraints);\n }\n }\n return measuredConstraints;\n }\n startAnimation(velocity) {\n const { drag, dragMomentum, dragElastic, dragTransition, dragSnapToOrigin, onDragTransitionEnd, } = this.getProps();\n const constraints = this.constraints || {};\n const momentumAnimations = eachAxis((axis) => {\n if (!shouldDrag(axis, drag, this.currentDirection)) {\n return;\n }\n let transition = (constraints && constraints[axis]) || {};\n if (dragSnapToOrigin)\n transition = { min: 0, max: 0 };\n /**\n * Overdamp the boundary spring if `dragElastic` is disabled. There's still a frame\n * of spring animations so we should look into adding a disable spring option to `inertia`.\n * We could do something here where we affect the `bounceStiffness` and `bounceDamping`\n * using the value of `dragElastic`.\n */\n const bounceStiffness = dragElastic ? 200 : 1000000;\n const bounceDamping = dragElastic ? 40 : 10000000;\n const inertia = {\n type: \"inertia\",\n velocity: dragMomentum ? velocity[axis] : 0,\n bounceStiffness,\n bounceDamping,\n timeConstant: 750,\n restDelta: 1,\n restSpeed: 10,\n ...dragTransition,\n ...transition,\n };\n // If we're not animating on an externally-provided `MotionValue` we can use the\n // component's animation controls which will handle interactions with whileHover (etc),\n // otherwise we just have to animate the `MotionValue` itself.\n return this.startAxisValueAnimation(axis, inertia);\n });\n // Run all animations and then resolve the new drag constraints.\n return Promise.all(momentumAnimations).then(onDragTransitionEnd);\n }\n startAxisValueAnimation(axis, transition) {\n const axisValue = this.getAxisMotionValue(axis);\n return axisValue.start(animateMotionValue(axis, axisValue, 0, transition));\n }\n stopAnimation() {\n eachAxis((axis) => this.getAxisMotionValue(axis).stop());\n }\n pauseAnimation() {\n eachAxis((axis) => { var _a; return (_a = this.getAxisMotionValue(axis).animation) === null || _a === void 0 ? void 0 : _a.pause(); });\n }\n getAnimationState(axis) {\n var _a;\n return (_a = this.getAxisMotionValue(axis).animation) === null || _a === void 0 ? void 0 : _a.state;\n }\n /**\n * Drag works differently depending on which props are provided.\n *\n * - If _dragX and _dragY are provided, we output the gesture delta directly to those motion values.\n * - Otherwise, we apply the delta to the x/y motion values.\n */\n getAxisMotionValue(axis) {\n const dragKey = \"_drag\" + axis.toUpperCase();\n const props = this.visualElement.getProps();\n const externalMotionValue = props[dragKey];\n return externalMotionValue\n ? externalMotionValue\n : this.visualElement.getValue(axis, (props.initial ? props.initial[axis] : undefined) || 0);\n }\n snapToCursor(point) {\n eachAxis((axis) => {\n const { drag } = this.getProps();\n // If we're not dragging this axis, do an early return.\n if (!shouldDrag(axis, drag, this.currentDirection))\n return;\n const { projection } = this.visualElement;\n const axisValue = this.getAxisMotionValue(axis);\n if (projection && projection.layout) {\n const { min, max } = projection.layout.layoutBox[axis];\n axisValue.set(point[axis] - mix(min, max, 0.5));\n }\n });\n }\n /**\n * When the viewport resizes we want to check if the measured constraints\n * have changed and, if so, reposition the element within those new constraints\n * relative to where it was before the resize.\n */\n scalePositionWithinConstraints() {\n if (!this.visualElement.current)\n return;\n const { drag, dragConstraints } = this.getProps();\n const { projection } = this.visualElement;\n if (!isRefObject(dragConstraints) || !projection || !this.constraints)\n return;\n /**\n * Stop current animations as there can be visual glitching if we try to do\n * this mid-animation\n */\n this.stopAnimation();\n /**\n * Record the relative position of the dragged element relative to the\n * constraints box and save as a progress value.\n */\n const boxProgress = { x: 0, y: 0 };\n eachAxis((axis) => {\n const axisValue = this.getAxisMotionValue(axis);\n if (axisValue) {\n const latest = axisValue.get();\n boxProgress[axis] = calcOrigin({ min: latest, max: latest }, this.constraints[axis]);\n }\n });\n /**\n * Update the layout of this element and resolve the latest drag constraints\n */\n const { transformTemplate } = this.visualElement.getProps();\n this.visualElement.current.style.transform = transformTemplate\n ? transformTemplate({}, \"\")\n : \"none\";\n projection.root && projection.root.updateScroll();\n projection.updateLayout();\n this.resolveConstraints();\n /**\n * For each axis, calculate the current progress of the layout axis\n * within the new constraints.\n */\n eachAxis((axis) => {\n if (!shouldDrag(axis, drag, null))\n return;\n /**\n * Calculate a new transform based on the previous box progress\n */\n const axisValue = this.getAxisMotionValue(axis);\n const { min, max } = this.constraints[axis];\n axisValue.set(mix(min, max, boxProgress[axis]));\n });\n }\n addListeners() {\n if (!this.visualElement.current)\n return;\n elementDragControls.set(this.visualElement, this);\n const element = this.visualElement.current;\n /**\n * Attach a pointerdown event listener on this DOM element to initiate drag tracking.\n */\n const stopPointerListener = addPointerEvent(element, \"pointerdown\", (event) => {\n const { drag, dragListener = true } = this.getProps();\n drag && dragListener && this.start(event);\n });\n const measureDragConstraints = () => {\n const { dragConstraints } = this.getProps();\n if (isRefObject(dragConstraints)) {\n this.constraints = this.resolveRefConstraints();\n }\n };\n const { projection } = this.visualElement;\n const stopMeasureLayoutListener = projection.addEventListener(\"measure\", measureDragConstraints);\n if (projection && !projection.layout) {\n projection.root && projection.root.updateScroll();\n projection.updateLayout();\n }\n measureDragConstraints();\n /**\n * Attach a window resize listener to scale the draggable target within its defined\n * constraints as the window resizes.\n */\n const stopResizeListener = addDomEvent(window, \"resize\", () => this.scalePositionWithinConstraints());\n /**\n * If the element's layout changes, calculate the delta and apply that to\n * the drag gesture's origin point.\n */\n const stopLayoutUpdateListener = projection.addEventListener(\"didUpdate\", (({ delta, hasLayoutChanged }) => {\n if (this.isDragging && hasLayoutChanged) {\n eachAxis((axis) => {\n const motionValue = this.getAxisMotionValue(axis);\n if (!motionValue)\n return;\n this.originPoint[axis] += delta[axis].translate;\n motionValue.set(motionValue.get() + delta[axis].translate);\n });\n this.visualElement.render();\n }\n }));\n return () => {\n stopResizeListener();\n stopPointerListener();\n stopMeasureLayoutListener();\n stopLayoutUpdateListener && stopLayoutUpdateListener();\n };\n }\n getProps() {\n const props = this.visualElement.getProps();\n const { drag = false, dragDirectionLock = false, dragPropagation = false, dragConstraints = false, dragElastic = defaultElastic, dragMomentum = true, } = props;\n return {\n ...props,\n drag,\n dragDirectionLock,\n dragPropagation,\n dragConstraints,\n dragElastic,\n dragMomentum,\n };\n }\n}\nfunction shouldDrag(direction, drag, currentDirection) {\n return ((drag === true || drag === direction) &&\n (currentDirection === null || currentDirection === direction));\n}\n/**\n * Based on an x/y offset determine the current drag direction. If both axis' offsets are lower\n * than the provided threshold, return `null`.\n *\n * @param offset - The x/y offset from origin.\n * @param lockThreshold - (Optional) - the minimum absolute offset before we can determine a drag direction.\n */\nfunction getCurrentDirection(offset, lockThreshold = 10) {\n let direction = null;\n if (Math.abs(offset.y) > lockThreshold) {\n direction = \"y\";\n }\n else if (Math.abs(offset.x) > lockThreshold) {\n direction = \"x\";\n }\n return direction;\n}\n\nexport { VisualElementDragControls, elementDragControls };\n"],"names":["elementDragControls","VisualElementDragControls","visualElement","createBox","originEvent","snapToCursor","presenceContext","onSessionStart","event","dragSnapToOrigin","extractEventInfo","onStart","info","drag","dragPropagation","onDragStart","getGlobalLock","eachAxis","axis","current","percent","projection","measuredAxis","calcLength","frame","animationState","onMove","dragDirectionLock","onDirectionLock","onDrag","offset","getCurrentDirection","onSessionEnd","resumeAnimation","_a","PanSession","getContextWindow","isDragging","velocity","onDragEnd","_point","shouldDrag","axisValue","next","applyConstraints","dragConstraints","dragElastic","layout","prevConstraints","isRefObject","calcRelativeConstraints","resolveDragElastic","rebaseAxisConstraints","constraints","onMeasureDragConstraints","constraintsElement","invariant","constraintsBox","measurePageBox","measuredConstraints","calcViewportConstraints","userConstraints","convertBoxToBoundingBox","convertBoundingBoxToBox","dragMomentum","dragTransition","onDragTransitionEnd","momentumAnimations","transition","bounceStiffness","bounceDamping","inertia","animateMotionValue","dragKey","props","externalMotionValue","point","min","max","mix","boxProgress","latest","calcOrigin","transformTemplate","element","stopPointerListener","addPointerEvent","dragListener","measureDragConstraints","stopMeasureLayoutListener","stopResizeListener","addDomEvent","stopLayoutUpdateListener","delta","hasLayoutChanged","motionValue","defaultElastic","direction","currentDirection","lockThreshold"],"mappings":"4jBAmBMA,EAAsB,IAAI,QAKhC,MAAMC,CAA0B,CAC5B,YAAYC,EAAe,CAIvB,KAAK,eAAiB,KACtB,KAAK,WAAa,GAClB,KAAK,iBAAmB,KACxB,KAAK,YAAc,CAAE,EAAG,EAAG,EAAG,GAI9B,KAAK,YAAc,GACnB,KAAK,sBAAwB,GAI7B,KAAK,QAAUC,EAAAA,YACf,KAAK,cAAgBD,CACxB,CACD,MAAME,EAAa,CAAE,aAAAC,EAAe,EAAK,EAAK,CAAA,EAAI,CAI9C,KAAM,CAAE,gBAAAC,CAAe,EAAK,KAAK,cACjC,GAAIA,GAAmBA,EAAgB,YAAc,GACjD,OACJ,MAAMC,EAAkBC,GAAU,CAC9B,KAAM,CAAE,iBAAAC,CAAgB,EAAK,KAAK,SAAQ,EAG1CA,EAAmB,KAAK,eAAgB,EAAG,KAAK,cAAa,EACzDJ,GACA,KAAK,aAAaK,EAAgB,iBAACF,EAAO,MAAM,EAAE,KAAK,CAEvE,EACcG,EAAU,CAACH,EAAOI,IAAS,CAE7B,KAAM,CAAE,KAAAC,EAAM,gBAAAC,EAAiB,YAAAC,CAAW,EAAK,KAAK,WACpD,GAAIF,GAAQ,CAACC,IACL,KAAK,gBACL,KAAK,eAAc,EACvB,KAAK,eAAiBE,gBAAcH,CAAI,EAEpC,CAAC,KAAK,gBACN,OAER,KAAK,WAAa,GAClB,KAAK,iBAAmB,KACxB,KAAK,mBAAkB,EACnB,KAAK,cAAc,aACnB,KAAK,cAAc,WAAW,mBAAqB,GACnD,KAAK,cAAc,WAAW,OAAS,QAK3CI,EAAQ,SAAEC,GAAS,CACf,IAAIC,EAAU,KAAK,mBAAmBD,CAAI,EAAE,IAAK,GAAI,EAIrD,GAAIE,EAAO,QAAC,KAAKD,CAAO,EAAG,CACvB,KAAM,CAAE,WAAAE,CAAU,EAAK,KAAK,cAC5B,GAAIA,GAAcA,EAAW,OAAQ,CACjC,MAAMC,EAAeD,EAAW,OAAO,UAAUH,CAAI,EACjDI,IAEAH,EADeI,aAAWD,CAAY,GAClB,WAAWH,CAAO,EAAI,KAEjD,CACJ,CACD,KAAK,YAAYD,CAAI,EAAIC,CACzC,CAAa,EAEGJ,GACAS,QAAM,OAAO,IAAMT,EAAYP,EAAOI,CAAI,EAAG,GAAO,EAAI,EAE5D,KAAM,CAAE,eAAAa,CAAc,EAAK,KAAK,cAChCA,GAAkBA,EAAe,UAAU,YAAa,EAAI,CACxE,EACcC,EAAS,CAAClB,EAAOI,IAAS,CAE5B,KAAM,CAAE,gBAAAE,EAAiB,kBAAAa,EAAmB,gBAAAC,EAAiB,OAAAC,GAAY,KAAK,WAE9E,GAAI,CAACf,GAAmB,CAAC,KAAK,eAC1B,OACJ,KAAM,CAAE,OAAAgB,CAAQ,EAAGlB,EAEnB,GAAIe,GAAqB,KAAK,mBAAqB,KAAM,CACrD,KAAK,iBAAmBI,EAAoBD,CAAM,EAE9C,KAAK,mBAAqB,MAC1BF,GAAmBA,EAAgB,KAAK,gBAAgB,EAE5D,MACH,CAED,KAAK,WAAW,IAAKhB,EAAK,MAAOkB,CAAM,EACvC,KAAK,WAAW,IAAKlB,EAAK,MAAOkB,CAAM,EAOvC,KAAK,cAAc,SAKnBD,GAAUA,EAAOrB,EAAOI,CAAI,CACxC,EACcoB,EAAe,CAACxB,EAAOI,IAAS,KAAK,KAAKJ,EAAOI,CAAI,EACrDqB,EAAkB,IAAMhB,WAAUC,GAAS,CAC7C,IAAIgB,EACJ,OAAO,KAAK,kBAAkBhB,CAAI,IAAM,YAClCgB,EAAK,KAAK,mBAAmBhB,CAAI,EAAE,aAAe,MAAQgB,IAAO,OAAS,OAASA,EAAG,KAAM,EAC9G,CAAS,EACK,CAAE,iBAAAzB,CAAgB,EAAK,KAAK,SAAQ,EAC1C,KAAK,WAAa,IAAI0B,EAAU,WAAC/B,EAAa,CAC1C,eAAAG,EACA,QAAAI,EACA,OAAAe,EACA,aAAAM,EACA,gBAAAC,CACZ,EAAW,CACC,mBAAoB,KAAK,cAAc,sBAAuB,EAC9D,iBAAAxB,EACA,cAAe2B,EAAAA,iBAAiB,KAAK,aAAa,CAC9D,CAAS,CACJ,CACD,KAAK5B,EAAOI,EAAM,CACd,MAAMyB,EAAa,KAAK,WAExB,GADA,KAAK,OAAM,EACP,CAACA,EACD,OACJ,KAAM,CAAE,SAAAC,CAAU,EAAG1B,EACrB,KAAK,eAAe0B,CAAQ,EAC5B,KAAM,CAAE,UAAAC,CAAS,EAAK,KAAK,SAAQ,EAC/BA,GACAf,EAAK,MAAC,OAAO,IAAMe,EAAU/B,EAAOI,CAAI,CAAC,CAEhD,CACD,QAAS,CACL,KAAK,WAAa,GAClB,KAAM,CAAE,WAAAS,EAAY,eAAAI,GAAmB,KAAK,cACxCJ,IACAA,EAAW,mBAAqB,IAEpC,KAAK,YAAc,KAAK,WAAW,IAAG,EACtC,KAAK,WAAa,OAClB,KAAM,CAAE,gBAAAP,CAAe,EAAK,KAAK,SAAQ,EACrC,CAACA,GAAmB,KAAK,iBACzB,KAAK,eAAc,EACnB,KAAK,eAAiB,MAE1BW,GAAkBA,EAAe,UAAU,YAAa,EAAK,CAChE,CACD,WAAWP,EAAMsB,EAAQV,EAAQ,CAC7B,KAAM,CAAE,KAAAjB,CAAI,EAAK,KAAK,SAAQ,EAE9B,GAAI,CAACiB,GAAU,CAACW,EAAWvB,EAAML,EAAM,KAAK,gBAAgB,EACxD,OACJ,MAAM6B,EAAY,KAAK,mBAAmBxB,CAAI,EAC9C,IAAIyB,EAAO,KAAK,YAAYzB,CAAI,EAAIY,EAAOZ,CAAI,EAE3C,KAAK,aAAe,KAAK,YAAYA,CAAI,IACzCyB,EAAOC,EAAgB,iBAACD,EAAM,KAAK,YAAYzB,CAAI,EAAG,KAAK,QAAQA,CAAI,CAAC,GAE5EwB,EAAU,IAAIC,CAAI,CACrB,CACD,oBAAqB,CACjB,IAAIT,EACJ,KAAM,CAAE,gBAAAW,EAAiB,YAAAC,CAAa,EAAG,KAAK,SAAQ,EAChDC,EAAS,KAAK,cAAc,YAC9B,CAAC,KAAK,cAAc,WAAW,OAC7B,KAAK,cAAc,WAAW,QAAQ,EAAK,GAC1Cb,EAAK,KAAK,cAAc,cAAgB,MAAQA,IAAO,OAAS,OAASA,EAAG,OAC7Ec,EAAkB,KAAK,YACzBH,GAAmBI,cAAYJ,CAAe,EACzC,KAAK,cACN,KAAK,YAAc,KAAK,yBAIxBA,GAAmBE,EACnB,KAAK,YAAcG,EAAuB,wBAACH,EAAO,UAAWF,CAAe,EAG5E,KAAK,YAAc,GAG3B,KAAK,QAAUM,qBAAmBL,CAAW,EAKzCE,IAAoB,KAAK,aACzBD,GACA,KAAK,aACL,CAAC,KAAK,uBACN9B,EAAQ,SAAEC,GAAS,CACX,KAAK,mBAAmBA,CAAI,IAC5B,KAAK,YAAYA,CAAI,EAAIkC,EAAqB,sBAACL,EAAO,UAAU7B,CAAI,EAAG,KAAK,YAAYA,CAAI,CAAC,EAEjH,CAAa,CAER,CACD,uBAAwB,CACpB,KAAM,CAAE,gBAAiBmC,EAAa,yBAAAC,CAAwB,EAAK,KAAK,WACxE,GAAI,CAACD,GAAe,CAACJ,EAAW,YAACI,CAAW,EACxC,MAAO,GACX,MAAME,EAAqBF,EAAY,QACvCG,EAAAA,UAAUD,IAAuB,KAAM,wGAAwG,EAC/I,KAAM,CAAE,WAAAlC,CAAU,EAAK,KAAK,cAE5B,GAAI,CAACA,GAAc,CAACA,EAAW,OAC3B,MAAO,GACX,MAAMoC,EAAiBC,iBAAeH,EAAoBlC,EAAW,KAAM,KAAK,cAAc,sBAAqB,CAAE,EACrH,IAAIsC,EAAsBC,EAAAA,wBAAwBvC,EAAW,OAAO,UAAWoC,CAAc,EAK7F,GAAIH,EAA0B,CAC1B,MAAMO,EAAkBP,EAAyBQ,0BAAwBH,CAAmB,CAAC,EAC7F,KAAK,sBAAwB,CAAC,CAACE,EAC3BA,IACAF,EAAsBI,EAAAA,wBAAwBF,CAAe,EAEpE,CACD,OAAOF,CACV,CACD,eAAerB,EAAU,CACrB,KAAM,CAAE,KAAAzB,EAAM,aAAAmD,EAAc,YAAAlB,EAAa,eAAAmB,EAAgB,iBAAAxD,EAAkB,oBAAAyD,CAAsB,EAAG,KAAK,WACnGb,EAAc,KAAK,aAAe,GAClCc,EAAqBlD,WAAUC,GAAS,CAC1C,GAAI,CAACuB,EAAWvB,EAAML,EAAM,KAAK,gBAAgB,EAC7C,OAEJ,IAAIuD,EAAcf,GAAeA,EAAYnC,CAAI,GAAM,CAAA,EACnDT,IACA2D,EAAa,CAAE,IAAK,EAAG,IAAK,CAAC,GAOjC,MAAMC,EAAkBvB,EAAc,IAAM,IACtCwB,EAAgBxB,EAAc,GAAK,IACnCyB,EAAU,CACZ,KAAM,UACN,SAAUP,EAAe1B,EAASpB,CAAI,EAAI,EAC1C,gBAAAmD,EACA,cAAAC,EACA,aAAc,IACd,UAAW,EACX,UAAW,GACX,GAAGL,EACH,GAAGG,CACnB,EAIY,OAAO,KAAK,wBAAwBlD,EAAMqD,CAAO,CAC7D,CAAS,EAED,OAAO,QAAQ,IAAIJ,CAAkB,EAAE,KAAKD,CAAmB,CAClE,CACD,wBAAwBhD,EAAMkD,EAAY,CACtC,MAAM1B,EAAY,KAAK,mBAAmBxB,CAAI,EAC9C,OAAOwB,EAAU,MAAM8B,qBAAmBtD,EAAMwB,EAAW,EAAG0B,CAAU,CAAC,CAC5E,CACD,eAAgB,CACZnD,EAAQ,SAAEC,GAAS,KAAK,mBAAmBA,CAAI,EAAE,KAAI,CAAE,CAC1D,CACD,gBAAiB,CACbD,WAAUC,GAAS,CAAE,IAAIgB,EAAI,OAAQA,EAAK,KAAK,mBAAmBhB,CAAI,EAAE,aAAe,MAAQgB,IAAO,OAAS,OAASA,EAAG,OAAQ,CAAE,CACxI,CACD,kBAAkBhB,EAAM,CACpB,IAAIgB,EACJ,OAAQA,EAAK,KAAK,mBAAmBhB,CAAI,EAAE,aAAe,MAAQgB,IAAO,OAAS,OAASA,EAAG,KACjG,CAOD,mBAAmBhB,EAAM,CACrB,MAAMuD,EAAU,QAAUvD,EAAK,YAAW,EACpCwD,EAAQ,KAAK,cAAc,SAAQ,EACnCC,EAAsBD,EAAMD,CAAO,EACzC,OAAOE,GAED,KAAK,cAAc,SAASzD,GAAOwD,EAAM,QAAUA,EAAM,QAAQxD,CAAI,EAAI,SAAc,CAAC,CACjG,CACD,aAAa0D,EAAO,CAChB3D,EAAQ,SAAEC,GAAS,CACf,KAAM,CAAE,KAAAL,CAAI,EAAK,KAAK,SAAQ,EAE9B,GAAI,CAAC4B,EAAWvB,EAAML,EAAM,KAAK,gBAAgB,EAC7C,OACJ,KAAM,CAAE,WAAAQ,CAAU,EAAK,KAAK,cACtBqB,EAAY,KAAK,mBAAmBxB,CAAI,EAC9C,GAAIG,GAAcA,EAAW,OAAQ,CACjC,KAAM,CAAE,IAAAwD,EAAK,IAAAC,CAAK,EAAGzD,EAAW,OAAO,UAAUH,CAAI,EACrDwB,EAAU,IAAIkC,EAAM1D,CAAI,EAAI6D,EAAG,IAACF,EAAKC,EAAK,EAAG,CAAC,CACjD,CACb,CAAS,CACJ,CAMD,gCAAiC,CAC7B,GAAI,CAAC,KAAK,cAAc,QACpB,OACJ,KAAM,CAAE,KAAAjE,EAAM,gBAAAgC,CAAiB,EAAG,KAAK,SAAQ,EACzC,CAAE,WAAAxB,CAAU,EAAK,KAAK,cAC5B,GAAI,CAAC4B,EAAW,YAACJ,CAAe,GAAK,CAACxB,GAAc,CAAC,KAAK,YACtD,OAKJ,KAAK,cAAa,EAKlB,MAAM2D,EAAc,CAAE,EAAG,EAAG,EAAG,CAAC,EAChC/D,EAAQ,SAAEC,GAAS,CACf,MAAMwB,EAAY,KAAK,mBAAmBxB,CAAI,EAC9C,GAAIwB,EAAW,CACX,MAAMuC,EAASvC,EAAU,MACzBsC,EAAY9D,CAAI,EAAIgE,aAAW,CAAE,IAAKD,EAAQ,IAAKA,CAAQ,EAAE,KAAK,YAAY/D,CAAI,CAAC,CACtF,CACb,CAAS,EAID,KAAM,CAAE,kBAAAiE,CAAmB,EAAG,KAAK,cAAc,SAAQ,EACzD,KAAK,cAAc,QAAQ,MAAM,UAAYA,EACvCA,EAAkB,CAAE,EAAE,EAAE,EACxB,OACN9D,EAAW,MAAQA,EAAW,KAAK,aAAY,EAC/CA,EAAW,aAAY,EACvB,KAAK,mBAAkB,EAKvBJ,EAAQ,SAAEC,GAAS,CACf,GAAI,CAACuB,EAAWvB,EAAML,EAAM,IAAI,EAC5B,OAIJ,MAAM6B,EAAY,KAAK,mBAAmBxB,CAAI,EACxC,CAAE,IAAA2D,EAAK,IAAAC,CAAG,EAAK,KAAK,YAAY5D,CAAI,EAC1CwB,EAAU,IAAIqC,EAAAA,IAAIF,EAAKC,EAAKE,EAAY9D,CAAI,CAAC,CAAC,CAC1D,CAAS,CACJ,CACD,cAAe,CACX,GAAI,CAAC,KAAK,cAAc,QACpB,OACJlB,EAAoB,IAAI,KAAK,cAAe,IAAI,EAChD,MAAMoF,EAAU,KAAK,cAAc,QAI7BC,EAAsBC,EAAe,gBAACF,EAAS,cAAgB5E,GAAU,CAC3E,KAAM,CAAE,KAAAK,EAAM,aAAA0E,EAAe,EAAI,EAAK,KAAK,WAC3C1E,GAAQ0E,GAAgB,KAAK,MAAM/E,CAAK,CACpD,CAAS,EACKgF,EAAyB,IAAM,CACjC,KAAM,CAAE,gBAAA3C,CAAe,EAAK,KAAK,SAAQ,EACrCI,EAAAA,YAAYJ,CAAe,IAC3B,KAAK,YAAc,KAAK,wBAExC,EACc,CAAE,WAAAxB,CAAU,EAAK,KAAK,cACtBoE,EAA4BpE,EAAW,iBAAiB,UAAWmE,CAAsB,EAC3FnE,GAAc,CAACA,EAAW,SAC1BA,EAAW,MAAQA,EAAW,KAAK,aAAY,EAC/CA,EAAW,aAAY,GAE3BmE,IAKA,MAAME,EAAqBC,EAAAA,YAAY,OAAQ,SAAU,IAAM,KAAK,+BAA8B,CAAE,EAK9FC,EAA2BvE,EAAW,iBAAiB,YAAc,CAAC,CAAE,MAAAwE,EAAO,iBAAAC,KAAuB,CACpG,KAAK,YAAcA,IACnB7E,EAAQ,SAAEC,GAAS,CACf,MAAM6E,EAAc,KAAK,mBAAmB7E,CAAI,EAC3C6E,IAEL,KAAK,YAAY7E,CAAI,GAAK2E,EAAM3E,CAAI,EAAE,UACtC6E,EAAY,IAAIA,EAAY,IAAG,EAAKF,EAAM3E,CAAI,EAAE,SAAS,EAC7E,CAAiB,EACD,KAAK,cAAc,SAEnC,GACQ,MAAO,IAAM,CACTwE,IACAL,IACAI,IACAG,GAA4BA,EAAwB,CAChE,CACK,CACD,UAAW,CACP,MAAMlB,EAAQ,KAAK,cAAc,SAAQ,EACnC,CAAE,KAAA7D,EAAO,GAAO,kBAAAc,EAAoB,GAAO,gBAAAb,EAAkB,GAAO,gBAAA+B,EAAkB,GAAO,YAAAC,EAAckD,EAAc,eAAE,aAAAhC,EAAe,EAAI,EAAMU,EAC1J,MAAO,CACH,GAAGA,EACH,KAAA7D,EACA,kBAAAc,EACA,gBAAAb,EACA,gBAAA+B,EACA,YAAAC,EACA,aAAAkB,CACZ,CACK,CACL,CACA,SAASvB,EAAWwD,EAAWpF,EAAMqF,EAAkB,CACnD,OAASrF,IAAS,IAAQA,IAASoF,KAC9BC,IAAqB,MAAQA,IAAqBD,EAC3D,CAQA,SAASlE,EAAoBD,EAAQqE,EAAgB,GAAI,CACrD,IAAIF,EAAY,KAChB,OAAI,KAAK,IAAInE,EAAO,CAAC,EAAIqE,EACrBF,EAAY,IAEP,KAAK,IAAInE,EAAO,CAAC,EAAIqE,IAC1BF,EAAY,KAETA,CACX","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"lyra829.cjs","sources":["../node_modules/framer-motion/dist/es/gestures/utils/is-node-or-child.mjs"],"sourcesContent":["/**\n * Recursively traverse up the tree to check whether the provided child node\n * is the parent or a descendant of it.\n *\n * @param parent - Element to find\n * @param child - Element to test against parent\n */\nconst isNodeOrChild = (parent, child) => {\n if (!child) {\n return false;\n }\n else if (parent === child) {\n return true;\n }\n else {\n return isNodeOrChild(parent, child.parentElement);\n }\n};\n\nexport { isNodeOrChild };\n"],"names":["isNodeOrChild","parent","child"],"mappings":"gFAOK,MAACA,EAAgB,CAACC,EAAQC,IACtBA,EAGID,IAAWC,EACT,GAGAF,EAAcC,EAAQC,EAAM,aAAa,EANzC","x_google_ignoreList":[0]}