Skip to content

Commit 7d7c272

Browse files
authored
feat(dropdown): remove deprecated triggers prop (#1557)
- remove deprecated `triggers` prop in favor of the `openOnClick`, `openOnHover` and `openOnContextmenu` props BREAKING CHANGE: The `triggers` prop in ODropdown got removed.
1 parent 5280001 commit 7d7c272

File tree

4 files changed

+16
-30
lines changed

4 files changed

+16
-30
lines changed

packages/docs/components/Dropdown.md

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,6 @@ The component implements the W3C ARIA APG [Combobox Pattern](https://www.w3.org/
7070
| selectable | Enables item selection | boolean | - | <code style='white-space: nowrap; padding: 0;'>false</code> |
7171
| teleport | Append the component to another part of the DOM.<br/>Set `true` to append the component to the body.<br/>In addition, any CSS selector string or an actual DOM node can be used. | boolean \| object \| string | - | <div><small>From <b>config</b>:</small></div><code style='white-space: nowrap; padding: 0;'>dropdown: {<br>&nbsp;&nbsp;teleport: false<br>}</code> |
7272
| triggerTag | Dropdown trigger tag name | DynamicComponent | - | <div><small>From <b>config</b>:</small></div><code style='white-space: nowrap; padding: 0;'>dropdown: {<br>&nbsp;&nbsp;triggerTag: "div"<br>}</code> |
73-
| triggers | Dropdown will be triggered by any events | ("focus" \| "click" \| "hover" \| "contextmenu")[] | `click`, `hover`, `contextmenu`, `focus` | <div><small>From <b>config</b>:</small></div><code style='white-space: nowrap; padding: 0;'>dropdown: {<br>&nbsp;&nbsp;triggers: []<br>}</code> |
7473

7574
### Events
7675

packages/oruga/src/components/dropdown/Dropdown.vue

Lines changed: 6 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -79,7 +79,6 @@ const props = withDefaults(defineProps<DropdownProps<T, IsMultiple>>(), {
7979
menuTag: () => getDefault("dropdown.menuTag", "div"),
8080
itemTag: () => getDefault("dropdown.itemTag", "div"),
8181
triggerTag: () => getDefault("dropdown.triggerTag", "div"),
82-
triggers: () => getDefault("dropdown.triggers", []),
8382
openOnClick: () => getDefault("tooltip.openOnClick", true),
8483
openOnContextmenu: () => getDefault("tooltip.openOnContextmenu", false),
8584
openOnHover: () => getDefault("tooltip.openOnHover", false),
@@ -224,9 +223,7 @@ const menuStyle = computed(() => ({
224223
overflow: props.scrollable ? "auto" : null,
225224
}));
226225
227-
const hoverable = computed(
228-
() => props.openOnHover || props.triggers.includes("hover"),
229-
);
226+
const hoverable = computed(() => props.openOnHover);
230227
231228
const toggleScroll = usePreventScrolling(props.clipScroll);
232229
@@ -362,31 +359,30 @@ function onTriggerClick(event: Event): void {
362359
// check if is mobile native and hoverable together
363360
if (isMobileNative && hoverable.value) toggle(event);
364361
// check normal click conditions
365-
if (!(props.openOnClick || props.triggers.includes("click"))) return;
362+
if (!props.openOnClick) return;
366363
toggle(event);
367364
}
368365
369366
function onTriggerContextMenu(event: Event): void {
370-
if (!(props.openOnContextmenu || props.triggers.includes("contextmenu")))
371-
return;
367+
if (!props.openOnContextmenu) return;
372368
event.preventDefault();
373369
open(event);
374370
}
375371
376372
function onTriggerFocus(event: Event): void {
377-
if (!(props.openOnFocus || props.triggers.includes("focus"))) return;
373+
if (!props.openOnFocus) return;
378374
open(event);
379375
}
380376
381377
function onTriggerHover(event: Event): void {
382378
if (isMobileNative) return;
383-
if (!(props.openOnHover || props.triggers.includes("hover"))) return;
379+
if (!props.openOnHover) return;
384380
open(event);
385381
}
386382
387383
function onTriggerHoverLeave(event: Event): void {
388384
if (isMobileNative) return;
389-
if (!(props.openOnHover || props.triggers.includes("hover"))) return;
385+
if (!props.openOnHover) return;
390386
close(event);
391387
}
392388

packages/oruga/src/components/dropdown/props.ts

Lines changed: 4 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -56,19 +56,14 @@ export type DropdownProps<T, IsMultiple extends boolean = false> = {
5656
itemTag?: DynamicComponent;
5757
/** Dropdown trigger tag name */
5858
triggerTag?: DynamicComponent;
59-
/**
60-
* Dropdown will be triggered by any events
61-
* @values click, hover, contextmenu, focus
62-
*/
63-
triggers?: ("click" | "hover" | "contextmenu" | "focus")[];
64-
/** Show when clicked on the trigger */
65-
openOnClick?: boolean;
6659
/** Show when hover over the trigger */
6760
openOnHover?: boolean;
68-
/** Show when right clicked on the trigger */
69-
openOnContextmenu?: boolean;
7061
/** Show when trigger get focused */
7162
openOnFocus?: boolean;
63+
/** Show when clicked on the trigger */
64+
openOnClick?: boolean;
65+
/** Show when right clicked on the trigger */
66+
openOnContextmenu?: boolean;
7267
/** Dropdown delay before it appears (number in ms) */
7368
delay?: number;
7469
/** Keep dropdown list open when item get selected */

packages/oruga/src/components/types.ts

Lines changed: 6 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1126,25 +1126,21 @@ In addition, any CSS selector string or an actual DOM node can be used.
11261126
*/
11271127
triggerTag: DynamicComponent;
11281128
/**
1129-
* Dropdown will be triggered by any events
1129+
* Show when hover over the trigger
11301130
*/
1131-
triggers: ("focus" | "click" | "hover" | "contextmenu")[];
1131+
openOnHover: boolean;
11321132
/**
1133-
* Show when clicked on the trigger
1133+
* Show when trigger get focused
11341134
*/
1135-
openOnClick: boolean;
1135+
openOnFocus: boolean;
11361136
/**
1137-
* Show when hover over the trigger
1137+
* Show when clicked on the trigger
11381138
*/
1139-
openOnHover: boolean;
1139+
openOnClick: boolean;
11401140
/**
11411141
* Show when right clicked on the trigger
11421142
*/
11431143
openOnContextmenu: boolean;
1144-
/**
1145-
* Show when trigger get focused
1146-
*/
1147-
openOnFocus: boolean;
11481144
/**
11491145
* Keep dropdown list open when item get selected
11501146
*/

0 commit comments

Comments
 (0)