Corex.FloatingPanel
(Corex v0.1.0-alpha.29)
View Source
Phoenix implementation of Zag.js Floating Panel.
Examples
Basic
<.floating_panel id="my-floating-panel" default_open={false} class="floating-panel">
<:open_trigger>Close panel</:open_trigger>
<:closed_trigger>Open panel</:closed_trigger>
<:minimize_trigger>
<.icon name="hero-arrow-down-left" class="icon" />
</:minimize_trigger>
<:maximize_trigger>
<.icon name="hero-arrows-pointing-out" class="icon" />
</:maximize_trigger>
<:default_trigger>
<.icon name="hero-rectangle-stack" class="icon" />
</:default_trigger>
<:close_trigger>
<.icon name="hero-x-mark" class="icon" />
</:close_trigger>
<:content>
<p>
Congue molestie ipsum gravida a. Sed ac eros luctus, cursus turpis
non, pellentesque elit. Pellentesque sagittis fermentum.
</p>
</:content>
</.floating_panel>Required slots: :open_trigger, :closed_trigger, :minimize_trigger, :maximize_trigger, :default_trigger, :close_trigger, :content.
Styling
Use data attributes to target elements:
[data-scope="floating-panel"][data-part="root"] {}
[data-scope="floating-panel"][data-part="trigger"] {}
[data-scope="floating-panel"][data-part="positioner"] {}
[data-scope="floating-panel"][data-part="content"] {}
[data-scope="floating-panel"][data-part="title"] {}
[data-scope="floating-panel"][data-part="header"] {}
[data-scope="floating-panel"][data-part="body"] {}
[data-scope="floating-panel"][data-part="drag-trigger"] {}
[data-scope="floating-panel"][data-part="resize-trigger"] {}
[data-scope="floating-panel"][data-part="close-trigger"] {}
[data-scope="floating-panel"][data-part="control"] {}
[data-scope="floating-panel"][data-part="stage-trigger"] {}If you wish to use the default Corex styling, you can use the class floating-panel on the component.
This requires to install Mix.Tasks.Corex.Design first and import the component css file.
@import "../corex/main.css";
@import "../corex/tokens/themes/neo/light.css";
@import "../corex/components/floating-panel.css";You can then use modifiers
<.floating_panel class="floating-panel floating-panel--accent floating-panel--lg">
</.floating_panel>Learn more about modifiers and Corex Design
Summary
Components
Attributes
id(:string)open(:boolean) - Defaults tonil.default_open(:boolean) - Defaults tofalse.controlled(:boolean) - Defaults tofalse.draggable(:boolean) - Defaults totrue.resizable(:boolean) - Defaults totrue.allow_overflow(:boolean) - Defaults totrue.close_on_escape(:boolean) - Defaults totrue.disabled(:boolean) - Defaults tofalse.dir(:string) - Defaults tonil.Must be one ofnil,"ltr", or"rtl".size(:map) - Defaults tonil.default_size(:map) - Defaults tonil.position(:map) - Defaults tonil.default_position(:map) - Defaults tonil.min_size(:map) - Defaults tonil.max_size(:map) - Defaults tonil.persist_rect(:boolean) - Defaults tofalse.grid_size(:integer) - Defaults to1.on_open_change(:string) - Defaults tonil.on_open_change_client(:string) - Defaults tonil.on_position_change(:string) - Defaults tonil.on_size_change(:string) - Defaults tonil.on_stage_change(:string) - Defaults tonil.- Global attributes are accepted.
Slots
open_trigger(required)closed_trigger(required)minimize_trigger(required)maximize_trigger(required)default_trigger(required)close_trigger(required)content(required)