pull/16821/head
7nik 2 days ago
parent e3bcb61441
commit 3063d7e110

@ -1,4 +1,4 @@
/** @import { Expression, ObjectExpression } from 'estree' */
/** @import { Expression } from 'estree' */
/** @import { Location } from 'locate-character' */
/** @import { AST } from '#compiler' */
/** @import { ComponentContext, ComponentServerTransformState } from '../types.js' */

@ -377,7 +377,7 @@ function build_element_spread_attributes(
* @param {AST.RegularElement | AST.SvelteElement} element
* @param {ComponentContext} context
* @param {(expression: Expression, metadata: ExpressionMetadata) => Expression} transform
* @returns {[ObjectExpression,Literal | undefined, ObjectExpression | undefined, ObjectExpression | undefined, Literal | undefined ]}
* @returns {[ObjectExpression,Literal | undefined, ObjectExpression | undefined, ObjectExpression | undefined, Literal | undefined]}
*/
export function prepare_element_spread_object(element, context, transform) {
/** @type {Array<AST.Attribute | AST.SpreadAttribute | AST.BindDirective>} */
@ -419,7 +419,7 @@ export function prepare_element_spread_object(element, context, transform) {
* @param {AST.ClassDirective[]} class_directives
* @param {ComponentContext} context
* @param {(expression: Expression, metadata: ExpressionMetadata) => Expression} transform
* @returns {[ObjectExpression,Literal | undefined, ObjectExpression | undefined, ObjectExpression | undefined, Literal | undefined ]}
* @returns {[ObjectExpression,Literal | undefined, ObjectExpression | undefined, ObjectExpression | undefined, Literal | undefined]}
*/
export function prepare_element_spread(
element,
@ -433,7 +433,7 @@ export function prepare_element_spread(
let classes;
/** @type {ObjectExpression | undefined} */
let styles;
let flags_num = 0;
let flags = 0;
if (class_directives.length) {
const properties = class_directives.map((directive) =>
@ -460,11 +460,11 @@ export function prepare_element_spread(
}
if (element.metadata.svg || element.metadata.mathml) {
flags_num |= ELEMENT_IS_NAMESPACED | ELEMENT_PRESERVE_ATTRIBUTE_CASE;
flags |= ELEMENT_IS_NAMESPACED | ELEMENT_PRESERVE_ATTRIBUTE_CASE;
} else if (is_custom_element_node(element)) {
flags_num |= ELEMENT_PRESERVE_ATTRIBUTE_CASE;
flags |= ELEMENT_PRESERVE_ATTRIBUTE_CASE;
} else if (element.type === 'RegularElement' && element.name === 'input') {
flags_num |= ELEMENT_IS_INPUT;
flags |= ELEMENT_IS_INPUT;
}
const object = build_spread_object(element, attributes, context, transform);
@ -472,9 +472,8 @@ export function prepare_element_spread(
element.metadata.scoped && context.state.analysis.css.hash
? b.literal(context.state.analysis.css.hash)
: undefined;
const flags = flags_num ? b.literal(flags_num) : undefined;
return [object, css_hash, classes, styles, flags];
return [object, css_hash, classes, styles, flags ? b.literal(flags) : undefined];
}
/**

Loading…
Cancel
Save