Skip to content
This repository was archived by the owner on Feb 10, 2023. It is now read-only.

Commit 01b9ddf

Browse files
authored
Merge pull request #113 from cquiroz/placeholder
Placeholder
2 parents 1b16cae + 8d2b3e7 commit 01b9ddf

26 files changed

+988
-445
lines changed

CHANGELOG.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,10 @@
11
# Changes
22

3+
## 0.4.7
4+
5+
* Add support for Placeholder
6+
* Add facade for Select
7+
38
## 0.4.6
49

510
* Add columns attribute to GridRow

facade/src/main/scala/react/semanticui/addons/select/Select.scala

Lines changed: 361 additions & 0 deletions
Large diffs are not rendered by default.

facade/src/main/scala/react/semanticui/elements/icon/IconGroup.scala

Lines changed: 3 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@ import japgolly.scalajs.react.raw.React
55
import react.common.style._
66
import react.common._
77
import react.semanticui._
8-
import react.semanticui.{ raw => suiraw }
98
import scala.scalajs.js
109
import js.annotation._
1110
import japgolly.scalajs.react.vdom.TagMod
@@ -30,17 +29,9 @@ object IconGroup {
3029
object RawComponent extends js.Object
3130

3231
@js.native
33-
trait IconGroupProps extends js.Object {
34-
@JSBracketAccess
35-
def apply(key: String): js.Any = js.native
36-
37-
@JSBracketAccess
38-
def update(key: String, v: js.Any): Unit = js.native
39-
var as: js.UndefOr[AsT] = js.native
40-
var children: js.UndefOr[React.Node] = js.native
41-
var className: js.UndefOr[String] = js.native
42-
var content: js.UndefOr[React.Node] = js.native
43-
var size: js.UndefOr[suiraw.SemanticSIZES] = js.native
32+
trait IconGroupProps extends Icon.IconProps {
33+
var children: js.UndefOr[React.Node] = js.native
34+
var content: js.UndefOr[React.Node] = js.native
4435
}
4536

4637
def props(
Lines changed: 83 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,83 @@
1+
package react.semanticui.elements.placeholder
2+
3+
import scala.scalajs.js
4+
import js.annotation._
5+
import japgolly.scalajs.react._
6+
import japgolly.scalajs.react.raw.React
7+
import japgolly.scalajs.react.vdom.VdomNode
8+
import react.common.style._
9+
import react.common._
10+
import react.semanticui.{ raw => suiraw }
11+
import react.semanticui._
12+
import japgolly.scalajs.react.vdom.TagMod
13+
14+
final case class Placeholder(
15+
as: js.UndefOr[AsC] = js.undefined,
16+
className: js.UndefOr[String] = js.undefined,
17+
clazz: js.UndefOr[Css] = js.undefined,
18+
content: js.UndefOr[ShorthandS[VdomNode]] = js.undefined,
19+
fluid: js.UndefOr[Boolean] = js.undefined,
20+
inverted: js.UndefOr[Boolean] = js.undefined,
21+
override val modifiers: Seq[TagMod] = Seq.empty
22+
) extends GenericFnComponentPAC[Placeholder.PlaceholderProps, Placeholder] {
23+
override protected def cprops = Placeholder.props(this)
24+
override protected val component = Placeholder.component
25+
override def addModifiers(modifiers: Seq[TagMod]) = copy(modifiers = this.modifiers ++ modifiers)
26+
}
27+
28+
object Placeholder {
29+
@js.native
30+
@JSImport("semantic-ui-react", "Placeholder")
31+
object RawComponent extends js.Function1[js.Any, js.Any] {
32+
def apply(i: js.Any): js.Any = js.native
33+
}
34+
35+
@js.native
36+
trait PlaceholderProps extends js.Object {
37+
@JSBracketAccess
38+
def apply(key: String): js.Any = js.native
39+
40+
@JSBracketAccess
41+
def update(key: String, v: js.Any): Unit = js.native
42+
43+
/** An element type to render as (string or function). */
44+
var as: js.UndefOr[AsT] = js.native
45+
46+
/** Primary content. */
47+
var children: js.UndefOr[React.Node] = js.native
48+
49+
/** Additional classes. */
50+
var className: js.UndefOr[String] = js.native
51+
52+
/** Shorthand for primary content. */
53+
var content: js.UndefOr[suiraw.SemanticShorthandContent] = js.native
54+
55+
/** A fluid placeholder takes up the width of its container. */
56+
var fluid: js.UndefOr[Boolean] = js.native
57+
58+
/** A placeholder can have their color inverted. */
59+
var inverted: js.UndefOr[Boolean] = js.native
60+
}
61+
62+
def props(
63+
q: Placeholder
64+
): PlaceholderProps = {
65+
val p = q.as.toJsObject[PlaceholderProps]
66+
p.as = q.as.toJs
67+
p.className = (q.className, q.clazz).toJs
68+
p.content = q.content.toJs
69+
p.fluid = q.fluid
70+
p.inverted = q.inverted
71+
p
72+
}
73+
74+
private val component =
75+
JsFnComponent[PlaceholderProps, Children.Varargs](RawComponent)
76+
77+
val Default: Placeholder = Placeholder()
78+
79+
val defaultProps: PlaceholderProps = props(Default)
80+
81+
def apply(modifiers: TagMod*): Placeholder =
82+
new Placeholder(modifiers = modifiers)
83+
}
Lines changed: 81 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,81 @@
1+
package react.semanticui.elements.placeholder
2+
3+
import scala.scalajs.js
4+
import js.annotation._
5+
import japgolly.scalajs.react._
6+
import japgolly.scalajs.react.raw.React
7+
import japgolly.scalajs.react.vdom.VdomNode
8+
import react.common.style._
9+
import react.common._
10+
import react.semanticui.{ raw => suiraw }
11+
import react.semanticui._
12+
import japgolly.scalajs.react.vdom.TagMod
13+
14+
final case class PlaceholderHeader(
15+
as: js.UndefOr[AsC] = js.undefined,
16+
className: js.UndefOr[String] = js.undefined,
17+
clazz: js.UndefOr[Css] = js.undefined,
18+
content: js.UndefOr[ShorthandS[VdomNode]] = js.undefined,
19+
image: js.UndefOr[Boolean] = js.undefined,
20+
override val modifiers: Seq[TagMod] = Seq.empty
21+
) extends GenericFnComponentPAC[
22+
PlaceholderHeader.PlaceholderHeaderProps,
23+
PlaceholderHeader
24+
] {
25+
override protected def cprops = PlaceholderHeader.props(this)
26+
override protected val component = PlaceholderHeader.component
27+
override def addModifiers(modifiers: Seq[TagMod]) = copy(modifiers = this.modifiers ++ modifiers)
28+
}
29+
30+
object PlaceholderHeader {
31+
@js.native
32+
@JSImport("semantic-ui-react", "PlaceholderHeader")
33+
object RawComponent extends js.Function1[js.Any, js.Any] {
34+
def apply(i: js.Any): js.Any = js.native
35+
}
36+
37+
@js.native
38+
trait PlaceholderHeaderProps extends js.Object {
39+
@JSBracketAccess
40+
def apply(key: String): js.Any = js.native
41+
42+
@JSBracketAccess
43+
def update(key: String, v: js.Any): Unit = js.native
44+
45+
/** An element type to render as (string or function). */
46+
var as: js.UndefOr[AsT] = js.native
47+
48+
/** Primary content. */
49+
var children: js.UndefOr[React.Node] = js.native
50+
51+
/** Additional classes. */
52+
var className: js.UndefOr[String] = js.native
53+
54+
/** Shorthand for primary content. */
55+
var content: js.UndefOr[suiraw.SemanticShorthandContent] = js.native
56+
57+
/** A placeholder can contain an image. */
58+
var image: js.UndefOr[Boolean] = js.native
59+
}
60+
61+
def props(
62+
q: PlaceholderHeader
63+
): PlaceholderHeaderProps = {
64+
val p = q.as.toJsObject[PlaceholderHeaderProps]
65+
p.as = q.as.toJs
66+
p.className = (q.className, q.clazz).toJs
67+
p.content = q.content.toJs
68+
p.image = q.image
69+
p
70+
}
71+
72+
private val component =
73+
JsFnComponent[PlaceholderHeaderProps, Children.Varargs](RawComponent)
74+
75+
val Default: PlaceholderHeader = PlaceholderHeader()
76+
77+
val defaultProps: PlaceholderHeaderProps = props(Default)
78+
79+
def apply(modifiers: TagMod*): PlaceholderHeader =
80+
new PlaceholderHeader(modifiers = modifiers)
81+
}
Lines changed: 86 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,86 @@
1+
package react.semanticui.elements.placeholder
2+
3+
import scala.scalajs.js
4+
import js.annotation._
5+
import japgolly.scalajs.react._
6+
import japgolly.scalajs.react.raw.React
7+
import japgolly.scalajs.react.vdom.VdomNode
8+
import react.common.style._
9+
import react.common._
10+
import react.semanticui.{ raw => suiraw }
11+
import react.semanticui._
12+
import japgolly.scalajs.react.vdom.TagMod
13+
14+
final case class PlaceholderImage(
15+
as: js.UndefOr[AsC] = js.undefined,
16+
className: js.UndefOr[String] = js.undefined,
17+
clazz: js.UndefOr[Css] = js.undefined,
18+
content: js.UndefOr[ShorthandS[VdomNode]] = js.undefined,
19+
square: js.UndefOr[Boolean] = js.undefined,
20+
rectangular: js.UndefOr[Boolean] = js.undefined,
21+
override val modifiers: Seq[TagMod] = Seq.empty
22+
) extends GenericFnComponentPA[
23+
PlaceholderImage.PlaceholderImageProps,
24+
PlaceholderImage
25+
] {
26+
override protected def cprops = PlaceholderImage.props(this)
27+
override protected val component = PlaceholderImage.component
28+
override def addModifiers(modifiers: Seq[TagMod]) = copy(modifiers = this.modifiers ++ modifiers)
29+
}
30+
31+
object PlaceholderImage {
32+
@js.native
33+
@JSImport("semantic-ui-react", "PlaceholderImage")
34+
object RawComponent extends js.Function1[js.Any, js.Any] {
35+
def apply(i: js.Any): js.Any = js.native
36+
}
37+
38+
@js.native
39+
trait PlaceholderImageProps extends js.Object {
40+
@JSBracketAccess
41+
def apply(key: String): js.Any = js.native
42+
43+
@JSBracketAccess
44+
def update(key: String, v: js.Any): Unit = js.native
45+
46+
/** An element type to render as (string or function). */
47+
var as: js.UndefOr[AsT] = js.native
48+
49+
/** Primary content. */
50+
var children: js.UndefOr[React.Node] = js.native
51+
52+
/** Additional classes. */
53+
var className: js.UndefOr[String] = js.native
54+
55+
/** Shorthand for primary content. */
56+
var content: js.UndefOr[suiraw.SemanticShorthandContent] = js.native
57+
58+
/** An image can modify size correctly with responsive styles. */
59+
var square: js.UndefOr[Boolean] = js.native
60+
61+
/** An image can modify size correctly with responsive styles. */
62+
var rectangular: js.UndefOr[Boolean] = js.native
63+
}
64+
65+
def props(
66+
q: PlaceholderImage
67+
): PlaceholderImageProps = {
68+
val p = q.as.toJsObject[PlaceholderImageProps]
69+
p.as = q.as.toJs
70+
p.className = (q.className, q.clazz).toJs
71+
p.content = q.content.toJs
72+
p.square = q.square
73+
p.rectangular = q.rectangular
74+
p
75+
}
76+
77+
private val component =
78+
JsFnComponent[PlaceholderImageProps, Children.None](RawComponent)
79+
80+
val Default: PlaceholderImage = PlaceholderImage()
81+
82+
val defaultProps: PlaceholderImageProps = props(Default)
83+
84+
def apply(modifiers: TagMod*): PlaceholderImage =
85+
new PlaceholderImage(modifiers = modifiers)
86+
}
Lines changed: 74 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,74 @@
1+
package react.semanticui.elements.placeholder
2+
3+
import scala.scalajs.js
4+
import js.annotation._
5+
import japgolly.scalajs.react._
6+
import japgolly.scalajs.react.raw.React
7+
import react.common.style._
8+
import react.common._
9+
import react.semanticui._
10+
import japgolly.scalajs.react.vdom.TagMod
11+
12+
final case class PlaceholderLine(
13+
as: js.UndefOr[AsC] = js.undefined,
14+
className: js.UndefOr[String] = js.undefined,
15+
clazz: js.UndefOr[Css] = js.undefined,
16+
length: js.UndefOr[LineLength] = js.undefined,
17+
override val modifiers: Seq[TagMod] = Seq.empty
18+
) extends GenericFnComponentPA[
19+
PlaceholderLine.PlaceholderLineProps,
20+
PlaceholderLine
21+
] {
22+
override protected def cprops = PlaceholderLine.props(this)
23+
override protected val component = PlaceholderLine.component
24+
override def addModifiers(modifiers: Seq[TagMod]) = copy(modifiers = this.modifiers ++ modifiers)
25+
}
26+
27+
object PlaceholderLine {
28+
@js.native
29+
@JSImport("semantic-ui-react", "PlaceholderLine")
30+
object RawComponent extends js.Function1[js.Any, js.Any] {
31+
def apply(i: js.Any): js.Any = js.native
32+
}
33+
34+
@js.native
35+
trait PlaceholderLineProps extends js.Object {
36+
@JSBracketAccess
37+
def apply(key: String): js.Any = js.native
38+
39+
@JSBracketAccess
40+
def update(key: String, v: js.Any): Unit = js.native
41+
42+
/** An element type to render as (string or function). */
43+
var as: js.UndefOr[AsT] = js.native
44+
45+
/** Primary content. */
46+
var children: js.UndefOr[React.Node] = js.native
47+
48+
/** Additional classes. */
49+
var className: js.UndefOr[String] = js.native
50+
51+
/** A line can specify how long its contents should appear. */
52+
var length: js.UndefOr[String]
53+
}
54+
55+
def props(
56+
q: PlaceholderLine
57+
): PlaceholderLineProps = {
58+
val p = q.as.toJsObject[PlaceholderLineProps]
59+
p.as = q.as.toJs
60+
p.className = (q.className, q.clazz).toJs
61+
p.length = q.length.toJs
62+
p
63+
}
64+
65+
private val component =
66+
JsFnComponent[PlaceholderLineProps, Children.None](RawComponent)
67+
68+
val Default: PlaceholderLine = PlaceholderLine()
69+
70+
val defaultProps: PlaceholderLineProps = props(Default)
71+
72+
def apply(modifiers: TagMod*): PlaceholderLine =
73+
new PlaceholderLine(modifiers = modifiers)
74+
}

0 commit comments

Comments
 (0)