1// Generated by purs version 0.13.6
3var Color = require("../Color/index.js");
4var Control_Applicative = require("../Control.Applicative/index.js");
5var Control_Bind = require("../Control.Bind/index.js");
6var Data_Eq = require("../Data.Eq/index.js");
7var Data_Foldable = require("../Data.Foldable/index.js");
8var Data_Interpolate = require("../Data.Interpolate/index.js");
9var Data_Maybe = require("../Data.Maybe/index.js");
10var Data_Monoid = require("../Data.Monoid/index.js");
11var Data_Symbol = require("../Data.Symbol/index.js");
12var JSS = require("../JSS/index.js");
13var React_Basic = require("../React.Basic/index.js");
14var React_Basic_DOM_Generated = require("../React.Basic.DOM.Generated/index.js");
15var React_Basic_DOM_Internal = require("../React.Basic.DOM.Internal/index.js");
16var React_Basic_Hooks = require("../React.Basic.Hooks/index.js");
17var React_Basic_Hooks_Internal = require("../React.Basic.Hooks.Internal/index.js");
18var Record = require("../Record/index.js");
19var Record_Extra = require("../Record.Extra/index.js");
20var Type_Equality = require("../Type.Equality/index.js");
21var Yoga_Theme = require("../Yoga.Theme/index.js");
22var Yoga_Theme_Styles = require("../Yoga.Theme.Styles/index.js");
23var PlainButton = (function () {
24 function PlainButton() {
27 PlainButton.value = new PlainButton();
30var HighlightedButton = (function () {
31 function HighlightedButton() {
34 HighlightedButton.value = new HighlightedButton();
35 return HighlightedButton;
37var DisabledButton = (function () {
38 function DisabledButton() {
41 DisabledButton.value = new DisabledButton();
42 return DisabledButton;
44var linearGradient = function (elems) {
45 return "linear-gradient(" + (Data_Foldable.intercalate(Data_Foldable.foldableArray)(Data_Monoid.monoidString)(",")(elems) + ")");
47var styles = JSS.jssClasses()(function (v) {
49 buttonContainer: JSS.jss(JSS.jssAbleRecord(JSS.jssAbleFieldsCons(new Data_Symbol.IsSymbol(function ($dollar__unused) {
51 }))(JSS.jssAbleString)()()()(JSS.jssAbleFieldsCons(new Data_Symbol.IsSymbol(function ($dollar__unused) {
52 return "borderRadius";
53 }))(JSS.jssAbleString)()()()(JSS.jssAbleFieldsCons(new Data_Symbol.IsSymbol(function ($dollar__unused) {
55 }))(JSS.jssAbleString)()()()(JSS.jssAbleFieldsCons(new Data_Symbol.IsSymbol(function ($dollar__unused) {
57 }))(JSS.jssAbleString)()()()(JSS.jssAbleFieldsCons(new Data_Symbol.IsSymbol(function ($dollar__unused) {
59 }))(JSS.jssAbleString)()()()(JSS.jssAbleFieldsCons(new Data_Symbol.IsSymbol(function ($dollar__unused) {
61 }))(JSS.jssAbleString)()()()(JSS.jssAbleFieldsCons(new Data_Symbol.IsSymbol(function ($dollar__unused) {
63 }))(JSS.jssAbleString)()()()(JSS.jssAbleFieldsNil))))))))()())({
65 background: linearGradient([ "145deg", v.highlightColour, v.highlightColourDark ]),
69 boxSizing: "border-box",
72 "@keyframes gradientBG": JSS.jss(JSS.jssAbleRecord(JSS.jssAbleFieldsCons(new Data_Symbol.IsSymbol(function ($dollar__unused) {
74 }))(JSS.jssAbleRecord(JSS.jssAbleFieldsCons(new Data_Symbol.IsSymbol(function ($dollar__unused) {
75 return "backgroundPosition";
76 }))(JSS.jssAbleString)()()()(JSS.jssAbleFieldsNil))()())()()()(JSS.jssAbleFieldsCons(new Data_Symbol.IsSymbol(function ($dollar__unused) {
78 }))(JSS.jssAbleRecord(JSS.jssAbleFieldsCons(new Data_Symbol.IsSymbol(function ($dollar__unused) {
79 return "backgroundPosition";
80 }))(JSS.jssAbleString)()()()(JSS.jssAbleFieldsNil))()())()()()(JSS.jssAbleFieldsCons(new Data_Symbol.IsSymbol(function ($dollar__unused) {
82 }))(JSS.jssAbleRecord(JSS.jssAbleFieldsCons(new Data_Symbol.IsSymbol(function ($dollar__unused) {
83 return "backgroundPosition";
84 }))(JSS.jssAbleString)()()()(JSS.jssAbleFieldsNil))()())()()()(JSS.jssAbleFieldsNil))))()())({
86 backgroundPosition: "0% 50%"
89 backgroundPosition: "100% 50%"
92 backgroundPosition: "0% 50%"
95 btn: JSS.jss(JSS.jssAbleRecord(JSS.jssAbleFieldsCons(new Data_Symbol.IsSymbol(function ($dollar__unused) {
97 }))(JSS.jssAbleRecord(JSS.jssAbleFieldsCons(new Data_Symbol.IsSymbol(function ($dollar__unused) {
99 }))(JSS.jssAbleString)()()()(JSS.jssAbleFieldsCons(new Data_Symbol.IsSymbol(function ($dollar__unused) {
101 }))(JSS.jssAbleString)()()()(JSS.jssAbleFieldsNil)))()())()()()(JSS.jssAbleFieldsCons(new Data_Symbol.IsSymbol(function ($dollar__unused) {
103 }))(JSS.jssAbleRecord(JSS.jssAbleFieldsCons(new Data_Symbol.IsSymbol(function ($dollar__unused) {
105 }))(JSS.jssAbleString)()()()(JSS.jssAbleFieldsCons(new Data_Symbol.IsSymbol(function ($dollar__unused) {
107 }))(JSS.jssAbleString)()()()(JSS.jssAbleFieldsCons(new Data_Symbol.IsSymbol(function ($dollar__unused) {
109 }))(JSS.jssAbleString)()()()(JSS.jssAbleFieldsCons(new Data_Symbol.IsSymbol(function ($dollar__unused) {
110 return "textDecoration";
111 }))(JSS.jssAbleString)()()()(JSS.jssAbleFieldsCons(new Data_Symbol.IsSymbol(function ($dollar__unused) {
112 return "textDecorationColor";
113 }))(JSS.jssAbleString)()()()(JSS.jssAbleFieldsNil))))))()())()()()(JSS.jssAbleFieldsCons(new Data_Symbol.IsSymbol(function ($dollar__unused) {
115 }))(JSS.jssAbleRecord(JSS.jssAbleFieldsCons(new Data_Symbol.IsSymbol(function ($dollar__unused) {
117 }))(JSS.jssAbleString)()()()(JSS.jssAbleFieldsCons(new Data_Symbol.IsSymbol(function ($dollar__unused) {
119 }))(JSS.jssAbleString)()()()(JSS.jssAbleFieldsCons(new Data_Symbol.IsSymbol(function ($dollar__unused) {
120 return "backgroundSize";
121 }))(JSS.jssAbleString)()()()(JSS.jssAbleFieldsCons(new Data_Symbol.IsSymbol(function ($dollar__unused) {
123 }))(JSS.jssAbleString)()()()(JSS.jssAbleFieldsNil)))))()())()()()(JSS.jssAbleFieldsCons(new Data_Symbol.IsSymbol(function ($dollar__unused) {
125 }))(JSS.jssAbleString)()()()(JSS.jssAbleFieldsCons(new Data_Symbol.IsSymbol(function ($dollar__unused) {
127 }))(JSS.jssAbleString)()()()(JSS.jssAbleFieldsCons(new Data_Symbol.IsSymbol(function ($dollar__unused) {
128 return "borderRadius";
129 }))(JSS.jssAbleString)()()()(JSS.jssAbleFieldsCons(new Data_Symbol.IsSymbol(function ($dollar__unused) {
131 }))(JSS.jssAbleString)()()()(JSS.jssAbleFieldsCons(new Data_Symbol.IsSymbol(function ($dollar__unused) {
133 }))(JSS.jssAbleString)()()()(JSS.jssAbleFieldsCons(new Data_Symbol.IsSymbol(function ($dollar__unused) {
135 }))(JSS.jssAbleString)()()()(JSS.jssAbleFieldsCons(new Data_Symbol.IsSymbol(function ($dollar__unused) {
136 return "letterSpacing";
137 }))(JSS.jssAbleString)()()()(JSS.jssAbleFieldsCons(new Data_Symbol.IsSymbol(function ($dollar__unused) {
139 }))(JSS.jssAbleString)()()()(JSS.jssAbleFieldsCons(new Data_Symbol.IsSymbol(function ($dollar__unused) {
141 }))(JSS.jssAbleString)()()()(JSS.jssAbleFieldsCons(new Data_Symbol.IsSymbol(function ($dollar__unused) {
142 return "textTransform";
143 }))(JSS.jssAbleString)()()()(JSS.jssAbleFieldsCons(new Data_Symbol.IsSymbol(function ($dollar__unused) {
145 }))(JSS.jssAbleString)()()()(JSS.jssAbleFieldsNil)))))))))))))))()())({
146 background: linearGradient([ "145deg", v.interfaceColourLightest, v.interfaceColourDarkest ]),
147 color: v.highlightColour,
148 borderRadius: "20px",
152 fontFamily: v.textFontFamily,
153 padding: "1px 18px 0px 18px",
154 letterSpacing: "0.2em",
155 textTransform: "uppercase",
158 background: linearGradient([ "145deg", v.interfaceColourDarker, v.highlightColourDark, v.highlightColour ]),
159 color: Data_Maybe.fromMaybe(v.textColour)(Control_Bind.bind(Data_Maybe.bindMaybe)(Color.fromHexString(v.highlightColour))(function (hlc) {
160 return Control_Bind.bind(Data_Maybe.bindMaybe)(Color.fromHexString(v.highlightColourDark))(function (hlcd) {
161 var bg = (function () {
165 return Color.mix(Color.HSL.value)(hlc)(hlcd)(0.5);
167 return Control_Bind.bind(Data_Maybe.bindMaybe)(Color.fromHexString(v.textColour))(function (tc) {
168 return Control_Applicative.pure(Data_Maybe.applicativeMaybe)(Color.toHexString(Yoga_Theme.increaseContrast(bg)(tc)));
172 backgroundSize: "400% 400%, 100% 100%",
173 animation: "$gradientBG 3s ease infinite"
176 boxShadow: Data_Interpolate.i(Data_Interpolate.interpStringFunction(Data_Interpolate.interpStringFunction(Data_Interpolate.interpStringFunction(Data_Interpolate.interpStringFunction(Data_Interpolate.interpString)))))("inset 6px 6px 6px ")(v.backgroundColourDarkest)(", inset -6px -6px 6px ")(v.backgroundColourLightest),
177 background: linearGradient([ "145deg", v.backgroundColourDarker, v.backgroundColourLighter ])
180 boxShadow: "0 0 0 black",
181 background: v.backgroundColour,
182 border: "1px dotted " + v.interfaceColourLightest,
183 textDecoration: "line-through",
184 textDecorationColor: v.red
187 highlightedButton: JSS.jss(JSS.jssAbleRecord(JSS.jssAbleFieldsCons(new Data_Symbol.IsSymbol(function ($dollar__unused) {
189 }))(JSS.jssAbleRecord(JSS.jssAbleFieldsCons(new Data_Symbol.IsSymbol(function ($dollar__unused) {
191 }))(JSS.jssAbleString)()()()(JSS.jssAbleFieldsNil))()())()()()(JSS.jssAbleFieldsCons(new Data_Symbol.IsSymbol(function ($dollar__unused) {
193 }))(JSS.jssAbleString)()()()(JSS.jssAbleFieldsCons(new Data_Symbol.IsSymbol(function ($dollar__unused) {
195 }))(JSS.jssAbleString)()()()(JSS.jssAbleFieldsNil))))()())({
196 background: (function () {
198 return v.highlightColour;
200 return linearGradient([ v.highlightColour, v.highlightColourDark ]);
203 background: linearGradient([ "145deg", v.highlightColourDark, v.highlightColour ])
205 color: Data_Maybe.fromMaybe(v.textColour)(Control_Bind.bind(Data_Maybe.bindMaybe)(Color.fromHexString(v.highlightColour))(function (hlc) {
206 return Control_Bind.bind(Data_Maybe.bindMaybe)(Color.fromHexString(v.highlightColourDark))(function (hlcd) {
207 var bg = (function () {
211 return Color.mix(Color.HSL.value)(hlc)(hlcd)(0.5);
213 return Control_Bind.bind(Data_Maybe.bindMaybe)(Color.fromHexString(v.textColour))(function (tc) {
214 return Control_Applicative.pure(Data_Maybe.applicativeMaybe)(Color.toHexString(Yoga_Theme.increaseContrast(bg)(tc)));
221var eqButtonType = new Data_Eq.Eq(function (x) {
222 return function (y) {
223 if (x instanceof PlainButton && y instanceof PlainButton) {
226 if (x instanceof HighlightedButton && y instanceof HighlightedButton) {
229 if (x instanceof DisabledButton && y instanceof DisabledButton) {
235var mkButton = function (dictUnion) {
236 return function (dictLacks) {
237 return function (dictLacks1) {
238 return function (dictLacks2) {
239 return function __do() {
240 var useStyles = Yoga_Theme_Styles.makeStylesJSS()(Record_Extra.mapRecordCons(new Data_Symbol.IsSymbol(function ($dollar__unused) {
241 return "@keyframes gradientBG";
242 }))()(Record_Extra.mapRecordCons(new Data_Symbol.IsSymbol(function ($dollar__unused) {
244 }))()(Record_Extra.mapRecordCons(new Data_Symbol.IsSymbol(function ($dollar__unused) {
245 return "buttonContainer";
246 }))()(Record_Extra.mapRecordCons(new Data_Symbol.IsSymbol(function ($dollar__unused) {
247 return "highlightedButton";
248 }))()(Record_Extra.mapRecordNil)()())()())()())()())(styles)();
249 return React_Basic_Hooks.component()()()("Button")(function (v) {
250 return React_Basic_Hooks_Internal.bind(React_Basic_Hooks_Internal.ixBindRender)(useStyles({}))(function (classes) {
251 return Control_Applicative.pure(React_Basic_Hooks_Internal.applicativeRender(Type_Equality.refl))(React_Basic_DOM_Generated.div()({
252 className: classes.buttonContainer,
253 children: [ React_Basic.element(React_Basic_DOM_Internal.unsafeCreateDOMComponent("button"))(Record.union()({
254 className: classes.btn + (" " + Data_Monoid.guard(Data_Monoid.monoidString)(Data_Eq.eq(eqButtonType)(v.buttonType)(HighlightedButton.value))(classes.highlightedButton)) + (" " + v.className),
255 disabled: Data_Eq.eq(eqButtonType)(v.buttonType)(DisabledButton.value),
267 PlainButton: PlainButton,
268 HighlightedButton: HighlightedButton,
269 DisabledButton: DisabledButton,
272 linearGradient: linearGradient,
273 eqButtonType: eqButtonType
keysesc to close
- j k
- move down, up
- enter
- open
- esc
- back, or up a level
- 1 2 3 4
- readme, files, commits, refs
- /
- filter
- y
- copy the clone command
- c
- compare the chosen commit with another (or shift-click both)
- ?
- show or hide this list