Skip to content

Commit

Permalink
Merge branch 'main' into unmount-provider
Browse files Browse the repository at this point in the history
  • Loading branch information
JoviDeCroock committed May 22, 2024
2 parents a3c9bb8 + 77d941c commit cbca0e6
Show file tree
Hide file tree
Showing 6 changed files with 42 additions and 11 deletions.
13 changes: 12 additions & 1 deletion compat/server.js
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,18 @@ try {
);
}

var renderToPipeableStream;
try {
const mod = require('preact-render-to-string/stream-node');
renderToPipeableStream = mod.default || mod.renderToPipeableStream || mod;
} catch (e) {
throw Error(
'renderToPipeableStream() error: update "preact-render-to-string" dependency to at least 6.5.0.'
);
}

module.exports = {
renderToString: renderToString,
renderToStaticMarkup: renderToString
renderToStaticMarkup: renderToString,
renderToPipeableStream: renderToPipeableStream
};
5 changes: 4 additions & 1 deletion compat/server.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,10 @@ export {
renderToString as renderToStaticMarkup
} from 'preact-render-to-string';

export { renderToPipeableStream } from 'preact-render-to-string/stream-node'

export default {
renderToString,
renderToStaticMarkup: renderToString
renderToStaticMarkup: renderToString,
renderToPipeableStream
};
15 changes: 8 additions & 7 deletions package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -241,7 +241,7 @@
"npm-merge-driver-install": "^1.1.1",
"npm-run-all": "^4.0.0",
"oxlint": "^0.3.4",
"preact-render-to-string": "^5.2.5",
"preact-render-to-string": "^6.5.0",
"prop-types": "^15.7.2",
"sade": "^1.7.4",
"sinon": "^9.2.3",
Expand Down
3 changes: 2 additions & 1 deletion src/diff/props.js
Original file line number Diff line number Diff line change
Expand Up @@ -116,6 +116,7 @@ export function setProperty(dom, name, value, oldValue, namespace) {
name != 'rowSpan' &&
name != 'colSpan' &&
name != 'role' &&
name != 'popover' &&
name in dom
) {
try {
Expand All @@ -135,7 +136,7 @@ export function setProperty(dom, name, value, oldValue, namespace) {
if (typeof value == 'function') {
// never serialize functions as attribute values
} else if (value != null && (value !== false || name[4] === '-')) {
dom.setAttribute(name, value);
dom.setAttribute(name, name == 'popover' && value == true ? '' : value);
} else {
dom.removeAttribute(name);
}
Expand Down
15 changes: 15 additions & 0 deletions test/browser/render.test.js
Original file line number Diff line number Diff line change
Expand Up @@ -472,6 +472,21 @@ describe('render()', () => {
expect(scratch.firstChild.spellcheck).to.equal(false);
});

it('should support popover auto', () => {
render(<div popover="auto" />, scratch);
expect(scratch.innerHTML).to.equal("<div popover=\"auto\"></div>");
});

it('should support popover true boolean', () => {
render(<div popover />, scratch);
expect(scratch.innerHTML).to.equal("<div popover=\"\"></div>");
});

it('should support popover false boolean', () => {
render(<div popover={false} />, scratch);
expect(scratch.innerHTML).to.equal("<div></div>");
});

// Test for preactjs/preact#4340
it('should respect defaultValue in render', () => {
scratch.innerHTML = '<input value="foo">';
Expand Down

0 comments on commit cbca0e6

Please sign in to comment.