From 62af15379f0b682c8a9f1a47d38dfd8dc628286c Mon Sep 17 00:00:00 2001 From: Karsten Schmidt Date: Fri, 2 Feb 2018 16:02:24 +0000 Subject: [PATCH 01/26] docs: update dep graph --- assets/deps.png | Bin 63506 -> 63328 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/assets/deps.png b/assets/deps.png index fb523f4f543bdeb2bd8ca49da8d110de547cbd81..52cd23bb9f2819161c0a7db44c65689c05e97cf7 100644 GIT binary patch literal 63328 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 Js!%Ww{VzALN^bxF From 38699b96a7c07b0033aa8ec25a0dcc6d52d395c4 Mon Sep 17 00:00:00 2001 From: Karsten Schmidt Date: Fri, 2 Feb 2018 21:35:14 +0000 Subject: [PATCH 02/26] docs(hiccup-dom): add diagram --- assets/hdom-dataflow.svg | 2 ++ packages/hiccup-dom/README.md | 2 ++ 2 files changed, 4 insertions(+) create mode 100644 assets/hdom-dataflow.svg diff --git a/assets/hdom-dataflow.svg b/assets/hdom-dataflow.svg new file mode 100644 index 0000000000..aa6ea5e2c4 --- /dev/null +++ b/assets/hdom-dataflow.svg @@ -0,0 +1,2 @@ + +
App state /
source data
[Not supported by viewer]
DOM tree creation
(nested JS array)
[Not supported by viewer]
Recursive Diff
w/ previous tree
[Not supported by viewer]

State changes
caused by
events

[Not supported by viewer]
Browser DOM
mutation
Browser DOM<div>mutation</div>
Tree expansion
(normalization)
[Not supported by viewer]
element & attrib updates
component lifecycle hooks
[Not supported by viewer]
computes
minimum changeset
[Not supported by viewer]
tag normalization
nested component function execution
tag normalization<div>nested component function execution</div>
static / dynamic arrays
closures
component objects
[Not supported by viewer]
unprescribed /
anything goes...
[Not supported by viewer]
  requestAnimationFrame()  
&nbsp; requestAnimationFrame()&nbsp;&nbsp;
  user code  
[Not supported by viewer]
\ No newline at end of file diff --git a/packages/hiccup-dom/README.md b/packages/hiccup-dom/README.md index 6729ad4eac..a3e568abd0 100644 --- a/packages/hiccup-dom/README.md +++ b/packages/hiccup-dom/README.md @@ -42,6 +42,8 @@ difference between the old and new DOM trees (both nested JS arrays). Components can be defined as static arrays, closures or objects with life cycle hooks (init, render, release). +![hdom dataflow](../../assets/hdom-dataflow.svg) + The approach is inspired by Clojure's [Hiccup](https://github.com/weavejester/hiccup) and [Reagent](http://reagent-project.github.io/) projects, however the latter is a From ab7154a8cac57e0bc1b60d43a90d948b4115ee6d Mon Sep 17 00:00:00 2001 From: Karsten Schmidt Date: Fri, 2 Feb 2018 21:59:47 +0000 Subject: [PATCH 03/26] docs(hiccup-dom): update readme --- packages/hiccup-dom/README.md | 41 ++++++++++++++++++++++++++++------- 1 file changed, 33 insertions(+), 8 deletions(-) diff --git a/packages/hiccup-dom/README.md b/packages/hiccup-dom/README.md index a3e568abd0..33f4a04fbe 100644 --- a/packages/hiccup-dom/README.md +++ b/packages/hiccup-dom/README.md @@ -7,9 +7,18 @@ Lightweight reactive DOM components using only vanilla JS data structures (arrays, objects, closures, iterators), based on [@thi.ng/hiccup](https://github.com/thi-ng/umbrella/tree/master/packages/hiccup). -Supports arbitrary attributes, events, CSS conversion from JS objects, SVG and -server side rendering (by passing the same data structure to @thi.ng/hiccup's -`serialize()`). Only ~10KB minified. + +Benefits: + +- Use the full expressiveness of ES6/TypeScript to define, annotate & document components +- Clean, functional component composition and reuse +- No pre-processing / pre-compilation steps +- No string parsing / interpolation steps +- Supports SVG, arbitrary elements, attributes, events +- CSS conversion from JS objects +- Suitable for server side rendering (by passing the same data structure to @thi.ng/hiccup's `serialize()`) +- Fairly fast (see benchmark example below) +- Only ~10KB minified ```typescript import { start } from "@thi.ng/hiccup-dom"; @@ -35,7 +44,10 @@ start(document.body, app()); [Live demo](http://demo.thi.ng/umbrella/hiccup-dom/basics/) | [standalone example](../../examples/hdom-basics) No template engine & no precompilation steps needed, just use the full -expressiveness of ES6 to define your DOM tree. +expressiveness of ES6/TypeScript to define your DOM tree. The additional +benefit of using TypeScript is that your UI components can become strongly +typed, since they're just normal functions, can use generics, overrides, +varargs etc. The actual DOM update is based on the minimal edit set of the recursive difference between the old and new DOM trees (both nested JS arrays). @@ -44,7 +56,7 @@ hooks (init, render, release). ![hdom dataflow](../../assets/hdom-dataflow.svg) -The approach is inspired by Clojure's +The syntax is inspired by Clojure's [Hiccup](https://github.com/weavejester/hiccup) and [Reagent](http://reagent-project.github.io/) projects, however the latter is a wrapper around React, whereas this library is standalone, more lowlevel & @@ -52,9 +64,9 @@ less opinionated. If you're interested in using this, please also consider the [@thi.ng/atom](https://github.com/thi-ng/umbrella/tree/master/packages/atom) -[@thi.ng/rstream](https://github.com/thi-ng/umbrella/tree/master/packages/rstream) packages to integrate app -state handling, event streams & reactive value subscriptions. Examples -forthcoming... +[@thi.ng/rstream](https://github.com/thi-ng/umbrella/tree/master/packages/rstream) +packages to integrate app state handling, event streams & reactive value +subscriptions. More examples are forthcoming... ## Installation @@ -127,6 +139,19 @@ window.addEventListener("load", () => start(document.getElementById("app"), app) TODO example forthcoming... +### Benchmark + +A stress test benchmark is here: [/examples/benchmark](https://github.com/thi-ng/umbrella/tree/master/examples/hdom-benchmark) + +[Live demo here](http://demo.thi.ng/umbrella/hiccup-dom/benchmark/) + +Based on [user feedback collected via +Twitter](https://twitter.com/toxi/status/959246871339454464), performance +should be more than acceptable for even quite demanding UIs. In the 192/256 +cells configurations this stress test causes approx. 600/800 DOM every single +frame, something very unlikely for a typical web app. In Chrome 64 on a MBP2016 +this still runs at a pretty stable 30fps (50 frame SMA). + ## Authors - Karsten Schmidt From 7ae706eb57b7ffd55ca058f79af7c2f3b06078d5 Mon Sep 17 00:00:00 2001 From: Karsten Schmidt Date: Fri, 2 Feb 2018 22:45:25 +0000 Subject: [PATCH 04/26] feat(hiccup): skip fn exec for event attribs, update tests, readme BREAKING CHANGE: event attribs w/ function values will be omitted, see readme for details/examples --- packages/hiccup/README.md | 19 +++++++++++++++++++ packages/hiccup/src/serialize.ts | 5 +++-- packages/hiccup/test/index.ts | 24 ++++++++++++++++++++++++ 3 files changed, 46 insertions(+), 2 deletions(-) diff --git a/packages/hiccup/README.md b/packages/hiccup/README.md index c57e43515c..079450bd69 100644 --- a/packages/hiccup/README.md +++ b/packages/hiccup/README.md @@ -117,6 +117,9 @@ If an attribute specifies a function as value, the function is called with the entire attribute object as argument. This allows for the dynamic generation of attribute values, based on existing ones. The result MUST be a string. +**BREAKING CHANGE since 1.0.0:** Function values for event attributes (any +attrib name starting with "on") WILL BE OMITTED from output. + ```js ["div#foo", { bar: (attribs) => attribs.id + "-bar" }] ``` @@ -125,6 +128,22 @@ attribute values, based on existing ones. The result MUST be a string.
``` +```js +["div#foo", { onclick: () => alert("foo") }, "click me!"] +``` + +```html +
click me!
+``` + +```js +["div#foo", { onclick: "alert('foo')" }, "click me!"] +``` + +```html +
click me!
+``` + ### Simple components ```js diff --git a/packages/hiccup/src/serialize.ts b/packages/hiccup/src/serialize.ts index 76861bc9f3..c5d3d154bd 100644 --- a/packages/hiccup/src/serialize.ts +++ b/packages/hiccup/src/serialize.ts @@ -92,10 +92,11 @@ const _serialize = (tree: any, esc: boolean) => { res = `<${tag}`; for (let a in attribs) { if (attribs.hasOwnProperty(a)) { - let v = attribs[a]; + let v = attribs[a], + isEvent = /^on\w+/.test(a); if (v != null) { if (isFunction(v)) { - if ((v = v(attribs)) == null) { + if (isEvent || (v = v(attribs)) == null) { continue; } } diff --git a/packages/hiccup/test/index.ts b/packages/hiccup/test/index.ts index 6e8bce018c..9582d550c1 100644 --- a/packages/hiccup/test/index.ts +++ b/packages/hiccup/test/index.ts @@ -12,6 +12,18 @@ function check(id, a, b) { describe("serialize", () => { + check( + "null", + null, + "" + ); + + check( + "empty tree", + [], + "" + ); + check( "simple div", ["div", "foo"], @@ -100,6 +112,18 @@ describe("serialize", () => { `
` ); + check( + "event attr fn", + ["div", { onclick: () => 1 }], + `
` + ); + + check( + "event attr (string)", + ["div", { onclick: "1" }], + `
` + ); + check( "attr obj w/ toString()", ["div", { foo: { toString: () => "23" } }], From 7cc5c93a9de5c8740340d2cf9054285ca950aac4 Mon Sep 17 00:00:00 2001 From: Karsten Schmidt Date: Fri, 2 Feb 2018 23:51:09 +0000 Subject: [PATCH 05/26] refactor(hiccup-dom): update event attrib naming convention, update readme BREAKING CHANGE: event attributes now just use `on` prefix, previously `on-` --- packages/hiccup-dom/README.md | 10 +++++++++- packages/hiccup-dom/src/diff.ts | 2 +- packages/hiccup-dom/src/dom.ts | 4 ++-- 3 files changed, 12 insertions(+), 4 deletions(-) diff --git a/packages/hiccup-dom/README.md b/packages/hiccup-dom/README.md index 33f4a04fbe..f686a6e7fe 100644 --- a/packages/hiccup-dom/README.md +++ b/packages/hiccup-dom/README.md @@ -21,6 +21,7 @@ Benefits: - Only ~10KB minified ```typescript +import { serialize } from "@thi.ng/hiccup"; import { start } from "@thi.ng/hiccup-dom"; // stateless component w/ params @@ -29,7 +30,7 @@ const greeter = (name) => ["h1.title", "hello ", name]; // component w/ local state const counter = () => { let i = 0; - return () => ["button", { "on-click": () => (i++) }, `clicks: ${i}`]; + return () => ["button", { onclick: () => (i++) }, `clicks: ${i}`]; }; const app = () => { @@ -39,8 +40,15 @@ const app = () => { return ["div#app", [greeter, "world"], ...counters]; }; +// browser only (see diagram below) start(document.body, app()); + +// browser or server side serialization +// (note: does not emit event attributes w/ functions as values) +serialize(app); +//

hello world

``` + [Live demo](http://demo.thi.ng/umbrella/hiccup-dom/basics/) | [standalone example](../../examples/hdom-basics) No template engine & no precompilation steps needed, just use the full diff --git a/packages/hiccup-dom/src/diff.ts b/packages/hiccup-dom/src/diff.ts index 9ddca6a106..e62b262a3e 100644 --- a/packages/hiccup-dom/src/diff.ts +++ b/packages/hiccup-dom/src/diff.ts @@ -195,7 +195,7 @@ export function normalizeTree(el: any, path = [0], keys = true, span = true) { function hasChangedEvents(prev: any, curr: any) { for (let k in curr) { - if (k.indexOf("on-") === 0 && prev[k] !== curr[k]) { + if (k.indexOf("on") === 0 && prev[k] !== curr[k]) { return true; } } diff --git a/packages/hiccup-dom/src/dom.ts b/packages/hiccup-dom/src/dom.ts index 5c46bc2f24..040a353a3d 100644 --- a/packages/hiccup-dom/src/dom.ts +++ b/packages/hiccup-dom/src/dom.ts @@ -88,8 +88,8 @@ export function setAttrib(el: Element, k: string, v: any) { updateValueAttrib(el, v); break; default: - if (k.indexOf("on-") === 0) { - el.addEventListener(k.substr(3), v); + if (k.indexOf("on") === 0) { + el.addEventListener(k.substr(2), v); } else { el.setAttribute(k, v); } From 292677993c56f333b4b72316956edf73c709d118 Mon Sep 17 00:00:00 2001 From: Karsten Schmidt Date: Fri, 2 Feb 2018 23:57:29 +0000 Subject: [PATCH 06/26] refactor(examples): update event attribs --- examples/hdom-basics/src/index.ts | 2 +- examples/hdom-benchmark/src/index.ts | 4 ++-- examples/todo-list/src/index.ts | 12 ++++++------ 3 files changed, 9 insertions(+), 9 deletions(-) diff --git a/examples/hdom-basics/src/index.ts b/examples/hdom-basics/src/index.ts index 0e8b0d9091..ce3ec76b7c 100644 --- a/examples/hdom-basics/src/index.ts +++ b/examples/hdom-basics/src/index.ts @@ -6,7 +6,7 @@ const greeter = (name) => ["h1.title", "hello ", name]; // component w/ local state const counter = () => { let i = 0; - return () => ["button", { "on-click": () => (i++) }, `clicks: ${i}`]; + return () => ["button", { onclick: () => (i++) }, `clicks: ${i}`]; }; const app = () => { diff --git a/examples/hdom-benchmark/src/index.ts b/examples/hdom-benchmark/src/index.ts index 22756e8511..dbef11c91f 100644 --- a/examples/hdom-benchmark/src/index.ts +++ b/examples/hdom-benchmark/src/index.ts @@ -25,11 +25,11 @@ const box = (id: number) => [ * @param change onchange listener * @param items drop down options `[value, label]` */ -const dropdown = (change: (e: Event) => void, items: [any, any][]) => +const dropdown = (onchange: (e: Event) => void, items: [any, any][]) => tx.transduce( tx.map(([value, label]) => ["option", { value }, label]), tx.push(), - ["select", { "on-change": change }], + ["select", { onchange }], items ); diff --git a/examples/todo-list/src/index.ts b/examples/todo-list/src/index.ts index 08e5b23d9a..7053770df8 100644 --- a/examples/todo-list/src/index.ts +++ b/examples/todo-list/src/index.ts @@ -45,7 +45,7 @@ const taskItem = (id, task: Task) => { type: "checkbox", checked: task.done, - "on-click": () => toggleTask(id), + onclick: () => toggleTask(id), }], [{ init: (el) => !el.value && el.focus(), @@ -55,8 +55,8 @@ const taskItem = (id, task: Task) => type: "text", placeholder: "todo...", value: task.body, - "on-keydown": (e) => e.key === "Enter" && e.target.blur(), - "on-blur": (e) => updateTask(id, (e.target).value) + onkeydown: (e) => e.key === "Enter" && e.target.blur(), + onblur: (e) => updateTask(id, (e.target).value) }] }]]; @@ -71,9 +71,9 @@ const taskList = () => { const toolbar = () => ["div#toolbar", - ["button", { "on-click": () => addNewTask() }, "+ Add"], - ["button", { "on-click": () => tasks.undo(), disabled: !tasks.canUndo() }, "Undo"], - ["button", { "on-click": () => tasks.redo(), disabled: !tasks.canRedo() }, "Redo"]]; + ["button", { onclick: () => addNewTask() }, "+ Add"], + ["button", { onclick: () => tasks.undo(), disabled: !tasks.canUndo() }, "Undo"], + ["button", { onclick: () => tasks.redo(), disabled: !tasks.canRedo() }, "Redo"]]; // static header component (simple array) const header = From 309c7d7c885e05a5003095c44d88044e2dce915a Mon Sep 17 00:00:00 2001 From: Karsten Schmidt Date: Fri, 2 Feb 2018 23:58:11 +0000 Subject: [PATCH 07/26] build(examples): update example build commands --- examples/dashboard/README.md | 2 ++ examples/dashboard/package.json | 5 +++-- examples/hdom-basics/README.md | 2 +- examples/hdom-basics/package.json | 7 ++++--- examples/hdom-benchmark/README.md | 2 ++ examples/hdom-benchmark/package.json | 5 +++-- examples/todo-list/README.md | 2 ++ examples/todo-list/package.json | 5 +++-- 8 files changed, 20 insertions(+), 10 deletions(-) diff --git a/examples/dashboard/README.md b/examples/dashboard/README.md index a2849fe194..052dca0dc4 100644 --- a/examples/dashboard/README.md +++ b/examples/dashboard/README.md @@ -10,3 +10,5 @@ cd umbrella/examples/dashboard yarn install yarn dev ``` + +Once webpack has completed building, refresh your browser... diff --git a/examples/dashboard/package.json b/examples/dashboard/package.json index 70dc5a6f29..2d9af0be55 100644 --- a/examples/dashboard/package.json +++ b/examples/dashboard/package.json @@ -5,8 +5,9 @@ "author": "Karsten Schmidt ", "license": "Apache-2.0", "scripts": { - "dev": "webpack -w", - "clean": "rm -rf bundle.*" + "build": "yarn clean && webpack", + "clean": "rm -rf bundle.*", + "dev": "open index.html && webpack -w" }, "devDependencies": { "ts-loader": "^3.3.1", diff --git a/examples/hdom-basics/README.md b/examples/hdom-basics/README.md index 0d7d5de272..14209cc21b 100644 --- a/examples/hdom-basics/README.md +++ b/examples/hdom-basics/README.md @@ -9,4 +9,4 @@ yarn install yarn dev ``` -Then open `index.html` in your browser... \ No newline at end of file +Once webpack has completed building, refresh your browser... \ No newline at end of file diff --git a/examples/hdom-basics/package.json b/examples/hdom-basics/package.json index f672f439e3..000cbbfa86 100644 --- a/examples/hdom-basics/package.json +++ b/examples/hdom-basics/package.json @@ -5,8 +5,9 @@ "author": "Karsten Schmidt ", "license": "Apache-2.0", "scripts": { - "dev": "webpack -w", - "clean": "rm -rf bundle.*" + "build": "yarn clean && webpack", + "clean": "rm -rf bundle.*", + "dev": "open index.html && webpack -w" }, "devDependencies": { "ts-loader": "^3.3.1", @@ -19,4 +20,4 @@ "@thi.ng/rstream": "^0.9.1", "@thi.ng/transducers": "^1.0.6" } -} +} \ No newline at end of file diff --git a/examples/hdom-benchmark/README.md b/examples/hdom-benchmark/README.md index a88c41f5ad..2d873fc8c5 100644 --- a/examples/hdom-benchmark/README.md +++ b/examples/hdom-benchmark/README.md @@ -8,3 +8,5 @@ cd umbrella/examples/hdom-benchmark yarn install yarn dev ``` + +Once webpack has completed building, refresh your browser... diff --git a/examples/hdom-benchmark/package.json b/examples/hdom-benchmark/package.json index ff753d17b1..d72f3d3f2e 100644 --- a/examples/hdom-benchmark/package.json +++ b/examples/hdom-benchmark/package.json @@ -5,8 +5,9 @@ "author": "Karsten Schmidt ", "license": "Apache-2.0", "scripts": { - "dev": "webpack -w", - "clean": "rm -rf bundle.*" + "build": "yarn clean && webpack", + "clean": "rm -rf bundle.*", + "dev": "open index.html && webpack -w" }, "devDependencies": { "ts-loader": "^3.3.1", diff --git a/examples/todo-list/README.md b/examples/todo-list/README.md index a486f278bb..5a1d9e5e9f 100644 --- a/examples/todo-list/README.md +++ b/examples/todo-list/README.md @@ -8,3 +8,5 @@ cd umbrella/examples/todo-list yarn install yarn dev ``` + +Once webpack has completed building, refresh your browser... diff --git a/examples/todo-list/package.json b/examples/todo-list/package.json index 860ee3f3d7..f459358eda 100644 --- a/examples/todo-list/package.json +++ b/examples/todo-list/package.json @@ -5,8 +5,9 @@ "author": "Karsten Schmidt ", "license": "Apache-2.0", "scripts": { - "dev": "webpack -w", - "clean": "rm -rf bundle.*" + "build": "yarn clean && webpack", + "clean": "rm -rf bundle.*", + "dev": "open index.html && webpack -w" }, "devDependencies": { "ts-loader": "^3.3.1", From 8106d16f879c6843f50bb056904e3bae92ab7b54 Mon Sep 17 00:00:00 2001 From: Karsten Schmidt Date: Fri, 2 Feb 2018 23:58:53 +0000 Subject: [PATCH 08/26] build: update main package build commands, update make-example script, readme --- README.md | 20 +++++++++++++++----- package.json | 1 + scripts/make-example | 7 +++++-- 3 files changed, 21 insertions(+), 7 deletions(-) diff --git a/README.md b/README.md index f1426b6ba6..a3ca5672be 100644 --- a/README.md +++ b/README.md @@ -53,6 +53,16 @@ cd umbrella yarn build ``` +### Building example projects + +``` +# build all examples (from project root) +yarn examples + +# in example dir +yarn dev +``` + ### Testing (TODO not all packages have tests yet) @@ -65,19 +75,19 @@ lerna run test --scope @thi.ng/rstream ### Coverage +The resulting reports will be saved under `/packages/*/coverage/lcov-report/`. + ``` yarn cover ``` -The resulting reports will be saved under `/packages/*/coverage/lcov-report/`. ### Documentation +Autogenerated documentation (using +[TypeDoc](https://github.com/TypeStrong/typedoc)) will be saved under +`/packages/*/doc/` and is also available at [docs.thi.ng](http://docs.thi.ng). ``` yarn doc ``` - -The autogenerated documentation (using -[TypeDoc](https://github.com/TypeStrong/typedoc)) will be saved under -`/packages/*/doc/` and is also available at [docs.thi.ng](http://docs.thi.ng). \ No newline at end of file diff --git a/package.json b/package.json index db033527f8..8cb5c7525c 100644 --- a/package.json +++ b/package.json @@ -14,6 +14,7 @@ "cover": "lerna run cover", "depgraph": "scripts/depgraph && git add assets/deps.png && git commit -m 'docs: update dep graph' && git push", "doc": "lerna run doc", + "examples": "ex=\"examples/*\"; for e in $ex; do (cd $e && yarn build); done", "pub": "lerna publish && yarn depgraph && yarn doc && scripts/upload-docs", "test": "yarn build && lerna run test" } diff --git a/scripts/make-example b/scripts/make-example index 67624aba6f..14d6d0ed92 100755 --- a/scripts/make-example +++ b/scripts/make-example @@ -20,8 +20,9 @@ cat << EOF > $MODULE/package.json "author": "$AUTHOR <$EMAIL>", "license": "Apache-2.0", "scripts": { - "dev": "webpack -w", - "clean": "rm -rf bundle.*" + "build": "yarn clean && webpack", + "clean": "rm -rf bundle.*", + "dev": "open index.html && webpack -w" }, "devDependencies": { "ts-loader": "^3.3.1", @@ -102,4 +103,6 @@ cd umbrella/examples/$1 yarn install yarn dev \`\`\` + +Once webpack has completed building, refresh your browser... EOF From 99a943acceb2db976e8102037184ebf3f8977b26 Mon Sep 17 00:00:00 2001 From: Karsten Schmidt Date: Sat, 3 Feb 2018 00:33:41 +0000 Subject: [PATCH 09/26] Publish - @thi.ng/hiccup-dom@1.0.0 - @thi.ng/hiccup@1.0.0 --- packages/hiccup-dom/CHANGELOG.md | 16 ++++++++++++++++ packages/hiccup-dom/package.json | 4 ++-- packages/hiccup/CHANGELOG.md | 16 ++++++++++++++++ packages/hiccup/package.json | 2 +- 4 files changed, 35 insertions(+), 3 deletions(-) diff --git a/packages/hiccup-dom/CHANGELOG.md b/packages/hiccup-dom/CHANGELOG.md index 0d94650372..aa0a0500c9 100644 --- a/packages/hiccup-dom/CHANGELOG.md +++ b/packages/hiccup-dom/CHANGELOG.md @@ -3,6 +3,22 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +
+# [1.0.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/hiccup-dom@0.1.2...@thi.ng/hiccup-dom@1.0.0) (2018-02-03) + + +### Code Refactoring + +* **hiccup-dom:** update event attrib naming convention, update readme ([7cc5c93](https://github.com/thi-ng/umbrella/commit/7cc5c93)) + + +### BREAKING CHANGES + +* **hiccup-dom:** event attributes now just use `on` prefix, previously `on-` + + + + ## [0.1.2](https://github.com/thi-ng/umbrella/compare/@thi.ng/hiccup-dom@0.1.1...@thi.ng/hiccup-dom@0.1.2) (2018-02-02) diff --git a/packages/hiccup-dom/package.json b/packages/hiccup-dom/package.json index 0fe99e5374..71f4eda2e4 100644 --- a/packages/hiccup-dom/package.json +++ b/packages/hiccup-dom/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/hiccup-dom", - "version": "0.1.2", + "version": "1.0.0", "description": "TODO", "main": "./index.js", "typings": "./index.d.ts", @@ -25,7 +25,7 @@ }, "dependencies": { "@thi.ng/diff": "^0.1.1", - "@thi.ng/hiccup": "^0.1.7", + "@thi.ng/hiccup": "^1.0.0", "@thi.ng/iterators": "^4.0.4" }, "keywords": [ diff --git a/packages/hiccup/CHANGELOG.md b/packages/hiccup/CHANGELOG.md index b065610082..b8b9795517 100644 --- a/packages/hiccup/CHANGELOG.md +++ b/packages/hiccup/CHANGELOG.md @@ -3,6 +3,22 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. + +# [1.0.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/hiccup@0.1.7...@thi.ng/hiccup@1.0.0) (2018-02-03) + + +### Features + +* **hiccup:** skip fn exec for event attribs, update tests, readme ([7ae706e](https://github.com/thi-ng/umbrella/commit/7ae706e)) + + +### BREAKING CHANGES + +* **hiccup:** event attribs w/ function values will be omitted, see readme for details/examples + + + + ## [0.1.7](https://github.com/thi-ng/umbrella/compare/@thi.ng/hiccup@0.1.6...@thi.ng/hiccup@0.1.7) (2018-02-02) diff --git a/packages/hiccup/package.json b/packages/hiccup/package.json index 6aa6728c3b..3fbc4d63ae 100644 --- a/packages/hiccup/package.json +++ b/packages/hiccup/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/hiccup", - "version": "0.1.7", + "version": "1.0.0", "description": "HTML/SVG/XML serialization of nested data structures, iterables & closures", "main": "./index.js", "typings": "./index.d.ts", From 5aed12b6d26a5261735c8a608db30046ee7c5748 Mon Sep 17 00:00:00 2001 From: Karsten Schmidt Date: Sat, 3 Feb 2018 00:33:53 +0000 Subject: [PATCH 10/26] docs: update dep graph --- assets/deps.png | Bin 63328 -> 63208 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/assets/deps.png b/assets/deps.png index 52cd23bb9f2819161c0a7db44c65689c05e97cf7..1babdab3e8217168e432cd13d23f2bfa93c02db5 100644 GIT binary patch literal 63208 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
8fMDgjAKsW3h12hS-O1rR*;qXUhmx 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 literal 63328 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 px|Ix{Wd5_ODWGMx|IaVNtdMjfX?}bNq!R Date: Sat, 3 Feb 2018 00:40:21 +0000 Subject: [PATCH 11/26] build(examples): update deps --- examples/dashboard/package.json | 2 +- examples/hdom-basics/package.json | 5 +---- examples/hdom-benchmark/package.json | 8 ++++---- examples/todo-list/package.json | 6 +++--- 4 files changed, 9 insertions(+), 12 deletions(-) diff --git a/examples/dashboard/package.json b/examples/dashboard/package.json index 2d9af0be55..f6824e1e21 100644 --- a/examples/dashboard/package.json +++ b/examples/dashboard/package.json @@ -15,6 +15,6 @@ "webpack": "^3.10.0" }, "dependencies": { - "@thi.ng/hiccup-dom": "^0.1.1" + "@thi.ng/hiccup-dom": "^1.0.0" } } \ No newline at end of file diff --git a/examples/hdom-basics/package.json b/examples/hdom-basics/package.json index 000cbbfa86..72193a670a 100644 --- a/examples/hdom-basics/package.json +++ b/examples/hdom-basics/package.json @@ -15,9 +15,6 @@ "webpack": "^3.10.0" }, "dependencies": { - "@thi.ng/api": "^2.0.0", - "@thi.ng/hiccup-dom": "^0.1.1", - "@thi.ng/rstream": "^0.9.1", - "@thi.ng/transducers": "^1.0.6" + "@thi.ng/hiccup-dom": "^1.0.0" } } \ No newline at end of file diff --git a/examples/hdom-benchmark/package.json b/examples/hdom-benchmark/package.json index d72f3d3f2e..50ddcbef2e 100644 --- a/examples/hdom-benchmark/package.json +++ b/examples/hdom-benchmark/package.json @@ -15,9 +15,9 @@ "webpack": "^3.10.0" }, "dependencies": { - "@thi.ng/api": "^2.0.0", - "@thi.ng/hiccup-dom": "^0.1.1", - "@thi.ng/rstream": "^0.9.1", - "@thi.ng/transducers": "^1.0.6" + "@thi.ng/api": "^2.0.1", + "@thi.ng/hiccup-dom": "^1.0.0", + "@thi.ng/rstream": "^0.9.2", + "@thi.ng/transducers": "^1.0.7" } } \ No newline at end of file diff --git a/examples/todo-list/package.json b/examples/todo-list/package.json index f459358eda..b638a5df52 100644 --- a/examples/todo-list/package.json +++ b/examples/todo-list/package.json @@ -15,8 +15,8 @@ "webpack": "^3.10.0" }, "dependencies": { - "@thi.ng/atom": "^0.5.0", - "@thi.ng/hiccup-dom": "^0.1.1", - "@thi.ng/transducers": "^1.0.6" + "@thi.ng/atom": "^0.5.1", + "@thi.ng/hiccup-dom": "^1.0.0", + "@thi.ng/transducers": "^1.0.7" } } \ No newline at end of file From 8ebc6242e2a752fe24c2f07a9cbe0729b5466785 Mon Sep 17 00:00:00 2001 From: Karsten Schmidt Date: Sat, 3 Feb 2018 02:12:47 +0000 Subject: [PATCH 12/26] docs(atom): update readme --- packages/atom/README.md | 84 ++++++++++++++++++++++++++++++++++++++++- 1 file changed, 83 insertions(+), 1 deletion(-) diff --git a/packages/atom/README.md b/packages/atom/README.md index a14c19b21f..c1663311af 100644 --- a/packages/atom/README.md +++ b/packages/atom/README.md @@ -15,7 +15,9 @@ yarn add @thi.ng/atom ## Usage examples -A complete minimal webapp example is in the [/examples/todo-list](https://github.com/thi-ng/umbrella/tree/master/examples/todo-list) directory. +A complete minimal webapp example is in the +[/examples/todo-list](https://github.com/thi-ng/umbrella/tree/master/examples/todo-list) +directory. [Live demo here](http://demo.thi.ng/umbrella/hiccup-dom/todo-list/) @@ -43,6 +45,37 @@ a.reset(42); ### Cursor +Cursors provide direct & immutable access to a nested value within a structured +atom. The path to the desired value must be provided when the cursor is +created. The path is then compiled into a [getter and setter](./src/path.ts) to +allow cursors to be used like atoms and update the parent state in an immutable +manner (i.e. producing an optimized copy with structural sharing of the +original (as much as possible)) - see further details below. + +**It's important to remember** that cursors also cause their parent state (atom or +another cursor) to reflect their updated local state. I.e. any change to a +cursor's value propagates up the hierarchy of parent states. + +```typescript +a = new atom.Atom({a: {b: {c: 1}}}) +// cursor to `b` value +b=new atom.Cursor(a, "a.b") +// cursor to `c` value, relative to `b` +c=new atom.Cursor(b, "c") + +c.reset(2); + +b.deref(); +// { c: 2 } + +a.deref(); +// { a: { b: { c: 2 } } } +``` + +For that reason, it's recommended to design the overall data layout rather wide +than deep (my personal limit is 3-4 levels) to minimize the length of the +propagation chain and maximize structural sharing. + ```typescript // main state main = new atom.Atom({ a: { b: { c: 23 }, d: { e: 42 } }, f: 66 }); @@ -112,6 +145,55 @@ db.canRedo() // false ``` +### Getters & setters + +The `getter()` and `setter()` functions transform a path like `a.b.c` into a +function operating directly at the value the path points to in nested object. +For getters, this essentially compiles to `val = obj.a.b.c`. + +The resulting setter function too accepts a single object to operate on and +when called, **immutably** replaces the value at the given path, i.e. produces +a selective deep copy of obj up until given path. If any intermediate key is +not present in the given object, it creates a plain empty object for that +missing key and descends further along the path. + +```typescript +s = setter("a.b.c"); +// or +s = setter(["a","b","c"]); + +s({a: {b: {c: 23}}}, 24) +// {a: {b: {c: 24}}} + +s({x: 23}, 24) +// { x: 23, a: { b: { c: 24 } } } + +s(null, 24) +// { a: { b: { c: 24 } } } +``` + +Only keys in the path will be modied, all other keys present in the given +object retain their original values to provide efficient structural sharing / +re-use. This is the same *behavior* as in Clojure's immutable maps or those +provided by ImmutableJS (albeit those implementation are completely different - +they're using trees, we're using the ES6 spread op and recursive functional +composition to produce the setter). + +```typescript +s = setter("a.b.c"); + +// original +a = { x: { y: { z: 1 } }, u: { v: 2 } }; +// updated version +b = s(a, 3); +// { x: { y: { z: 1 } }, u: { v: 2 }, a: { b: { c: 2 } } } + +// verify anything under keys `x` & `u` is still identical +a.x === b.x // true +a.x.y === b.x.y // true +a.u === b.u; // true +``` + ## Authors - Karsten Schmidt From 96004efed4d3b488658c4b72e9408839bbe845d8 Mon Sep 17 00:00:00 2001 From: Karsten Schmidt Date: Sat, 3 Feb 2018 02:32:38 +0000 Subject: [PATCH 13/26] docs(atom): fix readme example --- packages/atom/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/atom/README.md b/packages/atom/README.md index c1663311af..7200630ebf 100644 --- a/packages/atom/README.md +++ b/packages/atom/README.md @@ -105,7 +105,7 @@ cursor.swap(x => x + 1); // foo 23 24 main.deref() -// { a: 24, b: 42 } +// { a: { b: { c: 24 }, d: { e: 42 } }, f: 66 } ``` ### Undo history From 7ae6af3bdb906e54caa7bab89cbc76b957035a5c Mon Sep 17 00:00:00 2001 From: Forrest Oliphant Date: Fri, 2 Feb 2018 22:12:44 -0500 Subject: [PATCH 14/26] Is c 3 here? --- packages/atom/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/atom/README.md b/packages/atom/README.md index 7200630ebf..192c879aef 100644 --- a/packages/atom/README.md +++ b/packages/atom/README.md @@ -186,7 +186,7 @@ s = setter("a.b.c"); a = { x: { y: { z: 1 } }, u: { v: 2 } }; // updated version b = s(a, 3); -// { x: { y: { z: 1 } }, u: { v: 2 }, a: { b: { c: 2 } } } +// { x: { y: { z: 1 } }, u: { v: 2 }, a: { b: { c: 3 } } } // verify anything under keys `x` & `u` is still identical a.x === b.x // true From aa48d3be188f6eada7ea37896d66cdc7807bc731 Mon Sep 17 00:00:00 2001 From: Karsten Schmidt Date: Sat, 3 Feb 2018 07:49:46 +0000 Subject: [PATCH 15/26] feat(examples): add svg particles demo --- examples/svg-particles/README.md | 12 ++++++++ examples/svg-particles/package.json | 23 +++++++++++++++ examples/svg-particles/src/index.ts | 43 ++++++++++++++++++++++++++++ examples/svg-particles/tsconfig.json | 9 ++++++ 4 files changed, 87 insertions(+) create mode 100644 examples/svg-particles/README.md create mode 100644 examples/svg-particles/package.json create mode 100644 examples/svg-particles/src/index.ts create mode 100644 examples/svg-particles/tsconfig.json diff --git a/examples/svg-particles/README.md b/examples/svg-particles/README.md new file mode 100644 index 0000000000..94f1494f2f --- /dev/null +++ b/examples/svg-particles/README.md @@ -0,0 +1,12 @@ +# svg-particles + +[Live demo](http://demo.thi.ng/umbrella/hiccup-dom/svg-particles/) + +``` +git clone https://github.com/thi-ng/umbrella.git +cd umbrella/examples/svg-particles +yarn install +yarn dev +``` + +Once webpack has completed building, refresh your browser... diff --git a/examples/svg-particles/package.json b/examples/svg-particles/package.json new file mode 100644 index 0000000000..815d2e2bc5 --- /dev/null +++ b/examples/svg-particles/package.json @@ -0,0 +1,23 @@ +{ + "name": "svg-particles", + "version": "0.0.1", + "repository": "https://github.com/thi-ng/umbrella", + "author": "Karsten Schmidt ", + "license": "Apache-2.0", + "scripts": { + "build": "yarn clean && webpack", + "clean": "rm -rf bundle.*", + "dev": "open index.html && webpack -w" + }, + "devDependencies": { + "ts-loader": "^3.3.1", + "typescript": "^2.7.1", + "webpack": "^3.10.0" + }, + "dependencies": { + "@thi.ng/api": "^2.0.0", + "@thi.ng/hiccup-dom": "^0.1.1", + "@thi.ng/rstream": "^0.9.1", + "@thi.ng/transducers": "^1.0.6" + } +} diff --git a/examples/svg-particles/src/index.ts b/examples/svg-particles/src/index.ts new file mode 100644 index 0000000000..c3ef0c4a05 --- /dev/null +++ b/examples/svg-particles/src/index.ts @@ -0,0 +1,43 @@ +import { start } from "@thi.ng/hiccup-dom"; +import { hex } from "@thi.ng/transducers/func/hex"; +import { repeatedly } from "@thi.ng/transducers/iter/repeatedly"; + +const width = window.innerWidth; +const height = window.innerHeight; +const hex6 = hex(6); + +const updateParticle = (p, v) => { + let x = p.cx + v[0]; + let y = p.cy + v[1]; + (x < 0) && (x *= -1, v[0] *= -1); + (y < 0) && (y *= -1, v[1] *= -1); + (x > width) && (x = width - (x - width), v[0] *= -1); + (y > height) && (y = height - (y - height), v[1] *= -1); + p.cx = x | 0; + p.cy = y | 0; +}; + +const rand = (a, b) => (a + (b - a) * Math.random()) * (Math.random() < 0.5 ? 1 : -1); + +const randomParticle = () => { + velocities.push([rand(1, 5), rand(1, 5)]); + return ["circle", + { + cx: Math.random() * width, + cy: Math.random() * height, + r: (Math.random() * 6 + 3) | 0, + fill: "#" + hex6((Math.random() * 0x1000000) | 0), + }]; +}; + +const velocities = [null]; +const particles: any[] = ["g", ...repeatedly(randomParticle, 100)]; + +const app = () => { + for (let i = particles.length - 1; i > 0; i--) { + updateParticle(particles[i][1], velocities[i]); + } + return ["svg", { width, height }, particles]; +}; + +start(document.body, app); \ No newline at end of file diff --git a/examples/svg-particles/tsconfig.json b/examples/svg-particles/tsconfig.json new file mode 100644 index 0000000000..bd6481a5a6 --- /dev/null +++ b/examples/svg-particles/tsconfig.json @@ -0,0 +1,9 @@ +{ + "extends": "../../tsconfig.json", + "compilerOptions": { + "outDir": "." + }, + "include": [ + "./src/**/*.ts" + ] +} From c09bb89d61bd3c9ce32fb2039cd0f089dfa5d966 Mon Sep 17 00:00:00 2001 From: Karsten Schmidt Date: Sat, 3 Feb 2018 07:53:29 +0000 Subject: [PATCH 16/26] docs(hiccup-dom): add svg example links --- packages/hiccup-dom/README.md | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/packages/hiccup-dom/README.md b/packages/hiccup-dom/README.md index f686a6e7fe..bb95e94b68 100644 --- a/packages/hiccup-dom/README.md +++ b/packages/hiccup-dom/README.md @@ -71,7 +71,7 @@ wrapper around React, whereas this library is standalone, more lowlevel & less opinionated. If you're interested in using this, please also consider the -[@thi.ng/atom](https://github.com/thi-ng/umbrella/tree/master/packages/atom) +[@thi.ng/atom](https://github.com/thi-ng/umbrella/tree/master/packages/atom) and [@thi.ng/rstream](https://github.com/thi-ng/umbrella/tree/master/packages/rstream) packages to integrate app state handling, event streams & reactive value subscriptions. More examples are forthcoming... @@ -100,6 +100,12 @@ A fully documented todo list app with undo / redo feature is here: [/examples/to [Live demo here](http://demo.thi.ng/umbrella/hiccup-dom/todo-list/) +### SVG particles + +[Source](https://github.com/thi-ng/umbrella/tree/master/examples/svg-particles) + +[Live demo](http://demo.thi.ng/umbrella/hiccup-dom/svg-particles/) + ### Basic usage patterns The code below is also available as standalone project in: [/examples/dashboard](https://github.com/thi-ng/umbrella/tree/master/examples/dashboard) From adb04f07e57c9c8490a955d6bb6ad274aa37033e Mon Sep 17 00:00:00 2001 From: Karsten Schmidt Date: Sat, 3 Feb 2018 07:55:45 +0000 Subject: [PATCH 17/26] merge with #2 --- packages/atom/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/atom/README.md b/packages/atom/README.md index 7200630ebf..192c879aef 100644 --- a/packages/atom/README.md +++ b/packages/atom/README.md @@ -186,7 +186,7 @@ s = setter("a.b.c"); a = { x: { y: { z: 1 } }, u: { v: 2 } }; // updated version b = s(a, 3); -// { x: { y: { z: 1 } }, u: { v: 2 }, a: { b: { c: 2 } } } +// { x: { y: { z: 1 } }, u: { v: 2 }, a: { b: { c: 3 } } } // verify anything under keys `x` & `u` is still identical a.x === b.x // true From 2e4e51c50eca197cb2de0787f1f01625e81c19fa Mon Sep 17 00:00:00 2001 From: Karsten Schmidt Date: Sat, 3 Feb 2018 16:47:59 +0000 Subject: [PATCH 18/26] feat(examples): add json component demo --- examples/json-components/README.md | 12 ++++ examples/json-components/package.json | 23 ++++++++ examples/json-components/src/index.ts | 78 ++++++++++++++++++++++++++ examples/json-components/tsconfig.json | 9 +++ 4 files changed, 122 insertions(+) create mode 100644 examples/json-components/README.md create mode 100644 examples/json-components/package.json create mode 100644 examples/json-components/src/index.ts create mode 100644 examples/json-components/tsconfig.json diff --git a/examples/json-components/README.md b/examples/json-components/README.md new file mode 100644 index 0000000000..ff80cd54ce --- /dev/null +++ b/examples/json-components/README.md @@ -0,0 +1,12 @@ +# json-components + +[Live demo](http://demo.thi.ng/umbrella/json-components/) + +``` +git clone https://github.com/thi-ng/umbrella.git +cd umbrella/examples/json-components +yarn install +yarn dev +``` + +Once webpack has completed building, refresh your browser... diff --git a/examples/json-components/package.json b/examples/json-components/package.json new file mode 100644 index 0000000000..b720622166 --- /dev/null +++ b/examples/json-components/package.json @@ -0,0 +1,23 @@ +{ + "name": "json-components", + "version": "0.0.1", + "repository": "https://github.com/thi-ng/umbrella", + "author": "Karsten Schmidt ", + "license": "Apache-2.0", + "scripts": { + "build": "yarn clean && webpack", + "clean": "rm -rf bundle.*", + "dev": "open index.html && webpack -w" + }, + "devDependencies": { + "ts-loader": "^3.3.1", + "typescript": "^2.7.1", + "webpack": "^3.10.0" + }, + "dependencies": { + "@thi.ng/api": "^2.0.1", + "@thi.ng/hiccup-dom": "^1.0.0", + "@thi.ng/rstream": "^0.9.2", + "@thi.ng/transducers": "^1.0.7" + } +} \ No newline at end of file diff --git a/examples/json-components/src/index.ts b/examples/json-components/src/index.ts new file mode 100644 index 0000000000..08f7a5b16d --- /dev/null +++ b/examples/json-components/src/index.ts @@ -0,0 +1,78 @@ +import { isFunction } from "@thi.ng/checks/is-function"; +import { start } from "@thi.ng/hiccup-dom"; + +// some dummy JSON records +export const db = [ + { + meta: { + author: { + name: "Alice Bobbera", + email: "a@b.it" + }, + created: "2018-02-03T12:13:14Z", + tags: ["drama", "queen"] + }, + title: "'I love my books, all three of them'", + content: "Sed doloribus molestias voluptatem ut delectus vitae quo eum. Ut praesentium sed omnis sequi rerum praesentium aperiam modi. Occaecati voluptatum quis vel facere quis quisquam." + }, + { + meta: { + author: { + name: "Charlie Doran", + email: "c@d.es" + }, + created: "2018-02-02T01:23:45Z", + tags: ["simplicity", "rules"] + }, + title: "Look ma, so simple", + content: "Ratione necessitatibus doloremque itaque. Nihil hic alias cumque beatae esse sapiente incidunt. Illum vel eveniet officia." + } +]; + +// component function for individual keys in the JSON objects +const summary = (item) => ["div.item", item.title, item.meta, item.content]; +const meta = (meta) => ["div.meta", meta.author, meta.created, meta.tags]; +const author = (author) => ["div", ["strong", "author: "], link(`mailto:${author.email}`, author.name)]; +const date = (d) => ["div", ["strong", "date: "], new Date(Date.parse(d)).toLocaleString()]; +const link = (href, body) => ["a", { href }, body]; +const tag = (t) => ["li", link("#", t)]; +const tags = (tags) => ["ul.tags", ...tags.map(tag)]; +const title = (title, level = 3) => [`h${level}`, title]; +const content = (body) => ["div", body]; + +// generic JSON object tree transformer +// called with a nested object spec reflecting the structure +// of the source data and returns composed component function +export const componentFromSpec = (spec) => { + if (isFunction(spec)) { + return spec; + } + const mapfns = Object.keys(spec[1]).reduce( + (acc, k) => (acc[k] = componentFromSpec(spec[1][k]), acc), + {} + ); + return (x) => { + const res = {}; + for (let k in mapfns) { + res[k] = mapfns[k](x[k]); + } + return spec[0](res); + }; +}; + +// build component function for the above JSON object format +// the spec is an array of this recursive structure: [mapfn, {optional chid key specs...}] +// for leaf keys only a function needs to be given, no need to wrap in array +// giving component functions the same name as their object keys +// makes this format very succinct +const item = componentFromSpec([ + summary, + { + meta: [meta, { author, tags, created: date }], + title, + content + } +]); + +// start UI +start(document.getElementById("app"), ["div", ...db.map(item)]); diff --git a/examples/json-components/tsconfig.json b/examples/json-components/tsconfig.json new file mode 100644 index 0000000000..bd6481a5a6 --- /dev/null +++ b/examples/json-components/tsconfig.json @@ -0,0 +1,9 @@ +{ + "extends": "../../tsconfig.json", + "compilerOptions": { + "outDir": "." + }, + "include": [ + "./src/**/*.ts" + ] +} From 3156e8882bcd9228ba3001af9914d6e64d35e8d6 Mon Sep 17 00:00:00 2001 From: Karsten Schmidt Date: Sat, 3 Feb 2018 16:49:46 +0000 Subject: [PATCH 19/26] fix(examples): update deps --- examples/json-components/package.json | 6 ++---- examples/svg-particles/package.json | 8 +++----- 2 files changed, 5 insertions(+), 9 deletions(-) diff --git a/examples/json-components/package.json b/examples/json-components/package.json index b720622166..7f973c22dc 100644 --- a/examples/json-components/package.json +++ b/examples/json-components/package.json @@ -15,9 +15,7 @@ "webpack": "^3.10.0" }, "dependencies": { - "@thi.ng/api": "^2.0.1", - "@thi.ng/hiccup-dom": "^1.0.0", - "@thi.ng/rstream": "^0.9.2", - "@thi.ng/transducers": "^1.0.7" + "@thi.ng/checks": "^1.1.6", + "@thi.ng/hiccup-dom": "^1.0.0" } } \ No newline at end of file diff --git a/examples/svg-particles/package.json b/examples/svg-particles/package.json index 815d2e2bc5..9e51afd875 100644 --- a/examples/svg-particles/package.json +++ b/examples/svg-particles/package.json @@ -15,9 +15,7 @@ "webpack": "^3.10.0" }, "dependencies": { - "@thi.ng/api": "^2.0.0", - "@thi.ng/hiccup-dom": "^0.1.1", - "@thi.ng/rstream": "^0.9.1", - "@thi.ng/transducers": "^1.0.6" + "@thi.ng/hiccup-dom": "^1.0.0", + "@thi.ng/transducers": "^1.0.7" } -} +} \ No newline at end of file From 5d8478e15ada1c40c478b5ae57b956d17c1acb45 Mon Sep 17 00:00:00 2001 From: Karsten Schmidt Date: Sat, 3 Feb 2018 17:03:50 +0000 Subject: [PATCH 20/26] fix(examples): add missing files --- examples/json-components/index.html | 65 ++++++++++++++++++++++ examples/json-components/webpack.config.js | 17 ++++++ 2 files changed, 82 insertions(+) create mode 100644 examples/json-components/index.html create mode 100644 examples/json-components/webpack.config.js diff --git a/examples/json-components/index.html b/examples/json-components/index.html new file mode 100644 index 0000000000..c5a260d560 --- /dev/null +++ b/examples/json-components/index.html @@ -0,0 +1,65 @@ + + + + + + + + +
+
+ + + + \ No newline at end of file diff --git a/examples/json-components/webpack.config.js b/examples/json-components/webpack.config.js new file mode 100644 index 0000000000..26efe6fb12 --- /dev/null +++ b/examples/json-components/webpack.config.js @@ -0,0 +1,17 @@ +module.exports = { + entry: "./src/index.ts", + output: { + path: __dirname, + filename: "bundle.js" + }, + resolve: { + extensions: [".ts", ".js"] + }, + module: { + loaders: [{ test: /\.ts$/, loader: "ts-loader" }] + }, + node: { + process: false, + setImmediate: false + } +}; From d5460b70cbe6309660f53abe5d14bfd00916ce46 Mon Sep 17 00:00:00 2001 From: Karsten Schmidt Date: Sat, 3 Feb 2018 17:05:45 +0000 Subject: [PATCH 21/26] docs(hiccup-dom): update readme --- examples/json-components/README.md | 2 +- packages/hiccup-dom/README.md | 12 ++++++++---- 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/examples/json-components/README.md b/examples/json-components/README.md index ff80cd54ce..dfe5fa929b 100644 --- a/examples/json-components/README.md +++ b/examples/json-components/README.md @@ -1,6 +1,6 @@ # json-components -[Live demo](http://demo.thi.ng/umbrella/json-components/) +[Live demo](http://demo.thi.ng/umbrella/hiccup-dom/json-components/) ``` git clone https://github.com/thi-ng/umbrella.git diff --git a/packages/hiccup-dom/README.md b/packages/hiccup-dom/README.md index bb95e94b68..a756c6962b 100644 --- a/packages/hiccup-dom/README.md +++ b/packages/hiccup-dom/README.md @@ -14,6 +14,8 @@ Benefits: - Clean, functional component composition and reuse - No pre-processing / pre-compilation steps - No string parsing / interpolation steps +- Less verbose than HTML, resulting in smaller file sizes +- Static components can be distributed as JSON (or [dynamically compose components, based on JSON data](./examples/json-components)) - Supports SVG, arbitrary elements, attributes, events - CSS conversion from JS objects - Suitable for server side rendering (by passing the same data structure to @thi.ng/hiccup's `serialize()`) @@ -96,15 +98,17 @@ independently and require some conceptional synchronization. ### Todo list -A fully documented todo list app with undo / redo feature is here: [/examples/todo-list](https://github.com/thi-ng/umbrella/tree/master/examples/todo-list) +A fully documented todo list app with undo / redo feature is here: -[Live demo here](http://demo.thi.ng/umbrella/hiccup-dom/todo-list/) +[Source](https://github.com/thi-ng/umbrella/tree/master/examples/todo-list) | [Live demo](http://demo.thi.ng/umbrella/hiccup-dom/todo-list/) ### SVG particles -[Source](https://github.com/thi-ng/umbrella/tree/master/examples/svg-particles) +[Source](https://github.com/thi-ng/umbrella/tree/master/examples/svg-particles) | [Live demo](http://demo.thi.ng/umbrella/hiccup-dom/svg-particles/) -[Live demo](http://demo.thi.ng/umbrella/hiccup-dom/svg-particles/) +### JSON based components + +[Source](https://github.com/thi-ng/umbrella/tree/master/examples/json-components) | [Live demo](http://demo.thi.ng/umbrella/hiccup-dom/json-components/) ### Basic usage patterns From d8fa4caeccde80bbc8f4e32668be4b0c39903eac Mon Sep 17 00:00:00 2001 From: Karsten Schmidt Date: Sat, 3 Feb 2018 17:18:04 +0000 Subject: [PATCH 22/26] fix(examples): update index.html --- examples/json-components/index.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples/json-components/index.html b/examples/json-components/index.html index c5a260d560..78d7dfbaaa 100644 --- a/examples/json-components/index.html +++ b/examples/json-components/index.html @@ -59,7 +59,7 @@ Made with @thi.ng/hiccup-dom. - + \ No newline at end of file From 944cbb3ba658134cb9c2a5a3ac5c55726380c2f7 Mon Sep 17 00:00:00 2001 From: Karsten Schmidt Date: Sat, 3 Feb 2018 17:54:57 +0000 Subject: [PATCH 23/26] fix(hiccup-dom): add NO_SPANS config - this avoids adding inner spans for / elements --- packages/hiccup-dom/src/diff.ts | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/packages/hiccup-dom/src/diff.ts b/packages/hiccup-dom/src/diff.ts index e62b262a3e..5eb296b218 100644 --- a/packages/hiccup-dom/src/diff.ts +++ b/packages/hiccup-dom/src/diff.ts @@ -127,6 +127,8 @@ function normalizeElement(spec: any[]) { return [tag, attribs, content.length > 0 ? content : undefined]; } +const NO_SPANS = { text: 1, textarea: 1 }; + export function normalizeTree(el: any, path = [0], keys = true, span = true) { if (el == null) { return; @@ -161,7 +163,7 @@ export function normalizeTree(el: any, path = [0], keys = true, span = true) { const children = norm[2].slice(), n = children.length; norm.length = 2; - span = span && norm[0] !== "text"; + span = span && !NO_SPANS[norm[0]]; for (let i = 0, j = 2, k = 0; i < n; i++) { let el = children[i]; if (el != null) { From 10c119b2f623ba4ed95d0e46187dc676dc322682 Mon Sep 17 00:00:00 2001 From: Karsten Schmidt Date: Sat, 3 Feb 2018 17:55:33 +0000 Subject: [PATCH 24/26] refactor(hiccup-dom): minor update ILifeCycle --- packages/hiccup-dom/src/api.ts | 4 ++-- packages/hiccup-dom/src/index.ts | 1 + 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/packages/hiccup-dom/src/api.ts b/packages/hiccup-dom/src/api.ts index bb1c78e334..3a16eb6bf4 100644 --- a/packages/hiccup-dom/src/api.ts +++ b/packages/hiccup-dom/src/api.ts @@ -1,9 +1,9 @@ import { IObjectOf } from "@thi.ng/api/api"; export interface ILifecycle { - init(el: Element, ...args: any[]); + init?(el: Element, ...args: any[]); render(...args: any[]): any; - release(...args: any[]); + release?(...args: any[]); } export interface ComponentAttribs { diff --git a/packages/hiccup-dom/src/index.ts b/packages/hiccup-dom/src/index.ts index 920d91898f..91d4ce56fc 100644 --- a/packages/hiccup-dom/src/index.ts +++ b/packages/hiccup-dom/src/index.ts @@ -1,3 +1,4 @@ +export * from "./api"; export * from "./diff"; export * from "./dom"; export * from "./start"; From b524145b280349b61f4983ad0c7bb41b7e86c00b Mon Sep 17 00:00:00 2001 From: Karsten Schmidt Date: Sat, 3 Feb 2018 17:56:15 +0000 Subject: [PATCH 25/26] feat(examples): add reactive json editor component --- examples/json-components/index.html | 15 ++++++++++++++- examples/json-components/src/index.ts | 23 +++++++++++++++++++++-- 2 files changed, 35 insertions(+), 3 deletions(-) diff --git a/examples/json-components/index.html b/examples/json-components/index.html index 78d7dfbaaa..5c303bbc82 100644 --- a/examples/json-components/index.html +++ b/examples/json-components/index.html @@ -17,7 +17,7 @@ .item { display: inline-block; - width: 25%; + width: 45%; margin: 5px; padding: 10px; background: #eee; @@ -50,6 +50,19 @@ color: #fff; text-decoration: none; } + + #container { + display: grid; + grid-template-columns: 33% auto; + grid-template-rows: auto; + grid-column-gap: 20px; + } + + textarea { + width: 100%; + height: 100%; + font: 12px/1.2 monospace; + } diff --git a/examples/json-components/src/index.ts b/examples/json-components/src/index.ts index 08f7a5b16d..3505779520 100644 --- a/examples/json-components/src/index.ts +++ b/examples/json-components/src/index.ts @@ -2,7 +2,7 @@ import { isFunction } from "@thi.ng/checks/is-function"; import { start } from "@thi.ng/hiccup-dom"; // some dummy JSON records -export const db = [ +let db = [ { meta: { author: { @@ -74,5 +74,24 @@ const item = componentFromSpec([ } ]); +// simple text area editor for our JSON data +const editor = (() => { + let body = JSON.stringify(db, null, 2); + return [ + "textarea", + { + oninput: (e) => { + try { + db = JSON.parse(e.target.value); + } catch (_) { } + } + }, + body + ]; +})(); + // start UI -start(document.getElementById("app"), ["div", ...db.map(item)]); +start( + document.getElementById("app"), + () => ["div#container", ["div", editor], ["div", ...db.map(item)]] +); From c3b54f986008877dc8f76b9f21317f4668cac4df Mon Sep 17 00:00:00 2001 From: Karsten Schmidt Date: Sat, 3 Feb 2018 18:03:53 +0000 Subject: [PATCH 26/26] Publish - @thi.ng/atom@0.5.2 - @thi.ng/hiccup-dom@1.0.1 - @thi.ng/rstream-csp@0.1.14 - @thi.ng/rstream-log@0.5.15 - @thi.ng/rstream@0.9.3 --- packages/atom/CHANGELOG.md | 8 ++++++++ packages/atom/package.json | 2 +- packages/hiccup-dom/CHANGELOG.md | 11 +++++++++++ packages/hiccup-dom/package.json | 2 +- packages/rstream-csp/CHANGELOG.md | 8 ++++++++ packages/rstream-csp/package.json | 4 ++-- packages/rstream-log/CHANGELOG.md | 8 ++++++++ packages/rstream-log/package.json | 4 ++-- packages/rstream/CHANGELOG.md | 8 ++++++++ packages/rstream/package.json | 4 ++-- 10 files changed, 51 insertions(+), 8 deletions(-) diff --git a/packages/atom/CHANGELOG.md b/packages/atom/CHANGELOG.md index 63ecbdc6fe..041110dc6b 100644 --- a/packages/atom/CHANGELOG.md +++ b/packages/atom/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. + +## [0.5.2](https://github.com/thi-ng/umbrella/compare/@thi.ng/atom@0.5.1...@thi.ng/atom@0.5.2) (2018-02-03) + + + + +**Note:** Version bump only for package @thi.ng/atom + ## [0.5.1](https://github.com/thi-ng/umbrella/compare/@thi.ng/atom@0.5.0...@thi.ng/atom@0.5.1) (2018-02-02) diff --git a/packages/atom/package.json b/packages/atom/package.json index 3d2178c02f..9e5741419f 100644 --- a/packages/atom/package.json +++ b/packages/atom/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/atom", - "version": "0.5.1", + "version": "0.5.2", "description": "Mutable wrapper for a immutable values", "main": "./index.js", "typings": "./index.d.ts", diff --git a/packages/hiccup-dom/CHANGELOG.md b/packages/hiccup-dom/CHANGELOG.md index aa0a0500c9..8d7444c1d4 100644 --- a/packages/hiccup-dom/CHANGELOG.md +++ b/packages/hiccup-dom/CHANGELOG.md @@ -3,6 +3,17 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. + +## [1.0.1](https://github.com/thi-ng/umbrella/compare/@thi.ng/hiccup-dom@1.0.0...@thi.ng/hiccup-dom@1.0.1) (2018-02-03) + + +### Bug Fixes + +* **hiccup-dom:** add NO_SPANS config ([944cbb3](https://github.com/thi-ng/umbrella/commit/944cbb3)) + + + + # [1.0.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/hiccup-dom@0.1.2...@thi.ng/hiccup-dom@1.0.0) (2018-02-03) diff --git a/packages/hiccup-dom/package.json b/packages/hiccup-dom/package.json index 71f4eda2e4..0898bf2b1a 100644 --- a/packages/hiccup-dom/package.json +++ b/packages/hiccup-dom/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/hiccup-dom", - "version": "1.0.0", + "version": "1.0.1", "description": "TODO", "main": "./index.js", "typings": "./index.d.ts", diff --git a/packages/rstream-csp/CHANGELOG.md b/packages/rstream-csp/CHANGELOG.md index 0556f7bc8e..46e908267d 100644 --- a/packages/rstream-csp/CHANGELOG.md +++ b/packages/rstream-csp/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. + +## [0.1.14](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-csp@0.1.13...@thi.ng/rstream-csp@0.1.14) (2018-02-03) + + + + +**Note:** Version bump only for package @thi.ng/rstream-csp + ## [0.1.13](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-csp@0.1.12...@thi.ng/rstream-csp@0.1.13) (2018-02-02) diff --git a/packages/rstream-csp/package.json b/packages/rstream-csp/package.json index 7a81fdd643..efbd07682c 100644 --- a/packages/rstream-csp/package.json +++ b/packages/rstream-csp/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/rstream-csp", - "version": "0.1.13", + "version": "0.1.14", "description": "TODO", "main": "./index.js", "typings": "./index.d.ts", @@ -27,7 +27,7 @@ }, "dependencies": { "@thi.ng/csp": "^0.3.10", - "@thi.ng/rstream": "^0.9.2" + "@thi.ng/rstream": "^0.9.3" }, "keywords": [ "bridge", diff --git a/packages/rstream-log/CHANGELOG.md b/packages/rstream-log/CHANGELOG.md index 0aa98c1b60..dad3121b15 100644 --- a/packages/rstream-log/CHANGELOG.md +++ b/packages/rstream-log/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. + +## [0.5.15](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-log@0.5.14...@thi.ng/rstream-log@0.5.15) (2018-02-03) + + + + +**Note:** Version bump only for package @thi.ng/rstream-log + ## [0.5.14](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-log@0.5.13...@thi.ng/rstream-log@0.5.14) (2018-02-02) diff --git a/packages/rstream-log/package.json b/packages/rstream-log/package.json index c8b1e09499..694f2e69cb 100644 --- a/packages/rstream-log/package.json +++ b/packages/rstream-log/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/rstream-log", - "version": "0.5.14", + "version": "0.5.15", "description": "TODO", "main": "./index.js", "typings": "./index.d.ts", @@ -26,7 +26,7 @@ "webpack": "^3.10.0" }, "dependencies": { - "@thi.ng/rstream": "^0.9.2" + "@thi.ng/rstream": "^0.9.3" }, "keywords": [ "ES6", diff --git a/packages/rstream/CHANGELOG.md b/packages/rstream/CHANGELOG.md index d3854aeacc..37f2b87550 100644 --- a/packages/rstream/CHANGELOG.md +++ b/packages/rstream/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. + +## [0.9.3](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream@0.9.2...@thi.ng/rstream@0.9.3) (2018-02-03) + + + + +**Note:** Version bump only for package @thi.ng/rstream + ## [0.9.2](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream@0.9.1...@thi.ng/rstream@0.9.2) (2018-02-02) diff --git a/packages/rstream/package.json b/packages/rstream/package.json index 6b8c3691fd..dfde30e385 100644 --- a/packages/rstream/package.json +++ b/packages/rstream/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/rstream", - "version": "0.9.2", + "version": "0.9.3", "description": "Reactive multi-tap streams & transformation pipeline constructs", "main": "./index.js", "typings": "./index.d.ts", @@ -26,7 +26,7 @@ "webpack": "^3.10.0" }, "dependencies": { - "@thi.ng/atom": "^0.5.1", + "@thi.ng/atom": "^0.5.2", "@thi.ng/transducers": "^1.0.7" }, "keywords": [