@douxcode/vue-spring-bottom-sheet 2.4.0 → 2.4.1

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.
package/dist/index.mjs CHANGED
@@ -1,15 +1,15 @@
1
- import { ref as P, computed as _, defineComponent as Be, watch as q, onMounted as Ie, toRefs as Ee, nextTick as N, onUnmounted as _e, createBlock as te, openBlock as ae, Teleport as De, createElementVNode as ne, createVNode as $, unref as m, withCtx as E, createCommentVNode as ge, normalizeStyle as He, normalizeClass as oe, renderSlot as le } from "vue";
2
- import { useMotionValue as me, animate as B, AnimatePresence as be, Motion as A } from "motion-v";
3
- import { useVModel as Ve, useWindowSize as Re, useElementBounding as Q, useScrollLock as ye } from "@vueuse/core";
4
- import { useFocusTrap as Fe } from "@vueuse/integrations/useFocusTrap";
1
+ import { ref as P, computed as _, defineComponent as Be, watch as q, onMounted as Ie, toRefs as Ee, nextTick as N, onUnmounted as _e, createBlock as te, openBlock as ae, Teleport as De, createElementVNode as ne, createVNode as A, unref as m, withCtx as E, createCommentVNode as ge, normalizeStyle as He, normalizeClass as oe, renderSlot as le } from "vue";
2
+ import { useMotionValue as me, animate as B, AnimatePresence as be, Motion as $ } from "motion-v";
3
+ import { useVModel as Ve, useWindowSize as Fe, useElementBounding as Q, useScrollLock as ye } from "@vueuse/core";
4
+ import { useFocusTrap as Re } from "@vueuse/integrations/useFocusTrap";
5
5
  function G(n, a) {
6
6
  const o = parseFloat(n);
7
7
  return a * o / 100;
8
8
  }
9
- function $e(n, a, o) {
9
+ function Ae(n, a, o) {
10
10
  const t = P(0), s = _(() => n.value.map((p) => typeof p == "string" ? G(p, o.value) : p)), y = _(() => Math.min(...s.value)), r = _(() => Math.max(...s.value)), h = _(() => {
11
11
  const p = s.value.reduce(
12
- (g, x) => Math.abs(x - a.value) < Math.abs(g - a.value) ? x : g
12
+ (g, M) => Math.abs(M - a.value) < Math.abs(g - a.value) ? M : g
13
13
  );
14
14
  return s.value.indexOf(p);
15
15
  });
@@ -21,36 +21,36 @@ function $e(n, a, o) {
21
21
  closestSnapPointIndex: h
22
22
  };
23
23
  }
24
- function Ae(n, a, o) {
24
+ function $e(n, a, o) {
25
25
  let t = (s) => n(s, ...a);
26
26
  return o === void 0 ? t : Object.assign(t, { lazy: o, lazyArgs: a });
27
27
  }
28
28
  function We(n, a, o) {
29
29
  let t = n.length - a.length;
30
30
  if (t === 0) return n(...a);
31
- if (t === 1) return Ae(n, a, o);
31
+ if (t === 1) return $e(n, a, o);
32
32
  throw new Error("Wrong number of arguments");
33
33
  }
34
- function ze(n, { triggerAt: a = "end", minQuietPeriodMs: o, maxBurstDurationMs: t, minGapMs: s, reducer: y = Le }) {
35
- let r, h, p, g, x = () => {
34
+ function je(n, { triggerAt: a = "end", minQuietPeriodMs: o, maxBurstDurationMs: t, minGapMs: s, reducer: y = ze }) {
35
+ let r, h, p, g, M = () => {
36
36
  let i = p;
37
37
  i !== void 0 && (p = void 0, n(i), s !== void 0 && (h = setTimeout(D, s)));
38
38
  }, D = () => {
39
- clearTimeout(h), h = void 0, r === void 0 && x();
39
+ clearTimeout(h), h = void 0, r === void 0 && M();
40
40
  }, H = () => {
41
- clearTimeout(r), r = void 0, g = void 0, h === void 0 && x();
41
+ clearTimeout(r), r = void 0, g = void 0, h === void 0 && M();
42
42
  };
43
43
  return { call: (...i) => {
44
44
  let c = r === void 0 && h === void 0;
45
45
  if ((a !== "start" || c) && (p = y(p, ...i)), !(r === void 0 && !c)) {
46
46
  if (o !== void 0 || t !== void 0 || s === void 0) {
47
47
  clearTimeout(r);
48
- let k = Date.now();
49
- g ?? (g = k);
50
- let W = t === void 0 ? o ?? 0 : Math.min(o ?? t, t - (k - g));
48
+ let C = Date.now();
49
+ g ?? (g = C);
50
+ let W = t === void 0 ? o ?? 0 : Math.min(o ?? t, t - (C - g));
51
51
  r = setTimeout(H, W);
52
52
  }
53
- a !== "end" && c && x();
53
+ a !== "end" && c && M();
54
54
  }
55
55
  }, cancel: () => {
56
56
  clearTimeout(r), r = void 0, g = void 0, clearTimeout(h), h = void 0, p = void 0;
@@ -60,11 +60,11 @@ function ze(n, { triggerAt: a = "end", minQuietPeriodMs: o, maxBurstDurationMs:
60
60
  return r === void 0 && h === void 0;
61
61
  } };
62
62
  }
63
- var Le = () => "";
63
+ var ze = () => "";
64
64
  function b(...n) {
65
- return We(je, n);
65
+ return We(Le, n);
66
66
  }
67
- var je = (n, { min: a, max: o }) => a !== void 0 && n < a ? a : o !== void 0 && n > o ? o : n;
67
+ var Le = (n, { min: a, max: o }) => a !== void 0 && n < a ? a : o !== void 0 && n > o ? o : n;
68
68
  function qe(n, a, o) {
69
69
  return Math.max(a, Math.min(n, o));
70
70
  }
@@ -104,7 +104,7 @@ const Qe = { "data-vsbs-container": "" }, Ge = /* @__PURE__ */ Be({
104
104
  }), Ie(() => {
105
105
  y.value && X();
106
106
  });
107
- const r = P(), h = P(null), p = P(null), g = P(null), x = P(null), D = P(null), H = P(null), i = P(t.expandOnContentDrag), { height: c } = Re(), { height: k } = Q(r), { height: W } = Q(h), { height: se } = Q(D), { height: re } = Q(p), K = _({
107
+ const r = P(), h = P(null), p = P(null), g = P(null), M = P(null), D = P(null), H = P(null), i = P(t.expandOnContentDrag), { height: c } = Fe(), { height: C } = Q(r), { height: W } = Q(h), { height: se } = Q(D), { height: re } = Q(p), K = _({
108
108
  get() {
109
109
  return b(
110
110
  Math.ceil(se.value + W.value + re.value),
@@ -116,15 +116,15 @@ const Qe = { "data-vsbs-container": "" }, Ge = /* @__PURE__ */ Be({
116
116
  set(e) {
117
117
  [W.value, se.value, re.value] = e;
118
118
  }
119
- }), l = P(0), v = P(0), C = me(0), S = me(0), { snapPoints: Pe } = Ee(t), d = _(() => Pe.value ?? [K.value]), {
119
+ }), l = P(0), v = P(0), k = me(0), S = me(0), { snapPoints: Pe } = Ee(t), d = _(() => Pe.value ?? [K.value]), {
120
120
  flattenedSnapPoints: U,
121
121
  currentSnapPointIndex: I,
122
122
  closestSnapPointIndex: V,
123
123
  minSnapPoint: O,
124
- maxSnapPoint: R
125
- } = $e(d, l, c);
126
- let M;
127
- const z = ye(document.body), L = ye(document.documentElement), Y = Fe([r, H], {
124
+ maxSnapPoint: F
125
+ } = Ae(d, l, c);
126
+ let w;
127
+ const j = ye(document.body), z = ye(document.documentElement), Y = Re([r, H], {
128
128
  immediate: !1,
129
129
  fallbackFocus: () => r.value || document.body
130
130
  });
@@ -135,50 +135,53 @@ const Qe = { "data-vsbs-container": "" }, Ge = /* @__PURE__ */ Be({
135
135
  i.value && e.preventDefault();
136
136
  }
137
137
  const de = (e) => {
138
- e.key === "Escape" && j();
138
+ e.key === "Escape" && L();
139
139
  }, Ce = () => {
140
- t.canBackdropClose && j();
140
+ t.canBackdropClose && L();
141
141
  };
142
142
  let J = !1;
143
143
  const X = async () => {
144
144
  if (J) return;
145
- y.value = !0, J = !0, s("opening-started"), t.blocking && (z.value = !0, L.value = !0), await N();
145
+ y.value = !0, J = !0, s("opening-started"), t.blocking && (j.value = !0, z.value = !0), await N();
146
146
  const e = r.value.$el;
147
- k.value = e.getBoundingClientRect().height;
148
- const u = e.querySelector("[data-vsbs-content]"), f = e.querySelector("[data-vsbs-header]"), w = e.querySelector("[data-vsbs-footer]");
147
+ C.value = e.getBoundingClientRect().height;
148
+ const u = e.querySelector("[data-vsbs-content]"), f = e.querySelector("[data-vsbs-header]"), T = e.querySelector("[data-vsbs-footer]");
149
149
  if (K.value = [
150
150
  f.getBoundingClientRect().height,
151
151
  u.getBoundingClientRect().height,
152
- w.getBoundingClientRect().height
152
+ T.getBoundingClientRect().height
153
153
  ], await N(), I.value = U.value.findIndex(
154
- (T) => T === O.value
154
+ (x) => x === O.value
155
155
  ), t.initialSnapPoint) {
156
- const T = t.initialSnapPoint;
157
- if (T < 0 || T >= d.value.length) {
156
+ const x = t.initialSnapPoint;
157
+ if (x < 0 || x >= d.value.length) {
158
158
  console.warn("Index out of bounds");
159
159
  return;
160
160
  }
161
- let F;
162
- typeof d.value[T] == "number" ? F = b(d.value[T], {
161
+ let R;
162
+ typeof d.value[x] == "number" ? R = b(d.value[x], {
163
163
  max: c.value
164
- }) : F = G(d.value[T], c.value), l.value = F;
164
+ }) : R = G(d.value[x], c.value), l.value = R;
165
165
  } else
166
166
  l.value = b(O.value, {
167
167
  max: c.value
168
168
  });
169
- v.value = l.value, C.set(l.value), S.set(l.value), M = B(C, l.value, {
170
- duration: t.duration / 1e3,
171
- ease: "easeInOut"
172
- }), M = B(S, 0, {
173
- duration: t.duration / 1e3,
174
- ease: "easeInOut"
175
- }), window.addEventListener("keydown", de), J = !1, t.blocking && setTimeout(() => {
176
- C.get() < 1 && (s("opened"), Y.activate());
177
- }, t.duration);
169
+ v.value = l.value, k.jump(l.value), S.jump(l.value), requestAnimationFrame(() => {
170
+ w = B(k, l.value, {
171
+ duration: t.duration / 1e3,
172
+ ease: "easeInOut"
173
+ }), w = B(S, 0, {
174
+ duration: t.duration / 1e3,
175
+ ease: "easeInOut",
176
+ onComplete: () => {
177
+ t.blocking && (s("opened"), Y.activate());
178
+ }
179
+ });
180
+ }), window.addEventListener("keydown", de), J = !1;
178
181
  };
179
182
  let Z = !1;
180
- const j = () => {
181
- Z || (y.value = !1, Z = !0, s("closing-started"), t.blocking && (z.value = !1, L.value = !1), window.removeEventListener("keydown", de), t.blocking && Y.deactivate(), setTimeout(() => {
183
+ const L = () => {
184
+ Z || (y.value = !1, Z = !0, s("closing-started"), t.blocking && (j.value = !1, z.value = !1), window.removeEventListener("keydown", de), t.blocking && Y.deactivate(), setTimeout(() => {
182
185
  s("closed"), Z = !1;
183
186
  }, t.duration));
184
187
  }, ce = (e) => {
@@ -191,7 +194,7 @@ const Qe = { "data-vsbs-container": "" }, Ge = /* @__PURE__ */ Be({
191
194
  let u;
192
195
  typeof d.value[e] == "number" ? u = b(d.value[e], {
193
196
  max: c.value
194
- }) : u = G(d.value[e], c.value), l.value = u, M = B(C, l.value, {
197
+ }) : u = G(d.value[e], c.value), l.value = u, w = B(k, l.value, {
195
198
  duration: t.duration / 1e3,
196
199
  ease: "easeInOut",
197
200
  onComplete: () => s("snapped", d.value.indexOf(d.value[e]))
@@ -201,14 +204,14 @@ const Qe = { "data-vsbs-container": "" }, Ge = /* @__PURE__ */ Be({
201
204
  e > 0 ? s("dragging-down") : e < 0 && s("dragging-up");
202
205
  }
203
206
  const pe = () => {
204
- l.value = k.value, v.value = S.get(), C.jump(l.value), S.jump(v.value);
207
+ l.value = C.value, v.value = S.get(), k.jump(l.value), S.jump(v.value);
205
208
  }, he = async (e, u) => {
206
209
  await N(), r.value && (v.value <= 0 && (l.value -= u.delta.y), l.value <= O.value && (l.value = O.value, v.value += u.delta.y, S.set(
207
- t.canSwipeClose ? b(v.value, { min: 0 }) : b(ue(v.value, -k.value, 0, 0.5), {
210
+ t.canSwipeClose ? b(v.value, { min: 0 }) : b(ue(v.value, -C.value, 0, 0.5), {
208
211
  min: 0
209
212
  })
210
- )), C.set(
211
- b(ue(l.value, 0, R.value, 0.25), {
213
+ )), k.set(
214
+ b(ue(l.value, 0, F.value, 0.25), {
212
215
  min: 0,
213
216
  max: c.value
214
217
  })
@@ -216,42 +219,42 @@ const Qe = { "data-vsbs-container": "" }, Ge = /* @__PURE__ */ Be({
216
219
  }, ee = () => {
217
220
  v.value = t.canSwipeClose ? [0, l.value].reduce(
218
221
  (u, f) => Math.abs(f - v.value) < Math.abs(u - v.value) ? f : u
219
- ) : 0, M = B(S, v.value, {
222
+ ) : 0, w = B(S, v.value, {
220
223
  duration: t.duration / 1e3,
221
224
  ease: "easeInOut"
222
- }), v.value === l.value && (v.value = 0, j()), I.value = V.value;
225
+ }), v.value === l.value && (v.value = 0, L()), I.value = V.value;
223
226
  let e;
224
227
  typeof d.value[V.value] == "number" ? e = b(d.value[V.value], {
225
228
  max: c.value
226
229
  }) : e = G(
227
230
  d.value[V.value],
228
231
  c.value
229
- ), l.value = e, M = B(C, l.value, {
232
+ ), l.value = e, w = B(k, l.value, {
230
233
  duration: t.duration / 1e3,
231
234
  ease: "easeInOut",
232
235
  onComplete: () => s(
233
236
  "snapped",
234
237
  d.value.indexOf(d.value[V.value])
235
238
  )
236
- }), M = B(S, 0, {
239
+ }), w = B(S, 0, {
237
240
  duration: t.duration / 1e3,
238
241
  ease: "easeInOut"
239
242
  });
240
243
  }, ke = (e, u) => {
241
- if (l.value = k.value, v.value = S.get(), M.stop(), !g.value) return;
242
- const f = g.value.scrollTop === 0, w = u.delta.y > 0, T = U.value.length === 1, F = 0.5 > Math.abs(l.value - R.value);
243
- if (T) {
244
+ if (l.value = C.value, v.value = S.get(), w && w.stop(), !g.value) return;
245
+ const f = g.value.scrollTop === 0, T = u.delta.y > 0, x = U.value.length === 1, R = 0.5 > Math.abs(l.value - F.value);
246
+ if (x) {
244
247
  if (!t.expandOnContentDrag) {
245
248
  i.value = !1;
246
249
  return;
247
250
  }
248
- S.get() === 0 && f && w && (i.value = !0), S.get() === 0 && f && !w && (i.value = !1);
251
+ S.get() === 0 && f && T && (i.value = !0), S.get() === 0 && f && !T && (i.value = !1);
249
252
  } else {
250
253
  if (!t.expandOnContentDrag) {
251
254
  i.value = !1;
252
255
  return;
253
256
  }
254
- i.value = !0, F && (w && f && (i.value = !0), !w && f && (i.value = !1), f || (i.value = !1));
257
+ i.value = !0, R && (T && f && (i.value = !0), !T && f && (i.value = !1), f || (i.value = !1));
255
258
  }
256
259
  }, we = async (e, u) => {
257
260
  if (await N(), !t.expandOnContentDrag) {
@@ -260,28 +263,28 @@ const Qe = { "data-vsbs-container": "" }, Ge = /* @__PURE__ */ Be({
260
263
  }
261
264
  if (!r.value) return;
262
265
  v.value === 0 && i.value && t.expandOnContentDrag && (l.value -= u.delta.y), l.value <= O.value && (l.value = O.value, i.value && t.expandOnContentDrag && (v.value += u.delta.y), v.value = b(v.value, { min: 0, max: O.value }), S.set(
263
- t.canSwipeClose ? b(v.value, { min: 0 }) : b(ue(v.value, -k.value, 0, 0.5), {
266
+ t.canSwipeClose ? b(v.value, { min: 0 }) : b(ue(v.value, -C.value, 0, 0.5), {
264
267
  min: 0
265
268
  })
266
- )), l.value > R.value && (l.value = R.value), l.value = b(l.value, { max: c.value }), U.value.length === 1 || l.value === R.value && (i.value = !1), C.set(l.value), fe(u.delta.y);
269
+ )), l.value > F.value && (l.value = F.value), l.value = b(l.value, { max: c.value }), U.value.length === 1 || l.value === F.value && (i.value = !1), k.set(l.value), fe(u.delta.y);
267
270
  }, Te = () => {
268
- t.blocking || (z.value = !0, L.value = !0);
271
+ t.blocking || (j.value = !0, z.value = !0);
269
272
  }, xe = () => {
270
- t.blocking || (z.value = !1, L.value = !1);
273
+ t.blocking || (j.value = !1, z.value = !1);
271
274
  }, Me = () => {
272
275
  if (!g.value) return;
273
276
  const e = g.value.scrollTop === 0;
274
277
  i.value = e;
275
- }, Oe = ze((e) => ce(e), {
278
+ }, Oe = je((e) => ce(e), {
276
279
  minQuietPeriodMs: t.duration,
277
280
  reducer: (e, u) => u
278
281
  });
279
282
  return q(d, (e, u) => {
280
283
  if (y.value === !1 || !e || !u) return;
281
- const f = e[I.value], w = u[I.value];
282
- typeof f != "string" && typeof w != "string" && (l.value = b(f, {
284
+ const f = e[I.value], T = u[I.value];
285
+ typeof f != "string" && typeof T != "string" && (l.value = b(f, {
283
286
  max: c.value
284
- }), f !== w && (M = B(C, l.value, {
287
+ }), f !== T && (w = B(k, l.value, {
285
288
  duration: t.duration / 1e3,
286
289
  ease: "easeInOut"
287
290
  })));
@@ -291,14 +294,14 @@ const Qe = { "data-vsbs-container": "" }, Ge = /* @__PURE__ */ Be({
291
294
  s("instinctHeight", e);
292
295
  }), _e(() => {
293
296
  Y.deactivate();
294
- }), a({ open: X, close: j, snapToPoint: ce }), (e, u) => (ae(), te(De, {
297
+ }), a({ open: X, close: L, snapToPoint: ce }), (e, u) => (ae(), te(De, {
295
298
  to: e.teleportTo,
296
299
  defer: e.teleportDefer
297
300
  }, [
298
301
  ne("div", Qe, [
299
- $(m(be), null, {
302
+ A(m(be), null, {
300
303
  default: E(() => [
301
- m(y) && e.blocking ? (ae(), te(m(A), {
304
+ m(y) && e.blocking ? (ae(), te(m($), {
302
305
  key: 0,
303
306
  ref_key: "backdrop",
304
307
  ref: H,
@@ -315,15 +318,15 @@ const Qe = { "data-vsbs-container": "" }, Ge = /* @__PURE__ */ Be({
315
318
  ]),
316
319
  _: 1
317
320
  }),
318
- $(m(be), null, {
321
+ A(m(be), null, {
319
322
  default: E(() => [
320
- m(y) ? (ae(), te(m(A), {
323
+ m(y) ? (ae(), te(m($), {
321
324
  key: 0,
322
325
  ref_key: "sheet",
323
326
  ref: r,
324
- exit: { y: "100%", height: m(k) },
325
- initial: { y: "100%" },
326
- style: He({ y: m(S), height: m(C) }),
327
+ exit: { y: "100%", height: m(C) },
328
+ initial: !1,
329
+ style: He({ y: m(S), height: m(k) }),
327
330
  "data-vsbs-shadow": !e.blocking,
328
331
  "data-vsbs-sheet-show": m(y),
329
332
  "aria-modal": "true",
@@ -333,7 +336,7 @@ const Qe = { "data-vsbs-container": "" }, Ge = /* @__PURE__ */ Be({
333
336
  onTouchend: xe
334
337
  }, {
335
338
  default: E(() => [
336
- $(m(A), {
339
+ A(m($), {
337
340
  ref_key: "sheetHeader",
338
341
  ref: h,
339
342
  "data-vsbs-header": "",
@@ -354,9 +357,9 @@ const Qe = { "data-vsbs-container": "" }, Ge = /* @__PURE__ */ Be({
354
357
  "data-vsbs-scroll": "",
355
358
  onScrollend: Me
356
359
  }, [
357
- $(m(A), {
360
+ A(m($), {
358
361
  ref_key: "sheetContentWrapper",
359
- ref: x,
362
+ ref: M,
360
363
  "data-vsbs-content-wrapper": "",
361
364
  onPanStart: ke,
362
365
  onPan: we,
@@ -376,7 +379,7 @@ const Qe = { "data-vsbs-container": "" }, Ge = /* @__PURE__ */ Be({
376
379
  _: 3
377
380
  }, 512)
378
381
  ], 544),
379
- $(m(A), {
382
+ A(m($), {
380
383
  ref_key: "sheetFooter",
381
384
  ref: p,
382
385
  "data-vsbs-footer": "",
@@ -405,7 +408,7 @@ const Qe = { "data-vsbs-container": "" }, Ge = /* @__PURE__ */ Be({
405
408
  for (const [t, s] of a)
406
409
  o[t] = s;
407
410
  return o;
408
- }, Ze = /* @__PURE__ */ Ke(Ge, [["__scopeId", "data-v-ff3b8e9e"]]);
411
+ }, Ze = /* @__PURE__ */ Ke(Ge, [["__scopeId", "data-v-c353e679"]]);
409
412
  export {
410
413
  Ze as default
411
414
  };
package/dist/style.css CHANGED
@@ -1 +1 @@
1
- [data-vsbs-container][data-v-ff3b8e9e]{position:fixed;top:0;right:0;bottom:0;left:0;overflow:hidden;pointer-events:none;z-index:9999;visibility:visible}[data-vsbs-backdrop][data-v-ff3b8e9e]{background-color:var(--vsbs-backdrop-bg, rgba(0, 0, 0, .5));top:0;right:0;bottom:0;left:0;pointer-events:auto;position:fixed;-webkit-user-select:none;user-select:none;will-change:opacity;z-index:1}[data-vsbs-shadow=true][data-v-ff3b8e9e]:before{content:"";z-index:-1;position:absolute;top:0;height:100lvh;width:100%;border-radius:var(--vsbs-border-radius, 16px);box-shadow:0 -5px 60px 0 var(--vsbs-shadow-color, rgba(89, 89, 89, .2))}[data-vsbs-sheet][data-v-ff3b8e9e]{background-color:var(--vsbs-background, #fff);border-top-left-radius:var(--vsbs-border-radius, 16px);border-top-right-radius:var(--vsbs-border-radius, 16px);border-right:1px solid var(--vsbs-outer-border-color, transparent);border-left:1px solid var(--vsbs-outer-border-color, transparent);bottom:0;display:flex;flex-direction:column;left:0;margin-left:auto;margin-right:auto;max-height:inherit;max-width:var(--vsbs-max-width, 640px);pointer-events:all;position:fixed;right:0;width:100%;will-change:height;z-index:2}[data-vsbs-sheet-show=true][data-v-ff3b8e9e]{visibility:visible}[data-vsbs-header][data-v-ff3b8e9e]{box-shadow:0 1px 0 var(--vsbs-border-color, rgba(46, 59, 66, .125));flex-shrink:0;padding:20px var(--vsbs-padding-x, 16px) 8px;-webkit-user-select:none;user-select:none;z-index:3;border-top-left-radius:var(--vsbs-border-radius, 16px);border-top-right-radius:var(--vsbs-border-radius, 16px);border-top:1px solid var(--vsbs-outer-border-color, transparent)}[data-vsbs-header][data-v-ff3b8e9e]:before{background-color:var(--vsbs-handle-background, rgba(0, 0, 0, .28));border-radius:2px;content:"";display:block;height:4px;left:50%;position:absolute;top:8px;transform:translate(-50%);width:36px}[data-vsbs-header][data-v-ff3b8e9e]:empty{box-shadow:none;padding:14px var(--vsbs-padding-x, 16px) 10px}[data-vsbs-footer][data-v-ff3b8e9e]{box-shadow:0 -1px 0 var(--vsbs-border-color, rgba(46, 59, 66, .125));flex-grow:0;flex-shrink:0;padding:16px var(--vsbs-padding-x, 16px);-webkit-user-select:none;user-select:none}[data-vsbs-footer][data-v-ff3b8e9e]:empty{display:none}[data-vsbs-scroll][data-v-ff3b8e9e]{flex-grow:1;overflow-y:auto;overscroll-behavior:none}[data-vsbs-content-wrapper][data-v-ff3b8e9e]{height:100%}[data-vsbs-content][data-v-ff3b8e9e]{display:grid;padding:8px var(--vsbs-padding-x, 16px);-webkit-user-select:none;user-select:none}
1
+ [data-vsbs-container][data-v-c353e679]{position:fixed;top:0;right:0;bottom:0;left:0;overflow:hidden;pointer-events:none;z-index:9999;visibility:visible}[data-vsbs-backdrop][data-v-c353e679]{background-color:var(--vsbs-backdrop-bg, rgba(0, 0, 0, .5));top:0;right:0;bottom:0;left:0;pointer-events:auto;position:fixed;-webkit-user-select:none;user-select:none;will-change:opacity;z-index:1}[data-vsbs-shadow=true][data-v-c353e679]:before{content:"";z-index:-1;position:absolute;top:0;height:100lvh;width:100%;border-radius:var(--vsbs-border-radius, 16px);box-shadow:0 -5px 60px 0 var(--vsbs-shadow-color, rgba(89, 89, 89, .2))}[data-vsbs-sheet][data-v-c353e679]{background-color:var(--vsbs-background, #fff);border-top-left-radius:var(--vsbs-border-radius, 16px);border-top-right-radius:var(--vsbs-border-radius, 16px);border-right:1px solid var(--vsbs-outer-border-color, transparent);border-left:1px solid var(--vsbs-outer-border-color, transparent);bottom:0;display:flex;flex-direction:column;left:0;margin-left:auto;margin-right:auto;max-height:inherit;max-width:var(--vsbs-max-width, 640px);pointer-events:all;position:fixed;right:0;width:100%;will-change:height;z-index:2}[data-vsbs-sheet-show=true][data-v-c353e679]{visibility:visible}[data-vsbs-header][data-v-c353e679]{box-shadow:0 1px 0 var(--vsbs-border-color, rgba(46, 59, 66, .125));flex-shrink:0;padding:20px var(--vsbs-padding-x, 16px) 8px;-webkit-user-select:none;user-select:none;z-index:3;border-top-left-radius:var(--vsbs-border-radius, 16px);border-top-right-radius:var(--vsbs-border-radius, 16px);border-top:1px solid var(--vsbs-outer-border-color, transparent)}[data-vsbs-header][data-v-c353e679]:before{background-color:var(--vsbs-handle-background, rgba(0, 0, 0, .28));border-radius:2px;content:"";display:block;height:4px;left:50%;position:absolute;top:8px;transform:translate(-50%);width:36px}[data-vsbs-header][data-v-c353e679]:empty{box-shadow:none;padding:14px var(--vsbs-padding-x, 16px) 10px}[data-vsbs-footer][data-v-c353e679]{box-shadow:0 -1px 0 var(--vsbs-border-color, rgba(46, 59, 66, .125));flex-grow:0;flex-shrink:0;padding:16px var(--vsbs-padding-x, 16px);-webkit-user-select:none;user-select:none}[data-vsbs-footer][data-v-c353e679]:empty{display:none}[data-vsbs-scroll][data-v-c353e679]{flex-grow:1;overflow-y:auto;overscroll-behavior:none}[data-vsbs-content-wrapper][data-v-c353e679]{height:100%}[data-vsbs-content][data-v-c353e679]{display:grid;padding:8px var(--vsbs-padding-x, 16px);-webkit-user-select:none;user-select:none}
package/package.json CHANGED
@@ -32,7 +32,7 @@
32
32
  "url": "https://github.com/megaarmos/vue-spring-bottom-sheet/issues"
33
33
  },
34
34
  "private": false,
35
- "version": "2.4.0",
35
+ "version": "2.4.1",
36
36
  "type": "module",
37
37
  "exports": {
38
38
  ".": {
@@ -62,7 +62,7 @@
62
62
  "@vueuse/core": "^13.2.0",
63
63
  "@vueuse/integrations": "^13.2.0",
64
64
  "focus-trap": "^7.6.4",
65
- "motion-v": "^1.0.2",
65
+ "motion-v": "^1.5.0",
66
66
  "remeda": "^2.21.6",
67
67
  "vue": "^3.5.14"
68
68
  },