![JAR search and dependency download from the Maven repository](/logo.png)
com.raquo.laminar.shoelace.sl.ControlledInput.scala Maven / Gradle / Ivy
package com.raquo.laminar.shoelace.sl
import com.raquo.laminar.inputs.InputController
import com.raquo.laminar.keys.HtmlProp
import com.raquo.laminar.modifiers.{Binder, EventListener, KeyUpdater}
import org.scalajs.dom
trait ControlledInput { this: WebComponent =>
/** Creates controlled input block.
*
* Works similarly to standard Laminar controlled inputs, except you need to
* check what prop and event(s) a particular Web Component expects.
*
* For general info, see [[https://laminar.dev/documentation#controlled-inputs Controlled Inputs docs]]
*/
def controlled[Ev <: dom.Event, V](
updater: this.type => KeyUpdater[Element, HtmlProp[V, _], V],
listener: this.type => EventListener[Ev, _]
): Binder[Element] = {
InputController.controlled(listener(this), updater(this))
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy