slide() — svelte Function Reference
Architecture documentation for the slide() function in index.js from the svelte codebase.
Entity Profile
Dependency Diagram
graph TD e1d4155e_0e1f_1f08_0f4d_b6f9ccd8921c["slide()"] 8795a504_2189_bf07_fb96_096bc8c92d25["index.js"] e1d4155e_0e1f_1f08_0f4d_b6f9ccd8921c -->|defined in| 8795a504_2189_bf07_fb96_096bc8c92d25 f0bb6a10_e53b_296d_1955_436ff5ff5c40["transition_slide_display()"] e1d4155e_0e1f_1f08_0f4d_b6f9ccd8921c -->|calls| f0bb6a10_e53b_296d_1955_436ff5ff5c40 style e1d4155e_0e1f_1f08_0f4d_b6f9ccd8921c fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
packages/svelte/src/transition/index.js lines 108–150
export function slide(node, { delay = 0, duration = 400, easing = cubic_out, axis = 'y' } = {}) {
const style = getComputedStyle(node);
if (DEV && !slide_warning && /(contents|inline|table)/.test(style.display)) {
slide_warning = true;
Promise.resolve().then(() => (slide_warning = false));
w.transition_slide_display(style.display);
}
const opacity = +style.opacity;
const primary_property = axis === 'y' ? 'height' : 'width';
const primary_property_value = parseFloat(style[primary_property]);
const secondary_properties = axis === 'y' ? ['top', 'bottom'] : ['left', 'right'];
const capitalized_secondary_properties = secondary_properties.map(
(e) => /** @type {'Left' | 'Right' | 'Top' | 'Bottom'} */ (`${e[0].toUpperCase()}${e.slice(1)}`)
);
const padding_start_value = parseFloat(style[`padding${capitalized_secondary_properties[0]}`]);
const padding_end_value = parseFloat(style[`padding${capitalized_secondary_properties[1]}`]);
const margin_start_value = parseFloat(style[`margin${capitalized_secondary_properties[0]}`]);
const margin_end_value = parseFloat(style[`margin${capitalized_secondary_properties[1]}`]);
const border_width_start_value = parseFloat(
style[`border${capitalized_secondary_properties[0]}Width`]
);
const border_width_end_value = parseFloat(
style[`border${capitalized_secondary_properties[1]}Width`]
);
return {
delay,
duration,
easing,
css: (t) =>
'overflow: hidden;' +
`opacity: ${Math.min(t * 20, 1) * opacity};` +
`${primary_property}: ${t * primary_property_value}px;` +
`padding-${secondary_properties[0]}: ${t * padding_start_value}px;` +
`padding-${secondary_properties[1]}: ${t * padding_end_value}px;` +
`margin-${secondary_properties[0]}: ${t * margin_start_value}px;` +
`margin-${secondary_properties[1]}: ${t * margin_end_value}px;` +
`border-${secondary_properties[0]}-width: ${t * border_width_start_value}px;` +
`border-${secondary_properties[1]}-width: ${t * border_width_end_value}px;` +
`min-${primary_property}: 0`
};
}
Domain
Subdomains
Defined In
Source
Frequently Asked Questions
What does slide() do?
slide() is a function in the svelte codebase, defined in packages/svelte/src/transition/index.js.
Where is slide() defined?
slide() is defined in packages/svelte/src/transition/index.js at line 108.
What does slide() call?
slide() calls 1 function(s): transition_slide_display.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free