transitions.js — svelte Source File
Architecture documentation for transitions.js, a javascript file in the svelte codebase. 16 imports, 1 dependents.
Entity Profile
Dependency Diagram
graph LR e29c417d_6c26_6125_97f5_600e95e02dac["transitions.js"] cb946435_ce66_d1e8_6bee_287bdb07e7c5["utils.js"] e29c417d_6c26_6125_97f5_600e95e02dac --> cb946435_ce66_d1e8_6bee_287bdb07e7c5 fa007f2b_f437_c5ef_5c2d_ea8b5902500f["noop"] e29c417d_6c26_6125_97f5_600e95e02dac --> fa007f2b_f437_c5ef_5c2d_ea8b5902500f cf9fafcc_74cf_96c6_92b8_d5c64c62efa0["is_function"] e29c417d_6c26_6125_97f5_600e95e02dac --> cf9fafcc_74cf_96c6_92b8_d5c64c62efa0 1ae6fa4e_16ee_acdf_5e28_17eb0819fddb["effects.js"] e29c417d_6c26_6125_97f5_600e95e02dac --> 1ae6fa4e_16ee_acdf_5e28_17eb0819fddb a985ae40_8ef8_7ef2_adad_116fbf97e70c["effect"] e29c417d_6c26_6125_97f5_600e95e02dac --> a985ae40_8ef8_7ef2_adad_116fbf97e70c bde4209f_8ffc_1594_4024_b1835a44bcf6["runtime.js"] e29c417d_6c26_6125_97f5_600e95e02dac --> bde4209f_8ffc_1594_4024_b1835a44bcf6 a814b193_e12a_4037_c3c8_dfd45f3bd0bb["untrack"] e29c417d_6c26_6125_97f5_600e95e02dac --> a814b193_e12a_4037_c3c8_dfd45f3bd0bb 385470d9_b5f1_1cd1_d8da_e61454f3e60a["loop.js"] e29c417d_6c26_6125_97f5_600e95e02dac --> 385470d9_b5f1_1cd1_d8da_e61454f3e60a 185b398a_1ddd_d231_9999_8110452fa052["loop"] e29c417d_6c26_6125_97f5_600e95e02dac --> 185b398a_1ddd_d231_9999_8110452fa052 deb813bb_c5d2_3dfd_2554_606359abaa83["render.js"] e29c417d_6c26_6125_97f5_600e95e02dac --> deb813bb_c5d2_3dfd_2554_606359abaa83 73865c3c_2786_c9ac_d34f_b51d28b3a29e["constants.js"] e29c417d_6c26_6125_97f5_600e95e02dac --> 73865c3c_2786_c9ac_d34f_b51d28b3a29e 8e9a8b22_9754_09a3_8bf1_af0aeb68deca["task.js"] e29c417d_6c26_6125_97f5_600e95e02dac --> 8e9a8b22_9754_09a3_8bf1_af0aeb68deca 2cab0f64_6d19_d981_66e2_d2555c252702["queue_micro_task"] e29c417d_6c26_6125_97f5_600e95e02dac --> 2cab0f64_6d19_d981_66e2_d2555c252702 af7441d2_339a_2db1_88df_90dba2875c10["shared.js"] e29c417d_6c26_6125_97f5_600e95e02dac --> af7441d2_339a_2db1_88df_90dba2875c10 style e29c417d_6c26_6125_97f5_600e95e02dac fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
/** @import { AnimateFn, Animation, AnimationConfig, EachItem, Effect, EffectNodes, TransitionFn, TransitionManager } from '#client' */
import { noop, is_function } from '../../../shared/utils.js';
import { effect } from '../../reactivity/effects.js';
import { active_effect, untrack } from '../../runtime.js';
import { loop } from '../../loop.js';
import { should_intro } from '../../render.js';
import { TRANSITION_GLOBAL, TRANSITION_IN, TRANSITION_OUT } from '../../../../constants.js';
import { BLOCK_EFFECT, EFFECT_RAN, EFFECT_TRANSPARENT } from '#client/constants';
import { queue_micro_task } from '../task.js';
import { without_reactive_context } from './bindings/shared.js';
/**
* @param {Element} element
* @param {'introstart' | 'introend' | 'outrostart' | 'outroend'} type
* @returns {void}
*/
function dispatch_event(element, type) {
without_reactive_context(() => {
element.dispatchEvent(new CustomEvent(type));
});
}
/**
* Converts a property to the camel-case format expected by Element.animate(), KeyframeEffect(), and KeyframeEffect.setKeyframes().
* @param {string} style
* @returns {string}
*/
function css_property_to_camelcase(style) {
// in compliance with spec
if (style === 'float') return 'cssFloat';
if (style === 'offset') return 'cssOffset';
// do not rename custom @properties
if (style.startsWith('--')) return style;
const parts = style.split('-');
if (parts.length === 1) return parts[0];
return (
parts[0] +
parts
.slice(1)
.map(/** @param {any} word */ (word) => word[0].toUpperCase() + word.slice(1))
.join('')
);
}
/**
* @param {string} css
* @returns {Keyframe}
*/
function css_to_keyframe(css) {
/** @type {Keyframe} */
const keyframe = {};
const parts = css.split(';');
for (const part of parts) {
const [property, value] = part.split(':');
if (!property || value === undefined) break;
const formatted_property = css_property_to_camelcase(property.trim());
keyframe[formatted_property] = value.trim();
// ... (412 more lines)
Domain
Subdomains
Functions
Dependencies
Source
Frequently Asked Questions
What does transitions.js do?
transitions.js is a source file in the svelte codebase, written in javascript. It belongs to the ClientRuntime domain, Hydration subdomain.
What functions are defined in transitions.js?
transitions.js defines 8 function(s): animate, animation, css_property_to_camelcase, css_to_keyframe, dispatch_event, linear, set_animation_effect_override, transition.
What does transitions.js depend on?
transitions.js imports 16 module(s): constants, constants.js, effect, effects.js, is_function, loop, loop.js, noop, and 8 more.
What files import transitions.js?
transitions.js is imported by 1 file(s): svelte-element.js.
Where is transitions.js in the architecture?
transitions.js is located at packages/svelte/src/internal/client/dom/elements/transitions.js (domain: ClientRuntime, subdomain: Hydration, directory: packages/svelte/src/internal/client/dom/elements).
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free