diff --git a/src/components/dropdown/dropdown.js b/src/components/dropdown/dropdown.js index 1c119d5c1dc..35046a2039b 100644 --- a/src/components/dropdown/dropdown.js +++ b/src/components/dropdown/dropdown.js @@ -2,7 +2,6 @@ import Vue from '../../utils/vue' import { arrayIncludes } from '../../utils/array' import { stripTags } from '../../utils/html' import { getComponentConfig } from '../../utils/config' -import { HTMLElement } from '../../utils/safe-types' import idMixin from '../../mixins/id' import dropdownMixin from '../../mixins/dropdown' import normalizeSlotMixin from '../../mixins/normalize-slot' @@ -72,12 +71,6 @@ export const props = { role: { type: String, default: 'menu' - }, - boundary: { - // String: `scrollParent`, `window` or `viewport` - // HTMLElement: HTML Element reference - type: [String, HTMLElement], - default: 'scrollParent' } } diff --git a/src/components/nav/package.json b/src/components/nav/package.json index 23b5c2a39c8..192dcfbed5c 100644 --- a/src/components/nav/package.json +++ b/src/components/nav/package.json @@ -143,6 +143,11 @@ { "prop": "noCaret", "description": "Hide the caret indicator on the toggle button" + }, + { + "prop": "boundary", + "version": "2.4.0", + "description": "The boundary constraint of the menu: 'scrollParent', 'window', 'viewport', or a reference to an HTMLElement. Has no effect when dropdown is inside a b-navbar" } ], "slots": [ diff --git a/src/mixins/dropdown.js b/src/mixins/dropdown.js index 54bc83fe774..77ef05f2bf4 100644 --- a/src/mixins/dropdown.js +++ b/src/mixins/dropdown.js @@ -4,6 +4,7 @@ import { BvEvent } from '../utils/bv-event.class' import { closest, contains, isVisible, requestAF, selectAll } from '../utils/dom' import { hasTouchSupport } from '../utils/env' import { isNull } from '../utils/inspect' +import { HTMLElement } from '../utils/safe-types' import { warn } from '../utils/warn' import clickOutMixin from './click-out' import focusInMixin from './focus-in' @@ -108,6 +109,12 @@ export default { popperOpts: { // type: Object, default: () => {} + }, + boundary: { + // String: `scrollParent`, `window` or `viewport` + // HTMLElement: HTML Element reference + type: [String, HTMLElement], + default: 'scrollParent' } }, data() {