You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Regression from v0.3.17: the isConnected check in _injectCompactButtonStyles ran on synchronously-created buttons before they were attached to the DOM, so the inject bailed and the hover overlay reverted to a 50 % circle. Now only checks isConnected on retries (depth > 0).
v0.3.17 — Code review pass
Fixed
_injectCompactButtonStyles no longer leaks CSSStyleSheet instances on each setConfig. The sheet is cached on the button host (button._stiOuterSheet / button._stiInnerSheet) and reused via replaceSync, mirroring the waInput._stiSheet pattern.
tryInject retry chain now cancels in-flight timers and respects isConnected on retries, preventing orphaned chains from running on detached buttons after rapid setConfig calls.
_applyDeepInputStyles uses a per-instance version token so two rapid config changes can't race each other's writes to adoptedStyleSheets.
Changed
Underscored YAML style keys (padding_left) are normalized to hyphens (padding-left) once at config-load time. Every downstream reader now sees one canonical form.
_applyOuterInputStyles only runs when _config changes (was running on every keystroke in realtime mode).
Added FORWARD-COMPAT comments at the three brittle wa-input touchpoints (label.label, [part="base"]::after, ha-button::after) so future maintainers know which selectors break first when HA bumps.
v0.3.16
Added
Hover/ripple overlay now follows the button's border-radius. A button with border-radius: 12 px gets a rounded-rect hover instead of a circle. Implemented by overriding ha-button::after and ::before in the inner shadow.
v0.3.15
Added
style.editor.vertical-align (top / center / bottom, also accepts middle). Defaults to bottom (classic look, value text just above the underline). Useful for slim / hide_label cards where the value should sit in the middle of the pill.
The button's border-radius now propagates into the inner ha-button shadow so the visible shape and the hover bounds are consistent in size (shape correction in v0.3.16 finished the job).
v0.3.14
Added
Buttons under 48 px auto-trigger the inner-button shrink, so the hover overlay matches the visible button (was always 48 px before). compact_buttons: true continues to force this for all buttons regardless of size.
v0.3.13
Changed
Editor padding-left and padding-bottom defaults are now independent of hide_label. Toggling hide_label no longer shifts the value text horizontally or away from the underline.
v0.3.10 – v0.3.12 — HA 2026.4 compatibility
Added
Detect ha-input (HA 2026.4+) vs. ha-textfield (legacy) at module load and style each path appropriately.
Inner <div id="sti-inner"> wrapper so card padding can inset the buttons and editor properly instead of smashing them against the card edge.
Fixed
iPhone keyboard close in realtime mode (issue #1) — solved by rendering the input via a real Lit template so the DOM node is reconciled across re-renders.
Space key not registering (issue #2) — same root cause as #1.
Card layout collision when both leading and trailing buttons were present.
Button size config is now honoured on HA 2026.4+ (the old code relied on --mdc-icon-button-size, which the new ha-icon-button ignores).