Packages
corex
0.1.1
0.1.2
0.1.1
0.1.0
0.1.0-rc.1
0.1.0-rc.0
0.1.0-beta.5
0.1.0-beta.4
0.1.0-beta.3
0.1.0-beta.2
0.1.0-beta.1
0.1.0-alpha.33
0.1.0-alpha.32
0.1.0-alpha.31
0.1.0-alpha.30
0.1.0-alpha.29
0.1.0-alpha.28
0.1.0-alpha.27
0.1.0-alpha.26
0.1.0-alpha.25
0.1.0-alpha.24
0.1.0-alpha.23
0.1.0-alpha.22
0.1.0-alpha.21
0.1.0-alpha.20
0.1.0-alpha.19
0.1.0-alpha.18
0.1.0-alpha.17
0.1.0-alpha.16
0.1.0-alpha.15
0.1.0-alpha.14
0.1.0-alpha.13
0.1.0-alpha.12
0.1.0-alpha.11
0.1.0-alpha.10
0.1.0-alpha.9
0.1.0-alpha.8
0.1.0-alpha.7
0.1.0-alpha.6
0.1.0-alpha.5
0.1.0-alpha.4
0.1.0-alpha.3
0.1.0-alpha.2
0.1.0-alpha.1
Accessible and unstyled UI components library written in Elixir and TypeScript that integrates Zag.js state machines into the Phoenix Framework.
Current section
Files
Jump to
Current section
Files
lib/components/toast/connect.ex
defmodule Corex.Toast.Connect do
@moduledoc false
alias Corex.Selectors
alias Corex.Toast.Anatomy.Group
alias Phoenix.LiveView.JS
import Corex.Helpers, only: [maybe_put_dir_from: 2]
@spec group(Group.t()) :: map()
def group(assigns) do
%{
"data-scope" => "toast",
"data-part" => "group",
"id" => "toast:#{assigns.id}:group",
"data-orientation" => Map.get(assigns, :orientation, "vertical")
}
|> maybe_put_dir_from(assigns)
end
@spec ignore_group(Group.t()) :: JS.t()
def ignore_group(assigns) do
JS.ignore_attributes(Group.ignored_attrs(),
to: Selectors.css_id("toast:#{assigns.id}:group")
)
end
end