git.iko.soy/rowtype-yoga/purescript-yoga-react-dom
on main help sign in
.gitignore+1
since splitsnapshots
unifiedsplit
@@ -9,3 +9,4 @@
9/.psa*
9/.psa*
10/.spago
10/.spago
11index.js
11index.js
12+bun.lock
.idea/codeStyles/Project.xmlnew file+7
@@ -0,0 +1,7 @@
1+<component name="ProjectCodeStyleConfiguration">
2+ <code_scheme name="Project" version="173">
3+ <ScalaCodeStyleSettings>
4+ <option name="MULTILINE_STRING_CLOSING_QUOTES_ON_NEW_LINE" value="true" />
5+ </ScalaCodeStyleSettings>
6+ </code_scheme>
7+</component>
.idea/codeStyles/codeStyleConfig.xmlnew file+5
@@ -0,0 +1,5 @@
1+<component name="ProjectCodeStyleConfiguration">
2+ <state>
3+ <option name="PREFERRED_PROJECT_CODE_STYLE" value="Default" />
4+ </state>
5+</component>
.idea/git_toolbox_blame.xmlnew file+6
@@ -0,0 +1,6 @@
1+<?xml version="1.0" encoding="UTF-8"?>
2+<project version="4">
3+ <component name="GitToolBoxBlameSettings">
4+ <option name="version" value="2" />
5+ </component>
6+</project>
.idea/modules.xml+1−1
@@ -2,7 +2,7 @@
2<project version="4">
2<project version="4">
3 <component name="ProjectModuleManager">
3 <component name="ProjectModuleManager">
4 <modules>
4 <modules>
5− <module fileurl="file://$PROJECT_DIR$/.idea/purescript-react-basic-dom-beta.iml" filepath="$PROJECT_DIR$/.idea/purescript-react-basic-dom-beta.iml" />
5+ <module fileurl="file://$PROJECT_DIR$/.idea/purescript-react-basic-dom-Yoga.React.iml" filepath="$PROJECT_DIR$/.idea/purescript-react-basic-dom-Yoga.React.iml" />
6 </modules>
6 </modules>
7 </component>
7 </component>
8</project>
8</project>
LICENCEnew file+5
@@ -0,0 +1,5 @@
1+Copyright © 2024 Mark Eibes
2+This work is free. You can redistribute it and/or modify it under the
3+terms of the Do What The Fuck You Want To Public License, Version 2,
4+as published by Sam Hocevar. See the COPYING file or http://www.wtfpl.net/
5+for more details.
README.md+13−75
@@ -1,6 +1,4 @@
1−# Beta DOM for react-basic
1+# DOM for react-basic
2−
3−Want to help out? Checkout [CONTRIBUTING.md](./CONTRIBUTING.md)
4
2
5After using react-basic-hooks for a while I've gathered a small wishlist for things that I'd like to work a little differently.
3After using react-basic-hooks for a while I've gathered a small wishlist for things that I'd like to work a little differently.
6
4
@@ -10,74 +8,45 @@ After using react-basic-hooks for a while I've gathered a small wishlist for thi
10module Example where
8module Example where
11
9
12import Prelude hiding (div)
10import Prelude hiding (div)
13−import Beta.DOM.HTML (div, a, span)
11+import Yoga.React.DOM.HTML (div, a, span)
14−import Beta.DOM (text)
12+import Yoga.React.DOM (text)
15
13
16example =
14example =
17 div { "data-testid": "example" }
15 div { "data-testid": "example" }
18 [ a { href: "https://example.com" }
16 [ a { href: "https://example.com" }
19 $ span { "aria-label": "somelabel" } "Example"
17 $ span { "aria-label": "somelabel" } "Example"
20− , text " and so on..."
18+ , span {} " and so on..."
21 ]
19 ]
22```
20```
23
21
24vs.
22vs.
25
23
26```purescript
24```purescript
27−-- this is a bit unfair because the "simplified" DOM also exists and would make this quite a bit better
28module Example where
25module Example where
29
26
30import Prelude hiding (div)
27import Prelude hiding (div)
31−import React.Basic.DOM (div, a, span)
28+import React.Basic.DOM (div, a, span, text)
32import Foreign.Object (singleton) as Object
29import Foreign.Object (singleton) as Object
33
30
34example =
31example =
35 div
32 div
36 { _data: Object.singleton "testid" "example"
33 { _data: Object.singleton "testid" "example"
37 , children:
34 , children:
38− [ a { href: "https://exmaple.com", children: [ span { _aria: Object.singleton "label" "somelabel", children: [ "Example" ] } ] }
35+ [ a { href: "https://exmaple.com", children: [ span { _aria: Object.singleton "label" "somelabel", children: [ text "Example" ] } ] }
39− , text " and so on..."
36+ , span { children: [ text " and so on..." ] }
40 ]
37 ]
41 }
38 }
42```
39```
43
40
44## Trying it out / Installation
41## Trying it out / Installation
45
42
46−This is a work-in-progress library that works on its own and in conjunction with the existing react-basic-hooks-dom library.
43+This is a library that works on its own and in conjunction with the existing react-basic-hooks-dom library.
47−
44+
48−I don't want to publish it yet, but you can easily integrate it via your `packages.dhall` file.
49−
50−Add this to your `packages.dhall` file:
51−```dhall
52−with react-basic-dom-beta =
53− { dependencies =
54− [ "datetime"
55− , "effect"
56− , "forgetmenot"
57− , "functions"
58− , "nullable"
59− , "prelude"
60− , "react-basic"
61− , "react-basic-hooks"
62− , "record"
63− , "type-equality"
64− , "typelevel-prelude"
65− , "unsafe-coerce"
66− , "web-dom"
67− , "web-events"
68− , "web-html"
69− , "web-touchevents"
70− ]
71− , repo =
72− "https://github.com/rowtype-yoga/purescript-react-basic-dom-beta.git"
73− , version = "main"
74− }
75−```
76
45
77Then run:
46Then run:
78
47
79```sh
48```sh
80−spago install react-basic-dom-beta
49+spago install yoga-react-dom
81```
50```
82
51
83## Features and design goals
52## Features and design goals
@@ -103,45 +72,14 @@ This is in line with HTML where the children are not part of the attributes and
103
72
104React's `createElement` may be invoked without any children, or with zero to many children. The only way to approximate this in PureScript was via a typeclass as in the `Simplified` DOM.
73React's `createElement` may be invoked without any children, or with zero to many children. The only way to approximate this in PureScript was via a typeclass as in the `Simplified` DOM.
105
74
106−The downside of this is that this stops working within Arrays because PureScript requires arrays to be of the same shape. There are two workarounds that I know of:
75+The downside of this is that this stops working within Arrays because PureScript requires arrays to be of the same shape. Here is a workaround:
107
76
108Manually casting the text to be JSX via `text`:
77Manually casting the text to be JSX via `text`:
109
78
110```purescript
79```purescript
111module Example where
80module Example where
112−import Beta.DOM (text)
81+import Yoga.React.DOM (text)
113−import Beta.DOM.HTML.P (p)
82+import Yoga.React.DOM.HTML.P (p)
114
83
115x = [ text "A string", p {} "A p" ]
84x = [ text "A string", p {} "A p" ]
116```
85```
117−
118−Or foregoing the array altogether and using an operator:
119−
120−```purescript
121−module Example where
122−import Beta.DOM.Internal ((++))
123−import Beta.DOM.HTML.P (p)
124−
125−x = "A string" ++ p {} "A p"
126−```
127−
128−I dislike both of these, because they are likely to trip beginners up.
129−
130−#### Difference to the existing Simplified DOM
131−This DOM does not wrap anything in an `Array` because React's API does not require that anyway.
132−
133−Another difference to the existing Simplified version is that this supports passing an empty array, while Simplified supports passing an array of anything that's has a `ToJSX` instance.
134−
135−This is the difference in code with workarounds applied:
136−
137−##### Simplified:
138−```purescript
139−strings = p {} [ "A string", "Another string" ]
140−empties = p {} ([] :: _ JSX)
141−```
142−
143−##### Beta:
144−```purescript
145−strings = p {} "A stringAnother string"
146−empties = p {} []
147−```
bun.locknew file+23
@@ -0,0 +1,23 @@
1+{
2+ "lockfileVersion": 1,
3+ "workspaces": {
4+ "": {
5+ "name": "purescript-react-basic-dom-beta",
6+ "dependencies": {
7+ "react": "^18.2.0",
8+ "react-dom": "^18.2.0",
9+ },
10+ },
11+ },
12+ "packages": {
13+ "js-tokens": ["js-tokens@4.0.0", "", {}, "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ=="],
14+
15+ "loose-envify": ["loose-envify@1.4.0", "", { "dependencies": { "js-tokens": "^3.0.0 || ^4.0.0" }, "bin": "cli.js" }, "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q=="],
16+
17+ "react": ["react@18.2.0", "", { "dependencies": { "loose-envify": "^1.1.0" } }, "sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ=="],
18+
19+ "react-dom": ["react-dom@18.2.0", "", { "dependencies": { "loose-envify": "^1.1.0", "scheduler": "^0.23.0" }, "peerDependencies": { "react": "^18.2.0" } }, "sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g=="],
20+
21+ "scheduler": ["scheduler@0.23.0", "", { "dependencies": { "loose-envify": "^1.1.0" } }, "sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw=="],
22+ }
23+}
index.html+1−1
@@ -1 +1 @@
1−<html><head><title>My Web Page</title><meta charSet="UTF-8"/><meta name="viewport" content="width=device-width, initial-scale=1.0"/><link rel="stylesheet" href="styles.css"/><style>body { background-color: #f0f0f2; }</style><script src="https://cdn.tailwindcss.com"></script><body class="w-full"><div id="react-root"><div><nav><ul class="navList"><li class="navItem"><a href="/">Home</a></li><li class="navItem">About</li><li class="navItem">Contact</li></ul></nav><aside><h4 class="title">My Blog</h4><p class="text">This is my blog. I hope you like it!</p></aside><main class="w-[80ch] max-w-[80ch] bg-white mx-auto shadow"><article class="px-8"><nav class="navigation"><ul class="flex flex-row justify-between"><li class="navItem">Home</li><li class="navItem">About</li><li class="navItem">Contact</li></ul></nav><div class="content"><h1 class="text-4xl">My Web Page</h1><p class="text">This is <b>my </b><i>web page</i>. Isn&#x27;t it grand?</p><blockquote class="italic">I am hungry.</blockquote><cite class="text"> -- Alfred Einstein</cite><div class="container"><video src="movie.mp4" width="320" height="240"><track kind="subtitles" src="subtitles_en.vtt" srcLang="en"/></video></div><table class="table"><thead class="thead"><tr class="headerRow"><th class="headerCell">Header 1</th><th class="headerCell">Header 2</th></tr></thead><tbody class="tbody"><tr class="tableRow"><td class="tableData">Row 1, Col 1</td><td class="tableData">Row 1, Col 2</td></tr><tr class="tableRow"><td class="tableData">Row 2, Col 1</td><td class="tableData">Row 2, Col 2</td></tr></tbody><tfoot class="tfoot"><tr class="footerRow"><td class="footerCell">Footer 1</td><td class="footerCell">Footer 2</td></tr></tfoot></table><h3>&lt;p&gt;, &lt;sup&gt;, &lt;sub&gt;</h3><p class="text">The temperature of boiling water is 100</p><sup class="text">o</sup>C<sub class="text">1</sub></div><h3>&lt;address&gt;</h3><address class="footer">1234 Main St, Anytown, USA</address></article><div class="myForm"><form action="#"><input type="text" placeholder="Type something" class="inputField"/><input type="submit" class="submitBtn" value="Submit"/></form><meta name="6"/></div></main><button class="bg-black px-4 py-2 rounded shadow font-bold text-white">Count up!</button><p>You clicked me <b>0</b> times.</p><footer class="footer">1234 Main St, Anytown, USA</footer></div></div></body><script src="index.js"></script></head></html>
1+<html><head><title>My Web Page</title><meta charSet="UTF-8"/><meta name="viewport" content="width=device-width, initial-scale=1.0"/><link rel="stylesheet" href="styles.css"/><style>body { background-color: #f0f0f2; }</style><script src="https://cdn.tailwindcss.com"></script><body class="w-full"><div id="react-root"><div><nav><ul class="navList"><li class="navItem"><a href="/">Home</a></li><li class="navItem">About</li><li class="navItem">Contact</li></ul></nav><aside><h4 class="title">My Blog</h4><p class="text">This is my blog. I hope you like it!</p></aside><main class="w-[80ch] max-w-[80ch] bg-white mx-auto shadow"><article class="px-8"><nav class="navigation"><ul class="flex flex-row justify-between"><li class="navItem">Home</li><li class="navItem">About</li><li class="navItem">Contact</li></ul></nav><div class="content"><h1 class="text-4xl">My Web Page</h1><p class="text">This is <b>my </b><i>web page</i>. Isn&#x27;t it grand?</p><blockquote class="italic">I am hungry.</blockquote><cite class="text"> -- Alfred Einstein</cite><div class="container"><video src="movie.mp4" width="320" height="240"><track kind="subtitles" src="subtitles_en.vtt" srcLang="en"/></video></div><table class="table"><thead class="thead"><tr class="headerRow"><th class="headerCell">Header 1</th><th class="headerCell">Header 2</th></tr></thead><tbody class="tbody"><tr class="tableRow"><td class="tableData">Row 1, Col 1</td><td class="tableData">Row 1, Col 2</td></tr><tr class="tableRow"><td class="tableData">Row 2, Col 1</td><td class="tableData">Row 2, Col 2</td></tr></tbody><tfoot class="tfoot"><tr class="footerRow"><td class="footerCell">Footer 1</td><td class="footerCell">Footer 2</td></tr></tfoot></table><h3>&lt;p&gt;, &lt;sup&gt;, &lt;sub&gt;</h3><p class="text">The temperature of boiling water is 100</p><sup class="text">o</sup>C<sub class="text">1</sub></div><h3>&lt;address&gt;</h3><address class="footer">1234 Main St, Anytown, USA</address></article><div class="myForm"><form action="#"><input type="text" placeholder="Type something" class="inputField"/><input type="submit" class="submitBtn" value="Submit"/></form><input value="hi"/></div></main><button class="bg-black px-4 py-2 rounded shadow font-bold text-white">Count up!</button><div><p>You clicked me <b>0</b> times.</p></div><div></div><div></div><footer class="footer">1234 Main St, Anytown, USA</footer></div></div></body><script src="index.js"></script></head></html>
package.json+1−1
@@ -11,7 +11,7 @@
11 },
11 },
12 "keywords": [],
12 "keywords": [],
13 "author": "",
13 "author": "",
14− "license": "ISC",
14+ "license": "WTFPL",
15 "dependencies": {
15 "dependencies": {
16 "react": "^18.2.0",
16 "react": "^18.2.0",
17 "react-dom": "^18.2.0"
17 "react-dom": "^18.2.0"
spago.dhalldeleted−34
@@ -1,34 +0,0 @@
1−{-
2−Welcome to a Spago project!
3−You can edit this file as you like.
4−
5−Need help? See the following resources:
6−- Spago documentation: https://github.com/purescript/spago
7−- Dhall language tour: https://docs.dhall-lang.org/tutorials/Language-Tour.html
8−
9−When creating a new Spago project, you can use
10−`spago init --no-comments` or `spago init -C`
11−to generate this file without the comments in this block.
12−-}
13−{ name = "react-basic-dom-beta"
14−, dependencies =
15− [ "datetime"
16− , "effect"
17− , "forgetmenot"
18− , "functions"
19− , "nullable"
20− , "prelude"
21− , "react-basic"
22− , "react-basic-hooks"
23− , "record"
24− , "type-equality"
25− , "typelevel-prelude"
26− , "unsafe-coerce"
27− , "web-dom"
28− , "web-events"
29− , "web-html"
30− , "web-touchevents"
31− ]
32−, packages = ./packages.dhall
33−, sources = [ "src/**/*.purs" ]
34−}
spago.locknew file+1131
@@ -0,0 +1,1131 @@
1+{
2+ "workspace": {
3+ "packages": {
4+ "yoga-react-dom": {
5+ "path": "./",
6+ "core": {
7+ "dependencies": [
8+ {
9+ "datetime": ">=6.1.0 <7.0.0"
10+ },
11+ {
12+ "effect": ">=4.0.0 <5.0.0"
13+ },
14+ {
15+ "forgetmenot": ">=0.1.0 <0.2.0"
16+ },
17+ {
18+ "functions": ">=6.0.0 <7.0.0"
19+ },
20+ {
21+ "nullable": ">=6.0.0 <7.0.0"
22+ },
23+ {
24+ "prelude": ">=6.0.2 <7.0.0"
25+ },
26+ {
27+ "react-basic": ">=17.0.0 <18.0.0"
28+ },
29+ {
30+ "react-basic-hooks": ">=8.2.0 <9.0.0"
31+ },
32+ {
33+ "record": ">=4.0.0 <5.0.0"
34+ },
35+ {
36+ "type-equality": ">=4.0.1 <5.0.0"
37+ },
38+ {
39+ "typelevel-prelude": ">=7.0.0 <8.0.0"
40+ },
41+ {
42+ "unsafe-coerce": ">=6.0.0 <7.0.0"
43+ },
44+ {
45+ "web-dom": ">=6.0.0 <7.0.0"
46+ },
47+ {
48+ "web-events": ">=4.0.0 <5.0.0"
49+ },
50+ {
51+ "web-html": ">=4.1.1 <5.0.0"
52+ },
53+ {
54+ "web-touchevents": ">=4.0.0 <5.0.0"
55+ }
56+ ]
57+ },
58+ "test": {
59+ "dependencies": [
60+ "aff",
61+ "console",
62+ "foldable-traversable",
63+ "node-buffer",
64+ "node-fs",
65+ "spec",
66+ "tuples"
67+ ]
68+ }
69+ }
70+ },
71+ "extra_packages": {}
72+ },
73+ "packages": {
74+ "aff": {
75+ "type": "registry",
76+ "version": "8.0.0",
77+ "integrity": "sha256-9BRIrSdRoYybfiUmBqgKJ66cPqxYHb277bVWQMn/9sg=",
78+ "dependencies": [
79+ "control",
80+ "datetime",
81+ "effect",
82+ "either",
83+ "exceptions",
84+ "functions",
85+ "newtype",
86+ "parallel",
87+ "partial",
88+ "prelude",
89+ "st",
90+ "tailrec",
91+ "transformers",
92+ "unsafe-coerce"
93+ ]
94+ },
95+ "aff-promise": {
96+ "type": "registry",
97+ "version": "4.0.0",
98+ "integrity": "sha256-Jgp3y+NWuuAmwz2V3LlWoX+AvxqfVglY77N5zTw8xnI=",
99+ "dependencies": [
100+ "aff",
101+ "control",
102+ "effect",
103+ "either",
104+ "exceptions",
105+ "foreign",
106+ "prelude",
107+ "transformers"
108+ ]
109+ },
110+ "ansi": {
111+ "type": "registry",
112+ "version": "7.0.0",
113+ "integrity": "sha256-tOUaXJFzPSfBVAqLI8hc+Tz2M1rg16cXqyHaK/3SmFg=",
114+ "dependencies": [
115+ "foldable-traversable",
116+ "lists",
117+ "prelude"
118+ ]
119+ },
120+ "arraybuffer-types": {
121+ "type": "registry",
122+ "version": "3.0.2",
123+ "integrity": "sha256-p05cJnSkyeoB7VHzMyc2Eb1RwUaB7Nl0sQSqEGNEUD8=",
124+ "dependencies": []
125+ },
126+ "arrays": {
127+ "type": "registry",
128+ "version": "7.3.0",
129+ "integrity": "sha256-GD4z7LCi9wzi7FCQqbWhvs8paoUK9NO+HwgXZ+KP8Rk=",
130+ "dependencies": [
131+ "bifunctors",
132+ "control",
133+ "foldable-traversable",
134+ "functions",
135+ "maybe",
136+ "nonempty",
137+ "partial",
138+ "prelude",
139+ "safe-coerce",
140+ "st",
141+ "tailrec",
142+ "tuples",
143+ "unfoldable",
144+ "unsafe-coerce"
145+ ]
146+ },
147+ "avar": {
148+ "type": "registry",
149+ "version": "5.0.1",
150+ "integrity": "sha256-8V4SxF4TIWZ9Ik1P4lPzIRUAZeFBe8w5WA2VcCEKsIk=",
151+ "dependencies": [
152+ "aff",
153+ "effect",
154+ "either",
155+ "exceptions",
156+ "functions",
157+ "maybe",
158+ "prelude"
159+ ]
160+ },
161+ "bifunctors": {
162+ "type": "registry",
163+ "version": "6.1.0",
164+ "integrity": "sha256-CvZRb8uI75eKIqiYntR+k05Wk6tKlMS5w8sCA2AFna0=",
165+ "dependencies": [
166+ "const",
167+ "either",
168+ "newtype",
169+ "prelude",
170+ "tuples"
171+ ]
172+ },
173+ "catenable-lists": {
174+ "type": "registry",
175+ "version": "7.0.0",
176+ "integrity": "sha256-7+i/MHBLIRh604iCNT4ENWRWE/wuHIotER4kpdX9Ve0=",
177+ "dependencies": [
178+ "control",
179+ "foldable-traversable",
180+ "lists",
181+ "maybe",
182+ "prelude",
183+ "tuples",
184+ "unfoldable"
185+ ]
186+ },
187+ "console": {
188+ "type": "registry",
189+ "version": "6.1.0",
190+ "integrity": "sha256-3T5PPz1mATZmV0C4GzkCkpLlCa5xG7u8ZNgnLrrrI1Q=",
191+ "dependencies": [
192+ "effect",
193+ "prelude"
194+ ]
195+ },
196+ "const": {
197+ "type": "registry",
198+ "version": "6.0.0",
199+ "integrity": "sha256-S+m0lQsxnji0z1XRUmkn+3RFuWJ5CXWuIr1u3i8Bfoc=",
200+ "dependencies": [
201+ "invariant",
202+ "newtype",
203+ "prelude"
204+ ]
205+ },
206+ "contravariant": {
207+ "type": "registry",
208+ "version": "6.0.0",
209+ "integrity": "sha256-nuckEWqL80NaPmR/l9AUyrfycNh18XcvlZV9PAamwqc=",
210+ "dependencies": [
211+ "const",
212+ "either",
213+ "newtype",
214+ "prelude",
215+ "tuples"
216+ ]
217+ },
218+ "control": {
219+ "type": "registry",
220+ "version": "6.0.0",
221+ "integrity": "sha256-0vxyYh5FL+ilxgLo954w1LqCUC0RSIivNNlb9CaNUQg=",
222+ "dependencies": [
223+ "newtype",
224+ "prelude"
225+ ]
226+ },
227+ "datetime": {
228+ "type": "registry",
229+ "version": "6.1.0",
230+ "integrity": "sha256-tbv6eDXy6QOD7YSknxYSbsDF32OC2JrNbSBpzMs7Doc=",
231+ "dependencies": [
232+ "bifunctors",
233+ "control",
234+ "either",
235+ "enums",
236+ "foldable-traversable",
237+ "functions",
238+ "gen",
239+ "integers",
240+ "lists",
241+ "maybe",
242+ "newtype",
243+ "numbers",
244+ "ordered-collections",
245+ "partial",
246+ "prelude",
247+ "tuples"
248+ ]
249+ },
250+ "distributive": {
251+ "type": "registry",
252+ "version": "6.0.0",
253+ "integrity": "sha256-netyJK4B32PDYHD0tF2AenKgo3urzbI770ycM0pArAo=",
254+ "dependencies": [
255+ "identity",
256+ "newtype",
257+ "prelude",
258+ "tuples",
259+ "type-equality"
260+ ]
261+ },
262+ "effect": {
263+ "type": "registry",
264+ "version": "4.0.0",
265+ "integrity": "sha256-DdqU3bncRTjgMVPPRlAuGHVeajSPEcRaRhNuio7if6s=",
266+ "dependencies": [
267+ "prelude"
268+ ]
269+ },
270+ "either": {
271+ "type": "registry",
272+ "version": "6.1.0",
273+ "integrity": "sha256-tBHx3PgtH4GZOApZCDkcM7szRTYJinrUrVGWazQCUUg=",
274+ "dependencies": [
275+ "control",
276+ "invariant",
277+ "maybe",
278+ "prelude"
279+ ]
280+ },
281+ "enums": {
282+ "type": "registry",
283+ "version": "6.0.1",
284+ "integrity": "sha256-sdZOmLX5+5pASGpvVyT0vSD5BBYQjZiayjV5XiPutso=",
285+ "dependencies": [
286+ "control",
287+ "either",
288+ "gen",
289+ "maybe",
290+ "newtype",
291+ "nonempty",
292+ "partial",
293+ "prelude",
294+ "tuples",
295+ "unfoldable"
296+ ]
297+ },
298+ "exceptions": {
299+ "type": "registry",
300+ "version": "6.1.0",
301+ "integrity": "sha256-nRrr+N0wk0TUFOWLR7e1n1oxcXo/X345bQUtoY9lW6A=",
302+ "dependencies": [
303+ "effect",
304+ "either",
305+ "maybe",
306+ "prelude"
307+ ]
308+ },
309+ "exists": {
310+ "type": "registry",
311+ "version": "6.0.0",
312+ "integrity": "sha256-vtLbrWNaI+pzx/2fw2AQnCovoLtcosClIhjO26QKkh8=",
313+ "dependencies": [
314+ "unsafe-coerce"
315+ ]
316+ },
317+ "foldable-traversable": {
318+ "type": "registry",
319+ "version": "6.0.0",
320+ "integrity": "sha256-NGGWyCio/xjce6fPP7y3wwg7CheqllID6aJudDxbWhA=",
321+ "dependencies": [
322+ "bifunctors",
323+ "const",
324+ "control",
325+ "either",
326+ "functors",
327+ "identity",
328+ "maybe",
329+ "newtype",
330+ "orders",
331+ "prelude",
332+ "tuples"
333+ ]
334+ },
335+ "foreign": {
336+ "type": "registry",
337+ "version": "7.0.0",
338+ "integrity": "sha256-jiDRMVQfovGsbbA/FzbzYf6iWk9i2b5gNrIjz+gFfsI=",
339+ "dependencies": [
340+ "either",
341+ "functions",
342+ "integers",
343+ "lists",
344+ "maybe",
345+ "prelude",
346+ "strings",
347+ "transformers",
348+ "unsafe-coerce"
349+ ]
350+ },
351+ "forgetmenot": {
352+ "type": "registry",
353+ "version": "0.1.0",
354+ "integrity": "sha256-YYLWpHQwJ1zKmPxLo7sZOk+kYuKOpOpRhdz9vwI/p7Q=",
355+ "dependencies": []
356+ },
357+ "fork": {
358+ "type": "registry",
359+ "version": "6.0.0",
360+ "integrity": "sha256-0keBVeZZg1eCZEy/En1CohVW829gQUqKtqBNIRa93/A=",
361+ "dependencies": [
362+ "aff",
363+ "prelude",
364+ "transformers"
365+ ]
366+ },
367+ "free": {
368+ "type": "registry",
369+ "version": "7.1.0",
370+ "integrity": "sha256-tUBInfUpRQEw4u94GWcYW7EYdmSdDHSRn88a+C0eltU=",
371+ "dependencies": [
372+ "catenable-lists",
373+ "control",
374+ "distributive",
375+ "either",
376+ "exists",
377+ "foldable-traversable",
378+ "invariant",
379+ "lazy",
380+ "maybe",
381+ "prelude",
382+ "tailrec",
383+ "transformers",
384+ "tuples",
385+ "unsafe-coerce"
386+ ]
387+ },
388+ "functions": {
389+ "type": "registry",
390+ "version": "6.0.0",
391+ "integrity": "sha256-0jgtOr+SFO4UScKc40oA/9Vdcf2rLn3h3vZlY0KfqVo=",
392+ "dependencies": [
393+ "prelude"
394+ ]
395+ },
396+ "functors": {
397+ "type": "registry",
398+ "version": "5.0.0",
399+ "integrity": "sha256-W1o/4wcp6S3chodYL8uixlXK2mfr1L+SzM1R+whqUco=",
400+ "dependencies": [
401+ "bifunctors",
402+ "const",
403+ "contravariant",
404+ "control",
405+ "distributive",
406+ "either",
407+ "invariant",
408+ "maybe",
409+ "newtype",
410+ "prelude",
411+ "profunctor",
412+ "tuples",
413+ "unsafe-coerce"
414+ ]
415+ },
416+ "gen": {
417+ "type": "registry",
418+ "version": "4.0.0",
419+ "integrity": "sha256-kyOateeOtQa07vfTMYeSuCKdelgKE1R65fwKkZ10wsY=",
420+ "dependencies": [
421+ "either",
422+ "foldable-traversable",
423+ "identity",
424+ "maybe",
425+ "newtype",
426+ "nonempty",
427+ "prelude",
428+ "tailrec",
429+ "tuples",
430+ "unfoldable"
431+ ]
432+ },
433+ "identity": {
434+ "type": "registry",
435+ "version": "6.0.0",
436+ "integrity": "sha256-RY/iXPpxpqvKHYfJeFVNI1J06kohB9rbtWYuha8t0LE=",
437+ "dependencies": [
438+ "control",
439+ "invariant",
440+ "newtype",
441+ "prelude"
442+ ]
443+ },
444+ "indexed-monad": {
445+ "type": "registry",
446+ "version": "3.0.0",
447+ "integrity": "sha256-84PslUkPKyrFUGeq981auE+zODsQO/g8rnqwgcN0zQM=",
448+ "dependencies": [
449+ "newtype",
450+ "prelude"
451+ ]
452+ },
453+ "integers": {
454+ "type": "registry",
455+ "version": "6.0.0",
456+ "integrity": "sha256-Y8yozC1uHRLcruobEyv5/bMKzE1BoKJ/olHv6o+bgm8=",
457+ "dependencies": [
458+ "maybe",
459+ "numbers",
460+ "prelude"
461+ ]
462+ },
463+ "invariant": {
464+ "type": "registry",
465+ "version": "6.0.0",
466+ "integrity": "sha256-HyoT1I5qIHRq8RSZji6zZDvqnpVjLw748utrKwZtqsw=",
467+ "dependencies": [
468+ "control",
469+ "prelude"
470+ ]
471+ },
472+ "js-date": {
473+ "type": "registry",
474+ "version": "8.0.0",
475+ "integrity": "sha256-DNQrp4xYc8o80jtxo0aOkUeXGi6h0Xidkk2ZQ8Y4l5Y=",
476+ "dependencies": [
477+ "datetime",
478+ "effect",
479+ "enums",
480+ "foreign",
481+ "functions",
482+ "integers",
483+ "maybe",
484+ "prelude"
485+ ]
486+ },
487+ "lazy": {
488+ "type": "registry",
489+ "version": "6.0.0",
490+ "integrity": "sha256-MHRC+1Pc+AjortBp4b/e1e6KpEpsDwaJBNBB7TOL+1I=",
491+ "dependencies": [
492+ "control",
493+ "foldable-traversable",
494+ "invariant",
495+ "prelude"
496+ ]
497+ },
498+ "lists": {
499+ "type": "registry",
500+ "version": "7.0.0",
501+ "integrity": "sha256-/mGd7wLoU+wsTcqii7SSUByxsvwvjnu2PjwAD47yYb4=",
502+ "dependencies": [
503+ "bifunctors",
504+ "control",
505+ "foldable-traversable",
506+ "lazy",
507+ "maybe",
508+ "newtype",
509+ "nonempty",
510+ "partial",
511+ "prelude",
512+ "tailrec",
513+ "tuples",
514+ "unfoldable"
515+ ]
516+ },
517+ "maybe": {
518+ "type": "registry",
519+ "version": "6.0.0",
520+ "integrity": "sha256-8X6XEgtZ5lqfkEuc1hWOofnL6mwhk8gSJTxwvbR/SbY=",
521+ "dependencies": [
522+ "control",
523+ "invariant",
524+ "newtype",
525+ "prelude"
526+ ]
527+ },
528+ "media-types": {
529+ "type": "registry",
530+ "version": "6.0.0",
531+ "integrity": "sha256-3Wyq+vfqJFTmy1k6DGVnXStxtZxgK631wusDPzlFVxg=",
532+ "dependencies": [
533+ "newtype",
534+ "prelude"
535+ ]
536+ },
537+ "mmorph": {
538+ "type": "registry",
539+ "version": "7.0.0",
540+ "integrity": "sha256-Cfltaq+tfYjuSoSBN/b8cSQZbvZTqIRs6ebQewbIkGs=",
541+ "dependencies": [
542+ "bifunctors",
543+ "either",
544+ "free",
545+ "functors",
546+ "identity",
547+ "maybe",
548+ "newtype",
549+ "prelude",
550+ "transformers",
551+ "tuples"
552+ ]
553+ },
554+ "newtype": {
555+ "type": "registry",
556+ "version": "5.0.0",
557+ "integrity": "sha256-dt6w0cty4OS+Pjt9fsh3iU6ottqSU83mdAZkaEEvo6c=",
558+ "dependencies": [
559+ "prelude",
560+ "safe-coerce"
561+ ]
562+ },
563+ "node-buffer": {
564+ "type": "registry",
565+ "version": "9.0.0",
566+ "integrity": "sha256-RdQjilmEHqsT4fwpCr8Mavw8KTafYrS3ZM6zeAAVAl8=",
567+ "dependencies": [
568+ "arraybuffer-types",
569+ "effect",
570+ "functions",
571+ "maybe",
572+ "nullable",
573+ "partial",
574+ "prelude",
575+ "st",
576+ "unsafe-coerce"
577+ ]
578+ },
579+ "node-event-emitter": {
580+ "type": "registry",
581+ "version": "3.0.0",
582+ "integrity": "sha256-wodx71NxJBPXOaawFn01V1ByYB2vT+I3RuV2giOVKMg=",
583+ "dependencies": [
584+ "effect",
585+ "either",
586+ "functions",
587+ "maybe",
588+ "nullable",
589+ "prelude",
590+ "unsafe-coerce"
591+ ]
592+ },
593+ "node-fs": {
594+ "type": "registry",
595+ "version": "9.2.0",
596+ "integrity": "sha256-fxioTSm9y47WuYs9F/7nxCh/RVDCl3Kr3Hg779J4SJA=",
597+ "dependencies": [
598+ "aff",
599+ "datetime",
600+ "effect",
601+ "either",
602+ "enums",
603+ "exceptions",
604+ "functions",
605+ "integers",
606+ "js-date",
607+ "maybe",
608+ "node-buffer",
609+ "node-path",
610+ "node-streams",
611+ "nullable",
612+ "partial",
613+ "prelude",
614+ "strings"
615+ ]
616+ },
617+ "node-path": {
618+ "type": "registry",
619+ "version": "5.0.1",
620+ "integrity": "sha256-j7n/SmpVz0FOMJl4XZop3ofJ+MeIPkMNqUEUKHEL6Us=",
621+ "dependencies": [
622+ "effect"
623+ ]
624+ },
625+ "node-streams": {
626+ "type": "registry",
627+ "version": "9.0.1",
628+ "integrity": "sha256-yuVGm/R/tBr4Nphi+a1a984Z0fkmN9Q5wWtSmbmJTpA=",
629+ "dependencies": [
630+ "aff",
631+ "arrays",
632+ "effect",
633+ "either",
634+ "exceptions",
635+ "maybe",
636+ "node-buffer",
637+ "node-event-emitter",
638+ "nullable",
639+ "prelude",
640+ "refs",
641+ "st",
642+ "tailrec",
643+ "unsafe-coerce"
644+ ]
645+ },
646+ "nonempty": {
647+ "type": "registry",
648+ "version": "7.0.0",
649+ "integrity": "sha256-Ctkq8/+KiGqCE53Y/LvibA/coy7ev9HtRZU+GYS7yfQ=",
650+ "dependencies": [
651+ "control",
652+ "foldable-traversable",
653+ "maybe",
654+ "prelude",
655+ "tuples",
656+ "unfoldable"
657+ ]
658+ },
659+ "now": {
660+ "type": "registry",
661+ "version": "6.0.0",
662+ "integrity": "sha256-mTyG4s8tps3XIf0jjV/lME2/QlwMzrQly2wqfSSUM3o=",
663+ "dependencies": [
664+ "datetime",
665+ "effect",
666+ "prelude"
667+ ]
668+ },
669+ "nullable": {
670+ "type": "registry",
671+ "version": "6.0.0",
672+ "integrity": "sha256-CDAZk+L9Sc0GCFTkE8n+qdp4Ys8avvnkU+m2hVALt7M=",
673+ "dependencies": [
674+ "functions",
675+ "maybe",
676+ "prelude"
677+ ]
678+ },
679+ "numbers": {
680+ "type": "registry",
681+ "version": "9.0.1",
682+ "integrity": "sha256-ZydYckgwRAnRaFC7pu6fADhzdwX+UqHZrfJyet64zls=",
683+ "dependencies": [
684+ "functions",
685+ "maybe",
686+ "prelude"
687+ ]
688+ },
689+ "ordered-collections": {
690+ "type": "registry",
691+ "version": "3.2.0",
692+ "integrity": "sha256-NaEXc2cz/7lJfxPWEja4XlZbGxuRqJwFKQJjsJf51kQ=",
693+ "dependencies": [
694+ "arrays",
695+ "control",
696+ "foldable-traversable",
697+ "functions",
698+ "gen",
699+ "lists",
700+ "maybe",
701+ "newtype",
702+ "partial",
703+ "prelude",
704+ "safe-coerce",
705+ "tailrec",
706+ "tuples",
707+ "unfoldable"
708+ ]
709+ },
710+ "orders": {
711+ "type": "registry",
712+ "version": "6.0.0",
713+ "integrity": "sha256-nSMxZK7wxyDULkjZqvMyB71mVo6b0AyLLHosDVbv1XM=",
714+ "dependencies": [
715+ "newtype",
716+ "prelude"
717+ ]
718+ },
719+ "parallel": {
720+ "type": "registry",
721+ "version": "7.0.0",
722+ "integrity": "sha256-bAGpVhrFz2IyHkA4MR7+tE/19FZ7dzYBdYPgK5svkqw=",
723+ "dependencies": [
724+ "control",
725+ "effect",
726+ "either",
727+ "foldable-traversable",
728+ "functors",
729+ "maybe",
730+ "newtype",
731+ "prelude",
732+ "profunctor",
733+ "refs",
734+ "transformers"
735+ ]
736+ },
737+ "partial": {
738+ "type": "registry",
739+ "version": "4.0.0",
740+ "integrity": "sha256-mdrlJBAgFMh79hNRW39uv7c+BwnnaOrAMmdh7+VhEhs=",
741+ "dependencies": []
742+ },
743+ "pipes": {
744+ "type": "registry",
745+ "version": "8.0.0",
746+ "integrity": "sha256-dtUNpG8BGVr7pu6mQZyAnUAftUHgNS7f0QH3Kw5UTpQ=",
747+ "dependencies": [
748+ "aff",
749+ "control",
750+ "effect",
751+ "either",
752+ "foldable-traversable",
753+ "identity",
754+ "lists",
755+ "maybe",
756+ "mmorph",
757+ "newtype",
758+ "prelude",
759+ "tailrec",
760+ "transformers",
761+ "tuples"
762+ ]
763+ },
764+ "prelude": {
765+ "type": "registry",
766+ "version": "6.0.2",
767+ "integrity": "sha256-IqykrDRquGUD/LRSad7y75hZv3bUsGQ4knc8tdez8Qw=",
768+ "dependencies": []
769+ },
770+ "profunctor": {
771+ "type": "registry",
772+ "version": "6.0.1",
773+ "integrity": "sha256-Ow0mJC+PIIRq/a3mzCWY5vxuTgR/e+Ee68+mWeSRnWY=",
774+ "dependencies": [
775+ "control",
776+ "distributive",
777+ "either",
778+ "exists",
779+ "invariant",
780+ "newtype",
781+ "prelude",
782+ "tuples"
783+ ]
784+ },
785+ "react-basic": {
786+ "type": "registry",
787+ "version": "17.0.0",
788+ "integrity": "sha256-RZA6jqfbrFHLXYD1ARlnfHp2YkT9IjUTkUwsk7Rqn8s=",
789+ "dependencies": [
790+ "effect",
791+ "prelude",
792+ "record"
793+ ]
794+ },
795+ "react-basic-hooks": {
796+ "type": "registry",
797+ "version": "8.2.0",
798+ "integrity": "sha256-WkJa82jXYBNZYHFGzuITOHl03B6mZTJXgNIVo91oORY=",
799+ "dependencies": [
800+ "aff",
801+ "aff-promise",
802+ "bifunctors",
803+ "console",
804+ "control",
805+ "datetime",
806+ "effect",
807+ "either",
808+ "exceptions",
809+ "foldable-traversable",
810+ "functions",
811+ "indexed-monad",
812+ "integers",
813+ "maybe",
814+ "newtype",
815+ "now",
816+ "nullable",
817+ "ordered-collections",
818+ "prelude",
819+ "react-basic",
820+ "refs",
821+ "tuples",
822+ "type-equality",
823+ "unsafe-coerce",
824+ "unsafe-reference",
825+ "web-html"
826+ ]
827+ },
828+ "record": {
829+ "type": "registry",
830+ "version": "4.0.0",
831+ "integrity": "sha256-WQ8fqp4X1wTA70J4qUcPW4Z7DCwx6e5KJnT/EuTdWSc=",
832+ "dependencies": [
833+ "functions",
834+ "prelude",
835+ "unsafe-coerce"
836+ ]
837+ },
838+ "refs": {
839+ "type": "registry",
840+ "version": "6.0.0",
841+ "integrity": "sha256-KKD5G9dR2SauuDGULUJsxjqDOEi1Jqm+2Sq5U2mY8YU=",
842+ "dependencies": [
843+ "effect",
844+ "prelude"
845+ ]
846+ },
847+ "safe-coerce": {
848+ "type": "registry",
849+ "version": "2.0.0",
850+ "integrity": "sha256-EJrxtKt5xC7TYjBZrSBO/J7Aw3DmtilYjt4olpAXWVc=",
851+ "dependencies": [
852+ "unsafe-coerce"
853+ ]
854+ },
855+ "spec": {
856+ "type": "registry",
857+ "version": "8.1.2",
858+ "integrity": "sha256-klPPJ6lBQI1CGOAdLJ+ZoGRt8XZippkTKjn53BrSkL0=",
859+ "dependencies": [
860+ "aff",
861+ "ansi",
862+ "arrays",
863+ "avar",
864+ "bifunctors",
865+ "control",
866+ "datetime",
867+ "effect",
868+ "either",
869+ "exceptions",
870+ "foldable-traversable",
871+ "fork",
872+ "identity",
873+ "integers",
874+ "lists",
875+ "maybe",
876+ "newtype",
877+ "now",
878+ "ordered-collections",
879+ "parallel",
880+ "pipes",
881+ "prelude",
882+ "refs",
883+ "strings",
884+ "tailrec",
885+ "transformers",
886+ "tuples"
887+ ]
888+ },
889+ "st": {
890+ "type": "registry",
891+ "version": "6.2.0",
892+ "integrity": "sha256-WI4MEkkwUd4pnwZQ3G8VKWgX5t1RSNJludm5e9boaRo=",
893+ "dependencies": [
894+ "effect",
895+ "partial",
896+ "prelude",
897+ "tailrec",
898+ "unsafe-coerce"
899+ ]
900+ },
901+ "strings": {
902+ "type": "registry",
903+ "version": "6.0.1",
904+ "integrity": "sha256-FNto2hoNW5Da6W6crIk77YXMagBvOGHZE1kO7eZ1vLM=",
905+ "dependencies": [
906+ "arrays",
907+ "control",
908+ "either",
909+ "enums",
910+ "foldable-traversable",
911+ "gen",
912+ "integers",
913+ "maybe",
914+ "newtype",
915+ "nonempty",
916+ "partial",
917+ "prelude",
918+ "tailrec",
919+ "tuples",
920+ "unfoldable",
921+ "unsafe-coerce"
922+ ]
923+ },
924+ "tailrec": {
925+ "type": "registry",
926+ "version": "6.1.0",
927+ "integrity": "sha256-xrorCfP0xV1wubs27idQCHQqdvSUuqmmL/am7Ji1wVU=",
928+ "dependencies": [
929+ "bifunctors",
930+ "effect",
931+ "either",
932+ "identity",
933+ "maybe",
934+ "partial",
935+ "prelude",
936+ "refs"
937+ ]
938+ },
939+ "transformers": {
940+ "type": "registry",
941+ "version": "6.1.0",
942+ "integrity": "sha256-QJmgNT/y7ljPHSsXaW4zxF/982BFiQ90KNL1g/NtEOQ=",
943+ "dependencies": [
944+ "control",
945+ "distributive",
946+ "effect",
947+ "either",
948+ "exceptions",
949+ "foldable-traversable",
950+ "identity",
951+ "lazy",
952+ "maybe",
953+ "newtype",
954+ "prelude",
955+ "st",
956+ "tailrec",
957+ "tuples",
958+ "unfoldable"
959+ ]
960+ },
961+ "tuples": {
962+ "type": "registry",
963+ "version": "7.0.0",
964+ "integrity": "sha256-BKy7EfK8S1KeTCwyWqyW1wwcpSAQuh3IsczSVgS6fzY=",
965+ "dependencies": [
966+ "control",
967+ "invariant",
968+ "prelude"
969+ ]
970+ },
971+ "type-equality": {
972+ "type": "registry",
973+ "version": "4.0.1",
974+ "integrity": "sha256-BBqYOSnAKmayRvR5mtZoCf4SlYs2ipatD/+5nQx73aw=",
975+ "dependencies": []
976+ },
977+ "typelevel-prelude": {
978+ "type": "registry",
979+ "version": "7.0.0",
980+ "integrity": "sha256-+pHi14/40mTj/+lmCWqL0T7iXIXD1+NSg/KItyyoB0A=",
981+ "dependencies": [
982+ "prelude",
983+ "type-equality"
984+ ]
985+ },
986+ "unfoldable": {
987+ "type": "registry",
988+ "version": "6.0.0",
989+ "integrity": "sha256-BK/6By1sKp/ztk+9CF3q43SV0QDTLVdsGqFerKHSmbg=",
990+ "dependencies": [
991+ "foldable-traversable",
992+ "maybe",
993+ "partial",
994+ "prelude",
995+ "tuples"
996+ ]
997+ },
998+ "unsafe-coerce": {
999+ "type": "registry",
1000+ "version": "6.0.0",
1001+ "integrity": "sha256-0L1QsaY20OILjfU5TV72d3U/tSjhmL9hJ32WMp857Lk=",
1002+ "dependencies": []
1003+ },
1004+ "unsafe-reference": {
1005+ "type": "registry",
1006+ "version": "5.0.0",
1007+ "integrity": "sha256-ttSJTQUnK8AK2eGOsfRxLUJEDPL6pnmExjbiOqfwC6I=",
1008+ "dependencies": [
1009+ "prelude"
1010+ ]
1011+ },
1012+ "web-dom": {
1013+ "type": "registry",
1014+ "version": "6.0.0",
1015+ "integrity": "sha256-rVeqkxChkjqisDvOujy9BMEgGqJkwX3t6g21bXfiG5o=",
1016+ "dependencies": [
1017+ "effect",
1018+ "enums",
1019+ "maybe",
1020+ "newtype",
1021+ "nullable",
1022+ "prelude",
1023+ "unsafe-coerce",
1024+ "web-events"
1025+ ]
1026+ },
1027+ "web-events": {
1028+ "type": "registry",
1029+ "version": "4.0.0",
1030+ "integrity": "sha256-wZNeldG0OU+8qGycUJ9e6vxf1/GC4Ep4OlRMhvjs9LA=",
1031+ "dependencies": [
1032+ "datetime",
1033+ "effect",
1034+ "enums",
1035+ "foreign",
1036+ "functions",
1037+ "maybe",
1038+ "newtype",
1039+ "nullable",
1040+ "prelude",
1041+ "unsafe-coerce"
1042+ ]
1043+ },
1044+ "web-file": {
1045+ "type": "registry",
1046+ "version": "4.0.0",
1047+ "integrity": "sha256-txsdkeWBKU/+5v9m5c6kysgJQSDyV1r7MHaeT4STpjQ=",
1048+ "dependencies": [
1049+ "datetime",
1050+ "effect",
1051+ "enums",
1052+ "foreign",
1053+ "integers",
1054+ "maybe",
1055+ "media-types",
1056+ "nullable",
1057+ "numbers",
1058+ "partial",
1059+ "prelude",
1060+ "tuples",
1061+ "unfoldable",
1062+ "unsafe-coerce",
1063+ "web-events"
1064+ ]
1065+ },
1066+ "web-html": {
1067+ "type": "registry",
1068+ "version": "4.1.1",
1069+ "integrity": "sha256-yOuZJGUxFrivHKpo/jKuKzFZaq6PPPE64ftSysXFssk=",
1070+ "dependencies": [
1071+ "effect",
1072+ "enums",
1073+ "foreign",
1074+ "functions",
1075+ "js-date",
1076+ "maybe",
1077+ "media-types",
1078+ "newtype",
1079+ "nullable",
1080+ "prelude",
1081+ "unsafe-coerce",
1082+ "web-dom",
1083+ "web-events",
1084+ "web-file",
1085+ "web-storage"
1086+ ]
1087+ },
1088+ "web-storage": {
1089+ "type": "registry",
1090+ "version": "5.0.0",
1091+ "integrity": "sha256-YJfos55oeKtBStNfoWfeflSy8j+4IDym5eaZtIY7YM4=",
1092+ "dependencies": [
1093+ "effect",
1094+ "maybe",
1095+ "nullable",
1096+ "prelude",
1097+ "unsafe-coerce",
1098+ "web-events"
1099+ ]
1100+ },
1101+ "web-touchevents": {
1102+ "type": "registry",
1103+ "version": "4.0.0",
1104+ "integrity": "sha256-H02c53BJlHDlAgogj/x8bM7PagJjhMMrMPYy9I7Rf0s=",
1105+ "dependencies": [
1106+ "functions",
1107+ "maybe",
1108+ "nullable",
1109+ "prelude",
1110+ "unsafe-coerce",
1111+ "web-events",
1112+ "web-uievents"
1113+ ]
1114+ },
1115+ "web-uievents": {
1116+ "type": "registry",
1117+ "version": "5.0.0",
1118+ "integrity": "sha256-yh9uVLIGu8wE1+jwLehtfsRfR1eyiShhIMMhBPqKybE=",
1119+ "dependencies": [
1120+ "effect",
1121+ "enums",
1122+ "maybe",
1123+ "nullable",
1124+ "prelude",
1125+ "unsafe-coerce",
1126+ "web-events",
1127+ "web-html"
1128+ ]
1129+ }
1130+ }
1131+}
spago.test.dhalldeleted−10
@@ -1,10 +0,0 @@
1−let conf = ./spago.dhall
2−
3−let dependencies = ["console", "spec", "node-fs-aff", "aff", "node-buffer", "react-basic-hooks", "foldable-traversable", "tuples" ]
4−
5−let sources = [ "src/**/*.purs", "test/**/*.purs" ]
6−
7−in conf //
8− { dependencies = conf.dependencies # dependencies
9− , sources = conf.sources # sources
10− }
spago.yamlnew file+38
@@ -0,0 +1,38 @@
1+package:
2+ dependencies:
3+ - datetime: ">=6.1.0 <7.0.0"
4+ - effect: ">=4.0.0 <5.0.0"
5+ - forgetmenot: ">=0.1.0 <0.2.0"
6+ - functions: ">=6.0.0 <7.0.0"
7+ - nullable: ">=6.0.0 <7.0.0"
8+ - prelude: ">=6.0.2 <7.0.0"
9+ - react-basic: ">=17.0.0 <18.0.0"
10+ - react-basic-hooks: ">=8.2.0 <9.0.0"
11+ - record: ">=4.0.0 <5.0.0"
12+ - type-equality: ">=4.0.1 <5.0.0"
13+ - typelevel-prelude: ">=7.0.0 <8.0.0"
14+ - unsafe-coerce: ">=6.0.0 <7.0.0"
15+ - web-dom: ">=6.0.0 <7.0.0"
16+ - web-events: ">=4.0.0 <5.0.0"
17+ - web-html: ">=4.1.1 <5.0.0"
18+ - web-touchevents: ">=4.0.0 <5.0.0"
19+ name: yoga-react-dom
20+ test:
21+ main: Test.Main
22+ dependencies:
23+ - console
24+ - spec
25+ - node-fs
26+ - aff
27+ - node-buffer
28+ - foldable-traversable
29+ - tuples
30+ # Optional section for configuring the `spago publish` command.
31+ # If you intend to publish your package, this section becomes mandatory.
32+ publish:
33+ version: 2.1.0
34+ license: WTFPL
35+ location:
36+ githubOwner: rowtype-yoga
37+ githubRepo: purescript-yoga-react-dom
38+workspace: {}
src/Beta/DOM.pursdeleted−43
@@ -1,43 +0,0 @@
1−module Beta.DOM
2− ( module Beta.DOM.HTML
3− , module Beta.DOM.Internal
4− ) where
5−
6−import Beta.DOM.Internal
7−import Prelude hiding (div, map, sub)
8−
9−import Beta.DOM.Attributes (BaseAttributes, BaseAttributesF, BaseAttributesR)
10−import Beta.DOM.Attributes.AutoCapitalize (AutoCapitalize)
11−import Beta.DOM.Attributes.InputMode (InputMode)
12−import Beta.DOM.Attributes.YesOrNo (YesOrNo)
13−import Beta.DOM.HTML
14−import Beta.DOM.Event (FocusEvent, MouseEvent)
15−import Beta.DOM.Internal (class CoerceReactProps, FFIComponent, coerceReactProps, unsafeWithChildren)
16−import Data.DateTime.Instant (Instant)
17−import Data.Symbol (class IsSymbol)
18−import Effect (Effect)
19−import Effect.Uncurried (EffectFn1, mkEffectFn1)
20−import Effect.Unsafe (unsafePerformEffect)
21−import ForgetMeNot (Id)
22−import Prim.Boolean (False, True)
23−import Prim.Row (class Cons, class Union)
24−import Prim.Row as Row
25−import Prim.RowList (class RowToList)
26−import Prim.Symbol as Symbol
27−import React.Basic (JSX, ReactComponent, empty)
28−import React.Basic (element) as React
29−import React.Basic.Events (EventHandler)
30−import Record (insert, merge)
31−import Record.Unsafe (unsafeSet)
32−import Type.Equality (class TypeEquals)
33−import Type.Proxy (Proxy(..), Proxy)
34−import Type.RowList (class ListToRow)
35−import Type.RowList (RowList)
36−import Type.RowList as RL
37−import Unsafe.Coerce (unsafeCoerce)
38−import Web.Event.Event (EventType)
39−import Web.Event.EventPhase (EventPhase)
40−import Web.Event.Internal.Types (Event, EventTarget)
41−
42−foreign import data ReactChildren :: Type
43−
src/Beta/DOM/HTML.pursdeleted−210
@@ -1,210 +0,0 @@
1−module Beta.DOM.HTML
2− ( module Beta.DOM.HTML.A
3− , module Beta.DOM.HTML.Abbr
4− , module Beta.DOM.HTML.Address
5− , module Beta.DOM.HTML.Area
6− , module Beta.DOM.HTML.Article
7− , module Beta.DOM.HTML.Aside
8− , module Beta.DOM.HTML.Audio
9− , module Beta.DOM.HTML.B
10− , module Beta.DOM.HTML.Base
11− , module Beta.DOM.HTML.Bdi
12− , module Beta.DOM.HTML.Bdo
13− , module Beta.DOM.HTML.Blockquote
14− , module Beta.DOM.HTML.Body
15− , module Beta.DOM.HTML.Br
16− , module Beta.DOM.HTML.Button
17− , module Beta.DOM.HTML.Canvas
18− , module Beta.DOM.HTML.Caption
19− , module Beta.DOM.HTML.Cite
20− , module Beta.DOM.HTML.Code
21− , module Beta.DOM.HTML.Col
22− , module Beta.DOM.HTML.ColGroup
23− , module Beta.DOM.HTML.Data
24− , module Beta.DOM.HTML.DataList
25− , module Beta.DOM.HTML.Dd
26− , module Beta.DOM.HTML.Del
27− , module Beta.DOM.HTML.Details
28− , module Beta.DOM.HTML.Dfn
29− , module Beta.DOM.HTML.Dialog
30− , module Beta.DOM.HTML.Div
31− , module Beta.DOM.HTML.Dl
32− , module Beta.DOM.HTML.Dt
33− , module Beta.DOM.HTML.Em
34− , module Beta.DOM.HTML.Embed
35− , module Beta.DOM.HTML.FieldSet
36− , module Beta.DOM.HTML.Figcaption
37− , module Beta.DOM.HTML.Figure
38− , module Beta.DOM.HTML.Footer
39− , module Beta.DOM.HTML.Form
40− , module Beta.DOM.HTML.H
41− , module Beta.DOM.HTML.HTML
42− , module Beta.DOM.HTML.Head
43− , module Beta.DOM.HTML.Header
44− , module Beta.DOM.HTML.Hr
45− , module Beta.DOM.HTML.I
46− , module Beta.DOM.HTML.IFrame
47− , module Beta.DOM.HTML.Img
48− , module Beta.DOM.HTML.Input
49− , module Beta.DOM.HTML.Kbd
50− , module Beta.DOM.HTML.Label
51− , module Beta.DOM.HTML.Legend
52− , module Beta.DOM.HTML.Li
53− , module Beta.DOM.HTML.Link
54− , module Beta.DOM.HTML.Main
55− , module Beta.DOM.HTML.Map
56− , module Beta.DOM.HTML.Mark
57− , module Beta.DOM.HTML.Meta
58− , module Beta.DOM.HTML.Meter
59− , module Beta.DOM.HTML.Nav
60− , module Beta.DOM.HTML.NoScript
61− , module Beta.DOM.HTML.Object
62− , module Beta.DOM.HTML.Ol
63− , module Beta.DOM.HTML.Optgroup
64− , module Beta.DOM.HTML.Option
65− , module Beta.DOM.HTML.Output
66− , module Beta.DOM.HTML.P
67− , module Beta.DOM.HTML.Param
68− , module Beta.DOM.HTML.Picture
69− , module Beta.DOM.HTML.Pre
70− , module Beta.DOM.HTML.Progress
71− , module Beta.DOM.HTML.Q
72− , module Beta.DOM.HTML.Rp
73− , module Beta.DOM.HTML.Rt
74− , module Beta.DOM.HTML.Ruby
75− , module Beta.DOM.HTML.S
76− , module Beta.DOM.HTML.Samp
77− , module Beta.DOM.HTML.Script
78− , module Beta.DOM.HTML.Section
79− , module Beta.DOM.HTML.Select
80− , module Beta.DOM.HTML.Small
81− , module Beta.DOM.HTML.Source
82− , module Beta.DOM.HTML.Span
83− , module Beta.DOM.HTML.Strong
84− , module Beta.DOM.HTML.Style
85− , module Beta.DOM.HTML.Sub
86− , module Beta.DOM.HTML.Summary
87− , module Beta.DOM.HTML.Sup
88− , module Beta.DOM.HTML.Table
89− , module Beta.DOM.HTML.Tbody
90− , module Beta.DOM.HTML.Td
91− , module Beta.DOM.HTML.Template
92− , module Beta.DOM.HTML.Textarea
93− , module Beta.DOM.HTML.Tfoot
94− , module Beta.DOM.HTML.Th
95− , module Beta.DOM.HTML.Thead
96− , module Beta.DOM.HTML.Time
97− , module Beta.DOM.HTML.Title
98− , module Beta.DOM.HTML.Tr
99− , module Beta.DOM.HTML.Track
100− , module Beta.DOM.HTML.U
101− , module Beta.DOM.HTML.Ul
102− , module Beta.DOM.HTML.Var
103− , module Beta.DOM.HTML.Video
104− , module Beta.DOM.HTML.Wbr
105− ) where
106−
107−import Beta.DOM.HTML.A
108−import Beta.DOM.HTML.Abbr
109−import Beta.DOM.HTML.Address
110−import Beta.DOM.HTML.Area
111−import Beta.DOM.HTML.Article
112−import Beta.DOM.HTML.Aside
113−import Beta.DOM.HTML.Audio
114−import Beta.DOM.HTML.B
115−import Beta.DOM.HTML.Base
116−import Beta.DOM.HTML.Bdi
117−import Beta.DOM.HTML.Bdo
118−import Beta.DOM.HTML.Blockquote
119−import Beta.DOM.HTML.Body
120−import Beta.DOM.HTML.Br
121−import Beta.DOM.HTML.Button
122−import Beta.DOM.HTML.Canvas
123−import Beta.DOM.HTML.Caption
124−import Beta.DOM.HTML.Cite
125−import Beta.DOM.HTML.Code
126−import Beta.DOM.HTML.Col
127−import Beta.DOM.HTML.ColGroup
128−import Beta.DOM.HTML.Data
129−import Beta.DOM.HTML.DataList
130−import Beta.DOM.HTML.Dd
131−import Beta.DOM.HTML.Del
132−import Beta.DOM.HTML.Details
133−import Beta.DOM.HTML.Dfn
134−import Beta.DOM.HTML.Dialog
135−import Beta.DOM.HTML.Div
136−import Beta.DOM.HTML.Dl
137−import Beta.DOM.HTML.Dt
138−import Beta.DOM.HTML.Em
139−import Beta.DOM.HTML.Embed
140−import Beta.DOM.HTML.FieldSet
141−import Beta.DOM.HTML.Figcaption
142−import Beta.DOM.HTML.Figure
143−import Beta.DOM.HTML.Footer
144−import Beta.DOM.HTML.Form
145−import Beta.DOM.HTML.H
146−import Beta.DOM.HTML.HTML
147−import Beta.DOM.HTML.Head
148−import Beta.DOM.HTML.Header
149−import Beta.DOM.HTML.Hr
150−import Beta.DOM.HTML.I
151−import Beta.DOM.HTML.IFrame
152−import Beta.DOM.HTML.Img
153−import Beta.DOM.HTML.Input
154−import Beta.DOM.HTML.Kbd
155−import Beta.DOM.HTML.Label
156−import Beta.DOM.HTML.Legend
157−import Beta.DOM.HTML.Li
158−import Beta.DOM.HTML.Link
159−import Beta.DOM.HTML.Main
160−import Beta.DOM.HTML.Map
161−import Beta.DOM.HTML.Mark
162−import Beta.DOM.HTML.Meta
163−import Beta.DOM.HTML.Meter
164−import Beta.DOM.HTML.Menu
165−import Beta.DOM.HTML.Nav
166−import Beta.DOM.HTML.NoScript
167−import Beta.DOM.HTML.Object
168−import Beta.DOM.HTML.Ol
169−import Beta.DOM.HTML.Optgroup
170−import Beta.DOM.HTML.Option
171−import Beta.DOM.HTML.Output
172−import Beta.DOM.HTML.P
173−import Beta.DOM.HTML.Param
174−import Beta.DOM.HTML.Picture
175−import Beta.DOM.HTML.Pre
176−import Beta.DOM.HTML.Progress
177−import Beta.DOM.HTML.Q
178−import Beta.DOM.HTML.Rp
179−import Beta.DOM.HTML.Rt
180−import Beta.DOM.HTML.Ruby
181−import Beta.DOM.HTML.S
182−import Beta.DOM.HTML.Samp
183−import Beta.DOM.HTML.Script
184−import Beta.DOM.HTML.Section
185−import Beta.DOM.HTML.Select
186−import Beta.DOM.HTML.Small
187−import Beta.DOM.HTML.Source
188−import Beta.DOM.HTML.Span
189−import Beta.DOM.HTML.Strong
190−import Beta.DOM.HTML.Style
191−import Beta.DOM.HTML.Sub
192−import Beta.DOM.HTML.Summary
193−import Beta.DOM.HTML.Sup
194−import Beta.DOM.HTML.Table
195−import Beta.DOM.HTML.Tbody
196−import Beta.DOM.HTML.Td
197−import Beta.DOM.HTML.Template
198−import Beta.DOM.HTML.Textarea
199−import Beta.DOM.HTML.Tfoot
200−import Beta.DOM.HTML.Th
201−import Beta.DOM.HTML.Thead
202−import Beta.DOM.HTML.Time
203−import Beta.DOM.HTML.Title
204−import Beta.DOM.HTML.Tr
205−import Beta.DOM.HTML.Track
206−import Beta.DOM.HTML.U
207−import Beta.DOM.HTML.Ul
208−import Beta.DOM.HTML.Var
209−import Beta.DOM.HTML.Video
210−import Beta.DOM.HTML.Wbr
src/Beta/DOM/HTML/Form.pursdeleted−27
@@ -1,27 +0,0 @@
1−module Beta.DOM.HTML.Form (form) where
2−
3−import Prelude
4−
5−import Beta.DOM.Attributes (BaseAttributesR)
6−import Beta.DOM.Internal (FFIComponent, createBuiltinElement)
7−import React.Basic.Events (EventHandler)
8−
9−-- | The `<form>` HTML element represents a form, which is a component of an application
10−-- | that is designed for the performing of an action by the user.
11−-- |
12−-- | #### Example:
13−-- | ```purescript
14−-- | form { action: "/path/to/submit", method: "post", onSubmit }
15−-- | [ input { type: "text", name: "username", value: userName, onChange: onChangeUserName }
16−-- | , input { type: "password", name: "password", value: password, onChange: onChangePassword }
17−-- | , input { type: "submit", value: "Login" }
18−-- | ]
19−-- | ```
20−form :: FFIComponent FormAttributes
21−form = createBuiltinElement "form"
22−
23−type FormAttributes = BaseAttributesR
24− ( action :: String
25− , method :: String
26− , onSubmit :: EventHandler
27− )
src/Beta/DOM/HTML/Link.pursdeleted−33
@@ -1,33 +0,0 @@
1−module Beta.DOM.HTML.Link (link) where
2−
3−import Prelude
4−
5−import Beta.DOM.Attributes (BaseAttributes, BaseAttributesR)
6−import Beta.DOM.Internal (FFIComponent_, createBuiltinElement_)
7−
8−-- | The `<link>` tag in HTML, defines the relationship between the current document and an external resource.
9−-- | **link is a void element** — it can't contain any children
10−-- | #### Example:
11−-- | ```purescript
12−-- | link { rel: "stylesheet", href: "/style.css" }
13−-- | link { rel: "icon", type: "image/png", href: "/favicon.png" }
14−-- | ```
15−-- |
16−-- | Common attributes:
17−-- || Attribute | Type | Example | Description |
18−-- ||-----------|----------|----------------|-------------|
19−-- || `href` | `String` | `"/style.css"` | Location of the linked resource. |
20−-- || `rel` | `String` | `"stylesheet"` | The relationship between the current document and the linked resource. |
21−-- || `type` | `String` | `"image/png"` | The media type of the linked resource. |
22−-- || `media` | `String` | `"screen"` | What media/device the linked resource is optimised for. |
23−-- || `as` | `String` | `"fetch"` | This attribute is required when rel="preload" has been set on the <link> element, optional when rel="modulepreload" has been set, and otherwise should not be used. |
24−link :: FFIComponent_ LinkAttributes
25−link = createBuiltinElement_ "link"
26−
27−type LinkAttributes = BaseAttributesR
28− ( href :: String
29− , rel :: String
30− , type :: String
31− , media :: String
32− , "as" :: String
33− )
src/Beta/DOM/HTML/Textarea.pursdeleted−28
@@ -1,28 +0,0 @@
1−module Beta.DOM.HTML.Textarea (textarea) where
2−
3−import Prelude
4−
5−import Beta.DOM.Attributes (BaseAttributesR)
6−import Beta.DOM.Internal (FFIComponent, createBuiltinElement)
7−
8−-- | The `<textarea>` HTML element represents a multi-line plain-text editing control.
9−-- |
10−-- | #### Example:
11−-- |
12−-- | ```purescript
13−-- | textarea { rows: 5, cols: 50, value, onChange }
14−-- | ```
15−--
16−-- | #### Common attributes:
17−-- |
18−-- | | Name | Type | Example | Description |
19−-- | |---------|--------|------------------|-------------|
20−-- | | `cols` | Int | 50 | Specifies the visible width |
21−-- | | `rows` | Int | 5 | Specifies the visible number of lines |
22−textarea :: FFIComponent TextareaAttributes
23−textarea = createBuiltinElement "textarea"
24−
25−type TextareaAttributes = BaseAttributesR
26− ( cols :: Int
27− , rows :: Int
28− )
src/Yoga/React/DOM.pursnew file+13
@@ -0,0 +1,13 @@
1+module Yoga.React.DOM
2+ ( module Yoga.React.DOM.HTML
3+ , module Yoga.React.DOM.Internal
4+ , module Yoga.React.DOM.Attributes
5+ ) where
6+
7+import Yoga.React.DOM.Internal
8+
9+import Yoga.React.DOM.Attributes (BaseAttributes, BaseAttributesF, BaseAttributesR, ReactRef, class IsReactRef, reactRef)
10+import Yoga.React.DOM.HTML
11+
12+foreign import data ReactChildren :: Type
13+
src/Beta/DOM/Attributes.purs → src/Yoga/React/DOM/Attributes.pursrenamed+24−9
@@ -1,18 +1,19 @@
1−module Beta.DOM.Attributes where
1+module Yoga.React.DOM.Attributes where
2
2
3import Prelude
3import Prelude
4
4
5−import Beta.DOM.Attributes.AutoCapitalize (AutoCapitalize)
5+import Yoga.React.DOM.Attributes.AutoCapitalize (AutoCapitalize)
6−import Beta.DOM.Attributes.InputMode (InputMode)
6+import Yoga.React.DOM.Attributes.InputMode (InputMode)
7−import Beta.DOM.Attributes.YesOrNo (YesOrNo)
7+import Yoga.React.DOM.Attributes.YesOrNo (YesOrNo)
8−import Beta.DOM.Event (AnimationEvent, BaseEvent, ClipboardEvent, CompositionEvent, DragEvent, FocusEvent, InputEvent, MouseEvent, PointerEvent, ReactEventObject, TouchEvent, TransitionEvent, WheelEvent)
8+import Yoga.React.DOM.Event (TouchEvent)
9import Data.Nullable (Nullable)
9import Data.Nullable (Nullable)
10−import Effect.Uncurried (EffectFn1)
10+import Effect (Effect)
11+import Effect.Uncurried (EffectFn1, mkEffectFn1)
11import ForgetMeNot (Id)
12import ForgetMeNot (Id)
12import React.Basic (Ref) as React
13import React.Basic (Ref) as React
13import Type.Row (type (+))
14import Type.Row (type (+))
14−import Web.DOM.Internal.Types (Node)
15+import Unsafe.Coerce (unsafeCoerce)
15−import Beta.DOM.Internal (CSS)
16+import Yoga.React.DOM.Internal (CSS)
16import React.Basic.Events (EventHandler)
17import React.Basic.Events (EventHandler)
17
18
18--type BaseAttributes = BaseAttributesR ()
19--type BaseAttributes = BaseAttributesR ()
@@ -39,7 +40,7 @@ type ReactAttributesF :: forall k. (Type -> k) -> Row k -> Row k
39type ReactAttributesF f r =
40type ReactAttributesF f r =
40 ( key :: f String
41 ( key :: f String
41 , dangerouslySetInnerHTML :: f { __html :: String }
42 , dangerouslySetInnerHTML :: f { __html :: String }
42− , ref :: f (React.Ref (Nullable Node))
43+ , ref :: f ReactRef
43 , suppressContentEditableWarning :: f Boolean
44 , suppressContentEditableWarning :: f Boolean
44 , suppressHydrationWarning :: f Boolean
45 , suppressHydrationWarning :: f Boolean
45 , style :: f CSS
46 , style :: f CSS
@@ -312,3 +313,17 @@ type ARIA_AttributesF f r =
312 , "aria-valuetext" :: f String
313 , "aria-valuetext" :: f String
313 | r
314 | r
314 )
315 )
316+
317+foreign import data ReactRef :: Type
318+
319+class IsReactRef a where
320+ reactRef :: a -> ReactRef
321+
322+instance IsReactRef (React.Ref a) where
323+ reactRef = unsafeCoerce
324+
325+else instance IsReactRef (Nullable a -> Effect Unit) where
326+ reactRef f = unsafeCoerce (mkEffectFn1 f)
327+
328+else instance IsReactRef (a -> Effect (Effect Unit)) where
329+ reactRef f = unsafeCoerce (mkEffectFn1 f)
src/Beta/DOM/Attributes/AutoCapitalize.purs → src/Yoga/React/DOM/Attributes/AutoCapitalize.pursrenamed+1−1
@@ -1,4 +1,4 @@
1−module Beta.DOM.Attributes.AutoCapitalize where
1+module Yoga.React.DOM.Attributes.AutoCapitalize where
2
2
3import Prelude
3import Prelude
4
4
src/Beta/DOM/Attributes/Dir.purs → src/Yoga/React/DOM/Attributes/Dir.pursrenamed+1−1
@@ -1,4 +1,4 @@
1−module Beta.DOM.Attributes.Dir where
1+module Yoga.React.DOM.Attributes.Dir where
2
2
3import Prelude
3import Prelude
4
4
src/Beta/DOM/Attributes/InputMode.purs → src/Yoga/React/DOM/Attributes/InputMode.pursrenamed+1−1
@@ -1,4 +1,4 @@
1−module Beta.DOM.Attributes.InputMode where
1+module Yoga.React.DOM.Attributes.InputMode where
2
2
3import Prelude
3import Prelude
4
4
src/Beta/DOM/Attributes/Target.purs → src/Yoga/React/DOM/Attributes/Target.pursrenamed+1−1
@@ -1,4 +1,4 @@
1−module Beta.DOM.Attributes.Target where
1+module Yoga.React.DOM.Attributes.Target where
2
2
3import Prelude
3import Prelude
4
4
src/Beta/DOM/Attributes/YesOrNo.purs → src/Yoga/React/DOM/Attributes/YesOrNo.pursrenamed+1−1
@@ -1,4 +1,4 @@
1−module Beta.DOM.Attributes.YesOrNo where
1+module Yoga.React.DOM.Attributes.YesOrNo where
2
2
3import Prelude
3import Prelude
4
4
src/Beta/DOM/Client.js → src/Yoga/React/DOM/Client.jsrenamed

The content is the same.

src/Beta/DOM/Client.purs → src/Yoga/React/DOM/Client.pursrenamed+1−1
@@ -1,4 +1,4 @@
1−module Beta.DOM.Client where
1+module Yoga.React.DOM.Client where
2
2
3import Prelude
3import Prelude
4import React.Basic (JSX)
4import React.Basic (JSX)
src/Yoga/React/DOM/Event.jsnew file+3
@@ -0,0 +1,3 @@
1+export function innerHTML(target) {
2+ return target.innerHTML;
3+}
src/Beta/DOM/Event.purs → src/Yoga/React/DOM/Event.pursrenamed+5−1
@@ -1,4 +1,6 @@
1−module Beta.DOM.Event where
1+module Yoga.React.DOM.Event
2+ ( module Yoga.React.DOM.Event
3+ ) where
2
4
3import Prelude
5import Prelude
4
6
@@ -11,6 +13,8 @@ import Web.HTML.Event.DataTransfer (DataTransfer)
11import Web.TouchEvent.TouchList (TouchList)
13import Web.TouchEvent.TouchList (TouchList)
12import Web.TouchEvent.Touch (Touch)
14import Web.TouchEvent.Touch (Touch)
13
15
16+foreign import innerHTML :: EventTarget -> String
17+
14type ReactEventObject more =
18type ReactEventObject more =
15 ( bubbles :: Boolean
19 ( bubbles :: Boolean
16 , cancelable :: Boolean
20 , cancelable :: Boolean
src/Yoga/React/DOM/HTML.pursnew file+209
@@ -0,0 +1,209 @@
1+module Yoga.React.DOM.HTML
2+ ( module Yoga.React.DOM.HTML.A
3+ , module Yoga.React.DOM.HTML.Abbr
4+ , module Yoga.React.DOM.HTML.Address
5+ , module Yoga.React.DOM.HTML.Area
6+ , module Yoga.React.DOM.HTML.Article
7+ , module Yoga.React.DOM.HTML.Aside
8+ , module Yoga.React.DOM.HTML.Audio
9+ , module Yoga.React.DOM.HTML.B
10+ , module Yoga.React.DOM.HTML.Base
11+ , module Yoga.React.DOM.HTML.Bdi
12+ , module Yoga.React.DOM.HTML.Bdo
13+ , module Yoga.React.DOM.HTML.Blockquote
14+ , module Yoga.React.DOM.HTML.Body
15+ , module Yoga.React.DOM.HTML.Br
16+ , module Yoga.React.DOM.HTML.Button
17+ , module Yoga.React.DOM.HTML.Canvas
18+ , module Yoga.React.DOM.HTML.Caption
19+ , module Yoga.React.DOM.HTML.Cite
20+ , module Yoga.React.DOM.HTML.Code
21+ , module Yoga.React.DOM.HTML.Col
22+ , module Yoga.React.DOM.HTML.ColGroup
23+ , module Yoga.React.DOM.HTML.Data
24+ , module Yoga.React.DOM.HTML.DataList
25+ , module Yoga.React.DOM.HTML.Dd
26+ , module Yoga.React.DOM.HTML.Del
27+ , module Yoga.React.DOM.HTML.Details
28+ , module Yoga.React.DOM.HTML.Dfn
29+ , module Yoga.React.DOM.HTML.Dialog
30+ , module Yoga.React.DOM.HTML.Div
31+ , module Yoga.React.DOM.HTML.Dl
32+ , module Yoga.React.DOM.HTML.Dt
33+ , module Yoga.React.DOM.HTML.Em
34+ , module Yoga.React.DOM.HTML.Embed
35+ , module Yoga.React.DOM.HTML.FieldSet
36+ , module Yoga.React.DOM.HTML.Figcaption
37+ , module Yoga.React.DOM.HTML.Figure
38+ , module Yoga.React.DOM.HTML.Footer
39+ , module Yoga.React.DOM.HTML.Form
40+ , module Yoga.React.DOM.HTML.H
41+ , module Yoga.React.DOM.HTML.HTML
42+ , module Yoga.React.DOM.HTML.Head
43+ , module Yoga.React.DOM.HTML.Header
44+ , module Yoga.React.DOM.HTML.Hr
45+ , module Yoga.React.DOM.HTML.I
46+ , module Yoga.React.DOM.HTML.IFrame
47+ , module Yoga.React.DOM.HTML.Img
48+ , module Yoga.React.DOM.HTML.Input
49+ , module Yoga.React.DOM.HTML.Kbd
50+ , module Yoga.React.DOM.HTML.Label
51+ , module Yoga.React.DOM.HTML.Legend
52+ , module Yoga.React.DOM.HTML.Li
53+ , module Yoga.React.DOM.HTML.Link
54+ , module Yoga.React.DOM.HTML.Main
55+ , module Yoga.React.DOM.HTML.Map
56+ , module Yoga.React.DOM.HTML.Mark
57+ , module Yoga.React.DOM.HTML.Meta
58+ , module Yoga.React.DOM.HTML.Meter
59+ , module Yoga.React.DOM.HTML.Nav
60+ , module Yoga.React.DOM.HTML.NoScript
61+ , module Yoga.React.DOM.HTML.Object
62+ , module Yoga.React.DOM.HTML.Ol
63+ , module Yoga.React.DOM.HTML.Optgroup
64+ , module Yoga.React.DOM.HTML.Option
65+ , module Yoga.React.DOM.HTML.Output
66+ , module Yoga.React.DOM.HTML.P
67+ , module Yoga.React.DOM.HTML.Param
68+ , module Yoga.React.DOM.HTML.Picture
69+ , module Yoga.React.DOM.HTML.Pre
70+ , module Yoga.React.DOM.HTML.Progress
71+ , module Yoga.React.DOM.HTML.Q
72+ , module Yoga.React.DOM.HTML.Rp
73+ , module Yoga.React.DOM.HTML.Rt
74+ , module Yoga.React.DOM.HTML.Ruby
75+ , module Yoga.React.DOM.HTML.S
76+ , module Yoga.React.DOM.HTML.Samp
77+ , module Yoga.React.DOM.HTML.Script
78+ , module Yoga.React.DOM.HTML.Section
79+ , module Yoga.React.DOM.HTML.Select
80+ , module Yoga.React.DOM.HTML.Small
81+ , module Yoga.React.DOM.HTML.Source
82+ , module Yoga.React.DOM.HTML.Span
83+ , module Yoga.React.DOM.HTML.Strong
84+ , module Yoga.React.DOM.HTML.Style
85+ , module Yoga.React.DOM.HTML.Sub
86+ , module Yoga.React.DOM.HTML.Summary
87+ , module Yoga.React.DOM.HTML.Sup
88+ , module Yoga.React.DOM.HTML.Table
89+ , module Yoga.React.DOM.HTML.Tbody
90+ , module Yoga.React.DOM.HTML.Td
91+ , module Yoga.React.DOM.HTML.Template
92+ , module Yoga.React.DOM.HTML.Textarea
93+ , module Yoga.React.DOM.HTML.Tfoot
94+ , module Yoga.React.DOM.HTML.Th
95+ , module Yoga.React.DOM.HTML.Thead
96+ , module Yoga.React.DOM.HTML.Time
97+ , module Yoga.React.DOM.HTML.Title
98+ , module Yoga.React.DOM.HTML.Tr
99+ , module Yoga.React.DOM.HTML.Track
100+ , module Yoga.React.DOM.HTML.U
101+ , module Yoga.React.DOM.HTML.Ul
102+ , module Yoga.React.DOM.HTML.Var
103+ , module Yoga.React.DOM.HTML.Video
104+ , module Yoga.React.DOM.HTML.Wbr
105+ ) where
106+
107+import Yoga.React.DOM.HTML.A
108+import Yoga.React.DOM.HTML.Abbr
109+import Yoga.React.DOM.HTML.Address
110+import Yoga.React.DOM.HTML.Area
111+import Yoga.React.DOM.HTML.Article
112+import Yoga.React.DOM.HTML.Aside
113+import Yoga.React.DOM.HTML.Audio
114+import Yoga.React.DOM.HTML.B
115+import Yoga.React.DOM.HTML.Base
116+import Yoga.React.DOM.HTML.Bdi
117+import Yoga.React.DOM.HTML.Bdo
118+import Yoga.React.DOM.HTML.Blockquote
119+import Yoga.React.DOM.HTML.Body
120+import Yoga.React.DOM.HTML.Br
121+import Yoga.React.DOM.HTML.Button
122+import Yoga.React.DOM.HTML.Canvas
123+import Yoga.React.DOM.HTML.Caption
124+import Yoga.React.DOM.HTML.Cite
125+import Yoga.React.DOM.HTML.Code
126+import Yoga.React.DOM.HTML.Col
127+import Yoga.React.DOM.HTML.ColGroup
128+import Yoga.React.DOM.HTML.Data
129+import Yoga.React.DOM.HTML.DataList
130+import Yoga.React.DOM.HTML.Dd
131+import Yoga.React.DOM.HTML.Del
132+import Yoga.React.DOM.HTML.Details
133+import Yoga.React.DOM.HTML.Dfn
134+import Yoga.React.DOM.HTML.Dialog
135+import Yoga.React.DOM.HTML.Div
136+import Yoga.React.DOM.HTML.Dl
137+import Yoga.React.DOM.HTML.Dt
138+import Yoga.React.DOM.HTML.Em
139+import Yoga.React.DOM.HTML.Embed
140+import Yoga.React.DOM.HTML.FieldSet
141+import Yoga.React.DOM.HTML.Figcaption
142+import Yoga.React.DOM.HTML.Figure
143+import Yoga.React.DOM.HTML.Footer
144+import Yoga.React.DOM.HTML.Form
145+import Yoga.React.DOM.HTML.H
146+import Yoga.React.DOM.HTML.HTML
147+import Yoga.React.DOM.HTML.Head
148+import Yoga.React.DOM.HTML.Header
149+import Yoga.React.DOM.HTML.Hr
150+import Yoga.React.DOM.HTML.I
151+import Yoga.React.DOM.HTML.IFrame
152+import Yoga.React.DOM.HTML.Img
153+import Yoga.React.DOM.HTML.Input
154+import Yoga.React.DOM.HTML.Kbd
155+import Yoga.React.DOM.HTML.Label
156+import Yoga.React.DOM.HTML.Legend
157+import Yoga.React.DOM.HTML.Li
158+import Yoga.React.DOM.HTML.Link
159+import Yoga.React.DOM.HTML.Main
160+import Yoga.React.DOM.HTML.Map
161+import Yoga.React.DOM.HTML.Mark
162+import Yoga.React.DOM.HTML.Meta
163+import Yoga.React.DOM.HTML.Meter
164+import Yoga.React.DOM.HTML.Nav
165+import Yoga.React.DOM.HTML.NoScript
166+import Yoga.React.DOM.HTML.Object
167+import Yoga.React.DOM.HTML.Ol
168+import Yoga.React.DOM.HTML.Optgroup
169+import Yoga.React.DOM.HTML.Option
170+import Yoga.React.DOM.HTML.Output
171+import Yoga.React.DOM.HTML.P
172+import Yoga.React.DOM.HTML.Param
173+import Yoga.React.DOM.HTML.Picture
174+import Yoga.React.DOM.HTML.Pre
175+import Yoga.React.DOM.HTML.Progress
176+import Yoga.React.DOM.HTML.Q
177+import Yoga.React.DOM.HTML.Rp
178+import Yoga.React.DOM.HTML.Rt
179+import Yoga.React.DOM.HTML.Ruby
180+import Yoga.React.DOM.HTML.S
181+import Yoga.React.DOM.HTML.Samp
182+import Yoga.React.DOM.HTML.Script
183+import Yoga.React.DOM.HTML.Section
184+import Yoga.React.DOM.HTML.Select
185+import Yoga.React.DOM.HTML.Small
186+import Yoga.React.DOM.HTML.Source
187+import Yoga.React.DOM.HTML.Span
188+import Yoga.React.DOM.HTML.Strong
189+import Yoga.React.DOM.HTML.Style
190+import Yoga.React.DOM.HTML.Sub
191+import Yoga.React.DOM.HTML.Summary
192+import Yoga.React.DOM.HTML.Sup
193+import Yoga.React.DOM.HTML.Table
194+import Yoga.React.DOM.HTML.Tbody
195+import Yoga.React.DOM.HTML.Td
196+import Yoga.React.DOM.HTML.Template
197+import Yoga.React.DOM.HTML.Textarea
198+import Yoga.React.DOM.HTML.Tfoot
199+import Yoga.React.DOM.HTML.Th
200+import Yoga.React.DOM.HTML.Thead
201+import Yoga.React.DOM.HTML.Time
202+import Yoga.React.DOM.HTML.Title
203+import Yoga.React.DOM.HTML.Tr
204+import Yoga.React.DOM.HTML.Track
205+import Yoga.React.DOM.HTML.U
206+import Yoga.React.DOM.HTML.Ul
207+import Yoga.React.DOM.HTML.Var
208+import Yoga.React.DOM.HTML.Video
209+import Yoga.React.DOM.HTML.Wbr
src/Beta/DOM/HTML/A.purs → src/Yoga/React/DOM/HTML/A.pursrenamed+4−5
@@ -1,11 +1,10 @@
1−module Beta.DOM.HTML.A (a, a_) where
1+module Yoga.React.DOM.HTML.A (a, a_) where
2
2
3−import Prelude
4
3
5−import Beta.DOM.Attributes (BaseAttributesF)
4+import Yoga.React.DOM.Attributes (BaseAttributesF)
6−import Beta.DOM.Internal (FFIComponent, FFIComponent_, createBuiltinElement, createBuiltinElement_)
5+import Yoga.React.DOM.Internal (FFIComponent, FFIComponent_, createBuiltinElement, createBuiltinElement_)
7import ForgetMeNot (Id)
6import ForgetMeNot (Id)
8−import Beta.DOM.Attributes.Target (Target)
7+import Yoga.React.DOM.Attributes.Target (Target)
9
8
10type AnchorAttributes = AnchorAttributesF Id ()
9type AnchorAttributes = AnchorAttributesF Id ()
11
10
src/Beta/DOM/HTML/Abbr.purs → src/Yoga/React/DOM/HTML/Abbr.pursrenamed+3−4
@@ -1,8 +1,7 @@
1−module Beta.DOM.HTML.Abbr (abbr) where
1+module Yoga.React.DOM.HTML.Abbr (abbr) where
2
2
3−import Prelude
4−import Beta.DOM.Attributes (BaseAttributes)
3+import Yoga.React.DOM.Attributes (BaseAttributes)
5−import Beta.DOM.Internal (FFIComponent, FFIComponent_, createBuiltinElement, createBuiltinElement_)
4+import Yoga.React.DOM.Internal (FFIComponent, createBuiltinElement)
6
5
7-- | The `<abbr>` tag in HTML, used for specifying abbreviations.
6-- | The `<abbr>` tag in HTML, used for specifying abbreviations.
8-- |
7-- |
src/Beta/DOM/HTML/Address.purs → src/Yoga/React/DOM/HTML/Address.pursrenamed+3−4
@@ -1,9 +1,8 @@
1−module Beta.DOM.HTML.Address (address) where
1+module Yoga.React.DOM.HTML.Address (address) where
2
2
3−import Prelude
4
3
5−import Beta.DOM.Attributes (BaseAttributes)
4+import Yoga.React.DOM.Attributes (BaseAttributes)
6−import Beta.DOM.Internal (FFIComponent, createBuiltinElement)
5+import Yoga.React.DOM.Internal (FFIComponent, createBuiltinElement)
7
6
8-- | The `<address>` tag in HTML, represents the contact information for its nearest `<article>`
7-- | The `<address>` tag in HTML, represents the contact information for its nearest `<article>`
9-- | or `<body>` ancestor. If that is the `<body>`, then it applies to the whole document.
8-- | or `<body>` ancestor. If that is the `<body>`, then it applies to the whole document.
src/Beta/DOM/HTML/Area.purs → src/Yoga/React/DOM/HTML/Area.pursrenamed+3−4
@@ -1,9 +1,8 @@
1−module Beta.DOM.HTML.Area (area) where
1+module Yoga.React.DOM.HTML.Area (area) where
2
2
3−import Prelude
4
3
5−import Beta.DOM.Attributes (BaseAttributes)
4+import Yoga.React.DOM.Attributes (BaseAttributes)
6−import Beta.DOM.Internal (FFIComponent_, createBuiltinElement_)
5+import Yoga.React.DOM.Internal (FFIComponent_, createBuiltinElement_)
7
6
8-- | The `<area>` element in HTML, defines a hot-spot region on an image, and optionally associates it with a
7-- | The `<area>` element in HTML, defines a hot-spot region on an image, and optionally associates it with a
9-- | hypertext link. This element is used only within a `<map>` element.
8-- | hypertext link. This element is used only within a `<map>` element.
src/Beta/DOM/HTML/Article.purs → src/Yoga/React/DOM/HTML/Article.pursrenamed+3−4
@@ -1,9 +1,8 @@
1−module Beta.DOM.HTML.Article (article) where
1+module Yoga.React.DOM.HTML.Article (article) where
2
2
3−import Prelude
4
3
5−import Beta.DOM.Attributes (BaseAttributes)
4+import Yoga.React.DOM.Attributes (BaseAttributes)
6−import Beta.DOM.Internal (FFIComponent, createBuiltinElement)
5+import Yoga.React.DOM.Internal (FFIComponent, createBuiltinElement)
7
6
8-- | The `<article>` element in HTML, represents a self-contained composition in a document,
7-- | The `<article>` element in HTML, represents a self-contained composition in a document,
9-- | page, application, or site, which is intended to be independently distributable or
8-- | page, application, or site, which is intended to be independently distributable or
src/Beta/DOM/HTML/Aside.purs → src/Yoga/React/DOM/HTML/Aside.pursrenamed+3−4
@@ -1,9 +1,8 @@
1−module Beta.DOM.HTML.Aside (aside) where
1+module Yoga.React.DOM.HTML.Aside (aside) where
2
2
3−import Prelude
4
3
5−import Beta.DOM.Attributes (BaseAttributes)
4+import Yoga.React.DOM.Attributes (BaseAttributes)
6−import Beta.DOM.Internal (FFIComponent, createBuiltinElement)
5+import Yoga.React.DOM.Internal (FFIComponent, createBuiltinElement)
7
6
8-- | The `<aside>` element in HTML, represents a portion of a document whose content
7-- | The `<aside>` element in HTML, represents a portion of a document whose content
9-- | is only indirectly related to the document's main content. Asides are often
8-- | is only indirectly related to the document's main content. Asides are often
src/Beta/DOM/HTML/Audio.purs → src/Yoga/React/DOM/HTML/Audio.pursrenamed+3−4
@@ -1,9 +1,8 @@
1−module Beta.DOM.HTML.Audio (audio) where
1+module Yoga.React.DOM.HTML.Audio (audio) where
2
2
3−import Prelude
4
3
5−import Beta.DOM.Attributes (BaseAttributes, BaseAttributesR)
4+import Yoga.React.DOM.Attributes (BaseAttributesR)
6−import Beta.DOM.Internal (FFIComponent, createBuiltinElement)
5+import Yoga.React.DOM.Internal (FFIComponent, createBuiltinElement)
7
6
8type AudioAttributes = BaseAttributesR
7type AudioAttributes = BaseAttributesR
9 ( src :: String
8 ( src :: String
src/Beta/DOM/HTML/B.purs → src/Yoga/React/DOM/HTML/B.pursrenamed+3−4
@@ -1,9 +1,8 @@
1−module Beta.DOM.HTML.B (b) where
1+module Yoga.React.DOM.HTML.B (b) where
2
2
3−import Prelude
4
3
5−import Beta.DOM.Attributes (BaseAttributes)
4+import Yoga.React.DOM.Attributes (BaseAttributes)
6−import Beta.DOM.Internal (FFIComponent, createBuiltinElement)
5+import Yoga.React.DOM.Internal (FFIComponent, createBuiltinElement)
7
6
8-- | The `<b>` element in HTML, represents text which is stylistically different from normal text
7-- | The `<b>` element in HTML, represents text which is stylistically different from normal text
9-- | without any special importance. This could be a keyword or product name in a text. It's essentially
8-- | without any special importance. This could be a keyword or product name in a text. It's essentially
src/Beta/DOM/HTML/Base.purs → src/Yoga/React/DOM/HTML/Base.pursrenamed+3−4
@@ -1,9 +1,8 @@
1−module Beta.DOM.HTML.Base (base) where
1+module Yoga.React.DOM.HTML.Base (base) where
2
2
3−import Prelude
4
3
5−import Beta.DOM.Attributes (BaseAttributes)
4+import Yoga.React.DOM.Attributes (BaseAttributes)
6−import Beta.DOM.Internal (FFIComponent_, createBuiltinElement_)
5+import Yoga.React.DOM.Internal (FFIComponent_, createBuiltinElement_)
7
6
8-- | The `<base>` element in HTML, which must be empty, specifies the base URL and or target for
7-- | The `<base>` element in HTML, which must be empty, specifies the base URL and or target for
9-- | all relative URLs in a document. There can be only one <base> element in a document,
8-- | all relative URLs in a document. There can be only one <base> element in a document,
src/Beta/DOM/HTML/Bdi.purs → src/Yoga/React/DOM/HTML/Bdi.pursrenamed+3−4
@@ -1,9 +1,8 @@
1−module Beta.DOM.HTML.Bdi (bdi) where
1+module Yoga.React.DOM.HTML.Bdi (bdi) where
2
2
3−import Prelude
4
3
5−import Beta.DOM.Attributes (BaseAttributes)
4+import Yoga.React.DOM.Attributes (BaseAttributes)
6−import Beta.DOM.Internal (FFIComponent, createBuiltinElement)
5+import Yoga.React.DOM.Internal (FFIComponent, createBuiltinElement)
7
6
8-- | The `<bdi>` (Bi-directional Isolation) element in HTML, isolates a part of text
7-- | The `<bdi>` (Bi-directional Isolation) element in HTML, isolates a part of text
9-- | that might be formatted in a different direction from other text outside it.
8-- | that might be formatted in a different direction from other text outside it.
src/Beta/DOM/HTML/Bdo.purs → src/Yoga/React/DOM/HTML/Bdo.pursrenamed+4−5
@@ -1,10 +1,9 @@
1−module Beta.DOM.HTML.Bdo (bdo) where
1+module Yoga.React.DOM.HTML.Bdo (bdo) where
2
2
3−import Prelude
4
3
5−import Beta.DOM.Attributes (BaseAttributes, BaseAttributesR)
4+import Yoga.React.DOM.Attributes (BaseAttributesR)
6−import Beta.DOM.Internal (FFIComponent, createBuiltinElement)
5+import Yoga.React.DOM.Internal (FFIComponent, createBuiltinElement)
7−import Beta.DOM.Attributes.Dir (Dir)
6+import Yoga.React.DOM.Attributes.Dir (Dir)
8
7
9type BdoAttributes = BaseAttributesR
8type BdoAttributes = BaseAttributesR
10 (dir :: Dir)
9 (dir :: Dir)
src/Beta/DOM/HTML/Blockquote.purs → src/Yoga/React/DOM/HTML/Blockquote.pursrenamed+3−4
@@ -1,9 +1,8 @@
1−module Beta.DOM.HTML.Blockquote (blockquote) where
1+module Yoga.React.DOM.HTML.Blockquote (blockquote) where
2
2
3−import Prelude
4
3
5−import Beta.DOM.Attributes (BaseAttributes, BaseAttributesR)
4+import Yoga.React.DOM.Attributes (BaseAttributesR)
6−import Beta.DOM.Internal (FFIComponent, createBuiltinElement)
5+import Yoga.React.DOM.Internal (FFIComponent, createBuiltinElement)
7
6
8type BlockquoteAttributes = BaseAttributesR
7type BlockquoteAttributes = BaseAttributesR
9 ( cite :: String
8 ( cite :: String
src/Beta/DOM/HTML/Body.purs → src/Yoga/React/DOM/HTML/Body.pursrenamed+3−4
@@ -1,9 +1,8 @@
1−module Beta.DOM.HTML.Body (body) where
1+module Yoga.React.DOM.HTML.Body (body) where
2
2
3−import Prelude
4
3
5−import Beta.DOM.Attributes (BaseAttributes)
4+import Yoga.React.DOM.Attributes (BaseAttributes)
6−import Beta.DOM.Internal (FFIComponent, FFIComponent_, createBuiltinElement, createBuiltinElement_)
5+import Yoga.React.DOM.Internal (FFIComponent, createBuiltinElement)
7
6
8-- | The `<body>` element in HTML, represents the content of an HTML document.
7-- | The `<body>` element in HTML, represents the content of an HTML document.
9-- | There can be only one <body> element in a document.
8-- | There can be only one <body> element in a document.
src/Beta/DOM/HTML/Br.purs → src/Yoga/React/DOM/HTML/Br.pursrenamed+3−4
@@ -1,9 +1,8 @@
1−module Beta.DOM.HTML.Br (br) where
1+module Yoga.React.DOM.HTML.Br (br) where
2
2
3−import Prelude
4
3
5−import Beta.DOM.Attributes (BaseAttributes)
4+import Yoga.React.DOM.Attributes (BaseAttributes)
6−import Beta.DOM.Internal (FFIComponent_, createBuiltinElement_)
5+import Yoga.React.DOM.Internal (FFIComponent_, createBuiltinElement_)
7
6
8-- | The `<br>` element in HTML, produces a line break in text (carriage-return).
7-- | The `<br>` element in HTML, produces a line break in text (carriage-return).
9-- | It is useful for writing a poem or a speech, where the division of lines
8-- | It is useful for writing a poem or a speech, where the division of lines
src/Beta/DOM/HTML/Button.purs → src/Yoga/React/DOM/HTML/Button.pursrenamed+6−5
@@ -1,9 +1,9 @@
1−module Beta.DOM.HTML.Button (button, button_) where
1+module Yoga.React.DOM.HTML.Button (button, button_) where
2
2
3−import Prelude
4
3
5−import Beta.DOM.Attributes (BaseAttributes, BaseAttributesR)
4+import Yoga.React.DOM.Attributes (BaseAttributesR)
5+import Yoga.React.DOM.HTML.Form (FormAction)
6−import Beta.DOM.Internal (FFIComponent, FFIComponent_, createBuiltinElement, createBuiltinElement_)
6+import Yoga.React.DOM.Internal (FFIComponent, FFIComponent_, createBuiltinElement, createBuiltinElement_)
7
7
8-- | The `<button>` tag in HTML, represents a clickable button.
8-- | The `<button>` tag in HTML, represents a clickable button.
9-- |
9-- |
@@ -44,4 +44,5 @@ type ButtonProps = BaseAttributesR
44 , className :: String
44 , className :: String
45 , disabled :: Boolean
45 , disabled :: Boolean
46 , form :: String
46 , form :: String
47+ , formAction :: FormAction
47− )
48+ )
src/Beta/DOM/HTML/Canvas.purs → src/Yoga/React/DOM/HTML/Canvas.pursrenamed+3−4
@@ -1,9 +1,8 @@
1−module Beta.DOM.HTML.Canvas (canvas) where
1+module Yoga.React.DOM.HTML.Canvas (canvas) where
2
2
3−import Prelude
4
3
5−import Beta.DOM.Attributes (BaseAttributes, BaseAttributesR)
4+import Yoga.React.DOM.Attributes (BaseAttributesR)
6−import Beta.DOM.Internal (FFIComponent, createBuiltinElement)
5+import Yoga.React.DOM.Internal (FFIComponent, createBuiltinElement)
7
6
8type CanvasAttributes = BaseAttributesR
7type CanvasAttributes = BaseAttributesR
9 ( width :: Number
8 ( width :: Number
src/Beta/DOM/HTML/Caption.purs → src/Yoga/React/DOM/HTML/Caption.pursrenamed+3−4
@@ -1,9 +1,8 @@
1−module Beta.DOM.HTML.Caption (caption) where
1+module Yoga.React.DOM.HTML.Caption (caption) where
2
2
3−import Prelude
4
3
5−import Beta.DOM.Attributes (BaseAttributes)
4+import Yoga.React.DOM.Attributes (BaseAttributes)
6−import Beta.DOM.Internal (FFIComponent, createBuiltinElement)
5+import Yoga.React.DOM.Internal (FFIComponent, createBuiltinElement)
7
6
8-- | The `<caption>` element in HTML, specifies the caption (or title) of a table.
7-- | The `<caption>` element in HTML, specifies the caption (or title) of a table.
9-- | If it is not included in the HTML, there will be no caption. However, if it is included,
8-- | If it is not included in the HTML, there will be no caption. However, if it is included,
src/Beta/DOM/HTML/Cite.purs → src/Yoga/React/DOM/HTML/Cite.pursrenamed+3−4
@@ -1,9 +1,8 @@
1−module Beta.DOM.HTML.Cite (cite) where
1+module Yoga.React.DOM.HTML.Cite (cite) where
2
2
3−import Prelude
4
3
5−import Beta.DOM.Attributes (BaseAttributes)
4+import Yoga.React.DOM.Attributes (BaseAttributes)
6−import Beta.DOM.Internal (FFIComponent, createBuiltinElement)
5+import Yoga.React.DOM.Internal (FFIComponent, createBuiltinElement)
7
6
8-- | The `<cite>` element in HTML, represents a reference to a creative work.
7-- | The `<cite>` element in HTML, represents a reference to a creative work.
9-- | It must include the title of a work or a URL reference, which may be in an abbreviated form
8-- | It must include the title of a work or a URL reference, which may be in an abbreviated form
src/Beta/DOM/HTML/Code.purs → src/Yoga/React/DOM/HTML/Code.pursrenamed+3−4
@@ -1,9 +1,8 @@
1−module Beta.DOM.HTML.Code (code) where
1+module Yoga.React.DOM.HTML.Code (code) where
2
2
3−import Prelude
4
3
5−import Beta.DOM.Attributes (BaseAttributes)
4+import Yoga.React.DOM.Attributes (BaseAttributes)
6−import Beta.DOM.Internal (FFIComponent, createBuiltinElement)
5+import Yoga.React.DOM.Internal (FFIComponent, createBuiltinElement)
7
6
8-- | The `<code>` element in HTML, is used to display a code snippet in a fixed-width font that
7-- | The `<code>` element in HTML, is used to display a code snippet in a fixed-width font that
9-- | is easy to read. It is a phrase tag and is used to represent a piece of computer code.
8-- | is easy to read. It is a phrase tag and is used to represent a piece of computer code.
src/Beta/DOM/HTML/Col.purs → src/Yoga/React/DOM/HTML/Col.pursrenamed+3−4
@@ -1,9 +1,8 @@
1−module Beta.DOM.HTML.Col (col) where
1+module Yoga.React.DOM.HTML.Col (col) where
2
2
3−import Prelude
4
3
5−import Beta.DOM.Attributes (BaseAttributesR)
4+import Yoga.React.DOM.Attributes (BaseAttributesR)
6−import Beta.DOM.Internal (FFIComponent_, createBuiltinElement_)
5+import Yoga.React.DOM.Internal (FFIComponent_, createBuiltinElement_)
7
6
8-- | The `<col>` element in HTML, provides a way to group columns of data
7-- | The `<col>` element in HTML, provides a way to group columns of data
9-- | together in a table and apply styles to them. It's used inside a `<colgroup>` element.
8-- | together in a table and apply styles to them. It's used inside a `<colgroup>` element.
src/Beta/DOM/HTML/ColGroup.purs → src/Yoga/React/DOM/HTML/ColGroup.pursrenamed+3−4
@@ -1,9 +1,8 @@
1−module Beta.DOM.HTML.ColGroup (colgroup) where
1+module Yoga.React.DOM.HTML.ColGroup (colgroup) where
2
2
3−import Prelude
4
3
5−import Beta.DOM.Attributes (BaseAttributesR)
4+import Yoga.React.DOM.Attributes (BaseAttributesR)
6−import Beta.DOM.Internal (FFIComponent, createBuiltinElement)
5+import Yoga.React.DOM.Internal (FFIComponent, createBuiltinElement)
7
6
8-- | The `<colgroup>` element in HTML, specifies a group of one or more columns
7-- | The `<colgroup>` element in HTML, specifies a group of one or more columns
9-- | in a table for formatting. The `<colgroup>` tag is useful for applying styles
8-- | in a table for formatting. The `<colgroup>` tag is useful for applying styles
src/Beta/DOM/HTML/Data.purs → src/Yoga/React/DOM/HTML/Data.pursrenamed+3−4
@@ -1,9 +1,8 @@
1−module Beta.DOM.HTML.Data (dataElem) where
1+module Yoga.React.DOM.HTML.Data (dataElem) where
2
2
3−import Prelude
4
3
5−import Beta.DOM.Attributes (BaseAttributesR)
4+import Yoga.React.DOM.Attributes (BaseAttributesR)
6−import Beta.DOM.Internal (FFIComponent, createBuiltinElement)
5+import Yoga.React.DOM.Internal (FFIComponent, createBuiltinElement)
7
6
8-- | The `<data>` element in HTML, links a given content with a machine-readable translation.
7-- | The `<data>` element in HTML, links a given content with a machine-readable translation.
9-- | It lets you associate a data value with content that, while being machine-readable,
8-- | It lets you associate a data value with content that, while being machine-readable,
src/Beta/DOM/HTML/DataList.purs → src/Yoga/React/DOM/HTML/DataList.pursrenamed+3−4
@@ -1,9 +1,8 @@
1−module Beta.DOM.HTML.DataList (datalist) where
1+module Yoga.React.DOM.HTML.DataList (datalist) where
2
2
3−import Prelude
4
3
5−import Beta.DOM.Attributes (BaseAttributes)
4+import Yoga.React.DOM.Attributes (BaseAttributes)
6−import Beta.DOM.Internal (FFIComponent, createBuiltinElement)
5+import Yoga.React.DOM.Internal (FFIComponent, createBuiltinElement)
7
6
8-- | The `<datalist>` element in HTML, provides a "autocomplete" feature on input elements.
7-- | The `<datalist>` element in HTML, provides a "autocomplete" feature on input elements.
9-- | Users will see a drop-down list of pre-defined options as they input data.
8-- | Users will see a drop-down list of pre-defined options as they input data.
src/Beta/DOM/HTML/Dd.purs → src/Yoga/React/DOM/HTML/Dd.pursrenamed+3−4
@@ -1,9 +1,8 @@
1−module Beta.DOM.HTML.Dd (dd) where
1+module Yoga.React.DOM.HTML.Dd (dd) where
2
2
3−import Prelude
4
3
5−import Beta.DOM.Attributes (BaseAttributes)
4+import Yoga.React.DOM.Attributes (BaseAttributes)
6−import Beta.DOM.Internal (FFIComponent, createBuiltinElement)
5+import Yoga.React.DOM.Internal (FFIComponent, createBuiltinElement)
7
6
8-- | The `<dd>` HTML element indicates the description of a term in a description list (`<dl>`),
7-- | The `<dd>` HTML element indicates the description of a term in a description list (`<dl>`),
9-- | enclosed by `<dt>` (term) and `<dd>` (description). Each pair of `<dt>` and `<dd>` shares a
8-- | enclosed by `<dt>` (term) and `<dd>` (description). Each pair of `<dt>` and `<dd>` shares a
src/Beta/DOM/HTML/Del.purs → src/Yoga/React/DOM/HTML/Del.pursrenamed+3−4
@@ -1,9 +1,8 @@
1−module Beta.DOM.HTML.Del (del) where
1+module Yoga.React.DOM.HTML.Del (del) where
2
2
3−import Prelude
4
3
5−import Beta.DOM.Attributes (BaseAttributes)
4+import Yoga.React.DOM.Attributes (BaseAttributes)
6−import Beta.DOM.Internal (FFIComponent, createBuiltinElement)
5+import Yoga.React.DOM.Internal (FFIComponent, createBuiltinElement)
7
6
8-- | The `<del>` HTML element represents a range of text that has been deleted from a document.
7-- | The `<del>` HTML element represents a range of text that has been deleted from a document.
9-- | This can be used when rendering "track changes" or source code diff information, for example.
8-- | This can be used when rendering "track changes" or source code diff information, for example.
src/Beta/DOM/HTML/Details.purs → src/Yoga/React/DOM/HTML/Details.pursrenamed+3−4
@@ -1,9 +1,8 @@
1−module Beta.DOM.HTML.Details (details) where
1+module Yoga.React.DOM.HTML.Details (details) where
2
2
3−import Prelude
4
3
5−import Beta.DOM.Attributes (BaseAttributesR)
4+import Yoga.React.DOM.Attributes (BaseAttributesR)
6−import Beta.DOM.Internal (FFIComponent, createBuiltinElement)
5+import Yoga.React.DOM.Internal (FFIComponent, createBuiltinElement)
7
6
8-- | The `<details>` HTML element creates a disclosure widget in which information is visible only when the widget is toggled into an "open" state.
7-- | The `<details>` HTML element creates a disclosure widget in which information is visible only when the widget is toggled into an "open" state.
9-- | A summary or label can be provided using the `<summary>` element.
8-- | A summary or label can be provided using the `<summary>` element.
src/Beta/DOM/HTML/Dfn.purs → src/Yoga/React/DOM/HTML/Dfn.pursrenamed+3−4
@@ -1,9 +1,8 @@
1−module Beta.DOM.HTML.Dfn (dfn) where
1+module Yoga.React.DOM.HTML.Dfn (dfn) where
2
2
3−import Prelude
4
3
5−import Beta.DOM.Attributes (BaseAttributes)
4+import Yoga.React.DOM.Attributes (BaseAttributes)
6−import Beta.DOM.Internal (FFIComponent, createBuiltinElement)
5+import Yoga.React.DOM.Internal (FFIComponent, createBuiltinElement)
7
6
8-- | The `<dfn>` HTML element represents the defining instance of a term in a document.
7-- | The `<dfn>` HTML element represents the defining instance of a term in a document.
9-- |
8-- |
src/Beta/DOM/HTML/Dialog.purs → src/Yoga/React/DOM/HTML/Dialog.pursrenamed+3−4
@@ -1,9 +1,8 @@
1−module Beta.DOM.HTML.Dialog (dialog) where
1+module Yoga.React.DOM.HTML.Dialog (dialog) where
2
2
3−import Prelude
4
3
5−import Beta.DOM.Attributes (BaseAttributesR)
4+import Yoga.React.DOM.Attributes (BaseAttributesR)
6−import Beta.DOM.Internal (FFIComponent, createBuiltinElement)
5+import Yoga.React.DOM.Internal (FFIComponent, createBuiltinElement)
7
6
8-- | The `<dialog>` HTML element represents a dialog box or other interactive
7-- | The `<dialog>` HTML element represents a dialog box or other interactive
9-- | component, such as an inspector or window.
8-- | component, such as an inspector or window.
src/Beta/DOM/HTML/Div.purs → src/Yoga/React/DOM/HTML/Div.pursrenamed+3−4
@@ -1,9 +1,8 @@
1−module Beta.DOM.HTML.Div (div, div_) where
1+module Yoga.React.DOM.HTML.Div (div, div_) where
2
2
3−import Prelude
4
3
5−import Beta.DOM.Attributes (BaseAttributes)
4+import Yoga.React.DOM.Attributes (BaseAttributes)
6−import Beta.DOM.Internal (FFIComponent, FFIComponent_, createBuiltinElement, createBuiltinElement_)
5+import Yoga.React.DOM.Internal (FFIComponent, FFIComponent_, createBuiltinElement, createBuiltinElement_)
7
6
8-- | The `<div>` tag in HTML, acts as a container unit which encapsulates other page elements
7-- | The `<div>` tag in HTML, acts as a container unit which encapsulates other page elements
9-- | and divides the HTML document into sections. Web developers use <div> elements to group
8-- | and divides the HTML document into sections. Web developers use <div> elements to group
src/Beta/DOM/HTML/Dl.purs → src/Yoga/React/DOM/HTML/Dl.pursrenamed+3−4
@@ -1,9 +1,8 @@
1−module Beta.DOM.HTML.Dl (dl) where
1+module Yoga.React.DOM.HTML.Dl (dl) where
2
2
3−import Prelude
4
3
5−import Beta.DOM.Attributes (BaseAttributes)
4+import Yoga.React.DOM.Attributes (BaseAttributes)
6−import Beta.DOM.Internal (FFIComponent, createBuiltinElement)
5+import Yoga.React.DOM.Internal (FFIComponent, createBuiltinElement)
7
6
8-- | The `<dl>` HTML element is for grouping together sets of `<dt>` (term) and `<dd>` (description) elements,
7-- | The `<dl>` HTML element is for grouping together sets of `<dt>` (term) and `<dd>` (description) elements,
9-- | typically used for creating a list of terms along with their associated descriptions.
8-- | typically used for creating a list of terms along with their associated descriptions.
src/Beta/DOM/HTML/Dt.purs → src/Yoga/React/DOM/HTML/Dt.pursrenamed+3−4
@@ -1,9 +1,8 @@
1−module Beta.DOM.HTML.Dt (dt) where
1+module Yoga.React.DOM.HTML.Dt (dt) where
2
2
3−import Prelude
4
3
5−import Beta.DOM.Attributes (BaseAttributes)
4+import Yoga.React.DOM.Attributes (BaseAttributes)
6−import Beta.DOM.Internal (FFIComponent, createBuiltinElement)
5+import Yoga.React.DOM.Internal (FFIComponent, createBuiltinElement)
7
6
8-- | The `<dt>` HTML element specifies a term in a description list (`<dl>`).
7-- | The `<dt>` HTML element specifies a term in a description list (`<dl>`).
9-- | This element can exist only as a child element of a description list and it is paired with a `<dd>` element
8-- | This element can exist only as a child element of a description list and it is paired with a `<dd>` element
src/Beta/DOM/HTML/Em.purs → src/Yoga/React/DOM/HTML/Em.pursrenamed+3−4
@@ -1,9 +1,8 @@
1−module Beta.DOM.HTML.Em (em) where
1+module Yoga.React.DOM.HTML.Em (em) where
2
2
3−import Prelude
4
3
5−import Beta.DOM.Attributes (BaseAttributes)
4+import Yoga.React.DOM.Attributes (BaseAttributes)
6−import Beta.DOM.Internal (FFIComponent, createBuiltinElement)
5+import Yoga.React.DOM.Internal (FFIComponent, createBuiltinElement)
7
6
8-- | The `<em>` HTML element marks text that has stress emphasis. The `<em>` element can be
7-- | The `<em>` HTML element marks text that has stress emphasis. The `<em>` element can be
9-- | nested, with each level of nesting indicating a greater degree of emphasis.
8-- | nested, with each level of nesting indicating a greater degree of emphasis.
src/Beta/DOM/HTML/Embed.purs → src/Yoga/React/DOM/HTML/Embed.pursrenamed+3−4
@@ -1,9 +1,8 @@
1−module Beta.DOM.HTML.Embed (embed) where
1+module Yoga.React.DOM.HTML.Embed (embed) where
2
2
3−import Prelude
4
3
5−import Beta.DOM.Attributes (BaseAttributesR)
4+import Yoga.React.DOM.Attributes (BaseAttributesR)
6−import Beta.DOM.Internal (FFIComponent_, createBuiltinElement_)
5+import Yoga.React.DOM.Internal (FFIComponent_, createBuiltinElement_)
7
6
8-- | The `<embed>` HTML element represents an integration point for an external application or interactive content.
7-- | The `<embed>` HTML element represents an integration point for an external application or interactive content.
9-- |
8-- |
src/Beta/DOM/HTML/FieldSet.purs → src/Yoga/React/DOM/HTML/FieldSet.pursrenamed+3−4
@@ -1,9 +1,8 @@
1−module Beta.DOM.HTML.FieldSet (fieldset) where
1+module Yoga.React.DOM.HTML.FieldSet (fieldset) where
2
2
3−import Prelude
4
3
5−import Beta.DOM.Attributes (BaseAttributes)
4+import Yoga.React.DOM.Attributes (BaseAttributes)
6−import Beta.DOM.Internal (FFIComponent, createBuiltinElement)
5+import Yoga.React.DOM.Internal (FFIComponent, createBuiltinElement)
7
6
8-- | The `<fieldset>` HTML element is a set of form controls optionally grouped under a common name.
7-- | The `<fieldset>` HTML element is a set of form controls optionally grouped under a common name.
9-- |
8-- |
src/Beta/DOM/HTML/Figcaption.purs → src/Yoga/React/DOM/HTML/Figcaption.pursrenamed+3−4
@@ -1,9 +1,8 @@
1−module Beta.DOM.HTML.Figcaption (figcaption) where
1+module Yoga.React.DOM.HTML.Figcaption (figcaption) where
2
2
3−import Prelude
4
3
5−import Beta.DOM.Attributes (BaseAttributes)
4+import Yoga.React.DOM.Attributes (BaseAttributes)
6−import Beta.DOM.Internal (FFIComponent, createBuiltinElement)
5+import Yoga.React.DOM.Internal (FFIComponent, createBuiltinElement)
7
6
8-- | The `<figcaption>` HTML element represents a caption or a legend associated with a figure or an illustration
7-- | The `<figcaption>` HTML element represents a caption or a legend associated with a figure or an illustration
9-- | described by the rest of the data of the `<figure>` element, its direct ancestor.
8-- | described by the rest of the data of the `<figure>` element, its direct ancestor.
src/Beta/DOM/HTML/Figure.purs → src/Yoga/React/DOM/HTML/Figure.pursrenamed+3−4
@@ -1,9 +1,8 @@
1−module Beta.DOM.HTML.Figure (figure) where
1+module Yoga.React.DOM.HTML.Figure (figure) where
2
2
3−import Prelude
4
3
5−import Beta.DOM.Attributes (BaseAttributes)
4+import Yoga.React.DOM.Attributes (BaseAttributes)
6−import Beta.DOM.Internal (FFIComponent, createBuiltinElement)
5+import Yoga.React.DOM.Internal (FFIComponent, createBuiltinElement)
7
6
8-- | The `<figure>` HTML element represents self-contained content that's
7-- | The `<figure>` HTML element represents self-contained content that's
9-- | often referenced as a single unit from the main flow of the document.
8-- | often referenced as a single unit from the main flow of the document.
src/Beta/DOM/HTML/Footer.purs → src/Yoga/React/DOM/HTML/Footer.pursrenamed+3−4
@@ -1,9 +1,8 @@
1−module Beta.DOM.HTML.Footer (footer) where
1+module Yoga.React.DOM.HTML.Footer (footer) where
2
2
3−import Prelude
4
3
5−import Beta.DOM.Attributes (BaseAttributes)
4+import Yoga.React.DOM.Attributes (BaseAttributes)
6−import Beta.DOM.Internal (FFIComponent, createBuiltinElement)
5+import Yoga.React.DOM.Internal (FFIComponent, createBuiltinElement)
7
6
8-- | The `<footer>` HTML element represents a footer for its nearest sectioning
7-- | The `<footer>` HTML element represents a footer for its nearest sectioning
9-- | content or sectioning root element.
8-- | content or sectioning root element.
src/Yoga/React/DOM/HTML/Form.pursnew file+44
@@ -0,0 +1,44 @@
1+module Yoga.React.DOM.HTML.Form (form, FormAction, urlAction, handlerAction) where
2+
3+
4+import Yoga.React.DOM.Attributes (BaseAttributesR)
5+import Yoga.React.DOM.Internal (FFIComponent, createBuiltinElement)
6+import React.Basic.Events (EventHandler)
7+import Unsafe.Coerce (unsafeCoerce)
8+
9+-- | The `<form>` HTML element represents a form.
10+-- |
11+-- | In React 19 the `action` prop accepts either a URL string or a handler function.
12+-- |
13+-- | #### URL action
14+-- | ```purescript
15+-- | form { action: urlAction "/submit", method: "post" } children
16+-- | ```
17+-- |
18+-- | #### React 19 form action (useActionState dispatch)
19+-- | ```purescript
20+-- | form { action: handlerAction dispatch } children
21+-- | ```
22+form :: FFIComponent FormAttributes
23+form = createBuiltinElement "form"
24+
25+type FormAttributes = BaseAttributesR
26+ ( action :: FormAction
27+ , method :: String
28+ , onSubmit :: EventHandler
29+ )
30+
31+-- | A form action — either a URL string or a React 19 dispatch function.
32+-- | Use `urlAction` or `handlerAction` to construct.
33+foreign import data FormAction :: Type
34+
35+-- | Create a form action from a URL string.
36+urlAction :: String -> FormAction
37+urlAction = unsafeCoerce
38+
39+-- | Create a form action from a React 19 dispatch function.
40+-- | Accepts any value because React's form action prop is a JS union type
41+-- | (`string | function`) that can't be expressed as a single PureScript type.
42+-- | Intended for dispatch functions from hooks like `useActionState`.
43+handlerAction :: forall a. a -> FormAction
44+handlerAction = unsafeCoerce
src/Beta/DOM/HTML/H.purs → src/Yoga/React/DOM/HTML/H.pursrenamed+3−4
@@ -1,9 +1,8 @@
1−module Beta.DOM.HTML.H (h1, h2, h3, h4, h5, h6) where
1+module Yoga.React.DOM.HTML.H (h1, h2, h3, h4, h5, h6) where
2
2
3−import Prelude
4
3
5−import Beta.DOM.Attributes (BaseAttributes)
4+import Yoga.React.DOM.Attributes (BaseAttributes)
6−import Beta.DOM.Internal (FFIComponent, createBuiltinElement)
5+import Yoga.React.DOM.Internal (FFIComponent, createBuiltinElement)
7
6
8-- | The `<h1>` HTML element represents a first level heading in the document.
7-- | The `<h1>` HTML element represents a first level heading in the document.
9-- |
8-- |
src/Beta/DOM/HTML/HTML.purs → src/Yoga/React/DOM/HTML/HTML.pursrenamed+3−4
@@ -1,9 +1,8 @@
1−module Beta.DOM.HTML.HTML (html) where
1+module Yoga.React.DOM.HTML.HTML (html) where
2
2
3−import Prelude
4
3
5−import Beta.DOM.Attributes (BaseAttributes)
4+import Yoga.React.DOM.Attributes (BaseAttributes)
6−import Beta.DOM.Internal (FFIComponent, FFIComponent_, createBuiltinElement, createBuiltinElement_)
5+import Yoga.React.DOM.Internal (FFIComponent, createBuiltinElement)
7
6
8-- | The `<html>` tag in HTML, which is the root of an HTML document.
7-- | The `<html>` tag in HTML, which is the root of an HTML document.
9-- |
8-- |
src/Beta/DOM/HTML/Head.purs → src/Yoga/React/DOM/HTML/Head.pursrenamed+3−4
@@ -1,9 +1,8 @@
1−module Beta.DOM.HTML.Head (head) where
1+module Yoga.React.DOM.HTML.Head (head) where
2
2
3−import Prelude
4
3
5−import Beta.DOM.Attributes (BaseAttributes)
4+import Yoga.React.DOM.Attributes (BaseAttributes)
6−import Beta.DOM.Internal (FFIComponent, FFIComponent_, createBuiltinElement, createBuiltinElement_)
5+import Yoga.React.DOM.Internal (FFIComponent, createBuiltinElement)
7
6
8-- | The `<head>` tag in HTML, typically includes meta-information about the document such as its title, linked stylesheets and scripts.
7-- | The `<head>` tag in HTML, typically includes meta-information about the document such as its title, linked stylesheets and scripts.
9-- |
8-- |
src/Beta/DOM/HTML/Header.purs → src/Yoga/React/DOM/HTML/Header.pursrenamed+3−4
@@ -1,9 +1,8 @@
1−module Beta.DOM.HTML.Header (header) where
1+module Yoga.React.DOM.HTML.Header (header) where
2
2
3−import Prelude
4
3
5−import Beta.DOM.Attributes (BaseAttributes)
4+import Yoga.React.DOM.Attributes (BaseAttributes)
6−import Beta.DOM.Internal (FFIComponent, createBuiltinElement)
5+import Yoga.React.DOM.Internal (FFIComponent, createBuiltinElement)
7
6
8-- | The `<header>` HTML element represents introductory content, typically a group of introductory or navigational aids.
7-- | The `<header>` HTML element represents introductory content, typically a group of introductory or navigational aids.
9-- |
8-- |
src/Beta/DOM/HTML/Hr.purs → src/Yoga/React/DOM/HTML/Hr.pursrenamed+3−4
@@ -1,9 +1,8 @@
1−module Beta.DOM.HTML.Hr (hr) where
1+module Yoga.React.DOM.HTML.Hr (hr) where
2
2
3−import Prelude
4
3
5−import Beta.DOM.Attributes (BaseAttributes)
4+import Yoga.React.DOM.Attributes (BaseAttributes)
6−import Beta.DOM.Internal (FFIComponent_, createBuiltinElement_)
5+import Yoga.React.DOM.Internal (FFIComponent_, createBuiltinElement_)
7
6
8-- | The `<hr>` HTML element represents a thematic break between paragraph-level elements: for example, a change of scene in a story,
7-- | The `<hr>` HTML element represents a thematic break between paragraph-level elements: for example, a change of scene in a story,
9-- | or a shift of topic within a section.
8-- | or a shift of topic within a section.
src/Beta/DOM/HTML/I.purs → src/Yoga/React/DOM/HTML/I.pursrenamed+3−4
@@ -1,9 +1,8 @@
1−module Beta.DOM.HTML.I (i) where
1+module Yoga.React.DOM.HTML.I (i) where
2
2
3−import Prelude
4
3
5−import Beta.DOM.Attributes (BaseAttributes)
4+import Yoga.React.DOM.Attributes (BaseAttributes)
6−import Beta.DOM.Internal (FFIComponent, createBuiltinElement)
5+import Yoga.React.DOM.Internal (FFIComponent, createBuiltinElement)
7
6
8-- | The `<i>` HTML element represents a range of text that is set off from the normal text for some reason,
7-- | The `<i>` HTML element represents a range of text that is set off from the normal text for some reason,
9-- | such as idiomatic text, technical terms, taxonomical designations, among others.
8-- | such as idiomatic text, technical terms, taxonomical designations, among others.
src/Beta/DOM/HTML/IFrame.purs → src/Yoga/React/DOM/HTML/IFrame.pursrenamed+3−4
@@ -1,9 +1,8 @@
1−module Beta.DOM.HTML.IFrame (iframe, iframeWithChildren) where
1+module Yoga.React.DOM.HTML.IFrame (iframe, iframeWithChildren) where
2
2
3−import Prelude
4
3
5−import Beta.DOM.Attributes (BaseAttributesR)
4+import Yoga.React.DOM.Attributes (BaseAttributesR)
6−import Beta.DOM.Internal (FFIComponent, FFIComponent_, createBuiltinElement, createBuiltinElement_)
5+import Yoga.React.DOM.Internal (FFIComponent, FFIComponent_, createBuiltinElement, createBuiltinElement_)
7
6
8-- | The `<iframe>` HTML element represents a nested browsing context,
7-- | The `<iframe>` HTML element represents a nested browsing context,
9-- | effectively embedding another HTML page into the current page.
8-- | effectively embedding another HTML page into the current page.
src/Beta/DOM/HTML/Img.purs → src/Yoga/React/DOM/HTML/Img.pursrenamed+13−5
@@ -1,9 +1,8 @@
1−module Beta.DOM.HTML.Img (img) where
1+module Yoga.React.DOM.HTML.Img (img) where
2
2
3−import Prelude
4
3
5−import Beta.DOM.Attributes (BaseAttributesR)
4+import Yoga.React.DOM.Attributes (BaseAttributesR)
6−import Beta.DOM.Internal (FFIComponent_, createBuiltinElement_)
5+import Yoga.React.DOM.Internal (FFIComponent_, createBuiltinElement_)
7
6
8-- | The `<img>` HTML element represents an image in the document.
7-- | The `<img>` HTML element represents an image in the document.
9-- |
8-- |
@@ -28,5 +27,14 @@ img = createBuiltinElement_ "img"
28type ImgAttributes = BaseAttributesR
27type ImgAttributes = BaseAttributesR
29 ( src :: String
28 ( src :: String
30 , alt :: String
29 , alt :: String
30+ , width :: String
31+ , height :: String
32+ , sizes :: String
33+ , srcSet :: String
34+ , decoding :: String
35+ , loading :: String
36+ , crossOrigin :: String
37+ , useMap :: String
38+ , isMap :: String
39+ , referrerPolicy :: String
31 )
40 )
32−
src/Beta/DOM/HTML/Input.purs → src/Yoga/React/DOM/HTML/Input.pursrenamed+5−5
@@ -1,9 +1,8 @@
1−module Beta.DOM.HTML.Input (input) where
1+module Yoga.React.DOM.HTML.Input (input) where
2
2
3−import Prelude
4
3
5−import Beta.DOM.Attributes (BaseAttributesR)
4+import Yoga.React.DOM.Attributes (BaseAttributesR)
6−import Beta.DOM.Internal (FFIComponent_, createBuiltinElement_)
5+import Yoga.React.DOM.Internal (FFIComponent_, createBuiltinElement_)
7import React.Basic.Events (EventHandler)
6import React.Basic.Events (EventHandler)
8
7
9-- | The `<input>` HTML element represents a field for user input.
8-- | The `<input>` HTML element represents a field for user input.
@@ -32,9 +31,10 @@ type InputAttributes = BaseAttributesR
32 ( type :: String
31 ( type :: String
33 , name :: String
32 , name :: String
34 , value :: String
33 , value :: String
34+ , defaultValue :: String
35 , placeholder :: String
35 , placeholder :: String
36 , disabled :: Boolean
36 , disabled :: Boolean
37− , autofocus :: Boolean
37+ , autoFocus :: Boolean
38 , required :: Boolean
38 , required :: Boolean
39 , readonly :: Boolean
39 , readonly :: Boolean
40 , checked :: Boolean
40 , checked :: Boolean
src/Beta/DOM/HTML/Kbd.purs → src/Yoga/React/DOM/HTML/Kbd.pursrenamed+3−4
@@ -1,9 +1,8 @@
1−module Beta.DOM.HTML.Kbd (kbd) where
1+module Yoga.React.DOM.HTML.Kbd (kbd) where
2
2
3−import Prelude
4
3
5−import Beta.DOM.Attributes (BaseAttributes)
4+import Yoga.React.DOM.Attributes (BaseAttributes)
6−import Beta.DOM.Internal (FFIComponent, createBuiltinElement)
5+import Yoga.React.DOM.Internal (FFIComponent, createBuiltinElement)
7
6
8-- | The `<kbd>` HTML element denotes text to be input from a keyboard.
7-- | The `<kbd>` HTML element denotes text to be input from a keyboard.
9-- |
8-- |
src/Beta/DOM/HTML/Label.purs → src/Yoga/React/DOM/HTML/Label.pursrenamed+3−6
@@ -1,11 +1,8 @@
1−module Beta.DOM.HTML.Label (label) where
1+module Yoga.React.DOM.HTML.Label (label) where
2
2
3−import Prelude
4
3
5−import Beta.DOM.Attributes (BaseAttributesR)
4+import Yoga.React.DOM.Attributes (BaseAttributesR)
6−import Beta.DOM.Internal (FFIComponent, createBuiltinElement)
5+import Yoga.React.DOM.Internal (FFIComponent, createBuiltinElement)
7−import Unsafe.Coerce (unsafeCoerce)
8−import Prim.Row (class Union)
9
6
10-- | The `<label>` HTML element represents a caption for an item in a user interface.
7-- | The `<label>` HTML element represents a caption for an item in a user interface.
11-- | It can be associated with a control either by placing the control element inside the `<label>` element,
8-- | It can be associated with a control either by placing the control element inside the `<label>` element,
src/Beta/DOM/HTML/Legend.purs → src/Yoga/React/DOM/HTML/Legend.pursrenamed+3−4
@@ -1,9 +1,8 @@
1−module Beta.DOM.HTML.Legend (legend) where
1+module Yoga.React.DOM.HTML.Legend (legend) where
2
2
3−import Prelude
4
3
5−import Beta.DOM.Attributes (BaseAttributes)
4+import Yoga.React.DOM.Attributes (BaseAttributes)
6−import Beta.DOM.Internal (FFIComponent, createBuiltinElement)
5+import Yoga.React.DOM.Internal (FFIComponent, createBuiltinElement)
7
6
8-- | The `<legend>` HTML element represents a caption for the content of its parent `<fieldset>`.
7-- | The `<legend>` HTML element represents a caption for the content of its parent `<fieldset>`.
9-- |
8-- |
src/Beta/DOM/HTML/Li.purs → src/Yoga/React/DOM/HTML/Li.pursrenamed+3−4
@@ -1,9 +1,8 @@
1−module Beta.DOM.HTML.Li (li) where
1+module Yoga.React.DOM.HTML.Li (li) where
2
2
3−import Prelude
4
3
5−import Beta.DOM.Attributes (BaseAttributes)
4+import Yoga.React.DOM.Attributes (BaseAttributes)
6−import Beta.DOM.Internal (FFIComponent, createBuiltinElement)
5+import Yoga.React.DOM.Internal (FFIComponent, createBuiltinElement)
7
6
8-- | The `<li>` tag in HTML, is used to represent an item in a list. It must be contained in
7-- | The `<li>` tag in HTML, is used to represent an item in a list. It must be contained in
9-- | a parent element: an ordered list (<ol>), an unordered list (<ul>), or a menu (<menu>).
8-- | a parent element: an ordered list (<ol>), an unordered list (<ul>), or a menu (<menu>).
src/Yoga/React/DOM/HTML/Link.pursnew file+34
@@ -0,0 +1,34 @@
1+module Yoga.React.DOM.HTML.Link (link) where
2+
3+
4+import Yoga.React.DOM.Attributes (BaseAttributesR)
5+import Yoga.React.DOM.Internal (FFIComponent_, createBuiltinElement_)
6+
7+-- | The `<link>` tag in HTML, defines the relationship between the current document and an external resource.
8+-- | **link is a void element** — it can't contain any children
9+-- | #### Example:
10+-- | ```purescript
11+-- | link { rel: "stylesheet", href: "/style.css" }
12+-- | link { rel: "icon", type: "image/png", href: "/favicon.png" }
13+-- | ```
14+-- |
15+-- | Common attributes:
16+-- || Attribute | Type | Example | Description |
17+-- ||-----------|----------|----------------|-------------|
18+-- || `href` | `String` | `"/style.css"` | Location of the linked resource. |
19+-- || `rel` | `String` | `"stylesheet"` | The relationship between the current document and the linked resource. |
20+-- || `type` | `String` | `"image/png"` | The media type of the linked resource. |
21+-- || `media` | `String` | `"screen"` | What media/device the linked resource is optimised for. |
22+-- || `as` | `String` | `"fetch"` | This attribute is required when rel="preload" has been set on the <link> element, optional when rel="modulepreload" has been set, and otherwise should not be used. |
23+-- || `crossOrigin` | `String` | `"anonymous"` |
24+link :: FFIComponent_ LinkAttributes
25+link = createBuiltinElement_ "link"
26+
27+type LinkAttributes = BaseAttributesR
28+ ( href :: String
29+ , rel :: String
30+ , type :: String
31+ , media :: String
32+ , "as" :: String
33+ , crossOrigin :: String
34+ )
src/Beta/DOM/HTML/Main.purs → src/Yoga/React/DOM/HTML/Main.pursrenamed+3−4
@@ -1,9 +1,8 @@
1−module Beta.DOM.HTML.Main (main) where
1+module Yoga.React.DOM.HTML.Main (main) where
2
2
3−import Prelude
4
3
5−import Beta.DOM.Attributes (BaseAttributes)
4+import Yoga.React.DOM.Attributes (BaseAttributes)
6−import Beta.DOM.Internal (FFIComponent, createBuiltinElement)
5+import Yoga.React.DOM.Internal (FFIComponent, createBuiltinElement)
7
6
8-- | The `<main>` HTML element represents the dominant content of the body of a document.
7-- | The `<main>` HTML element represents the dominant content of the body of a document.
9-- |
8-- |
src/Beta/DOM/HTML/Map.purs → src/Yoga/React/DOM/HTML/Map.pursrenamed+3−4
@@ -1,9 +1,8 @@
1−module Beta.DOM.HTML.Map (map) where
1+module Yoga.React.DOM.HTML.Map (map) where
2
2
3−import Prelude
4
3
5−import Beta.DOM.Attributes (BaseAttributesR)
4+import Yoga.React.DOM.Attributes (BaseAttributesR)
6−import Beta.DOM.Internal (FFIComponent, createBuiltinElement)
5+import Yoga.React.DOM.Internal (FFIComponent, createBuiltinElement)
7
6
8-- | The `<map>` HTML element is used with area elements to define an image map.
7-- | The `<map>` HTML element is used with area elements to define an image map.
9-- |
8-- |
src/Beta/DOM/HTML/Mark.purs → src/Yoga/React/DOM/HTML/Mark.pursrenamed+3−4
@@ -1,9 +1,8 @@
1−module Beta.DOM.HTML.Mark (mark) where
1+module Yoga.React.DOM.HTML.Mark (mark) where
2
2
3−import Prelude
4
3
5−import Beta.DOM.Attributes (BaseAttributes)
4+import Yoga.React.DOM.Attributes (BaseAttributes)
6−import Beta.DOM.Internal (FFIComponent, createBuiltinElement)
5+import Yoga.React.DOM.Internal (FFIComponent, createBuiltinElement)
7
6
8-- | The `<mark>` HTML element represents highlighted text.
7-- | The `<mark>` HTML element represents highlighted text.
9-- |
8-- |
src/Beta/DOM/HTML/Menu.purs → src/Yoga/React/DOM/HTML/Menu.pursrenamed+3−5
@@ -1,10 +1,8 @@
1−module Beta.DOM.HTML.Menu (menu) where
1+module Yoga.React.DOM.HTML.Menu (menu) where
2
2
3−import Prelude
4
3
5−import Beta.DOM.Attributes (BaseAttributesR)
4+import Yoga.React.DOM.Attributes (BaseAttributesR)
6−import Beta.DOM.Internal (FFIComponent_, createBuiltinElement_)
5+import Yoga.React.DOM.Internal (FFIComponent_, createBuiltinElement_)
7−import React.Basic.Events (EventHandler)
8
6
9-- | The `<menu>` tag in HTML, represents a group of commands that a user can perform or activate.
7-- | The `<menu>` tag in HTML, represents a group of commands that a user can perform or activate.
10-- | #### Example:
8-- | #### Example:
src/Beta/DOM/HTML/Meta.purs → src/Yoga/React/DOM/HTML/Meta.pursrenamed+2−3
@@ -1,8 +1,7 @@
1−module Beta.DOM.HTML.Meta (meta) where
1+module Yoga.React.DOM.HTML.Meta (meta) where
2
2
3−import Prelude
4
3
5−import Beta.DOM.Internal (FFIComponent, FFIComponent_, createBuiltinElement_)
4+import Yoga.React.DOM.Internal (FFIComponent_, createBuiltinElement_)
6
5
7type MetaAttributes =
6type MetaAttributes =
8 ( charSet :: String
7 ( charSet :: String
src/Beta/DOM/HTML/Meter.purs → src/Yoga/React/DOM/HTML/Meter.pursrenamed+3−4
@@ -1,9 +1,8 @@
1−module Beta.DOM.HTML.Meter (meter) where
1+module Yoga.React.DOM.HTML.Meter (meter) where
2
2
3−import Prelude
4
3
5−import Beta.DOM.Attributes (BaseAttributesR)
4+import Yoga.React.DOM.Attributes (BaseAttributesR)
6−import Beta.DOM.Internal (FFIComponent, createBuiltinElement)
5+import Yoga.React.DOM.Internal (FFIComponent, createBuiltinElement)
7
6
8-- | The `<meter>` HTML element represents a scalar measurement within a known range, or a fractional value.
7-- | The `<meter>` HTML element represents a scalar measurement within a known range, or a fractional value.
9-- |
8-- |
src/Beta/DOM/HTML/Nav.purs → src/Yoga/React/DOM/HTML/Nav.pursrenamed+3−4
@@ -1,9 +1,8 @@
1−module Beta.DOM.HTML.Nav (nav) where
1+module Yoga.React.DOM.HTML.Nav (nav) where
2
2
3−import Prelude
4
3
5−import Beta.DOM.Attributes (BaseAttributes)
4+import Yoga.React.DOM.Attributes (BaseAttributes)
6−import Beta.DOM.Internal (FFIComponent, createBuiltinElement)
5+import Yoga.React.DOM.Internal (FFIComponent, createBuiltinElement)
7
6
8-- | The `<nav>` HTML element represents a section of a page whose purpose is to provide navigation links.
7-- | The `<nav>` HTML element represents a section of a page whose purpose is to provide navigation links.
9-- |
8-- |
src/Beta/DOM/HTML/NoScript.purs → src/Yoga/React/DOM/HTML/NoScript.pursrenamed+3−4
@@ -1,8 +1,7 @@
1−module Beta.DOM.HTML.NoScript (noscript) where
1+module Yoga.React.DOM.HTML.NoScript (noscript) where
2
2
3−import Prelude
4−import Beta.DOM.Attributes (BaseAttributes)
3+import Yoga.React.DOM.Attributes (BaseAttributes)
5−import Beta.DOM.Internal (FFIComponent, createBuiltinElement)
4+import Yoga.React.DOM.Internal (FFIComponent, createBuiltinElement)
6
5
7-- | The `<noscript>` tag in HTML, used to provide an alternative content for users
6-- | The `<noscript>` tag in HTML, used to provide an alternative content for users
8-- | that have disabled scripts in their browser or have a browser that doesn't support script.
7-- | that have disabled scripts in their browser or have a browser that doesn't support script.
src/Beta/DOM/HTML/Object.purs → src/Yoga/React/DOM/HTML/Object.pursrenamed+3−4
@@ -1,9 +1,8 @@
1−module Beta.DOM.HTML.Object (object) where
1+module Yoga.React.DOM.HTML.Object (object) where
2
2
3−import Prelude
4
3
5−import Beta.DOM.Attributes (BaseAttributesR)
4+import Yoga.React.DOM.Attributes (BaseAttributesR)
6−import Beta.DOM.Internal (FFIComponent, createBuiltinElement)
5+import Yoga.React.DOM.Internal (FFIComponent, createBuiltinElement)
7
6
8-- | The `<object>` HTML element is used to embed content from an external application or interactive content (including images, audio and video).
7-- | The `<object>` HTML element is used to embed content from an external application or interactive content (including images, audio and video).
9-- | Among the possible reasons for using `object` to embed an image, the most practical is that it allows the fallback content to contain HTML markup, such as headings, lists, tables, and phrase markup. The `img` element lets you specify only plain text as fallback content—even paragraph breaks cannot be specified.
8-- | Among the possible reasons for using `object` to embed an image, the most practical is that it allows the fallback content to contain HTML markup, such as headings, lists, tables, and phrase markup. The `img` element lets you specify only plain text as fallback content—even paragraph breaks cannot be specified.
src/Beta/DOM/HTML/Ol.purs → src/Yoga/React/DOM/HTML/Ol.pursrenamed+3−4
@@ -1,9 +1,8 @@
1−module Beta.DOM.HTML.Ol (ol) where
1+module Yoga.React.DOM.HTML.Ol (ol) where
2
2
3−import Prelude
4
3
5−import Beta.DOM.Attributes (BaseAttributes, BaseAttributesR)
4+import Yoga.React.DOM.Attributes (BaseAttributesR)
6−import Beta.DOM.Internal (FFIComponent, createBuiltinElement)
5+import Yoga.React.DOM.Internal (FFIComponent, createBuiltinElement)
7
6
8-- | The `<ol>` tag in HTML, represents an ordered list of items — typically rendered as a numbered list.
7-- | The `<ol>` tag in HTML, represents an ordered list of items — typically rendered as a numbered list.
9-- |
8-- |
src/Beta/DOM/HTML/Optgroup.purs → src/Yoga/React/DOM/HTML/Optgroup.pursrenamed+3−4
@@ -1,9 +1,8 @@
1−module Beta.DOM.HTML.Optgroup (optgroup) where
1+module Yoga.React.DOM.HTML.Optgroup (optgroup) where
2
2
3−import Prelude
4
3
5−import Beta.DOM.Attributes (BaseAttributesR)
4+import Yoga.React.DOM.Attributes (BaseAttributesR)
6−import Beta.DOM.Internal (FFIComponent, createBuiltinElement)
5+import Yoga.React.DOM.Internal (FFIComponent, createBuiltinElement)
7
6
8-- | The `<optgroup>` HTML element creates a grouping of options within a `<select>` element.
7-- | The `<optgroup>` HTML element creates a grouping of options within a `<select>` element.
9-- |
8-- |
src/Beta/DOM/HTML/Option.purs → src/Yoga/React/DOM/HTML/Option.pursrenamed+3−4
@@ -1,9 +1,8 @@
1−module Beta.DOM.HTML.Option (option) where
1+module Yoga.React.DOM.HTML.Option (option) where
2
2
3−import Prelude
4
3
5−import Beta.DOM.Attributes (BaseAttributesR)
4+import Yoga.React.DOM.Attributes (BaseAttributesR)
6−import Beta.DOM.Internal (FFIComponent, createBuiltinElement)
5+import Yoga.React.DOM.Internal (FFIComponent, createBuiltinElement)
7
6
8-- | The `<optgroup>` HTML element creates a grouping of options within a `<select>` element.
7-- | The `<optgroup>` HTML element creates a grouping of options within a `<select>` element.
9-- |
8-- |
src/Beta/DOM/HTML/Output.purs → src/Yoga/React/DOM/HTML/Output.pursrenamed+3−4
@@ -1,9 +1,8 @@
1−module Beta.DOM.HTML.Output (output) where
1+module Yoga.React.DOM.HTML.Output (output) where
2
2
3−import Prelude
4
3
5−import Beta.DOM.Attributes (BaseAttributes)
4+import Yoga.React.DOM.Attributes (BaseAttributes)
6−import Beta.DOM.Internal (FFIComponent, createBuiltinElement)
5+import Yoga.React.DOM.Internal (FFIComponent, createBuiltinElement)
7
6
8-- | The `<output>` HTML element represents the result of a calculation or user action.
7-- | The `<output>` HTML element represents the result of a calculation or user action.
9-- |
8-- |
src/Beta/DOM/HTML/P.purs → src/Yoga/React/DOM/HTML/P.pursrenamed+3−4
@@ -1,9 +1,8 @@
1−module Beta.DOM.HTML.P (p) where
1+module Yoga.React.DOM.HTML.P (p) where
2
2
3−import Prelude
4
3
5−import Beta.DOM.Attributes (BaseAttributes)
4+import Yoga.React.DOM.Attributes (BaseAttributes)
6−import Beta.DOM.Internal (FFIComponent, createBuiltinElement)
5+import Yoga.React.DOM.Internal (FFIComponent, createBuiltinElement)
7
6
8-- | The `<p>` HTML element represents a paragraph.
7-- | The `<p>` HTML element represents a paragraph.
9-- |
8-- |
src/Beta/DOM/HTML/Param.purs → src/Yoga/React/DOM/HTML/Param.pursrenamed+3−4
@@ -1,9 +1,8 @@
1−module Beta.DOM.HTML.Param (param) where
1+module Yoga.React.DOM.HTML.Param (param) where
2
2
3−import Prelude
4
3
5−import Beta.DOM.Attributes (BaseAttributesR)
4+import Yoga.React.DOM.Attributes (BaseAttributesR)
6−import Beta.DOM.Internal (FFIComponent_, createBuiltinElement_)
5+import Yoga.React.DOM.Internal (FFIComponent_, createBuiltinElement_)
7
6
8-- | The `<param>` HTML element defines parameters for plugins invoked by `<object>` elements.
7-- | The `<param>` HTML element defines parameters for plugins invoked by `<object>` elements.
9-- |
8-- |
src/Beta/DOM/HTML/Picture.purs → src/Yoga/React/DOM/HTML/Picture.pursrenamed+3−4
@@ -1,9 +1,8 @@
1−module Beta.DOM.HTML.Picture (picture) where
1+module Yoga.React.DOM.HTML.Picture (picture) where
2
2
3−import Prelude
4
3
5−import Beta.DOM.Attributes (BaseAttributes)
4+import Yoga.React.DOM.Attributes (BaseAttributes)
6−import Beta.DOM.Internal (FFIComponent, createBuiltinElement)
5+import Yoga.React.DOM.Internal (FFIComponent, createBuiltinElement)
7
6
8-- | The `<picture>` HTML element contains zero or more `<source>` elements and one `<img>` element to offer alternative versions of an image for different display scenarios.
7-- | The `<picture>` HTML element contains zero or more `<source>` elements and one `<img>` element to offer alternative versions of an image for different display scenarios.
9-- |
8-- |
src/Beta/DOM/HTML/Pre.purs → src/Yoga/React/DOM/HTML/Pre.pursrenamed+3−4
@@ -1,9 +1,8 @@
1−module Beta.DOM.HTML.Pre (pre) where
1+module Yoga.React.DOM.HTML.Pre (pre) where
2
2
3−import Prelude
4
3
5−import Beta.DOM.Attributes (BaseAttributes)
4+import Yoga.React.DOM.Attributes (BaseAttributes)
6−import Beta.DOM.Internal (FFIComponent, createBuiltinElement)
5+import Yoga.React.DOM.Internal (FFIComponent, createBuiltinElement)
7
6
8-- | The `<pre>` HTML element represents preformatted text, in which structure is represented by typographic conventions rather than by the elements.
7-- | The `<pre>` HTML element represents preformatted text, in which structure is represented by typographic conventions rather than by the elements.
9-- |
8-- |
src/Beta/DOM/HTML/Progress.purs → src/Yoga/React/DOM/HTML/Progress.pursrenamed+3−4
@@ -1,9 +1,8 @@
1−module Beta.DOM.HTML.Progress (progress) where
1+module Yoga.React.DOM.HTML.Progress (progress) where
2
2
3−import Prelude
4
3
5−import Beta.DOM.Attributes (BaseAttributesR)
4+import Yoga.React.DOM.Attributes (BaseAttributesR)
6−import Beta.DOM.Internal (FFIComponent, createBuiltinElement)
5+import Yoga.React.DOM.Internal (FFIComponent, createBuiltinElement)
7
6
8-- | The `<progress>` HTML element represents the completion progress of a task.
7-- | The `<progress>` HTML element represents the completion progress of a task.
9-- |
8-- |
src/Beta/DOM/HTML/Q.purs → src/Yoga/React/DOM/HTML/Q.pursrenamed+3−4
@@ -1,9 +1,8 @@
1−module Beta.DOM.HTML.Q (q) where
1+module Yoga.React.DOM.HTML.Q (q) where
2
2
3−import Prelude
4
3
5−import Beta.DOM.Attributes (BaseAttributes)
4+import Yoga.React.DOM.Attributes (BaseAttributes)
6−import Beta.DOM.Internal (FFIComponent, createBuiltinElement)
5+import Yoga.React.DOM.Internal (FFIComponent, createBuiltinElement)
7
6
8-- | The `<q>` HTML element indicates that the enclosed text is a short inline quotation.
7-- | The `<q>` HTML element indicates that the enclosed text is a short inline quotation.
9-- |
8-- |
src/Beta/DOM/HTML/Rp.purs → src/Yoga/React/DOM/HTML/Rp.pursrenamed+3−4
@@ -1,9 +1,8 @@
1−module Beta.DOM.HTML.Rp (rp) where
1+module Yoga.React.DOM.HTML.Rp (rp) where
2
2
3−import Prelude
4
3
5−import Beta.DOM.Attributes (BaseAttributes)
4+import Yoga.React.DOM.Attributes (BaseAttributes)
6−import Beta.DOM.Internal (FFIComponent, createBuiltinElement)
5+import Yoga.React.DOM.Internal (FFIComponent, createBuiltinElement)
7
6
8-- | The `<rp>` HTML element is used to provide fallback parentheses for browsers that do not support display of ruby annotations using the `<ruby>` element.
7-- | The `<rp>` HTML element is used to provide fallback parentheses for browsers that do not support display of ruby annotations using the `<ruby>` element.
9-- |
8-- |
src/Beta/DOM/HTML/Rt.purs → src/Yoga/React/DOM/HTML/Rt.pursrenamed+3−4
@@ -1,9 +1,8 @@
1−module Beta.DOM.HTML.Rt (rt) where
1+module Yoga.React.DOM.HTML.Rt (rt) where
2
2
3−import Prelude
4
3
5−import Beta.DOM.Attributes (BaseAttributes)
4+import Yoga.React.DOM.Attributes (BaseAttributes)
6−import Beta.DOM.Internal (FFIComponent, createBuiltinElement)
5+import Yoga.React.DOM.Internal (FFIComponent, createBuiltinElement)
7
6
8-- | The `<rt>` HTML element specifies the ruby text component of a ruby annotation,
7-- | The `<rt>` HTML element specifies the ruby text component of a ruby annotation,
9-- | which is used to provide pronunciation, translation, or transliteration information for East Asian typography.
8-- | which is used to provide pronunciation, translation, or transliteration information for East Asian typography.
src/Beta/DOM/HTML/Ruby.purs → src/Yoga/React/DOM/HTML/Ruby.pursrenamed+3−4
@@ -1,9 +1,8 @@
1−module Beta.DOM.HTML.Ruby (ruby) where
1+module Yoga.React.DOM.HTML.Ruby (ruby) where
2
2
3−import Prelude
4
3
5−import Beta.DOM.Attributes (BaseAttributes)
4+import Yoga.React.DOM.Attributes (BaseAttributes)
6−import Beta.DOM.Internal (FFIComponent, createBuiltinElement)
5+import Yoga.React.DOM.Internal (FFIComponent, createBuiltinElement)
7
6
8-- | The `<ruby>` HTML element represents a ruby annotation.
7-- | The `<ruby>` HTML element represents a ruby annotation.
9-- | Ruby annotations are for showing pronunciation of East Asian characters.
8-- | Ruby annotations are for showing pronunciation of East Asian characters.
src/Beta/DOM/HTML/S.purs → src/Yoga/React/DOM/HTML/S.pursrenamed+3−4
@@ -1,9 +1,8 @@
1−module Beta.DOM.HTML.S (s) where
1+module Yoga.React.DOM.HTML.S (s) where
2
2
3−import Prelude
4
3
5−import Beta.DOM.Attributes (BaseAttributes)
4+import Yoga.React.DOM.Attributes (BaseAttributes)
6−import Beta.DOM.Internal (FFIComponent, createBuiltinElement)
5+import Yoga.React.DOM.Internal (FFIComponent, createBuiltinElement)
7
6
8-- | The `<s>` HTML element renders text with a strikethrough, or a line through it.
7-- | The `<s>` HTML element renders text with a strikethrough, or a line through it.
9-- | Use the `<s>` element to represent things that are no longer relevant or no longer accurate.
8-- | Use the `<s>` element to represent things that are no longer relevant or no longer accurate.
src/Beta/DOM/HTML/Samp.purs → src/Yoga/React/DOM/HTML/Samp.pursrenamed+3−4
@@ -1,9 +1,8 @@
1−module Beta.DOM.HTML.Samp (samp) where
1+module Yoga.React.DOM.HTML.Samp (samp) where
2
2
3−import Prelude
4
3
5−import Beta.DOM.Attributes (BaseAttributes)
4+import Yoga.React.DOM.Attributes (BaseAttributes)
6−import Beta.DOM.Internal (FFIComponent, createBuiltinElement)
5+import Yoga.React.DOM.Internal (FFIComponent, createBuiltinElement)
7
6
8-- | The `<samp>` HTML element is used to display sample output from a computer program.
7-- | The `<samp>` HTML element is used to display sample output from a computer program.
9-- |
8-- |
src/Beta/DOM/HTML/Script.purs → src/Yoga/React/DOM/HTML/Script.pursrenamed+3−4
@@ -1,9 +1,8 @@
1−module Beta.DOM.HTML.Script (script, scriptInline) where
1+module Yoga.React.DOM.HTML.Script (script, scriptInline) where
2
2
3−import Prelude
4
3
5−import Beta.DOM.Attributes (BaseAttributesR)
4+import Yoga.React.DOM.Attributes (BaseAttributesR)
6−import Beta.DOM.Internal (FFIComponent, FFIComponent_, FFIRawTextComponent, createBuiltinElement, createBuiltinElement_)
5+import Yoga.React.DOM.Internal (FFIComponent_, FFIRawTextComponent, createBuiltinElement, createBuiltinElement_)
7
6
8-- | The `<script>` HTML element is used to embed executable code or data; this is typically used to refer to JavaScript code.
7-- | The `<script>` HTML element is used to embed executable code or data; this is typically used to refer to JavaScript code.
9-- | See `scriptInline` for scripts that don't just reference a file.
8-- | See `scriptInline` for scripts that don't just reference a file.
src/Beta/DOM/HTML/Section.purs → src/Yoga/React/DOM/HTML/Section.pursrenamed+3−4
@@ -1,9 +1,8 @@
1−module Beta.DOM.HTML.Section (section) where
1+module Yoga.React.DOM.HTML.Section (section) where
2
2
3−import Prelude
4
3
5−import Beta.DOM.Attributes (BaseAttributes)
4+import Yoga.React.DOM.Attributes (BaseAttributes)
6−import Beta.DOM.Internal (FFIComponent, createBuiltinElement)
5+import Yoga.React.DOM.Internal (FFIComponent, createBuiltinElement)
7
6
8-- | The `<section>` HTML element represents a standalone section of functionality contained within an HTML document, typically with a heading, ...
7-- | The `<section>` HTML element represents a standalone section of functionality contained within an HTML document, typically with a heading, ...
9-- |
8-- |
src/Beta/DOM/HTML/Select.purs → src/Yoga/React/DOM/HTML/Select.pursrenamed+9−7
@@ -1,9 +1,9 @@
1−module Beta.DOM.HTML.Select (select) where
1+module Yoga.React.DOM.HTML.Select (select) where
2
2
3−import Prelude
4
3
5−import Beta.DOM.Attributes (BaseAttributes, BaseAttributesR)
4+import Yoga.React.DOM.Attributes (BaseAttributesR)
6−import Beta.DOM.Internal (FFIComponent, createBuiltinElement)
5+import Yoga.React.DOM.Internal (FFIComponent, createBuiltinElement)
6+import React.Basic.Events (EventHandler)
7
7
8-- | The `<select>` HTML element represents a control that provides a menu of options.
8-- | The `<select>` HTML element represents a control that provides a menu of options.
9-- |
9-- |
@@ -19,6 +19,8 @@ import Beta.DOM.Internal (FFIComponent, createBuiltinElement)
19select :: FFIComponent SelectAttributes
19select :: FFIComponent SelectAttributes
20select = createBuiltinElement "select"
20select = createBuiltinElement "select"
21
21
22−type SelectAttributes = BaseAttributesR (
22+type SelectAttributes = BaseAttributesR
23− name :: String
23+ ( name :: String
24+ , value :: String
25+ , onChange :: EventHandler
24−)
26+ )
src/Beta/DOM/HTML/Small.purs → src/Yoga/React/DOM/HTML/Small.pursrenamed+3−4
@@ -1,9 +1,8 @@
1−module Beta.DOM.HTML.Small (small) where
1+module Yoga.React.DOM.HTML.Small (small) where
2
2
3−import Prelude
4
3
5−import Beta.DOM.Attributes (BaseAttributes)
4+import Yoga.React.DOM.Attributes (BaseAttributes)
6−import Beta.DOM.Internal (FFIComponent, createBuiltinElement)
5+import Yoga.React.DOM.Internal (FFIComponent, createBuiltinElement)
7
6
8-- | The `<small>` HTML element represents side comments such as small print.
7-- | The `<small>` HTML element represents side comments such as small print.
9-- |
8-- |
src/Beta/DOM/HTML/Source.purs → src/Yoga/React/DOM/HTML/Source.pursrenamed+3−4
@@ -1,9 +1,8 @@
1−module Beta.DOM.HTML.Source (source) where
1+module Yoga.React.DOM.HTML.Source (source) where
2
2
3−import Prelude
4
3
5−import Beta.DOM.Attributes (BaseAttributesR)
4+import Yoga.React.DOM.Attributes (BaseAttributesR)
6−import Beta.DOM.Internal (FFIComponent_, createBuiltinElement_)
5+import Yoga.React.DOM.Internal (FFIComponent_, createBuiltinElement_)
7
6
8-- | The `<source>` HTML element is used to specify multiple media resources for media elements, such as `<picture>`, `<audio>`, and `<video>`.
7-- | The `<source>` HTML element is used to specify multiple media resources for media elements, such as `<picture>`, `<audio>`, and `<video>`.
9-- |
8-- |
src/Beta/DOM/HTML/Span.purs → src/Yoga/React/DOM/HTML/Span.pursrenamed+3−4
@@ -1,9 +1,8 @@
1−module Beta.DOM.HTML.Span (span) where
1+module Yoga.React.DOM.HTML.Span (span) where
2
2
3−import Prelude
4
3
5−import Beta.DOM.Attributes (BaseAttributes)
4+import Yoga.React.DOM.Attributes (BaseAttributes)
6−import Beta.DOM.Internal (FFIComponent, FFIComponent_, createBuiltinElement, createBuiltinElement_)
5+import Yoga.React.DOM.Internal (FFIComponent, createBuiltinElement)
7
6
8-- | The `<span>` tag in HTML is a generic inline container for phrasing content, which does
7-- | The `<span>` tag in HTML is a generic inline container for phrasing content, which does
9-- | not inherently represent anything. It can be used to group elements for styling purposes
8-- | not inherently represent anything. It can be used to group elements for styling purposes
src/Beta/DOM/HTML/Strong.purs → src/Yoga/React/DOM/HTML/Strong.pursrenamed+3−4
@@ -1,9 +1,8 @@
1−module Beta.DOM.HTML.Strong (strong) where
1+module Yoga.React.DOM.HTML.Strong (strong) where
2
2
3−import Prelude
4
3
5−import Beta.DOM.Attributes (BaseAttributes)
4+import Yoga.React.DOM.Attributes (BaseAttributes)
6−import Beta.DOM.Internal (FFIComponent, createBuiltinElement)
5+import Yoga.React.DOM.Internal (FFIComponent, createBuiltinElement)
7
6
8-- | The `<strong>` HTML element gives text strong importance, and is typically displayed in bold.
7-- | The `<strong>` HTML element gives text strong importance, and is typically displayed in bold.
9-- |
8-- |
src/Beta/DOM/HTML/Style.purs → src/Yoga/React/DOM/HTML/Style.pursrenamed+3−4
@@ -1,9 +1,8 @@
1−module Beta.DOM.HTML.Style (style) where
1+module Yoga.React.DOM.HTML.Style (style) where
2
2
3−import Prelude
4
3
5−import Beta.DOM.Attributes (BaseAttributesR)
4+import Yoga.React.DOM.Attributes (BaseAttributesR)
6−import Beta.DOM.Internal (FFIComponent, FFIRawTextComponent, createBuiltinElement)
5+import Yoga.React.DOM.Internal (FFIRawTextComponent, createBuiltinElement)
7
6
8-- | The `<style>` HTML element contains style information for a document, or part of a document.
7-- | The `<style>` HTML element contains style information for a document, or part of a document.
9-- | The child must be a string
8-- | The child must be a string
src/Beta/DOM/HTML/Sub.purs → src/Yoga/React/DOM/HTML/Sub.pursrenamed+3−4
@@ -1,9 +1,8 @@
1−module Beta.DOM.HTML.Sub (sub) where
1+module Yoga.React.DOM.HTML.Sub (sub) where
2
2
3−import Prelude
4
3
5−import Beta.DOM.Attributes (BaseAttributes)
4+import Yoga.React.DOM.Attributes (BaseAttributes)
6−import Beta.DOM.Internal (FFIComponent, createBuiltinElement)
5+import Yoga.React.DOM.Internal (FFIComponent, createBuiltinElement)
7
6
8-- | The `<sub>` HTML element specifies inline text which should be displayed as subscript for solely typographical reasons.
7-- | The `<sub>` HTML element specifies inline text which should be displayed as subscript for solely typographical reasons.
9-- |
8-- |
src/Beta/DOM/HTML/Summary.purs → src/Yoga/React/DOM/HTML/Summary.pursrenamed+6−5
@@ -1,10 +1,11 @@
1−module Beta.DOM.HTML.Summary (summary) where
1+module Yoga.React.DOM.HTML.Summary (summary) where
2
2
3−import Prelude
4
3
5−import Beta.DOM.Attributes (BaseAttributes)
4+import Yoga.React.DOM.Attributes (BaseAttributes)
6−import Beta.DOM.Internal (FFIComponent, createBuiltinElement)
5+import Yoga.React.DOM.Internal (FFIComponent, createBuiltinElement)
6+import React.Basic.Events (EventHandler)
7
7
8+type SummaryProps = (onToggle :: EventHandler | BaseAttributes)
8-- | The `<summary>` HTML element is used as a summary, caption, or legend for the content of a `<details>` element.
9-- | The `<summary>` HTML element is used as a summary, caption, or legend for the content of a `<details>` element.
9-- |
10-- |
10-- | #### Example:
11-- | #### Example:
@@ -15,5 +16,5 @@ import Beta.DOM.Internal (FFIComponent, createBuiltinElement)
15-- | , text "The long version of the details goes here."
16-- | , text "The long version of the details goes here."
16-- | ]
17-- | ]
17-- | ```
18-- | ```
18−summary :: FFIComponent BaseAttributes
19+summary :: FFIComponent SummaryProps
19summary = createBuiltinElement "summary"
20summary = createBuiltinElement "summary"
src/Beta/DOM/HTML/Sup.purs → src/Yoga/React/DOM/HTML/Sup.pursrenamed+3−4
@@ -1,9 +1,8 @@
1−module Beta.DOM.HTML.Sup (sup) where
1+module Yoga.React.DOM.HTML.Sup (sup) where
2
2
3−import Prelude
4
3
5−import Beta.DOM.Attributes (BaseAttributes)
4+import Yoga.React.DOM.Attributes (BaseAttributes)
6−import Beta.DOM.Internal (FFIComponent, createBuiltinElement)
5+import Yoga.React.DOM.Internal (FFIComponent, createBuiltinElement)
7
6
8-- | The `<sup>` HTML element specifies a span of inline text to be displayed at a higher vertical position relative to the text around it for typographical reasons.
7-- | The `<sup>` HTML element specifies a span of inline text to be displayed at a higher vertical position relative to the text around it for typographical reasons.
9-- |
8-- |
src/Beta/DOM/HTML/Table.purs → src/Yoga/React/DOM/HTML/Table.pursrenamed+3−4
@@ -1,9 +1,8 @@
1−module Beta.DOM.HTML.Table (table) where
1+module Yoga.React.DOM.HTML.Table (table) where
2
2
3−import Prelude
4
3
5−import Beta.DOM.Attributes (BaseAttributes)
4+import Yoga.React.DOM.Attributes (BaseAttributes)
6−import Beta.DOM.Internal (FFIComponent, createBuiltinElement)
5+import Yoga.React.DOM.Internal (FFIComponent, createBuiltinElement)
7
6
8-- | The `<table>` HTML element represents data in two dimensions or more.
7-- | The `<table>` HTML element represents data in two dimensions or more.
9-- |
8-- |
src/Beta/DOM/HTML/Tbody.purs → src/Yoga/React/DOM/HTML/Tbody.pursrenamed+3−4
@@ -1,9 +1,8 @@
1−module Beta.DOM.HTML.Tbody (tbody) where
1+module Yoga.React.DOM.HTML.Tbody (tbody) where
2
2
3−import Prelude
4
3
5−import Beta.DOM.Attributes (BaseAttributes)
4+import Yoga.React.DOM.Attributes (BaseAttributes)
6−import Beta.DOM.Internal (FFIComponent, createBuiltinElement)
5+import Yoga.React.DOM.Internal (FFIComponent, createBuiltinElement)
7
6
8-- | The `<tbody>` HTML element groups the body content in a table.
7-- | The `<tbody>` HTML element groups the body content in a table.
9-- |
8-- |
src/Beta/DOM/HTML/Td.purs → src/Yoga/React/DOM/HTML/Td.pursrenamed+3−4
@@ -1,9 +1,8 @@
1−module Beta.DOM.HTML.Td (td) where
1+module Yoga.React.DOM.HTML.Td (td) where
2
2
3−import Prelude
4
3
5−import Beta.DOM.Attributes (BaseAttributes)
4+import Yoga.React.DOM.Attributes (BaseAttributes)
6−import Beta.DOM.Internal (FFIComponent, createBuiltinElement)
5+import Yoga.React.DOM.Internal (FFIComponent, createBuiltinElement)
7
6
8-- | The `<td>` HTML element standard cell in a table. It can be filled with data.
7-- | The `<td>` HTML element standard cell in a table. It can be filled with data.
9-- |
8-- |
src/Beta/DOM/HTML/Template.purs → src/Yoga/React/DOM/HTML/Template.pursrenamed+3−4
@@ -1,9 +1,8 @@
1−module Beta.DOM.HTML.Template (template) where
1+module Yoga.React.DOM.HTML.Template (template) where
2
2
3−import Prelude
4
3
5−import Beta.DOM.Attributes (BaseAttributes)
4+import Yoga.React.DOM.Attributes (BaseAttributes)
6−import Beta.DOM.Internal (FFIComponent, createBuiltinElement)
5+import Yoga.React.DOM.Internal (FFIComponent, createBuiltinElement)
7
6
8-- | The `<template>` HTML element is a mechanism for holding client-side content that is not to be rendered when a page is loaded but may subsequently be instantiated during runtime.
7-- | The `<template>` HTML element is a mechanism for holding client-side content that is not to be rendered when a page is loaded but may subsequently be instantiated during runtime.
9-- | You probably don't want this when using React.
8-- | You probably don't want this when using React.
src/Yoga/React/DOM/HTML/Textarea.pursnew file+42
@@ -0,0 +1,42 @@
1+module Yoga.React.DOM.HTML.Textarea (textarea) where
2+
3+
4+import Yoga.React.DOM.Attributes (BaseAttributesR)
5+import Yoga.React.DOM.Internal (FFIComponent_, createBuiltinElement_)
6+import React.Basic.Events (EventHandler)
7+
8+-- | The `<textarea>` HTML element represents a multi-line plain-text editing control.
9+-- |
10+-- | #### Example:
11+-- |
12+-- | ```purescript
13+-- | textarea { rows: 5, cols: 50, value, onChange }
14+-- | ```
15+--
16+-- | #### Common attributes:
17+-- |
18+-- | | Name | Type | Example | Description |
19+-- | |---------|--------|------------------|-------------|
20+-- | | `cols` | Int | 50 | Specifies the visible width |
21+-- | | `rows` | Int | 5 | Specifies the visible number of lines |
22+textarea :: FFIComponent_ TextareaAttributes
23+textarea = createBuiltinElement_ "textarea"
24+
25+type TextareaAttributes = BaseAttributesR
26+ ( cols :: Int
27+ , rows :: Int
28+ , value :: String
29+ , defaultValue :: String
30+ , autoComplete :: String
31+ , autoFocus :: Boolean
32+ , disabled :: Boolean
33+ , form :: String
34+ , maxLength :: Int
35+ , minLength :: Int
36+ , name :: String
37+ , placeholder :: String
38+ , readOnly :: Boolean
39+ , required :: Boolean
40+ , wrap :: String
41+ , onChange :: EventHandler
42+ )
src/Beta/DOM/HTML/Tfoot.purs → src/Yoga/React/DOM/HTML/Tfoot.pursrenamed+3−4
@@ -1,9 +1,8 @@
1−module Beta.DOM.HTML.Tfoot (tfoot) where
1+module Yoga.React.DOM.HTML.Tfoot (tfoot) where
2
2
3−import Prelude
4
3
5−import Beta.DOM.Attributes (BaseAttributes)
4+import Yoga.React.DOM.Attributes (BaseAttributes)
6−import Beta.DOM.Internal (FFIComponent, createBuiltinElement)
5+import Yoga.React.DOM.Internal (FFIComponent, createBuiltinElement)
7
6
8-- | The `<tfoot>` HTML element a set of rows summarizing the columns of the table.
7-- | The `<tfoot>` HTML element a set of rows summarizing the columns of the table.
9-- | It is a direct child of the `<table>` element.
8-- | It is a direct child of the `<table>` element.
src/Beta/DOM/HTML/Th.purs → src/Yoga/React/DOM/HTML/Th.pursrenamed+3−4
@@ -1,9 +1,8 @@
1−module Beta.DOM.HTML.Th (th) where
1+module Yoga.React.DOM.HTML.Th (th) where
2
2
3−import Prelude
4
3
5−import Beta.DOM.Attributes (BaseAttributes)
4+import Yoga.React.DOM.Attributes (BaseAttributes)
6−import Beta.DOM.Internal (FFIComponent, createBuiltinElement)
5+import Yoga.React.DOM.Internal (FFIComponent, createBuiltinElement)
7
6
8-- | The `<th>` HTML element defines a cell as header of a group of cells. The exact nature of this group depends on the context.
7-- | The `<th>` HTML element defines a cell as header of a group of cells. The exact nature of this group depends on the context.
9-- |
8-- |
src/Beta/DOM/HTML/Thead.purs → src/Yoga/React/DOM/HTML/Thead.pursrenamed+3−4
@@ -1,9 +1,8 @@
1−module Beta.DOM.HTML.Thead (thead) where
1+module Yoga.React.DOM.HTML.Thead (thead) where
2
2
3−import Prelude
4
3
5−import Beta.DOM.Attributes (BaseAttributes)
4+import Yoga.React.DOM.Attributes (BaseAttributes)
6−import Beta.DOM.Internal (FFIComponent, createBuiltinElement)
5+import Yoga.React.DOM.Internal (FFIComponent, createBuiltinElement)
7
6
8-- | The `<thead>` HTML element groups the header content in a table.
7-- | The `<thead>` HTML element groups the header content in a table.
9-- |
8-- |
src/Beta/DOM/HTML/Time.purs → src/Yoga/React/DOM/HTML/Time.pursrenamed+3−4
@@ -1,9 +1,8 @@
1−module Beta.DOM.HTML.Time (time) where
1+module Yoga.React.DOM.HTML.Time (time) where
2
2
3−import Prelude
4
3
5−import Beta.DOM.Attributes (BaseAttributesR)
4+import Yoga.React.DOM.Attributes (BaseAttributesR)
6−import Beta.DOM.Internal (FFIComponent, createBuiltinElement)
5+import Yoga.React.DOM.Internal (FFIComponent, createBuiltinElement)
7
6
8-- | The `<time>` HTML element represents a specific period in time.
7-- | The `<time>` HTML element represents a specific period in time.
9-- |
8-- |
src/Beta/DOM/HTML/Title.purs → src/Yoga/React/DOM/HTML/Title.pursrenamed+2−4
@@ -1,9 +1,7 @@
1−module Beta.DOM.HTML.Title (title) where
1+module Yoga.React.DOM.HTML.Title (title) where
2
2
3−import Prelude
4
3
5−import Beta.DOM.Attributes (BaseAttributes)
6−import Beta.DOM.Internal (FFIComponent, FFIComponent_, createBuiltinElement)
4+import Yoga.React.DOM.Internal (createBuiltinElement)
7import React.Basic (JSX)
5import React.Basic (JSX)
8
6
9-- | The `<title>` tag in HTML, it defines the title of the HTML document, which is shown in a browser's title bar or a page's tab.
7-- | The `<title>` tag in HTML, it defines the title of the HTML document, which is shown in a browser's title bar or a page's tab.
src/Beta/DOM/HTML/Tr.purs → src/Yoga/React/DOM/HTML/Tr.pursrenamed+3−4
@@ -1,9 +1,8 @@
1−module Beta.DOM.HTML.Tr (tr) where
1+module Yoga.React.DOM.HTML.Tr (tr) where
2
2
3−import Prelude
4
3
5−import Beta.DOM.Attributes (BaseAttributes)
4+import Yoga.React.DOM.Attributes (BaseAttributes)
6−import Beta.DOM.Internal (FFIComponent, createBuiltinElement)
5+import Yoga.React.DOM.Internal (FFIComponent, createBuiltinElement)
7
6
8-- | The `<tr>` HTML element defines a row of cells in a table. Those can be a mix of `<td>` and `<th>` elements.
7-- | The `<tr>` HTML element defines a row of cells in a table. Those can be a mix of `<td>` and `<th>` elements.
9-- |
8-- |
src/Beta/DOM/HTML/Track.purs → src/Yoga/React/DOM/HTML/Track.pursrenamed+3−4
@@ -1,9 +1,8 @@
1−module Beta.DOM.HTML.Track (track) where
1+module Yoga.React.DOM.HTML.Track (track) where
2
2
3−import Prelude
4
3
5−import Beta.DOM.Attributes (BaseAttributesR)
4+import Yoga.React.DOM.Attributes (BaseAttributesR)
6−import Beta.DOM.Internal (FFIComponent_, createBuiltinElement_)
5+import Yoga.React.DOM.Internal (FFIComponent_, createBuiltinElement_)
7
6
8-- | The `<track>` HTML element is used as a child of the media elements—`<audio>`, `<video>`. It lets you specify timed text tracks (or time-based data), for example to automatically handle subtitles.
7-- | The `<track>` HTML element is used as a child of the media elements—`<audio>`, `<video>`. It lets you specify timed text tracks (or time-based data), for example to automatically handle subtitles.
9-- |
8-- |
src/Beta/DOM/HTML/U.purs → src/Yoga/React/DOM/HTML/U.pursrenamed+3−4
@@ -1,9 +1,8 @@
1−module Beta.DOM.HTML.U (u) where
1+module Yoga.React.DOM.HTML.U (u) where
2
2
3−import Prelude
4
3
5−import Beta.DOM.Attributes (BaseAttributes)
4+import Yoga.React.DOM.Attributes (BaseAttributes)
6−import Beta.DOM.Internal (FFIComponent, createBuiltinElement)
5+import Yoga.React.DOM.Internal (FFIComponent, createBuiltinElement)
7
6
8-- | The `<u>` HTML element represents an unarticulated annotation. In most languages, this would not change the meaning of the sentence -- it's just a stylistic choice to underline.
7-- | The `<u>` HTML element represents an unarticulated annotation. In most languages, this would not change the meaning of the sentence -- it's just a stylistic choice to underline.
9-- |
8-- |
src/Beta/DOM/HTML/Ul.purs → src/Yoga/React/DOM/HTML/Ul.pursrenamed+3−4
@@ -1,9 +1,8 @@
1−module Beta.DOM.HTML.Ul (ul) where
1+module Yoga.React.DOM.HTML.Ul (ul) where
2
2
3−import Prelude
4
3
5−import Beta.DOM.Attributes (BaseAttributes)
4+import Yoga.React.DOM.Attributes (BaseAttributes)
6−import Beta.DOM.Internal (FFIComponent, FFIComponent_, createBuiltinElement, createBuiltinElement_)
5+import Yoga.React.DOM.Internal (FFIComponent, createBuiltinElement)
7
6
8-- | The `<ul>` tag in HTML, represents an unordered list of items, typically rendered as a bulleted list.
7-- | The `<ul>` tag in HTML, represents an unordered list of items, typically rendered as a bulleted list.
9-- |
8-- |
src/Beta/DOM/HTML/Var.purs → src/Yoga/React/DOM/HTML/Var.pursrenamed+3−4
@@ -1,9 +1,8 @@
1−module Beta.DOM.HTML.Var (var) where
1+module Yoga.React.DOM.HTML.Var (var) where
2
2
3−import Prelude
4
3
5−import Beta.DOM.Attributes (BaseAttributes)
4+import Yoga.React.DOM.Attributes (BaseAttributes)
6−import Beta.DOM.Internal (FFIComponent, createBuiltinElement)
5+import Yoga.React.DOM.Internal (FFIComponent, createBuiltinElement)
7
6
8-- | The `<var>` HTML element represents the name of a variable in a mathematical expression or a programming context.
7-- | The `<var>` HTML element represents the name of a variable in a mathematical expression or a programming context.
9-- |
8-- |
src/Beta/DOM/HTML/Video.purs → src/Yoga/React/DOM/HTML/Video.pursrenamed+3−4
@@ -1,9 +1,8 @@
1−module Beta.DOM.HTML.Video (video) where
1+module Yoga.React.DOM.HTML.Video (video) where
2
2
3−import Prelude
4
3
5−import Beta.DOM.Attributes (BaseAttributesR)
4+import Yoga.React.DOM.Attributes (BaseAttributesR)
6−import Beta.DOM.Internal (FFIComponent, createBuiltinElement)
5+import Yoga.React.DOM.Internal (FFIComponent, createBuiltinElement)
7
6
8-- | The `<video>` HTML element embeds a media player which supports video playback into the document.
7-- | The `<video>` HTML element embeds a media player which supports video playback into the document.
9-- |
8-- |
src/Beta/DOM/HTML/Wbr.purs → src/Yoga/React/DOM/HTML/Wbr.pursrenamed+3−4
@@ -1,9 +1,8 @@
1−module Beta.DOM.HTML.Wbr (wbr) where
1+module Yoga.React.DOM.HTML.Wbr (wbr) where
2
2
3−import Prelude
4
3
5−import Beta.DOM.Attributes (BaseAttributes)
4+import Yoga.React.DOM.Attributes (BaseAttributes)
6−import Beta.DOM.Internal (FFIComponent_, createBuiltinElement_)
5+import Yoga.React.DOM.Internal (FFIComponent_, createBuiltinElement_)
7
6
8-- | The `<wbr>` HTML element represents a word break opportunity—a position within text where the browser may optionally break a line.
7-- | The `<wbr>` HTML element represents a word break opportunity—a position within text where the browser may optionally break a line.
9-- |
8-- |
src/Beta/DOM/Handler.purs → src/Yoga/React/DOM/Handler.pursrenamed+6−4
@@ -1,10 +1,9 @@
1−module Beta.DOM.Handler where
1+module Yoga.React.DOM.Handler where
2
2
3import Prelude
3import Prelude
4−import Effect.Uncurried (EffectFn1, mkEffectFn1)
4+import Effect.Uncurried (mkEffectFn1)
5import Effect (Effect)
5import Effect (Effect)
6−import Beta.DOM.Event (FocusEvent, MouseEvent)
6+import Yoga.React.DOM.Event (FocusEvent, MouseEvent)
7−import Beta.DOM.Attributes (ReactEventHandler(ReactEventHandler))
8import React.Basic.Events (EventHandler)
7import React.Basic.Events (EventHandler)
9import Unsafe.Coerce (unsafeCoerce)
8import Unsafe.Coerce (unsafeCoerce)
10
9
@@ -31,3 +30,6 @@ onMouseOut = mkEffectFn1 <<< unsafeCoerce
31
30
32onMouseDown :: (MouseEvent -> Effect Unit) -> EventHandler
31onMouseDown :: (MouseEvent -> Effect Unit) -> EventHandler
33onMouseDown = mkEffectFn1 <<< unsafeCoerce
32onMouseDown = mkEffectFn1 <<< unsafeCoerce
33+
34+onMouseMove :: (MouseEvent -> Effect Unit) -> EventHandler
35+onMouseMove = mkEffectFn1 <<< unsafeCoerce
src/Beta/DOM/Internal.js → src/Yoga/React/DOM/Internal.jsrenamed

The content is the same.

src/Beta/DOM/Internal.purs → src/Yoga/React/DOM/Internal.pursrenamed+4−7
@@ -1,15 +1,12 @@
1−module Beta.DOM.Internal where
1+module Yoga.React.DOM.Internal where
2
2
3import Prelude
3import Prelude
4
4
5import Data.Function.Uncurried (Fn2, Fn3, runFn2, runFn3)
5import Data.Function.Uncurried (Fn2, Fn3, runFn2, runFn3)
6−import Data.Symbol (class IsSymbol)
7import Prim.Boolean (False, True)
6import Prim.Boolean (False, True)
8−import Prim.Row (class Cons, class Lacks, class Nub, class Union)
7+import Prim.Row (class Cons, class Union)
9−import Prim.Row as Row
10import Prim.RowList (class RowToList, RowList)
8import Prim.RowList (class RowToList, RowList)
11import Prim.Symbol as Symbol
9import Prim.Symbol as Symbol
12−import Prim.TypeError (class Fail, class Warn, Text)
13import React.Basic (JSX, ReactComponent)
10import React.Basic (JSX, ReactComponent)
14import React.Basic.Hooks (ReactChildren)
11import React.Basic.Hooks (ReactChildren)
15import Type.Equality (class TypeEquals)
12import Type.Equality (class TypeEquals)
@@ -18,7 +15,7 @@ import Type.RowList as RL
18import Unsafe.Coerce (unsafeCoerce)
15import Unsafe.Coerce (unsafeCoerce)
19
16
20foreign import createElementImpl :: forall component props children. Fn3 component props children JSX
17foreign import createElementImpl :: forall component props children. Fn3 component props children JSX
21−foreign import createElementNoKidsImpl :: forall component props. Fn2 component props JSX
18+foreign import createElementNoKidsImpl :: forall component props. Fn2 component props JSX
22
19
23createBuiltinElement :: forall props children. String -> props -> children -> JSX
20createBuiltinElement :: forall props children. String -> props -> children -> JSX
24createBuiltinElement = runFn3 createElementImpl
21createBuiltinElement = runFn3 createElementImpl
@@ -26,7 +23,7 @@ createBuiltinElement = runFn3 createElementImpl
26createBuiltinElement_ :: forall props. String -> props -> JSX
23createBuiltinElement_ :: forall props. String -> props -> JSX
27createBuiltinElement_ props = runFn2 createElementNoKidsImpl props
24createBuiltinElement_ props = runFn2 createElementNoKidsImpl props
28
25
29−createElement :: forall props props_ children. IsJSX children => Cons "children" (ReactChildren JSX) props_ props => ReactComponent {|props} -> {|props_} -> children -> JSX
26+createElement :: forall props props_ children. IsJSX children => Cons "children" (ReactChildren JSX) props_ props => ReactComponent { | props } -> { | props_ } -> children -> JSX
30createElement = runFn3 createElementImpl
27createElement = runFn3 createElementImpl
31
28
32createElement_ :: forall props. ReactComponent props -> props -> JSX
29createElement_ :: forall props. ReactComponent props -> props -> JSX
src/Yoga/React/DOM/SVG.pursnew file+139
@@ -0,0 +1,139 @@
1+module Yoga.React.DOM.SVG
2+ ( module Yoga.React.DOM.SVG.Attributes
3+ -- Root / structural
4+ , module Yoga.React.DOM.SVG.Svg
5+ , module Yoga.React.DOM.SVG.G
6+ , module Yoga.React.DOM.SVG.Defs
7+ , module Yoga.React.DOM.SVG.Symbol
8+ , module Yoga.React.DOM.SVG.Use
9+ , module Yoga.React.DOM.SVG.Switch
10+ , module Yoga.React.DOM.SVG.ForeignObject
11+ , module Yoga.React.DOM.SVG.Title
12+ , module Yoga.React.DOM.SVG.Desc
13+ , module Yoga.React.DOM.SVG.Metadata
14+ , module Yoga.React.DOM.SVG.View
15+ , module Yoga.React.DOM.SVG.Script
16+ , module Yoga.React.DOM.SVG.Style
17+ , module Yoga.React.DOM.SVG.A
18+ -- Shapes
19+ , module Yoga.React.DOM.SVG.Path
20+ , module Yoga.React.DOM.SVG.Circle
21+ , module Yoga.React.DOM.SVG.Ellipse
22+ , module Yoga.React.DOM.SVG.Line
23+ , module Yoga.React.DOM.SVG.Polyline
24+ , module Yoga.React.DOM.SVG.Polygon
25+ , module Yoga.React.DOM.SVG.Rect
26+ -- Reference / paint
27+ , module Yoga.React.DOM.SVG.Marker
28+ , module Yoga.React.DOM.SVG.Mask
29+ , module Yoga.React.DOM.SVG.ClipPath
30+ , module Yoga.React.DOM.SVG.Pattern
31+ , module Yoga.React.DOM.SVG.LinearGradient
32+ , module Yoga.React.DOM.SVG.RadialGradient
33+ , module Yoga.React.DOM.SVG.Stop
34+ -- Text
35+ , module Yoga.React.DOM.SVG.Text
36+ , module Yoga.React.DOM.SVG.Tspan
37+ , module Yoga.React.DOM.SVG.TextPath
38+ -- Image / animation
39+ , module Yoga.React.DOM.SVG.Image
40+ , module Yoga.React.DOM.SVG.Animate
41+ , module Yoga.React.DOM.SVG.AnimateTransform
42+ , module Yoga.React.DOM.SVG.AnimateMotion
43+ , module Yoga.React.DOM.SVG.Set
44+ , module Yoga.React.DOM.SVG.Mpath
45+ -- Filter container
46+ , module Yoga.React.DOM.SVG.Filter
47+ -- Filter primitives
48+ , module Yoga.React.DOM.SVG.FeBlend
49+ , module Yoga.React.DOM.SVG.FeColorMatrix
50+ , module Yoga.React.DOM.SVG.FeComponentTransfer
51+ , module Yoga.React.DOM.SVG.FeComposite
52+ , module Yoga.React.DOM.SVG.FeConvolveMatrix
53+ , module Yoga.React.DOM.SVG.FeDiffuseLighting
54+ , module Yoga.React.DOM.SVG.FeDisplacementMap
55+ , module Yoga.React.DOM.SVG.FeDropShadow
56+ , module Yoga.React.DOM.SVG.FeFlood
57+ , module Yoga.React.DOM.SVG.FeFuncA
58+ , module Yoga.React.DOM.SVG.FeFuncB
59+ , module Yoga.React.DOM.SVG.FeFuncG
60+ , module Yoga.React.DOM.SVG.FeFuncR
61+ , module Yoga.React.DOM.SVG.FeGaussianBlur
62+ , module Yoga.React.DOM.SVG.FeImage
63+ , module Yoga.React.DOM.SVG.FeMerge
64+ , module Yoga.React.DOM.SVG.FeMergeNode
65+ , module Yoga.React.DOM.SVG.FeMorphology
66+ , module Yoga.React.DOM.SVG.FeOffset
67+ , module Yoga.React.DOM.SVG.FeSpecularLighting
68+ , module Yoga.React.DOM.SVG.FeTile
69+ , module Yoga.React.DOM.SVG.FeTurbulence
70+ -- Light source children
71+ , module Yoga.React.DOM.SVG.FeDistantLight
72+ , module Yoga.React.DOM.SVG.FePointLight
73+ , module Yoga.React.DOM.SVG.FeSpotLight
74+ ) where
75+
76+import Yoga.React.DOM.SVG.Attributes (SVGAttributes, SVGAttributesR)
77+import Yoga.React.DOM.SVG.Svg (svg, svg_)
78+import Yoga.React.DOM.SVG.G (g, g_)
79+import Yoga.React.DOM.SVG.Defs (defs, defs_)
80+import Yoga.React.DOM.SVG.Symbol (symbol, symbol_)
81+import Yoga.React.DOM.SVG.Use (use, use_)
82+import Yoga.React.DOM.SVG.Switch (switch, switch_)
83+import Yoga.React.DOM.SVG.ForeignObject (foreignObject, foreignObject_)
84+import Yoga.React.DOM.SVG.Title (title, title_)
85+import Yoga.React.DOM.SVG.Desc (desc, desc_)
86+import Yoga.React.DOM.SVG.Metadata (metadata, metadata_)
87+import Yoga.React.DOM.SVG.View (view, view_)
88+import Yoga.React.DOM.SVG.Script (script, script_)
89+import Yoga.React.DOM.SVG.Style (style, style_)
90+import Yoga.React.DOM.SVG.A (a, a_)
91+import Yoga.React.DOM.SVG.Path (path, path_)
92+import Yoga.React.DOM.SVG.Circle (circle, circle_)
93+import Yoga.React.DOM.SVG.Ellipse (ellipse, ellipse_)
94+import Yoga.React.DOM.SVG.Line (line, line_)
95+import Yoga.React.DOM.SVG.Polyline (polyline, polyline_)
96+import Yoga.React.DOM.SVG.Polygon (polygon, polygon_)
97+import Yoga.React.DOM.SVG.Rect (rect, rect_)
98+import Yoga.React.DOM.SVG.Marker (marker, marker_)
99+import Yoga.React.DOM.SVG.Mask (mask, mask_)
100+import Yoga.React.DOM.SVG.ClipPath (clipPath, clipPath_)
101+import Yoga.React.DOM.SVG.Pattern (pattern, pattern_)
102+import Yoga.React.DOM.SVG.LinearGradient (linearGradient, linearGradient_)
103+import Yoga.React.DOM.SVG.RadialGradient (radialGradient, radialGradient_)
104+import Yoga.React.DOM.SVG.Stop (stop, stop_)
105+import Yoga.React.DOM.SVG.Text (text, text_)
106+import Yoga.React.DOM.SVG.Tspan (tspan, tspan_)
107+import Yoga.React.DOM.SVG.TextPath (textPath, textPath_)
108+import Yoga.React.DOM.SVG.Image (image, image_)
109+import Yoga.React.DOM.SVG.Animate (animate, animate_)
110+import Yoga.React.DOM.SVG.AnimateTransform (animateTransform, animateTransform_)
111+import Yoga.React.DOM.SVG.AnimateMotion (animateMotion, animateMotion_)
112+import Yoga.React.DOM.SVG.Set (set, set_)
113+import Yoga.React.DOM.SVG.Mpath (mpath, mpath_)
114+import Yoga.React.DOM.SVG.Filter (filter, filter_)
115+import Yoga.React.DOM.SVG.FeBlend (feBlend, feBlend_)
116+import Yoga.React.DOM.SVG.FeColorMatrix (feColorMatrix, feColorMatrix_)
117+import Yoga.React.DOM.SVG.FeComponentTransfer (feComponentTransfer, feComponentTransfer_)
118+import Yoga.React.DOM.SVG.FeComposite (feComposite, feComposite_)
119+import Yoga.React.DOM.SVG.FeConvolveMatrix (feConvolveMatrix, feConvolveMatrix_)
120+import Yoga.React.DOM.SVG.FeDiffuseLighting (feDiffuseLighting, feDiffuseLighting_)
121+import Yoga.React.DOM.SVG.FeDisplacementMap (feDisplacementMap, feDisplacementMap_)
122+import Yoga.React.DOM.SVG.FeDropShadow (feDropShadow, feDropShadow_)
123+import Yoga.React.DOM.SVG.FeFlood (feFlood, feFlood_)
124+import Yoga.React.DOM.SVG.FeFuncA (feFuncA, feFuncA_)
125+import Yoga.React.DOM.SVG.FeFuncB (feFuncB, feFuncB_)
126+import Yoga.React.DOM.SVG.FeFuncG (feFuncG, feFuncG_)
127+import Yoga.React.DOM.SVG.FeFuncR (feFuncR, feFuncR_)
128+import Yoga.React.DOM.SVG.FeGaussianBlur (feGaussianBlur, feGaussianBlur_)
129+import Yoga.React.DOM.SVG.FeImage (feImage, feImage_)
130+import Yoga.React.DOM.SVG.FeMerge (feMerge, feMerge_)
131+import Yoga.React.DOM.SVG.FeMergeNode (feMergeNode, feMergeNode_)
132+import Yoga.React.DOM.SVG.FeMorphology (feMorphology, feMorphology_)
133+import Yoga.React.DOM.SVG.FeOffset (feOffset, feOffset_)
134+import Yoga.React.DOM.SVG.FeSpecularLighting (feSpecularLighting, feSpecularLighting_)
135+import Yoga.React.DOM.SVG.FeTile (feTile, feTile_)
136+import Yoga.React.DOM.SVG.FeTurbulence (feTurbulence, feTurbulence_)
137+import Yoga.React.DOM.SVG.FeDistantLight (feDistantLight, feDistantLight_)
138+import Yoga.React.DOM.SVG.FePointLight (fePointLight, fePointLight_)
139+import Yoga.React.DOM.SVG.FeSpotLight (feSpotLight, feSpotLight_)
src/Yoga/React/DOM/SVG/A.pursnew file+11
@@ -0,0 +1,11 @@
1+module Yoga.React.DOM.SVG.A (a, a_) where
2+
3+import Yoga.React.DOM.Internal (FFIComponent, FFIComponent_, createBuiltinElement, createBuiltinElement_)
4+import Yoga.React.DOM.SVG.Attributes (SVGAttributes)
5+
6+-- | The SVG `<a>` element creates a hyperlink. Distinct from the HTML <a> — children can be any SVG shape.
7+a :: FFIComponent SVGAttributes
8+a = createBuiltinElement "a"
9+
10+a_ :: FFIComponent_ SVGAttributes
11+a_ = createBuiltinElement_ "a"
src/Yoga/React/DOM/SVG/Animate.pursnew file+11
@@ -0,0 +1,11 @@
1+module Yoga.React.DOM.SVG.Animate (animate, animate_) where
2+
3+import Yoga.React.DOM.Internal (FFIComponent, FFIComponent_, createBuiltinElement, createBuiltinElement_)
4+import Yoga.React.DOM.SVG.Attributes (SVGAttributes)
5+
6+-- | The `<animate>` SVG element animates an attribute of its parent over time.
7+animate :: FFIComponent SVGAttributes
8+animate = createBuiltinElement "animate"
9+
10+animate_ :: FFIComponent_ SVGAttributes
11+animate_ = createBuiltinElement_ "animate"
src/Yoga/React/DOM/SVG/AnimateMotion.pursnew file+11
@@ -0,0 +1,11 @@
1+module Yoga.React.DOM.SVG.AnimateMotion (animateMotion, animateMotion_) where
2+
3+import Yoga.React.DOM.Internal (FFIComponent, FFIComponent_, createBuiltinElement, createBuiltinElement_)
4+import Yoga.React.DOM.SVG.Attributes (SVGAttributes)
5+
6+-- | The `<animateMotion>` SVG element moves the parent along a motion path.
7+animateMotion :: FFIComponent SVGAttributes
8+animateMotion = createBuiltinElement "animateMotion"
9+
10+animateMotion_ :: FFIComponent_ SVGAttributes
11+animateMotion_ = createBuiltinElement_ "animateMotion"
src/Yoga/React/DOM/SVG/AnimateTransform.pursnew file+11
@@ -0,0 +1,11 @@
1+module Yoga.React.DOM.SVG.AnimateTransform (animateTransform, animateTransform_) where
2+
3+import Yoga.React.DOM.Internal (FFIComponent, FFIComponent_, createBuiltinElement, createBuiltinElement_)
4+import Yoga.React.DOM.SVG.Attributes (SVGAttributes)
5+
6+-- | The `<animateTransform>` SVG element animates a transform attribute (translate, rotate, scale, skew).
7+animateTransform :: FFIComponent SVGAttributes
8+animateTransform = createBuiltinElement "animateTransform"
9+
10+animateTransform_ :: FFIComponent_ SVGAttributes
11+animateTransform_ = createBuiltinElement_ "animateTransform"
src/Yoga/React/DOM/SVG/Attributes.pursnew file+202
@@ -0,0 +1,202 @@
1+module Yoga.React.DOM.SVG.Attributes where
2+
3+import Yoga.React.DOM.Attributes (BaseAttributesR)
4+
5+-- | Attribute row shared by SVG elements. Intentionally permissive: SVG
6+-- | presentation attributes (fill, stroke, opacity…) apply to nearly every
7+-- | element, so per-tag splitting buys little safety.
8+-- |
9+-- | Note: SVG's `in` filter input attribute clashes with the PureScript
10+-- | reserved word — write it as the quoted field `"in": "SourceGraphic"`.
11+type SVGAttributes = BaseAttributesR SVGAttributesR
12+
13+type SVGAttributesR =
14+ -- Layout / viewport / transform
15+ ( viewBox :: String
16+ , width :: String
17+ , height :: String
18+ , preserveAspectRatio :: String
19+ , x :: String
20+ , y :: String
21+ , dx :: String
22+ , dy :: String
23+ , transform :: String
24+ , transformOrigin :: String
25+ -- Stroke
26+ , stroke :: String
27+ , strokeWidth :: String
28+ , strokeLinecap :: String
29+ , strokeLinejoin :: String
30+ , strokeDasharray :: String
31+ , strokeDashoffset :: String
32+ , strokeMiterlimit :: String
33+ , strokeOpacity :: String
34+ -- Fill
35+ , fill :: String
36+ , fillOpacity :: String
37+ , fillRule :: String
38+ , opacity :: String
39+ , color :: String
40+ , colorInterpolation :: String
41+ , colorInterpolationFilters :: String
42+ -- Path / shape geometry
43+ , d :: String
44+ , points :: String
45+ , cx :: String
46+ , cy :: String
47+ , r :: String
48+ , rx :: String
49+ , ry :: String
50+ , x1 :: String
51+ , y1 :: String
52+ , x2 :: String
53+ , y2 :: String
54+ , pathLength :: String
55+ -- Text
56+ , textAnchor :: String
57+ , dominantBaseline :: String
58+ , alignmentBaseline :: String
59+ , baselineShift :: String
60+ , fontSize :: String
61+ , fontFamily :: String
62+ , fontWeight :: String
63+ , fontStyle :: String
64+ , letterSpacing :: String
65+ , wordSpacing :: String
66+ , textDecoration :: String
67+ , writingMode :: String
68+ , direction :: String
69+ , textLength :: String
70+ , lengthAdjust :: String
71+ , rotate :: String
72+ , startOffset :: String
73+ , method :: String
74+ , spacing :: String
75+ , side :: String
76+ -- Gradients / refs / paint server
77+ , href :: String
78+ , xlinkHref :: String
79+ , offset :: String
80+ , stopColor :: String
81+ , stopOpacity :: String
82+ , gradientUnits :: String
83+ , gradientTransform :: String
84+ , spreadMethod :: String
85+ , fx :: String
86+ , fy :: String
87+ , fr :: String
88+ -- Clipping / masking / filtering / markers
89+ , clipPath :: String
90+ , clipPathUnits :: String
91+ , clipRule :: String
92+ , mask :: String
93+ , maskUnits :: String
94+ , maskContentUnits :: String
95+ , filter :: String
96+ , filterUnits :: String
97+ , primitiveUnits :: String
98+ , markerEnd :: String
99+ , markerMid :: String
100+ , markerStart :: String
101+ , markerUnits :: String
102+ , markerWidth :: String
103+ , markerHeight :: String
104+ , refX :: String
105+ , refY :: String
106+ , orient :: String
107+ , vectorEffect :: String
108+ , pointerEvents :: String
109+ , shapeRendering :: String
110+ , imageRendering :: String
111+ , textRendering :: String
112+ , overflow :: String
113+ , visibility :: String
114+ , display :: String
115+ -- Pattern
116+ , patternUnits :: String
117+ , patternContentUnits :: String
118+ , patternTransform :: String
119+ -- <use> / <image> / external refs
120+ , crossOrigin :: String
121+ , decoding :: String
122+ , loading :: String
123+ -- Animation (animate/animateTransform/animateMotion/set)
124+ , attributeName :: String
125+ , attributeType :: String
126+ , from :: String
127+ , to :: String
128+ , dur :: String
129+ , begin :: String
130+ , end :: String
131+ , min :: String
132+ , max :: String
133+ , repeatCount :: String
134+ , repeatDur :: String
135+ , calcMode :: String
136+ , values :: String
137+ , keyTimes :: String
138+ , keySplines :: String
139+ , additive :: String
140+ , accumulate :: String
141+ , restart :: String
142+ , by :: String
143+ , type :: String
144+ , keyPoints :: String
145+ -- Filter primitives — common attrs (use "in" as a quoted field)
146+ , in2 :: String
147+ , result :: String
148+ , stdDeviation :: String
149+ , edgeMode :: String
150+ , mode :: String
151+ , floodColor :: String
152+ , floodOpacity :: String
153+ , operator :: String
154+ , k1 :: String
155+ , k2 :: String
156+ , k3 :: String
157+ , k4 :: String
158+ , radius :: String
159+ , baseFrequency :: String
160+ , numOctaves :: String
161+ , seed :: String
162+ , stitchTiles :: String
163+ , scale :: String
164+ , xChannelSelector :: String
165+ , yChannelSelector :: String
166+ , slope :: String
167+ , intercept :: String
168+ , amplitude :: String
169+ , exponent :: String
170+ , divisor :: String
171+ , bias :: String
172+ , targetX :: String
173+ , targetY :: String
174+ , kernelMatrix :: String
175+ , kernelUnitLength :: String
176+ , order :: String
177+ , preserveAlpha :: String
178+ -- Lighting filter primitives
179+ , surfaceScale :: String
180+ , diffuseConstant :: String
181+ , specularConstant :: String
182+ , specularExponent :: String
183+ , lightingColor :: String
184+ , azimuth :: String
185+ , elevation :: String
186+ , z :: String
187+ , pointsAtX :: String
188+ , pointsAtY :: String
189+ , pointsAtZ :: String
190+ , limitingConeAngle :: String
191+ -- feComponentTransfer / feFunc*
192+ , tableValues :: String
193+ -- View / metadata
194+ , zoomAndPan :: String
195+ , content :: String
196+ -- mpath / use external refs (in addition to href/xlinkHref above)
197+ , externalResourcesRequired :: String
198+ -- SVG root only
199+ , xmlns :: String
200+ , xmlnsXlink :: String
201+ , version :: String
202+ )
src/Yoga/React/DOM/SVG/Circle.pursnew file+12
@@ -0,0 +1,12 @@
1+module Yoga.React.DOM.SVG.Circle (circle, circle_) where
2+
3+import Yoga.React.DOM.Internal (FFIComponent, FFIComponent_, createBuiltinElement, createBuiltinElement_)
4+import Yoga.React.DOM.SVG.Attributes (SVGAttributes)
5+
6+-- | The `<circle>` SVG element draws a circle, based on a center point and a
7+-- | radius. Use `cx`, `cy`, and `r`.
8+circle :: FFIComponent SVGAttributes
9+circle = createBuiltinElement "circle"
10+
11+circle_ :: FFIComponent_ SVGAttributes
12+circle_ = createBuiltinElement_ "circle"
src/Yoga/React/DOM/SVG/ClipPath.pursnew file+11
@@ -0,0 +1,11 @@
1+module Yoga.React.DOM.SVG.ClipPath (clipPath, clipPath_) where
2+
3+import Yoga.React.DOM.Internal (FFIComponent, FFIComponent_, createBuiltinElement, createBuiltinElement_)
4+import Yoga.React.DOM.SVG.Attributes (SVGAttributes)
5+
6+-- | The `<clipPath>` SVG element restricts where paint is applied on the canvas.
7+clipPath :: FFIComponent SVGAttributes
8+clipPath = createBuiltinElement "clipPath"
9+
10+clipPath_ :: FFIComponent_ SVGAttributes
11+clipPath_ = createBuiltinElement_ "clipPath"
src/Yoga/React/DOM/SVG/Defs.pursnew file+11
@@ -0,0 +1,11 @@
1+module Yoga.React.DOM.SVG.Defs (defs, defs_) where
2+
3+import Yoga.React.DOM.Internal (FFIComponent, FFIComponent_, createBuiltinElement, createBuiltinElement_)
4+import Yoga.React.DOM.SVG.Attributes (SVGAttributes)
5+
6+-- | The `<defs>` SVG element holds reusable elements (gradients, patterns, symbols).
7+defs :: FFIComponent SVGAttributes
8+defs = createBuiltinElement "defs"
9+
10+defs_ :: FFIComponent_ SVGAttributes
11+defs_ = createBuiltinElement_ "defs"
src/Yoga/React/DOM/SVG/Desc.pursnew file+11
@@ -0,0 +1,11 @@
1+module Yoga.React.DOM.SVG.Desc (desc, desc_) where
2+
3+import Yoga.React.DOM.Internal (FFIComponent, FFIComponent_, createBuiltinElement, createBuiltinElement_)
4+import Yoga.React.DOM.SVG.Attributes (SVGAttributes)
5+
6+-- | The `<desc>` SVG element provides an accessible long description for its parent.
7+desc :: FFIComponent SVGAttributes
8+desc = createBuiltinElement "desc"
9+
10+desc_ :: FFIComponent_ SVGAttributes
11+desc_ = createBuiltinElement_ "desc"
src/Yoga/React/DOM/SVG/Ellipse.pursnew file+11
@@ -0,0 +1,11 @@
1+module Yoga.React.DOM.SVG.Ellipse (ellipse, ellipse_) where
2+
3+import Yoga.React.DOM.Internal (FFIComponent, FFIComponent_, createBuiltinElement, createBuiltinElement_)
4+import Yoga.React.DOM.SVG.Attributes (SVGAttributes)
5+
6+-- | The `<ellipse>` SVG element draws an ellipse from cx/cy and rx/ry.
7+ellipse :: FFIComponent SVGAttributes
8+ellipse = createBuiltinElement "ellipse"
9+
10+ellipse_ :: FFIComponent_ SVGAttributes
11+ellipse_ = createBuiltinElement_ "ellipse"
src/Yoga/React/DOM/SVG/FeBlend.pursnew file+11
@@ -0,0 +1,11 @@
1+module Yoga.React.DOM.SVG.FeBlend (feBlend, feBlend_) where
2+
3+import Yoga.React.DOM.Internal (FFIComponent, FFIComponent_, createBuiltinElement, createBuiltinElement_)
4+import Yoga.React.DOM.SVG.Attributes (SVGAttributes)
5+
6+-- | Filter primitive: blend two inputs using a blend mode.
7+feBlend :: FFIComponent SVGAttributes
8+feBlend = createBuiltinElement "feBlend"
9+
10+feBlend_ :: FFIComponent_ SVGAttributes
11+feBlend_ = createBuiltinElement_ "feBlend"
src/Yoga/React/DOM/SVG/FeColorMatrix.pursnew file+11
@@ -0,0 +1,11 @@
1+module Yoga.React.DOM.SVG.FeColorMatrix (feColorMatrix, feColorMatrix_) where
2+
3+import Yoga.React.DOM.Internal (FFIComponent, FFIComponent_, createBuiltinElement, createBuiltinElement_)
4+import Yoga.React.DOM.SVG.Attributes (SVGAttributes)
5+
6+-- | Filter primitive: apply a 4×5 color matrix transform.
7+feColorMatrix :: FFIComponent SVGAttributes
8+feColorMatrix = createBuiltinElement "feColorMatrix"
9+
10+feColorMatrix_ :: FFIComponent_ SVGAttributes
11+feColorMatrix_ = createBuiltinElement_ "feColorMatrix"
src/Yoga/React/DOM/SVG/FeComponentTransfer.pursnew file+11
@@ -0,0 +1,11 @@
1+module Yoga.React.DOM.SVG.FeComponentTransfer (feComponentTransfer, feComponentTransfer_) where
2+
3+import Yoga.React.DOM.Internal (FFIComponent, FFIComponent_, createBuiltinElement, createBuiltinElement_)
4+import Yoga.React.DOM.SVG.Attributes (SVGAttributes)
5+
6+-- | Filter primitive: per-channel component transfer; takes feFunc{R,G,B,A} children.
7+feComponentTransfer :: FFIComponent SVGAttributes
8+feComponentTransfer = createBuiltinElement "feComponentTransfer"
9+
10+feComponentTransfer_ :: FFIComponent_ SVGAttributes
11+feComponentTransfer_ = createBuiltinElement_ "feComponentTransfer"
src/Yoga/React/DOM/SVG/FeComposite.pursnew file+11
@@ -0,0 +1,11 @@
1+module Yoga.React.DOM.SVG.FeComposite (feComposite, feComposite_) where
2+
3+import Yoga.React.DOM.Internal (FFIComponent, FFIComponent_, createBuiltinElement, createBuiltinElement_)
4+import Yoga.React.DOM.SVG.Attributes (SVGAttributes)
5+
6+-- | Filter primitive: combine two inputs using Porter-Duff or arithmetic operators.
7+feComposite :: FFIComponent SVGAttributes
8+feComposite = createBuiltinElement "feComposite"
9+
10+feComposite_ :: FFIComponent_ SVGAttributes
11+feComposite_ = createBuiltinElement_ "feComposite"
src/Yoga/React/DOM/SVG/FeConvolveMatrix.pursnew file+11
@@ -0,0 +1,11 @@
1+module Yoga.React.DOM.SVG.FeConvolveMatrix (feConvolveMatrix, feConvolveMatrix_) where
2+
3+import Yoga.React.DOM.Internal (FFIComponent, FFIComponent_, createBuiltinElement, createBuiltinElement_)
4+import Yoga.React.DOM.SVG.Attributes (SVGAttributes)
5+
6+-- | Filter primitive: apply an arbitrary convolution matrix to the input.
7+feConvolveMatrix :: FFIComponent SVGAttributes
8+feConvolveMatrix = createBuiltinElement "feConvolveMatrix"
9+
10+feConvolveMatrix_ :: FFIComponent_ SVGAttributes
11+feConvolveMatrix_ = createBuiltinElement_ "feConvolveMatrix"
src/Yoga/React/DOM/SVG/FeDiffuseLighting.pursnew file+11
@@ -0,0 +1,11 @@
1+module Yoga.React.DOM.SVG.FeDiffuseLighting (feDiffuseLighting, feDiffuseLighting_) where
2+
3+import Yoga.React.DOM.Internal (FFIComponent, FFIComponent_, createBuiltinElement, createBuiltinElement_)
4+import Yoga.React.DOM.SVG.Attributes (SVGAttributes)
5+
6+-- | Filter primitive: light the input image as a diffuse surface.
7+feDiffuseLighting :: FFIComponent SVGAttributes
8+feDiffuseLighting = createBuiltinElement "feDiffuseLighting"
9+
10+feDiffuseLighting_ :: FFIComponent_ SVGAttributes
11+feDiffuseLighting_ = createBuiltinElement_ "feDiffuseLighting"
src/Yoga/React/DOM/SVG/FeDisplacementMap.pursnew file+11
@@ -0,0 +1,11 @@
1+module Yoga.React.DOM.SVG.FeDisplacementMap (feDisplacementMap, feDisplacementMap_) where
2+
3+import Yoga.React.DOM.Internal (FFIComponent, FFIComponent_, createBuiltinElement, createBuiltinElement_)
4+import Yoga.React.DOM.SVG.Attributes (SVGAttributes)
5+
6+-- | Filter primitive: displace input pixels by values from another input.
7+feDisplacementMap :: FFIComponent SVGAttributes
8+feDisplacementMap = createBuiltinElement "feDisplacementMap"
9+
10+feDisplacementMap_ :: FFIComponent_ SVGAttributes
11+feDisplacementMap_ = createBuiltinElement_ "feDisplacementMap"
src/Yoga/React/DOM/SVG/FeDistantLight.pursnew file+11
@@ -0,0 +1,11 @@
1+module Yoga.React.DOM.SVG.FeDistantLight (feDistantLight, feDistantLight_) where
2+
3+import Yoga.React.DOM.Internal (FFIComponent, FFIComponent_, createBuiltinElement, createBuiltinElement_)
4+import Yoga.React.DOM.SVG.Attributes (SVGAttributes)
5+
6+-- | Light source child for feDiffuseLighting/feSpecularLighting: a distant directional light.
7+feDistantLight :: FFIComponent SVGAttributes
8+feDistantLight = createBuiltinElement "feDistantLight"
9+
10+feDistantLight_ :: FFIComponent_ SVGAttributes
11+feDistantLight_ = createBuiltinElement_ "feDistantLight"
src/Yoga/React/DOM/SVG/FeDropShadow.pursnew file+11
@@ -0,0 +1,11 @@
1+module Yoga.React.DOM.SVG.FeDropShadow (feDropShadow, feDropShadow_) where
2+
3+import Yoga.React.DOM.Internal (FFIComponent, FFIComponent_, createBuiltinElement, createBuiltinElement_)
4+import Yoga.React.DOM.SVG.Attributes (SVGAttributes)
5+
6+-- | Filter primitive: emit a drop shadow of the input.
7+feDropShadow :: FFIComponent SVGAttributes
8+feDropShadow = createBuiltinElement "feDropShadow"
9+
10+feDropShadow_ :: FFIComponent_ SVGAttributes
11+feDropShadow_ = createBuiltinElement_ "feDropShadow"
src/Yoga/React/DOM/SVG/FeFlood.pursnew file+11
@@ -0,0 +1,11 @@
1+module Yoga.React.DOM.SVG.FeFlood (feFlood, feFlood_) where
2+
3+import Yoga.React.DOM.Internal (FFIComponent, FFIComponent_, createBuiltinElement, createBuiltinElement_)
4+import Yoga.React.DOM.SVG.Attributes (SVGAttributes)
5+
6+-- | Filter primitive: flood the filter region with a single color.
7+feFlood :: FFIComponent SVGAttributes
8+feFlood = createBuiltinElement "feFlood"
9+
10+feFlood_ :: FFIComponent_ SVGAttributes
11+feFlood_ = createBuiltinElement_ "feFlood"
src/Yoga/React/DOM/SVG/FeFuncA.pursnew file+11
@@ -0,0 +1,11 @@
1+module Yoga.React.DOM.SVG.FeFuncA (feFuncA, feFuncA_) where
2+
3+import Yoga.React.DOM.Internal (FFIComponent, FFIComponent_, createBuiltinElement, createBuiltinElement_)
4+import Yoga.React.DOM.SVG.Attributes (SVGAttributes)
5+
6+-- | Per-channel transfer function (A) child of feComponentTransfer.
7+feFuncA :: FFIComponent SVGAttributes
8+feFuncA = createBuiltinElement "feFuncA"
9+
10+feFuncA_ :: FFIComponent_ SVGAttributes
11+feFuncA_ = createBuiltinElement_ "feFuncA"
src/Yoga/React/DOM/SVG/FeFuncB.pursnew file+11
@@ -0,0 +1,11 @@
1+module Yoga.React.DOM.SVG.FeFuncB (feFuncB, feFuncB_) where
2+
3+import Yoga.React.DOM.Internal (FFIComponent, FFIComponent_, createBuiltinElement, createBuiltinElement_)
4+import Yoga.React.DOM.SVG.Attributes (SVGAttributes)
5+
6+-- | Per-channel transfer function (B) child of feComponentTransfer.
7+feFuncB :: FFIComponent SVGAttributes
8+feFuncB = createBuiltinElement "feFuncB"
9+
10+feFuncB_ :: FFIComponent_ SVGAttributes
11+feFuncB_ = createBuiltinElement_ "feFuncB"
src/Yoga/React/DOM/SVG/FeFuncG.pursnew file+11
@@ -0,0 +1,11 @@
1+module Yoga.React.DOM.SVG.FeFuncG (feFuncG, feFuncG_) where
2+
3+import Yoga.React.DOM.Internal (FFIComponent, FFIComponent_, createBuiltinElement, createBuiltinElement_)
4+import Yoga.React.DOM.SVG.Attributes (SVGAttributes)
5+
6+-- | Per-channel transfer function (G) child of feComponentTransfer.
7+feFuncG :: FFIComponent SVGAttributes
8+feFuncG = createBuiltinElement "feFuncG"
9+
10+feFuncG_ :: FFIComponent_ SVGAttributes
11+feFuncG_ = createBuiltinElement_ "feFuncG"
src/Yoga/React/DOM/SVG/FeFuncR.pursnew file+11
@@ -0,0 +1,11 @@
1+module Yoga.React.DOM.SVG.FeFuncR (feFuncR, feFuncR_) where
2+
3+import Yoga.React.DOM.Internal (FFIComponent, FFIComponent_, createBuiltinElement, createBuiltinElement_)
4+import Yoga.React.DOM.SVG.Attributes (SVGAttributes)
5+
6+-- | Per-channel transfer function (R) child of feComponentTransfer.
7+feFuncR :: FFIComponent SVGAttributes
8+feFuncR = createBuiltinElement "feFuncR"
9+
10+feFuncR_ :: FFIComponent_ SVGAttributes
11+feFuncR_ = createBuiltinElement_ "feFuncR"
src/Yoga/React/DOM/SVG/FeGaussianBlur.pursnew file+11
@@ -0,0 +1,11 @@
1+module Yoga.React.DOM.SVG.FeGaussianBlur (feGaussianBlur, feGaussianBlur_) where
2+
3+import Yoga.React.DOM.Internal (FFIComponent, FFIComponent_, createBuiltinElement, createBuiltinElement_)
4+import Yoga.React.DOM.SVG.Attributes (SVGAttributes)
5+
6+-- | Filter primitive: Gaussian blur with stdDeviation.
7+feGaussianBlur :: FFIComponent SVGAttributes
8+feGaussianBlur = createBuiltinElement "feGaussianBlur"
9+
10+feGaussianBlur_ :: FFIComponent_ SVGAttributes
11+feGaussianBlur_ = createBuiltinElement_ "feGaussianBlur"
src/Yoga/React/DOM/SVG/FeImage.pursnew file+11
@@ -0,0 +1,11 @@
1+module Yoga.React.DOM.SVG.FeImage (feImage, feImage_) where
2+
3+import Yoga.React.DOM.Internal (FFIComponent, FFIComponent_, createBuiltinElement, createBuiltinElement_)
4+import Yoga.React.DOM.SVG.Attributes (SVGAttributes)
5+
6+-- | Filter primitive: source the filter region from an external image or SVG fragment.
7+feImage :: FFIComponent SVGAttributes
8+feImage = createBuiltinElement "feImage"
9+
10+feImage_ :: FFIComponent_ SVGAttributes
11+feImage_ = createBuiltinElement_ "feImage"
src/Yoga/React/DOM/SVG/FeMerge.pursnew file+11
@@ -0,0 +1,11 @@
1+module Yoga.React.DOM.SVG.FeMerge (feMerge, feMerge_) where
2+
3+import Yoga.React.DOM.Internal (FFIComponent, FFIComponent_, createBuiltinElement, createBuiltinElement_)
4+import Yoga.React.DOM.SVG.Attributes (SVGAttributes)
5+
6+-- | Filter primitive: stack feMergeNode inputs on top of each other.
7+feMerge :: FFIComponent SVGAttributes
8+feMerge = createBuiltinElement "feMerge"
9+
10+feMerge_ :: FFIComponent_ SVGAttributes
11+feMerge_ = createBuiltinElement_ "feMerge"
src/Yoga/React/DOM/SVG/FeMergeNode.pursnew file+11
@@ -0,0 +1,11 @@
1+module Yoga.React.DOM.SVG.FeMergeNode (feMergeNode, feMergeNode_) where
2+
3+import Yoga.React.DOM.Internal (FFIComponent, FFIComponent_, createBuiltinElement, createBuiltinElement_)
4+import Yoga.React.DOM.SVG.Attributes (SVGAttributes)
5+
6+-- | Filter primitive child: a single layer fed to feMerge.
7+feMergeNode :: FFIComponent SVGAttributes
8+feMergeNode = createBuiltinElement "feMergeNode"
9+
10+feMergeNode_ :: FFIComponent_ SVGAttributes
11+feMergeNode_ = createBuiltinElement_ "feMergeNode"
src/Yoga/React/DOM/SVG/FeMorphology.pursnew file+11
@@ -0,0 +1,11 @@
1+module Yoga.React.DOM.SVG.FeMorphology (feMorphology, feMorphology_) where
2+
3+import Yoga.React.DOM.Internal (FFIComponent, FFIComponent_, createBuiltinElement, createBuiltinElement_)
4+import Yoga.React.DOM.SVG.Attributes (SVGAttributes)
5+
6+-- | Filter primitive: erode or dilate the input.
7+feMorphology :: FFIComponent SVGAttributes
8+feMorphology = createBuiltinElement "feMorphology"
9+
10+feMorphology_ :: FFIComponent_ SVGAttributes
11+feMorphology_ = createBuiltinElement_ "feMorphology"
src/Yoga/React/DOM/SVG/FeOffset.pursnew file+11
@@ -0,0 +1,11 @@
1+module Yoga.React.DOM.SVG.FeOffset (feOffset, feOffset_) where
2+
3+import Yoga.React.DOM.Internal (FFIComponent, FFIComponent_, createBuiltinElement, createBuiltinElement_)
4+import Yoga.React.DOM.SVG.Attributes (SVGAttributes)
5+
6+-- | Filter primitive: offset input by dx/dy.
7+feOffset :: FFIComponent SVGAttributes
8+feOffset = createBuiltinElement "feOffset"
9+
10+feOffset_ :: FFIComponent_ SVGAttributes
11+feOffset_ = createBuiltinElement_ "feOffset"
src/Yoga/React/DOM/SVG/FePointLight.pursnew file+11
@@ -0,0 +1,11 @@
1+module Yoga.React.DOM.SVG.FePointLight (fePointLight, fePointLight_) where
2+
3+import Yoga.React.DOM.Internal (FFIComponent, FFIComponent_, createBuiltinElement, createBuiltinElement_)
4+import Yoga.React.DOM.SVG.Attributes (SVGAttributes)
5+
6+-- | Light source child for feDiffuseLighting/feSpecularLighting: a point light at (x,y,z).
7+fePointLight :: FFIComponent SVGAttributes
8+fePointLight = createBuiltinElement "fePointLight"
9+
10+fePointLight_ :: FFIComponent_ SVGAttributes
11+fePointLight_ = createBuiltinElement_ "fePointLight"
src/Yoga/React/DOM/SVG/FeSpecularLighting.pursnew file+11
@@ -0,0 +1,11 @@
1+module Yoga.React.DOM.SVG.FeSpecularLighting (feSpecularLighting, feSpecularLighting_) where
2+
3+import Yoga.React.DOM.Internal (FFIComponent, FFIComponent_, createBuiltinElement, createBuiltinElement_)
4+import Yoga.React.DOM.SVG.Attributes (SVGAttributes)
5+
6+-- | Filter primitive: light the input image as a specular surface.
7+feSpecularLighting :: FFIComponent SVGAttributes
8+feSpecularLighting = createBuiltinElement "feSpecularLighting"
9+
10+feSpecularLighting_ :: FFIComponent_ SVGAttributes
11+feSpecularLighting_ = createBuiltinElement_ "feSpecularLighting"
src/Yoga/React/DOM/SVG/FeSpotLight.pursnew file+11
@@ -0,0 +1,11 @@
1+module Yoga.React.DOM.SVG.FeSpotLight (feSpotLight, feSpotLight_) where
2+
3+import Yoga.React.DOM.Internal (FFIComponent, FFIComponent_, createBuiltinElement, createBuiltinElement_)
4+import Yoga.React.DOM.SVG.Attributes (SVGAttributes)
5+
6+-- | Light source child for feDiffuseLighting/feSpecularLighting: a directional spot light.
7+feSpotLight :: FFIComponent SVGAttributes
8+feSpotLight = createBuiltinElement "feSpotLight"
9+
10+feSpotLight_ :: FFIComponent_ SVGAttributes
11+feSpotLight_ = createBuiltinElement_ "feSpotLight"
src/Yoga/React/DOM/SVG/FeTile.pursnew file+11
@@ -0,0 +1,11 @@
1+module Yoga.React.DOM.SVG.FeTile (feTile, feTile_) where
2+
3+import Yoga.React.DOM.Internal (FFIComponent, FFIComponent_, createBuiltinElement, createBuiltinElement_)
4+import Yoga.React.DOM.SVG.Attributes (SVGAttributes)
5+
6+-- | Filter primitive: tile its input to fill the filter region.
7+feTile :: FFIComponent SVGAttributes
8+feTile = createBuiltinElement "feTile"
9+
10+feTile_ :: FFIComponent_ SVGAttributes
11+feTile_ = createBuiltinElement_ "feTile"
src/Yoga/React/DOM/SVG/FeTurbulence.pursnew file+11
@@ -0,0 +1,11 @@
1+module Yoga.React.DOM.SVG.FeTurbulence (feTurbulence, feTurbulence_) where
2+
3+import Yoga.React.DOM.Internal (FFIComponent, FFIComponent_, createBuiltinElement, createBuiltinElement_)
4+import Yoga.React.DOM.SVG.Attributes (SVGAttributes)
5+
6+-- | Filter primitive: generate Perlin turbulence noise.
7+feTurbulence :: FFIComponent SVGAttributes
8+feTurbulence = createBuiltinElement "feTurbulence"
9+
10+feTurbulence_ :: FFIComponent_ SVGAttributes
11+feTurbulence_ = createBuiltinElement_ "feTurbulence"
src/Yoga/React/DOM/SVG/Filter.pursnew file+11
@@ -0,0 +1,11 @@
1+module Yoga.React.DOM.SVG.Filter (filter, filter_) where
2+
3+import Yoga.React.DOM.Internal (FFIComponent, FFIComponent_, createBuiltinElement, createBuiltinElement_)
4+import Yoga.React.DOM.SVG.Attributes (SVGAttributes)
5+
6+-- | The `<filter>` SVG element defines a filter referenced via the filter attribute.
7+filter :: FFIComponent SVGAttributes
8+filter = createBuiltinElement "filter"
9+
10+filter_ :: FFIComponent_ SVGAttributes
11+filter_ = createBuiltinElement_ "filter"
src/Yoga/React/DOM/SVG/ForeignObject.pursnew file+11
@@ -0,0 +1,11 @@
1+module Yoga.React.DOM.SVG.ForeignObject (foreignObject, foreignObject_) where
2+
3+import Yoga.React.DOM.Internal (FFIComponent, FFIComponent_, createBuiltinElement, createBuiltinElement_)
4+import Yoga.React.DOM.SVG.Attributes (SVGAttributes)
5+
6+-- | The `<foreignObject>` SVG element includes content from a different XML namespace (e.g. HTML).
7+foreignObject :: FFIComponent SVGAttributes
8+foreignObject = createBuiltinElement "foreignObject"
9+
10+foreignObject_ :: FFIComponent_ SVGAttributes
11+foreignObject_ = createBuiltinElement_ "foreignObject"
src/Yoga/React/DOM/SVG/G.pursnew file+13
@@ -0,0 +1,13 @@
1+module Yoga.React.DOM.SVG.G (g, g_) where
2+
3+import Yoga.React.DOM.Internal (FFIComponent, FFIComponent_, createBuiltinElement, createBuiltinElement_)
4+import Yoga.React.DOM.SVG.Attributes (SVGAttributes)
5+
6+-- | The `<g>` SVG element groups other SVG elements. Transforms applied to a
7+-- | `<g>` are performed on its child elements, and its presentation attributes
8+-- | are inherited by children.
9+g :: FFIComponent SVGAttributes
10+g = createBuiltinElement "g"
11+
12+g_ :: FFIComponent_ SVGAttributes
13+g_ = createBuiltinElement_ "g"
src/Yoga/React/DOM/SVG/Image.pursnew file+11
@@ -0,0 +1,11 @@
1+module Yoga.React.DOM.SVG.Image (image, image_) where
2+
3+import Yoga.React.DOM.Internal (FFIComponent, FFIComponent_, createBuiltinElement, createBuiltinElement_)
4+import Yoga.React.DOM.SVG.Attributes (SVGAttributes)
5+
6+-- | The `<image>` SVG element embeds a raster image.
7+image :: FFIComponent SVGAttributes
8+image = createBuiltinElement "image"
9+
10+image_ :: FFIComponent_ SVGAttributes
11+image_ = createBuiltinElement_ "image"
src/Yoga/React/DOM/SVG/Line.pursnew file+12
@@ -0,0 +1,12 @@
1+module Yoga.React.DOM.SVG.Line (line, line_) where
2+
3+import Yoga.React.DOM.Internal (FFIComponent, FFIComponent_, createBuiltinElement, createBuiltinElement_)
4+import Yoga.React.DOM.SVG.Attributes (SVGAttributes)
5+
6+-- | The `<line>` SVG element draws a line connecting two points (`x1`,`y1`)
7+-- | and (`x2`,`y2`).
8+line :: FFIComponent SVGAttributes
9+line = createBuiltinElement "line"
10+
11+line_ :: FFIComponent_ SVGAttributes
12+line_ = createBuiltinElement_ "line"
src/Yoga/React/DOM/SVG/LinearGradient.pursnew file+11
@@ -0,0 +1,11 @@
1+module Yoga.React.DOM.SVG.LinearGradient (linearGradient, linearGradient_) where
2+
3+import Yoga.React.DOM.Internal (FFIComponent, FFIComponent_, createBuiltinElement, createBuiltinElement_)
4+import Yoga.React.DOM.SVG.Attributes (SVGAttributes)
5+
6+-- | The `<linearGradient>` SVG element defines a linear color gradient.
7+linearGradient :: FFIComponent SVGAttributes
8+linearGradient = createBuiltinElement "linearGradient"
9+
10+linearGradient_ :: FFIComponent_ SVGAttributes
11+linearGradient_ = createBuiltinElement_ "linearGradient"
src/Yoga/React/DOM/SVG/Marker.pursnew file+11
@@ -0,0 +1,11 @@
1+module Yoga.React.DOM.SVG.Marker (marker, marker_) where
2+
3+import Yoga.React.DOM.Internal (FFIComponent, FFIComponent_, createBuiltinElement, createBuiltinElement_)
4+import Yoga.React.DOM.SVG.Attributes (SVGAttributes)
5+
6+-- | The `<marker>` SVG element defines arrowheads or polymarkers for paths/lines/polylines.
7+marker :: FFIComponent SVGAttributes
8+marker = createBuiltinElement "marker"
9+
10+marker_ :: FFIComponent_ SVGAttributes
11+marker_ = createBuiltinElement_ "marker"
src/Yoga/React/DOM/SVG/Mask.pursnew file+11
@@ -0,0 +1,11 @@
1+module Yoga.React.DOM.SVG.Mask (mask, mask_) where
2+
3+import Yoga.React.DOM.Internal (FFIComponent, FFIComponent_, createBuiltinElement, createBuiltinElement_)
4+import Yoga.React.DOM.SVG.Attributes (SVGAttributes)
5+
6+-- | The `<mask>` SVG element defines an alpha mask referenced by the mask attribute.
7+mask :: FFIComponent SVGAttributes
8+mask = createBuiltinElement "mask"
9+
10+mask_ :: FFIComponent_ SVGAttributes
11+mask_ = createBuiltinElement_ "mask"
src/Yoga/React/DOM/SVG/Metadata.pursnew file+11
@@ -0,0 +1,11 @@
1+module Yoga.React.DOM.SVG.Metadata (metadata, metadata_) where
2+
3+import Yoga.React.DOM.Internal (FFIComponent, FFIComponent_, createBuiltinElement, createBuiltinElement_)
4+import Yoga.React.DOM.SVG.Attributes (SVGAttributes)
5+
6+-- | The `<metadata>` SVG element adds metadata to the SVG document (typically RDF or similar).
7+metadata :: FFIComponent SVGAttributes
8+metadata = createBuiltinElement "metadata"
9+
10+metadata_ :: FFIComponent_ SVGAttributes
11+metadata_ = createBuiltinElement_ "metadata"
src/Yoga/React/DOM/SVG/Mpath.pursnew file+11
@@ -0,0 +1,11 @@
1+module Yoga.React.DOM.SVG.Mpath (mpath, mpath_) where
2+
3+import Yoga.React.DOM.Internal (FFIComponent, FFIComponent_, createBuiltinElement, createBuiltinElement_)
4+import Yoga.React.DOM.SVG.Attributes (SVGAttributes)
5+
6+-- | The `<mpath>` SVG element references a <path> from inside an <animateMotion> to use as the motion path.
7+mpath :: FFIComponent SVGAttributes
8+mpath = createBuiltinElement "mpath"
9+
10+mpath_ :: FFIComponent_ SVGAttributes
11+mpath_ = createBuiltinElement_ "mpath"
src/Yoga/React/DOM/SVG/Path.pursnew file+12
@@ -0,0 +1,12 @@
1+module Yoga.React.DOM.SVG.Path (path, path_) where
2+
3+import Yoga.React.DOM.Internal (FFIComponent, FFIComponent_, createBuiltinElement, createBuiltinElement_)
4+import Yoga.React.DOM.SVG.Attributes (SVGAttributes)
5+
6+-- | The `<path>` SVG element is the generic shape used to draw all kinds of
7+-- | shapes. The `d` attribute holds the shape geometry as a path string.
8+path :: FFIComponent SVGAttributes
9+path = createBuiltinElement "path"
10+
11+path_ :: FFIComponent_ SVGAttributes
12+path_ = createBuiltinElement_ "path"
src/Yoga/React/DOM/SVG/Pattern.pursnew file+11
@@ -0,0 +1,11 @@
1+module Yoga.React.DOM.SVG.Pattern (pattern, pattern_) where
2+
3+import Yoga.React.DOM.Internal (FFIComponent, FFIComponent_, createBuiltinElement, createBuiltinElement_)
4+import Yoga.React.DOM.SVG.Attributes (SVGAttributes)
5+
6+-- | The `<pattern>` SVG element defines a graphics object that can be tiled to fill an area.
7+pattern :: FFIComponent SVGAttributes
8+pattern = createBuiltinElement "pattern"
9+
10+pattern_ :: FFIComponent_ SVGAttributes
11+pattern_ = createBuiltinElement_ "pattern"
src/Yoga/React/DOM/SVG/Polygon.pursnew file+12
@@ -0,0 +1,12 @@
1+module Yoga.React.DOM.SVG.Polygon (polygon, polygon_) where
2+
3+import Yoga.React.DOM.Internal (FFIComponent, FFIComponent_, createBuiltinElement, createBuiltinElement_)
4+import Yoga.React.DOM.SVG.Attributes (SVGAttributes)
5+
6+-- | The `<polygon>` SVG element defines a closed shape from a set of points
7+-- | given by the `points` attribute (a string of `x,y` pairs).
8+polygon :: FFIComponent SVGAttributes
9+polygon = createBuiltinElement "polygon"
10+
11+polygon_ :: FFIComponent_ SVGAttributes
12+polygon_ = createBuiltinElement_ "polygon"
src/Yoga/React/DOM/SVG/Polyline.pursnew file+11
@@ -0,0 +1,11 @@
1+module Yoga.React.DOM.SVG.Polyline (polyline, polyline_) where
2+
3+import Yoga.React.DOM.Internal (FFIComponent, FFIComponent_, createBuiltinElement, createBuiltinElement_)
4+import Yoga.React.DOM.SVG.Attributes (SVGAttributes)
5+
6+-- | The `<polyline>` SVG element draws connected straight line segments.
7+polyline :: FFIComponent SVGAttributes
8+polyline = createBuiltinElement "polyline"
9+
10+polyline_ :: FFIComponent_ SVGAttributes
11+polyline_ = createBuiltinElement_ "polyline"
src/Yoga/React/DOM/SVG/RadialGradient.pursnew file+11
@@ -0,0 +1,11 @@
1+module Yoga.React.DOM.SVG.RadialGradient (radialGradient, radialGradient_) where
2+
3+import Yoga.React.DOM.Internal (FFIComponent, FFIComponent_, createBuiltinElement, createBuiltinElement_)
4+import Yoga.React.DOM.SVG.Attributes (SVGAttributes)
5+
6+-- | The `<radialGradient>` SVG element defines a radial color gradient.
7+radialGradient :: FFIComponent SVGAttributes
8+radialGradient = createBuiltinElement "radialGradient"
9+
10+radialGradient_ :: FFIComponent_ SVGAttributes
11+radialGradient_ = createBuiltinElement_ "radialGradient"
src/Yoga/React/DOM/SVG/Rect.pursnew file+12
@@ -0,0 +1,12 @@
1+module Yoga.React.DOM.SVG.Rect (rect, rect_) where
2+
3+import Yoga.React.DOM.Internal (FFIComponent, FFIComponent_, createBuiltinElement, createBuiltinElement_)
4+import Yoga.React.DOM.SVG.Attributes (SVGAttributes)
5+
6+-- | The `<rect>` SVG element draws an axis-aligned rectangle. Use `x`, `y`,
7+-- | `width`, `height`, optionally `rx`/`ry` for rounded corners.
8+rect :: FFIComponent SVGAttributes
9+rect = createBuiltinElement "rect"
10+
11+rect_ :: FFIComponent_ SVGAttributes
12+rect_ = createBuiltinElement_ "rect"
src/Yoga/React/DOM/SVG/Script.pursnew file+11
@@ -0,0 +1,11 @@
1+module Yoga.React.DOM.SVG.Script (script, script_) where
2+
3+import Yoga.React.DOM.Internal (FFIComponent, FFIComponent_, createBuiltinElement, createBuiltinElement_)
4+import Yoga.React.DOM.SVG.Attributes (SVGAttributes)
5+
6+-- | The SVG `<script>` element allows ECMAScript to manipulate the SVG document.
7+script :: FFIComponent SVGAttributes
8+script = createBuiltinElement "script"
9+
10+script_ :: FFIComponent_ SVGAttributes
11+script_ = createBuiltinElement_ "script"
src/Yoga/React/DOM/SVG/Set.pursnew file+11
@@ -0,0 +1,11 @@
1+module Yoga.React.DOM.SVG.Set (set, set_) where
2+
3+import Yoga.React.DOM.Internal (FFIComponent, FFIComponent_, createBuiltinElement, createBuiltinElement_)
4+import Yoga.React.DOM.SVG.Attributes (SVGAttributes)
5+
6+-- | The `<set>` SVG element sets an attribute to a value for a specified duration.
7+set :: FFIComponent SVGAttributes
8+set = createBuiltinElement "set"
9+
10+set_ :: FFIComponent_ SVGAttributes
11+set_ = createBuiltinElement_ "set"
src/Yoga/React/DOM/SVG/Stop.pursnew file+11
@@ -0,0 +1,11 @@
1+module Yoga.React.DOM.SVG.Stop (stop, stop_) where
2+
3+import Yoga.React.DOM.Internal (FFIComponent, FFIComponent_, createBuiltinElement, createBuiltinElement_)
4+import Yoga.React.DOM.SVG.Attributes (SVGAttributes)
5+
6+-- | The `<stop>` SVG element defines a color and position within a gradient.
7+stop :: FFIComponent SVGAttributes
8+stop = createBuiltinElement "stop"
9+
10+stop_ :: FFIComponent_ SVGAttributes
11+stop_ = createBuiltinElement_ "stop"
src/Yoga/React/DOM/SVG/Style.pursnew file+11
@@ -0,0 +1,11 @@
1+module Yoga.React.DOM.SVG.Style (style, style_) where
2+
3+import Yoga.React.DOM.Internal (FFIComponent, FFIComponent_, createBuiltinElement, createBuiltinElement_)
4+import Yoga.React.DOM.SVG.Attributes (SVGAttributes)
5+
6+-- | The SVG `<style>` element scopes CSS to the SVG document.
7+style :: FFIComponent SVGAttributes
8+style = createBuiltinElement "style"
9+
10+style_ :: FFIComponent_ SVGAttributes
11+style_ = createBuiltinElement_ "style"
src/Yoga/React/DOM/SVG/Svg.pursnew file+18
@@ -0,0 +1,18 @@
1+module Yoga.React.DOM.SVG.Svg (svg, svg_) where
2+
3+import Yoga.React.DOM.Internal (FFIComponent, FFIComponent_, createBuiltinElement, createBuiltinElement_)
4+import Yoga.React.DOM.SVG.Attributes (SVGAttributes)
5+
6+-- | The `<svg>` root element. Container that defines a new coordinate system
7+-- | and viewport for child SVG content.
8+-- |
9+-- | #### Example:
10+-- | ```purescript
11+-- | svg { viewBox: "0 0 24 24", width: "20", height: "20" }
12+-- | [ path { d: "M..." } ]
13+-- | ```
14+svg :: FFIComponent SVGAttributes
15+svg = createBuiltinElement "svg"
16+
17+svg_ :: FFIComponent_ SVGAttributes
18+svg_ = createBuiltinElement_ "svg"
src/Yoga/React/DOM/SVG/Switch.pursnew file+11
@@ -0,0 +1,11 @@
1+module Yoga.React.DOM.SVG.Switch (switch, switch_) where
2+
3+import Yoga.React.DOM.Internal (FFIComponent, FFIComponent_, createBuiltinElement, createBuiltinElement_)
4+import Yoga.React.DOM.SVG.Attributes (SVGAttributes)
5+
6+-- | The `<switch>` SVG element evaluates child elements and renders the first whose conditions are met.
7+switch :: FFIComponent SVGAttributes
8+switch = createBuiltinElement "switch"
9+
10+switch_ :: FFIComponent_ SVGAttributes
11+switch_ = createBuiltinElement_ "switch"
src/Yoga/React/DOM/SVG/Symbol.pursnew file+11
@@ -0,0 +1,11 @@
1+module Yoga.React.DOM.SVG.Symbol (symbol, symbol_) where
2+
3+import Yoga.React.DOM.Internal (FFIComponent, FFIComponent_, createBuiltinElement, createBuiltinElement_)
4+import Yoga.React.DOM.SVG.Attributes (SVGAttributes)
5+
6+-- | The `<symbol>` SVG element groups graphical template objects which can be instantiated by <use>.
7+symbol :: FFIComponent SVGAttributes
8+symbol = createBuiltinElement "symbol"
9+
10+symbol_ :: FFIComponent_ SVGAttributes
11+symbol_ = createBuiltinElement_ "symbol"
src/Yoga/React/DOM/SVG/Text.pursnew file+11
@@ -0,0 +1,11 @@
1+module Yoga.React.DOM.SVG.Text (text, text_) where
2+
3+import Yoga.React.DOM.Internal (FFIComponent, FFIComponent_, createBuiltinElement, createBuiltinElement_)
4+import Yoga.React.DOM.SVG.Attributes (SVGAttributes)
5+
6+-- | The `<text>` SVG element draws text within an SVG viewport.
7+text :: FFIComponent SVGAttributes
8+text = createBuiltinElement "text"
9+
10+text_ :: FFIComponent_ SVGAttributes
11+text_ = createBuiltinElement_ "text"
src/Yoga/React/DOM/SVG/TextPath.pursnew file+11
@@ -0,0 +1,11 @@
1+module Yoga.React.DOM.SVG.TextPath (textPath, textPath_) where
2+
3+import Yoga.React.DOM.Internal (FFIComponent, FFIComponent_, createBuiltinElement, createBuiltinElement_)
4+import Yoga.React.DOM.SVG.Attributes (SVGAttributes)
5+
6+-- | The `<textPath>` SVG element lays text along the shape of a referenced path.
7+textPath :: FFIComponent SVGAttributes
8+textPath = createBuiltinElement "textPath"
9+
10+textPath_ :: FFIComponent_ SVGAttributes
11+textPath_ = createBuiltinElement_ "textPath"
src/Yoga/React/DOM/SVG/Title.pursnew file+11
@@ -0,0 +1,11 @@
1+module Yoga.React.DOM.SVG.Title (title, title_) where
2+
3+import Yoga.React.DOM.Internal (FFIComponent, FFIComponent_, createBuiltinElement, createBuiltinElement_)
4+import Yoga.React.DOM.SVG.Attributes (SVGAttributes)
5+
6+-- | The `<title>` SVG element adds an accessible name to its parent.
7+title :: FFIComponent SVGAttributes
8+title = createBuiltinElement "title"
9+
10+title_ :: FFIComponent_ SVGAttributes
11+title_ = createBuiltinElement_ "title"
src/Yoga/React/DOM/SVG/Tspan.pursnew file+11
@@ -0,0 +1,11 @@
1+module Yoga.React.DOM.SVG.Tspan (tspan, tspan_) where
2+
3+import Yoga.React.DOM.Internal (FFIComponent, FFIComponent_, createBuiltinElement, createBuiltinElement_)
4+import Yoga.React.DOM.SVG.Attributes (SVGAttributes)
5+
6+-- | The `<tspan>` SVG element defines a sub-portion of <text>, optionally with its own styling/position.
7+tspan :: FFIComponent SVGAttributes
8+tspan = createBuiltinElement "tspan"
9+
10+tspan_ :: FFIComponent_ SVGAttributes
11+tspan_ = createBuiltinElement_ "tspan"
src/Yoga/React/DOM/SVG/Use.pursnew file+11
@@ -0,0 +1,11 @@
1+module Yoga.React.DOM.SVG.Use (use, use_) where
2+
3+import Yoga.React.DOM.Internal (FFIComponent, FFIComponent_, createBuiltinElement, createBuiltinElement_)
4+import Yoga.React.DOM.SVG.Attributes (SVGAttributes)
5+
6+-- | The `<use>` SVG element instantiates a graphical element defined elsewhere via href.
7+use :: FFIComponent SVGAttributes
8+use = createBuiltinElement "use"
9+
10+use_ :: FFIComponent_ SVGAttributes
11+use_ = createBuiltinElement_ "use"
src/Yoga/React/DOM/SVG/View.pursnew file+11
@@ -0,0 +1,11 @@
1+module Yoga.React.DOM.SVG.View (view, view_) where
2+
3+import Yoga.React.DOM.Internal (FFIComponent, FFIComponent_, createBuiltinElement, createBuiltinElement_)
4+import Yoga.React.DOM.SVG.Attributes (SVGAttributes)
5+
6+-- | The `<view>` SVG element defines a named view — link via #id to navigate to a saved viewBox/preserveAspectRatio.
7+view :: FFIComponent SVGAttributes
8+view = createBuiltinElement "view"
9+
10+view_ :: FFIComponent_ SVGAttributes
11+view_ = createBuiltinElement_ "view"
src/Beta/DOM/Server.js → src/Yoga/React/DOM/Server.jsrenamed

The content is the same.

src/Beta/DOM/Server.purs → src/Yoga/React/DOM/Server.pursrenamed+1−1
@@ -1,4 +1,4 @@
1−module Beta.DOM.Server
1+module Yoga.React.DOM.Server
2 ( renderToString
2 ( renderToString
3 , renderToStaticMarkup
3 , renderToStaticMarkup
4 ) where
4 ) where
test/Example.purs+39−28
@@ -1,21 +1,23 @@
1module Example where
1module Example where
2
2
3import Prelude
3import Prelude
4−import Beta.DOM.HTML as H
4+import Yoga.React.DOM.HTML as H
5import Effect (Effect)
5import Effect (Effect)
6import Effect.Class.Console (log)
6import Effect.Class.Console (log)
7−import Beta.DOM.Server (renderToStaticMarkup, renderToString)
7+import Yoga.React.DOM.Server (renderToStaticMarkup, renderToString)
8−import Beta.DOM.HTML.Tfoot (tfoot)
8+import Yoga.React.DOM.HTML.Tfoot (tfoot)
9import React.Basic (JSX, fragment)
9import React.Basic (JSX, fragment)
10−import Beta.DOM.Internal (text, (++))
10+import Yoga.React.DOM.Internal (text, (++))
11−import Beta.DOM.HTML.Blockquote (blockquote) as H
11+import Yoga.React.DOM.HTML.Blockquote (blockquote) as H
12import Node.FS.Aff (writeTextFile)
12import Node.FS.Aff (writeTextFile)
13import Effect.Aff (launchAff_)
13import Effect.Aff (launchAff_)
14import Node.Encoding (Encoding(UTF8))
14import Node.Encoding (Encoding(UTF8))
15−import React.Basic.Hooks (Component, component, useState)
15+import React.Basic.Hooks (Component, component, useRef, useState)
16import Data.Tuple.Nested ((/\))
16import Data.Tuple.Nested ((/\))
17import React.Basic.Hooks as React
17import React.Basic.Hooks as React
18+import Data.Nullable (Nullable, null)
19+import Yoga.React.DOM.Attributes (reactRef)
18−import Beta.DOM.Client (createRoot, renderRoot)
20+import Yoga.React.DOM.Client (createRoot, renderRoot)
19import Web.HTML (window)
21import Web.HTML (window)
20import Web.HTML.Window (document)
22import Web.HTML.Window (document)
21import Web.HTML.HTMLDocument (toNonElementParentNode) as Window
23import Web.HTML.HTMLDocument (toNonElementParentNode) as Window
@@ -25,9 +27,9 @@ import Data.Foldable (traverse_)
25import Web.HTML.HTMLElement (toElement) as HTMLElement
27import Web.HTML.HTMLElement (toElement) as HTMLElement
26import Web.HTML.HTMLDocument (toNonElementParentNode) as HTMLDocument
28import Web.HTML.HTMLDocument (toNonElementParentNode) as HTMLDocument
27import React.Basic.Events (handler_)
29import React.Basic.Events (handler_)
28−import Beta.DOM.HTML.IFrame (iframeWithChildren) as H
30+import Yoga.React.DOM.HTML.IFrame (iframeWithChildren) as H
29−import Beta.DOM.HTML.Option (option) as H
31+import Yoga.React.DOM.HTML.Option (option) as H
30−import Beta.DOM.HTML.Abbr (abbr) as H
32+import Yoga.React.DOM.HTML.Abbr (abbr) as H
31
33
32main :: Effect Unit
34main :: Effect Unit
33main = do
35main = do
@@ -50,9 +52,12 @@ mkExample = do
50
52
51mkCounter = component "Counter" \_ -> React.do
53mkCounter = component "Counter" \_ -> React.do
52 count /\ setCount <- useState 0
54 count /\ setCount <- useState 0
55+ divRef <- useRef null
53 pure $ fragment
56 pure $ fragment
54 [ H.button { className: "bg-black px-4 py-2 rounded shadow font-bold text-white", onClick: handler_ $ setCount (_ + 1) } "Count up!"
57 [ H.button { className: "bg-black px-4 py-2 rounded shadow font-bold text-white", onClick: handler_ $ setCount (_ + 1) } "Count up!"
55− , H.p {} ("You clicked me " ++ H.b {} (show count) ++ " times.")
58+ , H.div { ref: reactRef divRef } [ H.p {} ("You clicked me " ++ H.b {} (show count) ++ " times.") ]
59+ , H.div { ref: reactRef callbackRefExample } []
60+ , H.div { ref: reactRef cleanupRefExample } []
56 ]
61 ]
57
62
58mainExample = H.main { className: "w-[80ch] max-w-[80ch] bg-white mx-auto shadow" }
63mainExample = H.main { className: "w-[80ch] max-w-[80ch] bg-white mx-auto shadow" }
@@ -129,26 +134,32 @@ tableExample = H.table { className: "table" }
129
134
130formExample :: JSX
135formExample :: JSX
131formExample = H.div { className: "myForm" }
136formExample = H.div { className: "myForm" }
132− [ H.form { action: "#" }
137+ [ H.form { action: H.urlAction "#" }
133 [ H.input { type: "text", placeholder: "Type something", className: "inputField" }
138 [ H.input { type: "text", placeholder: "Type something", className: "inputField" }
134 , H.input { type: "submit", value: "Submit", className: "submitBtn" }
139 , H.input { type: "submit", value: "Submit", className: "submitBtn" }
135 ]
140 ]
136−-- , H.select { name: "mySelect", className: "selectField" }
141+ -- , H.select { name: "mySelect", className: "selectField" }
137−-- [ H.option { value: "Option1" } "Option 1"
142+ -- [ H.option { value: "Option1" } "Option 1"
138−-- , H.option { value: "Option2" } "Option 2"
143+ -- , H.option { value: "Option2" } "Option 2"
139−-- ]
144+ -- ]
140−-- , H.img { src: "https://images.unsplash.com/photo-1567201864585-6baec9110dac?ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D&auto=format&fit=crop&w=1374&q=80", alt: "My Image", className: "myImage" }
145+ -- , H.img { src: "https://images.unsplash.com/photo-1567201864585-6baec9110dac?ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D&auto=format&fit=crop&w=1374&q=80", alt: "My Image", className: "myImage" }
141−-- , H.span { className: "mySpan" } "Some text in a span element"
146+ -- , H.span { className: "mySpan" } "Some text in a span element"
142−-- , H.header { className: "myHeader" } "This is a header"
147+ -- , H.header { className: "myHeader" } "This is a header"
143−-- , H.section { className: "mySection" } "This is a section"
148+ -- , H.section { className: "mySection" } "This is a section"
144−-- , H.iframeWithChildren { src: "https://www.example.com", className: "myIframe" } "Content of the iframe"
149+ -- , H.iframeWithChildren { src: "https://www.example.com", className: "myIframe" } "Content of the iframe"
145−-- , H.abbr { title: "abbreviation" } "abbr"
150+ -- , H.abbr { title: "abbreviation" } "abbr"
146−-- , H.meter { min: "0", max: "100", value: "70" } []
151+ -- , H.meter { min: "0", max: "100", value: "70" } []
147− , H.input { valu: "hi" }
152+ , H.input { value: "hi" }
148−-- , H.progress { value: "32", max: "100" } []
153+ -- , H.progress { value: "32", max: "100" } []
149−-- , H.audio { controls: "" }
154+ -- , H.audio { controls: "" }
150−-- $ H.source { src: "path/to/audio.mp3", type: "audio/mpeg" }
155+ -- $ H.source { src: "path/to/audio.mp3", type: "audio/mpeg" }
151
156
152 ]
157 ]
153
158
159+callbackRefExample :: Nullable Unit -> Effect Unit
160+callbackRefExample _ = pure unit
161+
162+cleanupRefExample :: Unit -> Effect (Effect Unit)
163+cleanupRefExample _ = pure (pure unit)
164+
154−x y = y.a + y.b + y.c
165+x y = y.a + y.b + y.c
test/Main.purs+7−7
@@ -1,14 +1,14 @@
1module Test.Main where
1module Test.Main where
2
2
3import Prelude
3import Prelude
4−import Beta.DOM.HTML as H
4+import Yoga.React.DOM.HTML as H
5import Effect (Effect)
5import Effect (Effect)
6import Effect.Class.Console (log)
6import Effect.Class.Console (log)
7−import Beta.DOM.Server (renderToStaticMarkup, renderToString)
7+import Yoga.React.DOM.Server (renderToStaticMarkup, renderToString)
8−import Beta.DOM.HTML.Tfoot (tfoot)
8+import Yoga.React.DOM.HTML.Tfoot (tfoot)
9import React.Basic (JSX)
9import React.Basic (JSX)
10−import Beta.DOM.Internal (text)
10+import Yoga.React.DOM.Internal (text)
11−import Beta.DOM.HTML.Blockquote (blockquote) as H
11+import Yoga.React.DOM.HTML.Blockquote (blockquote) as H
12import Node.FS.Aff (writeTextFile)
12import Node.FS.Aff (writeTextFile)
13import Effect.Aff (launchAff_)
13import Effect.Aff (launchAff_)
14import Node.Encoding (Encoding(UTF8))
14import Node.Encoding (Encoding(UTF8))
@@ -30,7 +30,7 @@ example exampleApp = H.html {}
30 , H.style {} "body { background-color: #f0f0f2; }"
30 , H.style {} "body { background-color: #f0f0f2; }"
31 , H.script { src: "https://cdn.tailwindcss.com" }
31 , H.script { src: "https://cdn.tailwindcss.com" }
32 , H.body { className: "w-full" } $
32 , H.body { className: "w-full" } $
33− H.div_ { id: "react-root", dangerouslySetInnerHTML: { __html: renderToString $ exampleApp {} } }
33+ H.div_ { id: "react-root", dangerouslySetInnerHTML: { __html: renderToString $ exampleApp {} } }
34 , H.script { src: "index.js" }
34 , H.script { src: "index.js" }
35− ]
35+ ]
36 ]
36 ]