diff --git a/.changeset/gorgeous-eyes-cheer.md b/.changeset/gorgeous-eyes-cheer.md new file mode 100644 index 00000000..cc85c9d5 --- /dev/null +++ b/.changeset/gorgeous-eyes-cheer.md @@ -0,0 +1,5 @@ +--- +'preact-render-to-string': patch +--- + +Ensure `cellPadding`, `cellSpacing`, and `useMap` are serialized to lower case diff --git a/src/lib/util.js b/src/lib/util.js index 12b5a4cc..fd86e5d6 100644 --- a/src/lib/util.js +++ b/src/lib/util.js @@ -1,7 +1,7 @@ export const VOID_ELEMENTS = /^(?:area|base|br|col|embed|hr|img|input|link|meta|param|source|track|wbr)$/; export const UNSAFE_NAME = /[\s\n\\/='"\0<>]/; export const NAMESPACE_REPLACE_REGEX = /^(xlink|xmlns|xml)([A-Z])/; -export const HTML_LOWER_CASE = /^accessK|^auto[A-Z]|^ch|^col|cont|cross|dateT|encT|form[A-Z]|frame|hrefL|inputM|maxL|minL|noV|playsI|popoverT|readO|rowS|spellC|src[A-Z]|tabI|item[A-Z]/; +export const HTML_LOWER_CASE = /^accessK|^auto[A-Z]|^cell|^ch|^col|cont|cross|dateT|encT|form[A-Z]|frame|hrefL|inputM|maxL|minL|noV|playsI|popoverT|readO|rowS|spellC|src[A-Z]|tabI|useM|item[A-Z]/; export const SVG_CAMEL_CASE = /^ac|^ali|arabic|basel|cap|clipPath$|clipRule$|color|dominant|enable|fill|flood|font|glyph[^R]|horiz|image|letter|lighting|marker[^WUH]|overline|panose|pointe|paint|rendering|shape|stop|strikethrough|stroke|text[^L]|transform|underline|unicode|units|^v[^i]|^w|^xH/; // DOM properties that should NOT have "px" added when numeric diff --git a/test/utils.js b/test/utils.js index cadfb55a..068a1149 100644 --- a/test/utils.js +++ b/test/utils.js @@ -297,8 +297,8 @@ export const htmlAttributes = { autoFocus: 'autofocus', autoPlay: 'autoplay', capture: 'capture', - cellPadding: 'cellPadding', - cellSpacing: 'cellSpacing', + cellPadding: 'cellpadding', + cellSpacing: 'cellspacing', charSet: 'charset', challenge: 'challenge', checked: 'checked', @@ -414,7 +414,7 @@ export const htmlAttributes = { target: 'target', title: 'title', type: 'type', - useMap: 'useMap', + useMap: 'usemap', value: 'value', volume: 'volume', width: 'width',