<%= render_slot(@title) %>
diff --git a/apps/phoenix_webcomponent/lib/phoenix_webcomponent/icons.ex b/apps/phoenix_webcomponent/lib/phoenix_webcomponent/icons.ex
index 09473b2e..592bd6b3 100644
--- a/apps/phoenix_webcomponent/lib/phoenix_webcomponent/icons.ex
+++ b/apps/phoenix_webcomponent/lib/phoenix_webcomponent/icons.ex
@@ -35,8 +35,8 @@ defmodule Phoenix.WebComponent.Icons do
"""
@doc type: :component
- attr(:id, :string,
- default: "",
+ attr(:id, :any,
+ default: false,
doc: """
html attribute id
"""
@@ -64,12 +64,6 @@ defmodule Phoenix.WebComponent.Icons do
)
def wc_mdi(assigns) do
- assigns =
- assigns
- |> assign_new(:id, fn -> false end)
- |> assign_new(:class, fn -> false end)
- |> assign_new(:color, fn -> "currentcolor" end)
-
name = assigns.name
inner_svg =
diff --git a/apps/phoenix_webcomponent/lib/phoenix_webcomponent/left_menu.ex b/apps/phoenix_webcomponent/lib/phoenix_webcomponent/left_menu.ex
index 83317612..78cfa6ef 100644
--- a/apps/phoenix_webcomponent/lib/phoenix_webcomponent/left_menu.ex
+++ b/apps/phoenix_webcomponent/lib/phoenix_webcomponent/left_menu.ex
@@ -15,8 +15,8 @@ defmodule Phoenix.WebComponent.LeftMenu do
"""
@doc type: :component
- attr(:id, :string,
- default: "",
+ attr(:id, :any,
+ default: false,
doc: """
html attribute id
"""
@@ -60,17 +60,13 @@ defmodule Phoenix.WebComponent.LeftMenu do
slot(:title,
required: false,
doc: """
- Render a card title.
+ Render menu title.
"""
)
def wc_left_menu(assigns) do
assigns =
assigns
- |> assign_new(:id, fn -> false end)
- |> assign_new(:class, fn -> "" end)
- |> assign_new(:active, fn -> false end)
- |> assign_new(:menus, fn -> [] end)
|> assign_new(:title, fn -> nil end)
~H"""
diff --git a/apps/phoenix_webcomponent/lib/phoenix_webcomponent/markdown.ex b/apps/phoenix_webcomponent/lib/phoenix_webcomponent/markdown.ex
index 2c240292..f9b2f687 100644
--- a/apps/phoenix_webcomponent/lib/phoenix_webcomponent/markdown.ex
+++ b/apps/phoenix_webcomponent/lib/phoenix_webcomponent/markdown.ex
@@ -23,22 +23,10 @@ defmodule Phoenix.WebComponent.Markdown do
<.wc_markdown content={"# Hello"} class="btn" />
#=>
- ## Attributes
-
- * `id` - `binary`
- remark-element html attribute id
-
- * `class` - `binary`
- remark-element html attribute class
-
- * `:debug` - print log in browser console
-
- * `:content` - The content of markdown, replace innerHTML.
-
"""
@doc type: :component
- attr(:id, :string,
- default: "",
+ attr(:id, :any,
+ default: false,
doc: """
html attribute id
"""
@@ -66,13 +54,6 @@ defmodule Phoenix.WebComponent.Markdown do
)
def wc_markdown(assigns) do
- assigns =
- assigns
- |> assign_new(:id, fn -> false end)
- |> assign_new(:class, fn -> false end)
- |> assign_new(:debug, fn -> false end)
- |> assign_new(:content, fn -> "" end)
-
~H"""
<%= @content %>
"""
diff --git a/apps/phoenix_webcomponent/lib/phoenix_webcomponent/pagination.ex b/apps/phoenix_webcomponent/lib/phoenix_webcomponent/pagination.ex
index ff4218ca..8498a8ce 100644
--- a/apps/phoenix_webcomponent/lib/phoenix_webcomponent/pagination.ex
+++ b/apps/phoenix_webcomponent/lib/phoenix_webcomponent/pagination.ex
@@ -12,30 +12,10 @@ defmodule Phoenix.WebComponent.Pagination do
<.wc_pagination page_num={5} page_size={15} total={100} update_event="update-page"/>
- ## Attributes
-
- * `id` - `binary`
- html attribute id
-
- * `class` - `binary`
- html attribute class
-
- * `page_size` - `integer`
- How manage items are showing in page.
-
- * `page_num` - `integer`
- Which page is showing.
-
- * `total` - `integer`
- Total item count.
-
- * `update_event` - `binary`
- Phoenix live event name for page status update.
-
"""
@doc type: :component
- attr(:id, :string,
- default: "",
+ attr(:id, :any,
+ default: false,
doc: """
html attribute id
"""
@@ -70,22 +50,13 @@ defmodule Phoenix.WebComponent.Pagination do
)
attr(:update_event, :string,
- default: "",
+ default: "update_current_page",
doc: """
Phoenix live event name for page status update.
"""
)
def wc_pagination(assigns) do
- assigns =
- assigns
- |> assign_new(:id, fn -> false end)
- |> assign_new(:class, fn -> "" end)
- |> assign_new(:page_size, fn -> 10 end)
- |> assign_new(:page_num, fn -> 1 end)
- |> assign_new(:total, fn -> 0 end)
- |> assign_new(:update_event, fn -> "update_current_page" end)
-
max_page =
if assigns.total > 0 do
(assigns.total / assigns.page_size) |> ceil
diff --git a/apps/phoenix_webcomponent/lib/phoenix_webcomponent/table.ex b/apps/phoenix_webcomponent/lib/phoenix_webcomponent/table.ex
index 6194bf51..31cdcbdd 100644
--- a/apps/phoenix_webcomponent/lib/phoenix_webcomponent/table.ex
+++ b/apps/phoenix_webcomponent/lib/phoenix_webcomponent/table.ex
@@ -30,8 +30,8 @@ defmodule Phoenix.WebComponent.Table do
"""
@doc type: :component
- attr(:id, :string,
- default: "",
+ attr(:id, :any,
+ default: false,
doc: """
html attribute id
"""
@@ -68,10 +68,7 @@ defmodule Phoenix.WebComponent.Table do
def wc_table(assigns) do
assigns =
assigns
- |> assign_new(:id, fn -> false end)
- |> assign_new(:class, fn -> "" end)
|> assign_new(:col, fn -> [] end)
- |> assign_new(:rows, fn -> [] end)
~H"""