@@ -2,25 +2,26 @@ module WeakCss
2
2
exposing
3
3
( ClassName
4
4
, namespace
5
- , element
5
+ , addElement
6
6
, toClass
7
7
, nested
8
8
, withStates
9
9
)
10
10
11
- {- | Abstraction for generating convetional class names
11
+ {- | Abstraction for working with [`Weak Css`](https://github.com/GlobalWebIndex/weak-css)
12
+ style class names.
12
13
13
14
# Type and Constructor
14
15
15
16
@docs ClassName, namespace
16
17
17
18
# Adding Elements
18
19
19
- @docs element
20
+ @docs addElement
20
21
21
22
# Convert to Attribute
22
23
23
- @docs toClass, element, nested, withStates
24
+ @docs toClass, nested, withStates
24
25
25
26
-}
26
27
@@ -32,13 +33,16 @@ import Escape
32
33
-- Type
33
34
34
35
35
- {- | ClassName type describes selector used to style element.
36
+ {- | ClassName type describes class selector used to style element.
37
+
38
+ All strings are sanitized to prevent missuse and odd resulting selectors.
39
+ **It's highly recommended to avoid spaces, `__` and `--` in arguments though.**
36
40
-}
37
41
type ClassName
38
42
= ClassName String ( List String )
39
43
40
44
41
- {- | Construct [`ClassName`](#ClassName) with given namespace
45
+ {- | Construct [`ClassName`](#ClassName) with given namespace.
42
46
43
47
>>> import Html.Attributes exposing (class)
44
48
@@ -51,28 +55,28 @@ namespace name =
51
55
52
56
53
57
54
- -- Add nested element
58
+ -- Add nested element to element path.
55
59
56
60
57
61
{- | Add element
58
62
59
63
>>> import Html.Attributes exposing (class)
60
64
61
65
>>> namespace "menu"
62
- ... |> element "list"
66
+ ... |> addElement "list"
63
67
... |> toClass
64
68
class "menu__list"
65
69
-}
66
- element : String -> ClassName -> ClassName
67
- element name ( ClassName namespace list) =
70
+ addElement : String -> ClassName -> ClassName
71
+ addElement name ( ClassName namespace list) =
68
72
ClassName namespace <| ( Escape . sanitize name) :: list
69
73
70
74
71
75
72
76
-- Convert to Html.Attribute
73
77
74
78
75
- {- | Convert [`ClassName`](#ClassName) to `Html.Attribute msg`
79
+ {- | Convert [`ClassName`](#ClassName) to `Html.Attribute msg`.
76
80
77
81
>>> import Html.Attributes exposing (class)
78
82
@@ -81,7 +85,7 @@ element name (ClassName namespace list) =
81
85
class "menu"
82
86
83
87
>>> namespace "menu"
84
- ... |> element "list"
88
+ ... |> addElement "list"
85
89
... |> toClass
86
90
class "menu__list"
87
91
-}
@@ -90,7 +94,7 @@ toClass =
90
94
class << toString
91
95
92
96
93
- {- | Add new element and turn to `Html.Attribute msg`
97
+ {- | Add new element and convert to `Html.Attribute msg`.
94
98
95
99
>>> import Html.Attributes exposing (class)
96
100
@@ -99,21 +103,21 @@ toClass =
99
103
class "menu__item"
100
104
101
105
>>> namespace "menu"
102
- ... |> element "item"
106
+ ... |> addElement "item"
103
107
... |> nested "link"
104
108
class "menu__item--link"
105
109
-}
106
110
nested : String -> ClassName -> Attribute msg
107
111
nested name =
108
- toClass << element name
112
+ toClass << addElement name
109
113
110
114
111
- {- | Add state to [`ClassName`](#ClassName) and turn to `Html.Attrinute msg`
115
+ {- | Add state to last element [`ClassName`](#ClassName) and convert to `Html.Attrinute msg`.
112
116
113
117
>>> import Html.Attributes exposing (class)
114
118
115
119
>>> namespace "menu"
116
- ... |> element "item"
120
+ ... |> addElement "item"
117
121
... |> withStates ["active", "highlighted"]
118
122
class "menu__item active highlighted"
119
123
0 commit comments