🌐 AI搜索 & 代理 主页
Skip to content

Commit b49e704

Browse files
authored
chore: release v2.4.0
2 parents 7f3577f + f317cb5 commit b49e704

File tree

22 files changed

+673
-376
lines changed

22 files changed

+673
-376
lines changed

CHANGELOG.md

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,34 @@
44
> [standard-version](https://github.com/conventional-changelog/standard-version) for commit
55
> guidelines.
66
7+
<a name="2.4.0"></a>
8+
9+
## [v2.4.0](https://github.com/bootstrap-vue/bootstrap-vue/compare/v2.3.0...v2.4.0)
10+
11+
Released: 2020-02-01
12+
13+
### Features v2.4.0
14+
15+
- **b-modal:** add `ignore-enforce-focus-selector` prop (closes
16+
[#4537](https://github.com/bootstrap-vue/bootstrap-vue/issues/4537))
17+
([#4702](https://github.com/bootstrap-vue/bootstrap-vue/issues/4702))
18+
([c3ac992](https://github.com/bootstrap-vue/bootstrap-vue/commit/c3ac99283927b5261d1df05d3c479c534011d7c5))
19+
- **b-nav-item-dropdown:** add `boundary` prop, applicable when not in `b-navbar` (closes
20+
[#4684](https://github.com/bootstrap-vue/bootstrap-vue/issues/4684))
21+
([#4691](https://github.com/bootstrap-vue/bootstrap-vue/issues/4691))
22+
([3a50ad8](https://github.com/bootstrap-vue/bootstrap-vue/commit/3a50ad85e85e1c6dc55a36665062180687078708))
23+
24+
### Bug Fixes v2.4.0
25+
26+
- **b-dropdown:** focus-in handling for Safari and Firefox on macOS/iOS (closes
27+
[#4328](https://github.com/bootstrap-vue/bootstrap-vue/issues/4328))
28+
([#4426](https://github.com/bootstrap-vue/bootstrap-vue/issues/4426))
29+
([2eab55b](https://github.com/bootstrap-vue/bootstrap-vue/commit/2eab55b4672a35a487b30f0f64c63b887b361473))
30+
- **b-form-input, b-form-textarea:** properly handle out-of-sync values (closes
31+
[#4695](https://github.com/bootstrap-vue/bootstrap-vue/issues/4695))
32+
([#4701](https://github.com/bootstrap-vue/bootstrap-vue/issues/4701))
33+
([954176d](https://github.com/bootstrap-vue/bootstrap-vue/commit/954176d733dccdd074f5b6cb31c4041081a3b206))
34+
735
<a name="2.3.0"></a>
836

937
## [v2.3.0](https://github.com/bootstrap-vue/bootstrap-vue/compare/v2.2.2...v2.3.0)

package.json

Lines changed: 19 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "bootstrap-vue",
3-
"version": "2.3.0",
3+
"version": "2.4.0",
44
"description": "BootstrapVue, with over 40 plugins and more than 80 custom components, custom directives, and over 300 icons, provides one of the most comprehensive implementations of Bootstrap v4 components and grid system for Vue.js. With extensive and automated WAI-ARIA accessibility markup.",
55
"main": "dist/bootstrap-vue.common.js",
66
"web": "dist/bootstrap-vue.js",
@@ -28,24 +28,24 @@
2828
"url": "https://github.com/tmorehouse"
2929
},
3030
{
31-
"name": "SirLamer",
32-
"url": "https://github.com/SirLamer"
31+
"name": "Jacob Müller",
32+
"url": "https://github.com/jackmu95"
3333
},
3434
{
3535
"name": "Vitaly Mosin",
3636
"url": "https://github.com/mosinve"
3737
},
38-
{
39-
"name": "vizo",
40-
"url": "https://github.com/vizo"
41-
},
4238
{
4339
"name": "Alex Regan",
4440
"url": "https://github.com/alexsasharegan"
4541
},
4642
{
47-
"name": "Jacob Müller",
48-
"url": "https://github.com/jackmu95"
43+
"name": "SirLamer",
44+
"url": "https://github.com/SirLamer"
45+
},
46+
{
47+
"name": "vizo",
48+
"url": "https://github.com/vizo"
4949
}
5050
],
5151
"files": [
@@ -96,12 +96,12 @@
9696
"vue-functional-data-merge": "^3.1.0"
9797
},
9898
"devDependencies": {
99-
"@babel/cli": "^7.8.3",
100-
"@babel/core": "^7.8.3",
99+
"@babel/cli": "^7.8.4",
100+
"@babel/core": "^7.8.4",
101101
"@babel/plugin-transform-modules-commonjs": "^7.8.3",
102102
"@babel/plugin-transform-runtime": "^7.8.3",
103-
"@babel/preset-env": "^7.8.3",
104-
"@babel/standalone": "^7.8.3",
103+
"@babel/preset-env": "^7.8.4",
104+
"@babel/standalone": "^7.8.4",
105105
"@nuxtjs/google-analytics": "^2.2.3",
106106
"@nuxtjs/pwa": "^3.0.0-beta.19",
107107
"@vue/test-utils": "1.0.0-beta.29",
@@ -112,13 +112,13 @@
112112
"babel-plugin-istanbul": "^6.0.0",
113113
"bootstrap-icons": "^1.0.0-alpha2",
114114
"clean-css-cli": "^4.3.0",
115-
"codecov": "^3.6.2",
115+
"codecov": "^3.6.4",
116116
"codemirror": "^5.51.0",
117117
"codesandbox": "^2.1.11",
118118
"core-js": ">=2.6.5 <3.0.0",
119-
"cross-env": "^6.0.3",
119+
"cross-env": "^7.0.0",
120120
"eslint": "^6.8.0",
121-
"eslint-config-prettier": "^6.9.0",
121+
"eslint-config-prettier": "^6.10.0",
122122
"eslint-config-standard": "^14.1.0",
123123
"eslint-config-vue": "^2.0.2",
124124
"eslint-plugin-import": "^2.20.0",
@@ -131,12 +131,12 @@
131131
"eslint-plugin-vue": "^6.1.2",
132132
"esm": "^3.2.25",
133133
"gh-pages": "^2.2.0",
134-
"highlight.js": "^9.18.0",
134+
"highlight.js": "^9.18.1",
135135
"html-loader": "^0.5.5",
136136
"husky": "^4.2.1",
137137
"jest": "^25.1.0",
138138
"jest-environment-jsdom-fourteen": "^1.0.1",
139-
"lint-staged": "^10.0.2",
139+
"lint-staged": "^10.0.7",
140140
"loader-utils": "^1.2.3",
141141
"lodash": "^4.17.15",
142142
"marked": "^0.8.0",
@@ -145,7 +145,7 @@
145145
"postcss-cli": "^7.1.0",
146146
"prettier": "1.14.3",
147147
"require-context": "^1.1.0",
148-
"rollup": "^1.29.1",
148+
"rollup": "^1.31.0",
149149
"rollup-plugin-babel": "^4.3.3",
150150
"rollup-plugin-commonjs": "^10.1.0",
151151
"rollup-plugin-node-resolve": "^5.2.0",

src/components/dropdown/README.md

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -708,13 +708,6 @@ The `.dropdown-menu` is the `<ul>` element, while dropdown items (items, buttons
708708
headers, and dividers) are wrapped in an `<li>` element. If creating custom items to place inside
709709
the dropdown menu, ensure they are wrapped with a plain `<li>`.
710710

711-
On touch-enabled devices, opening a `<b-dropdown>` adds empty (noop) `mouseover` handlers to the
712-
immediate children of the `<body>` element. This admittedly ugly hack is necessary to work around a
713-
[quirk in iOS' event delegation](https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html),
714-
which would otherwise prevent a tap anywhere outside of the dropdown from triggering the code that
715-
closes the dropdown. Once the dropdown is closed, these additional empty `mouseover` handlers are
716-
removed.
717-
718711
## See also
719712

720713
- [`<b-nav-item-dropdown>`](/docs/components/nav#dropdown-support) for dropdown support inside

src/components/dropdown/dropdown-item-button.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import Vue from '../../utils/vue'
2-
import nomalizeSlotMixin from '../../mixins/normalize-slot'
2+
import normalizeSlotMixin from '../../mixins/normalize-slot'
33

44
export const props = {
55
active: {
@@ -23,7 +23,7 @@ export const props = {
2323
// @vue/component
2424
export const BDropdownItemButton = /*#__PURE__*/ Vue.extend({
2525
name: 'BDropdownItemButton',
26-
mixins: [nomalizeSlotMixin],
26+
mixins: [normalizeSlotMixin],
2727
inheritAttrs: false,
2828
inject: {
2929
bvDropdown: {

src/components/dropdown/dropdown-item.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,14 @@
11
import Vue from '../../utils/vue'
22
import { requestAF } from '../../utils/dom'
3-
import nomalizeSlotMixin from '../../mixins/normalize-slot'
3+
import normalizeSlotMixin from '../../mixins/normalize-slot'
44
import { BLink, propsFactory as linkPropsFactory } from '../link/link'
55

66
export const props = linkPropsFactory()
77

88
// @vue/component
99
export const BDropdownItem = /*#__PURE__*/ Vue.extend({
1010
name: 'BDropdownItem',
11-
mixins: [nomalizeSlotMixin],
11+
mixins: [normalizeSlotMixin],
1212
inheritAttrs: false,
1313
inject: {
1414
bvDropdown: {

src/components/dropdown/dropdown.js

Lines changed: 5 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@ import Vue from '../../utils/vue'
22
import { arrayIncludes } from '../../utils/array'
33
import { stripTags } from '../../utils/html'
44
import { getComponentConfig } from '../../utils/config'
5-
import { HTMLElement } from '../../utils/safe-types'
65
import idMixin from '../../mixins/id'
76
import dropdownMixin from '../../mixins/dropdown'
87
import normalizeSlotMixin from '../../mixins/normalize-slot'
@@ -72,12 +71,6 @@ export const props = {
7271
role: {
7372
type: String,
7473
default: 'menu'
75-
},
76-
boundary: {
77-
// String: `scrollParent`, `window` or `viewport`
78-
// HTMLElement: HTML Element reference
79-
type: [String, HTMLElement],
80-
default: 'scrollParent'
8174
}
8275
}
8376

@@ -153,7 +146,7 @@ export const BDropdown = /*#__PURE__*/ Vue.extend({
153146
id: this.safeId('_BV_button_')
154147
},
155148
on: {
156-
click: this.click
149+
click: this.onSplitClick
157150
}
158151
},
159152
[buttonContent]
@@ -178,8 +171,9 @@ export const BDropdown = /*#__PURE__*/ Vue.extend({
178171
'aria-expanded': this.visible ? 'true' : 'false'
179172
},
180173
on: {
181-
click: this.toggle, // click
182-
keydown: this.toggle // enter, space, down
174+
mousedown: this.onMousedown,
175+
click: this.toggle,
176+
keydown: this.toggle // Handle ENTER, SPACE and DOWN
183177
}
184178
},
185179
[this.split ? h('span', { class: ['sr-only'] }, [this.toggleText]) : buttonContent]
@@ -196,7 +190,7 @@ export const BDropdown = /*#__PURE__*/ Vue.extend({
196190
'aria-labelledby': this.safeId(this.split ? '_BV_button_' : '_BV_toggle_')
197191
},
198192
on: {
199-
keydown: this.onKeydown // up, down, esc
193+
keydown: this.onKeydown // Handle UP, DOWN and ESC
200194
}
201195
},
202196
!this.lazy || this.visible ? this.normalizeSlot('default', { hide: this.hide }) : [h()]

src/components/form-input/README.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -354,7 +354,7 @@ Formatting does not occur if a `formatter` is not provided.
354354
id="input-formatter"
355355
v-model="text1"
356356
placeholder="Enter your name"
357-
:formatter="format"
357+
:formatter="formatter"
358358
></b-form-input>
359359
</b-form-group>
360360
<p><b>Value:</b> {{ text1 }}</p>
@@ -370,7 +370,7 @@ Formatting does not occur if a `formatter` is not provided.
370370
v-model="text2"
371371
placeholder="Enter your name"
372372
lazy-formatter
373-
:formatter="format"
373+
:formatter="formatter"
374374
></b-form-input>
375375
</b-form-group>
376376
<p class="mb-0"><b>Value:</b> {{ text2 }}</p>
@@ -386,7 +386,7 @@ Formatting does not occur if a `formatter` is not provided.
386386
}
387387
},
388388
methods: {
389-
format(value, event) {
389+
formatter(value) {
390390
return value.toLowerCase()
391391
}
392392
}

src/components/form-textarea/README.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -270,7 +270,7 @@ Formatting does not occur if a `formatter` is not provided.
270270
id="textarea-formatter"
271271
v-model="text1"
272272
placeholder="Enter your text"
273-
:formatter="format"
273+
:formatter="formatter"
274274
></b-form-textarea>
275275
</b-form-group>
276276
<p style="white-space: pre-line"><b>Value:</b> {{ text1 }}</p>
@@ -286,7 +286,7 @@ Formatting does not occur if a `formatter` is not provided.
286286
v-model="text2"
287287
placeholder="Enter your text"
288288
lazy-formatter
289-
:formatter="format"
289+
:formatter="formatter"
290290
></b-form-textarea>
291291
</b-form-group>
292292
<p class="mb-0" style="white-space: pre-line"><b>Value:</b> {{ text2 }}</p>
@@ -302,7 +302,7 @@ Formatting does not occur if a `formatter` is not provided.
302302
}
303303
},
304304
methods: {
305-
format(value, event) {
305+
formatter(value) {
306306
return value.toLowerCase()
307307
}
308308
}

src/components/modal/README.md

Lines changed: 17 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1156,8 +1156,23 @@ Avoid setting `tabindex` on elements within the modal to any value other than `0
11561156
will make it difficult for people who rely on assistive technology to navigate and operate page
11571157
content and can make some of your elements unreachable via keyboard navigation.
11581158

1159-
In some circumstances, you may need to disable the enforce focus feature. You can do this by setting
1160-
the prop `no-enforce-focus`, although this is highly discouraged.
1159+
If some elements outside the modal need to be focusable (i.e. for TinyMCE), you can add them as CSS
1160+
selectors to the `ignore-enforce-focus-selector` prop
1161+
<span class="badge badge-secondary">2.4.0+</span>, e.g.:
1162+
1163+
```html
1164+
<b-modal
1165+
id="some-modal-id"
1166+
title="Modal with TinyMCE Editor"
1167+
ignore-enforce-focus-selector=".tox-tinymce-aux, .moxman-window, .tam-assetmanager-root"
1168+
>
1169+
<!-- Modal content with TinyMCE editor here -->
1170+
</b-modal>
1171+
```
1172+
1173+
In some circumstances, you may need to disable the enforce focus feature completely. You can do this
1174+
by setting the prop `no-enforce-focus`, although this is _highly discouraged_ for accessibility
1175+
reasons.
11611176

11621177
### `v-b-modal` directive accessibility
11631178

0 commit comments

Comments
 (0)