Skip to content

Commit 3dae1e4

Browse files
committed
Add text direction
1 parent 9e78699 commit 3dae1e4

File tree

4 files changed

+34
-2
lines changed

4 files changed

+34
-2
lines changed

src/CSS.purs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ import CSS.Size (Abs, Angle(..), Deg, Rad, Rel, Size(..), deg, em, ex, nil, pct,
2020
import CSS.String (class IsString, fromString) as X
2121
import CSS.Stylesheet (App(..), CSS, Feature(..), Keyframes(..), MediaQuery(..), MediaType(..), NotOrOnly(..), Rule(..), StyleM(..), fontFace, importUrl, key, keyframes, keyframesFromTo, prefixed, query, rule, runS, select, (?)) as X
2222
import CSS.Text (TextDecoration(..), blink, letterSpacing, lineThrough, noneTextDecoration, overline, textDecoration, underline) as X
23+
import CSS.Text.Direction (TextDirection(..), direction) as X
2324
import CSS.Text.Whitespace (TextWhitespace, textWhitespace, whitespaceNoWrap, whitespaceNormal, whitespacePre, whitespacePreLine, whitespacePreWrap) as X
2425
import CSS.Time (Time(..), ms, sec) as X
2526
import CSS.Transform (TransformOrigin(..), TransformOriginOffset(..), Transformation(..), offset, offsetBottom, offsetCenter, offsetLeft, offsetRight, offsetTop, rotate, transform, transformOrigin, transforms, translate) as X

src/CSS/Text.purs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ letterSpacing = key $ fromString "letter-spacing"
1212
newtype TextDecoration = TextDecoration Value
1313

1414
derive instance eqTextDecoration :: Eq TextDecoration
15-
derive instance ordTextDecoration:: Ord TextDecoration
15+
derive instance ordTextDecoration :: Ord TextDecoration
1616

1717
instance valTextDecoration :: Val TextDecoration where
1818
value (TextDecoration v) = v

src/CSS/Text/Direction.purs

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
module CSS.Text.Direction where
2+
3+
import Prelude
4+
import CSS.Property (class Val)
5+
import CSS.String (fromString)
6+
import CSS.Stylesheet (CSS, key)
7+
8+
data TextDirection = Ltr | Rtl
9+
10+
derive instance eqTextDirection :: Eq TextDirection
11+
derive instance ordTextDirection :: Ord TextDirection
12+
13+
instance valTextDirection :: Val TextDirection where
14+
value Ltr = fromString "ltr"
15+
value Rtl = fromString "rtl"
16+
17+
direction :: TextDirection -> CSS
18+
direction = key $ fromString "direction"
19+
20+
ltr :: TextDirection
21+
ltr = Ltr
22+
23+
rtl :: TextDirection
24+
rtl = Rtl

test/Main.purs

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,8 @@ import Prelude
44

55
import Effect (Effect)
66
import Effect.Exception (error, throwException)
7-
import CSS (Rendered, Path(..), Predicate(..), Refinement(..), Selector(..), FontFaceSrc(..), FontFaceFormat(..), renderedSheet, renderedInline, fromString, selector, block, display, render, borderBox, boxSizing, contentBox, blue, color, body, px, dashed, border, inlineBlock, red, (?), fontFaceSrc, zIndex)
7+
import CSS (Rendered, Path(..), Predicate(..), Refinement(..), Selector(..), FontFaceSrc(..), FontFaceFormat(..), renderedSheet, renderedInline, fromString, selector, block, display, render, borderBox, boxSizing, contentBox, blue, color, body, px, dashed, border, inlineBlock, red, (?), fontFaceSrc, zIndex, direction)
8+
import CSS.Text.Direction as TextDirection
89
import Data.Maybe (Maybe(..))
910
import Data.NonEmpty (singleton)
1011

@@ -41,6 +42,10 @@ example7 :: Rendered
4142
example7 = render do
4243
zIndex 11
4344

45+
exampleDirection :: Rendered
46+
exampleDirection = render do
47+
direction TextDirection.rtl
48+
4449
nestedNodes :: Rendered
4550
nestedNodes = render do
4651
fromString "#parent" ? do
@@ -76,3 +81,5 @@ main = do
7681
renderedInline example6 `assertEqual` Just "src: url(\"font.woff\") format(\"woff\")"
7782

7883
renderedInline example7 `assertEqual` Just "z-index: 11"
84+
85+
renderedInline exampleDirection `assertEqual` Just "direction: rtl"

0 commit comments

Comments
 (0)