@arisbh/marqueeck
Advanced tools
Comparing version 0.1.1 to 0.1.3
@@ -11,2 +11,3 @@ import { SvelteComponentTyped } from "svelte"; | ||
hoverClasses?: string | undefined; | ||
speedFactorStore?: import("svelte/store").Writable<number> | undefined; | ||
}; | ||
@@ -29,3 +30,4 @@ events: { | ||
export default class Marqueeck extends SvelteComponentTyped<MarqueeckProps, MarqueeckEvents, MarqueeckSlots> { | ||
get speedFactorStore(): import("svelte/store").Writable<number>; | ||
} | ||
export {}; |
export type MarqueeckOptions = { | ||
speed?: number | (() => number); | ||
speed?: number; | ||
direction?: 'left' | 'right'; | ||
@@ -12,2 +12,3 @@ gap?: number; | ||
stickyPosition?: 'start' | 'end'; | ||
speedFactor?: number; | ||
}; |
@@ -20,1 +20,2 @@ export declare const scrollState: { | ||
}) => void; | ||
export declare const factorHelper: (velocity: number, damper?: number) => number; |
@@ -63,1 +63,9 @@ import { writable } from 'svelte/store'; | ||
}; | ||
export const factorHelper = (velocity, damper = 7) => { | ||
if (velocity <= 5 && velocity >= -5) { | ||
return 1; | ||
} | ||
else { | ||
return Math.abs(velocity) / damper; | ||
} | ||
}; |
export function MarqueeckTranslate(node, options) { | ||
const { direction, distance } = options; | ||
const { direction, distance, } = options; | ||
let currentX = -2 * distance, totalMoved = distance; | ||
@@ -14,13 +14,10 @@ const distanceToMove = Math.abs(distance); | ||
function update() { | ||
const currentSpeed = typeof options.currentSpeed() === 'function' ? options.currentSpeed() : options.currentSpeed(); | ||
const currentSpeed = options.currentSpeed(); | ||
currentX += direction === 'left' ? -currentSpeed / 60 : currentSpeed / 60; | ||
if (direction === 'left') { | ||
node.style.transform = `translateX(${-currentX}px)`; | ||
// console.log('scrollleft'); | ||
} | ||
else { | ||
node.style.transform = `translateX(${currentX}px)`; | ||
// console.log('scrollright'); | ||
} | ||
// Keep track of total distance moved | ||
totalMoved += Math.abs(currentSpeed) / 60; | ||
@@ -27,0 +24,0 @@ if (totalMoved >= distanceToMove) |
{ | ||
"name": "@arisbh/marqueeck", | ||
"version": "0.1.1", | ||
"version": "0.1.3", | ||
"description": "Marqueeck is a custom and customizable marquee component for Sveltekit", | ||
@@ -5,0 +5,0 @@ "author": { |
Sorry, the diff of this file is not supported yet
181
15640