diff --git a/packages/svelte/src/compiler/phases/3-transform/client/visitors/template.js b/packages/svelte/src/compiler/phases/3-transform/client/visitors/template.js index de793f79cc..b28c73c4d8 100644 --- a/packages/svelte/src/compiler/phases/3-transform/client/visitors/template.js +++ b/packages/svelte/src/compiler/phases/3-transform/client/visitors/template.js @@ -2175,7 +2175,11 @@ export const template_visitors = { ); if (has_direction_attribute) { - context.state.update.push(b.stmt(b.call('$.set_direction', node_id))); + // This fixes an issue with Chromium where updates to text content within an element + // does not update the direction when set to auto. If we just re-assign the dir, this fixes it. + context.state.update.push( + b.stmt(b.assignment('=', b.member(node_id, b.id('dir')), b.member(node_id, b.id('dir')))) + ); } if (child_locations.length > 0) { diff --git a/packages/svelte/src/internal/client/index.js b/packages/svelte/src/internal/client/index.js index a35b5b3875..36df01ce18 100644 --- a/packages/svelte/src/internal/client/index.js +++ b/packages/svelte/src/internal/client/index.js @@ -118,7 +118,7 @@ export { update_pre_store, update_store } from './reactivity/store.js'; -export { append_styles, sanitize_slots, set_text, set_direction, slot } from './render.js'; +export { append_styles, sanitize_slots, set_text, slot } from './render.js'; export { get, invalidate_inner_signals, diff --git a/packages/svelte/src/internal/client/render.js b/packages/svelte/src/internal/client/render.js index b0e67c2507..1944f6396e 100644 --- a/packages/svelte/src/internal/client/render.js +++ b/packages/svelte/src/internal/client/render.js @@ -50,16 +50,6 @@ export function set_text(text, value) { } } -/** - * @param {HTMLElement} element - */ -export function set_direction(element) { - // This fixes an issue with Chromium where updates to text content within an element - // does not update the direction when set to auto. If we just re-assign the dir, this fixes it. - // eslint-disable-next-line no-self-assign - element.dir = element.dir; -} - /** * @param {Comment} anchor * @param {void | ((anchor: Comment, slot_props: Record) => void)} slot_fn