Input demo
Headless primitives first, followed by the component wrapper.
1) Headless: direct tngInput
Attach behavior directly to native controls.
2) Headless: tngInputGroup + slots
Compose leading/trailing content with state hooks.
3) Component wrapper: <tng-input>
Styled wrapper over the same headless primitives.