Packages
corex
0.1.0-rc.0
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/checkbox/api.ex
defmodule Corex.Checkbox.Api do
@moduledoc false
alias Corex.Api.RespondTo
alias Phoenix.LiveView.JS
def set_checked(checkbox_id, checked) when is_binary(checkbox_id) and is_boolean(checked) do
JS.dispatch("corex:checkbox:set-checked",
to: "##{checkbox_id}",
detail: %{checked: checked},
bubbles: false
)
end
def set_checked(socket, checkbox_id, checked)
when is_struct(socket, Phoenix.LiveView.Socket) and is_binary(checkbox_id) and
is_boolean(checked) do
RespondTo.push_event(socket, "checkbox_set_checked", %{
"id" => checkbox_id,
"checked" => checked
})
end
def toggle_checked(checkbox_id) when is_binary(checkbox_id) do
JS.dispatch("corex:checkbox:toggle-checked",
to: "##{checkbox_id}",
bubbles: false
)
end
def toggle_checked(socket, checkbox_id)
when is_struct(socket, Phoenix.LiveView.Socket) and is_binary(checkbox_id) do
RespondTo.push_event(socket, "checkbox_toggle_checked", %{"id" => checkbox_id})
end
end