mirror of
https://github.com/carbon-design-system/carbon-components-svelte.git
synced 2025-09-15 02:11:05 +00:00
Merge 070a719150
into 4881ff7ffd
This commit is contained in:
commit
6b1fb7ee56
2 changed files with 14 additions and 2 deletions
|
@ -55,6 +55,9 @@
|
|||
/** Obtain a reference to the overflow menu element */
|
||||
export let menuRef = null;
|
||||
|
||||
/** Persist the open state when click the items */
|
||||
export let persistentClickItems = true;
|
||||
|
||||
import {
|
||||
createEventDispatcher,
|
||||
getContext,
|
||||
|
@ -203,8 +206,11 @@
|
|||
class:bx--overflow-menu--xl="{size === 'xl'}"
|
||||
{...$$restProps}
|
||||
on:click
|
||||
on:click="{({ target }) => {
|
||||
if (!(menuRef && menuRef.contains(target))) {
|
||||
on:click="{(e) => {
|
||||
if (persistentClickItems) {
|
||||
e.stopPropagation(); // this propagate to window.click to cause close
|
||||
}
|
||||
if (!(menuRef && menuRef.contains(e.target))) {
|
||||
open = !open;
|
||||
if (!open) dispatch('close');
|
||||
}
|
||||
|
|
6
types/OverflowMenu/OverflowMenu.svelte.d.ts
vendored
6
types/OverflowMenu/OverflowMenu.svelte.d.ts
vendored
|
@ -34,6 +34,12 @@ type $Props = {
|
|||
*/
|
||||
flipped?: boolean;
|
||||
|
||||
/**
|
||||
* Set to `true` to keep menu open after clicking the items
|
||||
* @default false
|
||||
*/
|
||||
persistentClickItems?: boolean;
|
||||
|
||||
/**
|
||||
* Specify the menu options class
|
||||
* @default undefined
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue