scroll-slides 0.1.1 → 0.2.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/dist/components/ScrollSlide.vue.d.ts +11 -23
- package/dist/scroll-slides.css +1 -1
- package/dist/scroll-slides.js +85 -68
- package/dist/scroll-slides.umd.cjs +1 -1
- package/package.json +34 -33
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
declare const spacerEnabled: import("vue").Ref<boolean, boolean>;
|
|
1
2
|
declare const sliderRef: import("vue").Ref<HTMLElement | null, HTMLElement | null>;
|
|
2
3
|
declare const itemStates: {
|
|
3
4
|
[key: number]: {
|
|
@@ -9,17 +10,21 @@ declare const itemStates: {
|
|
|
9
10
|
declare const isVertical: import("vue").ComputedRef<boolean>;
|
|
10
11
|
declare const transformProperty: import("vue").ComputedRef<"translateY" | "translateX">;
|
|
11
12
|
declare const itemIndices: import("vue").ComputedRef<number[]>;
|
|
12
|
-
declare const spacerSize: import("vue").
|
|
13
|
+
declare const spacerSize: import("vue").Ref<number, number>;
|
|
13
14
|
declare const __VLS_ctx: InstanceType<__VLS_PickNotAny<typeof __VLS_self, new () => {}>>;
|
|
14
|
-
declare var
|
|
15
|
+
declare var __VLS_1: {
|
|
16
|
+
size: number;
|
|
17
|
+
}, __VLS_4: `item-${number}`, __VLS_5: {
|
|
15
18
|
index: number;
|
|
16
|
-
},
|
|
19
|
+
}, __VLS_7: {
|
|
17
20
|
index: number;
|
|
18
21
|
};
|
|
19
22
|
type __VLS_Slots = __VLS_PrettifyGlobal<__VLS_OmitStringIndex<typeof __VLS_ctx.$slots> & {
|
|
20
|
-
[K in NonNullable<typeof
|
|
23
|
+
[K in NonNullable<typeof __VLS_4>]?: (props: typeof __VLS_5) => any;
|
|
21
24
|
} & {
|
|
22
|
-
|
|
25
|
+
spacer?: (props: typeof __VLS_1) => any;
|
|
26
|
+
} & {
|
|
27
|
+
item?: (props: typeof __VLS_7) => any;
|
|
23
28
|
}>;
|
|
24
29
|
declare const __VLS_self: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
|
|
25
30
|
direction: {
|
|
@@ -43,15 +48,12 @@ declare const __VLS_self: import("vue").DefineComponent<import("vue").ExtractPro
|
|
|
43
48
|
type: NumberConstructor;
|
|
44
49
|
default: number;
|
|
45
50
|
};
|
|
46
|
-
allowScrollToFirst: {
|
|
47
|
-
type: BooleanConstructor;
|
|
48
|
-
default: boolean;
|
|
49
|
-
};
|
|
50
51
|
spacerEnabled: {
|
|
51
52
|
type: BooleanConstructor;
|
|
52
53
|
default: boolean;
|
|
53
54
|
};
|
|
54
55
|
}>, {
|
|
56
|
+
spacerEnabled: typeof spacerEnabled;
|
|
55
57
|
sliderRef: typeof sliderRef;
|
|
56
58
|
itemStates: typeof itemStates;
|
|
57
59
|
isVertical: typeof isVertical;
|
|
@@ -80,10 +82,6 @@ declare const __VLS_self: import("vue").DefineComponent<import("vue").ExtractPro
|
|
|
80
82
|
type: NumberConstructor;
|
|
81
83
|
default: number;
|
|
82
84
|
};
|
|
83
|
-
allowScrollToFirst: {
|
|
84
|
-
type: BooleanConstructor;
|
|
85
|
-
default: boolean;
|
|
86
|
-
};
|
|
87
85
|
spacerEnabled: {
|
|
88
86
|
type: BooleanConstructor;
|
|
89
87
|
default: boolean;
|
|
@@ -94,7 +92,6 @@ declare const __VLS_self: import("vue").DefineComponent<import("vue").ExtractPro
|
|
|
94
92
|
scaleRatio: number;
|
|
95
93
|
scaleStartPercent: number;
|
|
96
94
|
translateFactor: number;
|
|
97
|
-
allowScrollToFirst: boolean;
|
|
98
95
|
spacerEnabled: boolean;
|
|
99
96
|
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
|
|
100
97
|
declare const __VLS_component: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
|
|
@@ -119,10 +116,6 @@ declare const __VLS_component: import("vue").DefineComponent<import("vue").Extra
|
|
|
119
116
|
type: NumberConstructor;
|
|
120
117
|
default: number;
|
|
121
118
|
};
|
|
122
|
-
allowScrollToFirst: {
|
|
123
|
-
type: BooleanConstructor;
|
|
124
|
-
default: boolean;
|
|
125
|
-
};
|
|
126
119
|
spacerEnabled: {
|
|
127
120
|
type: BooleanConstructor;
|
|
128
121
|
default: boolean;
|
|
@@ -149,10 +142,6 @@ declare const __VLS_component: import("vue").DefineComponent<import("vue").Extra
|
|
|
149
142
|
type: NumberConstructor;
|
|
150
143
|
default: number;
|
|
151
144
|
};
|
|
152
|
-
allowScrollToFirst: {
|
|
153
|
-
type: BooleanConstructor;
|
|
154
|
-
default: boolean;
|
|
155
|
-
};
|
|
156
145
|
spacerEnabled: {
|
|
157
146
|
type: BooleanConstructor;
|
|
158
147
|
default: boolean;
|
|
@@ -163,7 +152,6 @@ declare const __VLS_component: import("vue").DefineComponent<import("vue").Extra
|
|
|
163
152
|
scaleRatio: number;
|
|
164
153
|
scaleStartPercent: number;
|
|
165
154
|
translateFactor: number;
|
|
166
|
-
allowScrollToFirst: boolean;
|
|
167
155
|
spacerEnabled: boolean;
|
|
168
156
|
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
|
|
169
157
|
declare const _default: __VLS_WithSlots<typeof __VLS_component, __VLS_Slots>;
|
package/dist/scroll-slides.css
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
.slider[data-v-
|
|
1
|
+
.slider[data-v-2ecb83b3]{position:relative;width:100%;height:100%;overflow-y:auto;overflow-x:hidden;box-sizing:border-box}.slider.horizontal[data-v-2ecb83b3]{display:flex;align-items:center;overflow-x:auto;overflow-y:hidden;white-space:nowrap}.slider-item[data-v-2ecb83b3]{position:relative}.slider-item .slider-slot[data-v-2ecb83b3]{position:relative;transition:transform .04s}.horizontal .slider-item[data-v-2ecb83b3]{display:inline-block;vertical-align:middle;transform-origin:center right}.slider-spacer[data-v-2ecb83b3]{width:100%;height:100%;pointer-events:none}
|
package/dist/scroll-slides.js
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
import { defineComponent as
|
|
2
|
-
const
|
|
1
|
+
import { defineComponent as U, toRefs as j, ref as _, reactive as q, computed as b, watch as L, onMounted as X, onUnmounted as Y, nextTick as D, createElementBlock as h, openBlock as y, normalizeClass as G, createCommentVNode as J, unref as K, normalizeStyle as P, renderSlot as R, Fragment as Q, renderList as Z, createElementVNode as ee } from "vue";
|
|
2
|
+
const te = /* @__PURE__ */ U({
|
|
3
3
|
__name: "ScrollSlide",
|
|
4
4
|
props: {
|
|
5
5
|
direction: {
|
|
6
6
|
type: String,
|
|
7
7
|
default: "vertical",
|
|
8
8
|
// 'vertical' or 'horizontal'
|
|
9
|
-
validator: (
|
|
9
|
+
validator: (c) => ["vertical", "horizontal"].includes(c)
|
|
10
10
|
},
|
|
11
11
|
itemCount: {
|
|
12
12
|
type: Number,
|
|
@@ -24,107 +24,124 @@ const q = /* @__PURE__ */ I({
|
|
|
24
24
|
type: Number,
|
|
25
25
|
default: 100
|
|
26
26
|
},
|
|
27
|
-
allowScrollToFirst: {
|
|
28
|
-
type: Boolean,
|
|
29
|
-
default: !1
|
|
30
|
-
},
|
|
31
|
-
// Updating prop name to be clearer
|
|
32
27
|
spacerEnabled: {
|
|
33
28
|
type: Boolean,
|
|
34
29
|
default: !1
|
|
35
30
|
}
|
|
36
31
|
},
|
|
37
|
-
setup(
|
|
38
|
-
const
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
32
|
+
setup(c) {
|
|
33
|
+
const n = c, {
|
|
34
|
+
direction: m,
|
|
35
|
+
itemCount: g,
|
|
36
|
+
scaleRatio: S,
|
|
37
|
+
scaleStartPercent: N,
|
|
38
|
+
translateFactor: B,
|
|
39
|
+
spacerEnabled: w
|
|
40
|
+
} = j(n), a = _(null), d = _([]), r = q({}), o = b(() => n.direction === "vertical"), I = b(() => o.value ? "translateY" : "translateX"), F = (e, t) => Math.min(Math.max(e / t, 0), 1), x = (e) => e * e * (3 - 2 * e), z = b(() => Array.from({ length: n.itemCount }, (e, t) => t)), s = () => {
|
|
41
|
+
A(), k();
|
|
42
|
+
}, A = () => {
|
|
43
|
+
if (!a.value) return;
|
|
44
|
+
const e = a.value, t = e[o.value ? "clientHeight" : "clientWidth"];
|
|
45
|
+
d.value.forEach((l, i) => {
|
|
46
|
+
const v = l.getBoundingClientRect(), f = o.value ? v.top : v.left, M = e.getBoundingClientRect(), H = f - (o.value ? M.top : M.left), T = Math.min(
|
|
47
|
+
Math.max(0, (t - H) / t),
|
|
44
48
|
1
|
|
45
|
-
),
|
|
46
|
-
let
|
|
47
|
-
const
|
|
48
|
-
|
|
49
|
-
scale:
|
|
50
|
-
translate:
|
|
51
|
-
opacity:
|
|
49
|
+
), V = F(1 - T - n.scaleStartPercent, 1 - n.scaleStartPercent), C = x(V), W = 1 + (n.scaleRatio - 1) * C, O = C * n.translateFactor;
|
|
50
|
+
let p;
|
|
51
|
+
const E = Math.min(Math.max(C || 0, 0), 1);
|
|
52
|
+
E > 0.6 ? p = 0 : E < 0.4 ? p = 1 : p = (0.6 - E) / 0.2, r[i] = {
|
|
53
|
+
scale: W,
|
|
54
|
+
translate: O,
|
|
55
|
+
opacity: p
|
|
52
56
|
};
|
|
53
57
|
});
|
|
54
|
-
},
|
|
55
|
-
|
|
56
|
-
|
|
58
|
+
}, $ = () => {
|
|
59
|
+
a.value && (d.value = Array.from(a.value.querySelectorAll(".slider-item")), z.value.forEach((e) => {
|
|
60
|
+
r[e] || (r[e] = {
|
|
57
61
|
scale: 1,
|
|
58
62
|
translate: 0,
|
|
59
63
|
opacity: 1
|
|
60
64
|
});
|
|
61
|
-
}), Object.keys(
|
|
62
|
-
const
|
|
63
|
-
|
|
64
|
-
}),
|
|
65
|
+
}), Object.keys(r).forEach((e) => {
|
|
66
|
+
const t = Number(e);
|
|
67
|
+
t >= n.itemCount && delete r[t];
|
|
68
|
+
}), s());
|
|
65
69
|
};
|
|
66
|
-
|
|
70
|
+
L(() => n.itemCount, (e, t) => {
|
|
67
71
|
setTimeout(() => {
|
|
68
|
-
|
|
72
|
+
$();
|
|
69
73
|
}, 0);
|
|
70
74
|
}, { immediate: !1 });
|
|
71
|
-
const
|
|
72
|
-
if (!
|
|
73
|
-
const e =
|
|
74
|
-
let
|
|
75
|
-
if (
|
|
76
|
-
const l =
|
|
75
|
+
const u = _(0), k = () => {
|
|
76
|
+
if (!a.value) return 0;
|
|
77
|
+
const e = a.value[o.value ? "clientHeight" : "clientWidth"];
|
|
78
|
+
let t = 0;
|
|
79
|
+
if (d.value.length > 0) {
|
|
80
|
+
const l = d.value[0];
|
|
77
81
|
if (l) {
|
|
78
|
-
const
|
|
79
|
-
|
|
82
|
+
const i = l.getBoundingClientRect();
|
|
83
|
+
t = o.value ? i.height : i.width;
|
|
80
84
|
}
|
|
81
85
|
}
|
|
82
|
-
|
|
83
|
-
}
|
|
84
|
-
return
|
|
85
|
-
|
|
86
|
-
}),
|
|
87
|
-
|
|
88
|
-
}), (
|
|
89
|
-
|
|
86
|
+
u.value = Math.max(0, e - t);
|
|
87
|
+
};
|
|
88
|
+
return k(), X(() => {
|
|
89
|
+
a.value && (a.value.addEventListener("scroll", s), window.addEventListener("resize", s), a.value.addEventListener("touchmove", s, { passive: !0 }), $());
|
|
90
|
+
}), Y(() => {
|
|
91
|
+
a.value && (a.value.removeEventListener("scroll", s), a.value.removeEventListener("touchmove", s)), window.removeEventListener("resize", s);
|
|
92
|
+
}), L([
|
|
93
|
+
m,
|
|
94
|
+
g,
|
|
95
|
+
S,
|
|
96
|
+
N,
|
|
97
|
+
B,
|
|
98
|
+
w
|
|
99
|
+
], () => {
|
|
100
|
+
console.log("Props changed, reinitializing items"), D(() => {
|
|
101
|
+
s();
|
|
102
|
+
});
|
|
103
|
+
}), (e, t) => (y(), h("div", {
|
|
104
|
+
class: G(["slider", { horizontal: !o.value }]),
|
|
90
105
|
ref_key: "sliderRef",
|
|
91
|
-
ref:
|
|
106
|
+
ref: a
|
|
92
107
|
}, [
|
|
93
|
-
|
|
108
|
+
K(w) ? (y(), h("div", {
|
|
94
109
|
key: 0,
|
|
95
110
|
class: "slider-spacer",
|
|
96
|
-
style:
|
|
97
|
-
},
|
|
98
|
-
|
|
99
|
-
|
|
111
|
+
style: P(o.value ? { height: `${u.value}px`, minHeight: `${u.value}px` } : { width: `${u.value}px`, minWidth: `${u.value}px`, display: "inline-block" })
|
|
112
|
+
}, [
|
|
113
|
+
R(e.$slots, "spacer", { size: u.value }, void 0, !0)
|
|
114
|
+
], 4)) : J("", !0),
|
|
115
|
+
(y(!0), h(Q, null, Z(z.value, (l) => {
|
|
116
|
+
var i, v, f;
|
|
100
117
|
return y(), h("div", {
|
|
101
118
|
key: l,
|
|
102
119
|
class: "slider-item",
|
|
103
|
-
style:
|
|
104
|
-
zIndex:
|
|
120
|
+
style: P({
|
|
121
|
+
zIndex: z.value.length - l
|
|
105
122
|
})
|
|
106
123
|
}, [
|
|
107
|
-
|
|
124
|
+
ee("div", {
|
|
108
125
|
class: "slider-slot",
|
|
109
|
-
style:
|
|
110
|
-
transform: `${
|
|
111
|
-
opacity: (
|
|
126
|
+
style: P({
|
|
127
|
+
transform: `${I.value}(${-((i = r[l]) == null ? void 0 : i.translate) || 0}%) scale(${((v = r[l]) == null ? void 0 : v.scale) || 1})`,
|
|
128
|
+
opacity: (f = r[l]) == null ? void 0 : f.opacity
|
|
112
129
|
})
|
|
113
130
|
}, [
|
|
114
|
-
|
|
115
|
-
|
|
131
|
+
R(e.$slots, `item-${l}`, { index: l }, () => [
|
|
132
|
+
R(e.$slots, "item", { index: l }, void 0, !0)
|
|
116
133
|
], !0)
|
|
117
134
|
], 4)
|
|
118
135
|
], 4);
|
|
119
136
|
}), 128))
|
|
120
137
|
], 2));
|
|
121
138
|
}
|
|
122
|
-
}),
|
|
123
|
-
const
|
|
124
|
-
for (const [
|
|
125
|
-
|
|
126
|
-
return
|
|
127
|
-
},
|
|
139
|
+
}), ae = (c, n) => {
|
|
140
|
+
const m = c.__vccOpts || c;
|
|
141
|
+
for (const [g, S] of n)
|
|
142
|
+
m[g] = S;
|
|
143
|
+
return m;
|
|
144
|
+
}, ne = /* @__PURE__ */ ae(te, [["__scopeId", "data-v-2ecb83b3"]]);
|
|
128
145
|
export {
|
|
129
|
-
|
|
146
|
+
ne as ScrollSlide
|
|
130
147
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(c,e){typeof exports=="object"&&typeof module<"u"?e(exports,require("vue")):typeof define=="function"&&define.amd?define(["exports","vue"],e):(c=typeof globalThis<"u"?globalThis:c||self,e(c.ScrollSlide={},c.Vue))})(this,function(c,e){"use strict";const w=((m,o)=>{const p=m.__vccOpts||m;for(const[S,g]of o)p[S]=g;return p})(e.defineComponent({__name:"ScrollSlide",props:{direction:{type:String,default:"vertical",validator:m=>["vertical","horizontal"].includes(m)},itemCount:{type:Number,default:0},scaleRatio:{type:Number,default:.7},scaleStartPercent:{type:Number,default:.8},translateFactor:{type:Number,default:100},spacerEnabled:{type:Boolean,default:!1}},setup(m){const o=m,{direction:p,itemCount:S,scaleRatio:g,scaleStartPercent:B,translateFactor:R,spacerEnabled:k}=e.toRefs(o),l=e.ref(null),h=e.ref([]),r=e.reactive({}),i=e.computed(()=>o.direction==="vertical"),$=e.computed(()=>i.value?"translateY":"translateX"),M=(t,n)=>Math.min(Math.max(t/n,0),1),L=t=>t*t*(3-2*t),z=e.computed(()=>Array.from({length:o.itemCount},(t,n)=>n)),s=()=>{N(),C()},N=()=>{if(!l.value)return;const t=l.value,n=t[i.value?"clientHeight":"clientWidth"];h.value.forEach((a,d)=>{const f=a.getBoundingClientRect(),v=i.value?f.top:f.left,P=t.getBoundingClientRect(),I=v-(i.value?P.top:P.left),T=Math.min(Math.max(0,(n-I)/n),1),x=M(1-T-o.scaleStartPercent,1-o.scaleStartPercent),_=L(x),F=1+(o.scaleRatio-1)*_,V=_*o.translateFactor;let y;const E=Math.min(Math.max(_||0,0),1);E>.6?y=0:E<.4?y=1:y=(.6-E)/.2,r[d]={scale:F,translate:V,opacity:y}})},b=()=>{l.value&&(h.value=Array.from(l.value.querySelectorAll(".slider-item")),z.value.forEach(t=>{r[t]||(r[t]={scale:1,translate:0,opacity:1})}),Object.keys(r).forEach(t=>{const n=Number(t);n>=o.itemCount&&delete r[n]}),s())};e.watch(()=>o.itemCount,(t,n)=>{setTimeout(()=>{b()},0)},{immediate:!1});const u=e.ref(0),C=()=>{if(!l.value)return 0;const t=l.value[i.value?"clientHeight":"clientWidth"];let n=0;if(h.value.length>0){const a=h.value[0];if(a){const d=a.getBoundingClientRect();n=i.value?d.height:d.width}}u.value=Math.max(0,t-n)};return C(),e.onMounted(()=>{l.value&&(l.value.addEventListener("scroll",s),window.addEventListener("resize",s),l.value.addEventListener("touchmove",s,{passive:!0}),b())}),e.onUnmounted(()=>{l.value&&(l.value.removeEventListener("scroll",s),l.value.removeEventListener("touchmove",s)),window.removeEventListener("resize",s)}),e.watch([p,S,g,B,R,k],()=>{console.log("Props changed, reinitializing items"),e.nextTick(()=>{s()})}),(t,n)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["slider",{horizontal:!i.value}]),ref_key:"sliderRef",ref:l},[e.unref(k)?(e.openBlock(),e.createElementBlock("div",{key:0,class:"slider-spacer",style:e.normalizeStyle(i.value?{height:`${u.value}px`,minHeight:`${u.value}px`}:{width:`${u.value}px`,minWidth:`${u.value}px`,display:"inline-block"})},[e.renderSlot(t.$slots,"spacer",{size:u.value},void 0,!0)],4)):e.createCommentVNode("",!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(z.value,a=>{var d,f,v;return e.openBlock(),e.createElementBlock("div",{key:a,class:"slider-item",style:e.normalizeStyle({zIndex:z.value.length-a})},[e.createElementVNode("div",{class:"slider-slot",style:e.normalizeStyle({transform:`${$.value}(${-((d=r[a])==null?void 0:d.translate)||0}%) scale(${((f=r[a])==null?void 0:f.scale)||1})`,opacity:(v=r[a])==null?void 0:v.opacity})},[e.renderSlot(t.$slots,`item-${a}`,{index:a},()=>[e.renderSlot(t.$slots,"item",{index:a},void 0,!0)],!0)],4)],4)}),128))],2))}}),[["__scopeId","data-v-2ecb83b3"]]);c.ScrollSlide=w,Object.defineProperty(c,Symbol.toStringTag,{value:"Module"})});
|
package/package.json
CHANGED
|
@@ -1,34 +1,35 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "scroll-slides",
|
|
3
|
-
"version": "0.
|
|
4
|
-
"type": "module",
|
|
5
|
-
"types": "./dist/index.d.ts",
|
|
6
|
-
"files": [
|
|
7
|
-
"dist"
|
|
8
|
-
],
|
|
9
|
-
"main": "./dist/scroll-slides.umd.cjs",
|
|
10
|
-
"module": "./dist/scroll-slides.js",
|
|
11
|
-
"author": {
|
|
12
|
-
"name": "agoudbg",
|
|
13
|
-
"email": "agoudbg@gmail.com",
|
|
14
|
-
"url": "https://github.com/agoudbg"
|
|
15
|
-
},
|
|
16
|
-
"homepage": "https://github.com/agoudbg/scroll-slides",
|
|
17
|
-
"scripts": {
|
|
18
|
-
"dev": "vite",
|
|
19
|
-
"build": "vite build && vue-tsc --emitDeclarationOnly --project tsconfig.app.json",
|
|
20
|
-
"
|
|
21
|
-
"
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
"@
|
|
29
|
-
"@vue
|
|
30
|
-
"
|
|
31
|
-
"
|
|
32
|
-
"
|
|
33
|
-
|
|
1
|
+
{
|
|
2
|
+
"name": "scroll-slides",
|
|
3
|
+
"version": "0.2.0",
|
|
4
|
+
"type": "module",
|
|
5
|
+
"types": "./dist/index.d.ts",
|
|
6
|
+
"files": [
|
|
7
|
+
"dist"
|
|
8
|
+
],
|
|
9
|
+
"main": "./dist/scroll-slides.umd.cjs",
|
|
10
|
+
"module": "./dist/scroll-slides.js",
|
|
11
|
+
"author": {
|
|
12
|
+
"name": "agoudbg",
|
|
13
|
+
"email": "agoudbg@gmail.com",
|
|
14
|
+
"url": "https://github.com/agoudbg"
|
|
15
|
+
},
|
|
16
|
+
"homepage": "https://github.com/agoudbg/scroll-slides",
|
|
17
|
+
"scripts": {
|
|
18
|
+
"dev": "vite",
|
|
19
|
+
"build": "vite build && vue-tsc --emitDeclarationOnly --project tsconfig.app.json",
|
|
20
|
+
"build:demo": "vite build --config vite.demo.config.ts",
|
|
21
|
+
"types": "vue-tsc --declaration --emitDeclarationOnly --project tsconfig.app.json",
|
|
22
|
+
"preview": "vite preview"
|
|
23
|
+
},
|
|
24
|
+
"dependencies": {
|
|
25
|
+
"vue": "^3.5.13"
|
|
26
|
+
},
|
|
27
|
+
"devDependencies": {
|
|
28
|
+
"@types/node": "^22.14.0",
|
|
29
|
+
"@vitejs/plugin-vue": "^5.2.1",
|
|
30
|
+
"@vue/tsconfig": "^0.7.0",
|
|
31
|
+
"typescript": "~5.7.2",
|
|
32
|
+
"vite": "^6.2.0",
|
|
33
|
+
"vue-tsc": "^2.2.4"
|
|
34
|
+
}
|
|
34
35
|
}
|