FrappeUIPhx.Components.Anchor (frappe_ui_phx v0.3.1)

Copy Markdown View Source

Posicionamento de flutuantes por CSS Anchor Positioning (sem JS).

Funções puras compartilhadas por Dropdown, Popover e afins: o id entra em CSS inline, então tem pré-condição de formato (falha alto se inválido).

Summary

Functions

Casca visual comum dos painéis flutuantes (Dropdown, Popover, ContextMenu, DatePicker, OptionList): fundo elevado, borda, raio e sombra. Cada componente soma só o que é seu (largura, espaçamento).

Estilo do painel, ancorado ao gatilho e invertendo quando falta espaço.

Placements aceitos.

Estilo do gatilho: define o nome da âncora.

Valida o id (vira parte de CSS inline) e o devolve.

Functions

panel_classes()

@spec panel_classes() :: String.t()

Casca visual comum dos painéis flutuantes (Dropdown, Popover, ContextMenu, DatePicker, OptionList): fundo elevado, borda, raio e sombra. Cada componente soma só o que é seu (largura, espaçamento).

panel_style(id, placement \\ :bottom)

@spec panel_style(term(), atom()) :: String.t()

Estilo do painel, ancorado ao gatilho e invertendo quando falta espaço.

placements()

Placements aceitos.

trigger_style(id)

@spec trigger_style(term()) :: String.t()

Estilo do gatilho: define o nome da âncora.

valid_id!(id, component)

@spec valid_id!(term(), String.t()) :: String.t()

Valida o id (vira parte de CSS inline) e o devolve.