Releases: lume/element
v0.9.0
BREAKING:
0.7
- removed dist/web.js, import from solid-js/web instead
- removed dist/html.js, import from solid-js/html instead
- all other solid-js re-exports removed, import them from solid-js instead
0.8
LumeElement
'sstatic defineElement()
method no longer throws an error when called repeatedly with the same name or no name, which changes runtime behavior if anyone was previously relying on catching this error withtry-catch
. If you previous had logic in a catch block to detect already-defined elements, you can instead usecustomElements.get(name)
to perform the check instead of using try-catch.
0.9
- limit the solid-js version to fix the build (tested in Windows PowerShell)
- no longer ship
@lume/element/dist/babel-preset.cjs
. If you were using that, use@lume/element/babel-preset.cjs
now
Full Changelog:
v0.6.0
-
breaking: remove the react type helper from the core, make it an opt-in import for React users, and make
@types/react
a peer dependencyIf you were importing the
ReactElementAttribute
type helper, now you should import it like this:import type {ReactElementAttributes} from '@lume/element/react'
Without this, the element-behaviors package will fail to import
@lume/element
because@types/react
is not installed.
v0.5.8
v0.5.7
- update to
solid-js@^1.0.0
via updating@lume/variable
. 🎉 Thanks for help @mosheduminer
v0.5.0
update lume/variable and solid-js with support for better ESM standards defined by Node
This is a breaking change because the new JSX/template support is in solid-js 0.24
has some API modifications. Components made
with this version of lume/element may not be interoperable with those
made with a previous version of lume/element because compile output will differ and will be
using slightly different APIs from solid's runtime. End usage hasn't changed.
v0.4.0
- breaking: the update to lume/variable requires always using class decorators now (f.e.
@reactive class {...}
or@element class extends Element {...}
), otherwise reactivity won't work in some build setups depending on whether the user's setup has the new class fields semantics or not ([[Define]]
vs[[Set]]
semantics). New tests have been added to ensure that decorators work in every build config permutation (TypeScript decorators with or withoutuseDefineForClassFields
, and Babel legacy or non-legacy decorators with or without loose mode for class properties) - This fixes some edge case bugs too
v0.3.2
v0.3.0
NOTE: This version was unpublished from NPM, and a needed fix was released in 0.3.2
. Use ^0.3.2
.
BREAKING CHANGE:
This changes templating a bit. All template props are set as attributes on builtin elements by default. On custom elements JSX props are set as JS properties by default. In JSX templates (and soon also with html
tagged templates) any prop can be prefixed with attr:
to force setting an attribute, or prop:
to force setting a JS property. F.e. <some-element attr:foo={this.foo} prop:bar={this.bar} />
Any apps using @lume/cli
for JSX compilation need to update to @lume/cli
^0.3.2
.