Skip to content

Commit 3d4625b

Browse files
committed
update templating amd reactivity
1 parent 4db8c86 commit 3d4625b

File tree

12 files changed

+332
-356
lines changed

12 files changed

+332
-356
lines changed

package-lock.json

Lines changed: 14 additions & 14 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"name": "solid-js",
33
"description": "A declarative JavaScript library for building user interfaces.",
4-
"version": "0.12.0",
4+
"version": "0.13.0",
55
"author": "Ryan Carniato",
66
"license": "MIT",
77
"repository": {
@@ -26,13 +26,13 @@
2626
"@babel/core": "7.6.4",
2727
"@babel/preset-env": "7.6.3",
2828
"@babel/preset-typescript": "^7.6.0",
29-
"babel-plugin-jsx-dom-expressions": "~0.13.0",
29+
"babel-plugin-jsx-dom-expressions": "~0.14.0",
3030
"coveralls": "^3.0.6",
3131
"ncp": "2.0.0",
32-
"dom-expressions": "0.13.0",
33-
"hyper-dom-expressions": "~0.13.0",
32+
"dom-expressions": "0.14.0",
33+
"hyper-dom-expressions": "~0.14.0",
3434
"jest": "~24.9.0",
35-
"lit-dom-expressions": "~0.13.0",
35+
"lit-dom-expressions": "~0.14.0",
3636
"npm-run-all": "^4.1.5",
3737
"rimraf": "^2.6.3",
3838
"rollup": "^1.24.0",

src/dom/h.ts

Lines changed: 14 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,17 @@
11
/// <reference path="../../node_modules/dom-expressions/runtime.d.ts" />
22
import { createHyperScript } from "hyper-dom-expressions";
3-
import * as r from "./index";
3+
import {
4+
wrap,
5+
insert,
6+
createComponent,
7+
delegateEvents,
8+
classList
9+
} from "./index";
410

5-
export default createHyperScript(r);
11+
export default createHyperScript({
12+
wrap,
13+
insert,
14+
createComponent,
15+
delegateEvents,
16+
classList
17+
});

src/dom/html.ts

Lines changed: 14 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,17 @@
11
/// <reference path="../../node_modules/dom-expressions/runtime.d.ts" />
22
import { createHTML } from "lit-dom-expressions";
3-
import * as r from "./index";
3+
import {
4+
wrap,
5+
insert,
6+
createComponent,
7+
delegateEvents,
8+
classList
9+
} from "./index";
410

5-
export default createHTML(r);
11+
export default createHTML({
12+
wrap,
13+
insert,
14+
createComponent,
15+
delegateEvents,
16+
classList
17+
});

src/dom/runtime.d.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
export function template(html: string): HTMLTemplateElement;
1+
export function template(html: string, isSVG?: boolean): Element;
22
export function wrap<T>(fn: (prev?: T) => T): any;
33
export function insert(
44
parent: Element | Document | ShadowRoot | DocumentFragment,

src/dom/runtime.js

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,11 +7,13 @@ const eventRegistry = new Set();
77

88
export { wrap, currentContext };
99

10-
export function template(html) {
10+
export function template(html, isSVG) {
1111
const t = document.createElement('template');
1212
t.innerHTML = html;
1313
if (t.innerHTML !== html) throw new Error(`Template html does not match input:\n${t.innerHTML}\n${html}`);
14-
return t;
14+
let node = t.content.firstChild;
15+
if (isSVG) node = node.firstChild;
16+
return node;
1517
}
1618

1719
export function createComponent(Comp, props, dynamicKeys) {
@@ -91,7 +93,7 @@ export function hydration(code, root) {
9193

9294
export function getNextElement(template) {
9395
if (!hydrateRegistry) {
94-
const el = template.content.firstChild.cloneNode(true);
96+
const el = template.cloneNode(true);
9597
if (SSR) el.setAttribute('_hk', `${hydrateKey++}`);
9698
return el;
9799
}

0 commit comments

Comments
 (0)