diff --git a/README.md b/README.md
index 32fdc79..b794ab8 100644
--- a/README.md
+++ b/README.md
@@ -10,7 +10,7 @@ Static types for the jQuery API for [Scala.js](http://www.scala-js.org/) program
Add the following dependency to your SBT build:
```scala
-libraryDependencies += "io.udash" %%% "udash-jquery" % "3.0.4"
+libraryDependencies += "io.udash" %%% "udash-jquery" % "3.2.0"
```
then import the jQuery package:
diff --git a/build.sbt b/build.sbt
index 5259e63..6d600cf 100644
--- a/build.sbt
+++ b/build.sbt
@@ -33,6 +33,7 @@ val commonJSSettings = Seq(
val githubDir = "https://raw.githubusercontent.com/UdashFramework/scala-js-jquery"
s"-P:scalajs:mapSourceURI:$localDir->$githubDir/v${version.value}/"
},
+ webpack / version := "5.75.0", // TODO: can be removed when sbt-scalajs-bundler > 0.21.1
)
val deploymentConfiguration = Seq(
@@ -80,11 +81,11 @@ lazy val root = project.in(file("."))
deploymentConfiguration,
libraryDependencies ++= Seq(
- "org.scala-js" %%% "scalajs-dom" % "2.0.0",
+ "org.scala-js" %%% "scalajs-dom" % "2.7.0",
"org.scalatest" %%% "scalatest" % "3.2.9" % Test,
"com.lihaoyi" %%% "scalatags" % "0.10.0" % Test
),
- Compile / npmDependencies += "jquery" -> "3.4.1",
- jsDependencies += "org.webjars" % "jquery" % "3.4.1" / "3.4.1/jquery.js" minified s"3.4.1/jquery.min.js",
+ Compile / npmDependencies += "jquery" -> "3.6.4",
+ jsDependencies += "org.webjars" % "jquery" % "3.6.4" / "3.6.4/jquery.js" minified s"3.6.4/jquery.min.js",
)
diff --git a/project/build.properties b/project/build.properties
index e9db047..657d488 100755
--- a/project/build.properties
+++ b/project/build.properties
@@ -1,2 +1,2 @@
# suppress inspection "UnusedProperty"
-sbt.version=1.5.5
\ No newline at end of file
+sbt.version=1.9.2
\ No newline at end of file
diff --git a/project/plugins.sbt b/project/plugins.sbt
index fa81d0b..6e5469d 100755
--- a/project/plugins.sbt
+++ b/project/plugins.sbt
@@ -1,7 +1,7 @@
logLevel := Level.Warn
-addSbtPlugin("org.scala-js" % "sbt-scalajs" % "1.7.0")
-addSbtPlugin("ch.epfl.scala" % "sbt-scalajs-bundler" % "0.20.0")
+addSbtPlugin("org.scala-js" % "sbt-scalajs" % "1.13.2")
+addSbtPlugin("ch.epfl.scala" % "sbt-scalajs-bundler" % "0.21.1")
addSbtPlugin("org.scala-js" % "sbt-jsdependencies" % "1.0.2")
// Deployment configuration
diff --git a/src/main/scala/io/udash/wrappers/jquery/JQuery.scala b/src/main/scala/io/udash/wrappers/jquery/JQuery.scala
index 8218c5a..89f1be9 100644
--- a/src/main/scala/io/udash/wrappers/jquery/JQuery.scala
+++ b/src/main/scala/io/udash/wrappers/jquery/JQuery.scala
@@ -164,6 +164,10 @@ trait JQuery extends js.Object {
@JSName("eq")
def at(index: Int): JQuery = js.native
+ /** Reduce the set of matched elements to the even ones in the set, numbered from zero.
+ * See: jQuery Docs */
+ def even(): JQuery = js.native
+
/** Display the matched elements by fading them to opaque.
* See: jQuery Docs */
def fadeIn(duration: Int = js.native, easing: EasingFunction = js.native): JQuery = js.native
@@ -381,6 +385,10 @@ trait JQuery extends js.Object {
* See: jQuery Docs */
def not(el: Element*): JQuery = js.native
+ /** Reduce the set of matched elements to the odd ones in the set, numbered from zero.
+ * See: jQuery Docs */
+ def odd(): JQuery = js.native
+
/** Remove an event handler.
* See: jQuery Docs */
def off(): JQuery = js.native
diff --git a/src/test/scala/io/udash/wrappers/jquery_test/TraversingTest.scala b/src/test/scala/io/udash/wrappers/jquery_test/TraversingTest.scala
index 82116cf..2ff1b89 100644
--- a/src/test/scala/io/udash/wrappers/jquery_test/TraversingTest.scala
+++ b/src/test/scala/io/udash/wrappers/jquery_test/TraversingTest.scala
@@ -166,5 +166,21 @@ class TraversingTest extends AnyWordSpec with Matchers {
root.children("a").first().length should be(0)
root.children("a").last().length should be(0)
}
+
+ "even/odd matching element" in {
+ val dom = div(
+ span("0"),
+ span("1"),
+ span("2"),
+ span("3"),
+ span("4"),
+ span("5"),
+ ).render
+
+ val root = jQ(dom)
+ root.children("span").even().text() shouldBe "024"
+ root.children("span").odd().text() shouldBe "135"
+ }
+
}
}