This should help point users to the correct version if they plan to
install the release candidate, and it should help users find the
existing docs for v1.
* Implement support for variadic arguments to `m.fragment`
While I was at it, I refactored the common logic out of `hyperscript`.
* Add a missed change from #2326
* Update docs + changelog [skip ci]
* Explain rationale for `hyperscriptVnode`'s calling convention
This way, it doesn't get erroneously "cleaned up" into something worse,
and so it's clearer how it'd be potentially optimized once ES5 support
is dropped.
* Remove `m.prop` + `m.withAttr`
- For many uses, `m.withAttr` is *more* verbose than just directly using
an event handler
- If you're using it with a bound callback, you're literally wasting a
single character in the human readable version (and you're *saving*
them in the minified output).
- It sometimes obscures your intent, if overused.
- Functions are easier to compress than `m.withAttr`, resulting in
slightly smaller bundles.
- `m.withAttr` is overused anyways.
- `m.prop` is basically useless without `m.withAttr`, and the API
doesn't have the same benefits it had with 0.2.x.
* Update changelog
I basically recast it to remove 99% of the duplication. They're
basically the same function mod how they fire their requests and append
query parameters.
* Fix docs bug, advise against reusing `vnode.attrs` itself [skip ci]
* Be consistent + correct with commas [skip ci]
* Be consistent with spacing [skip ci]
* Discard the unused parameters [skip ci]
* Kill an opinion, slim down the example [skip ci]
- I also fixed a bunch of related comments
- I had to polyfill `requestAnimationFrame` for Node
- Drive-by: run `eslint . --fix`
- Drive-by: update transpiling info in CONTRIBUTING.md
- Drive-by: we aren't the only ones going semicolon-free
* Rewrite stream
* Rename HALT to SKIP
* Rename HALT to SKIP
* Remove valueOf and toString
* Update docs for HALT to SKIP
* Rename halt to skip in test
* Add test for combining nested streams atomically
* Update change-log.md
* Test basic SKIP
* Add deprecated HALT
* Combine continues with ended streams
* Fix fantasy-land/of to match spec
* Don't use arrow function
* Improve scan description
* Fix merge artifact
* Emphasize closure components in components.md
* Use closure components for all stateful component examples
* Add change-log entry
* Edits and separate sections for closure, class & POJO state
* Add docs about using EventListener objects
* Fix typo
* Less misleading description of event handlers
* Fix a typo + grammar mistake
* More grammar/typo fixes
- Fix custom elements attribute application to acknowledge that not all
custom elements operate purely based on attributes. (Plus, those
blasted things are verbose as heck when you're working with them in
raw form. It's also not that uncommon for functionality to be exposed
via property and *not* attribute.)
- Don't memoize the normalized value when we 1. only use it once in each
branch, and 2. only use it for a few special cases.
- Centralize the "has property key" code, so it's easier to tune and
read. I also inlined a couple functions while I was at it since they
were small and only used once.
- Actually test for how attributes are applied to raw DOM elements vs
when we choose to use keys. When I first developed the patch, it
silently worked, when I should've been breaking things.
* Do not normalise component children on ingestion
* Don't normalise vnode children
* Component hyperscript tests: children aren't normalised
* test, not text
* Update change log: #2155 & #2064