Packages
mbta_metro
0.0.13
1.1.2
1.1.1
1.1.0
1.0.1
1.0.0
0.3.3
0.3.2
0.3.1
0.3.0
0.2.4
0.2.3
0.2.2
0.2.1
0.2.0
0.1.21
0.1.20
0.1.19
0.1.18
0.1.17
0.1.16
0.1.15
0.1.14
0.1.13
0.1.12
0.1.11
0.1.10
0.1.9
0.1.8
0.1.7
0.1.6
0.1.5
0.1.4
0.1.3
0.1.2
0.1.1
0.1.0
0.0.65
0.0.64
0.0.62
0.0.61
0.0.60
0.0.58
0.0.57
0.0.56
0.0.55
0.0.54
0.0.53
0.0.52
0.0.51
0.0.50
0.0.49
0.0.48
0.0.47
0.0.46
0.0.45
0.0.44
0.0.43
0.0.42
0.0.41
0.0.40
0.0.39
0.0.34
0.0.30
0.0.27
0.0.20
0.0.19
0.0.18
0.0.17
0.0.16
0.0.15
0.0.14
0.0.13
0.0.12
0.0.11
0.0.10
0.0.9
0.0.8
0.0.7
0.0.6
0.0.5
0.0.4
0.0.3
0.0.2
0.0.1
0.0.1-alpha
A Phoenix LiveView component library
Current section
Files
Jump to
Current section
Files
lib/mbta_metro/components/feedback.ex
defmodule MbtaMetro.Components.Feedback do
@moduledoc false
use Phoenix.Component
attr :kind, :atom, values: [:info, :error, :success, :warning], doc: "used for styling"
slot :inner_block, required: true
@doc """
Generates a generic feedback message.
Example:
<.feedback kind={:info}>This is an info message.</.feedback>
"""
def feedback(%{kind: :error} = assigns) do
~H"""
<p class="flex gap-2 text-sm leading-6 text-red-600 my-2">
<Heroicons.exclamation_circle class="h-6 w-6 flex-none" />
<%= render_slot(@inner_block) %>
</p>
"""
end
def feedback(%{kind: :info} = assigns) do
~H"""
<p class="flex gap-2 text-sm leading-6 text-blue-600 my-2">
<Heroicons.information_circle class="h-6 w-6 flex-none" />
<%= render_slot(@inner_block) %>
</p>
"""
end
def feedback(%{kind: :success} = assigns) do
~H"""
<p class="flex gap-2 text-sm leading-6 text-green-600 my-2">
<Heroicons.check_circle class="h-6 w-6 flex-none" />
<%= render_slot(@inner_block) %>
</p>
"""
end
def feedback(%{kind: :warning} = assigns) do
~H"""
<p class="flex gap-2 text-sm leading-6 text-yellow-600 my-2">
<Heroicons.exclamation_triangle class="h-6 w-6 flex-none" />
<%= render_slot(@inner_block) %>
</p>
"""
end
end