Laminar is a small library that lets you build web application interfaces, keeping UI state in sync with the underlying application state. Its simple yet expressive patterns build on a rock solid foundation of Airstream observables and the Scala.js platform.
Laminar is also a friendly community of passionate people from across the world who help each other learn new skills and achieve their goals. Check out all the learning materials we've put out, and chat us up on Discord if you hit a snag!
"com.raquo" %%% "laminar" % "<version>" // Requires Scala.js 1.16.0
Look up the latest version of Laminar here, or in git tags above ("v" prefix is not part of the version number).
Sales pitch, quick start, documentation, live examples, and other resources, all there.
Live demo, with examples, code snippets, and a fully working client server, dev prod build setup that you can experiment with, and then deploy to the cloud for free.
Please run sbt test
and sbt scalafmtAll
locally before submitting the PR.
Note that all files under com.raquo.laminar.defs
are generated, and should not be edited directly – for how to add more attributes / props, etc., see Missing Keys and then contribute to Scala DOM Types.
Huge thanks to all of our sponsors – your backing enables me to spend more time on Laminar, Airstream, various add-ons, as well as documentation, learning materials, and community support.
HeartAI is a data and analytics platform for digital health and clinical care.
Iurii Malchenko
Aurinko is an API platform for workplace addons and integrations.
Tawasal is a secure multi-purpose messenger and superapp, offering free voice, text, video conferencing and lifestyle services.
Nikita Gazarov – @raquo
Laminar is provided under the MIT license.
The artwork in the img/brand
, img/sponsors
, and img/blog
directories is not covered by the MIT license. No license is granted to you for these assets. However, you may still have "fair use" rights, as stipulated by law.
Comments in the defs
directory pertaining to individual DOM element tags, attributes, properties and event properties, as well as CSS properties and their special values / keywords, are taken or derived from content created by Mozilla Contributors and are licensed under Creative Commons Attribution-ShareAlike license (CC-BY-SA), v2.5.