🧩 Web Components 🧩
This release ships a new module ElementaryWebComponents which let's you define custom HTMLs elements.
import ElementaryUI
import ElementaryWebComponents
@CustomElement
struct MySwiftElement {
var body: some View {
PhaseAnimator([true, false]) { phase in
p { "❤️" }
.opacity(Double(phase ? 1 : 0.2))
}
}
}
try CustomElements.define("my-swift-element", MySwiftElement.self)<html>
<head>
<script type="module">
import { init } from "virtual:swift-wasm?js";
await init()
</script>
</head>
<body>
<p>Some other content</p>
<my-swift-element></my-swift-element>
</body>
</html>Read more about Web Components on elementatry.codes.
⚠️ This release requires Swift 6.4 as a minimum version.
What's Changed
- Allow DOM event and style modifiers on SVG content by @Vithanco in #119
- cut back on AI slop a bit by @sliemeobn in #127
- bump minimum to Swift 6.4 by @sliemeobn in #129
- add ElementaryWebComponents for custom element support by @sliemeobn in #128
- add runtime deprecation warning in bundled runtime by @sliemeobn in #130
- minor performance improvements by @sliemeobn in #131
- upgrade to JavaScriptKit 0.59 by @sliemeobn in #132
- add PhaseAnimator by @sliemeobn in #133
- added phaseAnimator API docs by @sliemeobn in #134
New Contributors
Full Changelog: 0.7.0...0.8.0