shared/src/main/scala/purecss/generic/PureCssGeneric.scala
author Tomas Zeman <tomas@functionals.cz>
Sat, 26 Dec 2020 20:15:08 +0100
changeset 26 040b435ce0dd
parent 9 ee8565f13df7
permissions -rw-r--r--
Cross compile w/ Scala 2.13.4 and ScalaJS 1.3.1
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
3
dbc25b272bdc Foundation classes for text / jsdom backends. Base definitions (of pure-* classes)
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
     1
/*
dbc25b272bdc Foundation classes for text / jsdom backends. Base definitions (of pure-* classes)
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
     2
 * Copyright 2017 Tomas Zeman <tzeman@volny.cz>
dbc25b272bdc Foundation classes for text / jsdom backends. Base definitions (of pure-* classes)
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
     3
 *
dbc25b272bdc Foundation classes for text / jsdom backends. Base definitions (of pure-* classes)
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
     4
 * Licensed under the Apache License, Version 2.0 (the "License");
dbc25b272bdc Foundation classes for text / jsdom backends. Base definitions (of pure-* classes)
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
     5
 * you may not use this file except in compliance with the License.
dbc25b272bdc Foundation classes for text / jsdom backends. Base definitions (of pure-* classes)
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
     6
 * You may obtain a copy of the License at
dbc25b272bdc Foundation classes for text / jsdom backends. Base definitions (of pure-* classes)
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
     7
 *
dbc25b272bdc Foundation classes for text / jsdom backends. Base definitions (of pure-* classes)
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
     8
 *     http://www.apache.org/licenses/LICENSE-2.0
dbc25b272bdc Foundation classes for text / jsdom backends. Base definitions (of pure-* classes)
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
     9
 *
dbc25b272bdc Foundation classes for text / jsdom backends. Base definitions (of pure-* classes)
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    10
 * Unless required by applicable law or agreed to in writing, software
dbc25b272bdc Foundation classes for text / jsdom backends. Base definitions (of pure-* classes)
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    11
 * distributed under the License is distributed on an "AS IS" BASIS,
dbc25b272bdc Foundation classes for text / jsdom backends. Base definitions (of pure-* classes)
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    12
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
dbc25b272bdc Foundation classes for text / jsdom backends. Base definitions (of pure-* classes)
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    13
 * See the License for the specific language governing permissions and
dbc25b272bdc Foundation classes for text / jsdom backends. Base definitions (of pure-* classes)
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    14
 * limitations under the License.
dbc25b272bdc Foundation classes for text / jsdom backends. Base definitions (of pure-* classes)
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    15
 */
dbc25b272bdc Foundation classes for text / jsdom backends. Base definitions (of pure-* classes)
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    16
package purecss.generic
dbc25b272bdc Foundation classes for text / jsdom backends. Base definitions (of pure-* classes)
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    17
dbc25b272bdc Foundation classes for text / jsdom backends. Base definitions (of pure-* classes)
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    18
import scala.language.implicitConversions
dbc25b272bdc Foundation classes for text / jsdom backends. Base definitions (of pure-* classes)
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    19
import scalatags.generic.Bundle
dbc25b272bdc Foundation classes for text / jsdom backends. Base definitions (of pure-* classes)
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    20
dbc25b272bdc Foundation classes for text / jsdom backends. Base definitions (of pure-* classes)
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    21
class PureCssGeneric[Builder, Output <: FragT, FragT](
8
d1da6ba32afa Structured composition: alerts, buttons
Tomas Zeman <tzeman@volny.cz>
parents: 7
diff changeset
    22
  bun: Bundle[Builder, Output, FragT]) extends
9
ee8565f13df7 Components: form, grid, inputs, table
Tomas Zeman <tzeman@volny.cz>
parents: 8
diff changeset
    23
  PureGrid[Builder, Output, FragT] with
ee8565f13df7 Components: form, grid, inputs, table
Tomas Zeman <tzeman@volny.cz>
parents: 8
diff changeset
    24
  PureInputs[Builder, Output, FragT] with
8
d1da6ba32afa Structured composition: alerts, buttons
Tomas Zeman <tzeman@volny.cz>
parents: 7
diff changeset
    25
  PureButtons[Builder, Output, FragT] with
9
ee8565f13df7 Components: form, grid, inputs, table
Tomas Zeman <tzeman@volny.cz>
parents: 8
diff changeset
    26
  PureTable[Builder, Output, FragT] with
ee8565f13df7 Components: form, grid, inputs, table
Tomas Zeman <tzeman@volny.cz>
parents: 8
diff changeset
    27
  PureForm[Builder, Output, FragT] with
8
d1da6ba32afa Structured composition: alerts, buttons
Tomas Zeman <tzeman@volny.cz>
parents: 7
diff changeset
    28
  PureAlerts[Builder, Output, FragT] {
3
dbc25b272bdc Foundation classes for text / jsdom backends. Base definitions (of pure-* classes)
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    29
dbc25b272bdc Foundation classes for text / jsdom backends. Base definitions (of pure-* classes)
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    30
  implicit val bundle: Bundle[Builder, Output, FragT] = bun
dbc25b272bdc Foundation classes for text / jsdom backends. Base definitions (of pure-* classes)
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    31
9
ee8565f13df7 Components: form, grid, inputs, table
Tomas Zeman <tzeman@volny.cz>
parents: 8
diff changeset
    32
  object pure extends PureGrid with PureInput {
ee8565f13df7 Components: form, grid, inputs, table
Tomas Zeman <tzeman@volny.cz>
parents: 8
diff changeset
    33
    val button = Button()
ee8565f13df7 Components: form, grid, inputs, table
Tomas Zeman <tzeman@volny.cz>
parents: 8
diff changeset
    34
    val table = Table()
ee8565f13df7 Components: form, grid, inputs, table
Tomas Zeman <tzeman@volny.cz>
parents: 8
diff changeset
    35
    val img: C = pc("pure-img")
ee8565f13df7 Components: form, grid, inputs, table
Tomas Zeman <tzeman@volny.cz>
parents: 8
diff changeset
    36
    val form = Form()
ee8565f13df7 Components: form, grid, inputs, table
Tomas Zeman <tzeman@volny.cz>
parents: 8
diff changeset
    37
  }
3
dbc25b272bdc Foundation classes for text / jsdom backends. Base definitions (of pure-* classes)
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    38
dbc25b272bdc Foundation classes for text / jsdom backends. Base definitions (of pure-* classes)
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    39
  // generic
dbc25b272bdc Foundation classes for text / jsdom backends. Base definitions (of pure-* classes)
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    40
  val pull_right: C = pc("pull-right")
7
bc895714797d PureButtons
Tomas Zeman <tzeman@volny.cz>
parents: 5
diff changeset
    41
5
Tomas Zeman <tzeman@volny.cz>
parents: 4
diff changeset
    42
  // menus
Tomas Zeman <tzeman@volny.cz>
parents: 4
diff changeset
    43
  val pure_menu: C = pc("pure-menu")
Tomas Zeman <tzeman@volny.cz>
parents: 4
diff changeset
    44
  val pure_menu_heading: C = pc("pure-menu-heading")
Tomas Zeman <tzeman@volny.cz>
parents: 4
diff changeset
    45
  val pure_menu_list: C = pc("pure-menu-list")
Tomas Zeman <tzeman@volny.cz>
parents: 4
diff changeset
    46
  val pure_menu_item: C = pc("pure-menu-item")
Tomas Zeman <tzeman@volny.cz>
parents: 4
diff changeset
    47
  val pure_menu_horizontal: C = pc("pure-menu-horizontal")
Tomas Zeman <tzeman@volny.cz>
parents: 4
diff changeset
    48
  val pure_menu_link: C = pc("pure-menu-link")
Tomas Zeman <tzeman@volny.cz>
parents: 4
diff changeset
    49
  val pure_menu_selected: C = pc("pure-menu-selected")
Tomas Zeman <tzeman@volny.cz>
parents: 4
diff changeset
    50
  val pure_menu_disabled: C = pc("pure-menu-disabled")
8
d1da6ba32afa Structured composition: alerts, buttons
Tomas Zeman <tzeman@volny.cz>
parents: 7
diff changeset
    51
  val pure_menu_allow_hover: C = pc("pure-menu-allow-hover")
5
Tomas Zeman <tzeman@volny.cz>
parents: 4
diff changeset
    52
  val pure_menu_has_children: C = pc("pure-menu-has-children")
Tomas Zeman <tzeman@volny.cz>
parents: 4
diff changeset
    53
  val pure_menu_scrollable: C = pc("pure-menu-scrollable")
Tomas Zeman <tzeman@volny.cz>
parents: 4
diff changeset
    54
3
dbc25b272bdc Foundation classes for text / jsdom backends. Base definitions (of pure-* classes)
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    55
}