extends Node
const MAIN_COLOR = Color(27/255.0, 27/255.0, 27/255.0, 1)
const SECONDARY_COLOR = Color(43/255.0, 43/255.0, 43/255.0, 1)
const HOVER_COLOR = Color(0, 0, 0, 1)
const DEFAULT_CSS = """
body { text-base text-[#000000] text-left }
h1 { text-5xl font-bold }
h2 { text-4xl font-bold }
h3 { text-3xl font-bold }
h4 { text-2xl font-bold }
h5 { text-xl font-bold }
b { font-bold }
i { font-italic }
u { underline }
small { text-xl }
mark { bg-[#FFFF00] }
code { text-xl font-mono }
a { text-[#1a0dab] }
pre { text-xl font-mono }
button { text-[16px] bg-[#1b1b1b] rounded-md text-white hover:bg-[#2a2a2a] active:bg-[#101010] }
button[disabled] { bg-[#666666] text-[#999999] cursor-not-allowed }
"""
var HTML_CONTENT2 = """
My Custom Dashboard
๐ My Dashboard
๐ค User Panel
Name: Jane Doe
Email: jane@example.com
Status: Active
Plan: Pro
Projects: 8
Tasks: 42
๐ Recent Activity
- โ
Task "Update UI" marked as complete
- ๐ New comment on "Bug Fix #224"
- ๐ค Exported report "Q2 Metrics"
๐ง Actions
""".to_utf8_buffer()
var HTML_CONTENTvv = """
My cool web
CSS Selector Test Page
This paragraph should be red and bold (h1 + p)
This paragraph should be blue (h1 ~ p)
Descendant vs Child Selectors
This paragraph should be purple and bold (div p and .outer-div > p)
This paragraph should be purple but not bold (div p only)
Attribute Selectors
HTTP Link (normal)
HTTPS Link (green and bold)
Sibling Selectors
This div should have light green bg (h2 + div)
This span should have light red bg (h3 ~ span)
This span should also have light red bg (h3 ~ span)
This span should have yellow bg (.container span)
Regular paragraph in container
This div should have yellow bg (class ends with 'special')
This div should be normal
""".to_utf8_buffer()
var HTML_CONTENT3 = """
Task Manager
๐ My Task Manager
Keep track of your to-do list
โ
Finish homework
โ๏ธ Write blog post
๐ช Gym workout
Add a New Task
Task Categories
๐ Study
๐ผ Work
๐๏ธ Health
Button Style Tests
Corner Radius Variants
Color Combinations
Hover Effects
Advanced Hover Combinations
Text Color Focus
Mixed Styles
Active State Tests
""".to_utf8_buffer()
var HTML_CONTENTvvv = """
Lua API Demo
Welcome to GURT Lua API Demo
This page demonstrates the GURT Lua API in action.
Click me to see Lua in action!
Click the button
Move your mouse
Move mouse over Button
Type something
Style Controls:
""".to_utf8_buffer()
var HTML_CONTENT_ADD_REMOVE = """
Lua List Manipulation Demo
List Manipulation with Lua
Use the buttons below to add or remove items from the list:
""".to_utf8_buffer()
var HTML_CONTENT_DOM_MANIPULATION = """
DOM Utilities Test
DOM Utilities Demo
Non-interactible
Child 1
Child 2
Child 3
Test
""".to_utf8_buffer()
var HTML_CONTENT = """
Network & Clipboard API Demo
Clipboard API
Clipboard Operations
""".to_utf8_buffer()
var HTML_CONTENTx = """
Signal API Demo
๐ Signal API Demo
Signal API Usage Example:
local mySignal = Signal.new()
mySignal:connect(function(arg1, arg2) print("Event fired with: ", arg1, arg2) end)
mySignal:fire("Hello", 123)
connection:disconnect()
Controls
Status
Event Log
Signal API Features:
- Signal.new(): Creates a new signal object
- signal:connect(callback): Connects a callback function and returns a connection object
- signal:fire(...): Fires the signal with optional arguments
- connection:disconnect(): Disconnects a specific connection
- signal:disconnect(): Disconnects all connections from the signal
- Multiple Connections: One signal can have multiple connected callbacks
- Argument Passing: Signals can pass multiple arguments to connected callbacks
""".to_utf8_buffer()
var HTML_CONTENTa = """
Button getAttribute/setAttribute Demo
๐ Button getAttribute & setAttribute Demo
โ
Target button is currently ENABLED. Click it to see the counter increase!
Target Button
Button clicked 0 times!
Control Buttons
Current Attributes
How It Works:
- Enable: Uses
setAttribute('disabled', '') to remove the disabled attribute
- Disable: Uses
setAttribute('disabled', 'true') to add the disabled attribute
- Toggle: Uses
getAttribute('disabled') to check current state, then toggles it
- Status: Uses
getAttribute() to read multiple attributes and displays them
- Bonus: Also demonstrates setting custom data attributes and style changes
""".to_utf8_buffer()