{
state_style: ->(graph) { graph.state_records.any? { |_, state| state.style } },
transition_style: ->(graph) { graph.transition_records.any? { |transition| transition.style } },
url: lambda { |graph|
graph.state_records.any? { |_, state| metadata_value(state.metadata, :url, :href) } ||
graph.transition_records.any? { |transition| metadata_value(transition.metadata, :url, :href) }
},
tooltip: lambda { |graph|
graph.state_records.any? { |_, state| metadata_value(state.metadata, :tooltip, :description) } ||
graph.transition_records.any? { |transition| metadata_value(transition.metadata, :tooltip, :description) }
},
group: ->(graph) { graph.state_records.any? { |_, state| metadata_value(state.metadata, :group, :cluster) } },
parent: ->(graph) { graph.state_records.any? { |_, state| metadata_value(state.metadata, :parent) } },
pseudostate: lambda { |graph|
graph.state_records.any? do |_, state|
(state.kind && state.kind != :normal) || metadata_value(state.metadata, :kind, :type)
end
},
bundle: ->(graph) { graph.transition_records.any? { |transition| metadata_value(transition.metadata, :bundle) } },
line_style: ->(graph) { graph.transition_records.any?(&:line_style) }
}.freeze