Packages
corex
0.1.0-rc.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/carousel/anatomy.ex
defmodule Corex.Carousel.Anatomy do
@moduledoc false
defmodule Props do
@moduledoc false
@enforce_keys [:id]
defstruct [
:id,
slide_count: 0,
page: 1,
dir: "ltr",
orientation: "horizontal",
slides_per_page: 1,
slides_per_move: nil,
loop: false,
autoplay: false,
autoplay_delay: 4000,
allow_mouse_drag: false,
spacing: "0px",
padding: nil,
in_view_threshold: 0.6,
snap_type: "mandatory",
auto_size: false,
on_page_change: nil,
on_page_change_client: nil
]
@type t :: %__MODULE__{
id: String.t(),
slide_count: non_neg_integer(),
page: non_neg_integer(),
dir: String.t(),
orientation: String.t(),
slides_per_page: non_neg_integer(),
slides_per_move: non_neg_integer() | :auto | nil,
loop: boolean(),
autoplay: boolean(),
autoplay_delay: non_neg_integer(),
allow_mouse_drag: boolean(),
spacing: String.t(),
padding: String.t() | nil,
in_view_threshold: float(),
snap_type: String.t(),
auto_size: boolean(),
on_page_change: String.t() | nil,
on_page_change_client: String.t() | nil
}
end
defmodule Root do
@moduledoc false
defstruct [:id, :dir, :orientation, :slides_per_page, :spacing, :aria_label]
@type t :: %__MODULE__{
id: String.t(),
dir: String.t(),
orientation: String.t(),
slides_per_page: non_neg_integer(),
spacing: String.t(),
aria_label: String.t() | nil
}
@ignored_attrs [
"id",
"dir",
"data-orientation",
"style",
"aria-label",
"data-page",
"data-slide-count"
]
def ignored_attrs, do: @ignored_attrs
end
defmodule Control do
@moduledoc false
defstruct [:id, :orientation]
@type t :: %__MODULE__{id: String.t(), orientation: String.t()}
@ignored_attrs ["id", "data-orientation"]
def ignored_attrs, do: @ignored_attrs
end
defmodule ItemGroup do
@moduledoc false
defstruct [:id, :orientation, :dir]
@type t :: %__MODULE__{id: String.t(), orientation: String.t(), dir: String.t()}
@ignored_attrs [
"id",
"dir",
"data-orientation",
"style",
"tabindex",
"aria-live",
"scroll-snap-type",
"role"
]
def ignored_attrs, do: @ignored_attrs
end
defmodule Item do
@moduledoc false
defstruct [:id, :index, :orientation, :slide_count]
@type t :: %__MODULE__{
id: String.t(),
index: non_neg_integer(),
orientation: String.t(),
slide_count: non_neg_integer()
}
@ignored_attrs [
"id",
"dir",
"data-orientation",
"data-index",
"style",
"role",
"aria-label",
"aria-hidden",
"inert",
"data-current",
"data-in-view",
"tabindex"
]
def ignored_attrs, do: @ignored_attrs
end
defmodule PrevTrigger do
@moduledoc false
defstruct [:id, :disabled]
@type t :: %__MODULE__{id: String.t(), disabled: boolean()}
@ignored_attrs ["id", "type", "disabled", "aria-label"]
def ignored_attrs, do: @ignored_attrs
end
defmodule NextTrigger do
@moduledoc false
defstruct [:id, :disabled]
@type t :: %__MODULE__{id: String.t(), disabled: boolean()}
@ignored_attrs ["id", "type", "disabled", "aria-label"]
def ignored_attrs, do: @ignored_attrs
end
defmodule IndicatorGroup do
@moduledoc false
defstruct [:id, :orientation, :dir]
@type t :: %__MODULE__{id: String.t(), orientation: String.t(), dir: String.t()}
@ignored_attrs ["id", "dir", "data-orientation"]
def ignored_attrs, do: @ignored_attrs
end
defmodule Indicator do
@moduledoc false
defstruct [:id, :index, :orientation, :dir, :page]
@type t :: %__MODULE__{
id: String.t(),
index: non_neg_integer(),
orientation: String.t(),
dir: String.t(),
page: non_neg_integer()
}
@ignored_attrs [
"id",
"dir",
"data-orientation",
"data-index",
"data-current",
"type",
"aria-label",
"aria-current",
"disabled"
]
def ignored_attrs, do: @ignored_attrs
end
end