mirror of
https://github.com/adoyle0/thaw.git
synced 2025-02-08 19:03:09 -05:00
feat: change to PopoverTrigger class (#59)
This commit is contained in:
parent
5ab09bb281
commit
3b63be026e
2 changed files with 9 additions and 14 deletions
|
@ -272,16 +272,6 @@ pub fn PopoverPage() -> impl IntoView {
|
||||||
<td>
|
<td>
|
||||||
<Text code=true>"Default::default()"</Text>
|
<Text code=true>"Default::default()"</Text>
|
||||||
</td>
|
</td>
|
||||||
<td>"Addtional classes for the trigger element."</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>"content_class"</td>
|
|
||||||
<td>
|
|
||||||
<Text code=true>"MaybeSignal<String>"</Text>
|
|
||||||
</td>
|
|
||||||
<td>
|
|
||||||
<Text code=true>"Default::default()"</Text>
|
|
||||||
</td>
|
|
||||||
<td>"Content class of the popover."</td>
|
<td>"Content class of the popover."</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
|
|
|
@ -12,13 +12,14 @@ pub use theme::PopoverTheme;
|
||||||
|
|
||||||
#[slot]
|
#[slot]
|
||||||
pub struct PopoverTrigger {
|
pub struct PopoverTrigger {
|
||||||
|
#[prop(optional, into)]
|
||||||
|
class: MaybeSignal<String>,
|
||||||
children: Children,
|
children: Children,
|
||||||
}
|
}
|
||||||
|
|
||||||
#[component]
|
#[component]
|
||||||
pub fn Popover(
|
pub fn Popover(
|
||||||
#[prop(optional, into)] class: MaybeSignal<String>,
|
#[prop(optional, into)] class: MaybeSignal<String>,
|
||||||
#[prop(optional, into)] content_class: MaybeSignal<String>,
|
|
||||||
#[prop(optional)] trigger_type: PopoverTriggerType,
|
#[prop(optional)] trigger_type: PopoverTriggerType,
|
||||||
popover_trigger: PopoverTrigger,
|
popover_trigger: PopoverTrigger,
|
||||||
#[prop(optional)] placement: PopoverPlacement,
|
#[prop(optional)] placement: PopoverPlacement,
|
||||||
|
@ -106,16 +107,20 @@ pub fn Popover(
|
||||||
is_show_popover.update(|show| *show = !*show);
|
is_show_popover.update(|show| *show = !*show);
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
let PopoverTrigger {
|
||||||
|
class: trigger_class,
|
||||||
|
children: trigger_children,
|
||||||
|
} = popover_trigger;
|
||||||
|
|
||||||
view! {
|
view! {
|
||||||
<Binder target_ref>
|
<Binder target_ref>
|
||||||
<div
|
<div
|
||||||
class=class_list!["thaw-popover-trigger", move || class.get()]
|
class=class_list!["thaw-popover-trigger", move || trigger_class.get()]
|
||||||
ref=target_ref
|
ref=target_ref
|
||||||
on:mouseenter=on_mouse_enter
|
on:mouseenter=on_mouse_enter
|
||||||
on:mouseleave=on_mouse_leave
|
on:mouseleave=on_mouse_leave
|
||||||
>
|
>
|
||||||
{(popover_trigger.children)()}
|
{trigger_children()}
|
||||||
</div>
|
</div>
|
||||||
<Follower slot show=is_show_popover placement>
|
<Follower slot show=is_show_popover placement>
|
||||||
<div
|
<div
|
||||||
|
@ -125,7 +130,7 @@ pub fn Popover(
|
||||||
on:mouseenter=on_mouse_enter
|
on:mouseenter=on_mouse_enter
|
||||||
on:mouseleave=on_mouse_leave
|
on:mouseleave=on_mouse_leave
|
||||||
>
|
>
|
||||||
<div class=move || content_class.get()>{children()}</div>
|
<div class=move || class.get()>{children()}</div>
|
||||||
<div class="thaw-popover__angle-container">
|
<div class="thaw-popover__angle-container">
|
||||||
<div class="thaw-popover__angle"></div>
|
<div class="thaw-popover__angle"></div>
|
||||||
</div>
|
</div>
|
||||||
|
|
Loading…
Add table
Reference in a new issue