bitboss-ui 2.1.91 → 2.1.93

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 (188) hide show
  1. package/dist/components/BbTab/BbTab.vue.d.ts +120 -91
  2. package/dist/index107.js +9 -9
  3. package/dist/index114.js +1 -1
  4. package/dist/index120.js +239 -167
  5. package/dist/index122.js +12 -12
  6. package/dist/index13.js +2 -2
  7. package/dist/index130.js +1 -1
  8. package/dist/index132.js +5 -5
  9. package/dist/index134.js +1 -1
  10. package/dist/index136.js +2 -2
  11. package/dist/index141.js +2 -2
  12. package/dist/index142.js +1 -1
  13. package/dist/index15.js +5 -5
  14. package/dist/index17.js +3 -3
  15. package/dist/index19.js +8 -8
  16. package/dist/index21.js +14 -14
  17. package/dist/index215.js +138 -2
  18. package/dist/index216.js +2 -138
  19. package/dist/index217.js +1 -1
  20. package/dist/index218.js +1 -1
  21. package/dist/index219.js +4 -5
  22. package/dist/index220.js +13 -5
  23. package/dist/index221.js +20 -5
  24. package/dist/index222.js +201 -5
  25. package/dist/index224.js +135 -2
  26. package/dist/index226.js +7 -8
  27. package/dist/index227.js +2 -268
  28. package/dist/index228.js +2 -52
  29. package/dist/index229.js +188 -52
  30. package/dist/index23.js +11 -11
  31. package/dist/index230.js +3 -32
  32. package/dist/index231.js +12 -59
  33. package/dist/index232.js +13 -13
  34. package/dist/index233.js +3 -4
  35. package/dist/index234.js +4 -20
  36. package/dist/index235.js +9 -200
  37. package/dist/index236.js +5 -0
  38. package/dist/index237.js +4 -135
  39. package/dist/index238.js +5 -0
  40. package/dist/index239.js +9 -10
  41. package/dist/index240.js +8 -3
  42. package/dist/index241.js +3 -4
  43. package/dist/index242.js +29 -3
  44. package/dist/index243.js +16 -86
  45. package/dist/index244.js +19 -0
  46. package/dist/index245.js +48 -26
  47. package/dist/index246.js +11 -16
  48. package/dist/index247.js +32 -50
  49. package/dist/index248.js +28 -15
  50. package/dist/index25.js +3 -3
  51. package/dist/index250.js +22 -15
  52. package/dist/index251.js +5 -34
  53. package/dist/index252.js +5 -9
  54. package/dist/index253.js +5 -13
  55. package/dist/index254.js +5 -23
  56. package/dist/index255.js +2 -9
  57. package/dist/index256.js +6 -23
  58. package/dist/index257.js +8 -2
  59. package/dist/index258.js +268 -2
  60. package/dist/index259.js +52 -4
  61. package/dist/index260.js +50 -7
  62. package/dist/index261.js +31 -52
  63. package/dist/index262.js +60 -2
  64. package/dist/index263.js +86 -2
  65. package/dist/index265.js +14 -32
  66. package/dist/index266.js +32 -26
  67. package/dist/index267.js +11 -0
  68. package/dist/index268.js +8 -10
  69. package/dist/index269.js +23 -5
  70. package/dist/index27.js +1 -1
  71. package/dist/index270.js +6 -3
  72. package/dist/index271.js +16 -6
  73. package/dist/index272.js +52 -15
  74. package/dist/index273.js +2 -106
  75. package/dist/index274.js +9 -0
  76. package/dist/index275.js +7 -100
  77. package/dist/index277.js +2 -3
  78. package/dist/index278.js +2 -13
  79. package/dist/index279.js +3 -5
  80. package/dist/index280.js +18 -5
  81. package/dist/index281.js +12 -5
  82. package/dist/index282.js +106 -3
  83. package/dist/index284.js +100 -7
  84. package/dist/index286.js +229 -3
  85. package/dist/index287.js +33 -2
  86. package/dist/index288.js +3 -7
  87. package/dist/index289.js +67 -7
  88. package/dist/index29.js +2 -2
  89. package/dist/index290.js +11 -67
  90. package/dist/index291.js +5 -18
  91. package/dist/index292.js +5 -12
  92. package/dist/index293.js +5 -229
  93. package/dist/index294.js +7 -0
  94. package/dist/index295.js +1 -1
  95. package/dist/index296.js +1 -1
  96. package/dist/index297.js +7 -17
  97. package/dist/index299.js +1 -1
  98. package/dist/index300.js +5 -3
  99. package/dist/index301.js +3 -6
  100. package/dist/index302.js +3 -280
  101. package/dist/index303.js +17 -2
  102. package/dist/index304.js +27 -15
  103. package/dist/index305.js +280 -2
  104. package/dist/index306.js +2 -16
  105. package/dist/index307.js +16 -2
  106. package/dist/index308.js +2 -27
  107. package/dist/index309.js +16 -2
  108. package/dist/index31.js +2 -2
  109. package/dist/index310.js +2 -2
  110. package/dist/index311.js +27 -2
  111. package/dist/index312.js +2 -2
  112. package/dist/index313.js +1 -1
  113. package/dist/index314.js +1 -1
  114. package/dist/index315.js +1 -1
  115. package/dist/index316.js +2 -4
  116. package/dist/index317.js +2 -5
  117. package/dist/index318.js +2 -719
  118. package/dist/index319.js +716 -363
  119. package/dist/index320.js +366 -57
  120. package/dist/index321.js +57 -3
  121. package/dist/index322.js +4 -3
  122. package/dist/index323.js +3 -4
  123. package/dist/index324.js +3 -6
  124. package/dist/index325.js +2 -5
  125. package/dist/index326.js +5 -124
  126. package/dist/index327.js +5 -2
  127. package/dist/index328.js +2 -15
  128. package/dist/index329.js +8 -2
  129. package/dist/index33.js +8 -8
  130. package/dist/index330.js +5 -18
  131. package/dist/index331.js +8 -2
  132. package/dist/index332.js +5 -2
  133. package/dist/index333.js +6 -7
  134. package/dist/index334.js +6 -5
  135. package/dist/index335.js +19 -8
  136. package/dist/index336.js +9 -5
  137. package/dist/index337.js +14 -6
  138. package/dist/index338.js +226 -33
  139. package/dist/index339.js +35 -6
  140. package/dist/index340.js +6 -129
  141. package/dist/index341.js +113 -382
  142. package/dist/index342.js +397 -6
  143. package/dist/index343.js +57 -18
  144. package/dist/index344.js +58 -9
  145. package/dist/index345.js +124 -14
  146. package/dist/index346.js +2 -58
  147. package/dist/index347.js +15 -58
  148. package/dist/index348.js +2 -22
  149. package/dist/index349.js +21 -0
  150. package/dist/index35.js +4 -4
  151. package/dist/index350.js +2 -2
  152. package/dist/index351.js +21 -227
  153. package/dist/index353.js +130 -89
  154. package/dist/index354.js +43 -437
  155. package/dist/index355.js +91 -126
  156. package/dist/index356.js +515 -42
  157. package/dist/index357.js +424 -503
  158. package/dist/index358.js +126 -48
  159. package/dist/index359.js +52 -0
  160. package/dist/index37.js +18 -18
  161. package/dist/index39.js +6 -6
  162. package/dist/index41.js +2 -2
  163. package/dist/index43.js +8 -8
  164. package/dist/index45.js +6 -6
  165. package/dist/index49.js +2 -2
  166. package/dist/index53.js +1 -1
  167. package/dist/index55.js +1 -1
  168. package/dist/index57.js +2 -2
  169. package/dist/index61.js +5 -5
  170. package/dist/index67.js +1 -1
  171. package/dist/index80.js +6 -6
  172. package/dist/index82.js +1 -1
  173. package/dist/index84.js +2 -2
  174. package/dist/index86.js +17 -17
  175. package/dist/index88.js +1 -1
  176. package/dist/index91.js +3 -3
  177. package/dist/index93.js +2 -2
  178. package/dist/index95.js +5 -5
  179. package/dist/utilities/functions/merge.d.ts +11 -1
  180. package/package.json +3 -3
  181. package/dist/index223.js +0 -5
  182. package/dist/index225.js +0 -8
  183. package/dist/index249.js +0 -14
  184. package/dist/index283.js +0 -10
  185. package/dist/index285.js +0 -190
  186. package/dist/index298.js +0 -30
  187. package/dist/index352.js +0 -136
  188. /package/dist/{index264.js → index276.js} +0 -0
package/dist/index357.js CHANGED
@@ -1,522 +1,443 @@
1
- import { debounce as I, memo as p, notUndefined as O, approxEqual as A } from "./index358.js";
2
- const y = (r) => {
3
- const { offsetWidth: h, offsetHeight: e } = r;
4
- return { width: h, height: e };
5
- }, R = (r) => r, F = (r) => {
6
- const h = Math.max(r.startIndex - r.overscan, 0), e = Math.min(r.endIndex + r.overscan, r.count - 1), s = [];
7
- for (let t = h; t <= e; t++)
8
- s.push(t);
9
- return s;
10
- }, W = (r, h) => {
11
- const e = r.scrollElement;
12
- if (!e)
13
- return;
14
- const s = r.targetWindow;
15
- if (!s)
16
- return;
17
- const t = (i) => {
18
- const { width: o, height: a } = i;
19
- h({ width: Math.round(o), height: Math.round(a) });
20
- };
21
- if (t(y(e)), !s.ResizeObserver)
22
- return () => {
23
- };
24
- const n = new s.ResizeObserver((i) => {
25
- const o = () => {
26
- const a = i[0];
27
- if (a?.borderBoxSize) {
28
- const d = a.borderBoxSize[0];
29
- if (d) {
30
- t({ width: d.inlineSize, height: d.blockSize });
31
- return;
32
- }
1
+ import { evaluate as V, getSide as j, getSideAxis as L, getOppositePlacement as Q, getExpandedPlacements as U, getOppositeAxisPlacements as Z, getAlignmentSides as ee, clamp as Y, getPaddingObject as G, rectToClientRect as _, getAlignment as X, getOppositeAxis as te, sides as ne, getAlignmentAxis as J, getAxisLength as K, min as z } from "./index358.js";
2
+ function I(t, e, f) {
3
+ let {
4
+ reference: s,
5
+ floating: c
6
+ } = t;
7
+ const n = L(e), o = J(e), l = K(o), g = j(e), u = n === "y", d = s.x + s.width / 2 - c.width / 2, a = s.y + s.height / 2 - c.height / 2, m = s[l] / 2 - c[l] / 2;
8
+ let i;
9
+ switch (g) {
10
+ case "top":
11
+ i = {
12
+ x: d,
13
+ y: s.y - c.height
14
+ };
15
+ break;
16
+ case "bottom":
17
+ i = {
18
+ x: d,
19
+ y: s.y + s.height
20
+ };
21
+ break;
22
+ case "right":
23
+ i = {
24
+ x: s.x + s.width,
25
+ y: a
26
+ };
27
+ break;
28
+ case "left":
29
+ i = {
30
+ x: s.x - c.width,
31
+ y: a
32
+ };
33
+ break;
34
+ default:
35
+ i = {
36
+ x: s.x,
37
+ y: s.y
38
+ };
39
+ }
40
+ switch (X(e)) {
41
+ case "start":
42
+ i[o] -= m * (f && u ? -1 : 1);
43
+ break;
44
+ case "end":
45
+ i[o] += m * (f && u ? -1 : 1);
46
+ break;
47
+ }
48
+ return i;
49
+ }
50
+ const ae = async (t, e, f) => {
51
+ const {
52
+ placement: s = "bottom",
53
+ strategy: c = "absolute",
54
+ middleware: n = [],
55
+ platform: o
56
+ } = f, l = n.filter(Boolean), g = await (o.isRTL == null ? void 0 : o.isRTL(e));
57
+ let u = await o.getElementRects({
58
+ reference: t,
59
+ floating: e,
60
+ strategy: c
61
+ }), {
62
+ x: d,
63
+ y: a
64
+ } = I(u, s, g), m = s, i = {}, r = 0;
65
+ for (let w = 0; w < l.length; w++) {
66
+ const {
67
+ name: x,
68
+ fn: y
69
+ } = l[w], {
70
+ x: p,
71
+ y: v,
72
+ data: b,
73
+ reset: h
74
+ } = await y({
75
+ x: d,
76
+ y: a,
77
+ initialPlacement: s,
78
+ placement: m,
79
+ strategy: c,
80
+ middlewareData: i,
81
+ rects: u,
82
+ platform: o,
83
+ elements: {
84
+ reference: t,
85
+ floating: e
33
86
  }
34
- t(y(e));
35
- };
36
- r.options.useAnimationFrameWithResizeObserver ? requestAnimationFrame(o) : o();
37
- });
38
- return n.observe(e, { box: "border-box" }), () => {
39
- n.unobserve(e);
40
- };
41
- }, M = {
42
- passive: !0
43
- }, w = typeof window > "u" ? !0 : "onscrollend" in window, D = (r, h) => {
44
- const e = r.scrollElement;
45
- if (!e)
46
- return;
47
- const s = r.targetWindow;
48
- if (!s)
49
- return;
50
- let t = 0;
51
- const n = r.options.useScrollendEvent && w ? () => {
52
- } : I(
53
- s,
54
- () => {
55
- h(t, !1);
56
- },
57
- r.options.isScrollingResetDelay
58
- ), i = (c) => () => {
59
- const { horizontal: u, isRtl: l } = r.options;
60
- t = u ? e.scrollLeft * (l && -1 || 1) : e.scrollTop, n(), h(t, c);
61
- }, o = i(!0), a = i(!1);
62
- a(), e.addEventListener("scroll", o, M);
63
- const d = r.options.useScrollendEvent && w;
64
- return d && e.addEventListener("scrollend", a, M), () => {
65
- e.removeEventListener("scroll", o), d && e.removeEventListener("scrollend", a);
66
- };
67
- }, _ = (r, h, e) => {
68
- if (h?.borderBoxSize) {
69
- const s = h.borderBoxSize[0];
70
- if (s)
71
- return Math.round(
72
- s[e.options.horizontal ? "inlineSize" : "blockSize"]
73
- );
87
+ });
88
+ d = p ?? d, a = v ?? a, i = {
89
+ ...i,
90
+ [x]: {
91
+ ...i[x],
92
+ ...b
93
+ }
94
+ }, h && r <= 50 && (r++, typeof h == "object" && (h.placement && (m = h.placement), h.rects && (u = h.rects === !0 ? await o.getElementRects({
95
+ reference: t,
96
+ floating: e,
97
+ strategy: c
98
+ }) : h.rects), {
99
+ x: d,
100
+ y: a
101
+ } = I(u, m, g)), w = -1);
74
102
  }
75
- return r[e.options.horizontal ? "offsetWidth" : "offsetHeight"];
76
- }, L = (r, {
77
- adjustments: h = 0,
78
- behavior: e
79
- }, s) => {
80
- var t, n;
81
- const i = r + h;
82
- (n = (t = s.scrollElement) == null ? void 0 : t.scrollTo) == null || n.call(t, {
83
- [s.options.horizontal ? "left" : "top"]: i,
84
- behavior: e
85
- });
103
+ return {
104
+ x: d,
105
+ y: a,
106
+ placement: m,
107
+ strategy: c,
108
+ middlewareData: i
109
+ };
86
110
  };
87
- class T {
88
- constructor(h) {
89
- this.unsubs = [], this.scrollElement = null, this.targetWindow = null, this.isScrolling = !1, this.measurementsCache = [], this.itemSizeCache = /* @__PURE__ */ new Map(), this.laneAssignments = /* @__PURE__ */ new Map(), this.pendingMeasuredCacheIndexes = [], this.prevLanes = void 0, this.lanesChangedFlag = !1, this.lanesSettling = !1, this.scrollRect = null, this.scrollOffset = null, this.scrollDirection = null, this.scrollAdjustments = 0, this.elementsCache = /* @__PURE__ */ new Map(), this.observer = /* @__PURE__ */ (() => {
90
- let e = null;
91
- const s = () => e || (!this.targetWindow || !this.targetWindow.ResizeObserver ? null : e = new this.targetWindow.ResizeObserver((t) => {
92
- t.forEach((n) => {
93
- const i = () => {
94
- this._measureElement(n.target, n);
95
- };
96
- this.options.useAnimationFrameWithResizeObserver ? requestAnimationFrame(i) : i();
97
- });
98
- }));
99
- return {
100
- disconnect: () => {
101
- var t;
102
- (t = s()) == null || t.disconnect(), e = null;
103
- },
104
- observe: (t) => {
105
- var n;
106
- return (n = s()) == null ? void 0 : n.observe(t, { box: "border-box" });
107
- },
108
- unobserve: (t) => {
109
- var n;
110
- return (n = s()) == null ? void 0 : n.unobserve(t);
111
+ async function $(t, e) {
112
+ var f;
113
+ e === void 0 && (e = {});
114
+ const {
115
+ x: s,
116
+ y: c,
117
+ platform: n,
118
+ rects: o,
119
+ elements: l,
120
+ strategy: g
121
+ } = t, {
122
+ boundary: u = "clippingAncestors",
123
+ rootBoundary: d = "viewport",
124
+ elementContext: a = "floating",
125
+ altBoundary: m = !1,
126
+ padding: i = 0
127
+ } = V(e, t), r = G(i), x = l[m ? a === "floating" ? "reference" : "floating" : a], y = _(await n.getClippingRect({
128
+ element: (f = await (n.isElement == null ? void 0 : n.isElement(x))) == null || f ? x : x.contextElement || await (n.getDocumentElement == null ? void 0 : n.getDocumentElement(l.floating)),
129
+ boundary: u,
130
+ rootBoundary: d,
131
+ strategy: g
132
+ })), p = a === "floating" ? {
133
+ x: s,
134
+ y: c,
135
+ width: o.floating.width,
136
+ height: o.floating.height
137
+ } : o.reference, v = await (n.getOffsetParent == null ? void 0 : n.getOffsetParent(l.floating)), b = await (n.isElement == null ? void 0 : n.isElement(v)) ? await (n.getScale == null ? void 0 : n.getScale(v)) || {
138
+ x: 1,
139
+ y: 1
140
+ } : {
141
+ x: 1,
142
+ y: 1
143
+ }, h = _(n.convertOffsetParentRelativeRectToViewportRelativeRect ? await n.convertOffsetParentRelativeRectToViewportRelativeRect({
144
+ elements: l,
145
+ rect: p,
146
+ offsetParent: v,
147
+ strategy: g
148
+ }) : p);
149
+ return {
150
+ top: (y.top - h.top + r.top) / b.y,
151
+ bottom: (h.bottom - y.bottom + r.bottom) / b.y,
152
+ left: (y.left - h.left + r.left) / b.x,
153
+ right: (h.right - y.right + r.right) / b.x
154
+ };
155
+ }
156
+ const ce = (t) => ({
157
+ name: "arrow",
158
+ options: t,
159
+ async fn(e) {
160
+ const {
161
+ x: f,
162
+ y: s,
163
+ placement: c,
164
+ rects: n,
165
+ platform: o,
166
+ elements: l,
167
+ middlewareData: g
168
+ } = e, {
169
+ element: u,
170
+ padding: d = 0
171
+ } = V(t, e) || {};
172
+ if (u == null)
173
+ return {};
174
+ const a = G(d), m = {
175
+ x: f,
176
+ y: s
177
+ }, i = J(c), r = K(i), w = await o.getDimensions(u), x = i === "y", y = x ? "top" : "left", p = x ? "bottom" : "right", v = x ? "clientHeight" : "clientWidth", b = n.reference[r] + n.reference[i] - m[i] - n.floating[r], h = m[i] - n.reference[i], F = await (o.getOffsetParent == null ? void 0 : o.getOffsetParent(u));
178
+ let k = F ? F[v] : 0;
179
+ (!k || !await (o.isElement == null ? void 0 : o.isElement(F))) && (k = l.floating[v] || n.floating[r]);
180
+ const B = b / 2 - h / 2, D = k / 2 - w[r] / 2 - 1, R = z(a[y], D), H = z(a[p], D), E = R, M = k - w[r] - H, A = k / 2 - w[r] / 2 + B, T = Y(E, A, M), C = !g.arrow && X(c) != null && A !== T && n.reference[r] / 2 - (A < E ? R : H) - w[r] / 2 < 0, P = C ? A < E ? A - E : A - M : 0;
181
+ return {
182
+ [i]: m[i] + P,
183
+ data: {
184
+ [i]: T,
185
+ centerOffset: A - T - P,
186
+ ...C && {
187
+ alignmentOffset: P
111
188
  }
112
- };
113
- })(), this.range = null, this.setOptions = (e) => {
114
- Object.entries(e).forEach(([s, t]) => {
115
- typeof t > "u" && delete e[s];
116
- }), this.options = {
117
- debug: !1,
118
- initialOffset: 0,
119
- overscan: 1,
120
- paddingStart: 0,
121
- paddingEnd: 0,
122
- scrollPaddingStart: 0,
123
- scrollPaddingEnd: 0,
124
- horizontal: !1,
125
- getItemKey: R,
126
- rangeExtractor: F,
127
- onChange: () => {
128
- },
129
- measureElement: _,
130
- initialRect: { width: 0, height: 0 },
131
- scrollMargin: 0,
132
- gap: 0,
133
- indexAttribute: "data-index",
134
- initialMeasurementsCache: [],
135
- lanes: 1,
136
- isScrollingResetDelay: 150,
137
- enabled: !0,
138
- isRtl: !1,
139
- useScrollendEvent: !1,
140
- useAnimationFrameWithResizeObserver: !1,
141
- ...e
142
- };
143
- }, this.notify = (e) => {
144
- var s, t;
145
- (t = (s = this.options).onChange) == null || t.call(s, this, e);
146
- }, this.maybeNotify = p(
147
- () => (this.calculateRange(), [
148
- this.isScrolling,
149
- this.range ? this.range.startIndex : null,
150
- this.range ? this.range.endIndex : null
151
- ]),
152
- (e) => {
153
- this.notify(e);
154
189
  },
155
- {
156
- key: process.env.NODE_ENV !== "production" && "maybeNotify",
157
- debug: () => this.options.debug,
158
- initialDeps: [
159
- this.isScrolling,
160
- this.range ? this.range.startIndex : null,
161
- this.range ? this.range.endIndex : null
162
- ]
163
- }
164
- ), this.cleanup = () => {
165
- this.unsubs.filter(Boolean).forEach((e) => e()), this.unsubs = [], this.observer.disconnect(), this.scrollElement = null, this.targetWindow = null;
166
- }, this._didMount = () => () => {
167
- this.cleanup();
168
- }, this._willUpdate = () => {
169
- var e;
170
- const s = this.options.enabled ? this.options.getScrollElement() : null;
171
- if (this.scrollElement !== s) {
172
- if (this.cleanup(), !s) {
173
- this.maybeNotify();
174
- return;
175
- }
176
- this.scrollElement = s, this.scrollElement && "ownerDocument" in this.scrollElement ? this.targetWindow = this.scrollElement.ownerDocument.defaultView : this.targetWindow = ((e = this.scrollElement) == null ? void 0 : e.window) ?? null, this.elementsCache.forEach((t) => {
177
- this.observer.observe(t);
178
- }), this._scrollToOffset(this.getScrollOffset(), {
179
- adjustments: void 0,
180
- behavior: void 0
181
- }), this.unsubs.push(
182
- this.options.observeElementRect(this, (t) => {
183
- this.scrollRect = t, this.maybeNotify();
184
- })
185
- ), this.unsubs.push(
186
- this.options.observeElementOffset(this, (t, n) => {
187
- this.scrollAdjustments = 0, this.scrollDirection = n ? this.getScrollOffset() < t ? "forward" : "backward" : null, this.scrollOffset = t, this.isScrolling = n, this.maybeNotify();
188
- })
189
- );
190
+ reset: C
191
+ };
192
+ }
193
+ }), le = function(t) {
194
+ return t === void 0 && (t = {}), {
195
+ name: "flip",
196
+ options: t,
197
+ async fn(e) {
198
+ var f, s;
199
+ const {
200
+ placement: c,
201
+ middlewareData: n,
202
+ rects: o,
203
+ initialPlacement: l,
204
+ platform: g,
205
+ elements: u
206
+ } = e, {
207
+ mainAxis: d = !0,
208
+ crossAxis: a = !0,
209
+ fallbackPlacements: m,
210
+ fallbackStrategy: i = "bestFit",
211
+ fallbackAxisSideDirection: r = "none",
212
+ flipAlignment: w = !0,
213
+ ...x
214
+ } = V(t, e);
215
+ if ((f = n.arrow) != null && f.alignmentOffset)
216
+ return {};
217
+ const y = j(c), p = L(l), v = j(l) === l, b = await (g.isRTL == null ? void 0 : g.isRTL(u.floating)), h = m || (v || !w ? [Q(l)] : U(l)), F = r !== "none";
218
+ !m && F && h.push(...Z(l, w, r, b));
219
+ const k = [l, ...h], B = await $(e, x), D = [];
220
+ let R = ((s = n.flip) == null ? void 0 : s.overflows) || [];
221
+ if (d && D.push(B[y]), a) {
222
+ const A = ee(c, o, b);
223
+ D.push(B[A[0]], B[A[1]]);
190
224
  }
191
- }, this.getSize = () => this.options.enabled ? (this.scrollRect = this.scrollRect ?? this.options.initialRect, this.scrollRect[this.options.horizontal ? "width" : "height"]) : (this.scrollRect = null, 0), this.getScrollOffset = () => this.options.enabled ? (this.scrollOffset = this.scrollOffset ?? (typeof this.options.initialOffset == "function" ? this.options.initialOffset() : this.options.initialOffset), this.scrollOffset) : (this.scrollOffset = null, 0), this.getFurthestMeasurement = (e, s) => {
192
- const t = /* @__PURE__ */ new Map(), n = /* @__PURE__ */ new Map();
193
- for (let i = s - 1; i >= 0; i--) {
194
- const o = e[i];
195
- if (t.has(o.lane))
196
- continue;
197
- const a = n.get(
198
- o.lane
199
- );
200
- if (a == null || o.end > a.end ? n.set(o.lane, o) : o.end < a.end && t.set(o.lane, !0), t.size === this.options.lanes)
201
- break;
225
+ if (R = [...R, {
226
+ placement: c,
227
+ overflows: D
228
+ }], !D.every((A) => A <= 0)) {
229
+ var H, E;
230
+ const A = (((H = n.flip) == null ? void 0 : H.index) || 0) + 1, T = k[A];
231
+ if (T && (!(a === "alignment" ? p !== L(T) : !1) || // We leave the current main axis only if every placement on that axis
232
+ // overflows the main axis.
233
+ R.every((O) => L(O.placement) === p ? O.overflows[0] > 0 : !0)))
234
+ return {
235
+ data: {
236
+ index: A,
237
+ overflows: R
238
+ },
239
+ reset: {
240
+ placement: T
241
+ }
242
+ };
243
+ let C = (E = R.filter((P) => P.overflows[0] <= 0).sort((P, O) => P.overflows[1] - O.overflows[1])[0]) == null ? void 0 : E.placement;
244
+ if (!C)
245
+ switch (i) {
246
+ case "bestFit": {
247
+ var M;
248
+ const P = (M = R.filter((O) => {
249
+ if (F) {
250
+ const S = L(O.placement);
251
+ return S === p || // Create a bias to the `y` side axis due to horizontal
252
+ // reading directions favoring greater width.
253
+ S === "y";
254
+ }
255
+ return !0;
256
+ }).map((O) => [O.placement, O.overflows.filter((S) => S > 0).reduce((S, N) => S + N, 0)]).sort((O, S) => O[1] - S[1])[0]) == null ? void 0 : M[0];
257
+ P && (C = P);
258
+ break;
259
+ }
260
+ case "initialPlacement":
261
+ C = l;
262
+ break;
263
+ }
264
+ if (c !== C)
265
+ return {
266
+ reset: {
267
+ placement: C
268
+ }
269
+ };
202
270
  }
203
- 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;
204
- }, this.getMeasurementOptions = p(
205
- () => [
206
- this.options.count,
207
- this.options.paddingStart,
208
- this.options.scrollMargin,
209
- this.options.getItemKey,
210
- this.options.enabled,
211
- this.options.lanes
212
- ],
213
- (e, s, t, n, i, o) => (this.prevLanes !== void 0 && this.prevLanes !== o && (this.lanesChangedFlag = !0), this.prevLanes = o, this.pendingMeasuredCacheIndexes = [], {
214
- count: e,
215
- paddingStart: s,
216
- scrollMargin: t,
217
- getItemKey: n,
218
- enabled: i,
219
- lanes: o
220
- }),
221
- {
222
- key: !1,
223
- skipInitialOnChange: !0,
224
- onChange: () => {
225
- this.notify(this.isScrolling);
271
+ return {};
272
+ }
273
+ };
274
+ };
275
+ function W(t, e) {
276
+ return {
277
+ top: t.top - e.height,
278
+ right: t.right - e.width,
279
+ bottom: t.bottom - e.height,
280
+ left: t.left - e.width
281
+ };
282
+ }
283
+ function q(t) {
284
+ return ne.some((e) => t[e] >= 0);
285
+ }
286
+ const re = function(t) {
287
+ return t === void 0 && (t = {}), {
288
+ name: "hide",
289
+ options: t,
290
+ async fn(e) {
291
+ const {
292
+ rects: f
293
+ } = e, {
294
+ strategy: s = "referenceHidden",
295
+ ...c
296
+ } = V(t, e);
297
+ switch (s) {
298
+ case "referenceHidden": {
299
+ const n = await $(e, {
300
+ ...c,
301
+ elementContext: "reference"
302
+ }), o = W(n, f.reference);
303
+ return {
304
+ data: {
305
+ referenceHiddenOffsets: o,
306
+ referenceHidden: q(o)
307
+ }
308
+ };
226
309
  }
310
+ case "escaped": {
311
+ const n = await $(e, {
312
+ ...c,
313
+ altBoundary: !0
314
+ }), o = W(n, f.floating);
315
+ return {
316
+ data: {
317
+ escapedOffsets: o,
318
+ escaped: q(o)
319
+ }
320
+ };
321
+ }
322
+ default:
323
+ return {};
227
324
  }
228
- ), this.getMeasurements = p(
229
- () => [this.getMeasurementOptions(), this.itemSizeCache],
230
- ({ count: e, paddingStart: s, scrollMargin: t, getItemKey: n, enabled: i, lanes: o }, a) => {
231
- if (!i)
232
- return this.measurementsCache = [], this.itemSizeCache.clear(), this.laneAssignments.clear(), [];
233
- if (this.laneAssignments.size > e)
234
- for (const l of this.laneAssignments.keys())
235
- l >= e && this.laneAssignments.delete(l);
236
- this.lanesChangedFlag && (this.lanesChangedFlag = !1, this.lanesSettling = !0, this.measurementsCache = [], this.itemSizeCache.clear(), this.laneAssignments.clear(), this.pendingMeasuredCacheIndexes = []), this.measurementsCache.length === 0 && (this.measurementsCache = this.options.initialMeasurementsCache, this.measurementsCache.forEach((l) => {
237
- this.itemSizeCache.set(l.key, l.size);
238
- }));
239
- const d = this.lanesSettling ? 0 : this.pendingMeasuredCacheIndexes.length > 0 ? Math.min(...this.pendingMeasuredCacheIndexes) : 0;
240
- this.pendingMeasuredCacheIndexes = [], this.lanesSettling && this.measurementsCache.length === e && (this.lanesSettling = !1);
241
- const c = this.measurementsCache.slice(0, d), u = new Array(o).fill(
242
- void 0
243
- );
244
- for (let l = 0; l < d; l++) {
245
- const f = c[l];
246
- f && (u[f.lane] = l);
325
+ }
326
+ };
327
+ }, ie = /* @__PURE__ */ new Set(["left", "top"]);
328
+ async function se(t, e) {
329
+ const {
330
+ placement: f,
331
+ platform: s,
332
+ elements: c
333
+ } = t, n = await (s.isRTL == null ? void 0 : s.isRTL(c.floating)), o = j(f), l = X(f), g = L(f) === "y", u = ie.has(o) ? -1 : 1, d = n && g ? -1 : 1, a = V(e, t);
334
+ let {
335
+ mainAxis: m,
336
+ crossAxis: i,
337
+ alignmentAxis: r
338
+ } = typeof a == "number" ? {
339
+ mainAxis: a,
340
+ crossAxis: 0,
341
+ alignmentAxis: null
342
+ } : {
343
+ mainAxis: a.mainAxis || 0,
344
+ crossAxis: a.crossAxis || 0,
345
+ alignmentAxis: a.alignmentAxis
346
+ };
347
+ return l && typeof r == "number" && (i = l === "end" ? r * -1 : r), g ? {
348
+ x: i * d,
349
+ y: m * u
350
+ } : {
351
+ x: m * u,
352
+ y: i * d
353
+ };
354
+ }
355
+ const fe = function(t) {
356
+ return t === void 0 && (t = 0), {
357
+ name: "offset",
358
+ options: t,
359
+ async fn(e) {
360
+ var f, s;
361
+ const {
362
+ x: c,
363
+ y: n,
364
+ placement: o,
365
+ middlewareData: l
366
+ } = e, g = await se(e, t);
367
+ return o === ((f = l.offset) == null ? void 0 : f.placement) && (s = l.arrow) != null && s.alignmentOffset ? {} : {
368
+ x: c + g.x,
369
+ y: n + g.y,
370
+ data: {
371
+ ...g,
372
+ placement: o
247
373
  }
248
- for (let l = d; l < e; l++) {
249
- const f = n(l), v = this.laneAssignments.get(l);
250
- let g, b;
251
- if (v !== void 0 && this.options.lanes > 1) {
252
- g = v;
253
- const m = u[g], x = m !== void 0 ? c[m] : void 0;
254
- b = x ? x.end + this.options.gap : s + t;
255
- } else {
256
- const m = this.options.lanes === 1 ? c[l - 1] : this.getFurthestMeasurement(c, l);
257
- b = m ? m.end + this.options.gap : s + t, g = m ? m.lane : l % this.options.lanes, this.options.lanes > 1 && this.laneAssignments.set(l, g);
374
+ };
375
+ }
376
+ };
377
+ }, me = function(t) {
378
+ return t === void 0 && (t = {}), {
379
+ name: "shift",
380
+ options: t,
381
+ async fn(e) {
382
+ const {
383
+ x: f,
384
+ y: s,
385
+ placement: c
386
+ } = e, {
387
+ mainAxis: n = !0,
388
+ crossAxis: o = !1,
389
+ limiter: l = {
390
+ fn: (x) => {
391
+ let {
392
+ x: y,
393
+ y: p
394
+ } = x;
395
+ return {
396
+ x: y,
397
+ y: p
398
+ };
258
399
  }
259
- const S = a.get(f), E = typeof S == "number" ? S : this.options.estimateSize(l), C = b + E;
260
- c[l] = {
261
- index: l,
262
- start: b,
263
- size: E,
264
- end: C,
265
- key: f,
266
- lane: g
267
- }, u[g] = l;
268
- }
269
- return this.measurementsCache = c, c;
270
- },
271
- {
272
- key: process.env.NODE_ENV !== "production" && "getMeasurements",
273
- debug: () => this.options.debug
274
- }
275
- ), this.calculateRange = p(
276
- () => [
277
- this.getMeasurements(),
278
- this.getSize(),
279
- this.getScrollOffset(),
280
- this.options.lanes
281
- ],
282
- (e, s, t, n) => this.range = e.length > 0 && s > 0 ? N({
283
- measurements: e,
284
- outerSize: s,
285
- scrollOffset: t,
286
- lanes: n
287
- }) : null,
288
- {
289
- key: process.env.NODE_ENV !== "production" && "calculateRange",
290
- debug: () => this.options.debug
291
- }
292
- ), this.getVirtualIndexes = p(
293
- () => {
294
- let e = null, s = null;
295
- const t = this.calculateRange();
296
- return t && (e = t.startIndex, s = t.endIndex), this.maybeNotify.updateDeps([this.isScrolling, e, s]), [
297
- this.options.rangeExtractor,
298
- this.options.overscan,
299
- this.options.count,
300
- e,
301
- s
302
- ];
303
- },
304
- (e, s, t, n, i) => n === null || i === null ? [] : e({
305
- startIndex: n,
306
- endIndex: i,
307
- overscan: s,
308
- count: t
309
- }),
310
- {
311
- key: process.env.NODE_ENV !== "production" && "getVirtualIndexes",
312
- debug: () => this.options.debug
313
- }
314
- ), this.indexFromElement = (e) => {
315
- const s = this.options.indexAttribute, t = e.getAttribute(s);
316
- return t ? parseInt(t, 10) : (console.warn(
317
- `Missing attribute name '${s}={index}' on measured element.`
318
- ), -1);
319
- }, this._measureElement = (e, s) => {
320
- const t = this.indexFromElement(e), n = this.measurementsCache[t];
321
- if (!n)
322
- return;
323
- const i = n.key, o = this.elementsCache.get(i);
324
- o !== e && (o && this.observer.unobserve(o), this.observer.observe(e), this.elementsCache.set(i, e)), e.isConnected && this.resizeItem(t, this.options.measureElement(e, s, this));
325
- }, this.resizeItem = (e, s) => {
326
- const t = this.measurementsCache[e];
327
- if (!t)
328
- return;
329
- const n = this.itemSizeCache.get(t.key) ?? t.size, i = s - n;
330
- i !== 0 && ((this.shouldAdjustScrollPositionOnItemSizeChange !== void 0 ? this.shouldAdjustScrollPositionOnItemSizeChange(t, i, this) : t.start < this.getScrollOffset() + this.scrollAdjustments) && (process.env.NODE_ENV !== "production" && this.options.debug && console.info("correction", i), this._scrollToOffset(this.getScrollOffset(), {
331
- adjustments: this.scrollAdjustments += i,
332
- behavior: void 0
333
- })), this.pendingMeasuredCacheIndexes.push(t.index), this.itemSizeCache = new Map(this.itemSizeCache.set(t.key, s)), this.notify(!1));
334
- }, this.measureElement = (e) => {
335
- if (!e) {
336
- this.elementsCache.forEach((s, t) => {
337
- s.isConnected || (this.observer.unobserve(s), this.elementsCache.delete(t));
338
- });
339
- return;
400
+ },
401
+ ...g
402
+ } = V(t, e), u = {
403
+ x: f,
404
+ y: s
405
+ }, d = await $(e, g), a = L(j(c)), m = te(a);
406
+ let i = u[m], r = u[a];
407
+ if (n) {
408
+ const x = m === "y" ? "top" : "left", y = m === "y" ? "bottom" : "right", p = i + d[x], v = i - d[y];
409
+ i = Y(p, i, v);
340
410
  }
341
- this._measureElement(e, void 0);
342
- }, this.getVirtualItems = p(
343
- () => [this.getVirtualIndexes(), this.getMeasurements()],
344
- (e, s) => {
345
- const t = [];
346
- for (let n = 0, i = e.length; n < i; n++) {
347
- const o = e[n], a = s[o];
348
- t.push(a);
349
- }
350
- return t;
351
- },
352
- {
353
- key: process.env.NODE_ENV !== "production" && "getVirtualItems",
354
- debug: () => this.options.debug
411
+ if (o) {
412
+ const x = a === "y" ? "top" : "left", y = a === "y" ? "bottom" : "right", p = r + d[x], v = r - d[y];
413
+ r = Y(p, r, v);
355
414
  }
356
- ), this.getVirtualItemForOffset = (e) => {
357
- const s = this.getMeasurements();
358
- if (s.length !== 0)
359
- return O(
360
- s[z(
361
- 0,
362
- s.length - 1,
363
- (t) => O(s[t]).start,
364
- e
365
- )]
366
- );
367
- }, this.getOffsetForAlignment = (e, s, t = 0) => {
368
- const n = this.getSize(), i = this.getScrollOffset();
369
- s === "auto" && (s = e >= i + n ? "end" : "start"), s === "center" ? e += (t - n) / 2 : s === "end" && (e -= n);
370
- const o = this.getTotalSize() + this.options.scrollMargin - n;
371
- return Math.max(Math.min(o, e), 0);
372
- }, this.getOffsetForIndex = (e, s = "auto") => {
373
- e = Math.max(0, Math.min(e, this.options.count - 1));
374
- const t = this.measurementsCache[e];
375
- if (!t)
376
- return;
377
- const n = this.getSize(), i = this.getScrollOffset();
378
- if (s === "auto")
379
- if (t.end >= i + n - this.options.scrollPaddingEnd)
380
- s = "end";
381
- else if (t.start <= i + this.options.scrollPaddingStart)
382
- s = "start";
383
- else
384
- return [i, s];
385
- const o = s === "end" ? t.end + this.options.scrollPaddingEnd : t.start - this.options.scrollPaddingStart;
386
- return [
387
- this.getOffsetForAlignment(o, s, t.size),
388
- s
389
- ];
390
- }, this.isDynamicMode = () => this.elementsCache.size > 0, this.scrollToOffset = (e, { align: s = "start", behavior: t } = {}) => {
391
- t === "smooth" && this.isDynamicMode() && console.warn(
392
- "The `smooth` scroll behavior is not fully supported with dynamic size."
393
- ), this._scrollToOffset(this.getOffsetForAlignment(e, s), {
394
- adjustments: void 0,
395
- behavior: t
415
+ const w = l.fn({
416
+ ...e,
417
+ [m]: i,
418
+ [a]: r
396
419
  });
397
- }, this.scrollToIndex = (e, { align: s = "auto", behavior: t } = {}) => {
398
- t === "smooth" && this.isDynamicMode() && console.warn(
399
- "The `smooth` scroll behavior is not fully supported with dynamic size."
400
- ), e = Math.max(0, Math.min(e, this.options.count - 1));
401
- let n = 0;
402
- const i = 10, o = (d) => {
403
- if (!this.targetWindow) return;
404
- const c = this.getOffsetForIndex(e, d);
405
- if (!c) {
406
- console.warn("Failed to get offset for index:", e);
407
- return;
408
- }
409
- const [u, l] = c;
410
- this._scrollToOffset(u, { adjustments: void 0, behavior: t }), this.targetWindow.requestAnimationFrame(() => {
411
- const f = this.getScrollOffset(), v = this.getOffsetForIndex(e, l);
412
- if (!v) {
413
- console.warn("Failed to get offset for index:", e);
414
- return;
420
+ return {
421
+ ...w,
422
+ data: {
423
+ x: w.x - f,
424
+ y: w.y - s,
425
+ enabled: {
426
+ [m]: n,
427
+ [a]: o
415
428
  }
416
- A(v[0], f) || a(l);
417
- });
418
- }, a = (d) => {
419
- this.targetWindow && (n++, n < i ? (process.env.NODE_ENV !== "production" && this.options.debug && console.info("Schedule retry", n, i), this.targetWindow.requestAnimationFrame(() => o(d))) : console.warn(
420
- `Failed to scroll to index ${e} after ${i} attempts.`
421
- ));
422
- };
423
- o(s);
424
- }, this.scrollBy = (e, { behavior: s } = {}) => {
425
- s === "smooth" && this.isDynamicMode() && console.warn(
426
- "The `smooth` scroll behavior is not fully supported with dynamic size."
427
- ), this._scrollToOffset(this.getScrollOffset() + e, {
428
- adjustments: void 0,
429
- behavior: s
430
- });
431
- }, this.getTotalSize = () => {
432
- var e;
433
- const s = this.getMeasurements();
434
- let t;
435
- if (s.length === 0)
436
- t = this.options.paddingStart;
437
- else if (this.options.lanes === 1)
438
- t = ((e = s[s.length - 1]) == null ? void 0 : e.end) ?? 0;
439
- else {
440
- const n = Array(this.options.lanes).fill(null);
441
- let i = s.length - 1;
442
- for (; i >= 0 && n.some((o) => o === null); ) {
443
- const o = s[i];
444
- n[o.lane] === null && (n[o.lane] = o.end), i--;
445
429
  }
446
- t = Math.max(...n.filter((o) => o !== null));
447
- }
448
- return Math.max(
449
- t - this.options.scrollMargin + this.options.paddingEnd,
450
- 0
451
- );
452
- }, this._scrollToOffset = (e, {
453
- adjustments: s,
454
- behavior: t
455
- }) => {
456
- this.options.scrollToFn(e, { behavior: t, adjustments: s }, this);
457
- }, this.measure = () => {
458
- this.itemSizeCache = /* @__PURE__ */ new Map(), this.laneAssignments = /* @__PURE__ */ new Map(), this.notify(!1);
459
- }, this.setOptions(h);
460
- }
461
- }
462
- const z = (r, h, e, s) => {
463
- for (; r <= h; ) {
464
- const t = (r + h) / 2 | 0, n = e(t);
465
- if (n < s)
466
- r = t + 1;
467
- else if (n > s)
468
- h = t - 1;
469
- else
470
- return t;
471
- }
472
- return r > 0 ? r - 1 : 0;
473
- };
474
- function N({
475
- measurements: r,
476
- outerSize: h,
477
- scrollOffset: e,
478
- lanes: s
479
- }) {
480
- const t = r.length - 1, n = (a) => r[a].start;
481
- if (r.length <= s)
482
- return {
483
- startIndex: 0,
484
- endIndex: t
485
- };
486
- let i = z(
487
- 0,
488
- t,
489
- n,
490
- e
491
- ), o = i;
492
- if (s === 1)
493
- for (; o < t && r[o].end < e + h; )
494
- o++;
495
- else if (s > 1) {
496
- const a = Array(s).fill(0);
497
- for (; o < t && a.some((c) => c < e + h); ) {
498
- const c = r[o];
499
- a[c.lane] = c.end, o++;
500
- }
501
- const d = Array(s).fill(e + h);
502
- for (; i >= 0 && d.some((c) => c >= e); ) {
503
- const c = r[i];
504
- d[c.lane] = c.start, i--;
430
+ };
505
431
  }
506
- i = Math.max(0, i - i % s), o = Math.min(t, o + (s - 1 - o % s));
507
- }
508
- return { startIndex: i, endIndex: o };
509
- }
432
+ };
433
+ };
510
434
  export {
511
- T as Virtualizer,
512
- A as approxEqual,
513
- I as debounce,
514
- R as defaultKeyExtractor,
515
- F as defaultRangeExtractor,
516
- L as elementScroll,
517
- _ as measureElement,
518
- p as memo,
519
- O as notUndefined,
520
- D as observeElementOffset,
521
- W as observeElementRect
435
+ ce as arrow,
436
+ ae as computePosition,
437
+ $ as detectOverflow,
438
+ le as flip,
439
+ re as hide,
440
+ fe as offset,
441
+ _ as rectToClientRect,
442
+ me as shift
522
443
  };