Skip to content

Commit 5047d00

Browse files
committed
Merge branch 'dev' of https://github.com/bootstrap-vue/bootstrap-vue into v3-dev
# Conflicts: # package.json # src/components/form-checkbox/form-checkbox-group.js # src/components/form-checkbox/form-checkbox-group.spec.js # src/components/form-radio/form-radio-group.js # src/components/form-radio/form-radio-group.spec.js # src/components/form-select/form-select.js # src/components/form-tags/form-tags.js # src/components/form-tags/form-tags.spec.js # src/components/table/table-sorting.spec.js # src/mixins/form-radio-check-group.js # src/mixins/form-text.js # yarn.lock
2 parents f2b583d + dafeed6 commit 5047d00

28 files changed

+1143
-781
lines changed

CHANGELOG.md

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,41 @@ All notable changes to this project will be documented in this file. See
44
[standard-version](https://github.com/conventional-changelog/standard-version) for commit
55
guidelines.
66

7+
<a name="2.20.0"></a>
8+
9+
## [v2.20.0](https://github.com/bootstrap-vue/bootstrap-vue/compare/v2.19.0...v2.20.0)
10+
11+
Released: 2020-11-30
12+
13+
### Features v2.20.0
14+
15+
- **b-form-tags:** add `reset` method
16+
([#6104](https://github.com/bootstrap-vue/bootstrap-vue/issues/6104))
17+
([d610291](https://github.com/bootstrap-vue/bootstrap-vue/commit/d6102913a5f9a3295f646fad50ba58ffc31533e8))
18+
19+
### Bug Fixes v2.20.0
20+
21+
- **b-form-input:** modified value handling
22+
([#6084](https://github.com/bootstrap-vue/bootstrap-vue/issues/6084))
23+
([d6d8e3c](https://github.com/bootstrap-vue/bootstrap-vue/commit/d6d8e3c0f309ca16ede0c874bb787ab2fed7b380))
24+
- **b-form-spinbutton:** button markup
25+
([#6101](https://github.com/bootstrap-vue/bootstrap-vue/issues/6101))
26+
([5082976](https://github.com/bootstrap-vue/bootstrap-vue/commit/5082976e90264cadd84a4c9dbf339ce90fe49456))
27+
- **b-form-tags:** required handling (closes
28+
[#6094](https://github.com/bootstrap-vue/bootstrap-vue/issues/6094))
29+
([#6103](https://github.com/bootstrap-vue/bootstrap-vue/issues/6103))
30+
([2dc6b9d](https://github.com/bootstrap-vue/bootstrap-vue/commit/2dc6b9d5bc5fcb3cf1febda7d9e5b03d1ee9a3d0))
31+
- **b-table:** only set `tabindex="0"` for sortable TH's
32+
([#6102](https://github.com/bootstrap-vue/bootstrap-vue/issues/6102))
33+
([dd23742](https://github.com/bootstrap-vue/bootstrap-vue/commit/dd237425e4e7a7e73d5c17210780b02dab2110e2))
34+
- **b-table:** sort handling for numeric string values (closes
35+
[#6092](https://github.com/bootstrap-vue/bootstrap-vue/issues/6092))
36+
([#6105](https://github.com/bootstrap-vue/bootstrap-vue/issues/6105))
37+
([29fbcb5](https://github.com/bootstrap-vue/bootstrap-vue/commit/29fbcb58c5efed0dbbafa8b0bb5fc1d1651079cd))
38+
- user supplied prop function detection
39+
([#6070](https://github.com/bootstrap-vue/bootstrap-vue/issues/6070))
40+
([cea6051](https://github.com/bootstrap-vue/bootstrap-vue/commit/cea6051efc901325d63c22f65381242bd6e774e7))
41+
742
<a name="2.19.0"></a>
843

944
## [v2.19.0](https://github.com/bootstrap-vue/bootstrap-vue/compare/v2.18.1...v2.19.0)

package.json

Lines changed: 23 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "bootstrap-vue",
3-
"version": "2.19.0",
3+
"version": "2.20.0",
44
"description": "With more than 85 components, over 45 available plugins, several directives, and 1000+ icons, BootstrapVue provides one of the most comprehensive implementations of the Bootstrap v4 component and grid system available for Vue.js v2.6, complete with extensive and automated WAI-ARIA accessibility markup.",
55
"main": "dist/bootstrap-vue.common.js",
66
"web": "dist/bootstrap-vue.js",
@@ -92,71 +92,70 @@
9292
"vue-functional-data-merge": "^3.1.0"
9393
},
9494
"devDependencies": {
95-
"@babel/cli": "^7.12.1",
96-
"@babel/core": "^7.12.3",
95+
"@babel/cli": "^7.12.8",
96+
"@babel/core": "^7.12.9",
9797
"@babel/plugin-transform-modules-commonjs": "^7.12.1",
9898
"@babel/plugin-transform-runtime": "^7.12.1",
99-
"@babel/preset-env": "^7.12.1",
100-
"@babel/standalone": "^7.12.6",
101-
"@nuxt/content": "^1.10.0",
99+
"@babel/preset-env": "^7.12.7",
100+
"@babel/standalone": "^7.12.9",
101+
"@nuxt/content": "^1.11.1",
102102
"@nuxtjs/google-analytics": "^2.4.0",
103-
"@nuxtjs/pwa": "^3.2.2",
103+
"@nuxtjs/pwa": "^3.3.1",
104104
"@nuxtjs/robots": "^2.4.2",
105105
"@nuxtjs/sitemap": "^2.4.0",
106106
"@testing-library/jest-dom": "^5.11.6",
107-
"@vue/test-utils": "^2.0.0-beta.10",
108-
"autoprefixer": "^10.0.2",
107+
"@vue/test-utils": "^2.0.0-beta.11",
108+
"autoprefixer": "^10.0.4",
109109
"babel-core": "^7.0.0-bridge.0",
110110
"babel-eslint": "^10.1.0",
111111
"babel-jest": "^26.6.3",
112112
"babel-plugin-istanbul": "^6.0.0",
113113
"bootstrap-icons": "^1.1.0",
114114
"bundlewatch": "^0.3.1",
115115
"clean-css-cli": "^4.3.0",
116-
"codemirror": "^5.58.2",
116+
"codemirror": "^5.58.3",
117117
"codesandbox": "^2.2.1",
118-
"core-js": "^3.7.0",
118+
"core-js": "^3.8.0",
119119
"cross-env": "^7.0.2",
120-
"eslint": "^7.13.0",
120+
"eslint": "^7.14.0",
121121
"eslint-config-prettier": "^6.15.0",
122-
"eslint-config-standard": "^16.0.1",
122+
"eslint-config-standard": "^16.0.2",
123123
"eslint-config-vue": "^2.0.2",
124124
"eslint-plugin-import": "^2.22.1",
125125
"eslint-plugin-jest": "^24.1.3",
126126
"eslint-plugin-markdown": "^1.0.2",
127127
"eslint-plugin-node": "^11.1.0",
128128
"eslint-plugin-prettier": "^3.1.4",
129129
"eslint-plugin-promise": "^4.2.1",
130-
"eslint-plugin-standard": "^4.1.0",
131130
"eslint-plugin-vue": "^7.1.0",
132131
"esm": "^3.2.25",
133132
"execa": "^4.1.0",
134-
"highlight.js": "^9.18.2",
133+
"highlight.js": "^9.18.5",
135134
"html-loader": "^1.3.2",
136135
"husky": "^4.3.0",
137136
"improved-yarn-audit": "^2.3.1",
138137
"jest": "^26.6.3",
139-
"lint-staged": "^10.5.1",
138+
"lint-staged": "^10.5.2",
140139
"loader-utils": "^2.0.0",
141140
"lodash": "^4.17.20",
142-
"marked": "^1.2.4",
141+
"marked": "^1.2.5",
143142
"nuxt": "^2.14.7",
144-
"postcss": "^8.1.7",
145-
"postcss-cli": "^8.2.0",
143+
"postcss": "^8.1.10",
144+
"postcss-cli": "^8.3.0",
146145
"prettier": "1.14.3",
147146
"require-context": "^1.1.0",
148-
"rollup": "^2.33.2",
147+
"rollup": "^2.34.0",
149148
"rollup-plugin-babel": "^4.4.0",
150149
"rollup-plugin-commonjs": "^10.1.0",
151150
"rollup-plugin-node-resolve": "^5.2.0",
152151
"sass": "^1.29.0",
153152
"sass-loader": "^10.1.0",
154153
"standard-version": "^9.0.0",
155-
"terser": "^5.4.0",
156-
"vue": "^3.0.2",
157-
"vue-demi": "^0.4.1",
154+
"terser": "^5.5.1",
155+
"vue": "^3.0.3",
156+
"vue-demi": "^0.4.5",
158157
"vue-jest": "^3.0.7",
159-
"vue-router": "^4.0.0-rc.3"
158+
"vue-router": "^4.0.0-rc.6"
160159
},
161160
"keywords": [
162161
"Bootstrap",

src/components/calendar/calendar.js

Lines changed: 3 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ import {
4949
} from '../../utils/date'
5050
import { attemptBlur, attemptFocus, requestAF } from '../../utils/dom'
5151
import { stopEvent } from '../../utils/events'
52-
import { isArray, isPlainObject, isString, isUndefined } from '../../utils/inspect'
52+
import { isArray, isPlainObject, isString } from '../../utils/inspect'
5353
import { isLocaleRTL } from '../../utils/locale'
5454
import { mathMax } from '../../utils/math'
5555
import { toInteger } from '../../utils/number'
@@ -344,20 +344,12 @@ export const BCalendar = defineComponent({
344344
},
345345
computedDateDisabledFn() {
346346
const { dateDisabledFn } = this
347-
let result = null
348-
try {
349-
result = dateDisabledFn()
350-
} catch {}
351-
return isUndefined(result) ? () => false : dateDisabledFn
347+
return dateDisabledFn.name !== 'default' ? dateDisabledFn : () => false
352348
},
353349
// TODO: Change `dateInfoFn` to handle events and notes as well as classes
354350
computedDateInfoFn() {
355351
const { dateInfoFn } = this
356-
let result = null
357-
try {
358-
result = dateInfoFn()
359-
} catch {}
360-
return isUndefined(result) ? () => ({}) : dateInfoFn
352+
return dateInfoFn.name !== 'default' ? dateInfoFn : () => ({})
361353
},
362354
calendarLocale() {
363355
// This locale enforces the gregorian calendar (for use in formatter functions)

src/components/form-checkbox/form-checkbox-group.spec.js

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -312,8 +312,7 @@ describe('form-checkbox-group', () => {
312312
}
313313
})
314314

315-
expect(wrapper.classes()).toBeDefined()
316-
315+
expect(wrapper.vm.isRadioGroup).toEqual(false)
317316
expect(wrapper.vm.localChecked).toEqual([])
318317
expect(wrapper.findAll('input[type=checkbox]').length).toBe(3)
319318

src/components/form-file/form-file.js

Lines changed: 4 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -15,14 +15,7 @@ import { makePropsConfigurable } from '../../utils/config'
1515
import { closest } from '../../utils/dom'
1616
import { hasPromiseSupport } from '../../utils/env'
1717
import { eventOn, eventOff, stopEvent } from '../../utils/events'
18-
import {
19-
isArray,
20-
isFile,
21-
isFunction,
22-
isNull,
23-
isUndefined,
24-
isUndefinedOrNull
25-
} from '../../utils/inspect'
18+
import { isArray, isFile, isFunction, isNull, isUndefinedOrNull } from '../../utils/inspect'
2619
import { File } from '../../utils/safe-types'
2720
import { escapeRegExp } from '../../utils/string'
2821
import { warn } from '../../utils/warn'
@@ -283,11 +276,9 @@ export const BFormFile = /*#__PURE__*/ defineComponent({
283276
},
284277
computedFileNameFormatter() {
285278
const { fileNameFormatter } = this
286-
let result = null
287-
try {
288-
result = fileNameFormatter()
289-
} catch {}
290-
return isUndefined(result) ? this.defaultFileNameFormatter : fileNameFormatter
279+
return fileNameFormatter.name !== 'default'
280+
? fileNameFormatter
281+
: this.defaultFileNameFormatter
291282
},
292283
clonedFiles() {
293284
return cloneDeep(this.files)

src/components/form-group/form-group.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -420,7 +420,7 @@ export const BFormGroup = defineComponent({
420420
id: this.safeId(),
421421
disabled: isFieldset ? this.disabled : null,
422422
role: isFieldset ? null : 'group',
423-
'aria-invalid': state === false ? 'true' : null,
423+
'aria-invalid': this.computedAriaInvalid,
424424
// Only apply aria-labelledby if we are a horizontal fieldset
425425
// as the legend is no longer a direct child of fieldset
426426
'aria-labelledby': isFieldset && isHorizontal ? labelId : null,

src/components/form-radio/form-radio-group.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ export const BFormRadioGroup = /*#__PURE__*/ defineComponent({
2020
bvRadioGroup: this
2121
}
2222
},
23+
props,
2324
computed: {
2425
isRadioGroup() {
2526
return true

src/components/form-radio/form-radio-group.spec.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -309,8 +309,8 @@ describe('form-radio-group', () => {
309309
}
310310
})
311311

312+
expect(wrapper.vm.isRadioGroup).toEqual(true)
312313
expect(wrapper.vm.localChecked).toEqual('')
313-
expect(wrapper.classes()).toBeDefined()
314314
expect(wrapper.findAll('input[type=radio]').length).toBe(3)
315315

316316
wrapper.unmount()

src/components/form-select/form-select.js

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -75,13 +75,6 @@ export const BFormSelect = /*#__PURE__*/ defineComponent({
7575
this.size && !this.plain ? `custom-select-${this.size}` : null,
7676
this.stateClass
7777
]
78-
},
79-
computedAriaInvalid() {
80-
const { ariaInvalid } = this
81-
if (ariaInvalid === true || ariaInvalid === 'true' || ariaInvalid === '') {
82-
return 'true'
83-
}
84-
return this.computedState === false ? 'true' : null
8578
}
8679
},
8780
watch: {

src/components/form-spinbutton/form-spinbutton.js

Lines changed: 3 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ import { arrayIncludes, concat } from '../../utils/array'
1515
import { makePropsConfigurable } from '../../utils/config'
1616
import { attemptBlur, attemptFocus } from '../../utils/dom'
1717
import { eventOnOff, stopEvent } from '../../utils/events'
18-
import { isNull, isUndefined } from '../../utils/inspect'
18+
import { isNull } from '../../utils/inspect'
1919
import { isLocaleRTL } from '../../utils/locale'
2020
import { mathFloor, mathMax, mathPow, mathRound } from '../../utils/math'
2121
import { toFloat, toInteger } from '../../utils/number'
@@ -227,11 +227,7 @@ export const BFormSpinbutton = /*#__PURE__*/ defineComponent({
227227
},
228228
computedFormatter() {
229229
const { formatterFn } = this
230-
let result = null
231-
try {
232-
result = formatterFn()
233-
} catch {}
234-
return isUndefined(result) ? this.defaultFormatter : formatterFn
230+
return formatterFn.name !== 'default' ? formatterFn : this.defaultFormatter
235231
},
236232
computedAttrs() {
237233
return {
@@ -526,7 +522,7 @@ export const BFormSpinbutton = /*#__PURE__*/ defineComponent({
526522
touchstart: handler
527523
}
528524
},
529-
[h('div', [this.normalizeSlot(slotName, scope) || $icon])]
525+
[this.normalizeSlot(slotName, scope) || $icon]
530526
)
531527
}
532528
// TODO: Add button disabled state when `wrap` is `false` and at value max/min

0 commit comments

Comments
 (0)