@@ -3,7 +3,8 @@ module Yoga.Block.Atom.Button.Style where
33import Yoga.Prelude.Style
44
55import Data.Interpolate (i)
6−import Yoga.Block.Container.Style (col, colour, darkMode, size)
6+import Fahrtwind (zIndex)
7+import Yoga.Block.Container.Style (col, colour, size)
78
89type Props :: forall k. (Type -> k) -> Row k -> Row k
910type Props f r
@@ -37,10 +38,10 @@ button ∷ Style
3738button =
3839 css
3940 { background: str colour.backgroundLayer5
41+ , borderWidth: int 0
42+ , position: relative
43+ , overflow: hidden
4044 , boxShadow: str "0 1px 4px rgba(100,100,120,0.3), 0 1px 2px rgba(100,100,100,0.2)"
41− , border: str $ i "1px solid transparent"
42− , borderTop: str $ i "1px solid " colour.backgroundLayer5
43− , borderBottom: str $ i "1px solid " colour.backgroundLayer3
4445 , display: inlineFlex
4546 , padding: str "calc(var(--s-1) * 0.8) var(--s0)"
4647 , paddingBottom: str "calc(var(--s-1) * 0.8 + 1px)"
@@ -56,6 +57,23 @@ button =
5657 , letterSpacing: str "calc(var(--s-5)* (-0.1))"
5758 , userSelect: none
5859 , transition: str "all 0.2s ease-out" <> str "transform 50ms ease-in"
60+ , "& > .ry-drip": nested (zIndex 0)
61+ , "& > :not(.ry-drip)": nested (zIndex 1)
62+ , """&[data-button-shape="flat"]""":
63+ nest
64+ { background: str "transparent"
65+ , boxShadow: none
66+ , color: str colour.highlight
67+ , "&:active":
68+ nest
69+ { boxShadow: none
70+ }
71+ , """&[data-button-type="primary"]""":
72+ nest {
73+ background: str colour.highlight,
74+ boxShadow: none
75+ }
76+ }
5977 , """&[data-button-shape="pill"]""":
6078 nest
6179 { borderRadius: str "calc(var(--s1) * 0.85)"
@@ -79,7 +97,6 @@ button =
7997 , "&:active":
8098 nest
8199 { boxShadow: str "inset 0 1px 6px rgba(0,0,0,0.40)"
82− , border: str $ i "1px solid transparent"
83100 }
84101 }
85102 , """&[data-button-type="dangerous"]""":
@@ -97,7 +114,6 @@ button =
97114 , "&:active":
98115 nest
99116 { boxShadow: str $ "inset 0 1px calc(var(--s0) * var(--dark-mode) + var(--s-2) * var(--light-mode)) rgba(0,0,0, calc(0.18 * var(--dark-mode) + 0.09 * var(--light-mode)))"
100− , border: str $ "1px solid " <> colour.backgroundBright5
101117 , transform: str "scale3d(0.96,0.96,0.36)"
102118 , transition: str "transform 100ms ease"
103119 }
@@ -106,7 +122,6 @@ button =
106122 { color: str colour.interfaceTextDisabled
107123 , boxShadow: none
108124 , background: str colour.interfaceBackgroundDisabled
109− , border: str $ i "1px solid " colour.interfaceBackgroundShadow
110125 , transform: str "none"
111126 }
112127 }