Remove internal package import from todo example
All checks were successful
CI / build (push) Successful in 27s

Replace direct internal/element usage with public ui package
components to ensure examples only use the public API:

- Add ui.RawCheckbox for plain checkbox without label wrapper
- Add ui.Span for span elements with text content
- Add View.TextDecoration modifier for strikethrough styling
- Update todo example to use these public components

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit was merged in pull request #16.
This commit is contained in:
2026-01-09 17:23:47 +01:00
parent 505fa0f84a
commit 9642fd008e
4 changed files with 38 additions and 17 deletions

View File

@@ -205,4 +205,23 @@ func NumberInput(value *reactive.Signal[float64], placeholder string) View {
})
return View{input}
}
}
// RawCheckbox creates a plain checkbox input without a label wrapper.
// The onChange callback is called with the new checked state when the user clicks.
func RawCheckbox(checked bool, onChange func(bool)) View {
checkbox := element.NewElement("input")
checkbox.Attr("type", "checkbox")
// Set initial state
if checked {
checkbox.Set("checked", true)
}
// Call onChange when user clicks
checkbox.On("change", func() {
newValue := checkbox.Get("checked").Bool()
onChange(newValue)
})
return View{checkbox}
}