aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHayleigh Thompson <me@hayleigh.dev>2023-08-19 22:21:19 +0100
committerHayleigh Thompson <me@hayleigh.dev>2023-08-19 22:21:19 +0100
commit9919bc2702c89168d1805eaa0db9e4baff091260 (patch)
treeef5f1fd360d90ec8433aa0fccc2709bed0e8e9d2
parente4aa0e04e54105395d5f6f5e3f7e2d9a4f7851e0 (diff)
downloadlustre-9919bc2702c89168d1805eaa0db9e4baff091260.tar.gz
lustre-9919bc2702c89168d1805eaa0db9e4baff091260.zip
:truck: Shift things around to accomodate a monorepo.
-rw-r--r--.gitignore3
-rw-r--r--docs/gleam.js209
-rw-r--r--docs/highlightjs-gleam.js109
-rw-r--r--docs/index.css698
-rw-r--r--docs/index.html337
-rw-r--r--docs/lustre.html626
-rw-r--r--docs/lustre/attribute.html1110
-rw-r--r--docs/lustre/cmd.html444
-rw-r--r--docs/lustre/element.html2753
-rw-r--r--docs/lustre/event.html661
-rw-r--r--lib/README.md (renamed from README.md)0
-rw-r--r--lib/gleam.toml (renamed from gleam.toml)0
-rw-r--r--lib/manifest.toml (renamed from manifest.toml)0
-rw-r--r--lib/package-lock.json (renamed from package-lock.json)0
-rw-r--r--lib/package.json (renamed from package.json)0
-rw-r--r--lib/src/lustre.ffi.mjs (renamed from src/lustre.ffi.mjs)0
-rw-r--r--lib/src/lustre.gleam (renamed from src/lustre.gleam)0
-rw-r--r--lib/src/lustre/attribute.gleam (renamed from src/lustre/attribute.gleam)0
-rw-r--r--lib/src/lustre/effect.gleam (renamed from src/lustre/effect.gleam)0
-rw-r--r--lib/src/lustre/element.gleam (renamed from src/lustre/element.gleam)0
-rw-r--r--lib/src/lustre/element/html.gleam (renamed from src/lustre/element/html.gleam)0
-rw-r--r--lib/src/lustre/element/svg.gleam (renamed from src/lustre/element/svg.gleam)0
-rw-r--r--lib/src/lustre/event.gleam (renamed from src/lustre/event.gleam)0
-rw-r--r--lib/src/runtime.ffi.mjs (renamed from src/runtime.ffi.mjs)0
-rw-r--r--lib/test/examples/components.gleam (renamed from test/examples/components.gleam)0
-rw-r--r--lib/test/examples/components.html (renamed from test/examples/components.html)0
-rw-r--r--lib/test/examples/counter.gleam (renamed from test/examples/counter.gleam)0
-rw-r--r--lib/test/examples/counter.html (renamed from test/examples/counter.html)0
-rw-r--r--lib/test/examples/index.html (renamed from test/examples/index.html)0
-rw-r--r--lib/test/examples/input.gleam (renamed from test/examples/input.gleam)0
-rw-r--r--lib/test/examples/input.html (renamed from test/examples/input.html)0
-rw-r--r--lib/test/examples/nested.gleam (renamed from test/examples/nested.gleam)0
-rw-r--r--lib/test/examples/nested.html (renamed from test/examples/nested.html)0
-rw-r--r--lib/test/examples/svg.gleam (renamed from test/examples/svg.gleam)0
-rw-r--r--lib/test/examples/svg.html (renamed from test/examples/svg.html)0
35 files changed, 0 insertions, 6950 deletions
diff --git a/.gitignore b/.gitignore
index 0af723d..3976dcc 100644
--- a/.gitignore
+++ b/.gitignore
@@ -6,6 +6,3 @@ erl_crash.dump
.vscode
node_modules
-.parcel-cache
-
-dist \ No newline at end of file
diff --git a/docs/gleam.js b/docs/gleam.js
deleted file mode 100644
index 73530ce..0000000
--- a/docs/gleam.js
+++ /dev/null
@@ -1,209 +0,0 @@
-"use strict";
-
-window.Gleam = function() {
- /* Global Object */
- const self = {};
-
- /* Public Properties */
-
- self.hashOffset = undefined;
-
- /* Public Methods */
-
- self.getProperty = function(property) {
- let value;
- try {
- value = localStorage.getItem(`Gleam.${property}`);
- }
- catch (_error) {}
- if (-1 < [null, undefined].indexOf(value)) {
- return gleamConfig[property].values[0].value;
- }
- return value;
- };
-
- self.icons = function() {
- return Array.from(arguments).reduce(
- (acc, name) =>
- `${acc}
- <svg class="icon icon-${name}"><use xlink:href="#icon-${name}"></use></svg>`,
- ""
- );
- }
-
- self.scrollToHash = function() {
- const locationHash = arguments[0] || window.location.hash;
- const query = locationHash ? locationHash : "body";
- const hashTop = document.querySelector(query).offsetTop;
- window.scrollTo(0, hashTop - self.hashOffset);
- return locationHash;
- };
-
- self.toggleSidebar = function() {
- const previousState =
- bodyClasses.contains("drawer-open") ? "open" : "closed";
-
- let state;
- if (0 < arguments.length) {
- state = false === arguments[0] ? "closed" : "open";
- }
- else {
- state = "open" === previousState ? "closed" : "open";
- }
-
- bodyClasses.remove(`drawer-${previousState}`);
- bodyClasses.add(`drawer-${state}`);
-
- if ("open" === state) {
- document.addEventListener("click", closeSidebar, false);
- }
- };
-
- /* Private Properties */
-
- const html = document.documentElement;
- const body = document.body;
- const bodyClasses = body.classList;
- const sidebar = document.querySelector(".sidebar");
- const sidebarToggles = document.querySelectorAll(".sidebar-toggle");
- const displayControls = document.createElement("div");
-
- displayControls.classList.add("display-controls");
- sidebar.appendChild(displayControls);
-
- /* Private Methods */
-
- const initProperty = function(property) {
- const config = gleamConfig[property];
-
- displayControls.insertAdjacentHTML(
- "beforeend",
- config.values.reduce(
- (acc, item, index) => {
- const tooltip =
- item.label
- ? `alt="${item.label}" title="${item.label}"`
- : "";
- let inner;
- if (item.icons) {
- inner = self.icons(...item.icons);
- }
- else if (item.label) {
- inner = item.label;
- }
- else {
- inner = "";
- }
- return `
- ${acc}
- <span class="label label-${index}" ${tooltip}>
- ${inner}
- </span>
- `;
- },
- `<button
- id="${property}-toggle"
- class="control control-${property} toggle toggle-0">
- `
- ) + `
- </button>
- `
- );
-
- setProperty(null, property, function() {
- return self.getProperty(property);
- });
- };
-
- const setProperty = function(_event, property) {
- const previousValue = self.getProperty(property);
-
- const update =
- 2 < arguments.length ? arguments[2] : gleamConfig[property].update;
- const value = update();
-
- try {
- localStorage.setItem("Gleam." + property, value);
- }
- catch (_error) {}
-
- bodyClasses.remove(`${property}-${previousValue}`);
- bodyClasses.add(`${property}-${value}`);
-
- const isDefault = value === gleamConfig[property].values[0].value;
- const toggleClasses =
- document.querySelector(`#${property}-toggle`).classList;
- toggleClasses.remove(`toggle-${isDefault ? 1 : 0}`);
- toggleClasses.add(`toggle-${isDefault ? 0 : 1}`);
-
- try {
- gleamConfig[property].callback(value);
- }
- catch(_error) {}
-
- return value;
- }
-
- const setHashOffset = function() {
- const el = document.createElement("div");
- el.style.cssText =
- `
- height: var(--hash-offset);
- pointer-events: none;
- position: absolute;
- visibility: hidden;
- width: 0;
- `;
- body.appendChild(el);
- self.hashOffset = parseInt(
- getComputedStyle(el).getPropertyValue("height") || "0"
- );
- body.removeChild(el);
- };
-
- const closeSidebar = function(event) {
- if (! event.target.closest(".sidebar-toggle")) {
- document.removeEventListener("click", closeSidebar, false);
- self.toggleSidebar(false);
- }
- };
-
- const init = function() {
- for (const property in gleamConfig) {
- initProperty(property);
- const toggle = document.querySelector(`#${property}-toggle`);
- toggle.addEventListener("click", function(event) {
- setProperty(event, property);
- });
- }
-
- sidebarToggles.forEach(function(sidebarToggle) {
- sidebarToggle.addEventListener("click", function(event) {
- event.preventDefault();
- self.toggleSidebar();
- });
- });
-
- setHashOffset();
- window.addEventListener("load", function(_event) {
- self.scrollToHash();
- });
- window.addEventListener("hashchange", function(_event) {
- self.scrollToHash();
- });
-
- document.querySelectorAll(`
- .module-name > a,
- .member-name a[href^='#']
- `).forEach(function(title) {
- title.innerHTML =
- title.innerHTML.replace(/([A-Z])|([_/])/g, "$2<wbr>$1");
- });
- };
-
- /* Initialise */
-
- init();
-
- return self;
-}();
diff --git a/docs/highlightjs-gleam.js b/docs/highlightjs-gleam.js
deleted file mode 100644
index 292b8ca..0000000
--- a/docs/highlightjs-gleam.js
+++ /dev/null
@@ -1,109 +0,0 @@
-hljs.registerLanguage("gleam", function (hljs) {
- const KEYWORDS =
- "as assert case const external fn if import let " +
- "opaque pub todo try tuple type";
- const STRING = {
- className: "string",
- variants: [{ begin: /"/, end: /"/ }],
- contains: [hljs.BACKSLASH_ESCAPE],
- relevance: 0,
- };
- const NAME = {
- className: "variable",
- begin: "\\b[a-z][a-z0-9_]*\\b",
- relevance: 0,
- };
- const DISCARD_NAME = {
- className: "comment",
- begin: "\\b_[a-z][a-z0-9_]*\\b",
- relevance: 0,
- };
- const NUMBER = {
- className: "number",
- variants: [
- {
- // binary
- begin: "\\b0[bB](?:_?[01]+)+",
- },
- {
- // octal
- begin: "\\b0[oO](?:_?[0-7]+)+",
- },
- {
- // hex
- begin: "\\b0[xX](?:_?[0-9a-fA-F]+)+",
- },
- {
- // dec, float
- begin: "\\b\\d(?:_?\\d+)*(?:\\.(?:\\d(?:_?\\d+)*)*)?",
- },
- ],
- relevance: 0,
- };
-
- return {
- name: "Gleam",
- aliases: ["gleam"],
- contains: [
- hljs.C_LINE_COMMENT_MODE,
- STRING,
- {
- // bit string
- begin: "<<",
- end: ">>",
- contains: [
- {
- className: "keyword",
- beginKeywords:
- "binary bytes int float bit_string bits utf8 utf16 utf32 " +
- "utf8_codepoint utf16_codepoint utf32_codepoint signed unsigned " +
- "big little native unit size",
- },
- KEYWORDS,
- STRING,
- NAME,
- DISCARD_NAME,
- NUMBER,
- ],
- relevance: 10,
- },
- {
- className: "function",
- beginKeywords: "fn",
- end: "\\(",
- excludeEnd: true,
- contains: [
- {
- className: "title",
- begin: "[a-z][a-z0-9_]*\\w*",
- relevance: 0,
- },
- ],
- },
- {
- className: "keyword",
- beginKeywords: KEYWORDS,
- },
- {
- // Type names and constructors
- className: "title",
- begin: "\\b[A-Z][A-Za-z0-9]*\\b",
- relevance: 0,
- },
- {
- className: "operator",
- begin: "[+\\-*/%!=<>&|.]+",
- relevance: 0,
- },
- NAME,
- DISCARD_NAME,
- NUMBER,
- ],
- };
-});
-document.querySelectorAll("pre code").forEach(block => {
- if (block.className === "") {
- block.classList.add("gleam");
- }
- hljs.highlightBlock(block);
-});
diff --git a/docs/index.css b/docs/index.css
deleted file mode 100644
index ce095d6..0000000
--- a/docs/index.css
+++ /dev/null
@@ -1,698 +0,0 @@
-@import url("https://fonts.googleapis.com/css2?family=Karla:wght@400;700&family=Ubuntu+Mono&display=swap");
-
-:root {
- /* Colours */
- --black: #2a2020;
- --hard-black: #000;
- --pink: #ffaff3;
- --hot-pink: #d900b8;
- --white: #fff;
- --pink-white: #fff8fe;
- --mid-grey: #dfe2e5;
- --light-grey: #f5f5f5;
- --boi-blue: #a6f0fc;
-
- /* Derived colours */
- --text: var(--black);
- --background: var(--white);
- --accented-background: var(--pink-white);
- --code-border: var(--pink);
- --code-background: var(--light-grey);
- --table-border: var(--mid-grey);
- --table-background: var(--pink-white);
- --links: var(--hot-pink);
- --accent: var(--pink);
-
- /* Sizes */
- --content-width: 680px;
- --header-height: 60px;
- --hash-offset: calc(var(--header-height) * 1.67);
- --sidebar-width: 240px;
- --gap: 24px;
- --small-gap: calc(var(--gap) / 2);
- --tiny-gap: calc(var(--small-gap) / 2);
- --large-gap: calc(var(--gap) * 2);
- --sidebar-toggle-size: 33px;
-
- /* etc */
- --shadow:
- 0 0 0 1px rgba(50, 50, 93, .075),
- 0 0 1px #e9ecef,
- 0 2px 4px -2px rgba(138, 141, 151, .6);
- --nav-shadow: 0 0 6px 2px rgba(0, 0, 0, .1);
-}
-
-* {
- box-sizing: border-box;
-}
-
-body,
-html {
- padding: 0;
- margin: 0;
- font-family: "Karla", sans-serif;
- font-size: 17px;
- line-height: 1.4;
- position: relative;
- min-height: 100vh;
- word-break: break-word;
-}
-
-html {
- /* This is necessary so hash targets appear below the fixed header */
- scroll-padding-top: var(--hash-offset);
-}
-
-a,
-a:visited {
- color: var(--links);
- text-decoration: none;
-}
-
-a:hover {
- text-decoration: underline;
-}
-
-button,
-select {
- background: transparent;
- border: 0 none;
- cursor: pointer;
- font-family: inherit;
- font-size: 100%;
- line-height: 1.15;
- margin: 0;
- text-transform: none;
-}
-
-button::-moz-focus-inner {
- border-style: none;
- padding: 0;
-}
-
-button:-moz-focusring {
- outline: 1px dotted ButtonText;
-}
-
-button {
- -webkit-appearance: button;
- line-height: 1;
- margin: 0;
- overflow: visible;
- padding: 0;
-}
-
-button:active,
-select:active {
- outline: 0 none;
-}
-
-li {
- margin-bottom: 4px;
-}
-
-p {
- margin: var(--small-gap) 0;
-}
-
-.rendered-markdown h1,
-.rendered-markdown h2,
-.rendered-markdown h3,
-.rendered-markdown h4,
-.rendered-markdown h5 {
- font-size: 1.3rem;
-}
-
-/* Code */
-
-pre,
-code {
- font-family: "Ubuntu Mono", monospace;
- line-height: 1.2;
- background-color: var(--code-background);
-}
-
-pre {
- margin: var(--gap) 0;
- border-radius: 1px;
- overflow: auto;
- box-shadow: var(--shadow);
-}
-
-pre > code,
-code.hljs {
- padding: var(--small-gap) var(--gap);
- background: transparent;
-}
-
-p code {
- margin: 0 2px;
- border-radius: 3px;
- padding: 0 0.2em;
- color: var(--inline-code);
-}
-
-/* Page layout */
-
-.page {
- display: flex;
-}
-
-.content {
- margin-left: var(--sidebar-width);
- padding: calc(var(--header-height) + var(--gap)) var(--gap) 0 var(--gap);
- width: calc(100% - var(--sidebar-width));
- max-width: var(--content-width);
-}
-
-/* Page header */
-
-.page-header {
- box-shadow: var(--nav-shadow);
- height: var(--header-height);
- color: black;
- color: var(--hard-black);
- background-color: var(--pink);
- display: flex;
- padding: var(--small-gap) var(--gap);
- position: fixed;
- left: 0;
- right: 0;
- top: 0;
- z-index: 300;
-}
-
-.page-header h2 {
- align-items: baseline;
- display: flex;
- margin: 0;
- max-width: 100%;
-}
-
-.page-header a,
-.page-header a:visited {
- color: black;
- color: var(--hard-black);
- overflow: hidden;
- text-overflow: ellipsis;
- white-space: nowrap;
-}
-
-.sidebar-toggle {
- display: none;
- font-size: var(--sidebar-toggle-size);
- opacity: 0;
- transition: opacity 1s ease;
-}
-
-.page-header .sidebar-toggle {
- color: white;
- color: var(--white);
- margin: 0 var(--small-gap) 0 0;
-}
-
-/* Version selector */
-
-#project-version {
- --half-small-gap: calc(var(--small-gap) / 2);
- --icon-size: .75em;
- flex-shrink: 0;
- font-size: .9rem;
- font-weight: normal;
- margin-left: var(--half-small-gap);
-}
-
-#project-version > span {
- padding-left: var(--half-small-gap);
-}
-
-#project-version form {
- align-items: center;
- display: inline-flex;
- justify-content: flex-end;
-}
-
-#project-version select {
- appearance: none;
- -webkit-appearance: none;
- padding: .6rem calc(1.3 * var(--icon-size)) .6rem var(--half-small-gap);
- position: relative;
- z-index: 1;
-}
-
-#project-version option {
- background-color: var(--code-background);
-}
-
-#project-version .icon {
- font-size: var(--icon-size);
- margin-left: calc(-1.65 * var(--icon-size));
-}
-
-/* Module doc */
-
-.module-name > a,
-.module-member-kind > a {
- color: inherit;
-}
-
-.module-name > a:hover,
-.module-member-kind > a:hover {
- text-decoration: none;
-}
-
-.module-name > .icon-gleam-chasse,
-.module-member-kind > .icon-gleam-chasse,
-.module-member-kind > .icon-gleam-chasse-2 {
- color: var(--pink);
- display: block;
- font-size: 1rem;
- margin: var(--small-gap) 0 0;
-}
-
-.module-name {
- color: var(--hard-black);
- margin: 0 0 var(--gap);
- font-weight: 700;
-}
-
-/* Sidebar */
-
-.sidebar {
- background-color: var(--background);
- font-size: .95rem;
- max-height: calc(100vh - var(--header-height));
- overflow-y: auto;
- overscroll-behavior: contain;
- padding-top: var(--gap);
- padding-bottom: calc(3 * var(--gap));
- padding-left: var(--gap);
- position: fixed;
- top: var(--header-height);
- transition: transform .5s ease;
- width: var(--sidebar-width);
- z-index: 100;
-}
-
-.sidebar h2 {
- margin: 0;
-}
-
-.sidebar ul {
- list-style: none;
- margin: var(--small-gap) 0;
- padding: 0;
-}
-
-.sidebar li {
- line-height: 1.2;
- margin-bottom: 4px;
-}
-
-.sidebar .sidebar-toggle {
- color: var(--pink);
- font-size: calc(.8 * var(--sidebar-toggle-size));
-}
-
-body.drawer-closed .label-open,
-body.drawer-open .label-closed {
- display: none;
-}
-
-.display-controls {
- display: flex;
- flex-wrap: wrap;
- margin-top: var(--small-gap);
- padding-right: var(--gap);
-}
-
-.display-controls .control {
- margin: .5rem 0;
-}
-
-.display-controls .control:not(:first-child) {
- margin-left: 1rem;
-}
-
-.toggle {
- align-items: center;
- display: flex;
- font-size: .96rem;
-}
-
-.toggle-0 .label:not(.label-0),
-.toggle-1 .label:not(.label-1) {
- display: none;
-}
-
-.label {
- display: flex;
-}
-
-.label .icon {
- margin: 0 .28rem;
-}
-
-/* Module members (types, functions) */
-
-.module-members {
- margin-top: var(--large-gap);
-}
-
-.module-member-kind {
- font-size: 2rem;
- color: var(--text);
-}
-
-.member {
- margin: var(--large-gap) 0;
- padding-bottom: var(--gap);
-}
-
-.member-name {
- display: flex;
- align-items: center;
- justify-content: space-between;
- border-left: 4px solid var(--accent);
- padding: var(--small-gap) var(--gap);
- background-color: var(--accented-background);
-}
-
-.member-name h2 {
- display: flex;
- font-size: 1.5rem;
- margin: 0;
-}
-
-.member-name h2 a {
- color: var(--text);
-}
-
-.member-source {
- align-self: baseline;
- flex-shrink: 0;
- line-height: calc(1.4 * 1.5rem);
- margin: 0 0 0 var(--small-gap);
-}
-
-/* Custom type constructors */
-
-.constructor-list {
- list-style: none;
- padding: 0;
-}
-
-.constructor-row {
- align-items: center;
- display: flex;
-}
-
-.constructor-item {
- margin-bottom: var(--small-gap);
-}
-
-.constructor-argument-item {
- display: flex;
-}
-
-.constructor-argument-label {
- flex-shrink: 0;
-}
-
-.constructor-argument-doc {
- margin-left: var(--gap);
-}
-
-.constructor-argument-list {
- margin-bottom: var(--small-gap);
-}
-
-.constructor-item-docs {
- margin-left: var(--large-gap);
- margin-bottom: var(--gap);
-}
-
-.constructor-item .icon {
- flex-shrink: 0;
- font-size: .7rem;
- margin: 0 .88rem;
-}
-
-.constructor-name {
- box-shadow: unset;
- margin: 0;
-}
-
-.constructor-name > code {
- padding: var(--small-gap);
-}
-
-/* Tables */
-
-table {
- border-spacing: 0;
- border-collapse: collapse;
-}
-
-table td,
-table th {
- padding: 6px 13px;
- border: 1px solid var(--table-border);
-}
-
-table tr:nth-child(2n) {
- background-color: var(--table-background);
-}
-
-/* Footer */
-
-.pride {
- width: 100%;
- display: none;
- flex-direction: row;
- position: absolute;
- bottom: 0;
- z-index: 100;
-}
-
-.show-pride .pride {
- display: flex;
-}
-
-.show-pride .sidebar {
- margin-bottom: var(--gap);
-}
-
-.pride div {
- flex: 1;
- text-align: center;
- padding: var(--tiny-gap);
-}
-
-.pride .white {
- background-color: var(--white);
-}
-.pride .pink {
- background-color: var(--pink);
-}
-.pride .blue {
- background-color: var(--boi-blue);
-}
-
-.pride-button {
- position: absolute;
- right: 2px;
- bottom: 2px;
- opacity: .2;
- font-size: .9rem;
-}
-
-.pride-button {
- text-decoration: none;
- cursor: default;
-}
-
-/* Icons */
-
-.svg-lib {
- height: 0;
- overflow: hidden;
- position: absolute;
- width: 0;
-}
-
-.icon {
- display: inline-block;
- fill: currentColor;
- height: 1em;
- stroke: currentColor;
- stroke-width: 0;
- width: 1em;
-}
-
-.icon-gleam-chasse {
- width: 8.182em;
-}
-
-.icon-gleam-chasse-2 {
- width: 4.909em;
-}
-
-/* Pre-Wrap Option */
-
-body.prewrap-on code,
-body.prewrap-on pre {
- white-space: pre-wrap;
-}
-
-/* Dark Theme Option */
-
-body.theme-dark {
- /* Colour palette adapted from:
- * https://github.com/dustypomerleau/yarra-valley
- */
-
- --argument-atom: #c651e5;
- --class-module: #ff89b5;
- --comment: #7e818b;
- --escape: #7cdf89;
- --function-call: #abb8c0;
- --function-definition: #8af899;
- --interpolation-regex: #ee37aa;
- --keyword-operator: #ff9d35;
- --number-boolean: #f14360;
- --object: #99c2eb;
- --punctuation: #4ce7ff;
- --string: #aecc00;
-
- --inline-code: #ff9d35;
-
- --bg: #292d3e;
- --bg-tint-1: #3e4251; --bg-tint-2: #535664; --bg-tint-3: #696c77; --bg-tint-4: #7e818b;
- --bg-shade-1: #242837; --bg-shade-2: #202431; --bg-shade-3: #1c1f2b;
- --bg-mono-1: #33384d; --bg-mono-2: #3d435d; --bg-mono-3: #474e6c; --bg-mono-4: #51597b;
-
- --fg: #cac0a9;
- --fg-tint-1: #fdf2d8; --fg-tint-2: #fdf3dc; --fg-tint-3: #fdf5e0;
- --fg-shade-1: #e3d8be; --fg-shade-2: #cac0a9; --fg-shade-3: #b1a894; --fg-shade-4: #97907f;
-
- --orange-shade-1: #e58d2f; --orange-shade-2: #cc7d2a; --orange-shade-3: #b26d25;
-
- --taupe-mono-1: #fdf1d4; --taupe-mono-2: #fce9bc; --taupe-mono-3: #fbe1a3;
-
- /* Theme Overrides */
-
- --accent: var(--pink);
- --accented-background: var(--bg-shade-1);
- --background: var(--bg);
- --code-background: var(--bg-shade-2);
- --table-background: var(--bg-mono-1);
- --hard-black: var(--taupe-mono-1);
- --links: var(--pink);
- --text: var(--taupe-mono-1);
-
- --shadow:
- 0 0 0 1px rgba(50, 50, 93, .075),
- 0 0 1px var(--fg-shade-3),
- 0 2px 4px -2px rgba(138, 141, 151, .2);
- --nav-shadow: 0 0 5px 5px rgba(0, 0, 0, .1);
-}
-
-body.theme-dark {
- background-color: var(--bg);
- color: var(--fg-shade-1);
-}
-
-body.theme-dark .page-header {
- background-color: var(--bg-mono-1);
-}
-
-body.theme-dark .page-header h2 {
- color: var(--fg-shade-1);
-}
-
-
-body.theme-dark .page-header a,
-body.theme-dark .page-header a:visited {
- color: var(--pink);
-}
-
-body.theme-dark .page-header .sidebar-toggle {
- color: var(--fg-shade-1);
-}
-
-body.theme-dark #project-version select,
-body.theme-dark .control {
- color: var(--fg-shade-1);
-}
-
-body.theme-dark .module-name {
- color: var(--taupe-mono-1);
-}
-
-body.theme-dark .pride {
- color: var(--bg-shade-3);
-}
-
-body.theme-dark .pride .white {
- background-color: var(--fg-shade-1);
-}
-
-body.theme-dark .pride .pink {
- background-color: var(--argument-atom);
-}
-
-body.theme-dark .pride .blue {
- background-color: var(--punctuation);
-}
-
-/* Medium and larger displays */
-@media (min-width: 680px) {
- #prewrap-toggle {
- display: none;
- }
-}
-
-/* Small displays */
-@media (max-width: 920px) {
- .page-header {
- padding-left: var(--small-gap);
- padding-right: var(--small-gap);
- }
-
- .page-header h2 {
- max-width: calc(100% - var(--sidebar-toggle-size) - var(--small-gap));
- }
-
- .content {
- width: 100%;
- max-width: unset;
- margin-left: unset;
- }
-
- .sidebar {
- box-shadow: var(--nav-shadow);
- height: 100vh;
- max-height: unset;
- top: 0;
- transform: translate(calc(-10px - var(--sidebar-width)));
- z-index: 500;
- }
-
- body.drawer-open .sidebar {
- transform: translate(0);
- }
-
- .sidebar-toggle {
- display: block;
- opacity: 1;
- }
-
- .sidebar .sidebar-toggle {
- height: var(--sidebar-toggle-size);
- position: absolute;
- right: var(--small-gap);
- top: var(--small-gap);
- width: var(--sidebar-toggle-size);
- }
-}
diff --git a/docs/index.html b/docs/index.html
deleted file mode 100644
index f5fda5e..0000000
--- a/docs/index.html
+++ /dev/null
@@ -1,337 +0,0 @@
-<!DOCTYPE html>
-<html>
- <head>
- <meta charset="utf-8" />
- <meta name="viewport" content="width=device-width, initial-scale=1">
- <title>lustre</title>
- <link rel="stylesheet" href="./index.css?v=0.21.0" type="text/css" />
- <!-- The docs_config.js file is provided by HexDocs and shared
- between multiple versions of the same package. -->
- <script src="./docs_config.js"></script>
- <link id="syntax-theme" rel="stylesheet" href="https://unpkg.com/@highlightjs/cdn-assets@10.5.0/styles/atom-one-light.min.css">
- </head>
- <body class="prewrap-off theme-light drawer-closed">
- <script>
- "use strict";
-
- /* gleamConfig format:
- * // object with one or more options
- * {option: {
- * // array of values
- * values: [{
- * // this value
- * value: "off",
- * // optional button label
- * label: "default",
- * // optional array of icons
- * icons: ["star", "toggle-left", ...],
- * }, ...],
- *
- * // value update function
- * update: () => {...},
- *
- * // optional callback function
- * callback: (value) => {...},
- * }, ...};
- */
- const gleamConfig = {
- theme: {
- values: (() => {
- const dark = {
- value: "dark",
- label: "Switch to light mode",
- icons: ["moon"],
- };
- const light = {
- value: "light",
- label: "Switch to dark mode",
- icons: ["sun"],
- };
- return (
- window.matchMedia("(prefers-color-scheme: dark)").matches
- ? [dark, light]
- : [light, dark]
- ).map((item, index) => {
- item.icons.push(`toggle-${0 === index ? "left" : "right"}`);
- return item;
- });
- })(),
-
- update: () => "light" === Gleam.getProperty("theme") ? "dark" : "light",
-
- callback: function(value) {
- const syntaxThemes = {
- dark: "atom-one-dark",
- light: "atom-one-light",
- };
- const syntaxTheme = document.querySelector("#syntax-theme");
- const hrefParts = syntaxTheme.href.match(
- /^(.*?)([^/\\#?]+?)((?:\.min)?\.css.*)$/i
- );
- if (syntaxThemes[value] !== hrefParts[2]) {
- hrefParts[2] = syntaxThemes[value];
- hrefParts.shift();
- syntaxTheme.href = hrefParts.join("");
- }
- },
- },
- prewrap: {
- values: [
- {
- value: "off",
- label: "Switch to line-wrapped snippets",
- icons: ["more-horizontal", "toggle-left"],
- },
- {
- value: "on",
- label: "Switch to non-wrapped snippets",
- icons: ["more-vertical", "toggle-right"],
- },
- ],
-
- update: () => "off" === Gleam.getProperty("prewrap") ? "on" : "off",
- },
- };
- </script>
-
- <script>
- "use strict";
-
- /* Initialise options before any content loads */
- void function() {
- for (const property in gleamConfig) {
- const name = `Gleam.${property}`;
-
- let value;
-
- try {
- value = localStorage.getItem(name);
- if (value.startsWith('"') && value.endsWith('"')) {
- localStorage.setItem(name, value.slice(1, value.length - 1));
- }
- }
- catch (_error) {}
-
- const defaultValue = gleamConfig[property].values[0].value;
- try {
- value = localStorage.getItem(name);
- }
- catch(_error) {}
- if (-1 < [null, undefined].indexOf(value)) {
- value = defaultValue;
- }
- const bodyClasses = document.body.classList;
- bodyClasses.remove(`${property}-${defaultValue}`);
- bodyClasses.add(`${property}-${value}`);
- try {
- gleamConfig[property].callback(value);
- }
- catch(_error) {}
- }
- }();
- </script>
-
- <header class="page-header">
- <button class="sidebar-toggle" tabindex="0">
- <svg class="label label-closed icon icon-menu" alt="Open Menu" title="Open Menu"><use xlink:href="#icon-menu"></use></svg>
- <svg class="label label-open icon icon-x-circle" alt="Close Menu" title="Close Menu"><use xlink:href="#icon-x-circle"></use></svg>
- </button>
-
- <h2>
- <a href="./">lustre</a>
- <span id="project-version">
- <span> - v1.0.0 </span>
- </span>
- <script>
- "use strict";
-
- if ("undefined" !== typeof versionNodes) {
- const currentVersion = "v1.0.0";
- if (! versionNodes.find(element => element.version === currentVersion)) {
- versionNodes.unshift({ version: currentVersion, url: "#" });
- }
- document.querySelector("#project-version").innerHTML =
- versionNodes.reduce(
- (acc, element) => {
- const status =
- currentVersion === element.version ? "selected disabled" : "";
- return `
- ${acc}
- <option value="${element.url}" ${status}>
- ${element.version}
- </option>
- `;
- },
- `
- <form autocomplete="off">
- <select onchange="window.location.href = this.value">
- `
- ) + `
- </select>
- <svg class="icon icon-chevrons-down"><use xlink:href="#icon-chevrons-down"></use></svg>
- </form>
- `;
- }
- </script>
- </h2>
- </header>
-
- <div class="page">
- <nav class="sidebar">
- <button class="sidebar-toggle" tabindex="1">
- <svg class="label icon icon-x-circle" alt="Close Menu" title="Close Menu"><use xlink:href="#icon-x-circle"></use></svg>
- </button>
-
-
- <h2>Pages</h2>
- <ul>
-
- <li><a href="./index.html">README</a></li>
-
- </ul>
-
-
-
- <h2>Links</h2>
- <ul>
-
- <li><a href="https://hayleigh-dot-dev.github.io/gleam-lustre">Website</a></li>
-
- <li><a href="https://github.com/hayleigh-dot-dev/gleam-lustre">Repository</a></li>
-
- </ul>
-
-
- <h2>Modules</h2>
- <ul>
-
- <li><a href="./lustre.html">lustre</a></li>
-
- <li><a href="./lustre/attribute.html">lustre/attribute</a></li>
-
- <li><a href="./lustre/cmd.html">lustre/cmd</a></li>
-
- <li><a href="./lustre/element.html">lustre/element</a></li>
-
- <li><a href="./lustre/event.html">lustre/event</a></li>
-
- </ul>
-
-
- </nav>
-
- <main class="content">
-
-<h1>Lustre</h1>
-<p>A framework for building create web apps – powered by Gleam and React!</p>
-<hr />
-<p><a href="https://hex.pm/packages/lustre"><img src="https://img.shields.io/hexpm/v/lustre" alt="Package Version" /></a>
-<a href="https://hexdocs.pm/lustre/"><img src="https://img.shields.io/badge/hex-docs-ffaff3" alt="Hex Docs" /></a></p>
-<pre><code class="language-gleam">import gleam/int
-import lustre
-import lustre/element.{ button, div, p, text }
-import lustre/event.{ dispatch, on_click }
-
-pub fn main () {
- let app = lustre.application(0, update, render)
- lustre.start(app, &quot;#app&quot;)
-}
-
-type Action {
- Incr
- Decr
-}
-
-fn update (state, action) {
- case action {
- Incr -&gt; state + 1
- Decr -&gt; state - 1
- }
-}
-
-fn render (state) {
- div([], [
- button([ on_click(dispatch(Decr)) ], [ text(&quot;-&quot;) ]),
- p([], [ text(int.to_string(state)) ]),
- button([ on_click(dispatch(Incr)) ], [ text(&quot;+&quot;) ])
- ])
-}
-</code></pre>
-<hr />
-<p>❗️ This package relies on Gleam’s JavaScript FFI and is intended to be run in
-the browser. <strong>It will not work if your are targetting Node.js or Erlang.</strong></p>
-<hr />
-<h2>Installation</h2>
-<p>If available on Hex, this package can be added to your Gleam project:</p>
-<pre><code class="language-sh">gleam add lustre
-</code></pre>
-<p>and its documentation can be found at <a href="https://hexdocs.pm/lustre">https://hexdocs.pm/lustre</a>. You will also
-need to install <code>react</code> and <code>react-dom</code> from npm:</p>
-<pre><code class="language-sh">npm i react react-dom
-</code></pre>
-<hr />
-<h2>Development</h2>
-<p>First, make sure you have both Gleam and Node.js installed, then:</p>
-<pre><code class="language-bash">npm i
-npm start
-</code></pre>
-<p>This sets up <code>chokidar</code> to watch our gleam source code and runs the compiler
-whenever we make a change. It also starts a server that will serve the examples
-located in <code>test/example/</code>.</p>
-
-
- </main>
- </div>
-
- <script>
- "use strict";
- const pride = () => document.body.classList.toggle("show-pride");
- </script>
- <a class="pride-button" onclick="pride()">✨</a>
- <footer class="pride" onclick="pride()">
- <div class="blue">Lucy</div>
- <div class="pink">says</div>
- <div class="white">trans</div>
- <div class="pink">rights</div>
- <div class="blue">✨</div>
- </footer>
-
- <svg class="svg-lib" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
- <defs>
- <symbol id="icon-chevrons-down" viewBox="0 0 24 24"><path d="M6.293 13.707l5 5c0.391 0.391 1.024 0.391 1.414 0l5-5c0.391-0.391 0.391-1.024 0-1.414s-1.024-0.391-1.414 0l-4.293 4.293-4.293-4.293c-0.391-0.391-1.024-0.391-1.414 0s-0.391 1.024 0 1.414zM6.293 6.707l5 5c0.391 0.391 1.024 0.391 1.414 0l5-5c0.391-0.391 0.391-1.024 0-1.414s-1.024-0.391-1.414 0l-4.293 4.293-4.293-4.293c-0.391-0.391-1.024-0.391-1.414 0s-0.391 1.024 0 1.414z"></path></symbol>
-
- <symbol id="icon-gleam-chasse" viewBox="0 0 180 22"><path d="m0.00798 15.6c0.784-1.73 0.754-2.11 1.94-3.97 1.17-0.28 2.66-0.119 3.71-0.524 1.12 0.501 1.85 0.729 3.35-0.466 0.942-0.806 2.41 0.656 3.41-0.0865 2.53-1.48 0.972-1.03 5.14-0.585 1.79-0.493 3.46-0.852 6.64-1.06 3.8-0.331 0.0108-1.06 5.16-1.16 0.874-0.835 3.43-1.34 5.49-0.963 2.17-1.41 0.488-1.58 2.64-0.426 4.36-0.0592 0.83-1.08 5.39-1.22 3.27-0.264 0.843-0.471 2.82 0.187 2.13-0.254 1.36-0.525 3.67 0.709 1.77 1.66 0.962 0.181 1.9 2.32 0.26 0.593 0.304 1.71 0.814 1.74 3.67-0.833-0.0875 0.536 4.63-0.838 0.719-0.891 4.42 0.255 3.8-0.806 2.07 0.119 2.75-0.7 6.07-0.822 1.48-1.17 2.26 0.943 3.4-0.974 0.391 0.166-1.61-0.548 3.88-0.154 2.93-1.26-1.74 0.103 4.21-0.851 3.52 8e-3 0.233-0.263 3.33-0.811 1.06-1.46-0.459-1.02 5.55-0.963 2.61-2.11 0.281-1.59 4.88-0.572 0.699 0.597 3.05 1.65 3.99 3.26 0.863-0.152 2.77 0.0659 3.41-0.626 2.24-1.04-0.0635-1.05 3.37-1.34 2.1 0.115 2.2-1.21 2.77-0.679 5.91-0.778 1.96-1.63 4.89-1.49 5.47 0.212 0.204 1.22 3.99-0.265 2.14-0.0482 0.411-0.776 2.93-0.892 2.17-0.148 0.604-0.262 2.54-1.52 0.804 0.0911 1.11 0.562 1.23 1.57 0.468 1.54 0.966 3.31 1.86 4.62 2.67-0.472-0.76-0.582 4.72-0.393 3.14 0.131 3.72-0.565 6.16-0.724 4.54-0.853 1.37-0.939 5.89-0.58 10.1-1.7 2.9-0.523 10.2-1.15 4.86-0.211 4.69-0.969 7.4-1.04 3.46-0.0576 3.13 0.58 3.83 0 3.63 0.257 2.5-0.141 7.74-0.46 2.23 1.09-0.13 0.518 5.9 0.145 1.12-0.0184 2.85-6e-3 3.83-0.186 0.748 0.694 1.01 1.4 1.58 2.33-0.112 0.687-0.306 0.992-0.454 1.51 0.0805 0.459-0.0486 0.901 0.226 1.36 0.057 0.859-1.34 1.08-2.69 0.127-3.53-0.828-1.21-0.849-7.23 0.974-5.16-0.286-1.66-0.354-7.64 0.321-1.48 0.961-4.73 0.287-6.76 0.551-4.01 0.178-1.95-0.517-3.33 0.624-5.29 1.8-3.12 1.47-5.66 0.941-5.26 0.0339-2.08-0.772-4.75 0.424-6.08 2.5-3.35 1.33-7.54 2.02-6.37-0.269-3.02 1.17-6.76 0.468-0.975 0.1-2.43 0.343-3.46 0.786-1.5-0.748-1.92 0.689-3.38 0.363-0.83-0.0851-2.1-0.343-3.5-0.0239-1.28 0.81-3.87-0.666-5.67-2.17-0.131-0.478-0.106-0.902-0.403-1.69-1.63 0.392-0.668 0.395-4.29 1.14-2.71 0.289 0.131 0.495-3.22 0.964-0.638 0.331-0.998 1.17-3.15 1.04-3.09 0.469-4.48 2.1-3.66 0.577-2.95 0.347-2.9 1.82-5.86 1.85-3.3 0.815 0.192 0.978-5.2 1.66-2.81 2.66 0.0387 0.735-4.21 1.29-1.43-0.911-2.24-2.29-3.89-3.63-0.363-0.679 0.258-1.84-0.375-2.28-5.28 1.39 0.176-0.925-5.08 1.01-10.6 1.42-4.55 1.88-9.18 1.66-6.73 1.35-4.11 1.99-10.2 2.31-4.53 1.09-1.63-0.398-5.52 1.02-3.15 0.522-2.41-0.0562-4.51 1.04-0.76 0.379-0.865-0.416-2.75-0.0493-3.5-3.45-2.85-0.892-2.93-6.14-4.41 0.837 0.477 0.703-6.18 1.2-4.59 0.0171-1.93 1.02-7.41 1.04-0.815 0.505-2.55 0.453-4.13 0.791-5 0.71-5.97 2-8.46 1.61-1.39 1.09-2.58 1.53-4.22 2.62-0.919 0.756-3.45 0.596-4.48 0.492-0.525-0.406-0.751-1.2-1.82-3.28 0.149-0.902-0.325-1.44-0.248-2.8z"></path></symbol>
-
- <symbol id="icon-gleam-chasse-2" viewBox="0 0 108 22"><path d="m0.585 18.5c-0.578-1.54-0.65-1.33-0.543-2.64 0.271-1.19 0.153-1.06 1.27-1.71 0.993 0.124 1.94-0.662 2.94-0.869 2.48 0.119 0.772 0.443 2.99-0.366 1.66-1.91 0.764 0.783 3.36-0.992 2.37 0.314 4.26-1.5 5.16-1.26 0.387 0.627 0.202 0.412 2.52-0.776 4.89-1.57 3.91-1.47 5-0.972 2.05-1.09-0.0615-0.49 2.79-1.2 4.47-0.514 3.62 0.127 4.18-1.19 4.3-0.613 2.56-1.49 4.09-0.847 1.8-1.51 1.01 0.157 2.64-0.722 4.91-1.28 1.39 0.553 4.43-0.843 1.28-0.387 2.72-0.427 4.05-0.748 0.332-0.942 1.93 0.121 2.75-0.817 3 0.294-0.74-0.514 3.35-0.219 2.34-1.12 0.474 0.505 3.01-1.33 0.779-0.552 0.958 0.919 2.76-0.331 1.26-0.027 0.231 0.642 1.71 0.0417 1.08-0.234-0.332-0.25 1.4-0.727 1.07 0.281 0.347 0.858 2.47 1.86 1.02 2.09-0.0407 0.967 0.473 3.88-0.19 1.31 0.095 0.629-1.34 1.44-0.351 0.381-0.494 0.132-0.0505 0.773 5.7-0.865 2.24-0.0704 4.31-0.722 1.39-0.602 3.12 0.189 3.85-0.396 5.52-1.74 1.2 0.802 5.56-0.972 5.77-0.78 5.5-0.0267 5.87-0.622 1.29-0.593 0.466-0.184 2.73-0.0872 0.586-0.907-0.0863-0.919 1.23-0.644 0.471-1.23 3.03 0.227 3.86-0.234 1.2 0.319 2.27 0.00513 2.55 0.264 0.378 0.998 1.18 1.79 1.78 2.57-0.109 0.798 0.472 1.14 0.254 2.4 2.25-0.43 1.69-0.298 4.1-0.338 2.35-1.11 0.595 0.263 3.12-0.813 1.5-0.153 2.17 0.044 3.29-0.328 1.39-0.699 0.859-0.135 1.88-0.671 1.35 0.779 0.389 0.64 1.39 1.7 0.132 1.37 0.34 1.03 0.117 2.21-0.619 0.327-0.757 0.0587-1.28 0.739-2.68 0.688-0.161 0.395-2.5 0.734-1.97-0.203-0.915-0.0737-3.21 0.454-1.76 1.41-0.982 1.12-2.36 1.43-1.65 0.974 0.119-0.784-2.27 0.501-0.883 0.361-1.2 0.471-1.88 0.827-2.84 1.1-1.72-0.0496-3.18 1.37-2.38 0.689-1.82 0.324-2.65 1.27-3.52 0.658-2.07-0.49-3.27-0.419-1.85-2.19 0.14-0.414-1.87-2.62-0.551-2.06-0.527-0.977 0.131-2.63 0.366-1.44 0.369-0.627 1.15-1.88-1.79 0.433-1.64 0.163-5.6 0.781-3.59 1.82-0.592-0.17-4.29 0.729-0.705 0.598-0.369 0.995-1.59-0.0892-0.655 0.638-0.104 0.42-2.9 0.621-3.6 1.1-2.83 1.29-4.17 0.742 0.0193-1.05-1.8 1.24-2.18 0.454-2.51 0.61-1.36 0.795-3.64 0.594-0.211 0.804-4.14-0.139-5.09 0.879-3.61 0.381 0.127-0.296-3.51-1.03-1.44-1.87-1.14-0.196-1.22-3.01 0.14-1.2-0.505-0.638-0.0251-2.39-2.64 0.466-1.25-0.372-3.55 0.344-4.12 0.781-0.26 1.32-4.36 1.02-1.78 0.235 0.327 0.568-3.16 0.555-1.36 0.861-0.709 0.778-2.01 0.649-4.07 1.1-0.948 0.904-4.54 1.17-1.27 0.686-4.67 0.341-4.6 1.04-2.47 0.466-0.707 1.46-3.49 0.582-2.93 1.39-0.739 1.31-4.38 1.56-3.21 1.23-0.735 1.93-3.87 1.14-2.82 1.91-0.676 1.23-4.04 1.82-1.97 1.47 0.312 0.745-2.95 0.812-3.51 1.54 0.0965-0.473-4.27 1.39-2.68 0.382-1.75 0.682-3.32-0.585-1.65-1.61 0.361-0.307-1.37-2.31z"></path></symbol>
-
- <symbol id="icon-menu" viewBox="0 0 24 24"><path d="M3 13h18c0.552 0 1-0.448 1-1s-0.448-1-1-1h-18c-0.552 0-1 0.448-1 1s0.448 1 1 1zM3 7h18c0.552 0 1-0.448 1-1s-0.448-1-1-1h-18c-0.552 0-1 0.448-1 1s0.448 1 1 1zM3 19h18c0.552 0 1-0.448 1-1s-0.448-1-1-1h-18c-0.552 0-1 0.448-1 1s0.448 1 1 1z"></path></symbol>
-
- <symbol id="icon-moon" viewBox="0 0 24 24"><path d="M21.996 12.882c0.022-0.233-0.038-0.476-0.188-0.681-0.325-0.446-0.951-0.544-1.397-0.219-0.95 0.693-2.060 1.086-3.188 1.162-1.368 0.092-2.765-0.283-3.95-1.158-1.333-0.985-2.139-2.415-2.367-3.935s0.124-3.124 1.109-4.456c0.142-0.191 0.216-0.435 0.191-0.691-0.053-0.55-0.542-0.952-1.092-0.898-2.258 0.22-4.314 1.18-5.895 2.651-1.736 1.615-2.902 3.847-3.137 6.386-0.254 2.749 0.631 5.343 2.266 7.311s4.022 3.313 6.772 3.567 5.343-0.631 7.311-2.266 3.313-4.022 3.567-6.772zM19.567 14.674c-0.49 1.363-1.335 2.543-2.416 3.441-1.576 1.309-3.648 2.016-5.848 1.813s-4.108-1.278-5.417-2.854-2.016-3.648-1.813-5.848c0.187-2.032 1.117-3.814 2.507-5.106 0.782-0.728 1.71-1.3 2.731-1.672-0.456 1.264-0.577 2.606-0.384 3.899 0.303 2.023 1.38 3.934 3.156 5.247 1.578 1.167 3.448 1.668 5.272 1.545 0.752-0.050 1.496-0.207 2.21-0.465z"></path></symbol>
-
- <symbol id="icon-more-horizontal" viewBox="0 0 24 24"><path d="M14 12c0-0.552-0.225-1.053-0.586-1.414s-0.862-0.586-1.414-0.586-1.053 0.225-1.414 0.586-0.586 0.862-0.586 1.414 0.225 1.053 0.586 1.414 0.862 0.586 1.414 0.586 1.053-0.225 1.414-0.586 0.586-0.862 0.586-1.414zM21 12c0-0.552-0.225-1.053-0.586-1.414s-0.862-0.586-1.414-0.586-1.053 0.225-1.414 0.586-0.586 0.862-0.586 1.414 0.225 1.053 0.586 1.414 0.862 0.586 1.414 0.586 1.053-0.225 1.414-0.586 0.586-0.862 0.586-1.414zM7 12c0-0.552-0.225-1.053-0.586-1.414s-0.862-0.586-1.414-0.586-1.053 0.225-1.414 0.586-0.586 0.862-0.586 1.414 0.225 1.053 0.586 1.414 0.862 0.586 1.414 0.586 1.053-0.225 1.414-0.586 0.586-0.862 0.586-1.414z"></path></symbol>
-
- <symbol id="icon-more-vertical" viewBox="0 0 24 24"><path d="M14 12c0-0.552-0.225-1.053-0.586-1.414s-0.862-0.586-1.414-0.586-1.053 0.225-1.414 0.586-0.586 0.862-0.586 1.414 0.225 1.053 0.586 1.414 0.862 0.586 1.414 0.586 1.053-0.225 1.414-0.586 0.586-0.862 0.586-1.414zM14 5c0-0.552-0.225-1.053-0.586-1.414s-0.862-0.586-1.414-0.586-1.053 0.225-1.414 0.586-0.586 0.862-0.586 1.414 0.225 1.053 0.586 1.414 0.862 0.586 1.414 0.586 1.053-0.225 1.414-0.586 0.586-0.862 0.586-1.414zM14 19c0-0.552-0.225-1.053-0.586-1.414s-0.862-0.586-1.414-0.586-1.053 0.225-1.414 0.586-0.586 0.862-0.586 1.414 0.225 1.053 0.586 1.414 0.862 0.586 1.414 0.586 1.053-0.225 1.414-0.586 0.586-0.862 0.586-1.414z"></path></symbol>
-
- <symbol id="icon-star" viewBox="0 0 24 24"><path d="M12.897 1.557c-0.092-0.189-0.248-0.352-0.454-0.454-0.495-0.244-1.095-0.041-1.339 0.454l-2.858 5.789-6.391 0.935c-0.208 0.029-0.411 0.127-0.571 0.291-0.386 0.396-0.377 1.029 0.018 1.414l4.623 4.503-1.091 6.362c-0.036 0.207-0.006 0.431 0.101 0.634 0.257 0.489 0.862 0.677 1.351 0.42l5.714-3.005 5.715 3.005c0.186 0.099 0.408 0.139 0.634 0.101 0.544-0.093 0.91-0.61 0.817-1.155l-1.091-6.362 4.623-4.503c0.151-0.146 0.259-0.344 0.292-0.572 0.080-0.546-0.298-1.054-0.845-1.134l-6.39-0.934zM12 4.259l2.193 4.444c0.151 0.305 0.436 0.499 0.752 0.547l4.906 0.717-3.549 3.457c-0.244 0.238-0.341 0.569-0.288 0.885l0.837 4.883-4.386-2.307c-0.301-0.158-0.647-0.148-0.931 0l-4.386 2.307 0.837-4.883c0.058-0.336-0.059-0.661-0.288-0.885l-3.549-3.457 4.907-0.718c0.336-0.049 0.609-0.26 0.752-0.546z"></path></symbol>
-
- <symbol id="icon-sun" viewBox="0 0 24 24"><path d="M18 12c0-1.657-0.673-3.158-1.757-4.243s-2.586-1.757-4.243-1.757-3.158 0.673-4.243 1.757-1.757 2.586-1.757 4.243 0.673 3.158 1.757 4.243 2.586 1.757 4.243 1.757 3.158-0.673 4.243-1.757 1.757-2.586 1.757-4.243zM16 12c0 1.105-0.447 2.103-1.172 2.828s-1.723 1.172-2.828 1.172-2.103-0.447-2.828-1.172-1.172-1.723-1.172-2.828 0.447-2.103 1.172-2.828 1.723-1.172 2.828-1.172 2.103 0.447 2.828 1.172 1.172 1.723 1.172 2.828zM11 1v2c0 0.552 0.448 1 1 1s1-0.448 1-1v-2c0-0.552-0.448-1-1-1s-1 0.448-1 1zM11 21v2c0 0.552 0.448 1 1 1s1-0.448 1-1v-2c0-0.552-0.448-1-1-1s-1 0.448-1 1zM3.513 4.927l1.42 1.42c0.391 0.391 1.024 0.391 1.414 0s0.391-1.024 0-1.414l-1.42-1.42c-0.391-0.391-1.024-0.391-1.414 0s-0.391 1.024 0 1.414zM17.653 19.067l1.42 1.42c0.391 0.391 1.024 0.391 1.414 0s0.391-1.024 0-1.414l-1.42-1.42c-0.391-0.391-1.024-0.391-1.414 0s-0.391 1.024 0 1.414zM1 13h2c0.552 0 1-0.448 1-1s-0.448-1-1-1h-2c-0.552 0-1 0.448-1 1s0.448 1 1 1zM21 13h2c0.552 0 1-0.448 1-1s-0.448-1-1-1h-2c-0.552 0-1 0.448-1 1s0.448 1 1 1zM4.927 20.487l1.42-1.42c0.391-0.391 0.391-1.024 0-1.414s-1.024-0.391-1.414 0l-1.42 1.42c-0.391 0.391-0.391 1.024 0 1.414s1.024 0.391 1.414 0zM19.067 6.347l1.42-1.42c0.391-0.391 0.391-1.024 0-1.414s-1.024-0.391-1.414 0l-1.42 1.42c-0.391 0.391-0.391 1.024 0 1.414s1.024 0.391 1.414 0z"></path></symbol>
-
- <symbol id="icon-toggle-left" viewBox="0 0 24 24"><path d="M8 4c-2.209 0-4.21 0.897-5.657 2.343s-2.343 3.448-2.343 5.657 0.897 4.21 2.343 5.657 3.448 2.343 5.657 2.343h8c2.209 0 4.21-0.897 5.657-2.343s2.343-3.448 2.343-5.657-0.897-4.21-2.343-5.657-3.448-2.343-5.657-2.343zM8 6h8c1.657 0 3.156 0.67 4.243 1.757s1.757 2.586 1.757 4.243-0.67 3.156-1.757 4.243-2.586 1.757-4.243 1.757h-8c-1.657 0-3.156-0.67-4.243-1.757s-1.757-2.586-1.757-4.243 0.67-3.156 1.757-4.243 2.586-1.757 4.243-1.757zM12 12c0-1.104-0.449-2.106-1.172-2.828s-1.724-1.172-2.828-1.172-2.106 0.449-2.828 1.172-1.172 1.724-1.172 2.828 0.449 2.106 1.172 2.828 1.724 1.172 2.828 1.172 2.106-0.449 2.828-1.172 1.172-1.724 1.172-2.828zM10 12c0 0.553-0.223 1.051-0.586 1.414s-0.861 0.586-1.414 0.586-1.051-0.223-1.414-0.586-0.586-0.861-0.586-1.414 0.223-1.051 0.586-1.414 0.861-0.586 1.414-0.586 1.051 0.223 1.414 0.586 0.586 0.861 0.586 1.414z"></path></symbol>
-
- <symbol id="icon-toggle-right" viewBox="0 0 24 24"><path d="M8 4c-2.209 0-4.21 0.897-5.657 2.343s-2.343 3.448-2.343 5.657 0.897 4.21 2.343 5.657 3.448 2.343 5.657 2.343h8c2.209 0 4.21-0.897 5.657-2.343s2.343-3.448 2.343-5.657-0.897-4.21-2.343-5.657-3.448-2.343-5.657-2.343zM8 6h8c1.657 0 3.156 0.67 4.243 1.757s1.757 2.586 1.757 4.243-0.67 3.156-1.757 4.243-2.586 1.757-4.243 1.757h-8c-1.657 0-3.156-0.67-4.243-1.757s-1.757-2.586-1.757-4.243 0.67-3.156 1.757-4.243 2.586-1.757 4.243-1.757zM20 12c0-1.104-0.449-2.106-1.172-2.828s-1.724-1.172-2.828-1.172-2.106 0.449-2.828 1.172-1.172 1.724-1.172 2.828 0.449 2.106 1.172 2.828 1.724 1.172 2.828 1.172 2.106-0.449 2.828-1.172 1.172-1.724 1.172-2.828zM18 12c0 0.553-0.223 1.051-0.586 1.414s-0.861 0.586-1.414 0.586-1.051-0.223-1.414-0.586-0.586-0.861-0.586-1.414 0.223-1.051 0.586-1.414 0.861-0.586 1.414-0.586 1.051 0.223 1.414 0.586 0.586 0.861 0.586 1.414z"></path></symbol>
-
- <symbol id="icon-x-circle" viewBox="0 0 24 24"><path d="M23 12c0-3.037-1.232-5.789-3.222-7.778s-4.741-3.222-7.778-3.222-5.789 1.232-7.778 3.222-3.222 4.741-3.222 7.778 1.232 5.789 3.222 7.778 4.741 3.222 7.778 3.222 5.789-1.232 7.778-3.222 3.222-4.741 3.222-7.778zM21 12c0 2.486-1.006 4.734-2.636 6.364s-3.878 2.636-6.364 2.636-4.734-1.006-6.364-2.636-2.636-3.878-2.636-6.364 1.006-4.734 2.636-6.364 3.878-2.636 6.364-2.636 4.734 1.006 6.364 2.636 2.636 3.878 2.636 6.364zM8.293 9.707l2.293 2.293-2.293 2.293c-0.391 0.391-0.391 1.024 0 1.414s1.024 0.391 1.414 0l2.293-2.293 2.293 2.293c0.391 0.391 1.024 0.391 1.414 0s0.391-1.024 0-1.414l-2.293-2.293 2.293-2.293c0.391-0.391 0.391-1.024 0-1.414s-1.024-0.391-1.414 0l-2.293 2.293-2.293-2.293c-0.391-0.391-1.024-0.391-1.414 0s-0.391 1.024 0 1.414z"></path></symbol>
- </defs>
- </svg>
-
- <script src="https://unpkg.com/@highlightjs/cdn-assets@10.5.0/highlight.min.js"></script>
-
- <script src="https://unpkg.com/@highlightjs/cdn-assets@10.5.0/languages/erlang.min.js"></script>
-
- <script src="https://unpkg.com/@highlightjs/cdn-assets@10.5.0/languages/elixir.min.js"></script>
-
- <script src="./highlightjs-gleam.js?v=0.21.0"></script>
-
- <script src="./gleam.js?v=0.21.0"></script>
- </body>
-</html> \ No newline at end of file
diff --git a/docs/lustre.html b/docs/lustre.html
deleted file mode 100644
index d0bbc53..0000000
--- a/docs/lustre.html
+++ /dev/null
@@ -1,626 +0,0 @@
-<!DOCTYPE html>
-<html>
- <head>
- <meta charset="utf-8" />
- <meta name="viewport" content="width=device-width, initial-scale=1">
- <title>lustre - lustre</title>
- <link rel="stylesheet" href="./index.css?v=0.21.0" type="text/css" />
- <!-- The docs_config.js file is provided by HexDocs and shared
- between multiple versions of the same package. -->
- <script src="./docs_config.js"></script>
- <link id="syntax-theme" rel="stylesheet" href="https://unpkg.com/@highlightjs/cdn-assets@10.5.0/styles/atom-one-light.min.css">
- </head>
- <body class="prewrap-off theme-light drawer-closed">
- <script>
- "use strict";
-
- /* gleamConfig format:
- * // object with one or more options
- * {option: {
- * // array of values
- * values: [{
- * // this value
- * value: "off",
- * // optional button label
- * label: "default",
- * // optional array of icons
- * icons: ["star", "toggle-left", ...],
- * }, ...],
- *
- * // value update function
- * update: () => {...},
- *
- * // optional callback function
- * callback: (value) => {...},
- * }, ...};
- */
- const gleamConfig = {
- theme: {
- values: (() => {
- const dark = {
- value: "dark",
- label: "Switch to light mode",
- icons: ["moon"],
- };
- const light = {
- value: "light",
- label: "Switch to dark mode",
- icons: ["sun"],
- };
- return (
- window.matchMedia("(prefers-color-scheme: dark)").matches
- ? [dark, light]
- : [light, dark]
- ).map((item, index) => {
- item.icons.push(`toggle-${0 === index ? "left" : "right"}`);
- return item;
- });
- })(),
-
- update: () => "light" === Gleam.getProperty("theme") ? "dark" : "light",
-
- callback: function(value) {
- const syntaxThemes = {
- dark: "atom-one-dark",
- light: "atom-one-light",
- };
- const syntaxTheme = document.querySelector("#syntax-theme");
- const hrefParts = syntaxTheme.href.match(
- /^(.*?)([^/\\#?]+?)((?:\.min)?\.css.*)$/i
- );
- if (syntaxThemes[value] !== hrefParts[2]) {
- hrefParts[2] = syntaxThemes[value];
- hrefParts.shift();
- syntaxTheme.href = hrefParts.join("");
- }
- },
- },
- prewrap: {
- values: [
- {
- value: "off",
- label: "Switch to line-wrapped snippets",
- icons: ["more-horizontal", "toggle-left"],
- },
- {
- value: "on",
- label: "Switch to non-wrapped snippets",
- icons: ["more-vertical", "toggle-right"],
- },
- ],
-
- update: () => "off" === Gleam.getProperty("prewrap") ? "on" : "off",
- },
- };
- </script>
-
- <script>
- "use strict";
-
- /* Initialise options before any content loads */
- void function() {
- for (const property in gleamConfig) {
- const name = `Gleam.${property}`;
-
- let value;
-
- try {
- value = localStorage.getItem(name);
- if (value.startsWith('"') && value.endsWith('"')) {
- localStorage.setItem(name, value.slice(1, value.length - 1));
- }
- }
- catch (_error) {}
-
- const defaultValue = gleamConfig[property].values[0].value;
- try {
- value = localStorage.getItem(name);
- }
- catch(_error) {}
- if (-1 < [null, undefined].indexOf(value)) {
- value = defaultValue;
- }
- const bodyClasses = document.body.classList;
- bodyClasses.remove(`${property}-${defaultValue}`);
- bodyClasses.add(`${property}-${value}`);
- try {
- gleamConfig[property].callback(value);
- }
- catch(_error) {}
- }
- }();
- </script>
-
- <header class="page-header">
- <button class="sidebar-toggle" tabindex="0">
- <svg class="label label-closed icon icon-menu" alt="Open Menu" title="Open Menu"><use xlink:href="#icon-menu"></use></svg>
- <svg class="label label-open icon icon-x-circle" alt="Close Menu" title="Close Menu"><use xlink:href="#icon-x-circle"></use></svg>
- </button>
-
- <h2>
- <a href="./">lustre</a>
- <span id="project-version">
- <span> - v1.0.0 </span>
- </span>
- <script>
- "use strict";
-
- if ("undefined" !== typeof versionNodes) {
- const currentVersion = "v1.0.0";
- if (! versionNodes.find(element => element.version === currentVersion)) {
- versionNodes.unshift({ version: currentVersion, url: "#" });
- }
- document.querySelector("#project-version").innerHTML =
- versionNodes.reduce(
- (acc, element) => {
- const status =
- currentVersion === element.version ? "selected disabled" : "";
- return `
- ${acc}
- <option value="${element.url}" ${status}>
- ${element.version}
- </option>
- `;
- },
- `
- <form autocomplete="off">
- <select onchange="window.location.href = this.value">
- `
- ) + `
- </select>
- <svg class="icon icon-chevrons-down"><use xlink:href="#icon-chevrons-down"></use></svg>
- </form>
- `;
- }
- </script>
- </h2>
- </header>
-
- <div class="page">
- <nav class="sidebar">
- <button class="sidebar-toggle" tabindex="1">
- <svg class="label icon icon-x-circle" alt="Close Menu" title="Close Menu"><use xlink:href="#icon-x-circle"></use></svg>
- </button>
-
-
- <h2>Pages</h2>
- <ul>
-
- <li><a href="./index.html">README</a></li>
-
- </ul>
-
-
-
- <h2>Links</h2>
- <ul>
-
- <li><a href="https://hayleigh-dot-dev.github.io/gleam-lustre">Website</a></li>
-
- <li><a href="https://github.com/hayleigh-dot-dev/gleam-lustre">Repository</a></li>
-
- </ul>
-
-
- <h2>Modules</h2>
- <ul>
-
- <li><a href="./lustre.html">lustre</a></li>
-
- <li><a href="./lustre/attribute.html">lustre/attribute</a></li>
-
- <li><a href="./lustre/cmd.html">lustre/cmd</a></li>
-
- <li><a href="./lustre/element.html">lustre/element</a></li>
-
- <li><a href="./lustre/event.html">lustre/event</a></li>
-
- </ul>
-
-
-
-<h2>Types</h2>
-<ul>
-
- <li><a href="#App">App</a></li>
-
- <li><a href="#Error">Error</a></li>
-
-</ul>
-
-
-
-
-
-
-<h2>Functions</h2>
-<ul>
-
- <li><a href="#application">application</a></li>
-
- <li><a href="#element">element</a></li>
-
- <li><a href="#simple">simple</a></li>
-
- <li><a href="#start">start</a></li>
-
-</ul>
-
-
- </nav>
-
- <main class="content">
-
-<h1 id="module-name" class="module-name">
- <a href="#module-name">lustre</a>
- <svg class="icon icon-gleam-chasse"><use xlink:href="#icon-gleam-chasse"></use></svg>
-</h1>
-<p>Lustre is a declarative framework for building Web apps in Gleam. </p>
-
-
-
-<section class="module-members">
- <h1 id="module-types" class="module-member-kind">
- <a href="#module-types">Types</a>
- <svg class="icon icon-gleam-chasse-2"><use xlink:href="#icon-gleam-chasse-2"></use></svg>
- </h1>
-
-
- <div class="member">
- <div class="member-name">
- <h2 id="App">
- <a href="#App">
- App
- </a>
- </h2>
-
- <a class="member-source" alt="View Source" title="View Source" href="https://github.com/hayleigh-dot-dev/gleam-lustre/blob/v1.0.0/src/lustre.gleam#L54-L54">
- &lt;/&gt;
- </a>
-
- </div>
- <div class="custom-type-constructors">
- <div class="rendered-markdown"><p>An <code>App</code> describes a Lustre application: what state it holds and what kind
-of actions get dispatched to update that state. The only useful thing you can
-do with an <code>App</code> is pass it to <a href="#start"><code>start</code></a>.</p>
-<p>You can construct an <code>App</code> from the two constructors exposed in this module:
-<a href="#basic"><code>basic</code></a> and <a href="#application"><code>application</code></a>. Although you can’t do
-anything but <a href="#start"><code>start</code></a> them, the constructors are separated in case
-you want to set up an application but defer starting it until some later point
-in time.</p>
-<pre><code> +--------+
- | |
- | update |
- | |
- +--------+
- ^ |
- | |
- Action | | #(State, Action)
- | |
- | v
- +------+ +------------------------+
- | | #(State, Action) | |
- | init |-------------------&gt;| Lustre Runtime |
- | | | |
- +------+ +------------------------+
- ^ |
- | |
- Action | | State
- | |
- | v
- +--------+
- | |
- | render |
- | |
- +--------+
-</code></pre>
-<p><small>Someone please PR the Gleam docs generator to fix the monospace font,
-thanks! 💖</small></p>
-</div>
- <pre><code class="hljs gleam">pub opaque type App(state, action)</code></pre>
-
-
- </div>
- </div>
-
- <div class="member">
- <div class="member-name">
- <h2 id="Error">
- <a href="#Error">
- Error
- </a>
- </h2>
-
- <a class="member-source" alt="View Source" title="View Source" href="https://github.com/hayleigh-dot-dev/gleam-lustre/blob/v1.0.0/src/lustre.gleam#L62-L62">
- &lt;/&gt;
- </a>
-
- </div>
- <div class="custom-type-constructors">
- <div class="rendered-markdown"></div>
- <pre><code class="hljs gleam">pub type Error {
- ElementNotFound
-}</code></pre>
-
- <h3>
- Constructors
- </h3>
- <ul class="constructor-list">
-
- <li class="constructor-item">
- <div class="constructor-row">
- <svg class="icon icon-star"><use xlink:href="#icon-star"></use></svg>
- <pre class="constructor-name"><code class="hljs gleam">ElementNotFound</code></pre>
- </div>
-
- <div class="constructor-item-docs">
-
-
-
-
- </div>
- </li>
-
- </ul>
-
- </div>
- </div>
-
-</section>
-
-
-
-
-
-
-<section class="module-members">
- <h1 id="module-functions" class="module-member-kind">
- <a href="#module-functions">Functions</a>
- <svg class="icon icon-gleam-chasse"><use xlink:href="#icon-gleam-chasse"></use></svg>
- </h1>
-
- <div class="member">
- <div class="member-name">
- <h2 id="application">
- <a href="#application">
- application
- </a>
- </h2>
-
- <a class="member-source" alt="View Source" title="View Source" href="https://github.com/hayleigh-dot-dev/gleam-lustre/blob/v1.0.0/src/lustre.gleam#L199-L199">
- &lt;/&gt;
- </a>
-
- </div>
- <pre><code class="hljs gleam">pub fn application(init: #(a, Cmd(b)), update: fn(a, b) -&gt;
- #(a, Cmd(b)), render: fn(a) -&gt; Element(b)) -&gt; App(a, b)</code></pre>
- <div class="rendered-markdown"><p>An evolution of a <a href="#simple"><code>simple</code></a> app that allows you to return a
-<a href="./lustre/cmd.html#Cmd"><code>Cmd</code></a> from your <code>init</code> and <code>update</code>s. Commands give
-us a way to perform side effects like sending an HTTP request or running a
-timer and then dispatch actions back to the runtime to trigger an <code>update</code>.</p>
-<pre><code>import lustre
-import lustre/cmd
-import lustre/element
-
-pub fn main () {
- let init = #(0, tick())
- let update = fn (state, action) {
- case action {
- Tick -&gt; #(state + 1, tick())
- }
- }
- let render = fn (state) {
- element.div([], [
- element.text(&quot;Count is: &quot;)
- element.text(state |&gt; int.to_string |&gt; element.text)
- ])
- }
-
- let app = lustre.simple(init, update, render)
- lustre.start(app, &quot;#root&quot;)
-}
-
-fn tick () -&gt; Cmd(Action) {
- cmd.from(fn (dispatch) {
- setInterval(fn () {
- dispatch(Tick)
- }, 1000)
- })
-}
-
-external fn set_timeout (f: fn () -&gt; a, delay: Int) -&gt; Nil
- = &quot;&quot; &quot;window.setTimeout&quot;
-</code></pre>
-</div>
- </div>
-
- <div class="member">
- <div class="member-name">
- <h2 id="element">
- <a href="#element">
- element
- </a>
- </h2>
-
- <a class="member-source" alt="View Source" title="View Source" href="https://github.com/hayleigh-dot-dev/gleam-lustre/blob/v1.0.0/src/lustre.gleam#L101-L101">
- &lt;/&gt;
- </a>
-
- </div>
- <pre><code class="hljs gleam">pub fn element(element: Element(a)) -&gt; App(Nil, a)</code></pre>
- <div class="rendered-markdown"><p>Create a basic lustre app that just renders some element on the page.
-Note that this doesn’t mean the content is static! With <code>element.stateful</code>
-you can still create components with local state.</p>
-<p>Basic lustre apps don’t have any <em>global</em> application state and so the
-plumbing is a lot simpler. If you find yourself passing lots of state around,
-you might want to consider using <a href="#simple"><code>simple</code></a> or <a href="#application"><code>application</code></a>
-instead.</p>
-<pre><code class="language-gleam">import lustre
-import lustre/element
-
-pub fn main () {
- let app = lustre.element(
- element.h1([], [
- element.text(&quot;Hello, world!&quot;)
- ])
- )
-
- lustre.start(app, &quot;#root&quot;)
-}
-</code></pre>
-</div>
- </div>
-
- <div class="member">
- <div class="member-name">
- <h2 id="simple">
- <a href="#simple">
- simple
- </a>
- </h2>
-
- <a class="member-source" alt="View Source" title="View Source" href="https://github.com/hayleigh-dot-dev/gleam-lustre/blob/v1.0.0/src/lustre.gleam#L153-L153">
- &lt;/&gt;
- </a>
-
- </div>
- <pre><code class="hljs gleam">pub fn simple(init: a, update: fn(a, b) -&gt; a, render: fn(a) -&gt;
- Element(b)) -&gt; App(a, b)</code></pre>
- <div class="rendered-markdown"><p>If you start off with a simple <code>[element</code>](#element) app, you may find
-yourself leaning on <a href="./lustrel/element.html#stateful"><code>stateful</code></a> elements
-to manage state used throughout your app. If that’s the case or if you know
-you need some global state from the get-go, you might want to construct a
-<a href="#simple"><code>simple</code></a> app instead.</p>
-<p>This is one app constructor that allows your HTML elements to dispatch actions
-to update your program state. </p>
-<pre><code>import gleam/int
-import lustre
-import lustre/element
-import lustre/event.{ dispatch }
-
-type Action {
- Incr
- Decr
-}
-
-pub fn main () {
- let init = 0
- let update = fn (state, action) {
- case action {
- Incr -&gt; state + 1
- Decr -&gt; state - 1
- }
- }
- let render = fn (state) {
- element.div([], [
- element.button([ event.on_click(dispatch(Decr)) ], [
- element.text(&quot;-&quot;)
- ]),
- element.text(state |&gt; int.to_string |&gt; element.text),
- element.button([ event.on_click(dispatch(Incr)) ], [
- element.text(&quot;+&quot;)
- ])
- ])
- }
-
- let app = lustre.simple(init, update, render)
- lustre.start(app, &quot;#root&quot;)
-}
-</code></pre>
-</div>
- </div>
-
- <div class="member">
- <div class="member-name">
- <h2 id="start">
- <a href="#start">
- start
- </a>
- </h2>
-
- <a class="member-source" alt="View Source" title="View Source" href="https://github.com/hayleigh-dot-dev/gleam-lustre/blob/v1.0.0/src/lustre.gleam#L226-L226">
- &lt;/&gt;
- </a>
-
- </div>
- <pre><code class="hljs gleam">pub fn start(app: App(a, b), selector: String) -&gt; Result(
- fn(b) -&gt; Nil,
- Error,
-)</code></pre>
- <div class="rendered-markdown"><p>Once you have created a app with either <code>basic</code> or <code>application</code>, you
-need to actually start it! This function will mount your app to the DOM
-node that matches the query selector you provide.</p>
-<p>If everything mounted OK, we’ll get back a dispatch function that you can
-call to send actions to your app and trigger an update. </p>
-<pre><code>import lustre
-
-pub fn main () {
- let app = lustre.appliation(init, update, render)
- assert Ok(dispatch) = lustre.start(app, &quot;#root&quot;)
-
- dispatch(Incr)
- dispatch(Incr)
- dispatch(Incr)
-}
-</code></pre>
-</div>
- </div>
-
-</section>
-
-
- </main>
- </div>
-
- <script>
- "use strict";
- const pride = () => document.body.classList.toggle("show-pride");
- </script>
- <a class="pride-button" onclick="pride()">✨</a>
- <footer class="pride" onclick="pride()">
- <div class="blue">Lucy</div>
- <div class="pink">says</div>
- <div class="white">trans</div>
- <div class="pink">rights</div>
- <div class="blue">✨</div>
- </footer>
-
- <svg class="svg-lib" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
- <defs>
- <symbol id="icon-chevrons-down" viewBox="0 0 24 24"><path d="M6.293 13.707l5 5c0.391 0.391 1.024 0.391 1.414 0l5-5c0.391-0.391 0.391-1.024 0-1.414s-1.024-0.391-1.414 0l-4.293 4.293-4.293-4.293c-0.391-0.391-1.024-0.391-1.414 0s-0.391 1.024 0 1.414zM6.293 6.707l5 5c0.391 0.391 1.024 0.391 1.414 0l5-5c0.391-0.391 0.391-1.024 0-1.414s-1.024-0.391-1.414 0l-4.293 4.293-4.293-4.293c-0.391-0.391-1.024-0.391-1.414 0s-0.391 1.024 0 1.414z"></path></symbol>
-
- <symbol id="icon-gleam-chasse" viewBox="0 0 180 22"><path d="m0.00798 15.6c0.784-1.73 0.754-2.11 1.94-3.97 1.17-0.28 2.66-0.119 3.71-0.524 1.12 0.501 1.85 0.729 3.35-0.466 0.942-0.806 2.41 0.656 3.41-0.0865 2.53-1.48 0.972-1.03 5.14-0.585 1.79-0.493 3.46-0.852 6.64-1.06 3.8-0.331 0.0108-1.06 5.16-1.16 0.874-0.835 3.43-1.34 5.49-0.963 2.17-1.41 0.488-1.58 2.64-0.426 4.36-0.0592 0.83-1.08 5.39-1.22 3.27-0.264 0.843-0.471 2.82 0.187 2.13-0.254 1.36-0.525 3.67 0.709 1.77 1.66 0.962 0.181 1.9 2.32 0.26 0.593 0.304 1.71 0.814 1.74 3.67-0.833-0.0875 0.536 4.63-0.838 0.719-0.891 4.42 0.255 3.8-0.806 2.07 0.119 2.75-0.7 6.07-0.822 1.48-1.17 2.26 0.943 3.4-0.974 0.391 0.166-1.61-0.548 3.88-0.154 2.93-1.26-1.74 0.103 4.21-0.851 3.52 8e-3 0.233-0.263 3.33-0.811 1.06-1.46-0.459-1.02 5.55-0.963 2.61-2.11 0.281-1.59 4.88-0.572 0.699 0.597 3.05 1.65 3.99 3.26 0.863-0.152 2.77 0.0659 3.41-0.626 2.24-1.04-0.0635-1.05 3.37-1.34 2.1 0.115 2.2-1.21 2.77-0.679 5.91-0.778 1.96-1.63 4.89-1.49 5.47 0.212 0.204 1.22 3.99-0.265 2.14-0.0482 0.411-0.776 2.93-0.892 2.17-0.148 0.604-0.262 2.54-1.52 0.804 0.0911 1.11 0.562 1.23 1.57 0.468 1.54 0.966 3.31 1.86 4.62 2.67-0.472-0.76-0.582 4.72-0.393 3.14 0.131 3.72-0.565 6.16-0.724 4.54-0.853 1.37-0.939 5.89-0.58 10.1-1.7 2.9-0.523 10.2-1.15 4.86-0.211 4.69-0.969 7.4-1.04 3.46-0.0576 3.13 0.58 3.83 0 3.63 0.257 2.5-0.141 7.74-0.46 2.23 1.09-0.13 0.518 5.9 0.145 1.12-0.0184 2.85-6e-3 3.83-0.186 0.748 0.694 1.01 1.4 1.58 2.33-0.112 0.687-0.306 0.992-0.454 1.51 0.0805 0.459-0.0486 0.901 0.226 1.36 0.057 0.859-1.34 1.08-2.69 0.127-3.53-0.828-1.21-0.849-7.23 0.974-5.16-0.286-1.66-0.354-7.64 0.321-1.48 0.961-4.73 0.287-6.76 0.551-4.01 0.178-1.95-0.517-3.33 0.624-5.29 1.8-3.12 1.47-5.66 0.941-5.26 0.0339-2.08-0.772-4.75 0.424-6.08 2.5-3.35 1.33-7.54 2.02-6.37-0.269-3.02 1.17-6.76 0.468-0.975 0.1-2.43 0.343-3.46 0.786-1.5-0.748-1.92 0.689-3.38 0.363-0.83-0.0851-2.1-0.343-3.5-0.0239-1.28 0.81-3.87-0.666-5.67-2.17-0.131-0.478-0.106-0.902-0.403-1.69-1.63 0.392-0.668 0.395-4.29 1.14-2.71 0.289 0.131 0.495-3.22 0.964-0.638 0.331-0.998 1.17-3.15 1.04-3.09 0.469-4.48 2.1-3.66 0.577-2.95 0.347-2.9 1.82-5.86 1.85-3.3 0.815 0.192 0.978-5.2 1.66-2.81 2.66 0.0387 0.735-4.21 1.29-1.43-0.911-2.24-2.29-3.89-3.63-0.363-0.679 0.258-1.84-0.375-2.28-5.28 1.39 0.176-0.925-5.08 1.01-10.6 1.42-4.55 1.88-9.18 1.66-6.73 1.35-4.11 1.99-10.2 2.31-4.53 1.09-1.63-0.398-5.52 1.02-3.15 0.522-2.41-0.0562-4.51 1.04-0.76 0.379-0.865-0.416-2.75-0.0493-3.5-3.45-2.85-0.892-2.93-6.14-4.41 0.837 0.477 0.703-6.18 1.2-4.59 0.0171-1.93 1.02-7.41 1.04-0.815 0.505-2.55 0.453-4.13 0.791-5 0.71-5.97 2-8.46 1.61-1.39 1.09-2.58 1.53-4.22 2.62-0.919 0.756-3.45 0.596-4.48 0.492-0.525-0.406-0.751-1.2-1.82-3.28 0.149-0.902-0.325-1.44-0.248-2.8z"></path></symbol>
-
- <symbol id="icon-gleam-chasse-2" viewBox="0 0 108 22"><path d="m0.585 18.5c-0.578-1.54-0.65-1.33-0.543-2.64 0.271-1.19 0.153-1.06 1.27-1.71 0.993 0.124 1.94-0.662 2.94-0.869 2.48 0.119 0.772 0.443 2.99-0.366 1.66-1.91 0.764 0.783 3.36-0.992 2.37 0.314 4.26-1.5 5.16-1.26 0.387 0.627 0.202 0.412 2.52-0.776 4.89-1.57 3.91-1.47 5-0.972 2.05-1.09-0.0615-0.49 2.79-1.2 4.47-0.514 3.62 0.127 4.18-1.19 4.3-0.613 2.56-1.49 4.09-0.847 1.8-1.51 1.01 0.157 2.64-0.722 4.91-1.28 1.39 0.553 4.43-0.843 1.28-0.387 2.72-0.427 4.05-0.748 0.332-0.942 1.93 0.121 2.75-0.817 3 0.294-0.74-0.514 3.35-0.219 2.34-1.12 0.474 0.505 3.01-1.33 0.779-0.552 0.958 0.919 2.76-0.331 1.26-0.027 0.231 0.642 1.71 0.0417 1.08-0.234-0.332-0.25 1.4-0.727 1.07 0.281 0.347 0.858 2.47 1.86 1.02 2.09-0.0407 0.967 0.473 3.88-0.19 1.31 0.095 0.629-1.34 1.44-0.351 0.381-0.494 0.132-0.0505 0.773 5.7-0.865 2.24-0.0704 4.31-0.722 1.39-0.602 3.12 0.189 3.85-0.396 5.52-1.74 1.2 0.802 5.56-0.972 5.77-0.78 5.5-0.0267 5.87-0.622 1.29-0.593 0.466-0.184 2.73-0.0872 0.586-0.907-0.0863-0.919 1.23-0.644 0.471-1.23 3.03 0.227 3.86-0.234 1.2 0.319 2.27 0.00513 2.55 0.264 0.378 0.998 1.18 1.79 1.78 2.57-0.109 0.798 0.472 1.14 0.254 2.4 2.25-0.43 1.69-0.298 4.1-0.338 2.35-1.11 0.595 0.263 3.12-0.813 1.5-0.153 2.17 0.044 3.29-0.328 1.39-0.699 0.859-0.135 1.88-0.671 1.35 0.779 0.389 0.64 1.39 1.7 0.132 1.37 0.34 1.03 0.117 2.21-0.619 0.327-0.757 0.0587-1.28 0.739-2.68 0.688-0.161 0.395-2.5 0.734-1.97-0.203-0.915-0.0737-3.21 0.454-1.76 1.41-0.982 1.12-2.36 1.43-1.65 0.974 0.119-0.784-2.27 0.501-0.883 0.361-1.2 0.471-1.88 0.827-2.84 1.1-1.72-0.0496-3.18 1.37-2.38 0.689-1.82 0.324-2.65 1.27-3.52 0.658-2.07-0.49-3.27-0.419-1.85-2.19 0.14-0.414-1.87-2.62-0.551-2.06-0.527-0.977 0.131-2.63 0.366-1.44 0.369-0.627 1.15-1.88-1.79 0.433-1.64 0.163-5.6 0.781-3.59 1.82-0.592-0.17-4.29 0.729-0.705 0.598-0.369 0.995-1.59-0.0892-0.655 0.638-0.104 0.42-2.9 0.621-3.6 1.1-2.83 1.29-4.17 0.742 0.0193-1.05-1.8 1.24-2.18 0.454-2.51 0.61-1.36 0.795-3.64 0.594-0.211 0.804-4.14-0.139-5.09 0.879-3.61 0.381 0.127-0.296-3.51-1.03-1.44-1.87-1.14-0.196-1.22-3.01 0.14-1.2-0.505-0.638-0.0251-2.39-2.64 0.466-1.25-0.372-3.55 0.344-4.12 0.781-0.26 1.32-4.36 1.02-1.78 0.235 0.327 0.568-3.16 0.555-1.36 0.861-0.709 0.778-2.01 0.649-4.07 1.1-0.948 0.904-4.54 1.17-1.27 0.686-4.67 0.341-4.6 1.04-2.47 0.466-0.707 1.46-3.49 0.582-2.93 1.39-0.739 1.31-4.38 1.56-3.21 1.23-0.735 1.93-3.87 1.14-2.82 1.91-0.676 1.23-4.04 1.82-1.97 1.47 0.312 0.745-2.95 0.812-3.51 1.54 0.0965-0.473-4.27 1.39-2.68 0.382-1.75 0.682-3.32-0.585-1.65-1.61 0.361-0.307-1.37-2.31z"></path></symbol>
-
- <symbol id="icon-menu" viewBox="0 0 24 24"><path d="M3 13h18c0.552 0 1-0.448 1-1s-0.448-1-1-1h-18c-0.552 0-1 0.448-1 1s0.448 1 1 1zM3 7h18c0.552 0 1-0.448 1-1s-0.448-1-1-1h-18c-0.552 0-1 0.448-1 1s0.448 1 1 1zM3 19h18c0.552 0 1-0.448 1-1s-0.448-1-1-1h-18c-0.552 0-1 0.448-1 1s0.448 1 1 1z"></path></symbol>
-
- <symbol id="icon-moon" viewBox="0 0 24 24"><path d="M21.996 12.882c0.022-0.233-0.038-0.476-0.188-0.681-0.325-0.446-0.951-0.544-1.397-0.219-0.95 0.693-2.060 1.086-3.188 1.162-1.368 0.092-2.765-0.283-3.95-1.158-1.333-0.985-2.139-2.415-2.367-3.935s0.124-3.124 1.109-4.456c0.142-0.191 0.216-0.435 0.191-0.691-0.053-0.55-0.542-0.952-1.092-0.898-2.258 0.22-4.314 1.18-5.895 2.651-1.736 1.615-2.902 3.847-3.137 6.386-0.254 2.749 0.631 5.343 2.266 7.311s4.022 3.313 6.772 3.567 5.343-0.631 7.311-2.266 3.313-4.022 3.567-6.772zM19.567 14.674c-0.49 1.363-1.335 2.543-2.416 3.441-1.576 1.309-3.648 2.016-5.848 1.813s-4.108-1.278-5.417-2.854-2.016-3.648-1.813-5.848c0.187-2.032 1.117-3.814 2.507-5.106 0.782-0.728 1.71-1.3 2.731-1.672-0.456 1.264-0.577 2.606-0.384 3.899 0.303 2.023 1.38 3.934 3.156 5.247 1.578 1.167 3.448 1.668 5.272 1.545 0.752-0.050 1.496-0.207 2.21-0.465z"></path></symbol>
-
- <symbol id="icon-more-horizontal" viewBox="0 0 24 24"><path d="M14 12c0-0.552-0.225-1.053-0.586-1.414s-0.862-0.586-1.414-0.586-1.053 0.225-1.414 0.586-0.586 0.862-0.586 1.414 0.225 1.053 0.586 1.414 0.862 0.586 1.414 0.586 1.053-0.225 1.414-0.586 0.586-0.862 0.586-1.414zM21 12c0-0.552-0.225-1.053-0.586-1.414s-0.862-0.586-1.414-0.586-1.053 0.225-1.414 0.586-0.586 0.862-0.586 1.414 0.225 1.053 0.586 1.414 0.862 0.586 1.414 0.586 1.053-0.225 1.414-0.586 0.586-0.862 0.586-1.414zM7 12c0-0.552-0.225-1.053-0.586-1.414s-0.862-0.586-1.414-0.586-1.053 0.225-1.414 0.586-0.586 0.862-0.586 1.414 0.225 1.053 0.586 1.414 0.862 0.586 1.414 0.586 1.053-0.225 1.414-0.586 0.586-0.862 0.586-1.414z"></path></symbol>
-
- <symbol id="icon-more-vertical" viewBox="0 0 24 24"><path d="M14 12c0-0.552-0.225-1.053-0.586-1.414s-0.862-0.586-1.414-0.586-1.053 0.225-1.414 0.586-0.586 0.862-0.586 1.414 0.225 1.053 0.586 1.414 0.862 0.586 1.414 0.586 1.053-0.225 1.414-0.586 0.586-0.862 0.586-1.414zM14 5c0-0.552-0.225-1.053-0.586-1.414s-0.862-0.586-1.414-0.586-1.053 0.225-1.414 0.586-0.586 0.862-0.586 1.414 0.225 1.053 0.586 1.414 0.862 0.586 1.414 0.586 1.053-0.225 1.414-0.586 0.586-0.862 0.586-1.414zM14 19c0-0.552-0.225-1.053-0.586-1.414s-0.862-0.586-1.414-0.586-1.053 0.225-1.414 0.586-0.586 0.862-0.586 1.414 0.225 1.053 0.586 1.414 0.862 0.586 1.414 0.586 1.053-0.225 1.414-0.586 0.586-0.862 0.586-1.414z"></path></symbol>
-
- <symbol id="icon-star" viewBox="0 0 24 24"><path d="M12.897 1.557c-0.092-0.189-0.248-0.352-0.454-0.454-0.495-0.244-1.095-0.041-1.339 0.454l-2.858 5.789-6.391 0.935c-0.208 0.029-0.411 0.127-0.571 0.291-0.386 0.396-0.377 1.029 0.018 1.414l4.623 4.503-1.091 6.362c-0.036 0.207-0.006 0.431 0.101 0.634 0.257 0.489 0.862 0.677 1.351 0.42l5.714-3.005 5.715 3.005c0.186 0.099 0.408 0.139 0.634 0.101 0.544-0.093 0.91-0.61 0.817-1.155l-1.091-6.362 4.623-4.503c0.151-0.146 0.259-0.344 0.292-0.572 0.080-0.546-0.298-1.054-0.845-1.134l-6.39-0.934zM12 4.259l2.193 4.444c0.151 0.305 0.436 0.499 0.752 0.547l4.906 0.717-3.549 3.457c-0.244 0.238-0.341 0.569-0.288 0.885l0.837 4.883-4.386-2.307c-0.301-0.158-0.647-0.148-0.931 0l-4.386 2.307 0.837-4.883c0.058-0.336-0.059-0.661-0.288-0.885l-3.549-3.457 4.907-0.718c0.336-0.049 0.609-0.26 0.752-0.546z"></path></symbol>
-
- <symbol id="icon-sun" viewBox="0 0 24 24"><path d="M18 12c0-1.657-0.673-3.158-1.757-4.243s-2.586-1.757-4.243-1.757-3.158 0.673-4.243 1.757-1.757 2.586-1.757 4.243 0.673 3.158 1.757 4.243 2.586 1.757 4.243 1.757 3.158-0.673 4.243-1.757 1.757-2.586 1.757-4.243zM16 12c0 1.105-0.447 2.103-1.172 2.828s-1.723 1.172-2.828 1.172-2.103-0.447-2.828-1.172-1.172-1.723-1.172-2.828 0.447-2.103 1.172-2.828 1.723-1.172 2.828-1.172 2.103 0.447 2.828 1.172 1.172 1.723 1.172 2.828zM11 1v2c0 0.552 0.448 1 1 1s1-0.448 1-1v-2c0-0.552-0.448-1-1-1s-1 0.448-1 1zM11 21v2c0 0.552 0.448 1 1 1s1-0.448 1-1v-2c0-0.552-0.448-1-1-1s-1 0.448-1 1zM3.513 4.927l1.42 1.42c0.391 0.391 1.024 0.391 1.414 0s0.391-1.024 0-1.414l-1.42-1.42c-0.391-0.391-1.024-0.391-1.414 0s-0.391 1.024 0 1.414zM17.653 19.067l1.42 1.42c0.391 0.391 1.024 0.391 1.414 0s0.391-1.024 0-1.414l-1.42-1.42c-0.391-0.391-1.024-0.391-1.414 0s-0.391 1.024 0 1.414zM1 13h2c0.552 0 1-0.448 1-1s-0.448-1-1-1h-2c-0.552 0-1 0.448-1 1s0.448 1 1 1zM21 13h2c0.552 0 1-0.448 1-1s-0.448-1-1-1h-2c-0.552 0-1 0.448-1 1s0.448 1 1 1zM4.927 20.487l1.42-1.42c0.391-0.391 0.391-1.024 0-1.414s-1.024-0.391-1.414 0l-1.42 1.42c-0.391 0.391-0.391 1.024 0 1.414s1.024 0.391 1.414 0zM19.067 6.347l1.42-1.42c0.391-0.391 0.391-1.024 0-1.414s-1.024-0.391-1.414 0l-1.42 1.42c-0.391 0.391-0.391 1.024 0 1.414s1.024 0.391 1.414 0z"></path></symbol>
-
- <symbol id="icon-toggle-left" viewBox="0 0 24 24"><path d="M8 4c-2.209 0-4.21 0.897-5.657 2.343s-2.343 3.448-2.343 5.657 0.897 4.21 2.343 5.657 3.448 2.343 5.657 2.343h8c2.209 0 4.21-0.897 5.657-2.343s2.343-3.448 2.343-5.657-0.897-4.21-2.343-5.657-3.448-2.343-5.657-2.343zM8 6h8c1.657 0 3.156 0.67 4.243 1.757s1.757 2.586 1.757 4.243-0.67 3.156-1.757 4.243-2.586 1.757-4.243 1.757h-8c-1.657 0-3.156-0.67-4.243-1.757s-1.757-2.586-1.757-4.243 0.67-3.156 1.757-4.243 2.586-1.757 4.243-1.757zM12 12c0-1.104-0.449-2.106-1.172-2.828s-1.724-1.172-2.828-1.172-2.106 0.449-2.828 1.172-1.172 1.724-1.172 2.828 0.449 2.106 1.172 2.828 1.724 1.172 2.828 1.172 2.106-0.449 2.828-1.172 1.172-1.724 1.172-2.828zM10 12c0 0.553-0.223 1.051-0.586 1.414s-0.861 0.586-1.414 0.586-1.051-0.223-1.414-0.586-0.586-0.861-0.586-1.414 0.223-1.051 0.586-1.414 0.861-0.586 1.414-0.586 1.051 0.223 1.414 0.586 0.586 0.861 0.586 1.414z"></path></symbol>
-
- <symbol id="icon-toggle-right" viewBox="0 0 24 24"><path d="M8 4c-2.209 0-4.21 0.897-5.657 2.343s-2.343 3.448-2.343 5.657 0.897 4.21 2.343 5.657 3.448 2.343 5.657 2.343h8c2.209 0 4.21-0.897 5.657-2.343s2.343-3.448 2.343-5.657-0.897-4.21-2.343-5.657-3.448-2.343-5.657-2.343zM8 6h8c1.657 0 3.156 0.67 4.243 1.757s1.757 2.586 1.757 4.243-0.67 3.156-1.757 4.243-2.586 1.757-4.243 1.757h-8c-1.657 0-3.156-0.67-4.243-1.757s-1.757-2.586-1.757-4.243 0.67-3.156 1.757-4.243 2.586-1.757 4.243-1.757zM20 12c0-1.104-0.449-2.106-1.172-2.828s-1.724-1.172-2.828-1.172-2.106 0.449-2.828 1.172-1.172 1.724-1.172 2.828 0.449 2.106 1.172 2.828 1.724 1.172 2.828 1.172 2.106-0.449 2.828-1.172 1.172-1.724 1.172-2.828zM18 12c0 0.553-0.223 1.051-0.586 1.414s-0.861 0.586-1.414 0.586-1.051-0.223-1.414-0.586-0.586-0.861-0.586-1.414 0.223-1.051 0.586-1.414 0.861-0.586 1.414-0.586 1.051 0.223 1.414 0.586 0.586 0.861 0.586 1.414z"></path></symbol>
-
- <symbol id="icon-x-circle" viewBox="0 0 24 24"><path d="M23 12c0-3.037-1.232-5.789-3.222-7.778s-4.741-3.222-7.778-3.222-5.789 1.232-7.778 3.222-3.222 4.741-3.222 7.778 1.232 5.789 3.222 7.778 4.741 3.222 7.778 3.222 5.789-1.232 7.778-3.222 3.222-4.741 3.222-7.778zM21 12c0 2.486-1.006 4.734-2.636 6.364s-3.878 2.636-6.364 2.636-4.734-1.006-6.364-2.636-2.636-3.878-2.636-6.364 1.006-4.734 2.636-6.364 3.878-2.636 6.364-2.636 4.734 1.006 6.364 2.636 2.636 3.878 2.636 6.364zM8.293 9.707l2.293 2.293-2.293 2.293c-0.391 0.391-0.391 1.024 0 1.414s1.024 0.391 1.414 0l2.293-2.293 2.293 2.293c0.391 0.391 1.024 0.391 1.414 0s0.391-1.024 0-1.414l-2.293-2.293 2.293-2.293c0.391-0.391 0.391-1.024 0-1.414s-1.024-0.391-1.414 0l-2.293 2.293-2.293-2.293c-0.391-0.391-1.024-0.391-1.414 0s-0.391 1.024 0 1.414z"></path></symbol>
- </defs>
- </svg>
-
- <script src="https://unpkg.com/@highlightjs/cdn-assets@10.5.0/highlight.min.js"></script>
-
- <script src="https://unpkg.com/@highlightjs/cdn-assets@10.5.0/languages/erlang.min.js"></script>
-
- <script src="https://unpkg.com/@highlightjs/cdn-assets@10.5.0/languages/elixir.min.js"></script>
-
- <script src="./highlightjs-gleam.js?v=0.21.0"></script>
-
- <script src="./gleam.js?v=0.21.0"></script>
- </body>
-</html> \ No newline at end of file
diff --git a/docs/lustre/attribute.html b/docs/lustre/attribute.html
deleted file mode 100644
index 0fd6856..0000000
--- a/docs/lustre/attribute.html
+++ /dev/null
@@ -1,1110 +0,0 @@
-<!DOCTYPE html>
-<html>
- <head>
- <meta charset="utf-8" />
- <meta name="viewport" content="width=device-width, initial-scale=1">
- <title>lustre/attribute - lustre</title>
- <link rel="stylesheet" href="../index.css?v=0.21.0" type="text/css" />
- <!-- The docs_config.js file is provided by HexDocs and shared
- between multiple versions of the same package. -->
- <script src="../docs_config.js"></script>
- <link id="syntax-theme" rel="stylesheet" href="https://unpkg.com/@highlightjs/cdn-assets@10.5.0/styles/atom-one-light.min.css">
- </head>
- <body class="prewrap-off theme-light drawer-closed">
- <script>
- "use strict";
-
- /* gleamConfig format:
- * // object with one or more options
- * {option: {
- * // array of values
- * values: [{
- * // this value
- * value: "off",
- * // optional button label
- * label: "default",
- * // optional array of icons
- * icons: ["star", "toggle-left", ...],
- * }, ...],
- *
- * // value update function
- * update: () => {...},
- *
- * // optional callback function
- * callback: (value) => {...},
- * }, ...};
- */
- const gleamConfig = {
- theme: {
- values: (() => {
- const dark = {
- value: "dark",
- label: "Switch to light mode",
- icons: ["moon"],
- };
- const light = {
- value: "light",
- label: "Switch to dark mode",
- icons: ["sun"],
- };
- return (
- window.matchMedia("(prefers-color-scheme: dark)").matches
- ? [dark, light]
- : [light, dark]
- ).map((item, index) => {
- item.icons.push(`toggle-${0 === index ? "left" : "right"}`);
- return item;
- });
- })(),
-
- update: () => "light" === Gleam.getProperty("theme") ? "dark" : "light",
-
- callback: function(value) {
- const syntaxThemes = {
- dark: "atom-one-dark",
- light: "atom-one-light",
- };
- const syntaxTheme = document.querySelector("#syntax-theme");
- const hrefParts = syntaxTheme.href.match(
- /^(.*?)([^/\\#?]+?)((?:\.min)?\.css.*)$/i
- );
- if (syntaxThemes[value] !== hrefParts[2]) {
- hrefParts[2] = syntaxThemes[value];
- hrefParts.shift();
- syntaxTheme.href = hrefParts.join("");
- }
- },
- },
- prewrap: {
- values: [
- {
- value: "off",
- label: "Switch to line-wrapped snippets",
- icons: ["more-horizontal", "toggle-left"],
- },
- {
- value: "on",
- label: "Switch to non-wrapped snippets",
- icons: ["more-vertical", "toggle-right"],
- },
- ],
-
- update: () => "off" === Gleam.getProperty("prewrap") ? "on" : "off",
- },
- };
- </script>
-
- <script>
- "use strict";
-
- /* Initialise options before any content loads */
- void function() {
- for (const property in gleamConfig) {
- const name = `Gleam.${property}`;
-
- let value;
-
- try {
- value = localStorage.getItem(name);
- if (value.startsWith('"') && value.endsWith('"')) {
- localStorage.setItem(name, value.slice(1, value.length - 1));
- }
- }
- catch (_error) {}
-
- const defaultValue = gleamConfig[property].values[0].value;
- try {
- value = localStorage.getItem(name);
- }
- catch(_error) {}
- if (-1 < [null, undefined].indexOf(value)) {
- value = defaultValue;
- }
- const bodyClasses = document.body.classList;
- bodyClasses.remove(`${property}-${defaultValue}`);
- bodyClasses.add(`${property}-${value}`);
- try {
- gleamConfig[property].callback(value);
- }
- catch(_error) {}
- }
- }();
- </script>
-
- <header class="page-header">
- <button class="sidebar-toggle" tabindex="0">
- <svg class="label label-closed icon icon-menu" alt="Open Menu" title="Open Menu"><use xlink:href="#icon-menu"></use></svg>
- <svg class="label label-open icon icon-x-circle" alt="Close Menu" title="Close Menu"><use xlink:href="#icon-x-circle"></use></svg>
- </button>
-
- <h2>
- <a href="../">lustre</a>
- <span id="project-version">
- <span> - v1.0.0 </span>
- </span>
- <script>
- "use strict";
-
- if ("undefined" !== typeof versionNodes) {
- const currentVersion = "v1.0.0";
- if (! versionNodes.find(element => element.version === currentVersion)) {
- versionNodes.unshift({ version: currentVersion, url: "#" });
- }
- document.querySelector("#project-version").innerHTML =
- versionNodes.reduce(
- (acc, element) => {
- const status =
- currentVersion === element.version ? "selected disabled" : "";
- return `
- ${acc}
- <option value="${element.url}" ${status}>
- ${element.version}
- </option>
- `;
- },
- `
- <form autocomplete="off">
- <select onchange="window.location.href = this.value">
- `
- ) + `
- </select>
- <svg class="icon icon-chevrons-down"><use xlink:href="#icon-chevrons-down"></use></svg>
- </form>
- `;
- }
- </script>
- </h2>
- </header>
-
- <div class="page">
- <nav class="sidebar">
- <button class="sidebar-toggle" tabindex="1">
- <svg class="label icon icon-x-circle" alt="Close Menu" title="Close Menu"><use xlink:href="#icon-x-circle"></use></svg>
- </button>
-
-
- <h2>Pages</h2>
- <ul>
-
- <li><a href="../index.html">README</a></li>
-
- </ul>
-
-
-
- <h2>Links</h2>
- <ul>
-
- <li><a href="https://hayleigh-dot-dev.github.io/gleam-lustre">Website</a></li>
-
- <li><a href="https://github.com/hayleigh-dot-dev/gleam-lustre">Repository</a></li>
-
- </ul>
-
-
- <h2>Modules</h2>
- <ul>
-
- <li><a href="../lustre.html">lustre</a></li>
-
- <li><a href="../lustre/attribute.html">lustre/attribute</a></li>
-
- <li><a href="../lustre/cmd.html">lustre/cmd</a></li>
-
- <li><a href="../lustre/element.html">lustre/element</a></li>
-
- <li><a href="../lustre/event.html">lustre/event</a></li>
-
- </ul>
-
-
-
-<h2>Types</h2>
-<ul>
-
- <li><a href="#Attribute">Attribute</a></li>
-
-</ul>
-
-
-
-
-
-
-<h2>Functions</h2>
-<ul>
-
- <li><a href="#accept">accept</a></li>
-
- <li><a href="#accept_charset">accept_charset</a></li>
-
- <li><a href="#action">action</a></li>
-
- <li><a href="#alt">alt</a></li>
-
- <li><a href="#attribute">attribute</a></li>
-
- <li><a href="#autocomplete">autocomplete</a></li>
-
- <li><a href="#autofocus">autofocus</a></li>
-
- <li><a href="#autoplay">autoplay</a></li>
-
- <li><a href="#checked">checked</a></li>
-
- <li><a href="#class">class</a></li>
-
- <li><a href="#classes">classes</a></li>
-
- <li><a href="#cols">cols</a></li>
-
- <li><a href="#controls">controls</a></li>
-
- <li><a href="#disabled">disabled</a></li>
-
- <li><a href="#download">download</a></li>
-
- <li><a href="#event">event</a></li>
-
- <li><a href="#for">for</a></li>
-
- <li><a href="#height">height</a></li>
-
- <li><a href="#href">href</a></li>
-
- <li><a href="#id">id</a></li>
-
- <li><a href="#loop">loop</a></li>
-
- <li><a href="#max">max</a></li>
-
- <li><a href="#min">min</a></li>
-
- <li><a href="#name">name</a></li>
-
- <li><a href="#pattern">pattern</a></li>
-
- <li><a href="#placeholder">placeholder</a></li>
-
- <li><a href="#property">property</a></li>
-
- <li><a href="#readonly">readonly</a></li>
-
- <li><a href="#rel">rel</a></li>
-
- <li><a href="#require">require</a></li>
-
- <li><a href="#rows">rows</a></li>
-
- <li><a href="#selected">selected</a></li>
-
- <li><a href="#src">src</a></li>
-
- <li><a href="#step">step</a></li>
-
- <li><a href="#style">style</a></li>
-
- <li><a href="#target">target</a></li>
-
- <li><a href="#type_">type_</a></li>
-
- <li><a href="#value">value</a></li>
-
- <li><a href="#width">width</a></li>
-
- <li><a href="#wrap">wrap</a></li>
-
-</ul>
-
-
- </nav>
-
- <main class="content">
-
-<h1 id="module-name" class="module-name">
- <a href="#module-name">lustre/attribute</a>
- <svg class="icon icon-gleam-chasse"><use xlink:href="#icon-gleam-chasse"></use></svg>
-</h1>
-
-
-
-<section class="module-members">
- <h1 id="module-types" class="module-member-kind">
- <a href="#module-types">Types</a>
- <svg class="icon icon-gleam-chasse-2"><use xlink:href="#icon-gleam-chasse-2"></use></svg>
- </h1>
-
-
- <div class="member">
- <div class="member-name">
- <h2 id="Attribute">
- <a href="#Attribute">
- Attribute
- </a>
- </h2>
-
- <a class="member-source" alt="View Source" title="View Source" href="https://github.com/hayleigh-dot-dev/gleam-lustre/blob/v1.0.0/src/lustre/attribute.gleam#L12-L12">
- &lt;/&gt;
- </a>
-
- </div>
- <div class="custom-type-constructors">
- <div class="rendered-markdown"></div>
- <pre><code class="hljs gleam">pub opaque type Attribute(action)</code></pre>
-
-
- </div>
- </div>
-
-</section>
-
-
-
-
-
-
-<section class="module-members">
- <h1 id="module-functions" class="module-member-kind">
- <a href="#module-functions">Functions</a>
- <svg class="icon icon-gleam-chasse"><use xlink:href="#icon-gleam-chasse"></use></svg>
- </h1>
-
- <div class="member">
- <div class="member-name">
- <h2 id="accept">
- <a href="#accept">
- accept
- </a>
- </h2>
-
- <a class="member-source" alt="View Source" title="View Source" href="https://github.com/hayleigh-dot-dev/gleam-lustre/blob/v1.0.0/src/lustre/attribute.gleam#L95-L95">
- &lt;/&gt;
- </a>
-
- </div>
- <pre><code class="hljs gleam">pub fn accept(types: List(String)) -&gt; Attribute(a)</code></pre>
- <div class="rendered-markdown"></div>
- </div>
-
- <div class="member">
- <div class="member-name">
- <h2 id="accept_charset">
- <a href="#accept_charset">
- accept_charset
- </a>
- </h2>
-
- <a class="member-source" alt="View Source" title="View Source" href="https://github.com/hayleigh-dot-dev/gleam-lustre/blob/v1.0.0/src/lustre/attribute.gleam#L100-L100">
- &lt;/&gt;
- </a>
-
- </div>
- <pre><code class="hljs gleam">pub fn accept_charset(types: List(String)) -&gt; Attribute(a)</code></pre>
- <div class="rendered-markdown"></div>
- </div>
-
- <div class="member">
- <div class="member-name">
- <h2 id="action">
- <a href="#action">
- action
- </a>
- </h2>
-
- <a class="member-source" alt="View Source" title="View Source" href="https://github.com/hayleigh-dot-dev/gleam-lustre/blob/v1.0.0/src/lustre/attribute.gleam#L105-L105">
- &lt;/&gt;
- </a>
-
- </div>
- <pre><code class="hljs gleam">pub fn action(uri: String) -&gt; Attribute(a)</code></pre>
- <div class="rendered-markdown"></div>
- </div>
-
- <div class="member">
- <div class="member-name">
- <h2 id="alt">
- <a href="#alt">
- alt
- </a>
- </h2>
-
- <a class="member-source" alt="View Source" title="View Source" href="https://github.com/hayleigh-dot-dev/gleam-lustre/blob/v1.0.0/src/lustre/attribute.gleam#L223-L223">
- &lt;/&gt;
- </a>
-
- </div>
- <pre><code class="hljs gleam">pub fn alt(text: String) -&gt; Attribute(a)</code></pre>
- <div class="rendered-markdown"></div>
- </div>
-
- <div class="member">
- <div class="member-name">
- <h2 id="attribute">
- <a href="#attribute">
- attribute
- </a>
- </h2>
-
- <a class="member-source" alt="View Source" title="View Source" href="https://github.com/hayleigh-dot-dev/gleam-lustre/blob/v1.0.0/src/lustre/attribute.gleam#L21-L21">
- &lt;/&gt;
- </a>
-
- </div>
- <pre><code class="hljs gleam">pub fn attribute(name: String, value: String) -&gt; Attribute(a)</code></pre>
- <div class="rendered-markdown"></div>
- </div>
-
- <div class="member">
- <div class="member-name">
- <h2 id="autocomplete">
- <a href="#autocomplete">
- autocomplete
- </a>
- </h2>
-
- <a class="member-source" alt="View Source" title="View Source" href="https://github.com/hayleigh-dot-dev/gleam-lustre/blob/v1.0.0/src/lustre/attribute.gleam#L110-L110">
- &lt;/&gt;
- </a>
-
- </div>
- <pre><code class="hljs gleam">pub fn autocomplete(should_autocomplete: Bool) -&gt; Attribute(a)</code></pre>
- <div class="rendered-markdown"></div>
- </div>
-
- <div class="member">
- <div class="member-name">
- <h2 id="autofocus">
- <a href="#autofocus">
- autofocus
- </a>
- </h2>
-
- <a class="member-source" alt="View Source" title="View Source" href="https://github.com/hayleigh-dot-dev/gleam-lustre/blob/v1.0.0/src/lustre/attribute.gleam#L115-L115">
- &lt;/&gt;
- </a>
-
- </div>
- <pre><code class="hljs gleam">pub fn autofocus(should_autofocus: Bool) -&gt; Attribute(a)</code></pre>
- <div class="rendered-markdown"></div>
- </div>
-
- <div class="member">
- <div class="member-name">
- <h2 id="autoplay">
- <a href="#autoplay">
- autoplay
- </a>
- </h2>
-
- <a class="member-source" alt="View Source" title="View Source" href="https://github.com/hayleigh-dot-dev/gleam-lustre/blob/v1.0.0/src/lustre/attribute.gleam#L230-L230">
- &lt;/&gt;
- </a>
-
- </div>
- <pre><code class="hljs gleam">pub fn autoplay(should_autoplay: Bool) -&gt; Attribute(a)</code></pre>
- <div class="rendered-markdown"></div>
- </div>
-
- <div class="member">
- <div class="member-name">
- <h2 id="checked">
- <a href="#checked">
- checked
- </a>
- </h2>
-
- <a class="member-source" alt="View Source" title="View Source" href="https://github.com/hayleigh-dot-dev/gleam-lustre/blob/v1.0.0/src/lustre/attribute.gleam#L78-L78">
- &lt;/&gt;
- </a>
-
- </div>
- <pre><code class="hljs gleam">pub fn checked(is_checked: Bool) -&gt; Attribute(a)</code></pre>
- <div class="rendered-markdown"></div>
- </div>
-
- <div class="member">
- <div class="member-name">
- <h2 id="class">
- <a href="#class">
- class
- </a>
- </h2>
-
- <a class="member-source" alt="View Source" title="View Source" href="https://github.com/hayleigh-dot-dev/gleam-lustre/blob/v1.0.0/src/lustre/attribute.gleam#L46-L46">
- &lt;/&gt;
- </a>
-
- </div>
- <pre><code class="hljs gleam">pub fn class(name: String) -&gt; Attribute(a)</code></pre>
- <div class="rendered-markdown"></div>
- </div>
-
- <div class="member">
- <div class="member-name">
- <h2 id="classes">
- <a href="#classes">
- classes
- </a>
- </h2>
-
- <a class="member-source" alt="View Source" title="View Source" href="https://github.com/hayleigh-dot-dev/gleam-lustre/blob/v1.0.0/src/lustre/attribute.gleam#L51-L51">
- &lt;/&gt;
- </a>
-
- </div>
- <pre><code class="hljs gleam">pub fn classes(names: List(#(String, Bool))) -&gt; Attribute(a)</code></pre>
- <div class="rendered-markdown"></div>
- </div>
-
- <div class="member">
- <div class="member-name">
- <h2 id="cols">
- <a href="#cols">
- cols
- </a>
- </h2>
-
- <a class="member-source" alt="View Source" title="View Source" href="https://github.com/hayleigh-dot-dev/gleam-lustre/blob/v1.0.0/src/lustre/attribute.gleam#L169-L169">
- &lt;/&gt;
- </a>
-
- </div>
- <pre><code class="hljs gleam">pub fn cols(val: Int) -&gt; Attribute(a)</code></pre>
- <div class="rendered-markdown"></div>
- </div>
-
- <div class="member">
- <div class="member-name">
- <h2 id="controls">
- <a href="#controls">
- controls
- </a>
- </h2>
-
- <a class="member-source" alt="View Source" title="View Source" href="https://github.com/hayleigh-dot-dev/gleam-lustre/blob/v1.0.0/src/lustre/attribute.gleam#L235-L235">
- &lt;/&gt;
- </a>
-
- </div>
- <pre><code class="hljs gleam">pub fn controls(visible: Bool) -&gt; Attribute(a)</code></pre>
- <div class="rendered-markdown"></div>
- </div>
-
- <div class="member">
- <div class="member-name">
- <h2 id="disabled">
- <a href="#disabled">
- disabled
- </a>
- </h2>
-
- <a class="member-source" alt="View Source" title="View Source" href="https://github.com/hayleigh-dot-dev/gleam-lustre/blob/v1.0.0/src/lustre/attribute.gleam#L120-L120">
- &lt;/&gt;
- </a>
-
- </div>
- <pre><code class="hljs gleam">pub fn disabled(is_disabled: Bool) -&gt; Attribute(a)</code></pre>
- <div class="rendered-markdown"></div>
- </div>
-
- <div class="member">
- <div class="member-name">
- <h2 id="download">
- <a href="#download">
- download
- </a>
- </h2>
-
- <a class="member-source" alt="View Source" title="View Source" href="https://github.com/hayleigh-dot-dev/gleam-lustre/blob/v1.0.0/src/lustre/attribute.gleam#L196-L196">
- &lt;/&gt;
- </a>
-
- </div>
- <pre><code class="hljs gleam">pub fn download(filename: String) -&gt; Attribute(a)</code></pre>
- <div class="rendered-markdown"></div>
- </div>
-
- <div class="member">
- <div class="member-name">
- <h2 id="event">
- <a href="#event">
- event
- </a>
- </h2>
-
- <a class="member-source" alt="View Source" title="View Source" href="https://github.com/hayleigh-dot-dev/gleam-lustre/blob/v1.0.0/src/lustre/attribute.gleam#L31-L31">
- &lt;/&gt;
- </a>
-
- </div>
- <pre><code class="hljs gleam">pub fn event(name: String, handler: fn(Dynamic, fn(a) -&gt; Nil) -&gt;
- Nil) -&gt; Attribute(a)</code></pre>
- <div class="rendered-markdown"></div>
- </div>
-
- <div class="member">
- <div class="member-name">
- <h2 id="for">
- <a href="#for">
- for
- </a>
- </h2>
-
- <a class="member-source" alt="View Source" title="View Source" href="https://github.com/hayleigh-dot-dev/gleam-lustre/blob/v1.0.0/src/lustre/attribute.gleam#L145-L145">
- &lt;/&gt;
- </a>
-
- </div>
- <pre><code class="hljs gleam">pub fn for(id: String) -&gt; Attribute(a)</code></pre>
- <div class="rendered-markdown"></div>
- </div>
-
- <div class="member">
- <div class="member-name">
- <h2 id="height">
- <a href="#height">
- height
- </a>
- </h2>
-
- <a class="member-source" alt="View Source" title="View Source" href="https://github.com/hayleigh-dot-dev/gleam-lustre/blob/v1.0.0/src/lustre/attribute.gleam#L213-L213">
- &lt;/&gt;
- </a>
-
- </div>
- <pre><code class="hljs gleam">pub fn height(val: Int) -&gt; Attribute(a)</code></pre>
- <div class="rendered-markdown"></div>
- </div>
-
- <div class="member">
- <div class="member-name">
- <h2 id="href">
- <a href="#href">
- href
- </a>
- </h2>
-
- <a class="member-source" alt="View Source" title="View Source" href="https://github.com/hayleigh-dot-dev/gleam-lustre/blob/v1.0.0/src/lustre/attribute.gleam#L186-L186">
- &lt;/&gt;
- </a>
-
- </div>
- <pre><code class="hljs gleam">pub fn href(uri: String) -&gt; Attribute(a)</code></pre>
- <div class="rendered-markdown"></div>
- </div>
-
- <div class="member">
- <div class="member-name">
- <h2 id="id">
- <a href="#id">
- id
- </a>
- </h2>
-
- <a class="member-source" alt="View Source" title="View Source" href="https://github.com/hayleigh-dot-dev/gleam-lustre/blob/v1.0.0/src/lustre/attribute.gleam#L61-L61">
- &lt;/&gt;
- </a>
-
- </div>
- <pre><code class="hljs gleam">pub fn id(name: String) -&gt; Attribute(a)</code></pre>
- <div class="rendered-markdown"></div>
- </div>
-
- <div class="member">
- <div class="member-name">
- <h2 id="loop">
- <a href="#loop">
- loop
- </a>
- </h2>
-
- <a class="member-source" alt="View Source" title="View Source" href="https://github.com/hayleigh-dot-dev/gleam-lustre/blob/v1.0.0/src/lustre/attribute.gleam#L240-L240">
- &lt;/&gt;
- </a>
-
- </div>
- <pre><code class="hljs gleam">pub fn loop(should_loop: Bool) -&gt; Attribute(a)</code></pre>
- <div class="rendered-markdown"></div>
- </div>
-
- <div class="member">
- <div class="member-name">
- <h2 id="max">
- <a href="#max">
- max
- </a>
- </h2>
-
- <a class="member-source" alt="View Source" title="View Source" href="https://github.com/hayleigh-dot-dev/gleam-lustre/blob/v1.0.0/src/lustre/attribute.gleam#L152-L152">
- &lt;/&gt;
- </a>
-
- </div>
- <pre><code class="hljs gleam">pub fn max(val: String) -&gt; Attribute(a)</code></pre>
- <div class="rendered-markdown"></div>
- </div>
-
- <div class="member">
- <div class="member-name">
- <h2 id="min">
- <a href="#min">
- min
- </a>
- </h2>
-
- <a class="member-source" alt="View Source" title="View Source" href="https://github.com/hayleigh-dot-dev/gleam-lustre/blob/v1.0.0/src/lustre/attribute.gleam#L157-L157">
- &lt;/&gt;
- </a>
-
- </div>
- <pre><code class="hljs gleam">pub fn min(val: String) -&gt; Attribute(a)</code></pre>
- <div class="rendered-markdown"></div>
- </div>
-
- <div class="member">
- <div class="member-name">
- <h2 id="name">
- <a href="#name">
- name
- </a>
- </h2>
-
- <a class="member-source" alt="View Source" title="View Source" href="https://github.com/hayleigh-dot-dev/gleam-lustre/blob/v1.0.0/src/lustre/attribute.gleam#L125-L125">
- &lt;/&gt;
- </a>
-
- </div>
- <pre><code class="hljs gleam">pub fn name(name: String) -&gt; Attribute(a)</code></pre>
- <div class="rendered-markdown"></div>
- </div>
-
- <div class="member">
- <div class="member-name">
- <h2 id="pattern">
- <a href="#pattern">
- pattern
- </a>
- </h2>
-
- <a class="member-source" alt="View Source" title="View Source" href="https://github.com/hayleigh-dot-dev/gleam-lustre/blob/v1.0.0/src/lustre/attribute.gleam#L130-L130">
- &lt;/&gt;
- </a>
-
- </div>
- <pre><code class="hljs gleam">pub fn pattern(regex: String) -&gt; Attribute(a)</code></pre>
- <div class="rendered-markdown"></div>
- </div>
-
- <div class="member">
- <div class="member-name">
- <h2 id="placeholder">
- <a href="#placeholder">
- placeholder
- </a>
- </h2>
-
- <a class="member-source" alt="View Source" title="View Source" href="https://github.com/hayleigh-dot-dev/gleam-lustre/blob/v1.0.0/src/lustre/attribute.gleam#L83-L83">
- &lt;/&gt;
- </a>
-
- </div>
- <pre><code class="hljs gleam">pub fn placeholder(text: String) -&gt; Attribute(a)</code></pre>
- <div class="rendered-markdown"></div>
- </div>
-
- <div class="member">
- <div class="member-name">
- <h2 id="property">
- <a href="#property">
- property
- </a>
- </h2>
-
- <a class="member-source" alt="View Source" title="View Source" href="https://github.com/hayleigh-dot-dev/gleam-lustre/blob/v1.0.0/src/lustre/attribute.gleam#L26-L26">
- &lt;/&gt;
- </a>
-
- </div>
- <pre><code class="hljs gleam">pub fn property(name: String, value: Dynamic) -&gt; Attribute(a)</code></pre>
- <div class="rendered-markdown"></div>
- </div>
-
- <div class="member">
- <div class="member-name">
- <h2 id="readonly">
- <a href="#readonly">
- readonly
- </a>
- </h2>
-
- <a class="member-source" alt="View Source" title="View Source" href="https://github.com/hayleigh-dot-dev/gleam-lustre/blob/v1.0.0/src/lustre/attribute.gleam#L135-L135">
- &lt;/&gt;
- </a>
-
- </div>
- <pre><code class="hljs gleam">pub fn readonly(is_readonly: Bool) -&gt; Attribute(a)</code></pre>
- <div class="rendered-markdown"></div>
- </div>
-
- <div class="member">
- <div class="member-name">
- <h2 id="rel">
- <a href="#rel">
- rel
- </a>
- </h2>
-
- <a class="member-source" alt="View Source" title="View Source" href="https://github.com/hayleigh-dot-dev/gleam-lustre/blob/v1.0.0/src/lustre/attribute.gleam#L201-L201">
- &lt;/&gt;
- </a>
-
- </div>
- <pre><code class="hljs gleam">pub fn rel(relationship: String) -&gt; Attribute(a)</code></pre>
- <div class="rendered-markdown"></div>
- </div>
-
- <div class="member">
- <div class="member-name">
- <h2 id="require">
- <a href="#require">
- require
- </a>
- </h2>
-
- <a class="member-source" alt="View Source" title="View Source" href="https://github.com/hayleigh-dot-dev/gleam-lustre/blob/v1.0.0/src/lustre/attribute.gleam#L140-L140">
- &lt;/&gt;
- </a>
-
- </div>
- <pre><code class="hljs gleam">pub fn require(is_required: Bool) -&gt; Attribute(a)</code></pre>
- <div class="rendered-markdown"></div>
- </div>
-
- <div class="member">
- <div class="member-name">
- <h2 id="rows">
- <a href="#rows">
- rows
- </a>
- </h2>
-
- <a class="member-source" alt="View Source" title="View Source" href="https://github.com/hayleigh-dot-dev/gleam-lustre/blob/v1.0.0/src/lustre/attribute.gleam#L174-L174">
- &lt;/&gt;
- </a>
-
- </div>
- <pre><code class="hljs gleam">pub fn rows(val: Int) -&gt; Attribute(a)</code></pre>
- <div class="rendered-markdown"></div>
- </div>
-
- <div class="member">
- <div class="member-name">
- <h2 id="selected">
- <a href="#selected">
- selected
- </a>
- </h2>
-
- <a class="member-source" alt="View Source" title="View Source" href="https://github.com/hayleigh-dot-dev/gleam-lustre/blob/v1.0.0/src/lustre/attribute.gleam#L88-L88">
- &lt;/&gt;
- </a>
-
- </div>
- <pre><code class="hljs gleam">pub fn selected(is_selected: Bool) -&gt; Attribute(a)</code></pre>
- <div class="rendered-markdown"></div>
- </div>
-
- <div class="member">
- <div class="member-name">
- <h2 id="src">
- <a href="#src">
- src
- </a>
- </h2>
-
- <a class="member-source" alt="View Source" title="View Source" href="https://github.com/hayleigh-dot-dev/gleam-lustre/blob/v1.0.0/src/lustre/attribute.gleam#L208-L208">
- &lt;/&gt;
- </a>
-
- </div>
- <pre><code class="hljs gleam">pub fn src(uri: String) -&gt; Attribute(a)</code></pre>
- <div class="rendered-markdown"></div>
- </div>
-
- <div class="member">
- <div class="member-name">
- <h2 id="step">
- <a href="#step">
- step
- </a>
- </h2>
-
- <a class="member-source" alt="View Source" title="View Source" href="https://github.com/hayleigh-dot-dev/gleam-lustre/blob/v1.0.0/src/lustre/attribute.gleam#L162-L162">
- &lt;/&gt;
- </a>
-
- </div>
- <pre><code class="hljs gleam">pub fn step(val: String) -&gt; Attribute(a)</code></pre>
- <div class="rendered-markdown"></div>
- </div>
-
- <div class="member">
- <div class="member-name">
- <h2 id="style">
- <a href="#style">
- style
- </a>
- </h2>
-
- <a class="member-source" alt="View Source" title="View Source" href="https://github.com/hayleigh-dot-dev/gleam-lustre/blob/v1.0.0/src/lustre/attribute.gleam#L38-L38">
- &lt;/&gt;
- </a>
-
- </div>
- <pre><code class="hljs gleam">pub fn style(properties: List(#(String, String))) -&gt; Attribute(a)</code></pre>
- <div class="rendered-markdown"></div>
- </div>
-
- <div class="member">
- <div class="member-name">
- <h2 id="target">
- <a href="#target">
- target
- </a>
- </h2>
-
- <a class="member-source" alt="View Source" title="View Source" href="https://github.com/hayleigh-dot-dev/gleam-lustre/blob/v1.0.0/src/lustre/attribute.gleam#L191-L191">
- &lt;/&gt;
- </a>
-
- </div>
- <pre><code class="hljs gleam">pub fn target(target: String) -&gt; Attribute(a)</code></pre>
- <div class="rendered-markdown"></div>
- </div>
-
- <div class="member">
- <div class="member-name">
- <h2 id="type_">
- <a href="#type_">
- type_
- </a>
- </h2>
-
- <a class="member-source" alt="View Source" title="View Source" href="https://github.com/hayleigh-dot-dev/gleam-lustre/blob/v1.0.0/src/lustre/attribute.gleam#L68-L68">
- &lt;/&gt;
- </a>
-
- </div>
- <pre><code class="hljs gleam">pub fn type_(name: String) -&gt; Attribute(a)</code></pre>
- <div class="rendered-markdown"></div>
- </div>
-
- <div class="member">
- <div class="member-name">
- <h2 id="value">
- <a href="#value">
- value
- </a>
- </h2>
-
- <a class="member-source" alt="View Source" title="View Source" href="https://github.com/hayleigh-dot-dev/gleam-lustre/blob/v1.0.0/src/lustre/attribute.gleam#L73-L73">
- &lt;/&gt;
- </a>
-
- </div>
- <pre><code class="hljs gleam">pub fn value(val: Dynamic) -&gt; Attribute(a)</code></pre>
- <div class="rendered-markdown"></div>
- </div>
-
- <div class="member">
- <div class="member-name">
- <h2 id="width">
- <a href="#width">
- width
- </a>
- </h2>
-
- <a class="member-source" alt="View Source" title="View Source" href="https://github.com/hayleigh-dot-dev/gleam-lustre/blob/v1.0.0/src/lustre/attribute.gleam#L218-L218">
- &lt;/&gt;
- </a>
-
- </div>
- <pre><code class="hljs gleam">pub fn width(val: Int) -&gt; Attribute(a)</code></pre>
- <div class="rendered-markdown"></div>
- </div>
-
- <div class="member">
- <div class="member-name">
- <h2 id="wrap">
- <a href="#wrap">
- wrap
- </a>
- </h2>
-
- <a class="member-source" alt="View Source" title="View Source" href="https://github.com/hayleigh-dot-dev/gleam-lustre/blob/v1.0.0/src/lustre/attribute.gleam#L179-L179">
- &lt;/&gt;
- </a>
-
- </div>
- <pre><code class="hljs gleam">pub fn wrap(mode: String) -&gt; Attribute(a)</code></pre>
- <div class="rendered-markdown"></div>
- </div>
-
-</section>
-
-
- </main>
- </div>
-
- <script>
- "use strict";
- const pride = () => document.body.classList.toggle("show-pride");
- </script>
- <a class="pride-button" onclick="pride()">✨</a>
- <footer class="pride" onclick="pride()">
- <div class="blue">Lucy</div>
- <div class="pink">says</div>
- <div class="white">trans</div>
- <div class="pink">rights</div>
- <div class="blue">✨</div>
- </footer>
-
- <svg class="svg-lib" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
- <defs>
- <symbol id="icon-chevrons-down" viewBox="0 0 24 24"><path d="M6.293 13.707l5 5c0.391 0.391 1.024 0.391 1.414 0l5-5c0.391-0.391 0.391-1.024 0-1.414s-1.024-0.391-1.414 0l-4.293 4.293-4.293-4.293c-0.391-0.391-1.024-0.391-1.414 0s-0.391 1.024 0 1.414zM6.293 6.707l5 5c0.391 0.391 1.024 0.391 1.414 0l5-5c0.391-0.391 0.391-1.024 0-1.414s-1.024-0.391-1.414 0l-4.293 4.293-4.293-4.293c-0.391-0.391-1.024-0.391-1.414 0s-0.391 1.024 0 1.414z"></path></symbol>
-
- <symbol id="icon-gleam-chasse" viewBox="0 0 180 22"><path d="m0.00798 15.6c0.784-1.73 0.754-2.11 1.94-3.97 1.17-0.28 2.66-0.119 3.71-0.524 1.12 0.501 1.85 0.729 3.35-0.466 0.942-0.806 2.41 0.656 3.41-0.0865 2.53-1.48 0.972-1.03 5.14-0.585 1.79-0.493 3.46-0.852 6.64-1.06 3.8-0.331 0.0108-1.06 5.16-1.16 0.874-0.835 3.43-1.34 5.49-0.963 2.17-1.41 0.488-1.58 2.64-0.426 4.36-0.0592 0.83-1.08 5.39-1.22 3.27-0.264 0.843-0.471 2.82 0.187 2.13-0.254 1.36-0.525 3.67 0.709 1.77 1.66 0.962 0.181 1.9 2.32 0.26 0.593 0.304 1.71 0.814 1.74 3.67-0.833-0.0875 0.536 4.63-0.838 0.719-0.891 4.42 0.255 3.8-0.806 2.07 0.119 2.75-0.7 6.07-0.822 1.48-1.17 2.26 0.943 3.4-0.974 0.391 0.166-1.61-0.548 3.88-0.154 2.93-1.26-1.74 0.103 4.21-0.851 3.52 8e-3 0.233-0.263 3.33-0.811 1.06-1.46-0.459-1.02 5.55-0.963 2.61-2.11 0.281-1.59 4.88-0.572 0.699 0.597 3.05 1.65 3.99 3.26 0.863-0.152 2.77 0.0659 3.41-0.626 2.24-1.04-0.0635-1.05 3.37-1.34 2.1 0.115 2.2-1.21 2.77-0.679 5.91-0.778 1.96-1.63 4.89-1.49 5.47 0.212 0.204 1.22 3.99-0.265 2.14-0.0482 0.411-0.776 2.93-0.892 2.17-0.148 0.604-0.262 2.54-1.52 0.804 0.0911 1.11 0.562 1.23 1.57 0.468 1.54 0.966 3.31 1.86 4.62 2.67-0.472-0.76-0.582 4.72-0.393 3.14 0.131 3.72-0.565 6.16-0.724 4.54-0.853 1.37-0.939 5.89-0.58 10.1-1.7 2.9-0.523 10.2-1.15 4.86-0.211 4.69-0.969 7.4-1.04 3.46-0.0576 3.13 0.58 3.83 0 3.63 0.257 2.5-0.141 7.74-0.46 2.23 1.09-0.13 0.518 5.9 0.145 1.12-0.0184 2.85-6e-3 3.83-0.186 0.748 0.694 1.01 1.4 1.58 2.33-0.112 0.687-0.306 0.992-0.454 1.51 0.0805 0.459-0.0486 0.901 0.226 1.36 0.057 0.859-1.34 1.08-2.69 0.127-3.53-0.828-1.21-0.849-7.23 0.974-5.16-0.286-1.66-0.354-7.64 0.321-1.48 0.961-4.73 0.287-6.76 0.551-4.01 0.178-1.95-0.517-3.33 0.624-5.29 1.8-3.12 1.47-5.66 0.941-5.26 0.0339-2.08-0.772-4.75 0.424-6.08 2.5-3.35 1.33-7.54 2.02-6.37-0.269-3.02 1.17-6.76 0.468-0.975 0.1-2.43 0.343-3.46 0.786-1.5-0.748-1.92 0.689-3.38 0.363-0.83-0.0851-2.1-0.343-3.5-0.0239-1.28 0.81-3.87-0.666-5.67-2.17-0.131-0.478-0.106-0.902-0.403-1.69-1.63 0.392-0.668 0.395-4.29 1.14-2.71 0.289 0.131 0.495-3.22 0.964-0.638 0.331-0.998 1.17-3.15 1.04-3.09 0.469-4.48 2.1-3.66 0.577-2.95 0.347-2.9 1.82-5.86 1.85-3.3 0.815 0.192 0.978-5.2 1.66-2.81 2.66 0.0387 0.735-4.21 1.29-1.43-0.911-2.24-2.29-3.89-3.63-0.363-0.679 0.258-1.84-0.375-2.28-5.28 1.39 0.176-0.925-5.08 1.01-10.6 1.42-4.55 1.88-9.18 1.66-6.73 1.35-4.11 1.99-10.2 2.31-4.53 1.09-1.63-0.398-5.52 1.02-3.15 0.522-2.41-0.0562-4.51 1.04-0.76 0.379-0.865-0.416-2.75-0.0493-3.5-3.45-2.85-0.892-2.93-6.14-4.41 0.837 0.477 0.703-6.18 1.2-4.59 0.0171-1.93 1.02-7.41 1.04-0.815 0.505-2.55 0.453-4.13 0.791-5 0.71-5.97 2-8.46 1.61-1.39 1.09-2.58 1.53-4.22 2.62-0.919 0.756-3.45 0.596-4.48 0.492-0.525-0.406-0.751-1.2-1.82-3.28 0.149-0.902-0.325-1.44-0.248-2.8z"></path></symbol>
-
- <symbol id="icon-gleam-chasse-2" viewBox="0 0 108 22"><path d="m0.585 18.5c-0.578-1.54-0.65-1.33-0.543-2.64 0.271-1.19 0.153-1.06 1.27-1.71 0.993 0.124 1.94-0.662 2.94-0.869 2.48 0.119 0.772 0.443 2.99-0.366 1.66-1.91 0.764 0.783 3.36-0.992 2.37 0.314 4.26-1.5 5.16-1.26 0.387 0.627 0.202 0.412 2.52-0.776 4.89-1.57 3.91-1.47 5-0.972 2.05-1.09-0.0615-0.49 2.79-1.2 4.47-0.514 3.62 0.127 4.18-1.19 4.3-0.613 2.56-1.49 4.09-0.847 1.8-1.51 1.01 0.157 2.64-0.722 4.91-1.28 1.39 0.553 4.43-0.843 1.28-0.387 2.72-0.427 4.05-0.748 0.332-0.942 1.93 0.121 2.75-0.817 3 0.294-0.74-0.514 3.35-0.219 2.34-1.12 0.474 0.505 3.01-1.33 0.779-0.552 0.958 0.919 2.76-0.331 1.26-0.027 0.231 0.642 1.71 0.0417 1.08-0.234-0.332-0.25 1.4-0.727 1.07 0.281 0.347 0.858 2.47 1.86 1.02 2.09-0.0407 0.967 0.473 3.88-0.19 1.31 0.095 0.629-1.34 1.44-0.351 0.381-0.494 0.132-0.0505 0.773 5.7-0.865 2.24-0.0704 4.31-0.722 1.39-0.602 3.12 0.189 3.85-0.396 5.52-1.74 1.2 0.802 5.56-0.972 5.77-0.78 5.5-0.0267 5.87-0.622 1.29-0.593 0.466-0.184 2.73-0.0872 0.586-0.907-0.0863-0.919 1.23-0.644 0.471-1.23 3.03 0.227 3.86-0.234 1.2 0.319 2.27 0.00513 2.55 0.264 0.378 0.998 1.18 1.79 1.78 2.57-0.109 0.798 0.472 1.14 0.254 2.4 2.25-0.43 1.69-0.298 4.1-0.338 2.35-1.11 0.595 0.263 3.12-0.813 1.5-0.153 2.17 0.044 3.29-0.328 1.39-0.699 0.859-0.135 1.88-0.671 1.35 0.779 0.389 0.64 1.39 1.7 0.132 1.37 0.34 1.03 0.117 2.21-0.619 0.327-0.757 0.0587-1.28 0.739-2.68 0.688-0.161 0.395-2.5 0.734-1.97-0.203-0.915-0.0737-3.21 0.454-1.76 1.41-0.982 1.12-2.36 1.43-1.65 0.974 0.119-0.784-2.27 0.501-0.883 0.361-1.2 0.471-1.88 0.827-2.84 1.1-1.72-0.0496-3.18 1.37-2.38 0.689-1.82 0.324-2.65 1.27-3.52 0.658-2.07-0.49-3.27-0.419-1.85-2.19 0.14-0.414-1.87-2.62-0.551-2.06-0.527-0.977 0.131-2.63 0.366-1.44 0.369-0.627 1.15-1.88-1.79 0.433-1.64 0.163-5.6 0.781-3.59 1.82-0.592-0.17-4.29 0.729-0.705 0.598-0.369 0.995-1.59-0.0892-0.655 0.638-0.104 0.42-2.9 0.621-3.6 1.1-2.83 1.29-4.17 0.742 0.0193-1.05-1.8 1.24-2.18 0.454-2.51 0.61-1.36 0.795-3.64 0.594-0.211 0.804-4.14-0.139-5.09 0.879-3.61 0.381 0.127-0.296-3.51-1.03-1.44-1.87-1.14-0.196-1.22-3.01 0.14-1.2-0.505-0.638-0.0251-2.39-2.64 0.466-1.25-0.372-3.55 0.344-4.12 0.781-0.26 1.32-4.36 1.02-1.78 0.235 0.327 0.568-3.16 0.555-1.36 0.861-0.709 0.778-2.01 0.649-4.07 1.1-0.948 0.904-4.54 1.17-1.27 0.686-4.67 0.341-4.6 1.04-2.47 0.466-0.707 1.46-3.49 0.582-2.93 1.39-0.739 1.31-4.38 1.56-3.21 1.23-0.735 1.93-3.87 1.14-2.82 1.91-0.676 1.23-4.04 1.82-1.97 1.47 0.312 0.745-2.95 0.812-3.51 1.54 0.0965-0.473-4.27 1.39-2.68 0.382-1.75 0.682-3.32-0.585-1.65-1.61 0.361-0.307-1.37-2.31z"></path></symbol>
-
- <symbol id="icon-menu" viewBox="0 0 24 24"><path d="M3 13h18c0.552 0 1-0.448 1-1s-0.448-1-1-1h-18c-0.552 0-1 0.448-1 1s0.448 1 1 1zM3 7h18c0.552 0 1-0.448 1-1s-0.448-1-1-1h-18c-0.552 0-1 0.448-1 1s0.448 1 1 1zM3 19h18c0.552 0 1-0.448 1-1s-0.448-1-1-1h-18c-0.552 0-1 0.448-1 1s0.448 1 1 1z"></path></symbol>
-
- <symbol id="icon-moon" viewBox="0 0 24 24"><path d="M21.996 12.882c0.022-0.233-0.038-0.476-0.188-0.681-0.325-0.446-0.951-0.544-1.397-0.219-0.95 0.693-2.060 1.086-3.188 1.162-1.368 0.092-2.765-0.283-3.95-1.158-1.333-0.985-2.139-2.415-2.367-3.935s0.124-3.124 1.109-4.456c0.142-0.191 0.216-0.435 0.191-0.691-0.053-0.55-0.542-0.952-1.092-0.898-2.258 0.22-4.314 1.18-5.895 2.651-1.736 1.615-2.902 3.847-3.137 6.386-0.254 2.749 0.631 5.343 2.266 7.311s4.022 3.313 6.772 3.567 5.343-0.631 7.311-2.266 3.313-4.022 3.567-6.772zM19.567 14.674c-0.49 1.363-1.335 2.543-2.416 3.441-1.576 1.309-3.648 2.016-5.848 1.813s-4.108-1.278-5.417-2.854-2.016-3.648-1.813-5.848c0.187-2.032 1.117-3.814 2.507-5.106 0.782-0.728 1.71-1.3 2.731-1.672-0.456 1.264-0.577 2.606-0.384 3.899 0.303 2.023 1.38 3.934 3.156 5.247 1.578 1.167 3.448 1.668 5.272 1.545 0.752-0.050 1.496-0.207 2.21-0.465z"></path></symbol>
-
- <symbol id="icon-more-horizontal" viewBox="0 0 24 24"><path d="M14 12c0-0.552-0.225-1.053-0.586-1.414s-0.862-0.586-1.414-0.586-1.053 0.225-1.414 0.586-0.586 0.862-0.586 1.414 0.225 1.053 0.586 1.414 0.862 0.586 1.414 0.586 1.053-0.225 1.414-0.586 0.586-0.862 0.586-1.414zM21 12c0-0.552-0.225-1.053-0.586-1.414s-0.862-0.586-1.414-0.586-1.053 0.225-1.414 0.586-0.586 0.862-0.586 1.414 0.225 1.053 0.586 1.414 0.862 0.586 1.414 0.586 1.053-0.225 1.414-0.586 0.586-0.862 0.586-1.414zM7 12c0-0.552-0.225-1.053-0.586-1.414s-0.862-0.586-1.414-0.586-1.053 0.225-1.414 0.586-0.586 0.862-0.586 1.414 0.225 1.053 0.586 1.414 0.862 0.586 1.414 0.586 1.053-0.225 1.414-0.586 0.586-0.862 0.586-1.414z"></path></symbol>
-
- <symbol id="icon-more-vertical" viewBox="0 0 24 24"><path d="M14 12c0-0.552-0.225-1.053-0.586-1.414s-0.862-0.586-1.414-0.586-1.053 0.225-1.414 0.586-0.586 0.862-0.586 1.414 0.225 1.053 0.586 1.414 0.862 0.586 1.414 0.586 1.053-0.225 1.414-0.586 0.586-0.862 0.586-1.414zM14 5c0-0.552-0.225-1.053-0.586-1.414s-0.862-0.586-1.414-0.586-1.053 0.225-1.414 0.586-0.586 0.862-0.586 1.414 0.225 1.053 0.586 1.414 0.862 0.586 1.414 0.586 1.053-0.225 1.414-0.586 0.586-0.862 0.586-1.414zM14 19c0-0.552-0.225-1.053-0.586-1.414s-0.862-0.586-1.414-0.586-1.053 0.225-1.414 0.586-0.586 0.862-0.586 1.414 0.225 1.053 0.586 1.414 0.862 0.586 1.414 0.586 1.053-0.225 1.414-0.586 0.586-0.862 0.586-1.414z"></path></symbol>
-
- <symbol id="icon-star" viewBox="0 0 24 24"><path d="M12.897 1.557c-0.092-0.189-0.248-0.352-0.454-0.454-0.495-0.244-1.095-0.041-1.339 0.454l-2.858 5.789-6.391 0.935c-0.208 0.029-0.411 0.127-0.571 0.291-0.386 0.396-0.377 1.029 0.018 1.414l4.623 4.503-1.091 6.362c-0.036 0.207-0.006 0.431 0.101 0.634 0.257 0.489 0.862 0.677 1.351 0.42l5.714-3.005 5.715 3.005c0.186 0.099 0.408 0.139 0.634 0.101 0.544-0.093 0.91-0.61 0.817-1.155l-1.091-6.362 4.623-4.503c0.151-0.146 0.259-0.344 0.292-0.572 0.080-0.546-0.298-1.054-0.845-1.134l-6.39-0.934zM12 4.259l2.193 4.444c0.151 0.305 0.436 0.499 0.752 0.547l4.906 0.717-3.549 3.457c-0.244 0.238-0.341 0.569-0.288 0.885l0.837 4.883-4.386-2.307c-0.301-0.158-0.647-0.148-0.931 0l-4.386 2.307 0.837-4.883c0.058-0.336-0.059-0.661-0.288-0.885l-3.549-3.457 4.907-0.718c0.336-0.049 0.609-0.26 0.752-0.546z"></path></symbol>
-
- <symbol id="icon-sun" viewBox="0 0 24 24"><path d="M18 12c0-1.657-0.673-3.158-1.757-4.243s-2.586-1.757-4.243-1.757-3.158 0.673-4.243 1.757-1.757 2.586-1.757 4.243 0.673 3.158 1.757 4.243 2.586 1.757 4.243 1.757 3.158-0.673 4.243-1.757 1.757-2.586 1.757-4.243zM16 12c0 1.105-0.447 2.103-1.172 2.828s-1.723 1.172-2.828 1.172-2.103-0.447-2.828-1.172-1.172-1.723-1.172-2.828 0.447-2.103 1.172-2.828 1.723-1.172 2.828-1.172 2.103 0.447 2.828 1.172 1.172 1.723 1.172 2.828zM11 1v2c0 0.552 0.448 1 1 1s1-0.448 1-1v-2c0-0.552-0.448-1-1-1s-1 0.448-1 1zM11 21v2c0 0.552 0.448 1 1 1s1-0.448 1-1v-2c0-0.552-0.448-1-1-1s-1 0.448-1 1zM3.513 4.927l1.42 1.42c0.391 0.391 1.024 0.391 1.414 0s0.391-1.024 0-1.414l-1.42-1.42c-0.391-0.391-1.024-0.391-1.414 0s-0.391 1.024 0 1.414zM17.653 19.067l1.42 1.42c0.391 0.391 1.024 0.391 1.414 0s0.391-1.024 0-1.414l-1.42-1.42c-0.391-0.391-1.024-0.391-1.414 0s-0.391 1.024 0 1.414zM1 13h2c0.552 0 1-0.448 1-1s-0.448-1-1-1h-2c-0.552 0-1 0.448-1 1s0.448 1 1 1zM21 13h2c0.552 0 1-0.448 1-1s-0.448-1-1-1h-2c-0.552 0-1 0.448-1 1s0.448 1 1 1zM4.927 20.487l1.42-1.42c0.391-0.391 0.391-1.024 0-1.414s-1.024-0.391-1.414 0l-1.42 1.42c-0.391 0.391-0.391 1.024 0 1.414s1.024 0.391 1.414 0zM19.067 6.347l1.42-1.42c0.391-0.391 0.391-1.024 0-1.414s-1.024-0.391-1.414 0l-1.42 1.42c-0.391 0.391-0.391 1.024 0 1.414s1.024 0.391 1.414 0z"></path></symbol>
-
- <symbol id="icon-toggle-left" viewBox="0 0 24 24"><path d="M8 4c-2.209 0-4.21 0.897-5.657 2.343s-2.343 3.448-2.343 5.657 0.897 4.21 2.343 5.657 3.448 2.343 5.657 2.343h8c2.209 0 4.21-0.897 5.657-2.343s2.343-3.448 2.343-5.657-0.897-4.21-2.343-5.657-3.448-2.343-5.657-2.343zM8 6h8c1.657 0 3.156 0.67 4.243 1.757s1.757 2.586 1.757 4.243-0.67 3.156-1.757 4.243-2.586 1.757-4.243 1.757h-8c-1.657 0-3.156-0.67-4.243-1.757s-1.757-2.586-1.757-4.243 0.67-3.156 1.757-4.243 2.586-1.757 4.243-1.757zM12 12c0-1.104-0.449-2.106-1.172-2.828s-1.724-1.172-2.828-1.172-2.106 0.449-2.828 1.172-1.172 1.724-1.172 2.828 0.449 2.106 1.172 2.828 1.724 1.172 2.828 1.172 2.106-0.449 2.828-1.172 1.172-1.724 1.172-2.828zM10 12c0 0.553-0.223 1.051-0.586 1.414s-0.861 0.586-1.414 0.586-1.051-0.223-1.414-0.586-0.586-0.861-0.586-1.414 0.223-1.051 0.586-1.414 0.861-0.586 1.414-0.586 1.051 0.223 1.414 0.586 0.586 0.861 0.586 1.414z"></path></symbol>
-
- <symbol id="icon-toggle-right" viewBox="0 0 24 24"><path d="M8 4c-2.209 0-4.21 0.897-5.657 2.343s-2.343 3.448-2.343 5.657 0.897 4.21 2.343 5.657 3.448 2.343 5.657 2.343h8c2.209 0 4.21-0.897 5.657-2.343s2.343-3.448 2.343-5.657-0.897-4.21-2.343-5.657-3.448-2.343-5.657-2.343zM8 6h8c1.657 0 3.156 0.67 4.243 1.757s1.757 2.586 1.757 4.243-0.67 3.156-1.757 4.243-2.586 1.757-4.243 1.757h-8c-1.657 0-3.156-0.67-4.243-1.757s-1.757-2.586-1.757-4.243 0.67-3.156 1.757-4.243 2.586-1.757 4.243-1.757zM20 12c0-1.104-0.449-2.106-1.172-2.828s-1.724-1.172-2.828-1.172-2.106 0.449-2.828 1.172-1.172 1.724-1.172 2.828 0.449 2.106 1.172 2.828 1.724 1.172 2.828 1.172 2.106-0.449 2.828-1.172 1.172-1.724 1.172-2.828zM18 12c0 0.553-0.223 1.051-0.586 1.414s-0.861 0.586-1.414 0.586-1.051-0.223-1.414-0.586-0.586-0.861-0.586-1.414 0.223-1.051 0.586-1.414 0.861-0.586 1.414-0.586 1.051 0.223 1.414 0.586 0.586 0.861 0.586 1.414z"></path></symbol>
-
- <symbol id="icon-x-circle" viewBox="0 0 24 24"><path d="M23 12c0-3.037-1.232-5.789-3.222-7.778s-4.741-3.222-7.778-3.222-5.789 1.232-7.778 3.222-3.222 4.741-3.222 7.778 1.232 5.789 3.222 7.778 4.741 3.222 7.778 3.222 5.789-1.232 7.778-3.222 3.222-4.741 3.222-7.778zM21 12c0 2.486-1.006 4.734-2.636 6.364s-3.878 2.636-6.364 2.636-4.734-1.006-6.364-2.636-2.636-3.878-2.636-6.364 1.006-4.734 2.636-6.364 3.878-2.636 6.364-2.636 4.734 1.006 6.364 2.636 2.636 3.878 2.636 6.364zM8.293 9.707l2.293 2.293-2.293 2.293c-0.391 0.391-0.391 1.024 0 1.414s1.024 0.391 1.414 0l2.293-2.293 2.293 2.293c0.391 0.391 1.024 0.391 1.414 0s0.391-1.024 0-1.414l-2.293-2.293 2.293-2.293c0.391-0.391 0.391-1.024 0-1.414s-1.024-0.391-1.414 0l-2.293 2.293-2.293-2.293c-0.391-0.391-1.024-0.391-1.414 0s-0.391 1.024 0 1.414z"></path></symbol>
- </defs>
- </svg>
-
- <script src="https://unpkg.com/@highlightjs/cdn-assets@10.5.0/highlight.min.js"></script>
-
- <script src="https://unpkg.com/@highlightjs/cdn-assets@10.5.0/languages/erlang.min.js"></script>
-
- <script src="https://unpkg.com/@highlightjs/cdn-assets@10.5.0/languages/elixir.min.js"></script>
-
- <script src="../highlightjs-gleam.js?v=0.21.0"></script>
-
- <script src="../gleam.js?v=0.21.0"></script>
- </body>
-</html> \ No newline at end of file
diff --git a/docs/lustre/cmd.html b/docs/lustre/cmd.html
deleted file mode 100644
index a89fbe8..0000000
--- a/docs/lustre/cmd.html
+++ /dev/null
@@ -1,444 +0,0 @@
-<!DOCTYPE html>
-<html>
- <head>
- <meta charset="utf-8" />
- <meta name="viewport" content="width=device-width, initial-scale=1">
- <title>lustre/cmd - lustre</title>
- <link rel="stylesheet" href="../index.css?v=0.21.0" type="text/css" />
- <!-- The docs_config.js file is provided by HexDocs and shared
- between multiple versions of the same package. -->
- <script src="../docs_config.js"></script>
- <link id="syntax-theme" rel="stylesheet" href="https://unpkg.com/@highlightjs/cdn-assets@10.5.0/styles/atom-one-light.min.css">
- </head>
- <body class="prewrap-off theme-light drawer-closed">
- <script>
- "use strict";
-
- /* gleamConfig format:
- * // object with one or more options
- * {option: {
- * // array of values
- * values: [{
- * // this value
- * value: "off",
- * // optional button label
- * label: "default",
- * // optional array of icons
- * icons: ["star", "toggle-left", ...],
- * }, ...],
- *
- * // value update function
- * update: () => {...},
- *
- * // optional callback function
- * callback: (value) => {...},
- * }, ...};
- */
- const gleamConfig = {
- theme: {
- values: (() => {
- const dark = {
- value: "dark",
- label: "Switch to light mode",
- icons: ["moon"],
- };
- const light = {
- value: "light",
- label: "Switch to dark mode",
- icons: ["sun"],
- };
- return (
- window.matchMedia("(prefers-color-scheme: dark)").matches
- ? [dark, light]
- : [light, dark]
- ).map((item, index) => {
- item.icons.push(`toggle-${0 === index ? "left" : "right"}`);
- return item;
- });
- })(),
-
- update: () => "light" === Gleam.getProperty("theme") ? "dark" : "light",
-
- callback: function(value) {
- const syntaxThemes = {
- dark: "atom-one-dark",
- light: "atom-one-light",
- };
- const syntaxTheme = document.querySelector("#syntax-theme");
- const hrefParts = syntaxTheme.href.match(
- /^(.*?)([^/\\#?]+?)((?:\.min)?\.css.*)$/i
- );
- if (syntaxThemes[value] !== hrefParts[2]) {
- hrefParts[2] = syntaxThemes[value];
- hrefParts.shift();
- syntaxTheme.href = hrefParts.join("");
- }
- },
- },
- prewrap: {
- values: [
- {
- value: "off",
- label: "Switch to line-wrapped snippets",
- icons: ["more-horizontal", "toggle-left"],
- },
- {
- value: "on",
- label: "Switch to non-wrapped snippets",
- icons: ["more-vertical", "toggle-right"],
- },
- ],
-
- update: () => "off" === Gleam.getProperty("prewrap") ? "on" : "off",
- },
- };
- </script>
-
- <script>
- "use strict";
-
- /* Initialise options before any content loads */
- void function() {
- for (const property in gleamConfig) {
- const name = `Gleam.${property}`;
-
- let value;
-
- try {
- value = localStorage.getItem(name);
- if (value.startsWith('"') && value.endsWith('"')) {
- localStorage.setItem(name, value.slice(1, value.length - 1));
- }
- }
- catch (_error) {}
-
- const defaultValue = gleamConfig[property].values[0].value;
- try {
- value = localStorage.getItem(name);
- }
- catch(_error) {}
- if (-1 < [null, undefined].indexOf(value)) {
- value = defaultValue;
- }
- const bodyClasses = document.body.classList;
- bodyClasses.remove(`${property}-${defaultValue}`);
- bodyClasses.add(`${property}-${value}`);
- try {
- gleamConfig[property].callback(value);
- }
- catch(_error) {}
- }
- }();
- </script>
-
- <header class="page-header">
- <button class="sidebar-toggle" tabindex="0">
- <svg class="label label-closed icon icon-menu" alt="Open Menu" title="Open Menu"><use xlink:href="#icon-menu"></use></svg>
- <svg class="label label-open icon icon-x-circle" alt="Close Menu" title="Close Menu"><use xlink:href="#icon-x-circle"></use></svg>
- </button>
-
- <h2>
- <a href="../">lustre</a>
- <span id="project-version">
- <span> - v1.0.0 </span>
- </span>
- <script>
- "use strict";
-
- if ("undefined" !== typeof versionNodes) {
- const currentVersion = "v1.0.0";
- if (! versionNodes.find(element => element.version === currentVersion)) {
- versionNodes.unshift({ version: currentVersion, url: "#" });
- }
- document.querySelector("#project-version").innerHTML =
- versionNodes.reduce(
- (acc, element) => {
- const status =
- currentVersion === element.version ? "selected disabled" : "";
- return `
- ${acc}
- <option value="${element.url}" ${status}>
- ${element.version}
- </option>
- `;
- },
- `
- <form autocomplete="off">
- <select onchange="window.location.href = this.value">
- `
- ) + `
- </select>
- <svg class="icon icon-chevrons-down"><use xlink:href="#icon-chevrons-down"></use></svg>
- </form>
- `;
- }
- </script>
- </h2>
- </header>
-
- <div class="page">
- <nav class="sidebar">
- <button class="sidebar-toggle" tabindex="1">
- <svg class="label icon icon-x-circle" alt="Close Menu" title="Close Menu"><use xlink:href="#icon-x-circle"></use></svg>
- </button>
-
-
- <h2>Pages</h2>
- <ul>
-
- <li><a href="../index.html">README</a></li>
-
- </ul>
-
-
-
- <h2>Links</h2>
- <ul>
-
- <li><a href="https://hayleigh-dot-dev.github.io/gleam-lustre">Website</a></li>
-
- <li><a href="https://github.com/hayleigh-dot-dev/gleam-lustre">Repository</a></li>
-
- </ul>
-
-
- <h2>Modules</h2>
- <ul>
-
- <li><a href="../lustre.html">lustre</a></li>
-
- <li><a href="../lustre/attribute.html">lustre/attribute</a></li>
-
- <li><a href="../lustre/cmd.html">lustre/cmd</a></li>
-
- <li><a href="../lustre/element.html">lustre/element</a></li>
-
- <li><a href="../lustre/event.html">lustre/event</a></li>
-
- </ul>
-
-
-
-<h2>Types</h2>
-<ul>
-
- <li><a href="#Cmd">Cmd</a></li>
-
-</ul>
-
-
-
-
-
-
-<h2>Functions</h2>
-<ul>
-
- <li><a href="#batch">batch</a></li>
-
- <li><a href="#from">from</a></li>
-
- <li><a href="#map">map</a></li>
-
- <li><a href="#none">none</a></li>
-
- <li><a href="#to_list">to_list</a></li>
-
-</ul>
-
-
- </nav>
-
- <main class="content">
-
-<h1 id="module-name" class="module-name">
- <a href="#module-name">lustre/cmd</a>
- <svg class="icon icon-gleam-chasse"><use xlink:href="#icon-gleam-chasse"></use></svg>
-</h1>
-
-
-
-<section class="module-members">
- <h1 id="module-types" class="module-member-kind">
- <a href="#module-types">Types</a>
- <svg class="icon icon-gleam-chasse-2"><use xlink:href="#icon-gleam-chasse-2"></use></svg>
- </h1>
-
-
- <div class="member">
- <div class="member-name">
- <h2 id="Cmd">
- <a href="#Cmd">
- Cmd
- </a>
- </h2>
-
- <a class="member-source" alt="View Source" title="View Source" href="https://github.com/hayleigh-dot-dev/gleam-lustre/blob/v1.0.0/src/lustre/cmd.gleam#L7-L7">
- &lt;/&gt;
- </a>
-
- </div>
- <div class="custom-type-constructors">
- <div class="rendered-markdown"></div>
- <pre><code class="hljs gleam">pub opaque type Cmd(action)</code></pre>
-
-
- </div>
- </div>
-
-</section>
-
-
-
-
-
-
-<section class="module-members">
- <h1 id="module-functions" class="module-member-kind">
- <a href="#module-functions">Functions</a>
- <svg class="icon icon-gleam-chasse"><use xlink:href="#icon-gleam-chasse"></use></svg>
- </h1>
-
- <div class="member">
- <div class="member-name">
- <h2 id="batch">
- <a href="#batch">
- batch
- </a>
- </h2>
-
- <a class="member-source" alt="View Source" title="View Source" href="https://github.com/hayleigh-dot-dev/gleam-lustre/blob/v1.0.0/src/lustre/cmd.gleam#L24-L24">
- &lt;/&gt;
- </a>
-
- </div>
- <pre><code class="hljs gleam">pub fn batch(cmds: List(Cmd(a))) -&gt; Cmd(a)</code></pre>
- <div class="rendered-markdown"></div>
- </div>
-
- <div class="member">
- <div class="member-name">
- <h2 id="from">
- <a href="#from">
- from
- </a>
- </h2>
-
- <a class="member-source" alt="View Source" title="View Source" href="https://github.com/hayleigh-dot-dev/gleam-lustre/blob/v1.0.0/src/lustre/cmd.gleam#L14-L14">
- &lt;/&gt;
- </a>
-
- </div>
- <pre><code class="hljs gleam">pub fn from(cmd: fn(fn(a) -&gt; Nil) -&gt; Nil) -&gt; Cmd(a)</code></pre>
- <div class="rendered-markdown"></div>
- </div>
-
- <div class="member">
- <div class="member-name">
- <h2 id="map">
- <a href="#map">
- map
- </a>
- </h2>
-
- <a class="member-source" alt="View Source" title="View Source" href="https://github.com/hayleigh-dot-dev/gleam-lustre/blob/v1.0.0/src/lustre/cmd.gleam#L30-L30">
- &lt;/&gt;
- </a>
-
- </div>
- <pre><code class="hljs gleam">pub fn map(cmd: Cmd(a), f: fn(a) -&gt; b) -&gt; Cmd(b)</code></pre>
- <div class="rendered-markdown"></div>
- </div>
-
- <div class="member">
- <div class="member-name">
- <h2 id="none">
- <a href="#none">
- none
- </a>
- </h2>
-
- <a class="member-source" alt="View Source" title="View Source" href="https://github.com/hayleigh-dot-dev/gleam-lustre/blob/v1.0.0/src/lustre/cmd.gleam#L18-L18">
- &lt;/&gt;
- </a>
-
- </div>
- <pre><code class="hljs gleam">pub fn none() -&gt; Cmd(a)</code></pre>
- <div class="rendered-markdown"></div>
- </div>
-
- <div class="member">
- <div class="member-name">
- <h2 id="to_list">
- <a href="#to_list">
- to_list
- </a>
- </h2>
-
- <a class="member-source" alt="View Source" title="View Source" href="https://github.com/hayleigh-dot-dev/gleam-lustre/blob/v1.0.0/src/lustre/cmd.gleam#L46-L46">
- &lt;/&gt;
- </a>
-
- </div>
- <pre><code class="hljs gleam">pub fn to_list(cmd: Cmd(a)) -&gt; List(fn(fn(a) -&gt; Nil) -&gt; Nil)</code></pre>
- <div class="rendered-markdown"></div>
- </div>
-
-</section>
-
-
- </main>
- </div>
-
- <script>
- "use strict";
- const pride = () => document.body.classList.toggle("show-pride");
- </script>
- <a class="pride-button" onclick="pride()">✨</a>
- <footer class="pride" onclick="pride()">
- <div class="blue">Lucy</div>
- <div class="pink">says</div>
- <div class="white">trans</div>
- <div class="pink">rights</div>
- <div class="blue">✨</div>
- </footer>
-
- <svg class="svg-lib" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
- <defs>
- <symbol id="icon-chevrons-down" viewBox="0 0 24 24"><path d="M6.293 13.707l5 5c0.391 0.391 1.024 0.391 1.414 0l5-5c0.391-0.391 0.391-1.024 0-1.414s-1.024-0.391-1.414 0l-4.293 4.293-4.293-4.293c-0.391-0.391-1.024-0.391-1.414 0s-0.391 1.024 0 1.414zM6.293 6.707l5 5c0.391 0.391 1.024 0.391 1.414 0l5-5c0.391-0.391 0.391-1.024 0-1.414s-1.024-0.391-1.414 0l-4.293 4.293-4.293-4.293c-0.391-0.391-1.024-0.391-1.414 0s-0.391 1.024 0 1.414z"></path></symbol>
-
- <symbol id="icon-gleam-chasse" viewBox="0 0 180 22"><path d="m0.00798 15.6c0.784-1.73 0.754-2.11 1.94-3.97 1.17-0.28 2.66-0.119 3.71-0.524 1.12 0.501 1.85 0.729 3.35-0.466 0.942-0.806 2.41 0.656 3.41-0.0865 2.53-1.48 0.972-1.03 5.14-0.585 1.79-0.493 3.46-0.852 6.64-1.06 3.8-0.331 0.0108-1.06 5.16-1.16 0.874-0.835 3.43-1.34 5.49-0.963 2.17-1.41 0.488-1.58 2.64-0.426 4.36-0.0592 0.83-1.08 5.39-1.22 3.27-0.264 0.843-0.471 2.82 0.187 2.13-0.254 1.36-0.525 3.67 0.709 1.77 1.66 0.962 0.181 1.9 2.32 0.26 0.593 0.304 1.71 0.814 1.74 3.67-0.833-0.0875 0.536 4.63-0.838 0.719-0.891 4.42 0.255 3.8-0.806 2.07 0.119 2.75-0.7 6.07-0.822 1.48-1.17 2.26 0.943 3.4-0.974 0.391 0.166-1.61-0.548 3.88-0.154 2.93-1.26-1.74 0.103 4.21-0.851 3.52 8e-3 0.233-0.263 3.33-0.811 1.06-1.46-0.459-1.02 5.55-0.963 2.61-2.11 0.281-1.59 4.88-0.572 0.699 0.597 3.05 1.65 3.99 3.26 0.863-0.152 2.77 0.0659 3.41-0.626 2.24-1.04-0.0635-1.05 3.37-1.34 2.1 0.115 2.2-1.21 2.77-0.679 5.91-0.778 1.96-1.63 4.89-1.49 5.47 0.212 0.204 1.22 3.99-0.265 2.14-0.0482 0.411-0.776 2.93-0.892 2.17-0.148 0.604-0.262 2.54-1.52 0.804 0.0911 1.11 0.562 1.23 1.57 0.468 1.54 0.966 3.31 1.86 4.62 2.67-0.472-0.76-0.582 4.72-0.393 3.14 0.131 3.72-0.565 6.16-0.724 4.54-0.853 1.37-0.939 5.89-0.58 10.1-1.7 2.9-0.523 10.2-1.15 4.86-0.211 4.69-0.969 7.4-1.04 3.46-0.0576 3.13 0.58 3.83 0 3.63 0.257 2.5-0.141 7.74-0.46 2.23 1.09-0.13 0.518 5.9 0.145 1.12-0.0184 2.85-6e-3 3.83-0.186 0.748 0.694 1.01 1.4 1.58 2.33-0.112 0.687-0.306 0.992-0.454 1.51 0.0805 0.459-0.0486 0.901 0.226 1.36 0.057 0.859-1.34 1.08-2.69 0.127-3.53-0.828-1.21-0.849-7.23 0.974-5.16-0.286-1.66-0.354-7.64 0.321-1.48 0.961-4.73 0.287-6.76 0.551-4.01 0.178-1.95-0.517-3.33 0.624-5.29 1.8-3.12 1.47-5.66 0.941-5.26 0.0339-2.08-0.772-4.75 0.424-6.08 2.5-3.35 1.33-7.54 2.02-6.37-0.269-3.02 1.17-6.76 0.468-0.975 0.1-2.43 0.343-3.46 0.786-1.5-0.748-1.92 0.689-3.38 0.363-0.83-0.0851-2.1-0.343-3.5-0.0239-1.28 0.81-3.87-0.666-5.67-2.17-0.131-0.478-0.106-0.902-0.403-1.69-1.63 0.392-0.668 0.395-4.29 1.14-2.71 0.289 0.131 0.495-3.22 0.964-0.638 0.331-0.998 1.17-3.15 1.04-3.09 0.469-4.48 2.1-3.66 0.577-2.95 0.347-2.9 1.82-5.86 1.85-3.3 0.815 0.192 0.978-5.2 1.66-2.81 2.66 0.0387 0.735-4.21 1.29-1.43-0.911-2.24-2.29-3.89-3.63-0.363-0.679 0.258-1.84-0.375-2.28-5.28 1.39 0.176-0.925-5.08 1.01-10.6 1.42-4.55 1.88-9.18 1.66-6.73 1.35-4.11 1.99-10.2 2.31-4.53 1.09-1.63-0.398-5.52 1.02-3.15 0.522-2.41-0.0562-4.51 1.04-0.76 0.379-0.865-0.416-2.75-0.0493-3.5-3.45-2.85-0.892-2.93-6.14-4.41 0.837 0.477 0.703-6.18 1.2-4.59 0.0171-1.93 1.02-7.41 1.04-0.815 0.505-2.55 0.453-4.13 0.791-5 0.71-5.97 2-8.46 1.61-1.39 1.09-2.58 1.53-4.22 2.62-0.919 0.756-3.45 0.596-4.48 0.492-0.525-0.406-0.751-1.2-1.82-3.28 0.149-0.902-0.325-1.44-0.248-2.8z"></path></symbol>
-
- <symbol id="icon-gleam-chasse-2" viewBox="0 0 108 22"><path d="m0.585 18.5c-0.578-1.54-0.65-1.33-0.543-2.64 0.271-1.19 0.153-1.06 1.27-1.71 0.993 0.124 1.94-0.662 2.94-0.869 2.48 0.119 0.772 0.443 2.99-0.366 1.66-1.91 0.764 0.783 3.36-0.992 2.37 0.314 4.26-1.5 5.16-1.26 0.387 0.627 0.202 0.412 2.52-0.776 4.89-1.57 3.91-1.47 5-0.972 2.05-1.09-0.0615-0.49 2.79-1.2 4.47-0.514 3.62 0.127 4.18-1.19 4.3-0.613 2.56-1.49 4.09-0.847 1.8-1.51 1.01 0.157 2.64-0.722 4.91-1.28 1.39 0.553 4.43-0.843 1.28-0.387 2.72-0.427 4.05-0.748 0.332-0.942 1.93 0.121 2.75-0.817 3 0.294-0.74-0.514 3.35-0.219 2.34-1.12 0.474 0.505 3.01-1.33 0.779-0.552 0.958 0.919 2.76-0.331 1.26-0.027 0.231 0.642 1.71 0.0417 1.08-0.234-0.332-0.25 1.4-0.727 1.07 0.281 0.347 0.858 2.47 1.86 1.02 2.09-0.0407 0.967 0.473 3.88-0.19 1.31 0.095 0.629-1.34 1.44-0.351 0.381-0.494 0.132-0.0505 0.773 5.7-0.865 2.24-0.0704 4.31-0.722 1.39-0.602 3.12 0.189 3.85-0.396 5.52-1.74 1.2 0.802 5.56-0.972 5.77-0.78 5.5-0.0267 5.87-0.622 1.29-0.593 0.466-0.184 2.73-0.0872 0.586-0.907-0.0863-0.919 1.23-0.644 0.471-1.23 3.03 0.227 3.86-0.234 1.2 0.319 2.27 0.00513 2.55 0.264 0.378 0.998 1.18 1.79 1.78 2.57-0.109 0.798 0.472 1.14 0.254 2.4 2.25-0.43 1.69-0.298 4.1-0.338 2.35-1.11 0.595 0.263 3.12-0.813 1.5-0.153 2.17 0.044 3.29-0.328 1.39-0.699 0.859-0.135 1.88-0.671 1.35 0.779 0.389 0.64 1.39 1.7 0.132 1.37 0.34 1.03 0.117 2.21-0.619 0.327-0.757 0.0587-1.28 0.739-2.68 0.688-0.161 0.395-2.5 0.734-1.97-0.203-0.915-0.0737-3.21 0.454-1.76 1.41-0.982 1.12-2.36 1.43-1.65 0.974 0.119-0.784-2.27 0.501-0.883 0.361-1.2 0.471-1.88 0.827-2.84 1.1-1.72-0.0496-3.18 1.37-2.38 0.689-1.82 0.324-2.65 1.27-3.52 0.658-2.07-0.49-3.27-0.419-1.85-2.19 0.14-0.414-1.87-2.62-0.551-2.06-0.527-0.977 0.131-2.63 0.366-1.44 0.369-0.627 1.15-1.88-1.79 0.433-1.64 0.163-5.6 0.781-3.59 1.82-0.592-0.17-4.29 0.729-0.705 0.598-0.369 0.995-1.59-0.0892-0.655 0.638-0.104 0.42-2.9 0.621-3.6 1.1-2.83 1.29-4.17 0.742 0.0193-1.05-1.8 1.24-2.18 0.454-2.51 0.61-1.36 0.795-3.64 0.594-0.211 0.804-4.14-0.139-5.09 0.879-3.61 0.381 0.127-0.296-3.51-1.03-1.44-1.87-1.14-0.196-1.22-3.01 0.14-1.2-0.505-0.638-0.0251-2.39-2.64 0.466-1.25-0.372-3.55 0.344-4.12 0.781-0.26 1.32-4.36 1.02-1.78 0.235 0.327 0.568-3.16 0.555-1.36 0.861-0.709 0.778-2.01 0.649-4.07 1.1-0.948 0.904-4.54 1.17-1.27 0.686-4.67 0.341-4.6 1.04-2.47 0.466-0.707 1.46-3.49 0.582-2.93 1.39-0.739 1.31-4.38 1.56-3.21 1.23-0.735 1.93-3.87 1.14-2.82 1.91-0.676 1.23-4.04 1.82-1.97 1.47 0.312 0.745-2.95 0.812-3.51 1.54 0.0965-0.473-4.27 1.39-2.68 0.382-1.75 0.682-3.32-0.585-1.65-1.61 0.361-0.307-1.37-2.31z"></path></symbol>
-
- <symbol id="icon-menu" viewBox="0 0 24 24"><path d="M3 13h18c0.552 0 1-0.448 1-1s-0.448-1-1-1h-18c-0.552 0-1 0.448-1 1s0.448 1 1 1zM3 7h18c0.552 0 1-0.448 1-1s-0.448-1-1-1h-18c-0.552 0-1 0.448-1 1s0.448 1 1 1zM3 19h18c0.552 0 1-0.448 1-1s-0.448-1-1-1h-18c-0.552 0-1 0.448-1 1s0.448 1 1 1z"></path></symbol>
-
- <symbol id="icon-moon" viewBox="0 0 24 24"><path d="M21.996 12.882c0.022-0.233-0.038-0.476-0.188-0.681-0.325-0.446-0.951-0.544-1.397-0.219-0.95 0.693-2.060 1.086-3.188 1.162-1.368 0.092-2.765-0.283-3.95-1.158-1.333-0.985-2.139-2.415-2.367-3.935s0.124-3.124 1.109-4.456c0.142-0.191 0.216-0.435 0.191-0.691-0.053-0.55-0.542-0.952-1.092-0.898-2.258 0.22-4.314 1.18-5.895 2.651-1.736 1.615-2.902 3.847-3.137 6.386-0.254 2.749 0.631 5.343 2.266 7.311s4.022 3.313 6.772 3.567 5.343-0.631 7.311-2.266 3.313-4.022 3.567-6.772zM19.567 14.674c-0.49 1.363-1.335 2.543-2.416 3.441-1.576 1.309-3.648 2.016-5.848 1.813s-4.108-1.278-5.417-2.854-2.016-3.648-1.813-5.848c0.187-2.032 1.117-3.814 2.507-5.106 0.782-0.728 1.71-1.3 2.731-1.672-0.456 1.264-0.577 2.606-0.384 3.899 0.303 2.023 1.38 3.934 3.156 5.247 1.578 1.167 3.448 1.668 5.272 1.545 0.752-0.050 1.496-0.207 2.21-0.465z"></path></symbol>
-
- <symbol id="icon-more-horizontal" viewBox="0 0 24 24"><path d="M14 12c0-0.552-0.225-1.053-0.586-1.414s-0.862-0.586-1.414-0.586-1.053 0.225-1.414 0.586-0.586 0.862-0.586 1.414 0.225 1.053 0.586 1.414 0.862 0.586 1.414 0.586 1.053-0.225 1.414-0.586 0.586-0.862 0.586-1.414zM21 12c0-0.552-0.225-1.053-0.586-1.414s-0.862-0.586-1.414-0.586-1.053 0.225-1.414 0.586-0.586 0.862-0.586 1.414 0.225 1.053 0.586 1.414 0.862 0.586 1.414 0.586 1.053-0.225 1.414-0.586 0.586-0.862 0.586-1.414zM7 12c0-0.552-0.225-1.053-0.586-1.414s-0.862-0.586-1.414-0.586-1.053 0.225-1.414 0.586-0.586 0.862-0.586 1.414 0.225 1.053 0.586 1.414 0.862 0.586 1.414 0.586 1.053-0.225 1.414-0.586 0.586-0.862 0.586-1.414z"></path></symbol>
-
- <symbol id="icon-more-vertical" viewBox="0 0 24 24"><path d="M14 12c0-0.552-0.225-1.053-0.586-1.414s-0.862-0.586-1.414-0.586-1.053 0.225-1.414 0.586-0.586 0.862-0.586 1.414 0.225 1.053 0.586 1.414 0.862 0.586 1.414 0.586 1.053-0.225 1.414-0.586 0.586-0.862 0.586-1.414zM14 5c0-0.552-0.225-1.053-0.586-1.414s-0.862-0.586-1.414-0.586-1.053 0.225-1.414 0.586-0.586 0.862-0.586 1.414 0.225 1.053 0.586 1.414 0.862 0.586 1.414 0.586 1.053-0.225 1.414-0.586 0.586-0.862 0.586-1.414zM14 19c0-0.552-0.225-1.053-0.586-1.414s-0.862-0.586-1.414-0.586-1.053 0.225-1.414 0.586-0.586 0.862-0.586 1.414 0.225 1.053 0.586 1.414 0.862 0.586 1.414 0.586 1.053-0.225 1.414-0.586 0.586-0.862 0.586-1.414z"></path></symbol>
-
- <symbol id="icon-star" viewBox="0 0 24 24"><path d="M12.897 1.557c-0.092-0.189-0.248-0.352-0.454-0.454-0.495-0.244-1.095-0.041-1.339 0.454l-2.858 5.789-6.391 0.935c-0.208 0.029-0.411 0.127-0.571 0.291-0.386 0.396-0.377 1.029 0.018 1.414l4.623 4.503-1.091 6.362c-0.036 0.207-0.006 0.431 0.101 0.634 0.257 0.489 0.862 0.677 1.351 0.42l5.714-3.005 5.715 3.005c0.186 0.099 0.408 0.139 0.634 0.101 0.544-0.093 0.91-0.61 0.817-1.155l-1.091-6.362 4.623-4.503c0.151-0.146 0.259-0.344 0.292-0.572 0.080-0.546-0.298-1.054-0.845-1.134l-6.39-0.934zM12 4.259l2.193 4.444c0.151 0.305 0.436 0.499 0.752 0.547l4.906 0.717-3.549 3.457c-0.244 0.238-0.341 0.569-0.288 0.885l0.837 4.883-4.386-2.307c-0.301-0.158-0.647-0.148-0.931 0l-4.386 2.307 0.837-4.883c0.058-0.336-0.059-0.661-0.288-0.885l-3.549-3.457 4.907-0.718c0.336-0.049 0.609-0.26 0.752-0.546z"></path></symbol>
-
- <symbol id="icon-sun" viewBox="0 0 24 24"><path d="M18 12c0-1.657-0.673-3.158-1.757-4.243s-2.586-1.757-4.243-1.757-3.158 0.673-4.243 1.757-1.757 2.586-1.757 4.243 0.673 3.158 1.757 4.243 2.586 1.757 4.243 1.757 3.158-0.673 4.243-1.757 1.757-2.586 1.757-4.243zM16 12c0 1.105-0.447 2.103-1.172 2.828s-1.723 1.172-2.828 1.172-2.103-0.447-2.828-1.172-1.172-1.723-1.172-2.828 0.447-2.103 1.172-2.828 1.723-1.172 2.828-1.172 2.103 0.447 2.828 1.172 1.172 1.723 1.172 2.828zM11 1v2c0 0.552 0.448 1 1 1s1-0.448 1-1v-2c0-0.552-0.448-1-1-1s-1 0.448-1 1zM11 21v2c0 0.552 0.448 1 1 1s1-0.448 1-1v-2c0-0.552-0.448-1-1-1s-1 0.448-1 1zM3.513 4.927l1.42 1.42c0.391 0.391 1.024 0.391 1.414 0s0.391-1.024 0-1.414l-1.42-1.42c-0.391-0.391-1.024-0.391-1.414 0s-0.391 1.024 0 1.414zM17.653 19.067l1.42 1.42c0.391 0.391 1.024 0.391 1.414 0s0.391-1.024 0-1.414l-1.42-1.42c-0.391-0.391-1.024-0.391-1.414 0s-0.391 1.024 0 1.414zM1 13h2c0.552 0 1-0.448 1-1s-0.448-1-1-1h-2c-0.552 0-1 0.448-1 1s0.448 1 1 1zM21 13h2c0.552 0 1-0.448 1-1s-0.448-1-1-1h-2c-0.552 0-1 0.448-1 1s0.448 1 1 1zM4.927 20.487l1.42-1.42c0.391-0.391 0.391-1.024 0-1.414s-1.024-0.391-1.414 0l-1.42 1.42c-0.391 0.391-0.391 1.024 0 1.414s1.024 0.391 1.414 0zM19.067 6.347l1.42-1.42c0.391-0.391 0.391-1.024 0-1.414s-1.024-0.391-1.414 0l-1.42 1.42c-0.391 0.391-0.391 1.024 0 1.414s1.024 0.391 1.414 0z"></path></symbol>
-
- <symbol id="icon-toggle-left" viewBox="0 0 24 24"><path d="M8 4c-2.209 0-4.21 0.897-5.657 2.343s-2.343 3.448-2.343 5.657 0.897 4.21 2.343 5.657 3.448 2.343 5.657 2.343h8c2.209 0 4.21-0.897 5.657-2.343s2.343-3.448 2.343-5.657-0.897-4.21-2.343-5.657-3.448-2.343-5.657-2.343zM8 6h8c1.657 0 3.156 0.67 4.243 1.757s1.757 2.586 1.757 4.243-0.67 3.156-1.757 4.243-2.586 1.757-4.243 1.757h-8c-1.657 0-3.156-0.67-4.243-1.757s-1.757-2.586-1.757-4.243 0.67-3.156 1.757-4.243 2.586-1.757 4.243-1.757zM12 12c0-1.104-0.449-2.106-1.172-2.828s-1.724-1.172-2.828-1.172-2.106 0.449-2.828 1.172-1.172 1.724-1.172 2.828 0.449 2.106 1.172 2.828 1.724 1.172 2.828 1.172 2.106-0.449 2.828-1.172 1.172-1.724 1.172-2.828zM10 12c0 0.553-0.223 1.051-0.586 1.414s-0.861 0.586-1.414 0.586-1.051-0.223-1.414-0.586-0.586-0.861-0.586-1.414 0.223-1.051 0.586-1.414 0.861-0.586 1.414-0.586 1.051 0.223 1.414 0.586 0.586 0.861 0.586 1.414z"></path></symbol>
-
- <symbol id="icon-toggle-right" viewBox="0 0 24 24"><path d="M8 4c-2.209 0-4.21 0.897-5.657 2.343s-2.343 3.448-2.343 5.657 0.897 4.21 2.343 5.657 3.448 2.343 5.657 2.343h8c2.209 0 4.21-0.897 5.657-2.343s2.343-3.448 2.343-5.657-0.897-4.21-2.343-5.657-3.448-2.343-5.657-2.343zM8 6h8c1.657 0 3.156 0.67 4.243 1.757s1.757 2.586 1.757 4.243-0.67 3.156-1.757 4.243-2.586 1.757-4.243 1.757h-8c-1.657 0-3.156-0.67-4.243-1.757s-1.757-2.586-1.757-4.243 0.67-3.156 1.757-4.243 2.586-1.757 4.243-1.757zM20 12c0-1.104-0.449-2.106-1.172-2.828s-1.724-1.172-2.828-1.172-2.106 0.449-2.828 1.172-1.172 1.724-1.172 2.828 0.449 2.106 1.172 2.828 1.724 1.172 2.828 1.172 2.106-0.449 2.828-1.172 1.172-1.724 1.172-2.828zM18 12c0 0.553-0.223 1.051-0.586 1.414s-0.861 0.586-1.414 0.586-1.051-0.223-1.414-0.586-0.586-0.861-0.586-1.414 0.223-1.051 0.586-1.414 0.861-0.586 1.414-0.586 1.051 0.223 1.414 0.586 0.586 0.861 0.586 1.414z"></path></symbol>
-
- <symbol id="icon-x-circle" viewBox="0 0 24 24"><path d="M23 12c0-3.037-1.232-5.789-3.222-7.778s-4.741-3.222-7.778-3.222-5.789 1.232-7.778 3.222-3.222 4.741-3.222 7.778 1.232 5.789 3.222 7.778 4.741 3.222 7.778 3.222 5.789-1.232 7.778-3.222 3.222-4.741 3.222-7.778zM21 12c0 2.486-1.006 4.734-2.636 6.364s-3.878 2.636-6.364 2.636-4.734-1.006-6.364-2.636-2.636-3.878-2.636-6.364 1.006-4.734 2.636-6.364 3.878-2.636 6.364-2.636 4.734 1.006 6.364 2.636 2.636 3.878 2.636 6.364zM8.293 9.707l2.293 2.293-2.293 2.293c-0.391 0.391-0.391 1.024 0 1.414s1.024 0.391 1.414 0l2.293-2.293 2.293 2.293c0.391 0.391 1.024 0.391 1.414 0s0.391-1.024 0-1.414l-2.293-2.293 2.293-2.293c0.391-0.391 0.391-1.024 0-1.414s-1.024-0.391-1.414 0l-2.293 2.293-2.293-2.293c-0.391-0.391-1.024-0.391-1.414 0s-0.391 1.024 0 1.414z"></path></symbol>
- </defs>
- </svg>
-
- <script src="https://unpkg.com/@highlightjs/cdn-assets@10.5.0/highlight.min.js"></script>
-
- <script src="https://unpkg.com/@highlightjs/cdn-assets@10.5.0/languages/erlang.min.js"></script>
-
- <script src="https://unpkg.com/@highlightjs/cdn-assets@10.5.0/languages/elixir.min.js"></script>
-
- <script src="../highlightjs-gleam.js?v=0.21.0"></script>
-
- <script src="../gleam.js?v=0.21.0"></script>
- </body>
-</html> \ No newline at end of file
diff --git a/docs/lustre/element.html b/docs/lustre/element.html
deleted file mode 100644
index 24862ea..0000000
--- a/docs/lustre/element.html
+++ /dev/null
@@ -1,2753 +0,0 @@
-<!DOCTYPE html>
-<html>
- <head>
- <meta charset="utf-8" />
- <meta name="viewport" content="width=device-width, initial-scale=1">
- <title>lustre/element - lustre</title>
- <link rel="stylesheet" href="../index.css?v=0.21.0" type="text/css" />
- <!-- The docs_config.js file is provided by HexDocs and shared
- between multiple versions of the same package. -->
- <script src="../docs_config.js"></script>
- <link id="syntax-theme" rel="stylesheet" href="https://unpkg.com/@highlightjs/cdn-assets@10.5.0/styles/atom-one-light.min.css">
- </head>
- <body class="prewrap-off theme-light drawer-closed">
- <script>
- "use strict";
-
- /* gleamConfig format:
- * // object with one or more options
- * {option: {
- * // array of values
- * values: [{
- * // this value
- * value: "off",
- * // optional button label
- * label: "default",
- * // optional array of icons
- * icons: ["star", "toggle-left", ...],
- * }, ...],
- *
- * // value update function
- * update: () => {...},
- *
- * // optional callback function
- * callback: (value) => {...},
- * }, ...};
- */
- const gleamConfig = {
- theme: {
- values: (() => {
- const dark = {
- value: "dark",
- label: "Switch to light mode",
- icons: ["moon"],
- };
- const light = {
- value: "light",
- label: "Switch to dark mode",
- icons: ["sun"],
- };
- return (
- window.matchMedia("(prefers-color-scheme: dark)").matches
- ? [dark, light]
- : [light, dark]
- ).map((item, index) => {
- item.icons.push(`toggle-${0 === index ? "left" : "right"}`);
- return item;
- });
- })(),
-
- update: () => "light" === Gleam.getProperty("theme") ? "dark" : "light",
-
- callback: function(value) {
- const syntaxThemes = {
- dark: "atom-one-dark",
- light: "atom-one-light",
- };
- const syntaxTheme = document.querySelector("#syntax-theme");
- const hrefParts = syntaxTheme.href.match(
- /^(.*?)([^/\\#?]+?)((?:\.min)?\.css.*)$/i
- );
- if (syntaxThemes[value] !== hrefParts[2]) {
- hrefParts[2] = syntaxThemes[value];
- hrefParts.shift();
- syntaxTheme.href = hrefParts.join("");
- }
- },
- },
- prewrap: {
- values: [
- {
- value: "off",
- label: "Switch to line-wrapped snippets",
- icons: ["more-horizontal", "toggle-left"],
- },
- {
- value: "on",
- label: "Switch to non-wrapped snippets",
- icons: ["more-vertical", "toggle-right"],
- },
- ],
-
- update: () => "off" === Gleam.getProperty("prewrap") ? "on" : "off",
- },
- };
- </script>
-
- <script>
- "use strict";
-
- /* Initialise options before any content loads */
- void function() {
- for (const property in gleamConfig) {
- const name = `Gleam.${property}`;
-
- let value;
-
- try {
- value = localStorage.getItem(name);
- if (value.startsWith('"') && value.endsWith('"')) {
- localStorage.setItem(name, value.slice(1, value.length - 1));
- }
- }
- catch (_error) {}
-
- const defaultValue = gleamConfig[property].values[0].value;
- try {
- value = localStorage.getItem(name);
- }
- catch(_error) {}
- if (-1 < [null, undefined].indexOf(value)) {
- value = defaultValue;
- }
- const bodyClasses = document.body.classList;
- bodyClasses.remove(`${property}-${defaultValue}`);
- bodyClasses.add(`${property}-${value}`);
- try {
- gleamConfig[property].callback(value);
- }
- catch(_error) {}
- }
- }();
- </script>
-
- <header class="page-header">
- <button class="sidebar-toggle" tabindex="0">
- <svg class="label label-closed icon icon-menu" alt="Open Menu" title="Open Menu"><use xlink:href="#icon-menu"></use></svg>
- <svg class="label label-open icon icon-x-circle" alt="Close Menu" title="Close Menu"><use xlink:href="#icon-x-circle"></use></svg>
- </button>
-
- <h2>
- <a href="../">lustre</a>
- <span id="project-version">
- <span> - v1.0.0 </span>
- </span>
- <script>
- "use strict";
-
- if ("undefined" !== typeof versionNodes) {
- const currentVersion = "v1.0.0";
- if (! versionNodes.find(element => element.version === currentVersion)) {
- versionNodes.unshift({ version: currentVersion, url: "#" });
- }
- document.querySelector("#project-version").innerHTML =
- versionNodes.reduce(
- (acc, element) => {
- const status =
- currentVersion === element.version ? "selected disabled" : "";
- return `
- ${acc}
- <option value="${element.url}" ${status}>
- ${element.version}
- </option>
- `;
- },
- `
- <form autocomplete="off">
- <select onchange="window.location.href = this.value">
- `
- ) + `
- </select>
- <svg class="icon icon-chevrons-down"><use xlink:href="#icon-chevrons-down"></use></svg>
- </form>
- `;
- }
- </script>
- </h2>
- </header>
-
- <div class="page">
- <nav class="sidebar">
- <button class="sidebar-toggle" tabindex="1">
- <svg class="label icon icon-x-circle" alt="Close Menu" title="Close Menu"><use xlink:href="#icon-x-circle"></use></svg>
- </button>
-
-
- <h2>Pages</h2>
- <ul>
-
- <li><a href="../index.html">README</a></li>
-
- </ul>
-
-
-
- <h2>Links</h2>
- <ul>
-
- <li><a href="https://hayleigh-dot-dev.github.io/gleam-lustre">Website</a></li>
-
- <li><a href="https://github.com/hayleigh-dot-dev/gleam-lustre">Repository</a></li>
-
- </ul>
-
-
- <h2>Modules</h2>
- <ul>
-
- <li><a href="../lustre.html">lustre</a></li>
-
- <li><a href="../lustre/attribute.html">lustre/attribute</a></li>
-
- <li><a href="../lustre/cmd.html">lustre/cmd</a></li>
-
- <li><a href="../lustre/element.html">lustre/element</a></li>
-
- <li><a href="../lustre/event.html">lustre/event</a></li>
-
- </ul>
-
-
-
-<h2>Types</h2>
-<ul>
-
- <li><a href="#Element">Element</a></li>
-
-</ul>
-
-
-
-
-
-
-<h2>Functions</h2>
-<ul>
-
- <li><a href="#a">a</a></li>
-
- <li><a href="#abbr">abbr</a></li>
-
- <li><a href="#address">address</a></li>
-
- <li><a href="#area">area</a></li>
-
- <li><a href="#article">article</a></li>
-
- <li><a href="#aside">aside</a></li>
-
- <li><a href="#audio">audio</a></li>
-
- <li><a href="#b">b</a></li>
-
- <li><a href="#base">base</a></li>
-
- <li><a href="#bdi">bdi</a></li>
-
- <li><a href="#bdo">bdo</a></li>
-
- <li><a href="#blockquote">blockquote</a></li>
-
- <li><a href="#body">body</a></li>
-
- <li><a href="#br">br</a></li>
-
- <li><a href="#button">button</a></li>
-
- <li><a href="#canvas">canvas</a></li>
-
- <li><a href="#caption">caption</a></li>
-
- <li><a href="#cite">cite</a></li>
-
- <li><a href="#code">code</a></li>
-
- <li><a href="#col">col</a></li>
-
- <li><a href="#colgroup">colgroup</a></li>
-
- <li><a href="#datalist">datalist</a></li>
-
- <li><a href="#dd">dd</a></li>
-
- <li><a href="#del">del</a></li>
-
- <li><a href="#details">details</a></li>
-
- <li><a href="#dfn">dfn</a></li>
-
- <li><a href="#dialog">dialog</a></li>
-
- <li><a href="#div">div</a></li>
-
- <li><a href="#dl">dl</a></li>
-
- <li><a href="#dt">dt</a></li>
-
- <li><a href="#em">em</a></li>
-
- <li><a href="#embed">embed</a></li>
-
- <li><a href="#fieldset">fieldset</a></li>
-
- <li><a href="#figcaption">figcaption</a></li>
-
- <li><a href="#figure">figure</a></li>
-
- <li><a href="#footer">footer</a></li>
-
- <li><a href="#form">form</a></li>
-
- <li><a href="#fragment">fragment</a></li>
-
- <li><a href="#h1">h1</a></li>
-
- <li><a href="#h2">h2</a></li>
-
- <li><a href="#h3">h3</a></li>
-
- <li><a href="#h4">h4</a></li>
-
- <li><a href="#h5">h5</a></li>
-
- <li><a href="#h6">h6</a></li>
-
- <li><a href="#head">head</a></li>
-
- <li><a href="#header">header</a></li>
-
- <li><a href="#hr">hr</a></li>
-
- <li><a href="#html">html</a></li>
-
- <li><a href="#i">i</a></li>
-
- <li><a href="#iframe">iframe</a></li>
-
- <li><a href="#img">img</a></li>
-
- <li><a href="#input">input</a></li>
-
- <li><a href="#ins">ins</a></li>
-
- <li><a href="#kbd">kbd</a></li>
-
- <li><a href="#label">label</a></li>
-
- <li><a href="#legend">legend</a></li>
-
- <li><a href="#li">li</a></li>
-
- <li><a href="#main">main</a></li>
-
- <li><a href="#map">map</a></li>
-
- <li><a href="#map_">map_</a></li>
-
- <li><a href="#mark">mark</a></li>
-
- <li><a href="#mathml">mathml</a></li>
-
- <li><a href="#menu">menu</a></li>
-
- <li><a href="#meta">meta</a></li>
-
- <li><a href="#meter">meter</a></li>
-
- <li><a href="#nav">nav</a></li>
-
- <li><a href="#node">node</a></li>
-
- <li><a href="#noscript">noscript</a></li>
-
- <li><a href="#object">object</a></li>
-
- <li><a href="#ol">ol</a></li>
-
- <li><a href="#optgroup">optgroup</a></li>
-
- <li><a href="#option">option</a></li>
-
- <li><a href="#output">output</a></li>
-
- <li><a href="#p">p</a></li>
-
- <li><a href="#param">param</a></li>
-
- <li><a href="#picture">picture</a></li>
-
- <li><a href="#portal">portal</a></li>
-
- <li><a href="#pre">pre</a></li>
-
- <li><a href="#progress">progress</a></li>
-
- <li><a href="#rp">rp</a></li>
-
- <li><a href="#rt">rt</a></li>
-
- <li><a href="#ruby">ruby</a></li>
-
- <li><a href="#s">s</a></li>
-
- <li><a href="#samp">samp</a></li>
-
- <li><a href="#section">section</a></li>
-
- <li><a href="#select">select</a></li>
-
- <li><a href="#slot">slot</a></li>
-
- <li><a href="#small">small</a></li>
-
- <li><a href="#source">source</a></li>
-
- <li><a href="#span">span</a></li>
-
- <li><a href="#stateful">stateful</a></li>
-
- <li><a href="#strong">strong</a></li>
-
- <li><a href="#style">style</a></li>
-
- <li><a href="#sub">sub</a></li>
-
- <li><a href="#summary">summary</a></li>
-
- <li><a href="#sup">sup</a></li>
-
- <li><a href="#svg">svg</a></li>
-
- <li><a href="#table">table</a></li>
-
- <li><a href="#tbody">tbody</a></li>
-
- <li><a href="#td">td</a></li>
-
- <li><a href="#template">template</a></li>
-
- <li><a href="#text">text</a></li>
-
- <li><a href="#textarea">textarea</a></li>
-
- <li><a href="#tfoot">tfoot</a></li>
-
- <li><a href="#th">th</a></li>
-
- <li><a href="#thead">thead</a></li>
-
- <li><a href="#time">time</a></li>
-
- <li><a href="#title">title</a></li>
-
- <li><a href="#tr">tr</a></li>
-
- <li><a href="#track">track</a></li>
-
- <li><a href="#u">u</a></li>
-
- <li><a href="#ul">ul</a></li>
-
- <li><a href="#var_">var_</a></li>
-
- <li><a href="#video">video</a></li>
-
- <li><a href="#wbr">wbr</a></li>
-
-</ul>
-
-
- </nav>
-
- <main class="content">
-
-<h1 id="module-name" class="module-name">
- <a href="#module-name">lustre/element</a>
- <svg class="icon icon-gleam-chasse"><use xlink:href="#icon-gleam-chasse"></use></svg>
-</h1>
-
-
-
-<section class="module-members">
- <h1 id="module-types" class="module-member-kind">
- <a href="#module-types">Types</a>
- <svg class="icon icon-gleam-chasse-2"><use xlink:href="#icon-gleam-chasse-2"></use></svg>
- </h1>
-
-
- <div class="member">
- <div class="member-name">
- <h2 id="Element">
- <a href="#Element">
- Element
- </a>
- </h2>
-
- <a class="member-source" alt="View Source" title="View Source" href="https://github.com/hayleigh-dot-dev/gleam-lustre/blob/v1.0.0/src/lustre/element.gleam#L10-L10">
- &lt;/&gt;
- </a>
-
- </div>
- <div class="custom-type-constructors">
- <div class="rendered-markdown"></div>
- <pre><code class="hljs gleam">pub external type Element(action)</code></pre>
-
-
- </div>
- </div>
-
-</section>
-
-
-
-
-
-
-<section class="module-members">
- <h1 id="module-functions" class="module-member-kind">
- <a href="#module-functions">Functions</a>
- <svg class="icon icon-gleam-chasse"><use xlink:href="#icon-gleam-chasse"></use></svg>
- </h1>
-
- <div class="member">
- <div class="member-name">
- <h2 id="a">
- <a href="#a">
- a
- </a>
- </h2>
-
- <a class="member-source" alt="View Source" title="View Source" href="https://github.com/hayleigh-dot-dev/gleam-lustre/blob/v1.0.0/src/lustre/element.gleam#L248-L248">
- &lt;/&gt;
- </a>
-
- </div>
- <pre><code class="hljs gleam">pub fn a(attributes: List(Attribute(a)), children: List(
- Element(a),
- )) -&gt; Element(a)</code></pre>
- <div class="rendered-markdown"></div>
- </div>
-
- <div class="member">
- <div class="member-name">
- <h2 id="abbr">
- <a href="#abbr">
- abbr
- </a>
- </h2>
-
- <a class="member-source" alt="View Source" title="View Source" href="https://github.com/hayleigh-dot-dev/gleam-lustre/blob/v1.0.0/src/lustre/element.gleam#L253-L253">
- &lt;/&gt;
- </a>
-
- </div>
- <pre><code class="hljs gleam">pub fn abbr(attributes: List(Attribute(a)), children: List(
- Element(a),
- )) -&gt; Element(a)</code></pre>
- <div class="rendered-markdown"></div>
- </div>
-
- <div class="member">
- <div class="member-name">
- <h2 id="address">
- <a href="#address">
- address
- </a>
- </h2>
-
- <a class="member-source" alt="View Source" title="View Source" href="https://github.com/hayleigh-dot-dev/gleam-lustre/blob/v1.0.0/src/lustre/element.gleam#L102-L102">
- &lt;/&gt;
- </a>
-
- </div>
- <pre><code class="hljs gleam">pub fn address(attributes: List(Attribute(a)), children: List(
- Element(a),
- )) -&gt; Element(a)</code></pre>
- <div class="rendered-markdown"></div>
- </div>
-
- <div class="member">
- <div class="member-name">
- <h2 id="area">
- <a href="#area">
- area
- </a>
- </h2>
-
- <a class="member-source" alt="View Source" title="View Source" href="https://github.com/hayleigh-dot-dev/gleam-lustre/blob/v1.0.0/src/lustre/element.gleam#L386-L386">
- &lt;/&gt;
- </a>
-
- </div>
- <pre><code class="hljs gleam">pub fn area(attributes: List(Attribute(a))) -&gt; Element(a)</code></pre>
- <div class="rendered-markdown"></div>
- </div>
-
- <div class="member">
- <div class="member-name">
- <h2 id="article">
- <a href="#article">
- article
- </a>
- </h2>
-
- <a class="member-source" alt="View Source" title="View Source" href="https://github.com/hayleigh-dot-dev/gleam-lustre/blob/v1.0.0/src/lustre/element.gleam#L107-L107">
- &lt;/&gt;
- </a>
-
- </div>
- <pre><code class="hljs gleam">pub fn article(attributes: List(Attribute(a)), children: List(
- Element(a),
- )) -&gt; Element(a)</code></pre>
- <div class="rendered-markdown"></div>
- </div>
-
- <div class="member">
- <div class="member-name">
- <h2 id="aside">
- <a href="#aside">
- aside
- </a>
- </h2>
-
- <a class="member-source" alt="View Source" title="View Source" href="https://github.com/hayleigh-dot-dev/gleam-lustre/blob/v1.0.0/src/lustre/element.gleam#L112-L112">
- &lt;/&gt;
- </a>
-
- </div>
- <pre><code class="hljs gleam">pub fn aside(attributes: List(Attribute(a)), children: List(
- Element(a),
- )) -&gt; Element(a)</code></pre>
- <div class="rendered-markdown"></div>
- </div>
-
- <div class="member">
- <div class="member-name">
- <h2 id="audio">
- <a href="#audio">
- audio
- </a>
- </h2>
-
- <a class="member-source" alt="View Source" title="View Source" href="https://github.com/hayleigh-dot-dev/gleam-lustre/blob/v1.0.0/src/lustre/element.gleam#L391-L391">
- &lt;/&gt;
- </a>
-
- </div>
- <pre><code class="hljs gleam">pub fn audio(attributes: List(Attribute(a)), children: List(
- Element(a),
- )) -&gt; Element(a)</code></pre>
- <div class="rendered-markdown"></div>
- </div>
-
- <div class="member">
- <div class="member-name">
- <h2 id="b">
- <a href="#b">
- b
- </a>
- </h2>
-
- <a class="member-source" alt="View Source" title="View Source" href="https://github.com/hayleigh-dot-dev/gleam-lustre/blob/v1.0.0/src/lustre/element.gleam#L258-L258">
- &lt;/&gt;
- </a>
-
- </div>
- <pre><code class="hljs gleam">pub fn b(attributes: List(Attribute(a)), children: List(
- Element(a),
- )) -&gt; Element(a)</code></pre>
- <div class="rendered-markdown"></div>
- </div>
-
- <div class="member">
- <div class="member-name">
- <h2 id="base">
- <a href="#base">
- base
- </a>
- </h2>
-
- <a class="member-source" alt="View Source" title="View Source" href="https://github.com/hayleigh-dot-dev/gleam-lustre/blob/v1.0.0/src/lustre/element.gleam#L67-L67">
- &lt;/&gt;
- </a>
-
- </div>
- <pre><code class="hljs gleam">pub fn base(attributes: List(Attribute(a))) -&gt; Element(a)</code></pre>
- <div class="rendered-markdown"></div>
- </div>
-
- <div class="member">
- <div class="member-name">
- <h2 id="bdi">
- <a href="#bdi">
- bdi
- </a>
- </h2>
-
- <a class="member-source" alt="View Source" title="View Source" href="https://github.com/hayleigh-dot-dev/gleam-lustre/blob/v1.0.0/src/lustre/element.gleam#L263-L263">
- &lt;/&gt;
- </a>
-
- </div>
- <pre><code class="hljs gleam">pub fn bdi(attributes: List(Attribute(a)), children: List(
- Element(a),
- )) -&gt; Element(a)</code></pre>
- <div class="rendered-markdown"></div>
- </div>
-
- <div class="member">
- <div class="member-name">
- <h2 id="bdo">
- <a href="#bdo">
- bdo
- </a>
- </h2>
-
- <a class="member-source" alt="View Source" title="View Source" href="https://github.com/hayleigh-dot-dev/gleam-lustre/blob/v1.0.0/src/lustre/element.gleam#L268-L268">
- &lt;/&gt;
- </a>
-
- </div>
- <pre><code class="hljs gleam">pub fn bdo(attributes: List(Attribute(a)), children: List(
- Element(a),
- )) -&gt; Element(a)</code></pre>
- <div class="rendered-markdown"></div>
- </div>
-
- <div class="member">
- <div class="member-name">
- <h2 id="blockquote">
- <a href="#blockquote">
- blockquote
- </a>
- </h2>
-
- <a class="member-source" alt="View Source" title="View Source" href="https://github.com/hayleigh-dot-dev/gleam-lustre/blob/v1.0.0/src/lustre/element.gleam#L175-L175">
- &lt;/&gt;
- </a>
-
- </div>
- <pre><code class="hljs gleam">pub fn blockquote(attributes: List(Attribute(a)), children: List(
- Element(a),
- )) -&gt; Element(a)</code></pre>
- <div class="rendered-markdown"></div>
- </div>
-
- <div class="member">
- <div class="member-name">
- <h2 id="body">
- <a href="#body">
- body
- </a>
- </h2>
-
- <a class="member-source" alt="View Source" title="View Source" href="https://github.com/hayleigh-dot-dev/gleam-lustre/blob/v1.0.0/src/lustre/element.gleam#L94-L94">
- &lt;/&gt;
- </a>
-
- </div>
- <pre><code class="hljs gleam">pub fn body(attributes: List(Attribute(a)), children: List(
- Element(a),
- )) -&gt; Element(a)</code></pre>
- <div class="rendered-markdown"></div>
- </div>
-
- <div class="member">
- <div class="member-name">
- <h2 id="br">
- <a href="#br">
- br
- </a>
- </h2>
-
- <a class="member-source" alt="View Source" title="View Source" href="https://github.com/hayleigh-dot-dev/gleam-lustre/blob/v1.0.0/src/lustre/element.gleam#L273-L273">
- &lt;/&gt;
- </a>
-
- </div>
- <pre><code class="hljs gleam">pub fn br(attributes: List(Attribute(a))) -&gt; Element(a)</code></pre>
- <div class="rendered-markdown"></div>
- </div>
-
- <div class="member">
- <div class="member-name">
- <h2 id="button">
- <a href="#button">
- button
- </a>
- </h2>
-
- <a class="member-source" alt="View Source" title="View Source" href="https://github.com/hayleigh-dot-dev/gleam-lustre/blob/v1.0.0/src/lustre/element.gleam#L548-L548">
- &lt;/&gt;
- </a>
-
- </div>
- <pre><code class="hljs gleam">pub fn button(attributes: List(Attribute(a)), children: List(
- Element(a),
- )) -&gt; Element(a)</code></pre>
- <div class="rendered-markdown"></div>
- </div>
-
- <div class="member">
- <div class="member-name">
- <h2 id="canvas">
- <a href="#canvas">
- canvas
- </a>
- </h2>
-
- <a class="member-source" alt="View Source" title="View Source" href="https://github.com/hayleigh-dot-dev/gleam-lustre/blob/v1.0.0/src/lustre/element.gleam#L469-L469">
- &lt;/&gt;
- </a>
-
- </div>
- <pre><code class="hljs gleam">pub fn canvas(attributes: List(Attribute(a)), children: List(
- Element(a),
- )) -&gt; Element(a)</code></pre>
- <div class="rendered-markdown"></div>
- </div>
-
- <div class="member">
- <div class="member-name">
- <h2 id="caption">
- <a href="#caption">
- caption
- </a>
- </h2>
-
- <a class="member-source" alt="View Source" title="View Source" href="https://github.com/hayleigh-dot-dev/gleam-lustre/blob/v1.0.0/src/lustre/element.gleam#L495-L495">
- &lt;/&gt;
- </a>
-
- </div>
- <pre><code class="hljs gleam">pub fn caption(attributes: List(Attribute(a)), children: List(
- Element(a),
- )) -&gt; Element(a)</code></pre>
- <div class="rendered-markdown"></div>
- </div>
-
- <div class="member">
- <div class="member-name">
- <h2 id="cite">
- <a href="#cite">
- cite
- </a>
- </h2>
-
- <a class="member-source" alt="View Source" title="View Source" href="https://github.com/hayleigh-dot-dev/gleam-lustre/blob/v1.0.0/src/lustre/element.gleam#L278-L278">
- &lt;/&gt;
- </a>
-
- </div>
- <pre><code class="hljs gleam">pub fn cite(attributes: List(Attribute(a)), children: List(
- Element(a),
- )) -&gt; Element(a)</code></pre>
- <div class="rendered-markdown"></div>
- </div>
-
- <div class="member">
- <div class="member-name">
- <h2 id="code">
- <a href="#code">
- code
- </a>
- </h2>
-
- <a class="member-source" alt="View Source" title="View Source" href="https://github.com/hayleigh-dot-dev/gleam-lustre/blob/v1.0.0/src/lustre/element.gleam#L283-L283">
- &lt;/&gt;
- </a>
-
- </div>
- <pre><code class="hljs gleam">pub fn code(attributes: List(Attribute(a)), children: List(
- Element(a),
- )) -&gt; Element(a)</code></pre>
- <div class="rendered-markdown"></div>
- </div>
-
- <div class="member">
- <div class="member-name">
- <h2 id="col">
- <a href="#col">
- col
- </a>
- </h2>
-
- <a class="member-source" alt="View Source" title="View Source" href="https://github.com/hayleigh-dot-dev/gleam-lustre/blob/v1.0.0/src/lustre/element.gleam#L500-L500">
- &lt;/&gt;
- </a>
-
- </div>
- <pre><code class="hljs gleam">pub fn col(attributes: List(Attribute(a)), children: List(
- Element(a),
- )) -&gt; Element(a)</code></pre>
- <div class="rendered-markdown"></div>
- </div>
-
- <div class="member">
- <div class="member-name">
- <h2 id="colgroup">
- <a href="#colgroup">
- colgroup
- </a>
- </h2>
-
- <a class="member-source" alt="View Source" title="View Source" href="https://github.com/hayleigh-dot-dev/gleam-lustre/blob/v1.0.0/src/lustre/element.gleam#L505-L505">
- &lt;/&gt;
- </a>
-
- </div>
- <pre><code class="hljs gleam">pub fn colgroup(attributes: List(Attribute(a)), children: List(
- Element(a),
- )) -&gt; Element(a)</code></pre>
- <div class="rendered-markdown"></div>
- </div>
-
- <div class="member">
- <div class="member-name">
- <h2 id="datalist">
- <a href="#datalist">
- datalist
- </a>
- </h2>
-
- <a class="member-source" alt="View Source" title="View Source" href="https://github.com/hayleigh-dot-dev/gleam-lustre/blob/v1.0.0/src/lustre/element.gleam#L553-L553">
- &lt;/&gt;
- </a>
-
- </div>
- <pre><code class="hljs gleam">pub fn datalist(attributes: List(Attribute(a)), children: List(
- Element(a),
- )) -&gt; Element(a)</code></pre>
- <div class="rendered-markdown"></div>
- </div>
-
- <div class="member">
- <div class="member-name">
- <h2 id="dd">
- <a href="#dd">
- dd
- </a>
- </h2>
-
- <a class="member-source" alt="View Source" title="View Source" href="https://github.com/hayleigh-dot-dev/gleam-lustre/blob/v1.0.0/src/lustre/element.gleam#L180-L180">
- &lt;/&gt;
- </a>
-
- </div>
- <pre><code class="hljs gleam">pub fn dd(attributes: List(Attribute(a)), children: List(
- Element(a),
- )) -&gt; Element(a)</code></pre>
- <div class="rendered-markdown"></div>
- </div>
-
- <div class="member">
- <div class="member-name">
- <h2 id="del">
- <a href="#del">
- del
- </a>
- </h2>
-
- <a class="member-source" alt="View Source" title="View Source" href="https://github.com/hayleigh-dot-dev/gleam-lustre/blob/v1.0.0/src/lustre/element.gleam#L482-L482">
- &lt;/&gt;
- </a>
-
- </div>
- <pre><code class="hljs gleam">pub fn del(attributes: List(Attribute(a)), children: List(
- Element(a),
- )) -&gt; Element(a)</code></pre>
- <div class="rendered-markdown"></div>
- </div>
-
- <div class="member">
- <div class="member-name">
- <h2 id="details">
- <a href="#details">
- details
- </a>
- </h2>
-
- <a class="member-source" alt="View Source" title="View Source" href="https://github.com/hayleigh-dot-dev/gleam-lustre/blob/v1.0.0/src/lustre/element.gleam#L621-L621">
- &lt;/&gt;
- </a>
-
- </div>
- <pre><code class="hljs gleam">pub fn details(attributes: List(Attribute(a)), children: List(
- Element(a),
- )) -&gt; Element(a)</code></pre>
- <div class="rendered-markdown"></div>
- </div>
-
- <div class="member">
- <div class="member-name">
- <h2 id="dfn">
- <a href="#dfn">
- dfn
- </a>
- </h2>
-
- <a class="member-source" alt="View Source" title="View Source" href="https://github.com/hayleigh-dot-dev/gleam-lustre/blob/v1.0.0/src/lustre/element.gleam#L288-L288">
- &lt;/&gt;
- </a>
-
- </div>
- <pre><code class="hljs gleam">pub fn dfn(attributes: List(Attribute(a)), children: List(
- Element(a),
- )) -&gt; Element(a)</code></pre>
- <div class="rendered-markdown"></div>
- </div>
-
- <div class="member">
- <div class="member-name">
- <h2 id="dialog">
- <a href="#dialog">
- dialog
- </a>
- </h2>
-
- <a class="member-source" alt="View Source" title="View Source" href="https://github.com/hayleigh-dot-dev/gleam-lustre/blob/v1.0.0/src/lustre/element.gleam#L626-L626">
- &lt;/&gt;
- </a>
-
- </div>
- <pre><code class="hljs gleam">pub fn dialog(attributes: List(Attribute(a)), children: List(
- Element(a),
- )) -&gt; Element(a)</code></pre>
- <div class="rendered-markdown"></div>
- </div>
-
- <div class="member">
- <div class="member-name">
- <h2 id="div">
- <a href="#div">
- div
- </a>
- </h2>
-
- <a class="member-source" alt="View Source" title="View Source" href="https://github.com/hayleigh-dot-dev/gleam-lustre/blob/v1.0.0/src/lustre/element.gleam#L185-L185">
- &lt;/&gt;
- </a>
-
- </div>
- <pre><code class="hljs gleam">pub fn div(attributes: List(Attribute(a)), children: List(
- Element(a),
- )) -&gt; Element(a)</code></pre>
- <div class="rendered-markdown"></div>
- </div>
-
- <div class="member">
- <div class="member-name">
- <h2 id="dl">
- <a href="#dl">
- dl
- </a>
- </h2>
-
- <a class="member-source" alt="View Source" title="View Source" href="https://github.com/hayleigh-dot-dev/gleam-lustre/blob/v1.0.0/src/lustre/element.gleam#L190-L190">
- &lt;/&gt;
- </a>
-
- </div>
- <pre><code class="hljs gleam">pub fn dl(attributes: List(Attribute(a)), children: List(
- Element(a),
- )) -&gt; Element(a)</code></pre>
- <div class="rendered-markdown"></div>
- </div>
-
- <div class="member">
- <div class="member-name">
- <h2 id="dt">
- <a href="#dt">
- dt
- </a>
- </h2>
-
- <a class="member-source" alt="View Source" title="View Source" href="https://github.com/hayleigh-dot-dev/gleam-lustre/blob/v1.0.0/src/lustre/element.gleam#L195-L195">
- &lt;/&gt;
- </a>
-
- </div>
- <pre><code class="hljs gleam">pub fn dt(attributes: List(Attribute(a)), children: List(
- Element(a),
- )) -&gt; Element(a)</code></pre>
- <div class="rendered-markdown"></div>
- </div>
-
- <div class="member">
- <div class="member-name">
- <h2 id="em">
- <a href="#em">
- em
- </a>
- </h2>
-
- <a class="member-source" alt="View Source" title="View Source" href="https://github.com/hayleigh-dot-dev/gleam-lustre/blob/v1.0.0/src/lustre/element.gleam#L293-L293">
- &lt;/&gt;
- </a>
-
- </div>
- <pre><code class="hljs gleam">pub fn em(attributes: List(Attribute(a)), children: List(
- Element(a),
- )) -&gt; Element(a)</code></pre>
- <div class="rendered-markdown"></div>
- </div>
-
- <div class="member">
- <div class="member-name">
- <h2 id="embed">
- <a href="#embed">
- embed
- </a>
- </h2>
-
- <a class="member-source" alt="View Source" title="View Source" href="https://github.com/hayleigh-dot-dev/gleam-lustre/blob/v1.0.0/src/lustre/element.gleam#L419-L419">
- &lt;/&gt;
- </a>
-
- </div>
- <pre><code class="hljs gleam">pub fn embed(attributes: List(Attribute(a))) -&gt; Element(a)</code></pre>
- <div class="rendered-markdown"></div>
- </div>
-
- <div class="member">
- <div class="member-name">
- <h2 id="fieldset">
- <a href="#fieldset">
- fieldset
- </a>
- </h2>
-
- <a class="member-source" alt="View Source" title="View Source" href="https://github.com/hayleigh-dot-dev/gleam-lustre/blob/v1.0.0/src/lustre/element.gleam#L558-L558">
- &lt;/&gt;
- </a>
-
- </div>
- <pre><code class="hljs gleam">pub fn fieldset(attributes: List(Attribute(a)), children: List(
- Element(a),
- )) -&gt; Element(a)</code></pre>
- <div class="rendered-markdown"></div>
- </div>
-
- <div class="member">
- <div class="member-name">
- <h2 id="figcaption">
- <a href="#figcaption">
- figcaption
- </a>
- </h2>
-
- <a class="member-source" alt="View Source" title="View Source" href="https://github.com/hayleigh-dot-dev/gleam-lustre/blob/v1.0.0/src/lustre/element.gleam#L200-L200">
- &lt;/&gt;
- </a>
-
- </div>
- <pre><code class="hljs gleam">pub fn figcaption(attributes: List(Attribute(a)), children: List(
- Element(a),
- )) -&gt; Element(a)</code></pre>
- <div class="rendered-markdown"></div>
- </div>
-
- <div class="member">
- <div class="member-name">
- <h2 id="figure">
- <a href="#figure">
- figure
- </a>
- </h2>
-
- <a class="member-source" alt="View Source" title="View Source" href="https://github.com/hayleigh-dot-dev/gleam-lustre/blob/v1.0.0/src/lustre/element.gleam#L205-L205">
- &lt;/&gt;
- </a>
-
- </div>
- <pre><code class="hljs gleam">pub fn figure(attributes: List(Attribute(a)), children: List(
- Element(a),
- )) -&gt; Element(a)</code></pre>
- <div class="rendered-markdown"></div>
- </div>
-
- <div class="member">
- <div class="member-name">
- <h2 id="footer">
- <a href="#footer">
- footer
- </a>
- </h2>
-
- <a class="member-source" alt="View Source" title="View Source" href="https://github.com/hayleigh-dot-dev/gleam-lustre/blob/v1.0.0/src/lustre/element.gleam#L117-L117">
- &lt;/&gt;
- </a>
-
- </div>
- <pre><code class="hljs gleam">pub fn footer(attributes: List(Attribute(a)), children: List(
- Element(a),
- )) -&gt; Element(a)</code></pre>
- <div class="rendered-markdown"></div>
- </div>
-
- <div class="member">
- <div class="member-name">
- <h2 id="form">
- <a href="#form">
- form
- </a>
- </h2>
-
- <a class="member-source" alt="View Source" title="View Source" href="https://github.com/hayleigh-dot-dev/gleam-lustre/blob/v1.0.0/src/lustre/element.gleam#L563-L563">
- &lt;/&gt;
- </a>
-
- </div>
- <pre><code class="hljs gleam">pub fn form(attributes: List(Attribute(a)), children: List(
- Element(a),
- )) -&gt; Element(a)</code></pre>
- <div class="rendered-markdown"></div>
- </div>
-
- <div class="member">
- <div class="member-name">
- <h2 id="fragment">
- <a href="#fragment">
- fragment
- </a>
- </h2>
-
- <a class="member-source" alt="View Source" title="View Source" href="https://github.com/hayleigh-dot-dev/gleam-lustre/blob/v1.0.0/src/lustre/element.gleam#L35-L36">
- &lt;/&gt;
- </a>
-
- </div>
- <pre><code class="hljs gleam">pub external fn fragment(
- children: List(Element(action)),
-) -&gt; Element(action)</code></pre>
- <div class="rendered-markdown"><p>A fragment doesn’t appear in the DOM, but allows us to treat a list of elements
-as if it were a single one. </p>
-</div>
- </div>
-
- <div class="member">
- <div class="member-name">
- <h2 id="h1">
- <a href="#h1">
- h1
- </a>
- </h2>
-
- <a class="member-source" alt="View Source" title="View Source" href="https://github.com/hayleigh-dot-dev/gleam-lustre/blob/v1.0.0/src/lustre/element.gleam#L127-L127">
- &lt;/&gt;
- </a>
-
- </div>
- <pre><code class="hljs gleam">pub fn h1(attributes: List(Attribute(a)), children: List(
- Element(a),
- )) -&gt; Element(a)</code></pre>
- <div class="rendered-markdown"></div>
- </div>
-
- <div class="member">
- <div class="member-name">
- <h2 id="h2">
- <a href="#h2">
- h2
- </a>
- </h2>
-
- <a class="member-source" alt="View Source" title="View Source" href="https://github.com/hayleigh-dot-dev/gleam-lustre/blob/v1.0.0/src/lustre/element.gleam#L132-L132">
- &lt;/&gt;
- </a>
-
- </div>
- <pre><code class="hljs gleam">pub fn h2(attributes: List(Attribute(a)), children: List(
- Element(a),
- )) -&gt; Element(a)</code></pre>
- <div class="rendered-markdown"></div>
- </div>
-
- <div class="member">
- <div class="member-name">
- <h2 id="h3">
- <a href="#h3">
- h3
- </a>
- </h2>
-
- <a class="member-source" alt="View Source" title="View Source" href="https://github.com/hayleigh-dot-dev/gleam-lustre/blob/v1.0.0/src/lustre/element.gleam#L137-L137">
- &lt;/&gt;
- </a>
-
- </div>
- <pre><code class="hljs gleam">pub fn h3(attributes: List(Attribute(a)), children: List(
- Element(a),
- )) -&gt; Element(a)</code></pre>
- <div class="rendered-markdown"></div>
- </div>
-
- <div class="member">
- <div class="member-name">
- <h2 id="h4">
- <a href="#h4">
- h4
- </a>
- </h2>
-
- <a class="member-source" alt="View Source" title="View Source" href="https://github.com/hayleigh-dot-dev/gleam-lustre/blob/v1.0.0/src/lustre/element.gleam#L142-L142">
- &lt;/&gt;
- </a>
-
- </div>
- <pre><code class="hljs gleam">pub fn h4(attributes: List(Attribute(a)), children: List(
- Element(a),
- )) -&gt; Element(a)</code></pre>
- <div class="rendered-markdown"></div>
- </div>
-
- <div class="member">
- <div class="member-name">
- <h2 id="h5">
- <a href="#h5">
- h5
- </a>
- </h2>
-
- <a class="member-source" alt="View Source" title="View Source" href="https://github.com/hayleigh-dot-dev/gleam-lustre/blob/v1.0.0/src/lustre/element.gleam#L147-L147">
- &lt;/&gt;
- </a>
-
- </div>
- <pre><code class="hljs gleam">pub fn h5(attributes: List(Attribute(a)), children: List(
- Element(a),
- )) -&gt; Element(a)</code></pre>
- <div class="rendered-markdown"></div>
- </div>
-
- <div class="member">
- <div class="member-name">
- <h2 id="h6">
- <a href="#h6">
- h6
- </a>
- </h2>
-
- <a class="member-source" alt="View Source" title="View Source" href="https://github.com/hayleigh-dot-dev/gleam-lustre/blob/v1.0.0/src/lustre/element.gleam#L152-L152">
- &lt;/&gt;
- </a>
-
- </div>
- <pre><code class="hljs gleam">pub fn h6(attributes: List(Attribute(a)), children: List(
- Element(a),
- )) -&gt; Element(a)</code></pre>
- <div class="rendered-markdown"></div>
- </div>
-
- <div class="member">
- <div class="member-name">
- <h2 id="head">
- <a href="#head">
- head
- </a>
- </h2>
-
- <a class="member-source" alt="View Source" title="View Source" href="https://github.com/hayleigh-dot-dev/gleam-lustre/blob/v1.0.0/src/lustre/element.gleam#L72-L72">
- &lt;/&gt;
- </a>
-
- </div>
- <pre><code class="hljs gleam">pub fn head(attributes: List(Attribute(a)), children: List(
- Element(a),
- )) -&gt; Element(a)</code></pre>
- <div class="rendered-markdown"></div>
- </div>
-
- <div class="member">
- <div class="member-name">
- <h2 id="header">
- <a href="#header">
- header
- </a>
- </h2>
-
- <a class="member-source" alt="View Source" title="View Source" href="https://github.com/hayleigh-dot-dev/gleam-lustre/blob/v1.0.0/src/lustre/element.gleam#L122-L122">
- &lt;/&gt;
- </a>
-
- </div>
- <pre><code class="hljs gleam">pub fn header(attributes: List(Attribute(a)), children: List(
- Element(a),
- )) -&gt; Element(a)</code></pre>
- <div class="rendered-markdown"></div>
- </div>
-
- <div class="member">
- <div class="member-name">
- <h2 id="hr">
- <a href="#hr">
- hr
- </a>
- </h2>
-
- <a class="member-source" alt="View Source" title="View Source" href="https://github.com/hayleigh-dot-dev/gleam-lustre/blob/v1.0.0/src/lustre/element.gleam#L210-L210">
- &lt;/&gt;
- </a>
-
- </div>
- <pre><code class="hljs gleam">pub fn hr(attributes: List(Attribute(a))) -&gt; Element(a)</code></pre>
- <div class="rendered-markdown"></div>
- </div>
-
- <div class="member">
- <div class="member-name">
- <h2 id="html">
- <a href="#html">
- html
- </a>
- </h2>
-
- <a class="member-source" alt="View Source" title="View Source" href="https://github.com/hayleigh-dot-dev/gleam-lustre/blob/v1.0.0/src/lustre/element.gleam#L59-L59">
- &lt;/&gt;
- </a>
-
- </div>
- <pre><code class="hljs gleam">pub fn html(attributes: List(Attribute(a)), head: Element(a), body: Element(
- a,
- )) -&gt; Element(a)</code></pre>
- <div class="rendered-markdown"></div>
- </div>
-
- <div class="member">
- <div class="member-name">
- <h2 id="i">
- <a href="#i">
- i
- </a>
- </h2>
-
- <a class="member-source" alt="View Source" title="View Source" href="https://github.com/hayleigh-dot-dev/gleam-lustre/blob/v1.0.0/src/lustre/element.gleam#L298-L298">
- &lt;/&gt;
- </a>
-
- </div>
- <pre><code class="hljs gleam">pub fn i(attributes: List(Attribute(a)), children: List(
- Element(a),
- )) -&gt; Element(a)</code></pre>
- <div class="rendered-markdown"></div>
- </div>
-
- <div class="member">
- <div class="member-name">
- <h2 id="iframe">
- <a href="#iframe">
- iframe
- </a>
- </h2>
-
- <a class="member-source" alt="View Source" title="View Source" href="https://github.com/hayleigh-dot-dev/gleam-lustre/blob/v1.0.0/src/lustre/element.gleam#L424-L424">
- &lt;/&gt;
- </a>
-
- </div>
- <pre><code class="hljs gleam">pub fn iframe(attributes: List(Attribute(a))) -&gt; Element(a)</code></pre>
- <div class="rendered-markdown"></div>
- </div>
-
- <div class="member">
- <div class="member-name">
- <h2 id="img">
- <a href="#img">
- img
- </a>
- </h2>
-
- <a class="member-source" alt="View Source" title="View Source" href="https://github.com/hayleigh-dot-dev/gleam-lustre/blob/v1.0.0/src/lustre/element.gleam#L396-L396">
- &lt;/&gt;
- </a>
-
- </div>
- <pre><code class="hljs gleam">pub fn img(attributes: List(Attribute(a))) -&gt; Element(a)</code></pre>
- <div class="rendered-markdown"></div>
- </div>
-
- <div class="member">
- <div class="member-name">
- <h2 id="input">
- <a href="#input">
- input
- </a>
- </h2>
-
- <a class="member-source" alt="View Source" title="View Source" href="https://github.com/hayleigh-dot-dev/gleam-lustre/blob/v1.0.0/src/lustre/element.gleam#L568-L568">
- &lt;/&gt;
- </a>
-
- </div>
- <pre><code class="hljs gleam">pub fn input(attributes: List(Attribute(a))) -&gt; Element(a)</code></pre>
- <div class="rendered-markdown"></div>
- </div>
-
- <div class="member">
- <div class="member-name">
- <h2 id="ins">
- <a href="#ins">
- ins
- </a>
- </h2>
-
- <a class="member-source" alt="View Source" title="View Source" href="https://github.com/hayleigh-dot-dev/gleam-lustre/blob/v1.0.0/src/lustre/element.gleam#L487-L487">
- &lt;/&gt;
- </a>
-
- </div>
- <pre><code class="hljs gleam">pub fn ins(attributes: List(Attribute(a)), children: List(
- Element(a),
- )) -&gt; Element(a)</code></pre>
- <div class="rendered-markdown"></div>
- </div>
-
- <div class="member">
- <div class="member-name">
- <h2 id="kbd">
- <a href="#kbd">
- kbd
- </a>
- </h2>
-
- <a class="member-source" alt="View Source" title="View Source" href="https://github.com/hayleigh-dot-dev/gleam-lustre/blob/v1.0.0/src/lustre/element.gleam#L303-L303">
- &lt;/&gt;
- </a>
-
- </div>
- <pre><code class="hljs gleam">pub fn kbd(attributes: List(Attribute(a)), children: List(
- Element(a),
- )) -&gt; Element(a)</code></pre>
- <div class="rendered-markdown"></div>
- </div>
-
- <div class="member">
- <div class="member-name">
- <h2 id="label">
- <a href="#label">
- label
- </a>
- </h2>
-
- <a class="member-source" alt="View Source" title="View Source" href="https://github.com/hayleigh-dot-dev/gleam-lustre/blob/v1.0.0/src/lustre/element.gleam#L573-L573">
- &lt;/&gt;
- </a>
-
- </div>
- <pre><code class="hljs gleam">pub fn label(attributes: List(Attribute(a)), children: List(
- Element(a),
- )) -&gt; Element(a)</code></pre>
- <div class="rendered-markdown"></div>
- </div>
-
- <div class="member">
- <div class="member-name">
- <h2 id="legend">
- <a href="#legend">
- legend
- </a>
- </h2>
-
- <a class="member-source" alt="View Source" title="View Source" href="https://github.com/hayleigh-dot-dev/gleam-lustre/blob/v1.0.0/src/lustre/element.gleam#L578-L578">
- &lt;/&gt;
- </a>
-
- </div>
- <pre><code class="hljs gleam">pub fn legend(attributes: List(Attribute(a)), children: List(
- Element(a),
- )) -&gt; Element(a)</code></pre>
- <div class="rendered-markdown"></div>
- </div>
-
- <div class="member">
- <div class="member-name">
- <h2 id="li">
- <a href="#li">
- li
- </a>
- </h2>
-
- <a class="member-source" alt="View Source" title="View Source" href="https://github.com/hayleigh-dot-dev/gleam-lustre/blob/v1.0.0/src/lustre/element.gleam#L215-L215">
- &lt;/&gt;
- </a>
-
- </div>
- <pre><code class="hljs gleam">pub fn li(attributes: List(Attribute(a)), children: List(
- Element(a),
- )) -&gt; Element(a)</code></pre>
- <div class="rendered-markdown"></div>
- </div>
-
- <div class="member">
- <div class="member-name">
- <h2 id="main">
- <a href="#main">
- main
- </a>
- </h2>
-
- <a class="member-source" alt="View Source" title="View Source" href="https://github.com/hayleigh-dot-dev/gleam-lustre/blob/v1.0.0/src/lustre/element.gleam#L157-L157">
- &lt;/&gt;
- </a>
-
- </div>
- <pre><code class="hljs gleam">pub fn main(attributes: List(Attribute(a)), children: List(
- Element(a),
- )) -&gt; Element(a)</code></pre>
- <div class="rendered-markdown"></div>
- </div>
-
- <div class="member">
- <div class="member-name">
- <h2 id="map">
- <a href="#map">
- map
- </a>
- </h2>
-
- <a class="member-source" alt="View Source" title="View Source" href="https://github.com/hayleigh-dot-dev/gleam-lustre/blob/v1.0.0/src/lustre/element.gleam#L48-L49">
- &lt;/&gt;
- </a>
-
- </div>
- <pre><code class="hljs gleam">pub external fn map(
- element: Element(a),
- f: fn(a) -&gt; b,
-) -&gt; Element(b)</code></pre>
- <div class="rendered-markdown"><p>Transforms the actions produced by some element.</p>
-</div>
- </div>
-
- <div class="member">
- <div class="member-name">
- <h2 id="map_">
- <a href="#map_">
- map_
- </a>
- </h2>
-
- <a class="member-source" alt="View Source" title="View Source" href="https://github.com/hayleigh-dot-dev/gleam-lustre/blob/v1.0.0/src/lustre/element.gleam#L401-L401">
- &lt;/&gt;
- </a>
-
- </div>
- <pre><code class="hljs gleam">pub fn map_(attributes: List(Attribute(a)), children: List(
- Element(a),
- )) -&gt; Element(a)</code></pre>
- <div class="rendered-markdown"></div>
- </div>
-
- <div class="member">
- <div class="member-name">
- <h2 id="mark">
- <a href="#mark">
- mark
- </a>
- </h2>
-
- <a class="member-source" alt="View Source" title="View Source" href="https://github.com/hayleigh-dot-dev/gleam-lustre/blob/v1.0.0/src/lustre/element.gleam#L308-L308">
- &lt;/&gt;
- </a>
-
- </div>
- <pre><code class="hljs gleam">pub fn mark(attributes: List(Attribute(a)), children: List(
- Element(a),
- )) -&gt; Element(a)</code></pre>
- <div class="rendered-markdown"></div>
- </div>
-
- <div class="member">
- <div class="member-name">
- <h2 id="mathml">
- <a href="#mathml">
- mathml
- </a>
- </h2>
-
- <a class="member-source" alt="View Source" title="View Source" href="https://github.com/hayleigh-dot-dev/gleam-lustre/blob/v1.0.0/src/lustre/element.gleam#L462-L462">
- &lt;/&gt;
- </a>
-
- </div>
- <pre><code class="hljs gleam">pub fn mathml(attributes: List(Attribute(a)), children: List(
- Element(a),
- )) -&gt; Element(a)</code></pre>
- <div class="rendered-markdown"></div>
- </div>
-
- <div class="member">
- <div class="member-name">
- <h2 id="menu">
- <a href="#menu">
- menu
- </a>
- </h2>
-
- <a class="member-source" alt="View Source" title="View Source" href="https://github.com/hayleigh-dot-dev/gleam-lustre/blob/v1.0.0/src/lustre/element.gleam#L220-L220">
- &lt;/&gt;
- </a>
-
- </div>
- <pre><code class="hljs gleam">pub fn menu(attributes: List(Attribute(a)), children: List(
- Element(a),
- )) -&gt; Element(a)</code></pre>
- <div class="rendered-markdown"></div>
- </div>
-
- <div class="member">
- <div class="member-name">
- <h2 id="meta">
- <a href="#meta">
- meta
- </a>
- </h2>
-
- <a class="member-source" alt="View Source" title="View Source" href="https://github.com/hayleigh-dot-dev/gleam-lustre/blob/v1.0.0/src/lustre/element.gleam#L77-L77">
- &lt;/&gt;
- </a>
-
- </div>
- <pre><code class="hljs gleam">pub fn meta(attributes: List(Attribute(a))) -&gt; Element(a)</code></pre>
- <div class="rendered-markdown"></div>
- </div>
-
- <div class="member">
- <div class="member-name">
- <h2 id="meter">
- <a href="#meter">
- meter
- </a>
- </h2>
-
- <a class="member-source" alt="View Source" title="View Source" href="https://github.com/hayleigh-dot-dev/gleam-lustre/blob/v1.0.0/src/lustre/element.gleam#L583-L583">
- &lt;/&gt;
- </a>
-
- </div>
- <pre><code class="hljs gleam">pub fn meter(attributes: List(Attribute(a)), children: List(
- Element(a),
- )) -&gt; Element(a)</code></pre>
- <div class="rendered-markdown"></div>
- </div>
-
- <div class="member">
- <div class="member-name">
- <h2 id="nav">
- <a href="#nav">
- nav
- </a>
- </h2>
-
- <a class="member-source" alt="View Source" title="View Source" href="https://github.com/hayleigh-dot-dev/gleam-lustre/blob/v1.0.0/src/lustre/element.gleam#L162-L162">
- &lt;/&gt;
- </a>
-
- </div>
- <pre><code class="hljs gleam">pub fn nav(attributes: List(Attribute(a)), children: List(
- Element(a),
- )) -&gt; Element(a)</code></pre>
- <div class="rendered-markdown"></div>
- </div>
-
- <div class="member">
- <div class="member-name">
- <h2 id="node">
- <a href="#node">
- node
- </a>
- </h2>
-
- <a class="member-source" alt="View Source" title="View Source" href="https://github.com/hayleigh-dot-dev/gleam-lustre/blob/v1.0.0/src/lustre/element.gleam#L18-L19">
- &lt;/&gt;
- </a>
-
- </div>
- <pre><code class="hljs gleam">pub external fn node(
- tag: String,
- attributes: List(Attribute(action)),
- children: List(Element(action)),
-) -&gt; Element(action)</code></pre>
- <div class="rendered-markdown"><p>Construct a plain HTML element or registered Web Component by providing the
-tag name, a list of attributes (including event handlers), and a list of
-child elements.</p>
-</div>
- </div>
-
- <div class="member">
- <div class="member-name">
- <h2 id="noscript">
- <a href="#noscript">
- noscript
- </a>
- </h2>
-
- <a class="member-source" alt="View Source" title="View Source" href="https://github.com/hayleigh-dot-dev/gleam-lustre/blob/v1.0.0/src/lustre/element.gleam#L474-L474">
- &lt;/&gt;
- </a>
-
- </div>
- <pre><code class="hljs gleam">pub fn noscript(attributes: List(Attribute(a)), children: List(
- Element(a),
- )) -&gt; Element(a)</code></pre>
- <div class="rendered-markdown"></div>
- </div>
-
- <div class="member">
- <div class="member-name">
- <h2 id="object">
- <a href="#object">
- object
- </a>
- </h2>
-
- <a class="member-source" alt="View Source" title="View Source" href="https://github.com/hayleigh-dot-dev/gleam-lustre/blob/v1.0.0/src/lustre/element.gleam#L429-L429">
- &lt;/&gt;
- </a>
-
- </div>
- <pre><code class="hljs gleam">pub fn object(attributes: List(Attribute(a)), children: List(
- Element(a),
- )) -&gt; Element(a)</code></pre>
- <div class="rendered-markdown"></div>
- </div>
-
- <div class="member">
- <div class="member-name">
- <h2 id="ol">
- <a href="#ol">
- ol
- </a>
- </h2>
-
- <a class="member-source" alt="View Source" title="View Source" href="https://github.com/hayleigh-dot-dev/gleam-lustre/blob/v1.0.0/src/lustre/element.gleam#L225-L225">
- &lt;/&gt;
- </a>
-
- </div>
- <pre><code class="hljs gleam">pub fn ol(attributes: List(Attribute(a)), children: List(
- Element(a),
- )) -&gt; Element(a)</code></pre>
- <div class="rendered-markdown"></div>
- </div>
-
- <div class="member">
- <div class="member-name">
- <h2 id="optgroup">
- <a href="#optgroup">
- optgroup
- </a>
- </h2>
-
- <a class="member-source" alt="View Source" title="View Source" href="https://github.com/hayleigh-dot-dev/gleam-lustre/blob/v1.0.0/src/lustre/element.gleam#L588-L588">
- &lt;/&gt;
- </a>
-
- </div>
- <pre><code class="hljs gleam">pub fn optgroup(attributes: List(Attribute(a)), children: List(
- Element(a),
- )) -&gt; Element(a)</code></pre>
- <div class="rendered-markdown"></div>
- </div>
-
- <div class="member">
- <div class="member-name">
- <h2 id="option">
- <a href="#option">
- option
- </a>
- </h2>
-
- <a class="member-source" alt="View Source" title="View Source" href="https://github.com/hayleigh-dot-dev/gleam-lustre/blob/v1.0.0/src/lustre/element.gleam#L593-L593">
- &lt;/&gt;
- </a>
-
- </div>
- <pre><code class="hljs gleam">pub fn option(attributes: List(Attribute(a)), children: List(
- Element(a),
- )) -&gt; Element(a)</code></pre>
- <div class="rendered-markdown"></div>
- </div>
-
- <div class="member">
- <div class="member-name">
- <h2 id="output">
- <a href="#output">
- output
- </a>
- </h2>
-
- <a class="member-source" alt="View Source" title="View Source" href="https://github.com/hayleigh-dot-dev/gleam-lustre/blob/v1.0.0/src/lustre/element.gleam#L598-L598">
- &lt;/&gt;
- </a>
-
- </div>
- <pre><code class="hljs gleam">pub fn output(attributes: List(Attribute(a)), children: List(
- Element(a),
- )) -&gt; Element(a)</code></pre>
- <div class="rendered-markdown"></div>
- </div>
-
- <div class="member">
- <div class="member-name">
- <h2 id="p">
- <a href="#p">
- p
- </a>
- </h2>
-
- <a class="member-source" alt="View Source" title="View Source" href="https://github.com/hayleigh-dot-dev/gleam-lustre/blob/v1.0.0/src/lustre/element.gleam#L230-L230">
- &lt;/&gt;
- </a>
-
- </div>
- <pre><code class="hljs gleam">pub fn p(attributes: List(Attribute(a)), children: List(
- Element(a),
- )) -&gt; Element(a)</code></pre>
- <div class="rendered-markdown"></div>
- </div>
-
- <div class="member">
- <div class="member-name">
- <h2 id="param">
- <a href="#param">
- param
- </a>
- </h2>
-
- <a class="member-source" alt="View Source" title="View Source" href="https://github.com/hayleigh-dot-dev/gleam-lustre/blob/v1.0.0/src/lustre/element.gleam#L434-L434">
- &lt;/&gt;
- </a>
-
- </div>
- <pre><code class="hljs gleam">pub fn param(attributes: List(Attribute(a)), children: List(
- Element(a),
- )) -&gt; Element(a)</code></pre>
- <div class="rendered-markdown"></div>
- </div>
-
- <div class="member">
- <div class="member-name">
- <h2 id="picture">
- <a href="#picture">
- picture
- </a>
- </h2>
-
- <a class="member-source" alt="View Source" title="View Source" href="https://github.com/hayleigh-dot-dev/gleam-lustre/blob/v1.0.0/src/lustre/element.gleam#L439-L439">
- &lt;/&gt;
- </a>
-
- </div>
- <pre><code class="hljs gleam">pub fn picture(attributes: List(Attribute(a)), children: List(
- Element(a),
- )) -&gt; Element(a)</code></pre>
- <div class="rendered-markdown"></div>
- </div>
-
- <div class="member">
- <div class="member-name">
- <h2 id="portal">
- <a href="#portal">
- portal
- </a>
- </h2>
-
- <a class="member-source" alt="View Source" title="View Source" href="https://github.com/hayleigh-dot-dev/gleam-lustre/blob/v1.0.0/src/lustre/element.gleam#L444-L444">
- &lt;/&gt;
- </a>
-
- </div>
- <pre><code class="hljs gleam">pub fn portal(attributes: List(Attribute(a))) -&gt; Element(a)</code></pre>
- <div class="rendered-markdown"></div>
- </div>
-
- <div class="member">
- <div class="member-name">
- <h2 id="pre">
- <a href="#pre">
- pre
- </a>
- </h2>
-
- <a class="member-source" alt="View Source" title="View Source" href="https://github.com/hayleigh-dot-dev/gleam-lustre/blob/v1.0.0/src/lustre/element.gleam#L235-L235">
- &lt;/&gt;
- </a>
-
- </div>
- <pre><code class="hljs gleam">pub fn pre(attributes: List(Attribute(a)), children: List(
- Element(a),
- )) -&gt; Element(a)</code></pre>
- <div class="rendered-markdown"></div>
- </div>
-
- <div class="member">
- <div class="member-name">
- <h2 id="progress">
- <a href="#progress">
- progress
- </a>
- </h2>
-
- <a class="member-source" alt="View Source" title="View Source" href="https://github.com/hayleigh-dot-dev/gleam-lustre/blob/v1.0.0/src/lustre/element.gleam#L603-L603">
- &lt;/&gt;
- </a>
-
- </div>
- <pre><code class="hljs gleam">pub fn progress(attributes: List(Attribute(a)), children: List(
- Element(a),
- )) -&gt; Element(a)</code></pre>
- <div class="rendered-markdown"></div>
- </div>
-
- <div class="member">
- <div class="member-name">
- <h2 id="rp">
- <a href="#rp">
- rp
- </a>
- </h2>
-
- <a class="member-source" alt="View Source" title="View Source" href="https://github.com/hayleigh-dot-dev/gleam-lustre/blob/v1.0.0/src/lustre/element.gleam#L313-L313">
- &lt;/&gt;
- </a>
-
- </div>
- <pre><code class="hljs gleam">pub fn rp(attributes: List(Attribute(a)), children: List(
- Element(a),
- )) -&gt; Element(a)</code></pre>
- <div class="rendered-markdown"></div>
- </div>
-
- <div class="member">
- <div class="member-name">
- <h2 id="rt">
- <a href="#rt">
- rt
- </a>
- </h2>
-
- <a class="member-source" alt="View Source" title="View Source" href="https://github.com/hayleigh-dot-dev/gleam-lustre/blob/v1.0.0/src/lustre/element.gleam#L318-L318">
- &lt;/&gt;
- </a>
-
- </div>
- <pre><code class="hljs gleam">pub fn rt(attributes: List(Attribute(a)), children: List(
- Element(a),
- )) -&gt; Element(a)</code></pre>
- <div class="rendered-markdown"></div>
- </div>
-
- <div class="member">
- <div class="member-name">
- <h2 id="ruby">
- <a href="#ruby">
- ruby
- </a>
- </h2>
-
- <a class="member-source" alt="View Source" title="View Source" href="https://github.com/hayleigh-dot-dev/gleam-lustre/blob/v1.0.0/src/lustre/element.gleam#L323-L323">
- &lt;/&gt;
- </a>
-
- </div>
- <pre><code class="hljs gleam">pub fn ruby(attributes: List(Attribute(a)), children: List(
- Element(a),
- )) -&gt; Element(a)</code></pre>
- <div class="rendered-markdown"></div>
- </div>
-
- <div class="member">
- <div class="member-name">
- <h2 id="s">
- <a href="#s">
- s
- </a>
- </h2>
-
- <a class="member-source" alt="View Source" title="View Source" href="https://github.com/hayleigh-dot-dev/gleam-lustre/blob/v1.0.0/src/lustre/element.gleam#L328-L328">
- &lt;/&gt;
- </a>
-
- </div>
- <pre><code class="hljs gleam">pub fn s(attributes: List(Attribute(a)), children: List(
- Element(a),
- )) -&gt; Element(a)</code></pre>
- <div class="rendered-markdown"></div>
- </div>
-
- <div class="member">
- <div class="member-name">
- <h2 id="samp">
- <a href="#samp">
- samp
- </a>
- </h2>
-
- <a class="member-source" alt="View Source" title="View Source" href="https://github.com/hayleigh-dot-dev/gleam-lustre/blob/v1.0.0/src/lustre/element.gleam#L333-L333">
- &lt;/&gt;
- </a>
-
- </div>
- <pre><code class="hljs gleam">pub fn samp(attributes: List(Attribute(a)), children: List(
- Element(a),
- )) -&gt; Element(a)</code></pre>
- <div class="rendered-markdown"></div>
- </div>
-
- <div class="member">
- <div class="member-name">
- <h2 id="section">
- <a href="#section">
- section
- </a>
- </h2>
-
- <a class="member-source" alt="View Source" title="View Source" href="https://github.com/hayleigh-dot-dev/gleam-lustre/blob/v1.0.0/src/lustre/element.gleam#L167-L167">
- &lt;/&gt;
- </a>
-
- </div>
- <pre><code class="hljs gleam">pub fn section(attributes: List(Attribute(a)), children: List(
- Element(a),
- )) -&gt; Element(a)</code></pre>
- <div class="rendered-markdown"></div>
- </div>
-
- <div class="member">
- <div class="member-name">
- <h2 id="select">
- <a href="#select">
- select
- </a>
- </h2>
-
- <a class="member-source" alt="View Source" title="View Source" href="https://github.com/hayleigh-dot-dev/gleam-lustre/blob/v1.0.0/src/lustre/element.gleam#L608-L608">
- &lt;/&gt;
- </a>
-
- </div>
- <pre><code class="hljs gleam">pub fn select(attributes: List(Attribute(a)), children: List(
- Element(a),
- )) -&gt; Element(a)</code></pre>
- <div class="rendered-markdown"></div>
- </div>
-
- <div class="member">
- <div class="member-name">
- <h2 id="slot">
- <a href="#slot">
- slot
- </a>
- </h2>
-
- <a class="member-source" alt="View Source" title="View Source" href="https://github.com/hayleigh-dot-dev/gleam-lustre/blob/v1.0.0/src/lustre/element.gleam#L639-L639">
- &lt;/&gt;
- </a>
-
- </div>
- <pre><code class="hljs gleam">pub fn slot(attributes: List(Attribute(a)), children: List(
- Element(a),
- )) -&gt; Element(a)</code></pre>
- <div class="rendered-markdown"></div>
- </div>
-
- <div class="member">
- <div class="member-name">
- <h2 id="small">
- <a href="#small">
- small
- </a>
- </h2>
-
- <a class="member-source" alt="View Source" title="View Source" href="https://github.com/hayleigh-dot-dev/gleam-lustre/blob/v1.0.0/src/lustre/element.gleam#L338-L338">
- &lt;/&gt;
- </a>
-
- </div>
- <pre><code class="hljs gleam">pub fn small(attributes: List(Attribute(a)), children: List(
- Element(a),
- )) -&gt; Element(a)</code></pre>
- <div class="rendered-markdown"></div>
- </div>
-
- <div class="member">
- <div class="member-name">
- <h2 id="source">
- <a href="#source">
- source
- </a>
- </h2>
-
- <a class="member-source" alt="View Source" title="View Source" href="https://github.com/hayleigh-dot-dev/gleam-lustre/blob/v1.0.0/src/lustre/element.gleam#L449-L449">
- &lt;/&gt;
- </a>
-
- </div>
- <pre><code class="hljs gleam">pub fn source(attributes: List(Attribute(a))) -&gt; Element(a)</code></pre>
- <div class="rendered-markdown"></div>
- </div>
-
- <div class="member">
- <div class="member-name">
- <h2 id="span">
- <a href="#span">
- span
- </a>
- </h2>
-
- <a class="member-source" alt="View Source" title="View Source" href="https://github.com/hayleigh-dot-dev/gleam-lustre/blob/v1.0.0/src/lustre/element.gleam#L343-L343">
- &lt;/&gt;
- </a>
-
- </div>
- <pre><code class="hljs gleam">pub fn span(attributes: List(Attribute(a)), children: List(
- Element(a),
- )) -&gt; Element(a)</code></pre>
- <div class="rendered-markdown"></div>
- </div>
-
- <div class="member">
- <div class="member-name">
- <h2 id="stateful">
- <a href="#stateful">
- stateful
- </a>
- </h2>
-
- <a class="member-source" alt="View Source" title="View Source" href="https://github.com/hayleigh-dot-dev/gleam-lustre/blob/v1.0.0/src/lustre/element.gleam#L29-L30">
- &lt;/&gt;
- </a>
-
- </div>
- <pre><code class="hljs gleam">pub external fn stateful(
- init: state,
- render: fn(state, fn(state) -&gt; Nil) -&gt; Element(action),
-) -&gt; Element(action)</code></pre>
- <div class="rendered-markdown"><p>A stateful element is exactly what it sounds like: some element with local
-encapsulated state! The <code>render</code> function we must provide is called with the
-element’s current state as well as a function to set a new state. Whenever
-that function is called, the element is re-rendered.</p>
-<p>You might be wondering where the <code>stateless</code> version of this function is.
-Those are just regular Gleam functions that return <code>Element</code>s!</p>
-</div>
- </div>
-
- <div class="member">
- <div class="member-name">
- <h2 id="strong">
- <a href="#strong">
- strong
- </a>
- </h2>
-
- <a class="member-source" alt="View Source" title="View Source" href="https://github.com/hayleigh-dot-dev/gleam-lustre/blob/v1.0.0/src/lustre/element.gleam#L348-L348">
- &lt;/&gt;
- </a>
-
- </div>
- <pre><code class="hljs gleam">pub fn strong(attributes: List(Attribute(a)), children: List(
- Element(a),
- )) -&gt; Element(a)</code></pre>
- <div class="rendered-markdown"></div>
- </div>
-
- <div class="member">
- <div class="member-name">
- <h2 id="style">
- <a href="#style">
- style
- </a>
- </h2>
-
- <a class="member-source" alt="View Source" title="View Source" href="https://github.com/hayleigh-dot-dev/gleam-lustre/blob/v1.0.0/src/lustre/element.gleam#L82-L82">
- &lt;/&gt;
- </a>
-
- </div>
- <pre><code class="hljs gleam">pub fn style(attributes: List(Attribute(a)), css: String) -&gt; Element(
- a,
-)</code></pre>
- <div class="rendered-markdown"></div>
- </div>
-
- <div class="member">
- <div class="member-name">
- <h2 id="sub">
- <a href="#sub">
- sub
- </a>
- </h2>
-
- <a class="member-source" alt="View Source" title="View Source" href="https://github.com/hayleigh-dot-dev/gleam-lustre/blob/v1.0.0/src/lustre/element.gleam#L353-L353">
- &lt;/&gt;
- </a>
-
- </div>
- <pre><code class="hljs gleam">pub fn sub(attributes: List(Attribute(a)), children: List(
- Element(a),
- )) -&gt; Element(a)</code></pre>
- <div class="rendered-markdown"></div>
- </div>
-
- <div class="member">
- <div class="member-name">
- <h2 id="summary">
- <a href="#summary">
- summary
- </a>
- </h2>
-
- <a class="member-source" alt="View Source" title="View Source" href="https://github.com/hayleigh-dot-dev/gleam-lustre/blob/v1.0.0/src/lustre/element.gleam#L631-L631">
- &lt;/&gt;
- </a>
-
- </div>
- <pre><code class="hljs gleam">pub fn summary(attributes: List(Attribute(a)), children: List(
- Element(a),
- )) -&gt; Element(a)</code></pre>
- <div class="rendered-markdown"></div>
- </div>
-
- <div class="member">
- <div class="member-name">
- <h2 id="sup">
- <a href="#sup">
- sup
- </a>
- </h2>
-
- <a class="member-source" alt="View Source" title="View Source" href="https://github.com/hayleigh-dot-dev/gleam-lustre/blob/v1.0.0/src/lustre/element.gleam#L358-L358">
- &lt;/&gt;
- </a>
-
- </div>
- <pre><code class="hljs gleam">pub fn sup(attributes: List(Attribute(a)), children: List(
- Element(a),
- )) -&gt; Element(a)</code></pre>
- <div class="rendered-markdown"></div>
- </div>
-
- <div class="member">
- <div class="member-name">
- <h2 id="svg">
- <a href="#svg">
- svg
- </a>
- </h2>
-
- <a class="member-source" alt="View Source" title="View Source" href="https://github.com/hayleigh-dot-dev/gleam-lustre/blob/v1.0.0/src/lustre/element.gleam#L457-L457">
- &lt;/&gt;
- </a>
-
- </div>
- <pre><code class="hljs gleam">pub fn svg(attributes: List(Attribute(a)), children: List(
- Element(a),
- )) -&gt; Element(a)</code></pre>
- <div class="rendered-markdown"></div>
- </div>
-
- <div class="member">
- <div class="member-name">
- <h2 id="table">
- <a href="#table">
- table
- </a>
- </h2>
-
- <a class="member-source" alt="View Source" title="View Source" href="https://github.com/hayleigh-dot-dev/gleam-lustre/blob/v1.0.0/src/lustre/element.gleam#L510-L510">
- &lt;/&gt;
- </a>
-
- </div>
- <pre><code class="hljs gleam">pub fn table(attributes: List(Attribute(a)), children: List(
- Element(a),
- )) -&gt; Element(a)</code></pre>
- <div class="rendered-markdown"></div>
- </div>
-
- <div class="member">
- <div class="member-name">
- <h2 id="tbody">
- <a href="#tbody">
- tbody
- </a>
- </h2>
-
- <a class="member-source" alt="View Source" title="View Source" href="https://github.com/hayleigh-dot-dev/gleam-lustre/blob/v1.0.0/src/lustre/element.gleam#L515-L515">
- &lt;/&gt;
- </a>
-
- </div>
- <pre><code class="hljs gleam">pub fn tbody(attributes: List(Attribute(a)), children: List(
- Element(a),
- )) -&gt; Element(a)</code></pre>
- <div class="rendered-markdown"></div>
- </div>
-
- <div class="member">
- <div class="member-name">
- <h2 id="td">
- <a href="#td">
- td
- </a>
- </h2>
-
- <a class="member-source" alt="View Source" title="View Source" href="https://github.com/hayleigh-dot-dev/gleam-lustre/blob/v1.0.0/src/lustre/element.gleam#L520-L520">
- &lt;/&gt;
- </a>
-
- </div>
- <pre><code class="hljs gleam">pub fn td(attributes: List(Attribute(a)), children: List(
- Element(a),
- )) -&gt; Element(a)</code></pre>
- <div class="rendered-markdown"></div>
- </div>
-
- <div class="member">
- <div class="member-name">
- <h2 id="template">
- <a href="#template">
- template
- </a>
- </h2>
-
- <a class="member-source" alt="View Source" title="View Source" href="https://github.com/hayleigh-dot-dev/gleam-lustre/blob/v1.0.0/src/lustre/element.gleam#L644-L644">
- &lt;/&gt;
- </a>
-
- </div>
- <pre><code class="hljs gleam">pub fn template(attributes: List(Attribute(a)), children: List(
- Element(a),
- )) -&gt; Element(a)</code></pre>
- <div class="rendered-markdown"></div>
- </div>
-
- <div class="member">
- <div class="member-name">
- <h2 id="text">
- <a href="#text">
- text
- </a>
- </h2>
-
- <a class="member-source" alt="View Source" title="View Source" href="https://github.com/hayleigh-dot-dev/gleam-lustre/blob/v1.0.0/src/lustre/element.gleam#L40-L41">
- &lt;/&gt;
- </a>
-
- </div>
- <pre><code class="hljs gleam">pub external fn text(content: String) -&gt; Element(action)</code></pre>
- <div class="rendered-markdown"><p>Render a Gleam string as an HTML text node.</p>
-</div>
- </div>
-
- <div class="member">
- <div class="member-name">
- <h2 id="textarea">
- <a href="#textarea">
- textarea
- </a>
- </h2>
-
- <a class="member-source" alt="View Source" title="View Source" href="https://github.com/hayleigh-dot-dev/gleam-lustre/blob/v1.0.0/src/lustre/element.gleam#L613-L613">
- &lt;/&gt;
- </a>
-
- </div>
- <pre><code class="hljs gleam">pub fn textarea(attributes: List(Attribute(a))) -&gt; Element(a)</code></pre>
- <div class="rendered-markdown"></div>
- </div>
-
- <div class="member">
- <div class="member-name">
- <h2 id="tfoot">
- <a href="#tfoot">
- tfoot
- </a>
- </h2>
-
- <a class="member-source" alt="View Source" title="View Source" href="https://github.com/hayleigh-dot-dev/gleam-lustre/blob/v1.0.0/src/lustre/element.gleam#L525-L525">
- &lt;/&gt;
- </a>
-
- </div>
- <pre><code class="hljs gleam">pub fn tfoot(attributes: List(Attribute(a)), children: List(
- Element(a),
- )) -&gt; Element(a)</code></pre>
- <div class="rendered-markdown"></div>
- </div>
-
- <div class="member">
- <div class="member-name">
- <h2 id="th">
- <a href="#th">
- th
- </a>
- </h2>
-
- <a class="member-source" alt="View Source" title="View Source" href="https://github.com/hayleigh-dot-dev/gleam-lustre/blob/v1.0.0/src/lustre/element.gleam#L530-L530">
- &lt;/&gt;
- </a>
-
- </div>
- <pre><code class="hljs gleam">pub fn th(attributes: List(Attribute(a)), children: List(
- Element(a),
- )) -&gt; Element(a)</code></pre>
- <div class="rendered-markdown"></div>
- </div>
-
- <div class="member">
- <div class="member-name">
- <h2 id="thead">
- <a href="#thead">
- thead
- </a>
- </h2>
-
- <a class="member-source" alt="View Source" title="View Source" href="https://github.com/hayleigh-dot-dev/gleam-lustre/blob/v1.0.0/src/lustre/element.gleam#L535-L535">
- &lt;/&gt;
- </a>
-
- </div>
- <pre><code class="hljs gleam">pub fn thead(attributes: List(Attribute(a)), children: List(
- Element(a),
- )) -&gt; Element(a)</code></pre>
- <div class="rendered-markdown"></div>
- </div>
-
- <div class="member">
- <div class="member-name">
- <h2 id="time">
- <a href="#time">
- time
- </a>
- </h2>
-
- <a class="member-source" alt="View Source" title="View Source" href="https://github.com/hayleigh-dot-dev/gleam-lustre/blob/v1.0.0/src/lustre/element.gleam#L363-L363">
- &lt;/&gt;
- </a>
-
- </div>
- <pre><code class="hljs gleam">pub fn time(attributes: List(Attribute(a)), children: List(
- Element(a),
- )) -&gt; Element(a)</code></pre>
- <div class="rendered-markdown"></div>
- </div>
-
- <div class="member">
- <div class="member-name">
- <h2 id="title">
- <a href="#title">
- title
- </a>
- </h2>
-
- <a class="member-source" alt="View Source" title="View Source" href="https://github.com/hayleigh-dot-dev/gleam-lustre/blob/v1.0.0/src/lustre/element.gleam#L87-L87">
- &lt;/&gt;
- </a>
-
- </div>
- <pre><code class="hljs gleam">pub fn title(attributes: List(Attribute(a)), name: String) -&gt; Element(
- a,
-)</code></pre>
- <div class="rendered-markdown"></div>
- </div>
-
- <div class="member">
- <div class="member-name">
- <h2 id="tr">
- <a href="#tr">
- tr
- </a>
- </h2>
-
- <a class="member-source" alt="View Source" title="View Source" href="https://github.com/hayleigh-dot-dev/gleam-lustre/blob/v1.0.0/src/lustre/element.gleam#L540-L540">
- &lt;/&gt;
- </a>
-
- </div>
- <pre><code class="hljs gleam">pub fn tr(attributes: List(Attribute(a)), children: List(
- Element(a),
- )) -&gt; Element(a)</code></pre>
- <div class="rendered-markdown"></div>
- </div>
-
- <div class="member">
- <div class="member-name">
- <h2 id="track">
- <a href="#track">
- track
- </a>
- </h2>
-
- <a class="member-source" alt="View Source" title="View Source" href="https://github.com/hayleigh-dot-dev/gleam-lustre/blob/v1.0.0/src/lustre/element.gleam#L406-L406">
- &lt;/&gt;
- </a>
-
- </div>
- <pre><code class="hljs gleam">pub fn track(attributes: List(Attribute(a)), children: List(
- Element(a),
- )) -&gt; Element(a)</code></pre>
- <div class="rendered-markdown"></div>
- </div>
-
- <div class="member">
- <div class="member-name">
- <h2 id="u">
- <a href="#u">
- u
- </a>
- </h2>
-
- <a class="member-source" alt="View Source" title="View Source" href="https://github.com/hayleigh-dot-dev/gleam-lustre/blob/v1.0.0/src/lustre/element.gleam#L368-L368">
- &lt;/&gt;
- </a>
-
- </div>
- <pre><code class="hljs gleam">pub fn u(attributes: List(Attribute(a)), children: List(
- Element(a),
- )) -&gt; Element(a)</code></pre>
- <div class="rendered-markdown"></div>
- </div>
-
- <div class="member">
- <div class="member-name">
- <h2 id="ul">
- <a href="#ul">
- ul
- </a>
- </h2>
-
- <a class="member-source" alt="View Source" title="View Source" href="https://github.com/hayleigh-dot-dev/gleam-lustre/blob/v1.0.0/src/lustre/element.gleam#L240-L240">
- &lt;/&gt;
- </a>
-
- </div>
- <pre><code class="hljs gleam">pub fn ul(attributes: List(Attribute(a)), children: List(
- Element(a),
- )) -&gt; Element(a)</code></pre>
- <div class="rendered-markdown"></div>
- </div>
-
- <div class="member">
- <div class="member-name">
- <h2 id="var_">
- <a href="#var_">
- var_
- </a>
- </h2>
-
- <a class="member-source" alt="View Source" title="View Source" href="https://github.com/hayleigh-dot-dev/gleam-lustre/blob/v1.0.0/src/lustre/element.gleam#L373-L373">
- &lt;/&gt;
- </a>
-
- </div>
- <pre><code class="hljs gleam">pub fn var_(attributes: List(Attribute(a)), children: List(
- Element(a),
- )) -&gt; Element(a)</code></pre>
- <div class="rendered-markdown"></div>
- </div>
-
- <div class="member">
- <div class="member-name">
- <h2 id="video">
- <a href="#video">
- video
- </a>
- </h2>
-
- <a class="member-source" alt="View Source" title="View Source" href="https://github.com/hayleigh-dot-dev/gleam-lustre/blob/v1.0.0/src/lustre/element.gleam#L411-L411">
- &lt;/&gt;
- </a>
-
- </div>
- <pre><code class="hljs gleam">pub fn video(attributes: List(Attribute(a)), children: List(
- Element(a),
- )) -&gt; Element(a)</code></pre>
- <div class="rendered-markdown"></div>
- </div>
-
- <div class="member">
- <div class="member-name">
- <h2 id="wbr">
- <a href="#wbr">
- wbr
- </a>
- </h2>
-
- <a class="member-source" alt="View Source" title="View Source" href="https://github.com/hayleigh-dot-dev/gleam-lustre/blob/v1.0.0/src/lustre/element.gleam#L378-L378">
- &lt;/&gt;
- </a>
-
- </div>
- <pre><code class="hljs gleam">pub fn wbr(attributes: List(Attribute(a))) -&gt; Element(a)</code></pre>
- <div class="rendered-markdown"></div>
- </div>
-
-</section>
-
-
- </main>
- </div>
-
- <script>
- "use strict";
- const pride = () => document.body.classList.toggle("show-pride");
- </script>
- <a class="pride-button" onclick="pride()">✨</a>
- <footer class="pride" onclick="pride()">
- <div class="blue">Lucy</div>
- <div class="pink">says</div>
- <div class="white">trans</div>
- <div class="pink">rights</div>
- <div class="blue">✨</div>
- </footer>
-
- <svg class="svg-lib" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
- <defs>
- <symbol id="icon-chevrons-down" viewBox="0 0 24 24"><path d="M6.293 13.707l5 5c0.391 0.391 1.024 0.391 1.414 0l5-5c0.391-0.391 0.391-1.024 0-1.414s-1.024-0.391-1.414 0l-4.293 4.293-4.293-4.293c-0.391-0.391-1.024-0.391-1.414 0s-0.391 1.024 0 1.414zM6.293 6.707l5 5c0.391 0.391 1.024 0.391 1.414 0l5-5c0.391-0.391 0.391-1.024 0-1.414s-1.024-0.391-1.414 0l-4.293 4.293-4.293-4.293c-0.391-0.391-1.024-0.391-1.414 0s-0.391 1.024 0 1.414z"></path></symbol>
-
- <symbol id="icon-gleam-chasse" viewBox="0 0 180 22"><path d="m0.00798 15.6c0.784-1.73 0.754-2.11 1.94-3.97 1.17-0.28 2.66-0.119 3.71-0.524 1.12 0.501 1.85 0.729 3.35-0.466 0.942-0.806 2.41 0.656 3.41-0.0865 2.53-1.48 0.972-1.03 5.14-0.585 1.79-0.493 3.46-0.852 6.64-1.06 3.8-0.331 0.0108-1.06 5.16-1.16 0.874-0.835 3.43-1.34 5.49-0.963 2.17-1.41 0.488-1.58 2.64-0.426 4.36-0.0592 0.83-1.08 5.39-1.22 3.27-0.264 0.843-0.471 2.82 0.187 2.13-0.254 1.36-0.525 3.67 0.709 1.77 1.66 0.962 0.181 1.9 2.32 0.26 0.593 0.304 1.71 0.814 1.74 3.67-0.833-0.0875 0.536 4.63-0.838 0.719-0.891 4.42 0.255 3.8-0.806 2.07 0.119 2.75-0.7 6.07-0.822 1.48-1.17 2.26 0.943 3.4-0.974 0.391 0.166-1.61-0.548 3.88-0.154 2.93-1.26-1.74 0.103 4.21-0.851 3.52 8e-3 0.233-0.263 3.33-0.811 1.06-1.46-0.459-1.02 5.55-0.963 2.61-2.11 0.281-1.59 4.88-0.572 0.699 0.597 3.05 1.65 3.99 3.26 0.863-0.152 2.77 0.0659 3.41-0.626 2.24-1.04-0.0635-1.05 3.37-1.34 2.1 0.115 2.2-1.21 2.77-0.679 5.91-0.778 1.96-1.63 4.89-1.49 5.47 0.212 0.204 1.22 3.99-0.265 2.14-0.0482 0.411-0.776 2.93-0.892 2.17-0.148 0.604-0.262 2.54-1.52 0.804 0.0911 1.11 0.562 1.23 1.57 0.468 1.54 0.966 3.31 1.86 4.62 2.67-0.472-0.76-0.582 4.72-0.393 3.14 0.131 3.72-0.565 6.16-0.724 4.54-0.853 1.37-0.939 5.89-0.58 10.1-1.7 2.9-0.523 10.2-1.15 4.86-0.211 4.69-0.969 7.4-1.04 3.46-0.0576 3.13 0.58 3.83 0 3.63 0.257 2.5-0.141 7.74-0.46 2.23 1.09-0.13 0.518 5.9 0.145 1.12-0.0184 2.85-6e-3 3.83-0.186 0.748 0.694 1.01 1.4 1.58 2.33-0.112 0.687-0.306 0.992-0.454 1.51 0.0805 0.459-0.0486 0.901 0.226 1.36 0.057 0.859-1.34 1.08-2.69 0.127-3.53-0.828-1.21-0.849-7.23 0.974-5.16-0.286-1.66-0.354-7.64 0.321-1.48 0.961-4.73 0.287-6.76 0.551-4.01 0.178-1.95-0.517-3.33 0.624-5.29 1.8-3.12 1.47-5.66 0.941-5.26 0.0339-2.08-0.772-4.75 0.424-6.08 2.5-3.35 1.33-7.54 2.02-6.37-0.269-3.02 1.17-6.76 0.468-0.975 0.1-2.43 0.343-3.46 0.786-1.5-0.748-1.92 0.689-3.38 0.363-0.83-0.0851-2.1-0.343-3.5-0.0239-1.28 0.81-3.87-0.666-5.67-2.17-0.131-0.478-0.106-0.902-0.403-1.69-1.63 0.392-0.668 0.395-4.29 1.14-2.71 0.289 0.131 0.495-3.22 0.964-0.638 0.331-0.998 1.17-3.15 1.04-3.09 0.469-4.48 2.1-3.66 0.577-2.95 0.347-2.9 1.82-5.86 1.85-3.3 0.815 0.192 0.978-5.2 1.66-2.81 2.66 0.0387 0.735-4.21 1.29-1.43-0.911-2.24-2.29-3.89-3.63-0.363-0.679 0.258-1.84-0.375-2.28-5.28 1.39 0.176-0.925-5.08 1.01-10.6 1.42-4.55 1.88-9.18 1.66-6.73 1.35-4.11 1.99-10.2 2.31-4.53 1.09-1.63-0.398-5.52 1.02-3.15 0.522-2.41-0.0562-4.51 1.04-0.76 0.379-0.865-0.416-2.75-0.0493-3.5-3.45-2.85-0.892-2.93-6.14-4.41 0.837 0.477 0.703-6.18 1.2-4.59 0.0171-1.93 1.02-7.41 1.04-0.815 0.505-2.55 0.453-4.13 0.791-5 0.71-5.97 2-8.46 1.61-1.39 1.09-2.58 1.53-4.22 2.62-0.919 0.756-3.45 0.596-4.48 0.492-0.525-0.406-0.751-1.2-1.82-3.28 0.149-0.902-0.325-1.44-0.248-2.8z"></path></symbol>
-
- <symbol id="icon-gleam-chasse-2" viewBox="0 0 108 22"><path d="m0.585 18.5c-0.578-1.54-0.65-1.33-0.543-2.64 0.271-1.19 0.153-1.06 1.27-1.71 0.993 0.124 1.94-0.662 2.94-0.869 2.48 0.119 0.772 0.443 2.99-0.366 1.66-1.91 0.764 0.783 3.36-0.992 2.37 0.314 4.26-1.5 5.16-1.26 0.387 0.627 0.202 0.412 2.52-0.776 4.89-1.57 3.91-1.47 5-0.972 2.05-1.09-0.0615-0.49 2.79-1.2 4.47-0.514 3.62 0.127 4.18-1.19 4.3-0.613 2.56-1.49 4.09-0.847 1.8-1.51 1.01 0.157 2.64-0.722 4.91-1.28 1.39 0.553 4.43-0.843 1.28-0.387 2.72-0.427 4.05-0.748 0.332-0.942 1.93 0.121 2.75-0.817 3 0.294-0.74-0.514 3.35-0.219 2.34-1.12 0.474 0.505 3.01-1.33 0.779-0.552 0.958 0.919 2.76-0.331 1.26-0.027 0.231 0.642 1.71 0.0417 1.08-0.234-0.332-0.25 1.4-0.727 1.07 0.281 0.347 0.858 2.47 1.86 1.02 2.09-0.0407 0.967 0.473 3.88-0.19 1.31 0.095 0.629-1.34 1.44-0.351 0.381-0.494 0.132-0.0505 0.773 5.7-0.865 2.24-0.0704 4.31-0.722 1.39-0.602 3.12 0.189 3.85-0.396 5.52-1.74 1.2 0.802 5.56-0.972 5.77-0.78 5.5-0.0267 5.87-0.622 1.29-0.593 0.466-0.184 2.73-0.0872 0.586-0.907-0.0863-0.919 1.23-0.644 0.471-1.23 3.03 0.227 3.86-0.234 1.2 0.319 2.27 0.00513 2.55 0.264 0.378 0.998 1.18 1.79 1.78 2.57-0.109 0.798 0.472 1.14 0.254 2.4 2.25-0.43 1.69-0.298 4.1-0.338 2.35-1.11 0.595 0.263 3.12-0.813 1.5-0.153 2.17 0.044 3.29-0.328 1.39-0.699 0.859-0.135 1.88-0.671 1.35 0.779 0.389 0.64 1.39 1.7 0.132 1.37 0.34 1.03 0.117 2.21-0.619 0.327-0.757 0.0587-1.28 0.739-2.68 0.688-0.161 0.395-2.5 0.734-1.97-0.203-0.915-0.0737-3.21 0.454-1.76 1.41-0.982 1.12-2.36 1.43-1.65 0.974 0.119-0.784-2.27 0.501-0.883 0.361-1.2 0.471-1.88 0.827-2.84 1.1-1.72-0.0496-3.18 1.37-2.38 0.689-1.82 0.324-2.65 1.27-3.52 0.658-2.07-0.49-3.27-0.419-1.85-2.19 0.14-0.414-1.87-2.62-0.551-2.06-0.527-0.977 0.131-2.63 0.366-1.44 0.369-0.627 1.15-1.88-1.79 0.433-1.64 0.163-5.6 0.781-3.59 1.82-0.592-0.17-4.29 0.729-0.705 0.598-0.369 0.995-1.59-0.0892-0.655 0.638-0.104 0.42-2.9 0.621-3.6 1.1-2.83 1.29-4.17 0.742 0.0193-1.05-1.8 1.24-2.18 0.454-2.51 0.61-1.36 0.795-3.64 0.594-0.211 0.804-4.14-0.139-5.09 0.879-3.61 0.381 0.127-0.296-3.51-1.03-1.44-1.87-1.14-0.196-1.22-3.01 0.14-1.2-0.505-0.638-0.0251-2.39-2.64 0.466-1.25-0.372-3.55 0.344-4.12 0.781-0.26 1.32-4.36 1.02-1.78 0.235 0.327 0.568-3.16 0.555-1.36 0.861-0.709 0.778-2.01 0.649-4.07 1.1-0.948 0.904-4.54 1.17-1.27 0.686-4.67 0.341-4.6 1.04-2.47 0.466-0.707 1.46-3.49 0.582-2.93 1.39-0.739 1.31-4.38 1.56-3.21 1.23-0.735 1.93-3.87 1.14-2.82 1.91-0.676 1.23-4.04 1.82-1.97 1.47 0.312 0.745-2.95 0.812-3.51 1.54 0.0965-0.473-4.27 1.39-2.68 0.382-1.75 0.682-3.32-0.585-1.65-1.61 0.361-0.307-1.37-2.31z"></path></symbol>
-
- <symbol id="icon-menu" viewBox="0 0 24 24"><path d="M3 13h18c0.552 0 1-0.448 1-1s-0.448-1-1-1h-18c-0.552 0-1 0.448-1 1s0.448 1 1 1zM3 7h18c0.552 0 1-0.448 1-1s-0.448-1-1-1h-18c-0.552 0-1 0.448-1 1s0.448 1 1 1zM3 19h18c0.552 0 1-0.448 1-1s-0.448-1-1-1h-18c-0.552 0-1 0.448-1 1s0.448 1 1 1z"></path></symbol>
-
- <symbol id="icon-moon" viewBox="0 0 24 24"><path d="M21.996 12.882c0.022-0.233-0.038-0.476-0.188-0.681-0.325-0.446-0.951-0.544-1.397-0.219-0.95 0.693-2.060 1.086-3.188 1.162-1.368 0.092-2.765-0.283-3.95-1.158-1.333-0.985-2.139-2.415-2.367-3.935s0.124-3.124 1.109-4.456c0.142-0.191 0.216-0.435 0.191-0.691-0.053-0.55-0.542-0.952-1.092-0.898-2.258 0.22-4.314 1.18-5.895 2.651-1.736 1.615-2.902 3.847-3.137 6.386-0.254 2.749 0.631 5.343 2.266 7.311s4.022 3.313 6.772 3.567 5.343-0.631 7.311-2.266 3.313-4.022 3.567-6.772zM19.567 14.674c-0.49 1.363-1.335 2.543-2.416 3.441-1.576 1.309-3.648 2.016-5.848 1.813s-4.108-1.278-5.417-2.854-2.016-3.648-1.813-5.848c0.187-2.032 1.117-3.814 2.507-5.106 0.782-0.728 1.71-1.3 2.731-1.672-0.456 1.264-0.577 2.606-0.384 3.899 0.303 2.023 1.38 3.934 3.156 5.247 1.578 1.167 3.448 1.668 5.272 1.545 0.752-0.050 1.496-0.207 2.21-0.465z"></path></symbol>
-
- <symbol id="icon-more-horizontal" viewBox="0 0 24 24"><path d="M14 12c0-0.552-0.225-1.053-0.586-1.414s-0.862-0.586-1.414-0.586-1.053 0.225-1.414 0.586-0.586 0.862-0.586 1.414 0.225 1.053 0.586 1.414 0.862 0.586 1.414 0.586 1.053-0.225 1.414-0.586 0.586-0.862 0.586-1.414zM21 12c0-0.552-0.225-1.053-0.586-1.414s-0.862-0.586-1.414-0.586-1.053 0.225-1.414 0.586-0.586 0.862-0.586 1.414 0.225 1.053 0.586 1.414 0.862 0.586 1.414 0.586 1.053-0.225 1.414-0.586 0.586-0.862 0.586-1.414zM7 12c0-0.552-0.225-1.053-0.586-1.414s-0.862-0.586-1.414-0.586-1.053 0.225-1.414 0.586-0.586 0.862-0.586 1.414 0.225 1.053 0.586 1.414 0.862 0.586 1.414 0.586 1.053-0.225 1.414-0.586 0.586-0.862 0.586-1.414z"></path></symbol>
-
- <symbol id="icon-more-vertical" viewBox="0 0 24 24"><path d="M14 12c0-0.552-0.225-1.053-0.586-1.414s-0.862-0.586-1.414-0.586-1.053 0.225-1.414 0.586-0.586 0.862-0.586 1.414 0.225 1.053 0.586 1.414 0.862 0.586 1.414 0.586 1.053-0.225 1.414-0.586 0.586-0.862 0.586-1.414zM14 5c0-0.552-0.225-1.053-0.586-1.414s-0.862-0.586-1.414-0.586-1.053 0.225-1.414 0.586-0.586 0.862-0.586 1.414 0.225 1.053 0.586 1.414 0.862 0.586 1.414 0.586 1.053-0.225 1.414-0.586 0.586-0.862 0.586-1.414zM14 19c0-0.552-0.225-1.053-0.586-1.414s-0.862-0.586-1.414-0.586-1.053 0.225-1.414 0.586-0.586 0.862-0.586 1.414 0.225 1.053 0.586 1.414 0.862 0.586 1.414 0.586 1.053-0.225 1.414-0.586 0.586-0.862 0.586-1.414z"></path></symbol>
-
- <symbol id="icon-star" viewBox="0 0 24 24"><path d="M12.897 1.557c-0.092-0.189-0.248-0.352-0.454-0.454-0.495-0.244-1.095-0.041-1.339 0.454l-2.858 5.789-6.391 0.935c-0.208 0.029-0.411 0.127-0.571 0.291-0.386 0.396-0.377 1.029 0.018 1.414l4.623 4.503-1.091 6.362c-0.036 0.207-0.006 0.431 0.101 0.634 0.257 0.489 0.862 0.677 1.351 0.42l5.714-3.005 5.715 3.005c0.186 0.099 0.408 0.139 0.634 0.101 0.544-0.093 0.91-0.61 0.817-1.155l-1.091-6.362 4.623-4.503c0.151-0.146 0.259-0.344 0.292-0.572 0.080-0.546-0.298-1.054-0.845-1.134l-6.39-0.934zM12 4.259l2.193 4.444c0.151 0.305 0.436 0.499 0.752 0.547l4.906 0.717-3.549 3.457c-0.244 0.238-0.341 0.569-0.288 0.885l0.837 4.883-4.386-2.307c-0.301-0.158-0.647-0.148-0.931 0l-4.386 2.307 0.837-4.883c0.058-0.336-0.059-0.661-0.288-0.885l-3.549-3.457 4.907-0.718c0.336-0.049 0.609-0.26 0.752-0.546z"></path></symbol>
-
- <symbol id="icon-sun" viewBox="0 0 24 24"><path d="M18 12c0-1.657-0.673-3.158-1.757-4.243s-2.586-1.757-4.243-1.757-3.158 0.673-4.243 1.757-1.757 2.586-1.757 4.243 0.673 3.158 1.757 4.243 2.586 1.757 4.243 1.757 3.158-0.673 4.243-1.757 1.757-2.586 1.757-4.243zM16 12c0 1.105-0.447 2.103-1.172 2.828s-1.723 1.172-2.828 1.172-2.103-0.447-2.828-1.172-1.172-1.723-1.172-2.828 0.447-2.103 1.172-2.828 1.723-1.172 2.828-1.172 2.103 0.447 2.828 1.172 1.172 1.723 1.172 2.828zM11 1v2c0 0.552 0.448 1 1 1s1-0.448 1-1v-2c0-0.552-0.448-1-1-1s-1 0.448-1 1zM11 21v2c0 0.552 0.448 1 1 1s1-0.448 1-1v-2c0-0.552-0.448-1-1-1s-1 0.448-1 1zM3.513 4.927l1.42 1.42c0.391 0.391 1.024 0.391 1.414 0s0.391-1.024 0-1.414l-1.42-1.42c-0.391-0.391-1.024-0.391-1.414 0s-0.391 1.024 0 1.414zM17.653 19.067l1.42 1.42c0.391 0.391 1.024 0.391 1.414 0s0.391-1.024 0-1.414l-1.42-1.42c-0.391-0.391-1.024-0.391-1.414 0s-0.391 1.024 0 1.414zM1 13h2c0.552 0 1-0.448 1-1s-0.448-1-1-1h-2c-0.552 0-1 0.448-1 1s0.448 1 1 1zM21 13h2c0.552 0 1-0.448 1-1s-0.448-1-1-1h-2c-0.552 0-1 0.448-1 1s0.448 1 1 1zM4.927 20.487l1.42-1.42c0.391-0.391 0.391-1.024 0-1.414s-1.024-0.391-1.414 0l-1.42 1.42c-0.391 0.391-0.391 1.024 0 1.414s1.024 0.391 1.414 0zM19.067 6.347l1.42-1.42c0.391-0.391 0.391-1.024 0-1.414s-1.024-0.391-1.414 0l-1.42 1.42c-0.391 0.391-0.391 1.024 0 1.414s1.024 0.391 1.414 0z"></path></symbol>
-
- <symbol id="icon-toggle-left" viewBox="0 0 24 24"><path d="M8 4c-2.209 0-4.21 0.897-5.657 2.343s-2.343 3.448-2.343 5.657 0.897 4.21 2.343 5.657 3.448 2.343 5.657 2.343h8c2.209 0 4.21-0.897 5.657-2.343s2.343-3.448 2.343-5.657-0.897-4.21-2.343-5.657-3.448-2.343-5.657-2.343zM8 6h8c1.657 0 3.156 0.67 4.243 1.757s1.757 2.586 1.757 4.243-0.67 3.156-1.757 4.243-2.586 1.757-4.243 1.757h-8c-1.657 0-3.156-0.67-4.243-1.757s-1.757-2.586-1.757-4.243 0.67-3.156 1.757-4.243 2.586-1.757 4.243-1.757zM12 12c0-1.104-0.449-2.106-1.172-2.828s-1.724-1.172-2.828-1.172-2.106 0.449-2.828 1.172-1.172 1.724-1.172 2.828 0.449 2.106 1.172 2.828 1.724 1.172 2.828 1.172 2.106-0.449 2.828-1.172 1.172-1.724 1.172-2.828zM10 12c0 0.553-0.223 1.051-0.586 1.414s-0.861 0.586-1.414 0.586-1.051-0.223-1.414-0.586-0.586-0.861-0.586-1.414 0.223-1.051 0.586-1.414 0.861-0.586 1.414-0.586 1.051 0.223 1.414 0.586 0.586 0.861 0.586 1.414z"></path></symbol>
-
- <symbol id="icon-toggle-right" viewBox="0 0 24 24"><path d="M8 4c-2.209 0-4.21 0.897-5.657 2.343s-2.343 3.448-2.343 5.657 0.897 4.21 2.343 5.657 3.448 2.343 5.657 2.343h8c2.209 0 4.21-0.897 5.657-2.343s2.343-3.448 2.343-5.657-0.897-4.21-2.343-5.657-3.448-2.343-5.657-2.343zM8 6h8c1.657 0 3.156 0.67 4.243 1.757s1.757 2.586 1.757 4.243-0.67 3.156-1.757 4.243-2.586 1.757-4.243 1.757h-8c-1.657 0-3.156-0.67-4.243-1.757s-1.757-2.586-1.757-4.243 0.67-3.156 1.757-4.243 2.586-1.757 4.243-1.757zM20 12c0-1.104-0.449-2.106-1.172-2.828s-1.724-1.172-2.828-1.172-2.106 0.449-2.828 1.172-1.172 1.724-1.172 2.828 0.449 2.106 1.172 2.828 1.724 1.172 2.828 1.172 2.106-0.449 2.828-1.172 1.172-1.724 1.172-2.828zM18 12c0 0.553-0.223 1.051-0.586 1.414s-0.861 0.586-1.414 0.586-1.051-0.223-1.414-0.586-0.586-0.861-0.586-1.414 0.223-1.051 0.586-1.414 0.861-0.586 1.414-0.586 1.051 0.223 1.414 0.586 0.586 0.861 0.586 1.414z"></path></symbol>
-
- <symbol id="icon-x-circle" viewBox="0 0 24 24"><path d="M23 12c0-3.037-1.232-5.789-3.222-7.778s-4.741-3.222-7.778-3.222-5.789 1.232-7.778 3.222-3.222 4.741-3.222 7.778 1.232 5.789 3.222 7.778 4.741 3.222 7.778 3.222 5.789-1.232 7.778-3.222 3.222-4.741 3.222-7.778zM21 12c0 2.486-1.006 4.734-2.636 6.364s-3.878 2.636-6.364 2.636-4.734-1.006-6.364-2.636-2.636-3.878-2.636-6.364 1.006-4.734 2.636-6.364 3.878-2.636 6.364-2.636 4.734 1.006 6.364 2.636 2.636 3.878 2.636 6.364zM8.293 9.707l2.293 2.293-2.293 2.293c-0.391 0.391-0.391 1.024 0 1.414s1.024 0.391 1.414 0l2.293-2.293 2.293 2.293c0.391 0.391 1.024 0.391 1.414 0s0.391-1.024 0-1.414l-2.293-2.293 2.293-2.293c0.391-0.391 0.391-1.024 0-1.414s-1.024-0.391-1.414 0l-2.293 2.293-2.293-2.293c-0.391-0.391-1.024-0.391-1.414 0s-0.391 1.024 0 1.414z"></path></symbol>
- </defs>
- </svg>
-
- <script src="https://unpkg.com/@highlightjs/cdn-assets@10.5.0/highlight.min.js"></script>
-
- <script src="https://unpkg.com/@highlightjs/cdn-assets@10.5.0/languages/erlang.min.js"></script>
-
- <script src="https://unpkg.com/@highlightjs/cdn-assets@10.5.0/languages/elixir.min.js"></script>
-
- <script src="../highlightjs-gleam.js?v=0.21.0"></script>
-
- <script src="../gleam.js?v=0.21.0"></script>
- </body>
-</html> \ No newline at end of file
diff --git a/docs/lustre/event.html b/docs/lustre/event.html
deleted file mode 100644
index 66ba645..0000000
--- a/docs/lustre/event.html
+++ /dev/null
@@ -1,661 +0,0 @@
-<!DOCTYPE html>
-<html>
- <head>
- <meta charset="utf-8" />
- <meta name="viewport" content="width=device-width, initial-scale=1">
- <title>lustre/event - lustre</title>
- <link rel="stylesheet" href="../index.css?v=0.21.0" type="text/css" />
- <!-- The docs_config.js file is provided by HexDocs and shared
- between multiple versions of the same package. -->
- <script src="../docs_config.js"></script>
- <link id="syntax-theme" rel="stylesheet" href="https://unpkg.com/@highlightjs/cdn-assets@10.5.0/styles/atom-one-light.min.css">
- </head>
- <body class="prewrap-off theme-light drawer-closed">
- <script>
- "use strict";
-
- /* gleamConfig format:
- * // object with one or more options
- * {option: {
- * // array of values
- * values: [{
- * // this value
- * value: "off",
- * // optional button label
- * label: "default",
- * // optional array of icons
- * icons: ["star", "toggle-left", ...],
- * }, ...],
- *
- * // value update function
- * update: () => {...},
- *
- * // optional callback function
- * callback: (value) => {...},
- * }, ...};
- */
- const gleamConfig = {
- theme: {
- values: (() => {
- const dark = {
- value: "dark",
- label: "Switch to light mode",
- icons: ["moon"],
- };
- const light = {
- value: "light",
- label: "Switch to dark mode",
- icons: ["sun"],
- };
- return (
- window.matchMedia("(prefers-color-scheme: dark)").matches
- ? [dark, light]
- : [light, dark]
- ).map((item, index) => {
- item.icons.push(`toggle-${0 === index ? "left" : "right"}`);
- return item;
- });
- })(),
-
- update: () => "light" === Gleam.getProperty("theme") ? "dark" : "light",
-
- callback: function(value) {
- const syntaxThemes = {
- dark: "atom-one-dark",
- light: "atom-one-light",
- };
- const syntaxTheme = document.querySelector("#syntax-theme");
- const hrefParts = syntaxTheme.href.match(
- /^(.*?)([^/\\#?]+?)((?:\.min)?\.css.*)$/i
- );
- if (syntaxThemes[value] !== hrefParts[2]) {
- hrefParts[2] = syntaxThemes[value];
- hrefParts.shift();
- syntaxTheme.href = hrefParts.join("");
- }
- },
- },
- prewrap: {
- values: [
- {
- value: "off",
- label: "Switch to line-wrapped snippets",
- icons: ["more-horizontal", "toggle-left"],
- },
- {
- value: "on",
- label: "Switch to non-wrapped snippets",
- icons: ["more-vertical", "toggle-right"],
- },
- ],
-
- update: () => "off" === Gleam.getProperty("prewrap") ? "on" : "off",
- },
- };
- </script>
-
- <script>
- "use strict";
-
- /* Initialise options before any content loads */
- void function() {
- for (const property in gleamConfig) {
- const name = `Gleam.${property}`;
-
- let value;
-
- try {
- value = localStorage.getItem(name);
- if (value.startsWith('"') && value.endsWith('"')) {
- localStorage.setItem(name, value.slice(1, value.length - 1));
- }
- }
- catch (_error) {}
-
- const defaultValue = gleamConfig[property].values[0].value;
- try {
- value = localStorage.getItem(name);
- }
- catch(_error) {}
- if (-1 < [null, undefined].indexOf(value)) {
- value = defaultValue;
- }
- const bodyClasses = document.body.classList;
- bodyClasses.remove(`${property}-${defaultValue}`);
- bodyClasses.add(`${property}-${value}`);
- try {
- gleamConfig[property].callback(value);
- }
- catch(_error) {}
- }
- }();
- </script>
-
- <header class="page-header">
- <button class="sidebar-toggle" tabindex="0">
- <svg class="label label-closed icon icon-menu" alt="Open Menu" title="Open Menu"><use xlink:href="#icon-menu"></use></svg>
- <svg class="label label-open icon icon-x-circle" alt="Close Menu" title="Close Menu"><use xlink:href="#icon-x-circle"></use></svg>
- </button>
-
- <h2>
- <a href="../">lustre</a>
- <span id="project-version">
- <span> - v1.0.0 </span>
- </span>
- <script>
- "use strict";
-
- if ("undefined" !== typeof versionNodes) {
- const currentVersion = "v1.0.0";
- if (! versionNodes.find(element => element.version === currentVersion)) {
- versionNodes.unshift({ version: currentVersion, url: "#" });
- }
- document.querySelector("#project-version").innerHTML =
- versionNodes.reduce(
- (acc, element) => {
- const status =
- currentVersion === element.version ? "selected disabled" : "";
- return `
- ${acc}
- <option value="${element.url}" ${status}>
- ${element.version}
- </option>
- `;
- },
- `
- <form autocomplete="off">
- <select onchange="window.location.href = this.value">
- `
- ) + `
- </select>
- <svg class="icon icon-chevrons-down"><use xlink:href="#icon-chevrons-down"></use></svg>
- </form>
- `;
- }
- </script>
- </h2>
- </header>
-
- <div class="page">
- <nav class="sidebar">
- <button class="sidebar-toggle" tabindex="1">
- <svg class="label icon icon-x-circle" alt="Close Menu" title="Close Menu"><use xlink:href="#icon-x-circle"></use></svg>
- </button>
-
-
- <h2>Pages</h2>
- <ul>
-
- <li><a href="../index.html">README</a></li>
-
- </ul>
-
-
-
- <h2>Links</h2>
- <ul>
-
- <li><a href="https://hayleigh-dot-dev.github.io/gleam-lustre">Website</a></li>
-
- <li><a href="https://github.com/hayleigh-dot-dev/gleam-lustre">Repository</a></li>
-
- </ul>
-
-
- <h2>Modules</h2>
- <ul>
-
- <li><a href="../lustre.html">lustre</a></li>
-
- <li><a href="../lustre/attribute.html">lustre/attribute</a></li>
-
- <li><a href="../lustre/cmd.html">lustre/cmd</a></li>
-
- <li><a href="../lustre/element.html">lustre/element</a></li>
-
- <li><a href="../lustre/event.html">lustre/event</a></li>
-
- </ul>
-
-
-
-
-
-
-
-
-
-<h2>Functions</h2>
-<ul>
-
- <li><a href="#dispatch">dispatch</a></li>
-
- <li><a href="#on">on</a></li>
-
- <li><a href="#on_blur">on_blur</a></li>
-
- <li><a href="#on_check">on_check</a></li>
-
- <li><a href="#on_click">on_click</a></li>
-
- <li><a href="#on_focus">on_focus</a></li>
-
- <li><a href="#on_input">on_input</a></li>
-
- <li><a href="#on_keydown">on_keydown</a></li>
-
- <li><a href="#on_keypress">on_keypress</a></li>
-
- <li><a href="#on_keyup">on_keyup</a></li>
-
- <li><a href="#on_mouse_down">on_mouse_down</a></li>
-
- <li><a href="#on_mouse_enter">on_mouse_enter</a></li>
-
- <li><a href="#on_mouse_leave">on_mouse_leave</a></li>
-
- <li><a href="#on_mouse_out">on_mouse_out</a></li>
-
- <li><a href="#on_mouse_over">on_mouse_over</a></li>
-
- <li><a href="#on_mouse_up">on_mouse_up</a></li>
-
- <li><a href="#on_submit">on_submit</a></li>
-
-</ul>
-
-
- </nav>
-
- <main class="content">
-
-<h1 id="module-name" class="module-name">
- <a href="#module-name">lustre/event</a>
- <svg class="icon icon-gleam-chasse"><use xlink:href="#icon-gleam-chasse"></use></svg>
-</h1>
-
-
-
-
-
-
-
-
-
-<section class="module-members">
- <h1 id="module-functions" class="module-member-kind">
- <a href="#module-functions">Functions</a>
- <svg class="icon icon-gleam-chasse"><use xlink:href="#icon-gleam-chasse"></use></svg>
- </h1>
-
- <div class="member">
- <div class="member-name">
- <h2 id="dispatch">
- <a href="#dispatch">
- dispatch
- </a>
- </h2>
-
- <a class="member-source" alt="View Source" title="View Source" href="https://github.com/hayleigh-dot-dev/gleam-lustre/blob/v1.0.0/src/lustre/event.gleam#L16-L16">
- &lt;/&gt;
- </a>
-
- </div>
- <pre><code class="hljs gleam">pub fn dispatch(action: a) -&gt; fn(fn(a) -&gt; Nil) -&gt; Nil</code></pre>
- <div class="rendered-markdown"></div>
- </div>
-
- <div class="member">
- <div class="member-name">
- <h2 id="on">
- <a href="#on">
- on
- </a>
- </h2>
-
- <a class="member-source" alt="View Source" title="View Source" href="https://github.com/hayleigh-dot-dev/gleam-lustre/blob/v1.0.0/src/lustre/event.gleam#L11-L11">
- &lt;/&gt;
- </a>
-
- </div>
- <pre><code class="hljs gleam">pub fn on(name: String, handler: fn(Dynamic, fn(a) -&gt; Nil) -&gt; Nil) -&gt; Attribute(
- a,
-)</code></pre>
- <div class="rendered-markdown"></div>
- </div>
-
- <div class="member">
- <div class="member-name">
- <h2 id="on_blur">
- <a href="#on_blur">
- on_blur
- </a>
- </h2>
-
- <a class="member-source" alt="View Source" title="View Source" href="https://github.com/hayleigh-dot-dev/gleam-lustre/blob/v1.0.0/src/lustre/event.gleam#L114-L114">
- &lt;/&gt;
- </a>
-
- </div>
- <pre><code class="hljs gleam">pub fn on_blur(handler: fn(fn(a) -&gt; Nil) -&gt; Nil) -&gt; Attribute(a)</code></pre>
- <div class="rendered-markdown"></div>
- </div>
-
- <div class="member">
- <div class="member-name">
- <h2 id="on_check">
- <a href="#on_check">
- on_check
- </a>
- </h2>
-
- <a class="member-source" alt="View Source" title="View Source" href="https://github.com/hayleigh-dot-dev/gleam-lustre/blob/v1.0.0/src/lustre/event.gleam#L96-L96">
- &lt;/&gt;
- </a>
-
- </div>
- <pre><code class="hljs gleam">pub fn on_check(handler: fn(Bool, fn(a) -&gt; Nil) -&gt; Nil) -&gt; Attribute(
- a,
-)</code></pre>
- <div class="rendered-markdown"></div>
- </div>
-
- <div class="member">
- <div class="member-name">
- <h2 id="on_click">
- <a href="#on_click">
- on_click
- </a>
- </h2>
-
- <a class="member-source" alt="View Source" title="View Source" href="https://github.com/hayleigh-dot-dev/gleam-lustre/blob/v1.0.0/src/lustre/event.gleam#L25-L25">
- &lt;/&gt;
- </a>
-
- </div>
- <pre><code class="hljs gleam">pub fn on_click(handler: fn(fn(a) -&gt; Nil) -&gt; Nil) -&gt; Attribute(a)</code></pre>
- <div class="rendered-markdown"></div>
- </div>
-
- <div class="member">
- <div class="member-name">
- <h2 id="on_focus">
- <a href="#on_focus">
- on_focus
- </a>
- </h2>
-
- <a class="member-source" alt="View Source" title="View Source" href="https://github.com/hayleigh-dot-dev/gleam-lustre/blob/v1.0.0/src/lustre/event.gleam#L110-L110">
- &lt;/&gt;
- </a>
-
- </div>
- <pre><code class="hljs gleam">pub fn on_focus(handler: fn(fn(a) -&gt; Nil) -&gt; Nil) -&gt; Attribute(a)</code></pre>
- <div class="rendered-markdown"></div>
- </div>
-
- <div class="member">
- <div class="member-name">
- <h2 id="on_input">
- <a href="#on_input">
- on_input
- </a>
- </h2>
-
- <a class="member-source" alt="View Source" title="View Source" href="https://github.com/hayleigh-dot-dev/gleam-lustre/blob/v1.0.0/src/lustre/event.gleam#L88-L88">
- &lt;/&gt;
- </a>
-
- </div>
- <pre><code class="hljs gleam">pub fn on_input(handler: fn(String, fn(a) -&gt; Nil) -&gt; Nil) -&gt; Attribute(
- a,
-)</code></pre>
- <div class="rendered-markdown"></div>
- </div>
-
- <div class="member">
- <div class="member-name">
- <h2 id="on_keydown">
- <a href="#on_keydown">
- on_keydown
- </a>
- </h2>
-
- <a class="member-source" alt="View Source" title="View Source" href="https://github.com/hayleigh-dot-dev/gleam-lustre/blob/v1.0.0/src/lustre/event.gleam#L69-L69">
- &lt;/&gt;
- </a>
-
- </div>
- <pre><code class="hljs gleam">pub fn on_keydown(handler: fn(String, fn(a) -&gt; Nil) -&gt; Nil) -&gt; Attribute(
- a,
-)</code></pre>
- <div class="rendered-markdown"></div>
- </div>
-
- <div class="member">
- <div class="member-name">
- <h2 id="on_keypress">
- <a href="#on_keypress">
- on_keypress
- </a>
- </h2>
-
- <a class="member-source" alt="View Source" title="View Source" href="https://github.com/hayleigh-dot-dev/gleam-lustre/blob/v1.0.0/src/lustre/event.gleam#L61-L61">
- &lt;/&gt;
- </a>
-
- </div>
- <pre><code class="hljs gleam">pub fn on_keypress(handler: fn(String, fn(a) -&gt; Nil) -&gt; Nil) -&gt; Attribute(
- a,
-)</code></pre>
- <div class="rendered-markdown"></div>
- </div>
-
- <div class="member">
- <div class="member-name">
- <h2 id="on_keyup">
- <a href="#on_keyup">
- on_keyup
- </a>
- </h2>
-
- <a class="member-source" alt="View Source" title="View Source" href="https://github.com/hayleigh-dot-dev/gleam-lustre/blob/v1.0.0/src/lustre/event.gleam#L77-L77">
- &lt;/&gt;
- </a>
-
- </div>
- <pre><code class="hljs gleam">pub fn on_keyup(handler: fn(String, fn(a) -&gt; Nil) -&gt; Nil) -&gt; Attribute(
- a,
-)</code></pre>
- <div class="rendered-markdown"></div>
- </div>
-
- <div class="member">
- <div class="member-name">
- <h2 id="on_mouse_down">
- <a href="#on_mouse_down">
- on_mouse_down
- </a>
- </h2>
-
- <a class="member-source" alt="View Source" title="View Source" href="https://github.com/hayleigh-dot-dev/gleam-lustre/blob/v1.0.0/src/lustre/event.gleam#L30-L30">
- &lt;/&gt;
- </a>
-
- </div>
- <pre><code class="hljs gleam">pub fn on_mouse_down(handler: fn(fn(a) -&gt; Nil) -&gt; Nil) -&gt; Attribute(
- a,
-)</code></pre>
- <div class="rendered-markdown"></div>
- </div>
-
- <div class="member">
- <div class="member-name">
- <h2 id="on_mouse_enter">
- <a href="#on_mouse_enter">
- on_mouse_enter
- </a>
- </h2>
-
- <a class="member-source" alt="View Source" title="View Source" href="https://github.com/hayleigh-dot-dev/gleam-lustre/blob/v1.0.0/src/lustre/event.gleam#L40-L40">
- &lt;/&gt;
- </a>
-
- </div>
- <pre><code class="hljs gleam">pub fn on_mouse_enter(handler: fn(fn(a) -&gt; Nil) -&gt; Nil) -&gt; Attribute(
- a,
-)</code></pre>
- <div class="rendered-markdown"></div>
- </div>
-
- <div class="member">
- <div class="member-name">
- <h2 id="on_mouse_leave">
- <a href="#on_mouse_leave">
- on_mouse_leave
- </a>
- </h2>
-
- <a class="member-source" alt="View Source" title="View Source" href="https://github.com/hayleigh-dot-dev/gleam-lustre/blob/v1.0.0/src/lustre/event.gleam#L45-L45">
- &lt;/&gt;
- </a>
-
- </div>
- <pre><code class="hljs gleam">pub fn on_mouse_leave(handler: fn(fn(a) -&gt; Nil) -&gt; Nil) -&gt; Attribute(
- a,
-)</code></pre>
- <div class="rendered-markdown"></div>
- </div>
-
- <div class="member">
- <div class="member-name">
- <h2 id="on_mouse_out">
- <a href="#on_mouse_out">
- on_mouse_out
- </a>
- </h2>
-
- <a class="member-source" alt="View Source" title="View Source" href="https://github.com/hayleigh-dot-dev/gleam-lustre/blob/v1.0.0/src/lustre/event.gleam#L55-L55">
- &lt;/&gt;
- </a>
-
- </div>
- <pre><code class="hljs gleam">pub fn on_mouse_out(handler: fn(fn(a) -&gt; Nil) -&gt; Nil) -&gt; Attribute(
- a,
-)</code></pre>
- <div class="rendered-markdown"></div>
- </div>
-
- <div class="member">
- <div class="member-name">
- <h2 id="on_mouse_over">
- <a href="#on_mouse_over">
- on_mouse_over
- </a>
- </h2>
-
- <a class="member-source" alt="View Source" title="View Source" href="https://github.com/hayleigh-dot-dev/gleam-lustre/blob/v1.0.0/src/lustre/event.gleam#L50-L50">
- &lt;/&gt;
- </a>
-
- </div>
- <pre><code class="hljs gleam">pub fn on_mouse_over(handler: fn(fn(a) -&gt; Nil) -&gt; Nil) -&gt; Attribute(
- a,
-)</code></pre>
- <div class="rendered-markdown"></div>
- </div>
-
- <div class="member">
- <div class="member-name">
- <h2 id="on_mouse_up">
- <a href="#on_mouse_up">
- on_mouse_up
- </a>
- </h2>
-
- <a class="member-source" alt="View Source" title="View Source" href="https://github.com/hayleigh-dot-dev/gleam-lustre/blob/v1.0.0/src/lustre/event.gleam#L35-L35">
- &lt;/&gt;
- </a>
-
- </div>
- <pre><code class="hljs gleam">pub fn on_mouse_up(handler: fn(fn(a) -&gt; Nil) -&gt; Nil) -&gt; Attribute(
- a,
-)</code></pre>
- <div class="rendered-markdown"></div>
- </div>
-
- <div class="member">
- <div class="member-name">
- <h2 id="on_submit">
- <a href="#on_submit">
- on_submit
- </a>
- </h2>
-
- <a class="member-source" alt="View Source" title="View Source" href="https://github.com/hayleigh-dot-dev/gleam-lustre/blob/v1.0.0/src/lustre/event.gleam#L104-L104">
- &lt;/&gt;
- </a>
-
- </div>
- <pre><code class="hljs gleam">pub fn on_submit(handler: fn(fn(a) -&gt; Nil) -&gt; Nil) -&gt; Attribute(a)</code></pre>
- <div class="rendered-markdown"></div>
- </div>
-
-</section>
-
-
- </main>
- </div>
-
- <script>
- "use strict";
- const pride = () => document.body.classList.toggle("show-pride");
- </script>
- <a class="pride-button" onclick="pride()">✨</a>
- <footer class="pride" onclick="pride()">
- <div class="blue">Lucy</div>
- <div class="pink">says</div>
- <div class="white">trans</div>
- <div class="pink">rights</div>
- <div class="blue">✨</div>
- </footer>
-
- <svg class="svg-lib" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
- <defs>
- <symbol id="icon-chevrons-down" viewBox="0 0 24 24"><path d="M6.293 13.707l5 5c0.391 0.391 1.024 0.391 1.414 0l5-5c0.391-0.391 0.391-1.024 0-1.414s-1.024-0.391-1.414 0l-4.293 4.293-4.293-4.293c-0.391-0.391-1.024-0.391-1.414 0s-0.391 1.024 0 1.414zM6.293 6.707l5 5c0.391 0.391 1.024 0.391 1.414 0l5-5c0.391-0.391 0.391-1.024 0-1.414s-1.024-0.391-1.414 0l-4.293 4.293-4.293-4.293c-0.391-0.391-1.024-0.391-1.414 0s-0.391 1.024 0 1.414z"></path></symbol>
-
- <symbol id="icon-gleam-chasse" viewBox="0 0 180 22"><path d="m0.00798 15.6c0.784-1.73 0.754-2.11 1.94-3.97 1.17-0.28 2.66-0.119 3.71-0.524 1.12 0.501 1.85 0.729 3.35-0.466 0.942-0.806 2.41 0.656 3.41-0.0865 2.53-1.48 0.972-1.03 5.14-0.585 1.79-0.493 3.46-0.852 6.64-1.06 3.8-0.331 0.0108-1.06 5.16-1.16 0.874-0.835 3.43-1.34 5.49-0.963 2.17-1.41 0.488-1.58 2.64-0.426 4.36-0.0592 0.83-1.08 5.39-1.22 3.27-0.264 0.843-0.471 2.82 0.187 2.13-0.254 1.36-0.525 3.67 0.709 1.77 1.66 0.962 0.181 1.9 2.32 0.26 0.593 0.304 1.71 0.814 1.74 3.67-0.833-0.0875 0.536 4.63-0.838 0.719-0.891 4.42 0.255 3.8-0.806 2.07 0.119 2.75-0.7 6.07-0.822 1.48-1.17 2.26 0.943 3.4-0.974 0.391 0.166-1.61-0.548 3.88-0.154 2.93-1.26-1.74 0.103 4.21-0.851 3.52 8e-3 0.233-0.263 3.33-0.811 1.06-1.46-0.459-1.02 5.55-0.963 2.61-2.11 0.281-1.59 4.88-0.572 0.699 0.597 3.05 1.65 3.99 3.26 0.863-0.152 2.77 0.0659 3.41-0.626 2.24-1.04-0.0635-1.05 3.37-1.34 2.1 0.115 2.2-1.21 2.77-0.679 5.91-0.778 1.96-1.63 4.89-1.49 5.47 0.212 0.204 1.22 3.99-0.265 2.14-0.0482 0.411-0.776 2.93-0.892 2.17-0.148 0.604-0.262 2.54-1.52 0.804 0.0911 1.11 0.562 1.23 1.57 0.468 1.54 0.966 3.31 1.86 4.62 2.67-0.472-0.76-0.582 4.72-0.393 3.14 0.131 3.72-0.565 6.16-0.724 4.54-0.853 1.37-0.939 5.89-0.58 10.1-1.7 2.9-0.523 10.2-1.15 4.86-0.211 4.69-0.969 7.4-1.04 3.46-0.0576 3.13 0.58 3.83 0 3.63 0.257 2.5-0.141 7.74-0.46 2.23 1.09-0.13 0.518 5.9 0.145 1.12-0.0184 2.85-6e-3 3.83-0.186 0.748 0.694 1.01 1.4 1.58 2.33-0.112 0.687-0.306 0.992-0.454 1.51 0.0805 0.459-0.0486 0.901 0.226 1.36 0.057 0.859-1.34 1.08-2.69 0.127-3.53-0.828-1.21-0.849-7.23 0.974-5.16-0.286-1.66-0.354-7.64 0.321-1.48 0.961-4.73 0.287-6.76 0.551-4.01 0.178-1.95-0.517-3.33 0.624-5.29 1.8-3.12 1.47-5.66 0.941-5.26 0.0339-2.08-0.772-4.75 0.424-6.08 2.5-3.35 1.33-7.54 2.02-6.37-0.269-3.02 1.17-6.76 0.468-0.975 0.1-2.43 0.343-3.46 0.786-1.5-0.748-1.92 0.689-3.38 0.363-0.83-0.0851-2.1-0.343-3.5-0.0239-1.28 0.81-3.87-0.666-5.67-2.17-0.131-0.478-0.106-0.902-0.403-1.69-1.63 0.392-0.668 0.395-4.29 1.14-2.71 0.289 0.131 0.495-3.22 0.964-0.638 0.331-0.998 1.17-3.15 1.04-3.09 0.469-4.48 2.1-3.66 0.577-2.95 0.347-2.9 1.82-5.86 1.85-3.3 0.815 0.192 0.978-5.2 1.66-2.81 2.66 0.0387 0.735-4.21 1.29-1.43-0.911-2.24-2.29-3.89-3.63-0.363-0.679 0.258-1.84-0.375-2.28-5.28 1.39 0.176-0.925-5.08 1.01-10.6 1.42-4.55 1.88-9.18 1.66-6.73 1.35-4.11 1.99-10.2 2.31-4.53 1.09-1.63-0.398-5.52 1.02-3.15 0.522-2.41-0.0562-4.51 1.04-0.76 0.379-0.865-0.416-2.75-0.0493-3.5-3.45-2.85-0.892-2.93-6.14-4.41 0.837 0.477 0.703-6.18 1.2-4.59 0.0171-1.93 1.02-7.41 1.04-0.815 0.505-2.55 0.453-4.13 0.791-5 0.71-5.97 2-8.46 1.61-1.39 1.09-2.58 1.53-4.22 2.62-0.919 0.756-3.45 0.596-4.48 0.492-0.525-0.406-0.751-1.2-1.82-3.28 0.149-0.902-0.325-1.44-0.248-2.8z"></path></symbol>
-
- <symbol id="icon-gleam-chasse-2" viewBox="0 0 108 22"><path d="m0.585 18.5c-0.578-1.54-0.65-1.33-0.543-2.64 0.271-1.19 0.153-1.06 1.27-1.71 0.993 0.124 1.94-0.662 2.94-0.869 2.48 0.119 0.772 0.443 2.99-0.366 1.66-1.91 0.764 0.783 3.36-0.992 2.37 0.314 4.26-1.5 5.16-1.26 0.387 0.627 0.202 0.412 2.52-0.776 4.89-1.57 3.91-1.47 5-0.972 2.05-1.09-0.0615-0.49 2.79-1.2 4.47-0.514 3.62 0.127 4.18-1.19 4.3-0.613 2.56-1.49 4.09-0.847 1.8-1.51 1.01 0.157 2.64-0.722 4.91-1.28 1.39 0.553 4.43-0.843 1.28-0.387 2.72-0.427 4.05-0.748 0.332-0.942 1.93 0.121 2.75-0.817 3 0.294-0.74-0.514 3.35-0.219 2.34-1.12 0.474 0.505 3.01-1.33 0.779-0.552 0.958 0.919 2.76-0.331 1.26-0.027 0.231 0.642 1.71 0.0417 1.08-0.234-0.332-0.25 1.4-0.727 1.07 0.281 0.347 0.858 2.47 1.86 1.02 2.09-0.0407 0.967 0.473 3.88-0.19 1.31 0.095 0.629-1.34 1.44-0.351 0.381-0.494 0.132-0.0505 0.773 5.7-0.865 2.24-0.0704 4.31-0.722 1.39-0.602 3.12 0.189 3.85-0.396 5.52-1.74 1.2 0.802 5.56-0.972 5.77-0.78 5.5-0.0267 5.87-0.622 1.29-0.593 0.466-0.184 2.73-0.0872 0.586-0.907-0.0863-0.919 1.23-0.644 0.471-1.23 3.03 0.227 3.86-0.234 1.2 0.319 2.27 0.00513 2.55 0.264 0.378 0.998 1.18 1.79 1.78 2.57-0.109 0.798 0.472 1.14 0.254 2.4 2.25-0.43 1.69-0.298 4.1-0.338 2.35-1.11 0.595 0.263 3.12-0.813 1.5-0.153 2.17 0.044 3.29-0.328 1.39-0.699 0.859-0.135 1.88-0.671 1.35 0.779 0.389 0.64 1.39 1.7 0.132 1.37 0.34 1.03 0.117 2.21-0.619 0.327-0.757 0.0587-1.28 0.739-2.68 0.688-0.161 0.395-2.5 0.734-1.97-0.203-0.915-0.0737-3.21 0.454-1.76 1.41-0.982 1.12-2.36 1.43-1.65 0.974 0.119-0.784-2.27 0.501-0.883 0.361-1.2 0.471-1.88 0.827-2.84 1.1-1.72-0.0496-3.18 1.37-2.38 0.689-1.82 0.324-2.65 1.27-3.52 0.658-2.07-0.49-3.27-0.419-1.85-2.19 0.14-0.414-1.87-2.62-0.551-2.06-0.527-0.977 0.131-2.63 0.366-1.44 0.369-0.627 1.15-1.88-1.79 0.433-1.64 0.163-5.6 0.781-3.59 1.82-0.592-0.17-4.29 0.729-0.705 0.598-0.369 0.995-1.59-0.0892-0.655 0.638-0.104 0.42-2.9 0.621-3.6 1.1-2.83 1.29-4.17 0.742 0.0193-1.05-1.8 1.24-2.18 0.454-2.51 0.61-1.36 0.795-3.64 0.594-0.211 0.804-4.14-0.139-5.09 0.879-3.61 0.381 0.127-0.296-3.51-1.03-1.44-1.87-1.14-0.196-1.22-3.01 0.14-1.2-0.505-0.638-0.0251-2.39-2.64 0.466-1.25-0.372-3.55 0.344-4.12 0.781-0.26 1.32-4.36 1.02-1.78 0.235 0.327 0.568-3.16 0.555-1.36 0.861-0.709 0.778-2.01 0.649-4.07 1.1-0.948 0.904-4.54 1.17-1.27 0.686-4.67 0.341-4.6 1.04-2.47 0.466-0.707 1.46-3.49 0.582-2.93 1.39-0.739 1.31-4.38 1.56-3.21 1.23-0.735 1.93-3.87 1.14-2.82 1.91-0.676 1.23-4.04 1.82-1.97 1.47 0.312 0.745-2.95 0.812-3.51 1.54 0.0965-0.473-4.27 1.39-2.68 0.382-1.75 0.682-3.32-0.585-1.65-1.61 0.361-0.307-1.37-2.31z"></path></symbol>
-
- <symbol id="icon-menu" viewBox="0 0 24 24"><path d="M3 13h18c0.552 0 1-0.448 1-1s-0.448-1-1-1h-18c-0.552 0-1 0.448-1 1s0.448 1 1 1zM3 7h18c0.552 0 1-0.448 1-1s-0.448-1-1-1h-18c-0.552 0-1 0.448-1 1s0.448 1 1 1zM3 19h18c0.552 0 1-0.448 1-1s-0.448-1-1-1h-18c-0.552 0-1 0.448-1 1s0.448 1 1 1z"></path></symbol>
-
- <symbol id="icon-moon" viewBox="0 0 24 24"><path d="M21.996 12.882c0.022-0.233-0.038-0.476-0.188-0.681-0.325-0.446-0.951-0.544-1.397-0.219-0.95 0.693-2.060 1.086-3.188 1.162-1.368 0.092-2.765-0.283-3.95-1.158-1.333-0.985-2.139-2.415-2.367-3.935s0.124-3.124 1.109-4.456c0.142-0.191 0.216-0.435 0.191-0.691-0.053-0.55-0.542-0.952-1.092-0.898-2.258 0.22-4.314 1.18-5.895 2.651-1.736 1.615-2.902 3.847-3.137 6.386-0.254 2.749 0.631 5.343 2.266 7.311s4.022 3.313 6.772 3.567 5.343-0.631 7.311-2.266 3.313-4.022 3.567-6.772zM19.567 14.674c-0.49 1.363-1.335 2.543-2.416 3.441-1.576 1.309-3.648 2.016-5.848 1.813s-4.108-1.278-5.417-2.854-2.016-3.648-1.813-5.848c0.187-2.032 1.117-3.814 2.507-5.106 0.782-0.728 1.71-1.3 2.731-1.672-0.456 1.264-0.577 2.606-0.384 3.899 0.303 2.023 1.38 3.934 3.156 5.247 1.578 1.167 3.448 1.668 5.272 1.545 0.752-0.050 1.496-0.207 2.21-0.465z"></path></symbol>
-
- <symbol id="icon-more-horizontal" viewBox="0 0 24 24"><path d="M14 12c0-0.552-0.225-1.053-0.586-1.414s-0.862-0.586-1.414-0.586-1.053 0.225-1.414 0.586-0.586 0.862-0.586 1.414 0.225 1.053 0.586 1.414 0.862 0.586 1.414 0.586 1.053-0.225 1.414-0.586 0.586-0.862 0.586-1.414zM21 12c0-0.552-0.225-1.053-0.586-1.414s-0.862-0.586-1.414-0.586-1.053 0.225-1.414 0.586-0.586 0.862-0.586 1.414 0.225 1.053 0.586 1.414 0.862 0.586 1.414 0.586 1.053-0.225 1.414-0.586 0.586-0.862 0.586-1.414zM7 12c0-0.552-0.225-1.053-0.586-1.414s-0.862-0.586-1.414-0.586-1.053 0.225-1.414 0.586-0.586 0.862-0.586 1.414 0.225 1.053 0.586 1.414 0.862 0.586 1.414 0.586 1.053-0.225 1.414-0.586 0.586-0.862 0.586-1.414z"></path></symbol>
-
- <symbol id="icon-more-vertical" viewBox="0 0 24 24"><path d="M14 12c0-0.552-0.225-1.053-0.586-1.414s-0.862-0.586-1.414-0.586-1.053 0.225-1.414 0.586-0.586 0.862-0.586 1.414 0.225 1.053 0.586 1.414 0.862 0.586 1.414 0.586 1.053-0.225 1.414-0.586 0.586-0.862 0.586-1.414zM14 5c0-0.552-0.225-1.053-0.586-1.414s-0.862-0.586-1.414-0.586-1.053 0.225-1.414 0.586-0.586 0.862-0.586 1.414 0.225 1.053 0.586 1.414 0.862 0.586 1.414 0.586 1.053-0.225 1.414-0.586 0.586-0.862 0.586-1.414zM14 19c0-0.552-0.225-1.053-0.586-1.414s-0.862-0.586-1.414-0.586-1.053 0.225-1.414 0.586-0.586 0.862-0.586 1.414 0.225 1.053 0.586 1.414 0.862 0.586 1.414 0.586 1.053-0.225 1.414-0.586 0.586-0.862 0.586-1.414z"></path></symbol>
-
- <symbol id="icon-star" viewBox="0 0 24 24"><path d="M12.897 1.557c-0.092-0.189-0.248-0.352-0.454-0.454-0.495-0.244-1.095-0.041-1.339 0.454l-2.858 5.789-6.391 0.935c-0.208 0.029-0.411 0.127-0.571 0.291-0.386 0.396-0.377 1.029 0.018 1.414l4.623 4.503-1.091 6.362c-0.036 0.207-0.006 0.431 0.101 0.634 0.257 0.489 0.862 0.677 1.351 0.42l5.714-3.005 5.715 3.005c0.186 0.099 0.408 0.139 0.634 0.101 0.544-0.093 0.91-0.61 0.817-1.155l-1.091-6.362 4.623-4.503c0.151-0.146 0.259-0.344 0.292-0.572 0.080-0.546-0.298-1.054-0.845-1.134l-6.39-0.934zM12 4.259l2.193 4.444c0.151 0.305 0.436 0.499 0.752 0.547l4.906 0.717-3.549 3.457c-0.244 0.238-0.341 0.569-0.288 0.885l0.837 4.883-4.386-2.307c-0.301-0.158-0.647-0.148-0.931 0l-4.386 2.307 0.837-4.883c0.058-0.336-0.059-0.661-0.288-0.885l-3.549-3.457 4.907-0.718c0.336-0.049 0.609-0.26 0.752-0.546z"></path></symbol>
-
- <symbol id="icon-sun" viewBox="0 0 24 24"><path d="M18 12c0-1.657-0.673-3.158-1.757-4.243s-2.586-1.757-4.243-1.757-3.158 0.673-4.243 1.757-1.757 2.586-1.757 4.243 0.673 3.158 1.757 4.243 2.586 1.757 4.243 1.757 3.158-0.673 4.243-1.757 1.757-2.586 1.757-4.243zM16 12c0 1.105-0.447 2.103-1.172 2.828s-1.723 1.172-2.828 1.172-2.103-0.447-2.828-1.172-1.172-1.723-1.172-2.828 0.447-2.103 1.172-2.828 1.723-1.172 2.828-1.172 2.103 0.447 2.828 1.172 1.172 1.723 1.172 2.828zM11 1v2c0 0.552 0.448 1 1 1s1-0.448 1-1v-2c0-0.552-0.448-1-1-1s-1 0.448-1 1zM11 21v2c0 0.552 0.448 1 1 1s1-0.448 1-1v-2c0-0.552-0.448-1-1-1s-1 0.448-1 1zM3.513 4.927l1.42 1.42c0.391 0.391 1.024 0.391 1.414 0s0.391-1.024 0-1.414l-1.42-1.42c-0.391-0.391-1.024-0.391-1.414 0s-0.391 1.024 0 1.414zM17.653 19.067l1.42 1.42c0.391 0.391 1.024 0.391 1.414 0s0.391-1.024 0-1.414l-1.42-1.42c-0.391-0.391-1.024-0.391-1.414 0s-0.391 1.024 0 1.414zM1 13h2c0.552 0 1-0.448 1-1s-0.448-1-1-1h-2c-0.552 0-1 0.448-1 1s0.448 1 1 1zM21 13h2c0.552 0 1-0.448 1-1s-0.448-1-1-1h-2c-0.552 0-1 0.448-1 1s0.448 1 1 1zM4.927 20.487l1.42-1.42c0.391-0.391 0.391-1.024 0-1.414s-1.024-0.391-1.414 0l-1.42 1.42c-0.391 0.391-0.391 1.024 0 1.414s1.024 0.391 1.414 0zM19.067 6.347l1.42-1.42c0.391-0.391 0.391-1.024 0-1.414s-1.024-0.391-1.414 0l-1.42 1.42c-0.391 0.391-0.391 1.024 0 1.414s1.024 0.391 1.414 0z"></path></symbol>
-
- <symbol id="icon-toggle-left" viewBox="0 0 24 24"><path d="M8 4c-2.209 0-4.21 0.897-5.657 2.343s-2.343 3.448-2.343 5.657 0.897 4.21 2.343 5.657 3.448 2.343 5.657 2.343h8c2.209 0 4.21-0.897 5.657-2.343s2.343-3.448 2.343-5.657-0.897-4.21-2.343-5.657-3.448-2.343-5.657-2.343zM8 6h8c1.657 0 3.156 0.67 4.243 1.757s1.757 2.586 1.757 4.243-0.67 3.156-1.757 4.243-2.586 1.757-4.243 1.757h-8c-1.657 0-3.156-0.67-4.243-1.757s-1.757-2.586-1.757-4.243 0.67-3.156 1.757-4.243 2.586-1.757 4.243-1.757zM12 12c0-1.104-0.449-2.106-1.172-2.828s-1.724-1.172-2.828-1.172-2.106 0.449-2.828 1.172-1.172 1.724-1.172 2.828 0.449 2.106 1.172 2.828 1.724 1.172 2.828 1.172 2.106-0.449 2.828-1.172 1.172-1.724 1.172-2.828zM10 12c0 0.553-0.223 1.051-0.586 1.414s-0.861 0.586-1.414 0.586-1.051-0.223-1.414-0.586-0.586-0.861-0.586-1.414 0.223-1.051 0.586-1.414 0.861-0.586 1.414-0.586 1.051 0.223 1.414 0.586 0.586 0.861 0.586 1.414z"></path></symbol>
-
- <symbol id="icon-toggle-right" viewBox="0 0 24 24"><path d="M8 4c-2.209 0-4.21 0.897-5.657 2.343s-2.343 3.448-2.343 5.657 0.897 4.21 2.343 5.657 3.448 2.343 5.657 2.343h8c2.209 0 4.21-0.897 5.657-2.343s2.343-3.448 2.343-5.657-0.897-4.21-2.343-5.657-3.448-2.343-5.657-2.343zM8 6h8c1.657 0 3.156 0.67 4.243 1.757s1.757 2.586 1.757 4.243-0.67 3.156-1.757 4.243-2.586 1.757-4.243 1.757h-8c-1.657 0-3.156-0.67-4.243-1.757s-1.757-2.586-1.757-4.243 0.67-3.156 1.757-4.243 2.586-1.757 4.243-1.757zM20 12c0-1.104-0.449-2.106-1.172-2.828s-1.724-1.172-2.828-1.172-2.106 0.449-2.828 1.172-1.172 1.724-1.172 2.828 0.449 2.106 1.172 2.828 1.724 1.172 2.828 1.172 2.106-0.449 2.828-1.172 1.172-1.724 1.172-2.828zM18 12c0 0.553-0.223 1.051-0.586 1.414s-0.861 0.586-1.414 0.586-1.051-0.223-1.414-0.586-0.586-0.861-0.586-1.414 0.223-1.051 0.586-1.414 0.861-0.586 1.414-0.586 1.051 0.223 1.414 0.586 0.586 0.861 0.586 1.414z"></path></symbol>
-
- <symbol id="icon-x-circle" viewBox="0 0 24 24"><path d="M23 12c0-3.037-1.232-5.789-3.222-7.778s-4.741-3.222-7.778-3.222-5.789 1.232-7.778 3.222-3.222 4.741-3.222 7.778 1.232 5.789 3.222 7.778 4.741 3.222 7.778 3.222 5.789-1.232 7.778-3.222 3.222-4.741 3.222-7.778zM21 12c0 2.486-1.006 4.734-2.636 6.364s-3.878 2.636-6.364 2.636-4.734-1.006-6.364-2.636-2.636-3.878-2.636-6.364 1.006-4.734 2.636-6.364 3.878-2.636 6.364-2.636 4.734 1.006 6.364 2.636 2.636 3.878 2.636 6.364zM8.293 9.707l2.293 2.293-2.293 2.293c-0.391 0.391-0.391 1.024 0 1.414s1.024 0.391 1.414 0l2.293-2.293 2.293 2.293c0.391 0.391 1.024 0.391 1.414 0s0.391-1.024 0-1.414l-2.293-2.293 2.293-2.293c0.391-0.391 0.391-1.024 0-1.414s-1.024-0.391-1.414 0l-2.293 2.293-2.293-2.293c-0.391-0.391-1.024-0.391-1.414 0s-0.391 1.024 0 1.414z"></path></symbol>
- </defs>
- </svg>
-
- <script src="https://unpkg.com/@highlightjs/cdn-assets@10.5.0/highlight.min.js"></script>
-
- <script src="https://unpkg.com/@highlightjs/cdn-assets@10.5.0/languages/erlang.min.js"></script>
-
- <script src="https://unpkg.com/@highlightjs/cdn-assets@10.5.0/languages/elixir.min.js"></script>
-
- <script src="../highlightjs-gleam.js?v=0.21.0"></script>
-
- <script src="../gleam.js?v=0.21.0"></script>
- </body>
-</html> \ No newline at end of file
diff --git a/README.md b/lib/README.md
index b6d111c..b6d111c 100644
--- a/README.md
+++ b/lib/README.md
diff --git a/gleam.toml b/lib/gleam.toml
index 542b44c..542b44c 100644
--- a/gleam.toml
+++ b/lib/gleam.toml
diff --git a/manifest.toml b/lib/manifest.toml
index a5dc3b1..a5dc3b1 100644
--- a/manifest.toml
+++ b/lib/manifest.toml
diff --git a/package-lock.json b/lib/package-lock.json
index 7fafc3d..7fafc3d 100644
--- a/package-lock.json
+++ b/lib/package-lock.json
diff --git a/package.json b/lib/package.json
index fdc091a..fdc091a 100644
--- a/package.json
+++ b/lib/package.json
diff --git a/src/lustre.ffi.mjs b/lib/src/lustre.ffi.mjs
index b99f6e2..b99f6e2 100644
--- a/src/lustre.ffi.mjs
+++ b/lib/src/lustre.ffi.mjs
diff --git a/src/lustre.gleam b/lib/src/lustre.gleam
index 673f982..673f982 100644
--- a/src/lustre.gleam
+++ b/lib/src/lustre.gleam
diff --git a/src/lustre/attribute.gleam b/lib/src/lustre/attribute.gleam
index 459a86e..459a86e 100644
--- a/src/lustre/attribute.gleam
+++ b/lib/src/lustre/attribute.gleam
diff --git a/src/lustre/effect.gleam b/lib/src/lustre/effect.gleam
index 19f54b0..19f54b0 100644
--- a/src/lustre/effect.gleam
+++ b/lib/src/lustre/effect.gleam
diff --git a/src/lustre/element.gleam b/lib/src/lustre/element.gleam
index 4e8abee..4e8abee 100644
--- a/src/lustre/element.gleam
+++ b/lib/src/lustre/element.gleam
diff --git a/src/lustre/element/html.gleam b/lib/src/lustre/element/html.gleam
index 9eb4f5e..9eb4f5e 100644
--- a/src/lustre/element/html.gleam
+++ b/lib/src/lustre/element/html.gleam
diff --git a/src/lustre/element/svg.gleam b/lib/src/lustre/element/svg.gleam
index f9776ca..f9776ca 100644
--- a/src/lustre/element/svg.gleam
+++ b/lib/src/lustre/element/svg.gleam
diff --git a/src/lustre/event.gleam b/lib/src/lustre/event.gleam
index 8ee2f4f..8ee2f4f 100644
--- a/src/lustre/event.gleam
+++ b/lib/src/lustre/event.gleam
diff --git a/src/runtime.ffi.mjs b/lib/src/runtime.ffi.mjs
index 7325583..7325583 100644
--- a/src/runtime.ffi.mjs
+++ b/lib/src/runtime.ffi.mjs
diff --git a/test/examples/components.gleam b/lib/test/examples/components.gleam
index 722b796..722b796 100644
--- a/test/examples/components.gleam
+++ b/lib/test/examples/components.gleam
diff --git a/test/examples/components.html b/lib/test/examples/components.html
index f4b4530..f4b4530 100644
--- a/test/examples/components.html
+++ b/lib/test/examples/components.html
diff --git a/test/examples/counter.gleam b/lib/test/examples/counter.gleam
index 759ebdf..759ebdf 100644
--- a/test/examples/counter.gleam
+++ b/lib/test/examples/counter.gleam
diff --git a/test/examples/counter.html b/lib/test/examples/counter.html
index 2b120fd..2b120fd 100644
--- a/test/examples/counter.html
+++ b/lib/test/examples/counter.html
diff --git a/test/examples/index.html b/lib/test/examples/index.html
index 70d4196..70d4196 100644
--- a/test/examples/index.html
+++ b/lib/test/examples/index.html
diff --git a/test/examples/input.gleam b/lib/test/examples/input.gleam
index d59c0c9..d59c0c9 100644
--- a/test/examples/input.gleam
+++ b/lib/test/examples/input.gleam
diff --git a/test/examples/input.html b/lib/test/examples/input.html
index 3bd6463..3bd6463 100644
--- a/test/examples/input.html
+++ b/lib/test/examples/input.html
diff --git a/test/examples/nested.gleam b/lib/test/examples/nested.gleam
index 47bb9d5..47bb9d5 100644
--- a/test/examples/nested.gleam
+++ b/lib/test/examples/nested.gleam
diff --git a/test/examples/nested.html b/lib/test/examples/nested.html
index 420b159..420b159 100644
--- a/test/examples/nested.html
+++ b/lib/test/examples/nested.html
diff --git a/test/examples/svg.gleam b/lib/test/examples/svg.gleam
index c1cc5fb..c1cc5fb 100644
--- a/test/examples/svg.gleam
+++ b/lib/test/examples/svg.gleam
diff --git a/test/examples/svg.html b/lib/test/examples/svg.html
index 12af526..12af526 100644
--- a/test/examples/svg.html
+++ b/lib/test/examples/svg.html