pull/18871/merge
Alexandre Kohler 11 hours ago committed by GitHub
commit 30a8699189
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

@ -0,0 +1,5 @@
---
'svelte': patch
---
fix: keep the case of camelCase custom element properties set via spread

@ -446,7 +446,7 @@ function set_attributes(
set_selected(/** @type {HTMLOptionElement} */ (element), value);
} else {
var name = key;
if (!preserve_attribute_case) {
if (!preserve_attribute_case && !(is_custom_element && setters.has(name))) {
name = normalize_attribute(name);
}

@ -0,0 +1,13 @@
import { test } from '../../test';
export default test({
mode: ['client'],
test({ assert, target }) {
const element = /** @type {HTMLElement & { __camel_case: { test: true } }} */ (
target.querySelector('camel-case-element')
);
assert.equal(element.hasAttribute('camelcase'), false);
assert.deepEqual(element.__camel_case, { test: true });
}
});

@ -0,0 +1,14 @@
<script module>
if (!customElements.get('camel-case-element')) {
customElements.define(
'camel-case-element',
class extends HTMLElement {
set camelCase(v) {
this.__camel_case = v;
}
}
);
}
</script>
<camel-case-element {...{ camelCase: { test: true } }}></camel-case-element>
Loading…
Cancel
Save