respect inline background props for button
This commit is contained in:
@@ -48,14 +48,30 @@ func apply_button_styles(element: HTMLParser.HTMLElement, parser: HTMLParser, na
|
|||||||
|
|
||||||
# Apply background color (hover: + active:)
|
# Apply background color (hover: + active:)
|
||||||
if styles.has("background-color"):
|
if styles.has("background-color"):
|
||||||
var normal_color = styles["background-color"] as Color
|
var normal_color: Color = styles["background-color"]
|
||||||
var hover_color: Color = Color()
|
var hover_color = normal_color # Default to normal color
|
||||||
var active_color: Color = Color()
|
var active_color = normal_color # Default to normal color
|
||||||
|
|
||||||
if hover_styles.has("background-color"):
|
# Check if background color comes from inline styles
|
||||||
hover_color = hover_styles["background-color"] as Color
|
var inline_style = element.get_attribute("style")
|
||||||
if active_styles.has("background-color"):
|
var inline_normal_styles = parser.parse_inline_style_with_event(inline_style, "")
|
||||||
active_color = active_styles["background-color"] as Color
|
var has_inline_bg = inline_normal_styles.has("background-color")
|
||||||
|
|
||||||
|
if has_inline_bg:
|
||||||
|
# If user set inline bg, only use inline hover/active, ignore global ones
|
||||||
|
var inline_hover_styles = parser.parse_inline_style_with_event(inline_style, "hover")
|
||||||
|
var inline_active_styles = parser.parse_inline_style_with_event(inline_style, "active")
|
||||||
|
|
||||||
|
if inline_hover_styles.has("background-color"):
|
||||||
|
hover_color = inline_hover_styles["background-color"]
|
||||||
|
if inline_active_styles.has("background-color"):
|
||||||
|
active_color = inline_active_styles["background-color"]
|
||||||
|
else:
|
||||||
|
# No inline bg, use global CSS hover/active if available
|
||||||
|
if hover_styles.has("background-color"):
|
||||||
|
hover_color = hover_styles["background-color"]
|
||||||
|
if active_styles.has("background-color"):
|
||||||
|
active_color = active_styles["background-color"]
|
||||||
|
|
||||||
apply_button_color_with_states(button_node, normal_color, hover_color, active_color)
|
apply_button_color_with_states(button_node, normal_color, hover_color, active_color)
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user