From 2113251bc63ce73a307804c03c446f303b3ae259 Mon Sep 17 00:00:00 2001 From: Chris McCord Date: Tue, 30 Aug 2022 10:08:09 -0400 Subject: [PATCH] Support both new and old LV helper --- lib/heroicons/generator.ex | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/lib/heroicons/generator.ex b/lib/heroicons/generator.ex index ca18883..3c47a45 100644 --- a/lib/heroicons/generator.ex +++ b/lib/heroicons/generator.ex @@ -43,9 +43,15 @@ defmodule Heroicons.Generator do @doc unquote(doc) def unquote(name)(assigns_or_opts \\ []) - def unquote(name)(var!(assigns)) when is_map(var!(assigns)) do - var!(attrs) = Phoenix.LiveView.Helpers.assigns_to_attributes(var!(assigns)) + if function_exported?(Phoenix.Component, :assigns_to_attributes, 1) do + @assigns_to_attrs_mod Phoenix.Component + else + @assigns_to_attrs_mod Phoenix.LiveView.Helpers + end + + def unquote(name)(var!(assigns)) when is_map(var!(assigns)) do + var!(attrs) = @assigns_to_attrs_mod.assigns_to_attributes(var!(assigns)) var!(assigns) = Phoenix.LiveView.assign(var!(assigns), :attrs, var!(attrs)) unquote(