Add the following to your build.sbt to bring cats-js-clipboard into your Scala.js project:
libraryDependencies += "dev.holt" %%% "cats-js-clipboard" % "0.5.0"To use:
val x: IO[Boolean] = Clipboard.make[IO].copy("text")When the returned effect is executed, the passed text will be added to the DOM in a <pre> element, selected, and copied. If the copy succeeds, the effect will return true and the added elements will be removed from the DOM; if not, the elements will remain in place, scrolled into view for manual copying, and the effect will return false.
If loaded, the copy can also be called from JavaScript:
Clipboard.copy("text") // returns a JS promise with the same semantics as aboveArman Bilge's fs2-dom project has clipboard support and many other features; you may find it to be a better option than this project.