diff --git a/src/compiler/compile/render_ssr/handlers/shared/get_attribute_value.js b/src/compiler/compile/render_ssr/handlers/shared/get_attribute_value.js index c6a1b7087a..da6f727e95 100644 --- a/src/compiler/compile/render_ssr/handlers/shared/get_attribute_value.js +++ b/src/compiler/compile/render_ssr/handlers/shared/get_attribute_value.js @@ -7,12 +7,19 @@ import { regex_double_quotes } from '../../../../utils/patterns.js'; * @returns {import("C:/repos/svelte/svelte/node_modules/.pnpm/@types+estree@1.0.0/node_modules/@types/estree/index").Expression} */ export function get_class_attribute_value(attribute) { - // handle special case — `class={possiblyUndefined}` with scoped CSS - if (attribute.chunks.length === 2 && ( /** @type {import('../../../nodes/Text.js').default} */(attribute.chunks[1])).synthetic) { - const value = ( /** @type {import('../../../nodes/shared/Expression.js').default} */(attribute.chunks[0])).node; - return x `@escape(@null_to_empty(${value}), true) + "${( /** @type {import('../../../nodes/Text.js').default} */(attribute.chunks[1])).data}"`; - } - return get_attribute_value(attribute); + // handle special case — `class={possiblyUndefined}` with scoped CSS + if ( + attribute.chunks.length === 2 && + /** @type {import('../../../nodes/Text.js').default} */ (attribute.chunks[1]).synthetic + ) { + const value = /** @type {import('../../../nodes/shared/Expression.js').default} */ ( + attribute.chunks[0] + ).node; + return x`@escape(@null_to_empty(${value}), true) + "${ + /** @type {import('../../../nodes/Text.js').default} */ (attribute.chunks[1]).data + }"`; + } + return get_attribute_value(attribute); } /** @@ -20,20 +27,22 @@ export function get_class_attribute_value(attribute) { * @returns {import("C:/repos/svelte/svelte/node_modules/.pnpm/@types+estree@1.0.0/node_modules/@types/estree/index").Expression} */ export function get_attribute_value(attribute) { - if (attribute.chunks.length === 0) - return x `""`; - /** - * For value attribute of textarea, it will render as child node of `