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.
@@ -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").ComputedRef<number>;
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 __VLS_2: `item-${number}`, __VLS_3: {
15
+ declare var __VLS_1: {
16
+ size: number;
17
+ }, __VLS_4: `item-${number}`, __VLS_5: {
15
18
  index: number;
16
- }, __VLS_5: {
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 __VLS_2>]?: (props: typeof __VLS_3) => any;
23
+ [K in NonNullable<typeof __VLS_4>]?: (props: typeof __VLS_5) => any;
21
24
  } & {
22
- item?: (props: typeof __VLS_5) => any;
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>;
@@ -1 +1 @@
1
- .slider[data-v-55bb67bd]{position:relative;width:100%;height:100%;overflow-y:auto;overflow-x:hidden;box-sizing:border-box}.slider.horizontal[data-v-55bb67bd]{overflow-x:auto;overflow-y:hidden;white-space:nowrap}.slider-item[data-v-55bb67bd]{position:relative}.slider-item .slider-slot[data-v-55bb67bd]{position:relative;transition:transform .04s}.horizontal .slider-item[data-v-55bb67bd]{display:inline-block;vertical-align:middle;transform-origin:center right}.slider-spacer[data-v-55bb67bd]{pointer-events:none}
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}
@@ -1,12 +1,12 @@
1
- import { defineComponent as I, ref as C, reactive as F, computed as p, watch as x, onMounted as A, onUnmounted as H, createElementBlock as h, openBlock as y, normalizeClass as T, createCommentVNode as V, normalizeStyle as E, Fragment as W, renderList as O, createElementVNode as j, renderSlot as _ } from "vue";
2
- const q = /* @__PURE__ */ I({
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: (s) => ["vertical", "horizontal"].includes(s)
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(s) {
38
- const r = s, t = C(null), u = C([]), n = F({}), o = p(() => r.direction === "vertical"), P = p(() => o.value ? "translateY" : "translateX"), R = (e, a) => Math.min(Math.max(e / a, 0), 1), $ = (e) => e * e * (3 - 2 * e), g = p(() => Array.from({ length: r.itemCount }, (e, a) => a)), i = () => {
39
- if (!t.value) return;
40
- const e = t.value, a = e[o.value ? "clientHeight" : "clientWidth"];
41
- u.value.forEach((l, c) => {
42
- const v = l.getBoundingClientRect(), d = o.value ? v.top : v.left, z = e.getBoundingClientRect(), k = d - (o.value ? z.top : z.left), M = Math.min(
43
- Math.max(0, (a - k) / a),
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
- ), B = R(1 - M - r.scaleStartPercent, 1 - r.scaleStartPercent), S = $(B), L = 1 + (r.scaleRatio - 1) * S, N = S * r.translateFactor;
46
- let f;
47
- const b = Math.min(Math.max(S || 0, 0), 1);
48
- b > 0.6 ? f = 0 : b < 0.4 ? f = 1 : f = (0.6 - b) / 0.2, n[c] = {
49
- scale: L,
50
- translate: N,
51
- opacity: f
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
- }, w = () => {
55
- t.value && (u.value = Array.from(t.value.querySelectorAll(".slider-item")), g.value.forEach((e) => {
56
- n[e] || (n[e] = {
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(n).forEach((e) => {
62
- const a = Number(e);
63
- a >= r.itemCount && delete n[a];
64
- }), i());
65
+ }), Object.keys(r).forEach((e) => {
66
+ const t = Number(e);
67
+ t >= n.itemCount && delete r[t];
68
+ }), s());
65
69
  };
66
- x(() => r.itemCount, (e, a) => {
70
+ L(() => n.itemCount, (e, t) => {
67
71
  setTimeout(() => {
68
- w();
72
+ $();
69
73
  }, 0);
70
74
  }, { immediate: !1 });
71
- const m = p(() => {
72
- if (!t.value) return 0;
73
- const e = t.value[o.value ? "clientHeight" : "clientWidth"];
74
- let a = 0;
75
- if (u.value.length > 0) {
76
- const l = u.value[0];
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 c = l.getBoundingClientRect();
79
- a = o.value ? c.height : c.width;
82
+ const i = l.getBoundingClientRect();
83
+ t = o.value ? i.height : i.width;
80
84
  }
81
85
  }
82
- return Math.max(0, e - a);
83
- });
84
- return A(() => {
85
- t.value && (t.value.addEventListener("scroll", i), window.addEventListener("resize", i), t.value.addEventListener("touchmove", i, { passive: !0 }), w());
86
- }), H(() => {
87
- t.value && (t.value.removeEventListener("scroll", i), t.value.removeEventListener("touchmove", i)), window.removeEventListener("resize", i);
88
- }), (e, a) => (y(), h("div", {
89
- class: T(["slider", { horizontal: !o.value }]),
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: t
106
+ ref: a
92
107
  }, [
93
- s.spacerEnabled ? (y(), h("div", {
108
+ K(w) ? (y(), h("div", {
94
109
  key: 0,
95
110
  class: "slider-spacer",
96
- style: E(o.value ? { height: `${m.value}px`, minHeight: `${m.value}px` } : { width: `${m.value}px`, minWidth: `${m.value}px`, display: "inline-block" })
97
- }, null, 4)) : V("", !0),
98
- (y(!0), h(W, null, O(g.value, (l) => {
99
- var c, v, d;
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: E({
104
- zIndex: g.value.length - l
120
+ style: P({
121
+ zIndex: z.value.length - l
105
122
  })
106
123
  }, [
107
- j("div", {
124
+ ee("div", {
108
125
  class: "slider-slot",
109
- style: E({
110
- transform: `${P.value}(${-((c = n[l]) == null ? void 0 : c.translate) || 0}%) scale(${((v = n[l]) == null ? void 0 : v.scale) || 1})`,
111
- opacity: (d = n[l]) == null ? void 0 : d.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
- _(e.$slots, `item-${l}`, { index: l }, () => [
115
- _(e.$slots, "item", { index: l }, void 0, !0)
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
- }), U = (s, r) => {
123
- const t = s.__vccOpts || s;
124
- for (const [u, n] of r)
125
- t[u] = n;
126
- return t;
127
- }, Y = /* @__PURE__ */ U(q, [["__scopeId", "data-v-55bb67bd"]]);
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
- Y as ScrollSlide
146
+ ne as ScrollSlide
130
147
  };
@@ -1 +1 @@
1
- (function(s,e){typeof exports=="object"&&typeof module<"u"?e(exports,require("vue")):typeof define=="function"&&define.amd?define(["exports","vue"],e):(s=typeof globalThis<"u"?globalThis:s||self,e(s.ScrollSlide={},s.Vue))})(this,function(s,e){"use strict";const b=((c,a)=>{const l=c.__vccOpts||c;for(const[u,r]of a)l[u]=r;return l})(e.defineComponent({__name:"ScrollSlide",props:{direction:{type:String,default:"vertical",validator:c=>["vertical","horizontal"].includes(c)},itemCount:{type:Number,default:0},scaleRatio:{type:Number,default:.7},scaleStartPercent:{type:Number,default:.8},translateFactor:{type:Number,default:100},allowScrollToFirst:{type:Boolean,default:!1},spacerEnabled:{type:Boolean,default:!1}},setup(c){const a=c,l=e.ref(null),u=e.ref([]),r=e.reactive({}),i=e.computed(()=>a.direction==="vertical"),k=e.computed(()=>i.value?"translateY":"translateX"),z=(t,n)=>Math.min(Math.max(t/n,0),1),B=t=>t*t*(3-2*t),y=e.computed(()=>Array.from({length:a.itemCount},(t,n)=>n)),d=()=>{if(!l.value)return;const t=l.value,n=t[i.value?"clientHeight":"clientWidth"];u.value.forEach((o,m)=>{const f=o.getBoundingClientRect(),v=i.value?f.top:f.left,_=t.getBoundingClientRect(),w=v-(i.value?_.top:_.left),C=Math.min(Math.max(0,(n-w)/n),1),P=z(1-C-a.scaleStartPercent,1-a.scaleStartPercent),S=B(P),R=1+(a.scaleRatio-1)*S,$=S*a.translateFactor;let h;const g=Math.min(Math.max(S||0,0),1);g>.6?h=0:g<.4?h=1:h=(.6-g)/.2,r[m]={scale:R,translate:$,opacity:h}})},E=()=>{l.value&&(u.value=Array.from(l.value.querySelectorAll(".slider-item")),y.value.forEach(t=>{r[t]||(r[t]={scale:1,translate:0,opacity:1})}),Object.keys(r).forEach(t=>{const n=Number(t);n>=a.itemCount&&delete r[n]}),d())};e.watch(()=>a.itemCount,(t,n)=>{setTimeout(()=>{E()},0)},{immediate:!1});const p=e.computed(()=>{if(!l.value)return 0;const t=l.value[i.value?"clientHeight":"clientWidth"];let n=0;if(u.value.length>0){const o=u.value[0];if(o){const m=o.getBoundingClientRect();n=i.value?m.height:m.width}}return Math.max(0,t-n)});return e.onMounted(()=>{l.value&&(l.value.addEventListener("scroll",d),window.addEventListener("resize",d),l.value.addEventListener("touchmove",d,{passive:!0}),E())}),e.onUnmounted(()=>{l.value&&(l.value.removeEventListener("scroll",d),l.value.removeEventListener("touchmove",d)),window.removeEventListener("resize",d)}),(t,n)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["slider",{horizontal:!i.value}]),ref_key:"sliderRef",ref:l},[c.spacerEnabled?(e.openBlock(),e.createElementBlock("div",{key:0,class:"slider-spacer",style:e.normalizeStyle(i.value?{height:`${p.value}px`,minHeight:`${p.value}px`}:{width:`${p.value}px`,minWidth:`${p.value}px`,display:"inline-block"})},null,4)):e.createCommentVNode("",!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(y.value,o=>{var m,f,v;return e.openBlock(),e.createElementBlock("div",{key:o,class:"slider-item",style:e.normalizeStyle({zIndex:y.value.length-o})},[e.createElementVNode("div",{class:"slider-slot",style:e.normalizeStyle({transform:`${k.value}(${-((m=r[o])==null?void 0:m.translate)||0}%) scale(${((f=r[o])==null?void 0:f.scale)||1})`,opacity:(v=r[o])==null?void 0:v.opacity})},[e.renderSlot(t.$slots,`item-${o}`,{index:o},()=>[e.renderSlot(t.$slots,"item",{index:o},void 0,!0)],!0)],4)],4)}),128))],2))}}),[["__scopeId","data-v-55bb67bd"]]);s.ScrollSlide=b,Object.defineProperty(s,Symbol.toStringTag,{value:"Module"})});
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.1.1",
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
- "types": "vue-tsc --declaration --emitDeclarationOnly --project tsconfig.app.json",
21
- "preview": "vite preview"
22
- },
23
- "dependencies": {
24
- "vue": "^3.5.13"
25
- },
26
- "devDependencies": {
27
- "@types/node": "^22.14.0",
28
- "@vitejs/plugin-vue": "^5.2.1",
29
- "@vue/tsconfig": "^0.7.0",
30
- "typescript": "~5.7.2",
31
- "vite": "^6.2.0",
32
- "vue-tsc": "^2.2.4"
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
  }