import { TodoApp } from "./todo/TodoApp";
import "./confetti.css";
// Log the reactive data object
console.log("Loaded State:", data);
// jssLite({
// body: {
// "background-color": "black",
// "color": "#333333"
// },
// "input[type='text']" : {
// "background-color": "#111111",
// "color": "#444444"
// }
// })
// Define a Goober component
let Goober = ({ children }) => (
{State.get('linked')}
{children}
);
const list = [
{ id: 0, name: "Monkey" },
{ id: 1, name: "Kangaroo" },
{ id: 2, name: "Walrus" }
];
routes["/404"] = () => h("div", {}, "Page Not Found");
// Main App Component
let App = () => (
<>
Validation
Please correct the errors above.
Routing
Home
About
Looping
{list.map((item) => {
return (- {item.name}
)
})}
Reactive State with Persistent Storage
Binding Input
State.set({ linked: e.target.value })}
/>
Conditions
console.log("onBlur worked! somehow.")}
onInput={(e) => State.set({ required: e.target.value })}
/>
Is this an email or john?
{State.get("required")} == aaron
{State.get("required")} > 10
{State.get("required")} {'>= 20'}
{State.get("required")} < 5
{State.get("required")} {'<= 0'}
--
--
{State.get('linked')}
There is no way it was that easy!
Toggle Visibility
This is visible when `isVisible` is **true**.
This is visible when `isVisible` is **false**.
Step-based Visibility
This is visible when `step` is 1.
This is visible when `step` is 2.
This is visible when `step` is **not** 1.
Partial Matching
This is visible when `tags` contains "react".
Numeric Comparison
This is visible when `age` is **greater than** `21`.
Combining Conditions
This shows when `step` is 1 AND `isVisible` is true.
This shows when `step` is 1 OR `isVisible` is true.
State.get("isVisible")}>This uses function syntax to show when `isVisible` is true.
!State.get("isVisible")}>This uses function syntax to show wehn `isVisible` is false.
Update List on Add
>
);
jssLite({
".blue": {
color: "blue"
},
".good": {
color: "green"
},
".bad": {
color: "red"
},
"input.invalid": {
border: "solid 2px red"
}
})
// Apply styles dynamically using jssLite
let styles = jssLite({
".binder": {
color: "Orange"
}
});
// Remove styles after 2 seconds
setTimeout(() => {
styles.remove();
}, 2000);
document.getElementById("app").appendChild()