@douxcode/vue-spring-bottom-sheet 3.0.0-next.5 → 3.0.0

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/README.md CHANGED
@@ -1,7 +1,5 @@
1
1
  # Vue Spring Bottom Sheet
2
2
 
3
- **vue-spring-bottom-sheet** is a Vue.js bottom sheet component.
4
-
5
3
  😎 **Modern** and 🚀 **Performant** Bottom Sheet for Vue.js
6
4
 
7
5
  [Demo](https://vue-spring-bottom-sheet.douxcode.com/) 👀
package/dist/index.mjs CHANGED
@@ -1,4 +1,4 @@
1
- import { ref as P, computed as D, defineComponent as ye, useCssVars as Ee, watch as te, onMounted as De, shallowRef as q, toRefs as He, nextTick as fe, onUnmounted as Be, createElementBlock as ie, openBlock as X, Fragment as Ie, createBlock as pe, Teleport as he, createVNode as ge, Transition as me, withCtx as Se, createCommentVNode as be, unref as E, normalizeStyle as Ye, createElementVNode as j, mergeProps as ce, renderSlot as ve, normalizeClass as Me } from "vue";
1
+ import { ref as P, computed as D, defineComponent as ye, useCssVars as Ee, watch as te, onMounted as De, shallowRef as q, toRefs as He, nextTick as fe, onUnmounted as Be, openBlock as X, createElementBlock as ie, Fragment as Ie, createBlock as pe, Teleport as he, createVNode as ge, Transition as me, withCtx as Se, unref as E, createCommentVNode as be, normalizeStyle as Me, createElementVNode as j, mergeProps as ce, renderSlot as ve, normalizeClass as Ye } from "vue";
2
2
  import { useScrollLock as Pe, useVModel as Re, useWindowSize as Oe, useElementBounding as ne } from "@vueuse/core";
3
3
  import { useFocusTrap as Ae } from "@vueuse/integrations/useFocusTrap";
4
4
  function Te(t, a) {
@@ -50,7 +50,7 @@ function Ue(t, { triggerAt: a = "end", minQuietPeriodMs: u, maxBurstDurationMs:
50
50
  clearTimeout(r);
51
51
  let C = Date.now();
52
52
  b ??= C;
53
- let x = e === void 0 ? u ?? 0 : Math.min(u ?? e, e - (C - b));
53
+ let x = e === void 0 ? u ?? 0 : Math.min(u ?? e, Math.max(0, e - (C - b)));
54
54
  r = setTimeout(h, x);
55
55
  }
56
56
  a !== "end" && w && v();
@@ -144,7 +144,7 @@ function Ke(t) {
144
144
  onSnapped: R,
145
145
  onDraggingUp: oe,
146
146
  onDraggingDown: H
147
- } = t, T = P(!1), F = P(0), N = P(0), k = P(0), Y = P(0), B = P(!0), S = P(!0), O = We({ velocityThreshold: je }), K = (o) => {
147
+ } = t, T = P(!1), F = P(0), V = P(0), k = P(0), M = P(0), B = P(!0), S = P(!0), O = We({ velocityThreshold: je }), K = (o) => {
148
148
  o > 0 ? H() : o < 0 && oe();
149
149
  }, z = () => {
150
150
  if (!a.value) return;
@@ -164,12 +164,12 @@ function Ke(t) {
164
164
  return n.value = e.value, x(), !0;
165
165
  let l;
166
166
  if (o && c.isSwipe && f.value.length > 1) {
167
- const M = [...f.value].sort((y, L) => y - L);
167
+ const Y = [...f.value].sort((y, L) => y - L);
168
168
  if (c.direction === "up") {
169
- const y = M.find((L) => L > e.value + 1);
169
+ const y = Y.find((L) => L > e.value + 1);
170
170
  l = y !== void 0 ? f.value.indexOf(y) : v.value;
171
171
  } else {
172
- const y = [...M].reverse().find((L) => L < e.value - 1);
172
+ const y = [...Y].reverse().find((L) => L < e.value - 1);
173
173
  l = y !== void 0 ? f.value.indexOf(y) : v.value;
174
174
  }
175
175
  } else
@@ -181,7 +181,7 @@ function Ke(t) {
181
181
  const m = ae(s, r.value);
182
182
  return m === 0 ? (x(), !0) : (e.value = m, n.value = 0, R(p.value.indexOf(s)), !1);
183
183
  }, ue = (o) => {
184
- a.value && o.button === 0 && (z(), T.value = !0, F.value = o.clientY, N.value = e.value, k.value = n.value, Y.value = o.clientY, O.start(o.clientY), o.target.setPointerCapture(o.pointerId));
184
+ a.value && o.button === 0 && (z(), T.value = !0, F.value = o.clientY, V.value = e.value, k.value = n.value, M.value = o.clientY, O.start(o.clientY), o.target.setPointerCapture(o.pointerId));
185
185
  }, A = (o) => {
186
186
  if (!T.value) return;
187
187
  if (o.buttons !== 1) {
@@ -189,7 +189,7 @@ function Ke(t) {
189
189
  return;
190
190
  }
191
191
  const c = o.clientY - F.value, l = o.clientY;
192
- n.value <= 0 && (e.value = N.value - c), e.value <= d.value && (e.value = d.value, n.value = k.value + c, g.value ? n.value = I(n.value, { min: 0 }) : n.value = I(
192
+ n.value <= 0 && (e.value = V.value - c), e.value <= d.value && (e.value = d.value, n.value = k.value + c, g.value ? n.value = I(n.value, { min: 0 }) : n.value = I(
193
193
  de(
194
194
  n.value,
195
195
  -i.value,
@@ -203,7 +203,7 @@ function Ke(t) {
203
203
  min: 0,
204
204
  max: r.value
205
205
  }
206
- ), K(o.clientY - Y.value), O.update(o.clientY), Y.value = l;
206
+ ), K(o.clientY - M.value), O.update(o.clientY), M.value = l;
207
207
  }, $ = (o) => {
208
208
  if (T.value = !1, o.target.releasePointerCapture(o.pointerId), g.value) {
209
209
  const c = Ce(w.value, e.value);
@@ -235,28 +235,28 @@ function Ke(t) {
235
235
  S.value = !0, m && (l && c && (S.value = !0), !l && c && (S.value = !1), c || (S.value = !1));
236
236
  }
237
237
  }, J = (o) => {
238
- a.value && o.button === 0 && (z(), T.value = !0, F.value = o.clientY, N.value = e.value, k.value = n.value, Y.value = o.clientY, B.value = !0, O.start(o.clientY), o.target.setPointerCapture(o.pointerId));
238
+ a.value && o.button === 0 && (z(), T.value = !0, F.value = o.clientY, V.value = e.value, k.value = n.value, M.value = o.clientY, B.value = !0, O.start(o.clientY), o.target.setPointerCapture(o.pointerId));
239
239
  }, se = (o) => {
240
240
  if (!T.value) return;
241
241
  if (o.buttons !== 1) {
242
- V(o);
242
+ U(o);
243
243
  return;
244
244
  }
245
245
  if (!C.value) {
246
246
  S.value = !1;
247
247
  return;
248
248
  }
249
- const c = o.clientY - F.value, l = o.clientY, s = o.clientY - Y.value;
249
+ const c = o.clientY - F.value, l = o.clientY, s = o.clientY - M.value;
250
250
  if (B.value) {
251
- const M = o.clientY - F.value;
252
- if (Math.abs(M) > Qe)
253
- B.value = !1, re(M);
251
+ const Y = o.clientY - F.value;
252
+ if (Math.abs(Y) > Qe)
253
+ B.value = !1, re(Y);
254
254
  else {
255
- Y.value = l;
255
+ M.value = l;
256
256
  return;
257
257
  }
258
258
  }
259
- n.value === 0 && S.value && C.value && (e.value = N.value - c), e.value <= d.value && (e.value = d.value, S.value && C.value && (n.value = k.value + c), n.value = I(n.value, { min: 0, max: d.value }), g.value ? n.value = I(n.value, { min: 0 }) : n.value = I(
259
+ n.value === 0 && S.value && C.value && (e.value = V.value - c), e.value <= d.value && (e.value = d.value, S.value && C.value && (n.value = k.value + c), n.value = I(n.value, { min: 0, max: d.value }), g.value ? n.value = I(n.value, { min: 0 }) : n.value = I(
260
260
  de(
261
261
  n.value,
262
262
  -i.value,
@@ -264,8 +264,8 @@ function Ke(t) {
264
264
  xe
265
265
  ),
266
266
  { min: 0 }
267
- )), e.value > h.value && (e.value = h.value), e.value = I(e.value, { max: r.value }), f.value.length === 1 || e.value === h.value && (S.value = !1), K(s), O.update(o.clientY), Y.value = l;
268
- }, V = (o) => {
267
+ )), e.value > h.value && (e.value = h.value), e.value = I(e.value, { max: r.value }), f.value.length === 1 || e.value === h.value && (S.value = !1), K(s), O.update(o.clientY), M.value = l;
268
+ }, U = (o) => {
269
269
  if (T.value = !1, B.value = !0, o.target.releasePointerCapture(o.pointerId), g.value) {
270
270
  const l = Ce(w.value, e.value);
271
271
  if (n.value > l) {
@@ -280,7 +280,7 @@ function Ke(t) {
280
280
  }
281
281
  const c = S.value;
282
282
  _(c);
283
- }, U = (o) => {
283
+ }, W = (o) => {
284
284
  T.value && (o.preventDefault(), T.value = !1, B.value = !0, le());
285
285
  }, G = (o) => {
286
286
  S.value = !0, Z(o);
@@ -290,25 +290,25 @@ function Ke(t) {
290
290
  if (!u.value) return;
291
291
  const o = u.value.scrollTop === 0;
292
292
  S.value = o;
293
- }, W = D(() => ({
293
+ }, N = D(() => ({
294
294
  onPointerdown: ue,
295
295
  onPointermove: A,
296
296
  onPointerup: $,
297
297
  onPointercancel: $,
298
- onContextmenu: U,
298
+ onContextmenu: W,
299
299
  onTouchmove: G
300
300
  })), ee = D(() => ({
301
301
  onPointerdown: J,
302
302
  onPointermove: se,
303
- onPointerup: V,
304
- onPointercancel: V,
305
- onContextmenu: U,
303
+ onPointerup: U,
304
+ onPointercancel: U,
305
+ onContextmenu: W,
306
306
  onTouchmove: Z
307
307
  }));
308
308
  return {
309
309
  isDragging: T,
310
310
  preventContentScroll: S,
311
- headerFooterHandlers: W,
311
+ headerFooterHandlers: N,
312
312
  contentWrapperHandlers: ee,
313
313
  scrollEnd: Q
314
314
  };
@@ -387,13 +387,13 @@ const Ze = ["data-vsbs-shadow", "data-vsbs-sheet-show"], et = /* @__PURE__ */ ye
387
387
  emits: ["opened", "opening-started", "closed", "closing-started", "dragging-up", "dragging-down", "snapped", "instinctHeight", "update:modelValue"],
388
388
  setup(t, { expose: a, emit: u }) {
389
389
  Ee((l) => ({
390
- d0a9abc2: F.value
390
+ v76198695: F.value
391
391
  }));
392
392
  const e = t, n = u, i = Re(e, "modelValue", n, {
393
393
  passive: !0
394
394
  });
395
395
  te(i, (l) => {
396
- l && Q();
396
+ l ? Q() : N();
397
397
  }), De(() => {
398
398
  i.value && Q();
399
399
  });
@@ -402,8 +402,8 @@ const Ze = ["data-vsbs-shadow", "data-vsbs-sheet-show"], et = /* @__PURE__ */ ye
402
402
  { max: h.value }
403
403
  )), oe = (l, s, m) => {
404
404
  w.value = l, C.value = s, x.value = m;
405
- }, H = P(0), T = P(0), F = D(() => e.duration + "ms"), { snapPoints: N } = He(e), k = D(() => N.value ?? [R.value]), {
406
- flattenedSnapPoints: Y,
405
+ }, H = P(0), T = P(0), F = D(() => e.duration + "ms"), { snapPoints: V } = He(e), k = D(() => V.value ?? [R.value]), {
406
+ flattenedSnapPoints: M,
407
407
  currentSnapPointIndex: B,
408
408
  closestSnapPointIndex: S,
409
409
  minSnapPoint: O,
@@ -412,8 +412,8 @@ const Ze = ["data-vsbs-shadow", "data-vsbs-sheet-show"], et = /* @__PURE__ */ ye
412
412
  sheetRef: r,
413
413
  backdropRef: d,
414
414
  blocking: z,
415
- onEscape: () => W()
416
- }), { isDragging: re, headerFooterHandlers: J, contentWrapperHandlers: se, scrollEnd: V } = Ke({
415
+ onEscape: () => N()
416
+ }), { isDragging: re, headerFooterHandlers: J, contentWrapperHandlers: se, scrollEnd: U } = Ke({
417
417
  sheetRef: r,
418
418
  sheetScrollRef: b,
419
419
  height: H,
@@ -421,7 +421,7 @@ const Ze = ["data-vsbs-shadow", "data-vsbs-sheet-show"], et = /* @__PURE__ */ ye
421
421
  sheetHeight: g,
422
422
  windowHeight: h,
423
423
  snapPointsRef: k,
424
- flattenedSnapPoints: Y,
424
+ flattenedSnapPoints: M,
425
425
  currentSnapPointIndex: B,
426
426
  closestSnapPointIndex: S,
427
427
  minSnapPoint: O,
@@ -429,23 +429,23 @@ const Ze = ["data-vsbs-shadow", "data-vsbs-sheet-show"], et = /* @__PURE__ */ ye
429
429
  canSwipeClose: le,
430
430
  swipeCloseThreshold: _,
431
431
  expandOnContentDrag: ue,
432
- onClose: () => W(),
432
+ onClose: () => N(),
433
433
  onSnapped: (l) => n("snapped", l),
434
434
  onDraggingUp: () => n("dragging-up"),
435
435
  onDraggingDown: () => n("dragging-down")
436
- }), U = P(!1), G = P(!1), Z = () => {
437
- e.canBackdropClose && W();
436
+ }), W = P(!1), G = P(!1), Z = () => {
437
+ e.canBackdropClose && N();
438
438
  }, Q = async () => {
439
- if (U.value) return;
440
- i.value = !0, U.value = !0, n("opening-started"), A.lockIfBlocking(), await fe();
439
+ if (W.value) return;
440
+ i.value = !0, W.value = !0, n("opening-started"), A.lockIfBlocking(), await fe();
441
441
  const l = r.value;
442
442
  g.value = l.getBoundingClientRect().height;
443
- const s = l.querySelector("[data-vsbs-content]"), m = l.querySelector("[data-vsbs-header]"), M = l.querySelector("[data-vsbs-footer]");
443
+ const s = l.querySelector("[data-vsbs-content]"), m = l.querySelector("[data-vsbs-header]"), Y = l.querySelector("[data-vsbs-footer]");
444
444
  if (oe(
445
445
  m.getBoundingClientRect().height,
446
446
  s.getBoundingClientRect().height,
447
- M.getBoundingClientRect().height
448
- ), await fe(), B.value = Y.value.findIndex(
447
+ Y.getBoundingClientRect().height
448
+ ), await fe(), B.value = M.value.findIndex(
449
449
  (y) => y === O.value
450
450
  ), e.initialSnapPoint !== void 0) {
451
451
  const y = e.initialSnapPoint;
@@ -462,8 +462,8 @@ const Ze = ["data-vsbs-shadow", "data-vsbs-sheet-show"], et = /* @__PURE__ */ ye
462
462
  T.value = 0, e.blocking && setTimeout(() => {
463
463
  i.value && (n("opened"), $.activate());
464
464
  }, e.duration);
465
- }), U.value = !1;
466
- }, W = () => {
465
+ }), W.value = !1;
466
+ }, N = () => {
467
467
  G.value || (i.value = !1, G.value = !0, n("closing-started"), A.unlockIfBlocking(), $.deactivate(), T.value = H.value, setTimeout(() => {
468
468
  n("closed"), G.value = !1;
469
469
  }, e.duration));
@@ -482,8 +482,8 @@ const Ze = ["data-vsbs-shadow", "data-vsbs-sheet-show"], et = /* @__PURE__ */ ye
482
482
  });
483
483
  te(k, (l, s) => {
484
484
  if (i.value === !1 || !l || !s) return;
485
- const m = l[B.value], M = s[B.value];
486
- !m || typeof m == "string" || !M || typeof M == "string" || (H.value = I(m, { max: h.value }));
485
+ const m = l[B.value], Y = s[B.value];
486
+ !m || typeof m == "string" || !Y || typeof Y == "string" || (H.value = I(m, { max: h.value }));
487
487
  }), te(h, () => {
488
488
  o.call(B.value);
489
489
  }), te(R, (l) => {
@@ -495,7 +495,7 @@ const Ze = ["data-vsbs-shadow", "data-vsbs-sheet-show"], et = /* @__PURE__ */ ye
495
495
  const s = l;
496
496
  s.style.transition = `transform ${e.duration}ms ease, height ${e.duration}ms ease`, s.style.transform = `translateY(${H.value}px)`;
497
497
  };
498
- return a({ open: Q, close: W, snapToPoint: ee }), (l, s) => (X(), ie(Ie, null, [
498
+ return a({ open: Q, close: N, snapToPoint: ee }), (l, s) => (X(), ie(Ie, null, [
499
499
  (X(), pe(he, {
500
500
  to: t.teleportTo,
501
501
  defer: t.teleportDefer
@@ -526,7 +526,7 @@ const Ze = ["data-vsbs-shadow", "data-vsbs-sheet-show"], et = /* @__PURE__ */ ye
526
526
  key: 0,
527
527
  ref_key: "sheet",
528
528
  ref: r,
529
- style: Ye({
529
+ style: Me({
530
530
  transform: `translateY(${T.value}px)`,
531
531
  height: `${H.value}px`,
532
532
  transition: E(re) ? "none" : `transform ${t.duration}ms ease, height ${t.duration}ms ease`
@@ -556,14 +556,14 @@ const Ze = ["data-vsbs-shadow", "data-vsbs-sheet-show"], et = /* @__PURE__ */ ye
556
556
  ref: b,
557
557
  "data-vsbs-scroll": "",
558
558
  onScrollend: s[1] || (s[1] = //@ts-ignore
559
- (...m) => E(V) && E(V)(...m))
559
+ (...m) => E(U) && E(U)(...m))
560
560
  }, [
561
561
  j("div", ce({ "data-vsbs-content-wrapper": "" }, E(se), { style: { touchAction: "pan-y" } }), [
562
562
  j("div", {
563
563
  ref_key: "sheetContent",
564
564
  ref: v,
565
565
  "data-vsbs-content": "",
566
- class: Me(t.contentClass)
566
+ class: Ye(t.contentClass)
567
567
  }, [
568
568
  ve(l.$slots, "default", {}, void 0, !0)
569
569
  ], 2)
@@ -591,7 +591,7 @@ const Ze = ["data-vsbs-shadow", "data-vsbs-sheet-show"], et = /* @__PURE__ */ ye
591
591
  for (const [e, n] of a)
592
592
  u[e] = n;
593
593
  return u;
594
- }, lt = /* @__PURE__ */ tt(et, [["__scopeId", "data-v-6b92b612"]]);
594
+ }, lt = /* @__PURE__ */ tt(et, [["__scopeId", "data-v-533b8a6d"]]);
595
595
  export {
596
596
  lt as default
597
597
  };
package/dist/style.css CHANGED
@@ -1 +1 @@
1
- [data-vsbs-backdrop][data-v-6b92b612]{background-color:var(--vsbs-backdrop-bg, rgba(0, 0, 0, .5));inset:0;pointer-events:auto;position:fixed;-webkit-user-select:none;user-select:none;will-change:opacity;--vsbs-duration: var(--d0a9abc2)}[data-vsbs-shadow=true][data-v-6b92b612]: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-6b92b612]{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-width:var(--vsbs-max-width, 640px);pointer-events:all;position:fixed;right:0;width:100%;will-change:height,transform}[data-vsbs-sheet-show=true][data-v-6b92b612]{visibility:visible}[data-vsbs-header][data-v-6b92b612]{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-6b92b612]: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-6b92b612]:empty{box-shadow:none;padding:14px var(--vsbs-padding-x, 16px) 10px}[data-vsbs-footer][data-v-6b92b612]{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-6b92b612]:empty{display:none}[data-vsbs-scroll][data-v-6b92b612]{flex-grow:1;overflow-y:auto;overscroll-behavior:none}[data-vsbs-content-wrapper][data-v-6b92b612]{height:100%}[data-vsbs-content][data-v-6b92b612]{display:grid;padding:8px var(--vsbs-padding-x, 16px);-webkit-user-select:none;user-select:none}.vsbs-backdrop-enter-active[data-v-6b92b612],.vsbs-backdrop-leave-active[data-v-6b92b612]{transition:opacity var(--vsbs-duration) ease}.vsbs-backdrop-enter-from[data-v-6b92b612],.vsbs-backdrop-leave-to[data-v-6b92b612]{opacity:0}
1
+ [data-vsbs-backdrop][data-v-533b8a6d]{background-color:var(--vsbs-backdrop-bg, rgba(0, 0, 0, .5));inset:0;pointer-events:auto;position:fixed;-webkit-user-select:none;user-select:none;will-change:opacity;--vsbs-duration: var(--v76198695)}[data-vsbs-shadow=true][data-v-533b8a6d]: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-533b8a6d]{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-width:var(--vsbs-max-width, 640px);pointer-events:all;position:fixed;right:0;width:100%;will-change:height,transform}[data-vsbs-sheet-show=true][data-v-533b8a6d]{visibility:visible}[data-vsbs-header][data-v-533b8a6d]{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-533b8a6d]: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-533b8a6d]:empty{box-shadow:none;padding:14px var(--vsbs-padding-x, 16px) 10px}[data-vsbs-footer][data-v-533b8a6d]{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-533b8a6d]:empty{display:none}[data-vsbs-scroll][data-v-533b8a6d]{flex-grow:1;overflow-y:auto;overscroll-behavior:none}[data-vsbs-content-wrapper][data-v-533b8a6d]{height:100%}[data-vsbs-content][data-v-533b8a6d]{display:grid;padding:8px var(--vsbs-padding-x, 16px);-webkit-user-select:none;user-select:none}.vsbs-backdrop-enter-active[data-v-533b8a6d],.vsbs-backdrop-leave-active[data-v-533b8a6d]{transition:opacity var(--vsbs-duration) ease}.vsbs-backdrop-enter-from[data-v-533b8a6d],.vsbs-backdrop-leave-to[data-v-533b8a6d]{opacity:0}
package/package.json CHANGED
@@ -30,7 +30,7 @@
30
30
  "url": "https://github.com/megaarmos/vue-spring-bottom-sheet/issues"
31
31
  },
32
32
  "private": false,
33
- "version": "3.0.0-next.5",
33
+ "version": "3.0.0",
34
34
  "type": "module",
35
35
  "exports": {
36
36
  ".": {
@@ -47,13 +47,12 @@
47
47
  "main": "./dist/index.mjs",
48
48
  "types": "dist/index.d.ts",
49
49
  "scripts": {
50
- "build": "vue-tsc -b && vite build",
50
+ "build": "vite build",
51
51
  "dev": "vite build --watch",
52
52
  "type-check": "vue-tsc --build",
53
- "lint": "eslint . --fix",
54
53
  "format": "prettier --write src/",
55
- "release": "cp ../../README.md . && npm run build && npm publish --access public",
56
- "prepublishOnly": "cp ../../README.md . && npm run build"
54
+ "release": "cp ../../README.md . && bun run build && bun run type-check && npm publish --access public",
55
+ "prepublishOnly": "cp ../../README.md . && bun run build && bun run type-check"
57
56
  },
58
57
  "peerDependencies": {
59
58
  "vue": ">=3.3"
@@ -88,5 +87,154 @@
88
87
  "publishConfig": {
89
88
  "access": "public",
90
89
  "provenance": true
90
+ },
91
+ "release": {
92
+ "extends": "semantic-release-commit-filter",
93
+ "ci": true,
94
+ "branches": [
95
+ "master",
96
+ {
97
+ "name": "next",
98
+ "prerelease": true
99
+ },
100
+ {
101
+ "name": "beta",
102
+ "prerelease": true
103
+ },
104
+ {
105
+ "name": "alpha",
106
+ "prerelease": true
107
+ }
108
+ ],
109
+ "plugins": [
110
+ [
111
+ "@semantic-release/commit-analyzer",
112
+ {
113
+ "preset": "angular",
114
+ "releaseRules": [
115
+ {
116
+ "type": "docs",
117
+ "scope": "README",
118
+ "release": "patch"
119
+ },
120
+ {
121
+ "breaking": true,
122
+ "release": "major"
123
+ },
124
+ {
125
+ "revert": true,
126
+ "release": "patch"
127
+ },
128
+ {
129
+ "type": "*!",
130
+ "release": "major"
131
+ },
132
+ {
133
+ "type": "breaking",
134
+ "release": "major"
135
+ },
136
+ {
137
+ "type": "docs",
138
+ "scope": "README",
139
+ "release": "patch"
140
+ },
141
+ {
142
+ "type": "refactor",
143
+ "release": "patch"
144
+ },
145
+ {
146
+ "type": "style",
147
+ "release": "patch"
148
+ },
149
+ {
150
+ "type": "types",
151
+ "release": "patch"
152
+ }
153
+ ],
154
+ "parserOpts": {
155
+ "noteKeywords": [
156
+ "BREAKING CHANGE",
157
+ "BREAKING CHANGES",
158
+ "BREAKING"
159
+ ]
160
+ }
161
+ }
162
+ ],
163
+ [
164
+ "@semantic-release/release-notes-generator",
165
+ {
166
+ "preset": "angular",
167
+ "presetConfig": {
168
+ "header": "Release Notes",
169
+ "types": [
170
+ {
171
+ "type": "feat",
172
+ "section": "Features"
173
+ },
174
+ {
175
+ "type": "fix",
176
+ "section": "Bug Fixes"
177
+ },
178
+ {
179
+ "type": "chore",
180
+ "hidden": true
181
+ },
182
+ {
183
+ "type": "docs",
184
+ "hidden": true
185
+ },
186
+ {
187
+ "type": "style",
188
+ "hidden": true
189
+ },
190
+ {
191
+ "type": "refactor",
192
+ "hidden": true
193
+ },
194
+ {
195
+ "type": "perf",
196
+ "hidden": true
197
+ },
198
+ {
199
+ "type": "test",
200
+ "hidden": true
201
+ }
202
+ ]
203
+ },
204
+ "parserOpts": {
205
+ "noteKeywords": [
206
+ "BREAKING CHANGE",
207
+ "BREAKING CHANGES",
208
+ "BREAKING"
209
+ ]
210
+ },
211
+ "writerOpts": {
212
+ "commitsSort": [
213
+ "subject",
214
+ "scope"
215
+ ]
216
+ }
217
+ }
218
+ ],
219
+ "@semantic-release/changelog",
220
+ "@semantic-release/npm",
221
+ "@semantic-release/github",
222
+ [
223
+ "@semantic-release/git",
224
+ {
225
+ "assets": [
226
+ "CHANGELOG.md",
227
+ "LICENSE"
228
+ ]
229
+ }
230
+ ],
231
+ [
232
+ "@semantic-release/exec",
233
+ {
234
+ "publishCmd": "npx -y semantic-release-npm-workspaces-monorepo cache ${nextRelease.version}"
235
+ }
236
+ ]
237
+ ],
238
+ "tagFormat": "v${version}"
91
239
  }
92
240
  }