From cf9d42177a0a089d215465e43d5b26552f1b9b50 Mon Sep 17 00:00:00 2001 From: Troy Morehouse Date: Thu, 2 Apr 2020 04:47:00 -0300 Subject: [PATCH 1/8] chore(docs): minor update to the sidebar docs (#5063) --- src/components/sidebar/README.md | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/components/sidebar/README.md b/src/components/sidebar/README.md index 9cde6c53d77..818db7eccfb 100644 --- a/src/components/sidebar/README.md +++ b/src/components/sidebar/README.md @@ -123,8 +123,9 @@ CSS style overrides. ### Width -By default the width of `` is restricted to `320px` (100% on 'xs' screens). Simply -provide a style of `width` to change the width to a preferred value. The max width is set to `100%`. +By default the width of `` is set to `320px` (100% on 'xs' screens). Simply provide a +value via the `width` prop (i.e. `'180px'`, `'20em'`, etc) to override this default. The max width +is set to `100%` via CSS. ### Padding From dcda1b7bc58a853799c4451dcc6f126b3e8dc6f1 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Thu, 2 Apr 2020 14:13:35 +0200 Subject: [PATCH 2/8] chore(deps): update all non-major dependencies to ^25.2.6 (#5068) Co-authored-by: Renovate Bot --- package.json | 4 +- yarn.lock | 676 +++++++++++++++++++++++++-------------------------- 2 files changed, 339 insertions(+), 341 deletions(-) diff --git a/package.json b/package.json index a74fef10b15..cf481c9f5bb 100644 --- a/package.json +++ b/package.json @@ -108,7 +108,7 @@ "autoprefixer": "^9.7.5", "babel-core": "^7.0.0-bridge.0", "babel-eslint": "^10.1.0", - "babel-jest": "^25.2.4", + "babel-jest": "^25.2.6", "babel-plugin-istanbul": "^6.0.0", "bootstrap-icons": "^1.0.0-alpha3", "clean-css-cli": "^4.3.0", @@ -134,7 +134,7 @@ "highlight.js": "^9.18.1", "html-loader": "^1.0.0", "husky": "^4.2.3", - "jest": "^25.2.4", + "jest": "^25.2.6", "jest-environment-jsdom-fourteen": "^1.0.1", "lint-staged": "^10.1.1", "loader-utils": "^2.0.0", diff --git a/yarn.lock b/yarn.lock index 87e27edb19a..266099c1568 100644 --- a/yarn.lock +++ b/yarn.lock @@ -960,43 +960,43 @@ chalk "^2.0.1" slash "^2.0.0" -"@jest/console@^25.2.3": - version "25.2.3" - resolved "https://registry.yarnpkg.com/@jest/console/-/console-25.2.3.tgz#38ac19b916ff61457173799239472659e1a67c39" - integrity sha512-k+37B1aSvOt9tKHWbZZSOy1jdgzesB0bj96igCVUG1nAH1W5EoUfgc5EXbBVU08KSLvkVdWopLXaO3xfVGlxtQ== +"@jest/console@^25.2.6": + version "25.2.6" + resolved "https://registry.yarnpkg.com/@jest/console/-/console-25.2.6.tgz#f594847ec8aef3cf27f448abe97e76e491212e97" + integrity sha512-bGp+0PicZVCEhb+ifnW9wpKWONNdkhtJsRE7ap729hiAfTvCN6VhGx0s/l/V/skA2pnyqq+N/7xl9ZWfykDpsg== dependencies: - "@jest/source-map" "^25.2.1" + "@jest/source-map" "^25.2.6" chalk "^3.0.0" - jest-util "^25.2.3" + jest-util "^25.2.6" slash "^3.0.0" -"@jest/core@^25.2.4": - version "25.2.4" - resolved "https://registry.yarnpkg.com/@jest/core/-/core-25.2.4.tgz#382ef80369d3311f1df79db1ee19e958ae95cdad" - integrity sha512-WcWYShl0Bqfcb32oXtjwbiR78D/djhMdJW+ulp4/bmHgeODcsieqUJfUH+kEv8M7VNV77E6jds5aA+WuGh1nmg== +"@jest/core@^25.2.6": + version "25.2.6" + resolved "https://registry.yarnpkg.com/@jest/core/-/core-25.2.6.tgz#4bcb2919268d92c3813e1ff7c97443cde7a2873a" + integrity sha512-uMwUtpS4CWc7SadHcHEQ3VdrZ8A5u+UVbHIVUqhXcxlQ/bBC5+/T9IJGSu0o8e+/EXmFrTtl4zGr1nRPFq0Wlg== dependencies: - "@jest/console" "^25.2.3" - "@jest/reporters" "^25.2.4" - "@jest/test-result" "^25.2.4" - "@jest/transform" "^25.2.4" - "@jest/types" "^25.2.3" + "@jest/console" "^25.2.6" + "@jest/reporters" "^25.2.6" + "@jest/test-result" "^25.2.6" + "@jest/transform" "^25.2.6" + "@jest/types" "^25.2.6" ansi-escapes "^4.2.1" chalk "^3.0.0" exit "^0.1.2" graceful-fs "^4.2.3" - jest-changed-files "^25.2.3" - jest-config "^25.2.4" - jest-haste-map "^25.2.3" - jest-message-util "^25.2.4" - jest-regex-util "^25.2.1" - jest-resolve "^25.2.3" - jest-resolve-dependencies "^25.2.4" - jest-runner "^25.2.4" - jest-runtime "^25.2.4" - jest-snapshot "^25.2.4" - jest-util "^25.2.3" - jest-validate "^25.2.3" - jest-watcher "^25.2.4" + jest-changed-files "^25.2.6" + jest-config "^25.2.6" + jest-haste-map "^25.2.6" + jest-message-util "^25.2.6" + jest-regex-util "^25.2.6" + jest-resolve "^25.2.6" + jest-resolve-dependencies "^25.2.6" + jest-runner "^25.2.6" + jest-runtime "^25.2.6" + jest-snapshot "^25.2.6" + jest-util "^25.2.6" + jest-validate "^25.2.6" + jest-watcher "^25.2.6" micromatch "^4.0.2" p-each-series "^2.1.0" realpath-native "^2.0.0" @@ -1014,14 +1014,14 @@ "@jest/types" "^24.9.0" jest-mock "^24.9.0" -"@jest/environment@^25.2.4": - version "25.2.4" - resolved "https://registry.yarnpkg.com/@jest/environment/-/environment-25.2.4.tgz#74f4d8dd87b427434d0b822cde37bc0e78f3e28b" - integrity sha512-wA4xlhD19/gukkDpJ5HQsTle0pgnzI5qMFEjw267lpTDC8d9N7Ihqr5pI+l0p8Qn1SQhai+glSqxrGdzKy4jxw== +"@jest/environment@^25.2.6": + version "25.2.6" + resolved "https://registry.yarnpkg.com/@jest/environment/-/environment-25.2.6.tgz#8f7931e79abd81893ce88b7306f0cc4744835000" + integrity sha512-17WIw+wCb9drRNFw1hi8CHah38dXVdOk7ga9exThhGtXlZ9mK8xH4DjSB9uGDGXIWYSHmrxoyS6KJ7ywGr7bzg== dependencies: - "@jest/fake-timers" "^25.2.4" - "@jest/types" "^25.2.3" - jest-mock "^25.2.3" + "@jest/fake-timers" "^25.2.6" + "@jest/types" "^25.2.6" + jest-mock "^25.2.6" "@jest/fake-timers@^24.3.0", "@jest/fake-timers@^24.9.0": version "24.9.0" @@ -1032,27 +1032,27 @@ jest-message-util "^24.9.0" jest-mock "^24.9.0" -"@jest/fake-timers@^25.2.4": - version "25.2.4" - resolved "https://registry.yarnpkg.com/@jest/fake-timers/-/fake-timers-25.2.4.tgz#6821b6edde74fda2a42467ae92cc93095d4c9527" - integrity sha512-oC1TJiwfMcBttVN7Wz+VZnqEAgYTiEMu0QLOXpypR89nab0uCB31zm/QeBZddhSstn20qe3yqOXygp6OwvKT/Q== +"@jest/fake-timers@^25.2.6": + version "25.2.6" + resolved "https://registry.yarnpkg.com/@jest/fake-timers/-/fake-timers-25.2.6.tgz#239dbde3f56badf7d05bcf888f5d669296077cad" + integrity sha512-A6qtDIA2zg/hVgUJJYzQSHFBIp25vHdSxW/s4XmTJAYxER6eL0NQdQhe4+232uUSviKitubHGXXirt5M7blPiA== dependencies: - "@jest/types" "^25.2.3" - jest-message-util "^25.2.4" - jest-mock "^25.2.3" - jest-util "^25.2.3" + "@jest/types" "^25.2.6" + jest-message-util "^25.2.6" + jest-mock "^25.2.6" + jest-util "^25.2.6" lolex "^5.0.0" -"@jest/reporters@^25.2.4": - version "25.2.4" - resolved "https://registry.yarnpkg.com/@jest/reporters/-/reporters-25.2.4.tgz#aa01c20aab217150d3a6080d5c98ce0bf34b17ed" - integrity sha512-VHbLxM03jCc+bTLOluW/IqHR2G0Cl0iATwIQbuZtIUast8IXO4fD0oy4jpVGpG5b20S6REA8U3BaQoCW/CeVNQ== +"@jest/reporters@^25.2.6": + version "25.2.6" + resolved "https://registry.yarnpkg.com/@jest/reporters/-/reporters-25.2.6.tgz#6d87e40fb15adb69e22bb83aa02a4d88b2253b5f" + integrity sha512-DRMyjaxcd6ZKctiXNcuVObnPwB1eUs7xrUVu0J2V0p5/aZJei5UM9GL3s/bmN4hRV8Mt3zXh+/9X2o0Q4ClZIA== dependencies: "@bcoe/v8-coverage" "^0.2.3" - "@jest/console" "^25.2.3" - "@jest/test-result" "^25.2.4" - "@jest/transform" "^25.2.4" - "@jest/types" "^25.2.3" + "@jest/console" "^25.2.6" + "@jest/test-result" "^25.2.6" + "@jest/transform" "^25.2.6" + "@jest/types" "^25.2.6" chalk "^3.0.0" collect-v8-coverage "^1.0.0" exit "^0.1.2" @@ -1062,10 +1062,10 @@ istanbul-lib-report "^3.0.0" istanbul-lib-source-maps "^4.0.0" istanbul-reports "^3.0.0" - jest-haste-map "^25.2.3" - jest-resolve "^25.2.3" - jest-util "^25.2.3" - jest-worker "^25.2.1" + jest-haste-map "^25.2.6" + jest-resolve "^25.2.6" + jest-util "^25.2.6" + jest-worker "^25.2.6" slash "^3.0.0" source-map "^0.6.0" string-length "^3.1.0" @@ -1083,10 +1083,10 @@ graceful-fs "^4.1.15" source-map "^0.6.0" -"@jest/source-map@^25.2.1": - version "25.2.1" - resolved "https://registry.yarnpkg.com/@jest/source-map/-/source-map-25.2.1.tgz#b62ecf8ae76170b08eff8859b56eb7576df34ab8" - integrity sha512-PgScGJm1U27+9Te/cxP4oUFqJ2PX6NhBL2a6unQ7yafCgs8k02c0LSyjSIx/ao0AwcAdCczfAPDf5lJ7zoB/7A== +"@jest/source-map@^25.2.6": + version "25.2.6" + resolved "https://registry.yarnpkg.com/@jest/source-map/-/source-map-25.2.6.tgz#0ef2209514c6d445ebccea1438c55647f22abb4c" + integrity sha512-VuIRZF8M2zxYFGTEhkNSvQkUKafQro4y+mwUxy5ewRqs5N/ynSFUODYp3fy1zCnbCMy1pz3k+u57uCqx8QRSQQ== dependencies: callsites "^3.0.0" graceful-fs "^4.2.3" @@ -1101,26 +1101,25 @@ "@jest/types" "^24.9.0" "@types/istanbul-lib-coverage" "^2.0.0" -"@jest/test-result@^25.2.4": - version "25.2.4" - resolved "https://registry.yarnpkg.com/@jest/test-result/-/test-result-25.2.4.tgz#8fc9eac58e82eb2a82e4058e68c3814f98f59cf5" - integrity sha512-AI7eUy+q2lVhFnaibDFg68NGkrxVWZdD6KBr9Hm6EvN0oAe7GxpEwEavgPfNHQjU2mi6g+NsFn/6QPgTUwM1qg== +"@jest/test-result@^25.2.6": + version "25.2.6" + resolved "https://registry.yarnpkg.com/@jest/test-result/-/test-result-25.2.6.tgz#f6082954955313eb96f6cabf9fb14f8017826916" + integrity sha512-gmGgcF4qz/pkBzyfJuVHo2DA24kIgVQ5Pf/VpW4QbyMLSegi8z+9foSZABfIt5se6k0fFj/3p/vrQXdaOgit0w== dependencies: - "@jest/console" "^25.2.3" - "@jest/transform" "^25.2.4" - "@jest/types" "^25.2.3" + "@jest/console" "^25.2.6" + "@jest/types" "^25.2.6" "@types/istanbul-lib-coverage" "^2.0.0" collect-v8-coverage "^1.0.0" -"@jest/test-sequencer@^25.2.4": - version "25.2.4" - resolved "https://registry.yarnpkg.com/@jest/test-sequencer/-/test-sequencer-25.2.4.tgz#28364aeddec140c696324114f63570f3de536c87" - integrity sha512-TEZm/Rkd6YgskdpTJdYLBtu6Gc11tfWPuSpatq0duH77ekjU8dpqX2zkPdY/ayuHxztV5LTJoV5BLtI9mZfXew== +"@jest/test-sequencer@^25.2.6": + version "25.2.6" + resolved "https://registry.yarnpkg.com/@jest/test-sequencer/-/test-sequencer-25.2.6.tgz#62026007610b0323e646ad70db59c69c7ed4785c" + integrity sha512-6sHqVeXbEapfxoGb77NKCywNn9jc4WlIPtFqhwCKGhigGnpl42AuyLxclRWxbFx+V63ozzfjnemYxqHlkcoikQ== dependencies: - "@jest/test-result" "^25.2.4" - jest-haste-map "^25.2.3" - jest-runner "^25.2.4" - jest-runtime "^25.2.4" + "@jest/test-result" "^25.2.6" + jest-haste-map "^25.2.6" + jest-runner "^25.2.6" + jest-runtime "^25.2.6" "@jest/transform@^24.9.0": version "24.9.0" @@ -1144,21 +1143,21 @@ source-map "^0.6.1" write-file-atomic "2.4.1" -"@jest/transform@^25.2.4": - version "25.2.4" - resolved "https://registry.yarnpkg.com/@jest/transform/-/transform-25.2.4.tgz#34336f37f13f62f7d1f5b93d5d150ba9eb3e11b9" - integrity sha512-6eRigvb+G6bs4kW5j1/y8wu4nCrmVuIe0epPBbiWaYlwawJ8yi1EIyK3d/btDqmBpN5GpN4YhR6iPPnDmkYdTA== +"@jest/transform@^25.2.6": + version "25.2.6" + resolved "https://registry.yarnpkg.com/@jest/transform/-/transform-25.2.6.tgz#007fd946dedf12d2a9eb5d4154faf1991d5f61ff" + integrity sha512-rZnjCjZf9avPOf9q/w9RUZ9Uc29JmB53uIXNJmNz04QbDMD5cR/VjfikiMKajBsXe2vnFl5sJ4RTt+9HPicauQ== dependencies: "@babel/core" "^7.1.0" - "@jest/types" "^25.2.3" + "@jest/types" "^25.2.6" babel-plugin-istanbul "^6.0.0" chalk "^3.0.0" convert-source-map "^1.4.0" fast-json-stable-stringify "^2.0.0" graceful-fs "^4.2.3" - jest-haste-map "^25.2.3" - jest-regex-util "^25.2.1" - jest-util "^25.2.3" + jest-haste-map "^25.2.6" + jest-regex-util "^25.2.6" + jest-util "^25.2.6" micromatch "^4.0.2" pirates "^4.0.1" realpath-native "^2.0.0" @@ -1175,10 +1174,10 @@ "@types/istanbul-reports" "^1.1.1" "@types/yargs" "^13.0.0" -"@jest/types@^25.2.3": - version "25.2.3" - resolved "https://registry.yarnpkg.com/@jest/types/-/types-25.2.3.tgz#035c4fb94e2da472f359ff9a211915d59987f6b6" - integrity sha512-6oLQwO9mKif3Uph3RX5J1i3S7X7xtDHWBaaaoeKw8hOzV6YUd0qDcYcHZ6QXMHDIzSr7zzrEa51o2Ovlj6AtKQ== +"@jest/types@^25.2.6": + version "25.2.6" + resolved "https://registry.yarnpkg.com/@jest/types/-/types-25.2.6.tgz#c12f44af9bed444438091e4b59e7ed05f8659cb6" + integrity sha512-myJTTV37bxK7+3NgKc4Y/DlQ5q92/NOwZsZ+Uch7OXdElxOg61QYc72fPYNAjlvbnJ2YvbXLamIsa9tj48BmyQ== dependencies: "@types/istanbul-lib-coverage" "^2.0.0" "@types/istanbul-reports" "^1.1.1" @@ -2392,16 +2391,16 @@ babel-eslint@^10.1.0: eslint-visitor-keys "^1.0.0" resolve "^1.12.0" -babel-jest@^25.2.4: - version "25.2.4" - resolved "https://registry.yarnpkg.com/babel-jest/-/babel-jest-25.2.4.tgz#b21b68d3af8f161c3e6e501e91f0dea8e652e344" - integrity sha512-+yDzlyJVWrqih9i2Cvjpt7COaN8vUwCsKGtxJLzg6I0xhxD54K8mvDUCliPKLufyzHh/c5C4MRj4Vk7VMjOjIg== +babel-jest@^25.2.6: + version "25.2.6" + resolved "https://registry.yarnpkg.com/babel-jest/-/babel-jest-25.2.6.tgz#fe67ff4d0db3626ca8082da8881dd5e84e07ae75" + integrity sha512-MDJOAlwtIeIQiGshyX0d2PxTbV73xZMpNji40ivVTPQOm59OdRR9nYCkffqI7ugtsK4JR98HgNKbDbuVf4k5QQ== dependencies: - "@jest/transform" "^25.2.4" - "@jest/types" "^25.2.3" + "@jest/transform" "^25.2.6" + "@jest/types" "^25.2.6" "@types/babel__core" "^7.1.0" babel-plugin-istanbul "^6.0.0" - babel-preset-jest "^25.2.1" + babel-preset-jest "^25.2.6" chalk "^3.0.0" slash "^3.0.0" @@ -2451,10 +2450,10 @@ babel-plugin-istanbul@^6.0.0: istanbul-lib-instrument "^4.0.0" test-exclude "^6.0.0" -babel-plugin-jest-hoist@^25.2.1: - version "25.2.1" - resolved "https://registry.yarnpkg.com/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-25.2.1.tgz#d0003a1f3d5caa281e1107fe03bbf16b799f9955" - integrity sha512-HysbCQfJhxLlyxDbKcB2ucGYV0LjqK4h6dBoI3RtFuOxTiTWK6XGZMsHb0tGh8iJdV4hC6Z2GCHzVvDeh9i0lQ== +babel-plugin-jest-hoist@^25.2.6: + version "25.2.6" + resolved "https://registry.yarnpkg.com/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-25.2.6.tgz#2af07632b8ac7aad7d414c1e58425d5fc8e84909" + integrity sha512-qE2xjMathybYxjiGFJg0mLFrz0qNp83aNZycWDY/SuHiZNq+vQfRQtuINqyXyue1ELd8Rd+1OhFSLjms8msMbw== dependencies: "@types/babel__traverse" "^7.0.6" @@ -2476,14 +2475,14 @@ babel-plugin-transform-strict-mode@^6.24.1: babel-runtime "^6.22.0" babel-types "^6.24.1" -babel-preset-jest@^25.2.1: - version "25.2.1" - resolved "https://registry.yarnpkg.com/babel-preset-jest/-/babel-preset-jest-25.2.1.tgz#4ccd0e577f69aa11b71806edfe8b25a5c3ac93a2" - integrity sha512-zXHJBM5iR8oEO4cvdF83AQqqJf3tJrXy3x8nfu2Nlqvn4cneg4Ca8M7cQvC5S9BzDDy1O0tZ9iXru9J6E3ym+A== +babel-preset-jest@^25.2.6: + version "25.2.6" + resolved "https://registry.yarnpkg.com/babel-preset-jest/-/babel-preset-jest-25.2.6.tgz#5d3f7c99e2a8508d61775c9d68506d143b7f71b5" + integrity sha512-Xh2eEAwaLY9+SyMt/xmGZDnXTW/7pSaBPG0EMo7EuhvosFKVWYB6CqwYD31DaEQuoTL090oDZ0FEqygffGRaSQ== dependencies: "@babel/plugin-syntax-bigint" "^7.0.0" "@babel/plugin-syntax-object-rest-spread" "^7.0.0" - babel-plugin-jest-hoist "^25.2.1" + babel-plugin-jest-hoist "^25.2.6" babel-runtime@^6.22.0, babel-runtime@^6.26.0: version "6.26.0" @@ -4429,10 +4428,10 @@ detect-newline@3.1.0, detect-newline@^3.0.0: resolved "https://registry.yarnpkg.com/detect-newline/-/detect-newline-3.1.0.tgz#576f5dfc63ae1a192ff192d8ad3af6308991b651" integrity sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA== -diff-sequences@^25.2.1: - version "25.2.1" - resolved "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-25.2.1.tgz#fcfe8aa07dd9b0c648396a478dabca8e76c6ab27" - integrity sha512-foe7dXnGlSh3jR1ovJmdv+77VQj98eKCHHwJPbZ2eEf0fHwKbkZicpPxEch9smZ+n2dnF6QFwkOQdLq9hpeJUg== +diff-sequences@^25.2.6: + version "25.2.6" + resolved "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-25.2.6.tgz#5f467c00edd35352b7bca46d7927d60e687a76dd" + integrity sha512-Hq8o7+6GaZeoFjtpgvRBUknSXNeJiCx7V9Fr94ZMljNiCr9n9L8H8aJqgWOQiDDGdyn29fRNcDdRVJ5fdyihfg== diffie-hellman@^5.0.0: version "5.0.3" @@ -5167,17 +5166,17 @@ expand-tilde@^1.2.2: dependencies: os-homedir "^1.0.1" -expect@^25.2.4: - version "25.2.4" - resolved "https://registry.yarnpkg.com/expect/-/expect-25.2.4.tgz#b66e0777c861034ebc21730bb34e1839d5d46806" - integrity sha512-hfuPhPds4yOsZtIw4kwAg70r0hqGmpqekgA+VX7pf/3wZ6FY+xIOXZhNsPMMMsspYG/YIsbAiwqsdnD4Ht+bCA== +expect@^25.2.6: + version "25.2.6" + resolved "https://registry.yarnpkg.com/expect/-/expect-25.2.6.tgz#85f022097e8ed3c5666c1bd7f9076d3a790a8a47" + integrity sha512-hMqqX3OX5Erw7CLoXXcawqi6xThhz/rYk+vEufhoCAyzDC2PW99ypYc/pvcgKjyuwbOB1wjqqClmwvlOL36Inw== dependencies: - "@jest/types" "^25.2.3" + "@jest/types" "^25.2.6" ansi-styles "^4.0.0" - jest-get-type "^25.2.1" - jest-matcher-utils "^25.2.3" - jest-message-util "^25.2.4" - jest-regex-util "^25.2.1" + jest-get-type "^25.2.6" + jest-matcher-utils "^25.2.6" + jest-message-util "^25.2.6" + jest-regex-util "^25.2.6" express@^4.16.3: version "4.17.1" @@ -7164,85 +7163,85 @@ istextorbinary@^2.2.1: editions "^2.2.0" textextensions "^2.5.0" -jest-changed-files@^25.2.3: - version "25.2.3" - resolved "https://registry.yarnpkg.com/jest-changed-files/-/jest-changed-files-25.2.3.tgz#ad19deef9e47ba37efb432d2c9a67dfd97cc78af" - integrity sha512-EFxy94dvvbqRB36ezIPLKJ4fDIC+jAdNs8i8uTwFpaXd6H3LVc3ova1lNS4ZPWk09OCR2vq5kSdSQgar7zMORg== +jest-changed-files@^25.2.6: + version "25.2.6" + resolved "https://registry.yarnpkg.com/jest-changed-files/-/jest-changed-files-25.2.6.tgz#7d569cd6b265b1a84db3914db345d9c452f26b71" + integrity sha512-F7l2m5n55jFnJj4ItB9XbAlgO+6umgvz/mdK76BfTd2NGkvGf9x96hUXP/15a1K0k14QtVOoutwpRKl360msvg== dependencies: - "@jest/types" "^25.2.3" + "@jest/types" "^25.2.6" execa "^3.2.0" throat "^5.0.0" -jest-cli@^25.2.4: - version "25.2.4" - resolved "https://registry.yarnpkg.com/jest-cli/-/jest-cli-25.2.4.tgz#021c2383904696597abc060dcb133c82ebd8bfcc" - integrity sha512-zeY2pRDWKj2LZudIncvvguwLMEdcnJqc2jJbwza1beqi80qqLvkPF/BjbFkK2sIV3r+mfTJS+7ITrvK6pCdRjg== +jest-cli@^25.2.6: + version "25.2.6" + resolved "https://registry.yarnpkg.com/jest-cli/-/jest-cli-25.2.6.tgz#972356e70663e9b4faa07c507704441786e524e8" + integrity sha512-i31HkagK5veFOUg1ZqxxfP+ZeKDggmI5qZhK6/Cp0ohuaKFQdtS43AqqnXg13JWKCV0E38Nu/K0W4NsFlXLNEA== dependencies: - "@jest/core" "^25.2.4" - "@jest/test-result" "^25.2.4" - "@jest/types" "^25.2.3" + "@jest/core" "^25.2.6" + "@jest/test-result" "^25.2.6" + "@jest/types" "^25.2.6" chalk "^3.0.0" exit "^0.1.2" import-local "^3.0.2" is-ci "^2.0.0" - jest-config "^25.2.4" - jest-util "^25.2.3" - jest-validate "^25.2.3" + jest-config "^25.2.6" + jest-util "^25.2.6" + jest-validate "^25.2.6" prompts "^2.0.1" realpath-native "^2.0.0" yargs "^15.3.1" -jest-config@^25.2.4: - version "25.2.4" - resolved "https://registry.yarnpkg.com/jest-config/-/jest-config-25.2.4.tgz#f4f33238979f225683179c89d1e402893008975d" - integrity sha512-fxy3nIpwJqOUQJRVF/q+pNQb6dv5b9YufOeCbpPZJ/md1zXpiupbhfehpfODhnKOfqbzSiigtSLzlWWmbRxnqQ== +jest-config@^25.2.6: + version "25.2.6" + resolved "https://registry.yarnpkg.com/jest-config/-/jest-config-25.2.6.tgz#fecff70f9fb083db1a25e7a624c3cd3035d01546" + integrity sha512-R82bUaOHU/2nPSXmvrwLZtQRRr5x1V7qEXE0i4Pybv55XDqVl2/yKNBkYPneG3uSL3n5f6EJeP0/9HNxQu/SZg== dependencies: "@babel/core" "^7.1.0" - "@jest/test-sequencer" "^25.2.4" - "@jest/types" "^25.2.3" - babel-jest "^25.2.4" + "@jest/test-sequencer" "^25.2.6" + "@jest/types" "^25.2.6" + babel-jest "^25.2.6" chalk "^3.0.0" deepmerge "^4.2.2" glob "^7.1.1" - jest-environment-jsdom "^25.2.4" - jest-environment-node "^25.2.4" - jest-get-type "^25.2.1" - jest-jasmine2 "^25.2.4" - jest-regex-util "^25.2.1" - jest-resolve "^25.2.3" - jest-util "^25.2.3" - jest-validate "^25.2.3" + jest-environment-jsdom "^25.2.6" + jest-environment-node "^25.2.6" + jest-get-type "^25.2.6" + jest-jasmine2 "^25.2.6" + jest-regex-util "^25.2.6" + jest-resolve "^25.2.6" + jest-util "^25.2.6" + jest-validate "^25.2.6" micromatch "^4.0.2" - pretty-format "^25.2.3" + pretty-format "^25.2.6" realpath-native "^2.0.0" -jest-diff@^25.2.3: - version "25.2.3" - resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-25.2.3.tgz#54d601a0a754ef26e808a8c8dbadd278c215aa3f" - integrity sha512-VtZ6LAQtaQpFsmEzps15dQc5ELbJxy4L2DOSo2Ev411TUEtnJPkAMD7JneVypeMJQ1y3hgxN9Ao13n15FAnavg== +jest-diff@^25.2.6: + version "25.2.6" + resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-25.2.6.tgz#a6d70a9ab74507715ea1092ac513d1ab81c1b5e7" + integrity sha512-KuadXImtRghTFga+/adnNrv9s61HudRMR7gVSbP35UKZdn4IK2/0N0PpGZIqtmllK9aUyye54I3nu28OYSnqOg== dependencies: chalk "^3.0.0" - diff-sequences "^25.2.1" - jest-get-type "^25.2.1" - pretty-format "^25.2.3" + diff-sequences "^25.2.6" + jest-get-type "^25.2.6" + pretty-format "^25.2.6" -jest-docblock@^25.2.3: - version "25.2.3" - resolved "https://registry.yarnpkg.com/jest-docblock/-/jest-docblock-25.2.3.tgz#ac45280c43d59e7139f9fbe5896c6e0320c01ebb" - integrity sha512-d3/tmjLLrH5fpRGmIm3oFa3vOaD/IjPxtXVOrfujpfJ9y1tCDB1x/tvunmdOVAyF03/xeMwburl6ITbiQT1mVA== +jest-docblock@^25.2.6: + version "25.2.6" + resolved "https://registry.yarnpkg.com/jest-docblock/-/jest-docblock-25.2.6.tgz#4b09f1e7b7d6b3f39242ef3647ac7106770f722b" + integrity sha512-VAYrljEq0upq0oERfIaaNf28gC6p9gORndhHstCYF8NWGNQJnzoaU//S475IxfWMk4UjjVmS9rJKLe5Jjjbixw== dependencies: detect-newline "^3.0.0" -jest-each@^25.2.3: - version "25.2.3" - resolved "https://registry.yarnpkg.com/jest-each/-/jest-each-25.2.3.tgz#64067ba1508ebbd07e9b126c173ab371e8e6309d" - integrity sha512-RTlmCjsBDK2c9T5oO4MqccA3/5Y8BUtiEy7OOQik1iyCgdnNdHbI0pNEpyapZPBG0nlvZ4mIu7aY6zNUvLraAQ== +jest-each@^25.2.6: + version "25.2.6" + resolved "https://registry.yarnpkg.com/jest-each/-/jest-each-25.2.6.tgz#026f6dea2ccc443c35cea793265620aab1b278b6" + integrity sha512-OgQ01VINaRD6idWJOhCYwUc5EcgHBiFlJuw+ON2VgYr7HLtMFyCcuo+3mmBvuLUH4QudREZN7cDCZviknzsaJQ== dependencies: - "@jest/types" "^25.2.3" + "@jest/types" "^25.2.6" chalk "^3.0.0" - jest-get-type "^25.2.1" - jest-util "^25.2.3" - pretty-format "^25.2.3" + jest-get-type "^25.2.6" + jest-util "^25.2.6" + pretty-format "^25.2.6" jest-environment-jsdom-fourteen@^1.0.1: version "1.0.1" @@ -7256,34 +7255,34 @@ jest-environment-jsdom-fourteen@^1.0.1: jest-util "^24.0.0" jsdom "^14.1.0" -jest-environment-jsdom@^25.2.4: - version "25.2.4" - resolved "https://registry.yarnpkg.com/jest-environment-jsdom/-/jest-environment-jsdom-25.2.4.tgz#f2783541d0538b1bc43641703372cea6a2e83611" - integrity sha512-5dm+tNwrLmhELdjAwiQnVGf/U9iFMWdTL4/wyrMg2HU6RQnCiuxpWbIigLHUhuP1P2Ak0F4k3xhjrikboKyShA== +jest-environment-jsdom@^25.2.6: + version "25.2.6" + resolved "https://registry.yarnpkg.com/jest-environment-jsdom/-/jest-environment-jsdom-25.2.6.tgz#b7ae41c6035905b8e58d63a8f63cf8eaa00af279" + integrity sha512-/o7MZIhGmLGIEG5j7r5B5Az0umWLCHU+F5crwfbm0BzC4ybHTJZOQTFQWhohBg+kbTCNOuftMcqHlVkVduJCQQ== dependencies: - "@jest/environment" "^25.2.4" - "@jest/fake-timers" "^25.2.4" - "@jest/types" "^25.2.3" - jest-mock "^25.2.3" - jest-util "^25.2.3" + "@jest/environment" "^25.2.6" + "@jest/fake-timers" "^25.2.6" + "@jest/types" "^25.2.6" + jest-mock "^25.2.6" + jest-util "^25.2.6" jsdom "^15.2.1" -jest-environment-node@^25.2.4: - version "25.2.4" - resolved "https://registry.yarnpkg.com/jest-environment-node/-/jest-environment-node-25.2.4.tgz#dc211dfb0d8b66dfc1965a8f846e72e54ff0c430" - integrity sha512-Jkc5Y8goyXPrLRHnrUlqC7P4o5zn2m4zw6qWoRJ59kxV1f2a5wK+TTGhrhCwnhW/Ckpdl/pm+LufdvhJkvJbiw== +jest-environment-node@^25.2.6: + version "25.2.6" + resolved "https://registry.yarnpkg.com/jest-environment-node/-/jest-environment-node-25.2.6.tgz#ad4398432867113f474d94fe37b071ed04b30f3d" + integrity sha512-D1Ihj14fxZiMHGeTtU/LunhzSI+UeBvlr/rcXMTNyRMUMSz2PEhuqGbB78brBY6Dk3FhJDk7Ta+8reVaGjLWhA== dependencies: - "@jest/environment" "^25.2.4" - "@jest/fake-timers" "^25.2.4" - "@jest/types" "^25.2.3" - jest-mock "^25.2.3" - jest-util "^25.2.3" + "@jest/environment" "^25.2.6" + "@jest/fake-timers" "^25.2.6" + "@jest/types" "^25.2.6" + jest-mock "^25.2.6" + jest-util "^25.2.6" semver "^6.3.0" -jest-get-type@^25.2.1: - version "25.2.1" - resolved "https://registry.yarnpkg.com/jest-get-type/-/jest-get-type-25.2.1.tgz#6c83de603c41b1627e6964da2f5454e6aa3c13a6" - integrity sha512-EYjTiqcDTCRJDcSNKbLTwn/LcDPEE7ITk8yRMNAOjEsN6yp+Uu+V1gx4djwnuj/DvWg0YGmqaBqPVGsPxlvE7w== +jest-get-type@^25.2.6: + version "25.2.6" + resolved "https://registry.yarnpkg.com/jest-get-type/-/jest-get-type-25.2.6.tgz#0b0a32fab8908b44d508be81681487dbabb8d877" + integrity sha512-DxjtyzOHjObRM+sM1knti6or+eOgcGU4xVSb2HNP1TqO4ahsT+rqZg+nyqHWJSvWgKC5cG3QjGFBqxLghiF/Ig== jest-haste-map@^24.9.0: version "24.9.0" @@ -7304,18 +7303,18 @@ jest-haste-map@^24.9.0: optionalDependencies: fsevents "^1.2.7" -jest-haste-map@^25.2.3: - version "25.2.3" - resolved "https://registry.yarnpkg.com/jest-haste-map/-/jest-haste-map-25.2.3.tgz#2649392b5af191f0167a27bfb62e5d96d7eaaade" - integrity sha512-pAP22OHtPr4qgZlJJFks2LLgoQUr4XtM1a+F5UaPIZNiCRnePA0hM3L7aiJ0gzwiNIYwMTfKRwG/S1L28J3A3A== +jest-haste-map@^25.2.6: + version "25.2.6" + resolved "https://registry.yarnpkg.com/jest-haste-map/-/jest-haste-map-25.2.6.tgz#4aa6bcfa15310afccdb9ca77af58a98add8cedb8" + integrity sha512-nom0+fnY8jwzelSDQnrqaKAcDZczYQvMEwcBjeL3PQ4MlcsqeB7dmrsAniUw/9eLkngT5DE6FhnenypilQFsgA== dependencies: - "@jest/types" "^25.2.3" + "@jest/types" "^25.2.6" anymatch "^3.0.3" fb-watchman "^2.0.0" graceful-fs "^4.2.3" - jest-serializer "^25.2.1" - jest-util "^25.2.3" - jest-worker "^25.2.1" + jest-serializer "^25.2.6" + jest-util "^25.2.6" + jest-worker "^25.2.6" micromatch "^4.0.2" sane "^4.0.3" walker "^1.0.7" @@ -7323,46 +7322,46 @@ jest-haste-map@^25.2.3: optionalDependencies: fsevents "^2.1.2" -jest-jasmine2@^25.2.4: - version "25.2.4" - resolved "https://registry.yarnpkg.com/jest-jasmine2/-/jest-jasmine2-25.2.4.tgz#5f77de83e1027f0c7588137055a80da773872374" - integrity sha512-juoKrmNmLwaheNbAg71SuUF9ovwUZCFNTpKVhvCXWk+SSeORcIUMptKdPCoLXV3D16htzhTSKmNxnxSk4SrTjA== +jest-jasmine2@^25.2.6: + version "25.2.6" + resolved "https://registry.yarnpkg.com/jest-jasmine2/-/jest-jasmine2-25.2.6.tgz#f0de8e922de421444e34be23a66e8887fee9b2a1" + integrity sha512-0429YtThQjol9EElh0mLMsfMBB++yFCjWuGv3xNK4QPrvralJRlpHbuhfSVaOsHC91RrRBbKfM7jSA+FiVG+Jg== dependencies: "@babel/traverse" "^7.1.0" - "@jest/environment" "^25.2.4" - "@jest/source-map" "^25.2.1" - "@jest/test-result" "^25.2.4" - "@jest/types" "^25.2.3" + "@jest/environment" "^25.2.6" + "@jest/source-map" "^25.2.6" + "@jest/test-result" "^25.2.6" + "@jest/types" "^25.2.6" chalk "^3.0.0" co "^4.6.0" - expect "^25.2.4" + expect "^25.2.6" is-generator-fn "^2.0.0" - jest-each "^25.2.3" - jest-matcher-utils "^25.2.3" - jest-message-util "^25.2.4" - jest-runtime "^25.2.4" - jest-snapshot "^25.2.4" - jest-util "^25.2.3" - pretty-format "^25.2.3" + jest-each "^25.2.6" + jest-matcher-utils "^25.2.6" + jest-message-util "^25.2.6" + jest-runtime "^25.2.6" + jest-snapshot "^25.2.6" + jest-util "^25.2.6" + pretty-format "^25.2.6" throat "^5.0.0" -jest-leak-detector@^25.2.3: - version "25.2.3" - resolved "https://registry.yarnpkg.com/jest-leak-detector/-/jest-leak-detector-25.2.3.tgz#4cf39f137925e0061c04c24ca65cae36465f0238" - integrity sha512-yblCMPE7NJKl7778Cf/73yyFWAas5St0iiEBwq7RDyaz6Xd4WPFnPz2j7yDb/Qce71A1IbDoLADlcwD8zT74Aw== +jest-leak-detector@^25.2.6: + version "25.2.6" + resolved "https://registry.yarnpkg.com/jest-leak-detector/-/jest-leak-detector-25.2.6.tgz#68fbaf651142292b03e30641f33e15af9b8c62b1" + integrity sha512-n+aJUM+j/x1kIaPVxzerMqhAUuqTU1PL5kup46rXh+l9SP8H6LqECT/qD1GrnylE1L463/0StSPkH4fUpkuEjA== dependencies: - jest-get-type "^25.2.1" - pretty-format "^25.2.3" + jest-get-type "^25.2.6" + pretty-format "^25.2.6" -jest-matcher-utils@^25.2.3: - version "25.2.3" - resolved "https://registry.yarnpkg.com/jest-matcher-utils/-/jest-matcher-utils-25.2.3.tgz#59285bd6d6c810debc9caa585ed985e46a3f28fd" - integrity sha512-ZmiXiwQRVM9MoKjGMP5YsGGk2Th5ncyRxfXKz5AKsmU8m43kgNZirckVzaP61MlSa9LKmXbevdYqVp1ZKAw2Rw== +jest-matcher-utils@^25.2.6: + version "25.2.6" + resolved "https://registry.yarnpkg.com/jest-matcher-utils/-/jest-matcher-utils-25.2.6.tgz#a5156c1daa16e13ff6c55117f798b285a294a3e6" + integrity sha512-+6IbC98ZBw3X7hsfUvt+7VIYBdI0FEvhSBjWo9XTHOc1KAAHDsrSHdeyHH/Su0r/pf4OEGuWRRLPnjkhS2S19A== dependencies: chalk "^3.0.0" - jest-diff "^25.2.3" - jest-get-type "^25.2.1" - pretty-format "^25.2.3" + jest-diff "^25.2.6" + jest-get-type "^25.2.6" + pretty-format "^25.2.6" jest-message-util@^24.9.0: version "24.9.0" @@ -7378,14 +7377,13 @@ jest-message-util@^24.9.0: slash "^2.0.0" stack-utils "^1.0.1" -jest-message-util@^25.2.4: - version "25.2.4" - resolved "https://registry.yarnpkg.com/jest-message-util/-/jest-message-util-25.2.4.tgz#b1441b9c82f5c11fc661303cbf200a2f136a7762" - integrity sha512-9wWMH3Bf+GVTv0GcQLmH/FRr0x0toptKw9TA8U5YFLVXx7Tq9pvcNzTyJrcTJ+wLqNbMPPJlJNft4MnlcrtF5Q== +jest-message-util@^25.2.6: + version "25.2.6" + resolved "https://registry.yarnpkg.com/jest-message-util/-/jest-message-util-25.2.6.tgz#9d5523bebec8cd9cdef75f0f3069d6ec9a2252df" + integrity sha512-Hgg5HbOssSqOuj+xU1mi7m3Ti2nwSQJQf/kxEkrz2r2rp2ZLO1pMeKkz2WiDUWgSR+APstqz0uMFcE5yc0qdcg== dependencies: "@babel/code-frame" "^7.0.0" - "@jest/test-result" "^25.2.4" - "@jest/types" "^25.2.3" + "@jest/types" "^25.2.6" "@types/stack-utils" "^1.0.1" chalk "^3.0.0" micromatch "^4.0.2" @@ -7399,12 +7397,12 @@ jest-mock@^24.0.0, jest-mock@^24.9.0: dependencies: "@jest/types" "^24.9.0" -jest-mock@^25.2.3: - version "25.2.3" - resolved "https://registry.yarnpkg.com/jest-mock/-/jest-mock-25.2.3.tgz#b37a581f59d61bd91db27a99bf7eb8b3e5e993d5" - integrity sha512-xlf+pyY0j47zoCs8zGGOGfWyxxLximE8YFOfEK8s4FruR8DtM/UjNj61um+iDuMAFEBDe1bhCXkqiKoCmWjJzg== +jest-mock@^25.2.6: + version "25.2.6" + resolved "https://registry.yarnpkg.com/jest-mock/-/jest-mock-25.2.6.tgz#8df66eaa55a713d0f2a7dfb4f14507289d24dfa3" + integrity sha512-vc4nibavi2RGPdj/MyZy/azuDjZhpYZLvpfgq1fxkhbyTpKVdG7CgmRVKJ7zgLpY5kuMjTzDYA6QnRwhsCU+tA== dependencies: - "@jest/types" "^25.2.3" + "@jest/types" "^25.2.6" jest-pnp-resolver@^1.2.1: version "1.2.1" @@ -7416,83 +7414,83 @@ jest-regex-util@^24.9.0: resolved "https://registry.yarnpkg.com/jest-regex-util/-/jest-regex-util-24.9.0.tgz#c13fb3380bde22bf6575432c493ea8fe37965636" integrity sha512-05Cmb6CuxaA+Ys6fjr3PhvV3bGQmO+2p2La4hFbU+W5uOc479f7FdLXUWXw4pYMAhhSZIuKHwSXSu6CsSBAXQA== -jest-regex-util@^25.2.1: - version "25.2.1" - resolved "https://registry.yarnpkg.com/jest-regex-util/-/jest-regex-util-25.2.1.tgz#db64b0d15cd3642c93b7b9627801d7c518600584" - integrity sha512-wroFVJw62LdqTdkL508ZLV82FrJJWVJMIuYG7q4Uunl1WAPTf4ftPKrqqfec4SvOIlvRZUdEX2TFpWR356YG/w== +jest-regex-util@^25.2.6: + version "25.2.6" + resolved "https://registry.yarnpkg.com/jest-regex-util/-/jest-regex-util-25.2.6.tgz#d847d38ba15d2118d3b06390056028d0f2fd3964" + integrity sha512-KQqf7a0NrtCkYmZZzodPftn7fL1cq3GQAFVMn5Hg8uKx/fIenLEobNanUxb7abQ1sjADHBseG/2FGpsv/wr+Qw== -jest-resolve-dependencies@^25.2.4: - version "25.2.4" - resolved "https://registry.yarnpkg.com/jest-resolve-dependencies/-/jest-resolve-dependencies-25.2.4.tgz#2d904400387d74a366dff54badb40a2b3210e733" - integrity sha512-qhUnK4PfNHzNdca7Ub1mbAqE0j5WNyMTwxBZZJjQlUrdqsiYho/QGK65FuBkZuSoYtKIIqriR9TpGrPEc3P5Gg== +jest-resolve-dependencies@^25.2.6: + version "25.2.6" + resolved "https://registry.yarnpkg.com/jest-resolve-dependencies/-/jest-resolve-dependencies-25.2.6.tgz#c42272ff49e6be83a8ed9366b4c6e563a1e5604c" + integrity sha512-SJeRBCDZzXVy/DjbwBH3KzjxPw5Q/j3foDkWZYu2GIa6SHqy34qVaw1mL7SJg9r6GApwjIoKP6fGwU6c/afg0A== dependencies: - "@jest/types" "^25.2.3" - jest-regex-util "^25.2.1" - jest-snapshot "^25.2.4" + "@jest/types" "^25.2.6" + jest-regex-util "^25.2.6" + jest-snapshot "^25.2.6" -jest-resolve@^25.2.3: - version "25.2.3" - resolved "https://registry.yarnpkg.com/jest-resolve/-/jest-resolve-25.2.3.tgz#ababeaf2bb948cb6d2dea8453759116da0fb7842" - integrity sha512-1vZMsvM/DBH258PnpUNSXIgtzpYz+vCVCj9+fcy4akZl4oKbD+9hZSlfe9RIDpU0Fc28ozHQrmwX3EqFRRIHGg== +jest-resolve@^25.2.6: + version "25.2.6" + resolved "https://registry.yarnpkg.com/jest-resolve/-/jest-resolve-25.2.6.tgz#84694ead5da13c2890ac04d4a78699ba937f3896" + integrity sha512-7O61GVdcAXkLz/vNGKdF+00A80/fKEAA47AEXVNcZwj75vEjPfZbXDaWFmAQCyXj4oo9y9dC9D+CLA11t8ieGw== dependencies: - "@jest/types" "^25.2.3" + "@jest/types" "^25.2.6" browser-resolve "^1.11.3" chalk "^3.0.0" jest-pnp-resolver "^1.2.1" realpath-native "^2.0.0" resolve "^1.15.1" -jest-runner@^25.2.4: - version "25.2.4" - resolved "https://registry.yarnpkg.com/jest-runner/-/jest-runner-25.2.4.tgz#d0daf7c56b4a83b6b675863d5cdcd502c960f9a1" - integrity sha512-5xaIfqqxck9Wg2CV4b9KmJtf/sWO7zWQx7O+34GCLGPzoPcVmB3mZtdrQI1/jS3Reqjru9ycLjgLHSf6XoxRqA== +jest-runner@^25.2.6: + version "25.2.6" + resolved "https://registry.yarnpkg.com/jest-runner/-/jest-runner-25.2.6.tgz#5ee1607e66890ccd798695cfaa708e322087c50b" + integrity sha512-sN45p3jxvpsG7UjeQFqyC+JR5+THLrIT9oXAHwQQIDWfpmZBFko2RROn1fvdQNWhuPzDeUf/oHykbhNRGo9eWg== dependencies: - "@jest/console" "^25.2.3" - "@jest/environment" "^25.2.4" - "@jest/test-result" "^25.2.4" - "@jest/types" "^25.2.3" + "@jest/console" "^25.2.6" + "@jest/environment" "^25.2.6" + "@jest/test-result" "^25.2.6" + "@jest/types" "^25.2.6" chalk "^3.0.0" exit "^0.1.2" graceful-fs "^4.2.3" - jest-config "^25.2.4" - jest-docblock "^25.2.3" - jest-haste-map "^25.2.3" - jest-jasmine2 "^25.2.4" - jest-leak-detector "^25.2.3" - jest-message-util "^25.2.4" - jest-resolve "^25.2.3" - jest-runtime "^25.2.4" - jest-util "^25.2.3" - jest-worker "^25.2.1" + jest-config "^25.2.6" + jest-docblock "^25.2.6" + jest-haste-map "^25.2.6" + jest-jasmine2 "^25.2.6" + jest-leak-detector "^25.2.6" + jest-message-util "^25.2.6" + jest-resolve "^25.2.6" + jest-runtime "^25.2.6" + jest-util "^25.2.6" + jest-worker "^25.2.6" source-map-support "^0.5.6" throat "^5.0.0" -jest-runtime@^25.2.4: - version "25.2.4" - resolved "https://registry.yarnpkg.com/jest-runtime/-/jest-runtime-25.2.4.tgz#c66a421e115944426b377a7fd331f6c0902cfa56" - integrity sha512-6ehOUizgIghN+aV5YSrDzTZ+zJ9omgEjJbTHj3Jqes5D52XHfhzT7cSfdREwkNjRytrR7mNwZ7pRauoyNLyJ8Q== - dependencies: - "@jest/console" "^25.2.3" - "@jest/environment" "^25.2.4" - "@jest/source-map" "^25.2.1" - "@jest/test-result" "^25.2.4" - "@jest/transform" "^25.2.4" - "@jest/types" "^25.2.3" +jest-runtime@^25.2.6: + version "25.2.6" + resolved "https://registry.yarnpkg.com/jest-runtime/-/jest-runtime-25.2.6.tgz#417e8d548c92bd10e659393a3bd5aa8cbdd71e6d" + integrity sha512-u0iNjO7VvI46341igiQP/bnm1TwdXV6IjVEo7DMVqRbTDTz4teTNOUXChuSMdoyjQcfJ3zmI7/jVktUpjnZhYw== + dependencies: + "@jest/console" "^25.2.6" + "@jest/environment" "^25.2.6" + "@jest/source-map" "^25.2.6" + "@jest/test-result" "^25.2.6" + "@jest/transform" "^25.2.6" + "@jest/types" "^25.2.6" "@types/yargs" "^15.0.0" chalk "^3.0.0" collect-v8-coverage "^1.0.0" exit "^0.1.2" glob "^7.1.3" graceful-fs "^4.2.3" - jest-config "^25.2.4" - jest-haste-map "^25.2.3" - jest-message-util "^25.2.4" - jest-mock "^25.2.3" - jest-regex-util "^25.2.1" - jest-resolve "^25.2.3" - jest-snapshot "^25.2.4" - jest-util "^25.2.3" - jest-validate "^25.2.3" + jest-config "^25.2.6" + jest-haste-map "^25.2.6" + jest-message-util "^25.2.6" + jest-mock "^25.2.6" + jest-regex-util "^25.2.6" + jest-resolve "^25.2.6" + jest-snapshot "^25.2.6" + jest-util "^25.2.6" + jest-validate "^25.2.6" realpath-native "^2.0.0" slash "^3.0.0" strip-bom "^4.0.0" @@ -7503,29 +7501,29 @@ jest-serializer@^24.9.0: resolved "https://registry.yarnpkg.com/jest-serializer/-/jest-serializer-24.9.0.tgz#e6d7d7ef96d31e8b9079a714754c5d5c58288e73" integrity sha512-DxYipDr8OvfrKH3Kel6NdED3OXxjvxXZ1uIY2I9OFbGg+vUkkg7AGvi65qbhbWNPvDckXmzMPbK3u3HaDO49bQ== -jest-serializer@^25.2.1: - version "25.2.1" - resolved "https://registry.yarnpkg.com/jest-serializer/-/jest-serializer-25.2.1.tgz#51727a5fc04256f461abe0fa024a022ba165877a" - integrity sha512-fibDi7M5ffx6c/P66IkvR4FKkjG5ldePAK1WlbNoaU4GZmIAkS9Le/frAwRUFEX0KdnisSPWf+b1RC5jU7EYJQ== +jest-serializer@^25.2.6: + version "25.2.6" + resolved "https://registry.yarnpkg.com/jest-serializer/-/jest-serializer-25.2.6.tgz#3bb4cc14fe0d8358489dbbefbb8a4e708ce039b7" + integrity sha512-RMVCfZsezQS2Ww4kB5HJTMaMJ0asmC0BHlnobQC6yEtxiFKIxohFA4QSXSabKwSggaNkqxn6Z2VwdFCjhUWuiQ== -jest-snapshot@^25.2.4: - version "25.2.4" - resolved "https://registry.yarnpkg.com/jest-snapshot/-/jest-snapshot-25.2.4.tgz#08d4517579c864df4280bcc948ceea34327a4ded" - integrity sha512-nIwpW7FZCq5p0AE3Oyqyb6jL0ENJixXzJ5/CD/XRuOqp3gS5OM3O/k+NnTrniCXxPFV4ry6s9HNfiPQBi0wcoA== +jest-snapshot@^25.2.6: + version "25.2.6" + resolved "https://registry.yarnpkg.com/jest-snapshot/-/jest-snapshot-25.2.6.tgz#a3b99fa6fea4955b6a5fcb38c657e4daaba363f9" + integrity sha512-Zw/Ba6op5zInjPHoA2xGUrCw1G/iTHOGMhV02PzlrWhF9uTl2/jjk/bpOMkPaW8EyylmQbjQ2oj4jCfYwpDKng== dependencies: "@babel/types" "^7.0.0" - "@jest/types" "^25.2.3" + "@jest/types" "^25.2.6" "@types/prettier" "^1.19.0" chalk "^3.0.0" - expect "^25.2.4" - jest-diff "^25.2.3" - jest-get-type "^25.2.1" - jest-matcher-utils "^25.2.3" - jest-message-util "^25.2.4" - jest-resolve "^25.2.3" + expect "^25.2.6" + jest-diff "^25.2.6" + jest-get-type "^25.2.6" + jest-matcher-utils "^25.2.6" + jest-message-util "^25.2.6" + jest-resolve "^25.2.6" make-dir "^3.0.0" natural-compare "^1.4.0" - pretty-format "^25.2.3" + pretty-format "^25.2.6" semver "^6.3.0" jest-util@^24.0.0, jest-util@^24.9.0: @@ -7546,38 +7544,38 @@ jest-util@^24.0.0, jest-util@^24.9.0: slash "^2.0.0" source-map "^0.6.0" -jest-util@^25.2.3: - version "25.2.3" - resolved "https://registry.yarnpkg.com/jest-util/-/jest-util-25.2.3.tgz#0abf95a1d6b96f2de5a3ecd61b36c40a182dc256" - integrity sha512-7tWiMICVSo9lNoObFtqLt9Ezt5exdFlWs5fLe1G4XLY2lEbZc814cw9t4YHScqBkWMfzth8ASHKlYBxiX2rdCw== +jest-util@^25.2.6: + version "25.2.6" + resolved "https://registry.yarnpkg.com/jest-util/-/jest-util-25.2.6.tgz#3c1c95cdfd653126728b0ed861a86610e30d569c" + integrity sha512-gpXy0H5ymuQ0x2qgl1zzHg7LYHZYUmDEq6F7lhHA8M0eIwDB2WteOcCnQsohl9c/vBKZ3JF2r4EseipCZz3s4Q== dependencies: - "@jest/types" "^25.2.3" + "@jest/types" "^25.2.6" chalk "^3.0.0" is-ci "^2.0.0" make-dir "^3.0.0" -jest-validate@^25.2.3: - version "25.2.3" - resolved "https://registry.yarnpkg.com/jest-validate/-/jest-validate-25.2.3.tgz#ecb0f093cf8ae71d15075fb48439b6f78f1fcb5a" - integrity sha512-GObn91jzU0B0Bv4cusAwjP6vnWy78hJUM8MOSz7keRfnac/ZhQWIsUjvk01IfeXNTemCwgR57EtdjQMzFZGREg== +jest-validate@^25.2.6: + version "25.2.6" + resolved "https://registry.yarnpkg.com/jest-validate/-/jest-validate-25.2.6.tgz#ab3631fb97e242c42b09ca53127abe0b12e9125e" + integrity sha512-a4GN7hYbqQ3Rt9iHsNLFqQz7HDV7KiRPCwPgo5nqtTIWNZw7gnT8KchG+Riwh+UTSn8REjFCodGp50KX/fRNgQ== dependencies: - "@jest/types" "^25.2.3" + "@jest/types" "^25.2.6" camelcase "^5.3.1" chalk "^3.0.0" - jest-get-type "^25.2.1" + jest-get-type "^25.2.6" leven "^3.1.0" - pretty-format "^25.2.3" + pretty-format "^25.2.6" -jest-watcher@^25.2.4: - version "25.2.4" - resolved "https://registry.yarnpkg.com/jest-watcher/-/jest-watcher-25.2.4.tgz#dda85b914d470fa4145164a8f70bda4f208bafb6" - integrity sha512-p7g7s3zqcy69slVzQYcphyzkB2FBmJwMbv6k6KjI5mqd6KnUnQPfQVKuVj2l+34EeuxnbXqnrjtUFmxhcL87rg== +jest-watcher@^25.2.6: + version "25.2.6" + resolved "https://registry.yarnpkg.com/jest-watcher/-/jest-watcher-25.2.6.tgz#19fc571d27f89a238ef497b9e037d8d41cf4a204" + integrity sha512-yzv5DBeo03dQnSsSrn1mdOU1LSDd1tZaCTvSE5JYfcv6Z66PdDNhO9MNDdLKA/oQlJNj0S6TiYgLdOY5wL5cMA== dependencies: - "@jest/test-result" "^25.2.4" - "@jest/types" "^25.2.3" + "@jest/test-result" "^25.2.6" + "@jest/types" "^25.2.6" ansi-escapes "^4.2.1" chalk "^3.0.0" - jest-util "^25.2.3" + jest-util "^25.2.6" string-length "^3.1.0" jest-worker@^24.9.0: @@ -7596,22 +7594,22 @@ jest-worker@^25.1.0: merge-stream "^2.0.0" supports-color "^7.0.0" -jest-worker@^25.2.1: - version "25.2.1" - resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-25.2.1.tgz#209617015c768652646aa33a7828cc2ab472a18a" - integrity sha512-IHnpekk8H/hCUbBlfeaPZzU6v75bqwJp3n4dUrQuQOAgOneI4tx3jV2o8pvlXnDfcRsfkFIUD//HWXpCmR+evQ== +jest-worker@^25.2.6: + version "25.2.6" + resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-25.2.6.tgz#d1292625326794ce187c38f51109faced3846c58" + integrity sha512-FJn9XDUSxcOR4cwDzRfL1z56rUofNTFs539FGASpd50RHdb6EVkhxQqktodW2mI49l+W3H+tFJDotCHUQF6dmA== dependencies: merge-stream "^2.0.0" supports-color "^7.0.0" -jest@^25.2.4: - version "25.2.4" - resolved "https://registry.yarnpkg.com/jest/-/jest-25.2.4.tgz#d10941948a2b57eb7accc2e7ae78af4a0e11b40a" - integrity sha512-Lu4LXxf4+durzN/IFilcAoQSisOwgHIXgl9vffopePpSSwFqfj1Pj4y+k3nL8oTbnvjxgDIsEcepy6he4bWqnQ== +jest@^25.2.6: + version "25.2.6" + resolved "https://registry.yarnpkg.com/jest/-/jest-25.2.6.tgz#da597f3563dceba12913965ea398fe7f8804fb12" + integrity sha512-AA9U1qmYViBTfoKWzQBbBmck53Tsw8av7zRYdE4EUBU6r04mddPQaflpPBy/KC308HF7u8fLLxEJFt/LiFzYFQ== dependencies: - "@jest/core" "^25.2.4" + "@jest/core" "^25.2.6" import-local "^3.0.2" - jest-cli "^25.2.4" + jest-cli "^25.2.6" jimp-compact@^0.8.0: version "0.8.5" @@ -10349,12 +10347,12 @@ pretty-error@^2.0.2: renderkid "^2.0.1" utila "~0.4" -pretty-format@^25.2.3: - version "25.2.3" - resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-25.2.3.tgz#ba6e9603a0d80fa2e470b1fed55de1f9bfd81421" - integrity sha512-IP4+5UOAVGoyqC/DiomOeHBUKN6q00gfyT2qpAsRH64tgOKB2yF7FHJXC18OCiU0/YFierACup/zdCOWw0F/0w== +pretty-format@^25.2.6: + version "25.2.6" + resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-25.2.6.tgz#542a1c418d019bbf1cca2e3620443bc1323cb8d7" + integrity sha512-DEiWxLBaCHneffrIT4B+TpMvkV9RNvvJrd3lY9ew1CEQobDzEXmYT1mg0hJhljZty7kCc10z13ohOFAE8jrUDg== dependencies: - "@jest/types" "^25.2.3" + "@jest/types" "^25.2.6" ansi-regex "^5.0.0" ansi-styles "^4.0.0" react-is "^16.12.0" From 874dca2c8c385fecf7cec76e6cfa44eda9fcabf4 Mon Sep 17 00:00:00 2001 From: David Yu <21711933@student.uwa.edu.au> Date: Thu, 2 Apr 2020 20:22:58 +0800 Subject: [PATCH 3/8] fix(table): fix bad copy paste (#5067) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Jacob Müller --- src/components/table/helpers/mixin-items.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/components/table/helpers/mixin-items.js b/src/components/table/helpers/mixin-items.js index adc0f0e9564..2016bb0c074 100644 --- a/src/components/table/helpers/mixin-items.js +++ b/src/components/table/helpers/mixin-items.js @@ -85,7 +85,7 @@ export default { sortBy: this.localSortBy, sortDesc: this.localSortDesc, perPage: Math.max(toInteger(this.perPage, 0), 0), - currentPage: Math.max(toInteger(this.perPage, 0), 1), + currentPage: Math.max(toInteger(this.currentPage, 0), 1), apiUrl: this.apiUrl } } From 5fc5771deaffb5f0d4c14a5f2e93d86f2c0d3871 Mon Sep 17 00:00:00 2001 From: Troy Morehouse Date: Thu, 2 Apr 2020 09:27:36 -0300 Subject: [PATCH 4/8] feat(b-avatar): if img `src` fails to load, show icon or text or fallback icon (#5064) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * feat(b-avatar): if img `src` fails to load, show icon or text or fallback icon * Update avatar.spec.js * lint * Update package.json * Update avatar.js * Update avatar.spec.js * Update package.json * Update avatar.spec.js * Update avatar.js * Update README.md * Update README.md * Update README.md Co-authored-by: Jacob Müller --- src/components/avatar/README.md | 49 +++++++++++-------- src/components/avatar/avatar.js | 72 +++++++++++++++++++++------- src/components/avatar/avatar.spec.js | 69 +++++++++++++++++++++++++- src/components/avatar/package.json | 7 ++- 4 files changed, 157 insertions(+), 40 deletions(-) diff --git a/src/components/avatar/README.md b/src/components/avatar/README.md index b7f1acbf958..d7e915f75f3 100644 --- a/src/components/avatar/README.md +++ b/src/components/avatar/README.md @@ -52,27 +52,11 @@ components. ## Avatar types -The avatar content can be either a short text string, an image, or an icon. Avatar content defaults +The avatar content can be either a an image, an icon, or short text string. Avatar content defaults to the [`'person-fill'` icon](/docs/icons) when no other content is specified. -### Text content - -You can specify a short string as the content of an avatar via the `text` prop. The string should be -short (1 to 3 characters), and will be transformed via CSS to be all uppercase. The font size will -be scaled relative to the [`size` prop setting](#sizing). - -```html - - - -``` +You can also supply custom content via the default slot, although you may need to apply additional +styling on the content. ### Image content @@ -96,7 +80,11 @@ and will be sized to show the avatar's [variant background](#variants) around th - When using a module bundler and project relative image URLs, please refer to the [Component img src resolving](/docs/reference/images) reference section for additional details. -- The `src` prop takes precedence over the `text` prop. +- The `src` prop takes precedence over the `icon` and `text` props. +- 2.11.0+ If the image fails to load, the avatar will + fallback to the value of the `icon` or `text` props. If neither the `icon` or `text` props are + provided, then the default avatar icon will be shown. Also, when the image fails to load, the + `img-error` event will be emitted. ### Icon content @@ -121,10 +109,29 @@ prop should be set to a valid icon name. Icons will scale respective to the [`si - When providing a BootstrapVue icon name, you _must_ ensure that you have registered the corresponding icon component (either locally to your component/page, or globally), if not using the full [`BootstrapVueIcons` plugin](/docs/icons). -- The `icon` prop takes precedence over the `text` and `src` props. +- The `icon` prop takes precedence over the `text` prop. - If the `text`, `src`, or `icon` props are not provided _and_ the [default slot](#custom-content) has no content, then the `person-fill` icon will be used. +### Text content + +You can specify a short string as the content of an avatar via the `text` prop. The string should be +short (1 to 3 characters), and will be transformed via CSS to be all uppercase. The font size will +be scaled relative to the [`size` prop setting](#sizing). + +```html + + + +``` + ### Custom content Use the `default` slot to render custom content in the avatar, for finer grained control of its diff --git a/src/components/avatar/avatar.js b/src/components/avatar/avatar.js index 0724fa1347c..01e66068ab1 100644 --- a/src/components/avatar/avatar.js +++ b/src/components/avatar/avatar.js @@ -1,4 +1,3 @@ -import { mergeData } from 'vue-functional-data-merge' import Vue from '../../utils/vue' import pluckProps from '../../utils/pluck-props' import { getComponentConfig } from '../../utils/config' @@ -8,6 +7,7 @@ import { BButton } from '../button/button' import { BLink } from '../link/link' import { BIcon } from '../../icons/icon' import { BIconPersonFill } from '../../icons/icons' +import normalizeSlotMixin from '../../mixins/normalize-slot' // --- Constants --- const NAME = 'BAvatar' @@ -135,30 +135,69 @@ const computeSize = value => { // @vue/component export const BAvatar = /*#__PURE__*/ Vue.extend({ name: NAME, - functional: true, + mixins: [normalizeSlotMixin], props, - render(h, { props, data, children }) { - const { variant, disabled, square, icon, src, text, button: isButton, buttonType: type } = props - const isBLink = !isButton && (props.href || props.to) + data() { + return { + localSrc: this.src || null + } + }, + computed: { + computedSize() { + return computeSize(this.size) + }, + fontSize() { + const size = this.computedSize + return size ? `calc(${size} * ${FONT_SIZE_SCALE})` : null + } + }, + watch: { + src(newSrc, oldSrc) { + if (newSrc !== oldSrc) { + this.localSrc = newSrc || null + } + } + }, + methods: { + onImgError() { + this.localSrc = null + this.$emit('img-error') + }, + onClick(evt) { + this.$emit('click', evt) + } + }, + render(h) { + const { + variant, + disabled, + square, + icon, + localSrc: src, + text, + fontSize, + computedSize: size, + button: isButton, + buttonType: type + } = this + const isBLink = !isButton && (this.href || this.to) const tag = isButton ? BButton : isBLink ? BLink : 'span' - const rounded = square ? false : props.rounded === '' ? true : props.rounded || 'circle' - const size = computeSize(props.size) - const alt = props.alt || null - const ariaLabel = props.ariaLabel || null + const rounded = square ? false : this.rounded === '' ? true : this.rounded || 'circle' + const alt = this.alt || null + const ariaLabel = this.ariaLabel || null let $content = null - if (children) { + if (this.hasNormalizedSlot('default')) { // Default slot overrides props - $content = children + $content = this.normalizeSlot('default') + } else if (src) { + $content = h('img', { attrs: { src, alt }, on: { error: this.onImgError } }) } else if (icon) { $content = h(BIcon, { props: { icon }, attrs: { 'aria-hidden': 'true', alt } }) - } else if (src) { - $content = h('img', { attrs: { src, alt } }) } else if (text) { - const fontSize = size ? `calc(${size} * ${FONT_SIZE_SCALE})` : null $content = h('span', { style: { fontSize } }, text) } else { // Fallback default avatar content @@ -179,9 +218,10 @@ export const BAvatar = /*#__PURE__*/ Vue.extend({ }, style: { width: size, height: size }, attrs: { 'aria-label': ariaLabel }, - props: isButton ? { variant, disabled, type } : isBLink ? pluckProps(linkProps, props) : {} + props: isButton ? { variant, disabled, type } : isBLink ? pluckProps(linkProps, this) : {}, + on: isBLink || isButton ? { click: this.onClick } : {} } - return h(tag, mergeData(data, componentData), [$content]) + return h(tag, componentData, [$content]) } }) diff --git a/src/components/avatar/avatar.spec.js b/src/components/avatar/avatar.spec.js index ccd187e7d0a..d93a3e47dc5 100644 --- a/src/components/avatar/avatar.spec.js +++ b/src/components/avatar/avatar.spec.js @@ -1,16 +1,19 @@ import { mount, createLocalVue as CreateLocalVue } from '@vue/test-utils' import { BIconPerson } from '../../icons/icons' import { BAvatar } from './avatar' +import { waitNT } from '../../../tests/utils' describe('avatar', () => { it('should have expected default structure', async () => { const wrapper = mount(BAvatar) + expect(wrapper.isVueInstance()).toBe(true) expect(wrapper.is('span')).toBe(true) expect(wrapper.classes()).toContain('b-avatar') expect(wrapper.classes()).toContain('badge-secondary') expect(wrapper.classes()).not.toContain('disabled') expect(wrapper.attributes('href')).not.toBeDefined() expect(wrapper.attributes('type')).not.toBeDefined() + wrapper.destroy() }) it('should have expected structure when prop `button` set', async () => { @@ -19,6 +22,7 @@ describe('avatar', () => { button: true } }) + expect(wrapper.isVueInstance()).toBe(true) expect(wrapper.is('button')).toBe(true) expect(wrapper.classes()).toContain('b-avatar') expect(wrapper.classes()).toContain('btn-secondary') @@ -29,6 +33,17 @@ describe('avatar', () => { expect(wrapper.text()).toEqual('') expect(wrapper.find('.b-icon').exists()).toBe(true) expect(wrapper.find('img').exists()).toBe(false) + + expect(wrapper.emitted('click')).toBeUndefined() + + wrapper.trigger('click') + await waitNT(wrapper.vm) + + expect(wrapper.emitted('click')).not.toBeUndefined() + expect(wrapper.emitted('click').length).toBe(1) + expect(wrapper.emitted('click')[0][0]).toBeInstanceOf(Event) + + wrapper.destroy() }) it('should have expected structure when prop `href` set', async () => { @@ -37,6 +52,7 @@ describe('avatar', () => { href: '#foo' } }) + expect(wrapper.isVueInstance()).toBe(true) expect(wrapper.is('a')).toBe(true) expect(wrapper.classes()).toContain('b-avatar') expect(wrapper.classes()).toContain('badge-secondary') @@ -48,6 +64,17 @@ describe('avatar', () => { expect(wrapper.text()).toEqual('') expect(wrapper.find('.b-icon').exists()).toBe(true) expect(wrapper.find('img').exists()).toBe(false) + + expect(wrapper.emitted('click')).toBeUndefined() + + wrapper.trigger('click') + await waitNT(wrapper.vm) + + expect(wrapper.emitted('click')).not.toBeUndefined() + expect(wrapper.emitted('click').length).toBe(1) + expect(wrapper.emitted('click')[0][0]).toBeInstanceOf(Event) + + wrapper.destroy() }) it('should have expected structure when prop `text` set', async () => { @@ -56,6 +83,7 @@ describe('avatar', () => { text: 'BV' } }) + expect(wrapper.isVueInstance()).toBe(true) expect(wrapper.is('span')).toBe(true) expect(wrapper.classes()).toContain('b-avatar') expect(wrapper.classes()).toContain('badge-secondary') @@ -65,6 +93,7 @@ describe('avatar', () => { expect(wrapper.text()).toContain('BV') expect(wrapper.find('.b-icon').exists()).toBe(false) expect(wrapper.find('img').exists()).toBe(false) + wrapper.destroy() }) it('should have expected structure when default slot used', async () => { @@ -76,6 +105,7 @@ describe('avatar', () => { default: 'BAR' } }) + expect(wrapper.isVueInstance()).toBe(true) expect(wrapper.is('span')).toBe(true) expect(wrapper.classes()).toContain('b-avatar') expect(wrapper.classes()).toContain('badge-secondary') @@ -86,14 +116,17 @@ describe('avatar', () => { expect(wrapper.text()).not.toContain('FOO') expect(wrapper.find('.b-icon').exists()).toBe(false) expect(wrapper.find('img').exists()).toBe(false) + wrapper.destroy() }) it('should have expected structure when prop `src` set', async () => { const wrapper = mount(BAvatar, { propsData: { - src: '/foo/bar' + src: '/foo/bar', + text: 'BV' } }) + expect(wrapper.isVueInstance()).toBe(true) expect(wrapper.is('span')).toBe(true) expect(wrapper.classes()).toContain('b-avatar') expect(wrapper.classes()).toContain('badge-secondary') @@ -104,9 +137,31 @@ describe('avatar', () => { expect(wrapper.find('.b-icon').exists()).toBe(false) expect(wrapper.find('img').exists()).toBe(true) expect(wrapper.find('img').attributes('src')).toEqual('/foo/bar') + expect(wrapper.text()).not.toContain('BV') + + wrapper.setProps({ + src: '/foo/baz' + }) + await waitNT(wrapper.vm) + + expect(wrapper.find('img').exists()).toBe(true) + expect(wrapper.find('img').attributes('src')).toEqual('/foo/baz') + expect(wrapper.text()).not.toContain('BV') + expect(wrapper.emitted('img-error')).not.toBeDefined() + expect(wrapper.text()).not.toContain('BV') + + // Fake an image error + wrapper.find('img').trigger('error') + await waitNT(wrapper.vm) + expect(wrapper.emitted('img-error')).toBeDefined() + expect(wrapper.emitted('img-error').length).toBe(1) + expect(wrapper.find('img').exists()).toBe(false) + expect(wrapper.text()).toContain('BV') + + wrapper.destroy() }) - it('should have expected structure when prop `src` set', async () => { + it('should have expected structure when prop `icon` set', async () => { const localVue = new CreateLocalVue() localVue.component('BIconPerson', BIconPerson) const wrapper = mount(BAvatar, { @@ -115,6 +170,7 @@ describe('avatar', () => { icon: 'person' } }) + expect(wrapper.isVueInstance()).toBe(true) expect(wrapper.is('span')).toBe(true) expect(wrapper.classes()).toContain('b-avatar') expect(wrapper.classes()).toContain('badge-secondary') @@ -125,31 +181,40 @@ describe('avatar', () => { const $icon = wrapper.find('.b-icon') expect($icon.exists()).toBe(true) expect($icon.classes()).toContain('bi-person') + wrapper.destroy() }) it('`size` prop should work as expected', async () => { const wrapper1 = mount(BAvatar) expect(wrapper1.attributes('style')).toEqual('width: 2.5em; height: 2.5em;') + wrapper1.destroy() const wrapper2 = mount(BAvatar, { propsData: { size: 'sm' } }) expect(wrapper2.attributes('style')).toEqual('width: 1.5em; height: 1.5em;') + wrapper2.destroy() const wrapper3 = mount(BAvatar, { propsData: { size: 'md' } }) expect(wrapper3.attributes('style')).toEqual('width: 2.5em; height: 2.5em;') + wrapper3.destroy() const wrapper4 = mount(BAvatar, { propsData: { size: 'lg' } }) expect(wrapper4.attributes('style')).toEqual('width: 3.5em; height: 3.5em;') + wrapper4.destroy() const wrapper5 = mount(BAvatar, { propsData: { size: 20 } }) expect(wrapper5.attributes('style')).toEqual('width: 20px; height: 20px;') + wrapper5.destroy() const wrapper6 = mount(BAvatar, { propsData: { size: '24.5' } }) expect(wrapper6.attributes('style')).toEqual('width: 24.5px; height: 24.5px;') + wrapper6.destroy() const wrapper7 = mount(BAvatar, { propsData: { size: '5em' } }) expect(wrapper7.attributes('style')).toEqual('width: 5em; height: 5em;') + wrapper7.destroy() const wrapper8 = mount(BAvatar, { propsData: { size: '36px' } }) expect(wrapper8.attributes('style')).toEqual('width: 36px; height: 36px;') + wrapper8.destroy() }) }) diff --git a/src/components/avatar/package.json b/src/components/avatar/package.json index e1ec1db2022..e65d10ddafa 100644 --- a/src/components/avatar/package.json +++ b/src/components/avatar/package.json @@ -62,13 +62,18 @@ "events": [ { "event": "click", - "description": "Emitted when the avatar is clicked (when rendered as a button or link)", + "description": "Emitted when the avatar is clicked when rendered as a button or link. Not emitted if not a button or link", "args": [ { "arg": "evt", "description": "Native event object" } ] + }, + { + "event": "img-error", + "version": "2.11.0", + "description": "Emitted if an image `src` is provided and the image fails to load" } ] } From 629895353d59bd943a3c9e2e5f63895a7d6bd012 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Thu, 2 Apr 2020 13:46:20 -0300 Subject: [PATCH 5/8] chore(deps): update devdependency html-loader to ^1.1.0 (#5071) Co-authored-by: Renovate Bot --- package.json | 2 +- yarn.lock | 18 +++++++++--------- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/package.json b/package.json index cf481c9f5bb..0529c2bcf05 100644 --- a/package.json +++ b/package.json @@ -132,7 +132,7 @@ "esm": "^3.2.25", "gh-pages": "^2.2.0", "highlight.js": "^9.18.1", - "html-loader": "^1.0.0", + "html-loader": "^1.1.0", "husky": "^4.2.3", "jest": "^25.2.6", "jest-environment-jsdom-fourteen": "^1.0.1", diff --git a/yarn.lock b/yarn.lock index 266099c1568..47bc30bd706 100644 --- a/yarn.lock +++ b/yarn.lock @@ -6236,21 +6236,21 @@ html-escaper@^2.0.0: resolved "https://registry.yarnpkg.com/html-escaper/-/html-escaper-2.0.0.tgz#71e87f931de3fe09e56661ab9a29aadec707b491" integrity sha512-a4u9BeERWGu/S8JiWEAQcdrg9v4QArtP9keViQjGMdff20fBdd8waotXaNmODqBe6uZ3Nafi7K/ho4gCQHV3Ig== -html-loader@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/html-loader/-/html-loader-1.0.0.tgz#40000ff27bfb4fbf087d37f8438cae0b1d8b53b1" - integrity sha512-acPyjP9Mo05jEbe/oejXu5gFwtKWdFewPoaVa47VCnHmRbR43jtdx/kPhPEbCBm2qWtIn+a8uTJAW4Ocnn4olw== +html-loader@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/html-loader/-/html-loader-1.1.0.tgz#91915f4d274caa9d46d1c3dc847cd82bfc037dbd" + integrity sha512-zwLbEgy+i7sgIYTlxI9M7jwkn29IvdsV6f1y7a2aLv/w8l1RigVk0PFijBZLLFsdi2gvL8sf2VJhTjLlfnK8sA== dependencies: - html-minifier-terser "^5.0.4" + html-minifier-terser "^5.0.5" htmlparser2 "^4.1.0" loader-utils "^2.0.0" parse-srcset "^1.0.2" schema-utils "^2.6.5" -html-minifier-terser@^5.0.4: - version "5.0.4" - resolved "https://registry.yarnpkg.com/html-minifier-terser/-/html-minifier-terser-5.0.4.tgz#e8cc02748acb983bd7912ea9660bd31c0702ec32" - integrity sha512-fHwmKQ+GzhlqdxEtwrqLT7MSuheiA+rif5/dZgbz3GjoMXJzcRzy1L9NXoiiyxrnap+q5guSiv8Tz5lrh9g42g== +html-minifier-terser@^5.0.5: + version "5.0.5" + resolved "https://registry.yarnpkg.com/html-minifier-terser/-/html-minifier-terser-5.0.5.tgz#8f12f639789f04faa9f5cf2ff9b9f65607f21f8b" + integrity sha512-cBSFFghQh/uHcfSiL42KxxIRMF7A144+3E44xdlctIjxEmkEfCvouxNyFH2wysXk1fCGBPwtcr3hDWlGTfkDew== dependencies: camel-case "^4.1.1" clean-css "^4.2.3" From 35f124e22270696a51e3e7edd7c76c0671dfc8bc Mon Sep 17 00:00:00 2001 From: Troy Morehouse Date: Thu, 2 Apr 2020 14:07:44 -0300 Subject: [PATCH 6/8] Revert "feat(b-avatar): if img `src` fails to load, show icon or text or fallback icon (#5064)" (#5078) This reverts commit 5fc5771deaffb5f0d4c14a5f2e93d86f2c0d3871. --- src/components/avatar/README.md | 49 ++++++++----------- src/components/avatar/avatar.js | 72 +++++++--------------------- src/components/avatar/avatar.spec.js | 69 +------------------------- src/components/avatar/package.json | 7 +-- 4 files changed, 40 insertions(+), 157 deletions(-) diff --git a/src/components/avatar/README.md b/src/components/avatar/README.md index d7e915f75f3..b7f1acbf958 100644 --- a/src/components/avatar/README.md +++ b/src/components/avatar/README.md @@ -52,11 +52,27 @@ components. ## Avatar types -The avatar content can be either a an image, an icon, or short text string. Avatar content defaults +The avatar content can be either a short text string, an image, or an icon. Avatar content defaults to the [`'person-fill'` icon](/docs/icons) when no other content is specified. -You can also supply custom content via the default slot, although you may need to apply additional -styling on the content. +### Text content + +You can specify a short string as the content of an avatar via the `text` prop. The string should be +short (1 to 3 characters), and will be transformed via CSS to be all uppercase. The font size will +be scaled relative to the [`size` prop setting](#sizing). + +```html + + + +``` ### Image content @@ -80,11 +96,7 @@ and will be sized to show the avatar's [variant background](#variants) around th - When using a module bundler and project relative image URLs, please refer to the [Component img src resolving](/docs/reference/images) reference section for additional details. -- The `src` prop takes precedence over the `icon` and `text` props. -- 2.11.0+ If the image fails to load, the avatar will - fallback to the value of the `icon` or `text` props. If neither the `icon` or `text` props are - provided, then the default avatar icon will be shown. Also, when the image fails to load, the - `img-error` event will be emitted. +- The `src` prop takes precedence over the `text` prop. ### Icon content @@ -109,29 +121,10 @@ prop should be set to a valid icon name. Icons will scale respective to the [`si - When providing a BootstrapVue icon name, you _must_ ensure that you have registered the corresponding icon component (either locally to your component/page, or globally), if not using the full [`BootstrapVueIcons` plugin](/docs/icons). -- The `icon` prop takes precedence over the `text` prop. +- The `icon` prop takes precedence over the `text` and `src` props. - If the `text`, `src`, or `icon` props are not provided _and_ the [default slot](#custom-content) has no content, then the `person-fill` icon will be used. -### Text content - -You can specify a short string as the content of an avatar via the `text` prop. The string should be -short (1 to 3 characters), and will be transformed via CSS to be all uppercase. The font size will -be scaled relative to the [`size` prop setting](#sizing). - -```html - - - -``` - ### Custom content Use the `default` slot to render custom content in the avatar, for finer grained control of its diff --git a/src/components/avatar/avatar.js b/src/components/avatar/avatar.js index 01e66068ab1..0724fa1347c 100644 --- a/src/components/avatar/avatar.js +++ b/src/components/avatar/avatar.js @@ -1,3 +1,4 @@ +import { mergeData } from 'vue-functional-data-merge' import Vue from '../../utils/vue' import pluckProps from '../../utils/pluck-props' import { getComponentConfig } from '../../utils/config' @@ -7,7 +8,6 @@ import { BButton } from '../button/button' import { BLink } from '../link/link' import { BIcon } from '../../icons/icon' import { BIconPersonFill } from '../../icons/icons' -import normalizeSlotMixin from '../../mixins/normalize-slot' // --- Constants --- const NAME = 'BAvatar' @@ -135,69 +135,30 @@ const computeSize = value => { // @vue/component export const BAvatar = /*#__PURE__*/ Vue.extend({ name: NAME, - mixins: [normalizeSlotMixin], + functional: true, props, - data() { - return { - localSrc: this.src || null - } - }, - computed: { - computedSize() { - return computeSize(this.size) - }, - fontSize() { - const size = this.computedSize - return size ? `calc(${size} * ${FONT_SIZE_SCALE})` : null - } - }, - watch: { - src(newSrc, oldSrc) { - if (newSrc !== oldSrc) { - this.localSrc = newSrc || null - } - } - }, - methods: { - onImgError() { - this.localSrc = null - this.$emit('img-error') - }, - onClick(evt) { - this.$emit('click', evt) - } - }, - render(h) { - const { - variant, - disabled, - square, - icon, - localSrc: src, - text, - fontSize, - computedSize: size, - button: isButton, - buttonType: type - } = this - const isBLink = !isButton && (this.href || this.to) + render(h, { props, data, children }) { + const { variant, disabled, square, icon, src, text, button: isButton, buttonType: type } = props + const isBLink = !isButton && (props.href || props.to) const tag = isButton ? BButton : isBLink ? BLink : 'span' - const rounded = square ? false : this.rounded === '' ? true : this.rounded || 'circle' - const alt = this.alt || null - const ariaLabel = this.ariaLabel || null + const rounded = square ? false : props.rounded === '' ? true : props.rounded || 'circle' + const size = computeSize(props.size) + const alt = props.alt || null + const ariaLabel = props.ariaLabel || null let $content = null - if (this.hasNormalizedSlot('default')) { + if (children) { // Default slot overrides props - $content = this.normalizeSlot('default') - } else if (src) { - $content = h('img', { attrs: { src, alt }, on: { error: this.onImgError } }) + $content = children } else if (icon) { $content = h(BIcon, { props: { icon }, attrs: { 'aria-hidden': 'true', alt } }) + } else if (src) { + $content = h('img', { attrs: { src, alt } }) } else if (text) { + const fontSize = size ? `calc(${size} * ${FONT_SIZE_SCALE})` : null $content = h('span', { style: { fontSize } }, text) } else { // Fallback default avatar content @@ -218,10 +179,9 @@ export const BAvatar = /*#__PURE__*/ Vue.extend({ }, style: { width: size, height: size }, attrs: { 'aria-label': ariaLabel }, - props: isButton ? { variant, disabled, type } : isBLink ? pluckProps(linkProps, this) : {}, - on: isBLink || isButton ? { click: this.onClick } : {} + props: isButton ? { variant, disabled, type } : isBLink ? pluckProps(linkProps, props) : {} } - return h(tag, componentData, [$content]) + return h(tag, mergeData(data, componentData), [$content]) } }) diff --git a/src/components/avatar/avatar.spec.js b/src/components/avatar/avatar.spec.js index d93a3e47dc5..ccd187e7d0a 100644 --- a/src/components/avatar/avatar.spec.js +++ b/src/components/avatar/avatar.spec.js @@ -1,19 +1,16 @@ import { mount, createLocalVue as CreateLocalVue } from '@vue/test-utils' import { BIconPerson } from '../../icons/icons' import { BAvatar } from './avatar' -import { waitNT } from '../../../tests/utils' describe('avatar', () => { it('should have expected default structure', async () => { const wrapper = mount(BAvatar) - expect(wrapper.isVueInstance()).toBe(true) expect(wrapper.is('span')).toBe(true) expect(wrapper.classes()).toContain('b-avatar') expect(wrapper.classes()).toContain('badge-secondary') expect(wrapper.classes()).not.toContain('disabled') expect(wrapper.attributes('href')).not.toBeDefined() expect(wrapper.attributes('type')).not.toBeDefined() - wrapper.destroy() }) it('should have expected structure when prop `button` set', async () => { @@ -22,7 +19,6 @@ describe('avatar', () => { button: true } }) - expect(wrapper.isVueInstance()).toBe(true) expect(wrapper.is('button')).toBe(true) expect(wrapper.classes()).toContain('b-avatar') expect(wrapper.classes()).toContain('btn-secondary') @@ -33,17 +29,6 @@ describe('avatar', () => { expect(wrapper.text()).toEqual('') expect(wrapper.find('.b-icon').exists()).toBe(true) expect(wrapper.find('img').exists()).toBe(false) - - expect(wrapper.emitted('click')).toBeUndefined() - - wrapper.trigger('click') - await waitNT(wrapper.vm) - - expect(wrapper.emitted('click')).not.toBeUndefined() - expect(wrapper.emitted('click').length).toBe(1) - expect(wrapper.emitted('click')[0][0]).toBeInstanceOf(Event) - - wrapper.destroy() }) it('should have expected structure when prop `href` set', async () => { @@ -52,7 +37,6 @@ describe('avatar', () => { href: '#foo' } }) - expect(wrapper.isVueInstance()).toBe(true) expect(wrapper.is('a')).toBe(true) expect(wrapper.classes()).toContain('b-avatar') expect(wrapper.classes()).toContain('badge-secondary') @@ -64,17 +48,6 @@ describe('avatar', () => { expect(wrapper.text()).toEqual('') expect(wrapper.find('.b-icon').exists()).toBe(true) expect(wrapper.find('img').exists()).toBe(false) - - expect(wrapper.emitted('click')).toBeUndefined() - - wrapper.trigger('click') - await waitNT(wrapper.vm) - - expect(wrapper.emitted('click')).not.toBeUndefined() - expect(wrapper.emitted('click').length).toBe(1) - expect(wrapper.emitted('click')[0][0]).toBeInstanceOf(Event) - - wrapper.destroy() }) it('should have expected structure when prop `text` set', async () => { @@ -83,7 +56,6 @@ describe('avatar', () => { text: 'BV' } }) - expect(wrapper.isVueInstance()).toBe(true) expect(wrapper.is('span')).toBe(true) expect(wrapper.classes()).toContain('b-avatar') expect(wrapper.classes()).toContain('badge-secondary') @@ -93,7 +65,6 @@ describe('avatar', () => { expect(wrapper.text()).toContain('BV') expect(wrapper.find('.b-icon').exists()).toBe(false) expect(wrapper.find('img').exists()).toBe(false) - wrapper.destroy() }) it('should have expected structure when default slot used', async () => { @@ -105,7 +76,6 @@ describe('avatar', () => { default: 'BAR' } }) - expect(wrapper.isVueInstance()).toBe(true) expect(wrapper.is('span')).toBe(true) expect(wrapper.classes()).toContain('b-avatar') expect(wrapper.classes()).toContain('badge-secondary') @@ -116,17 +86,14 @@ describe('avatar', () => { expect(wrapper.text()).not.toContain('FOO') expect(wrapper.find('.b-icon').exists()).toBe(false) expect(wrapper.find('img').exists()).toBe(false) - wrapper.destroy() }) it('should have expected structure when prop `src` set', async () => { const wrapper = mount(BAvatar, { propsData: { - src: '/foo/bar', - text: 'BV' + src: '/foo/bar' } }) - expect(wrapper.isVueInstance()).toBe(true) expect(wrapper.is('span')).toBe(true) expect(wrapper.classes()).toContain('b-avatar') expect(wrapper.classes()).toContain('badge-secondary') @@ -137,31 +104,9 @@ describe('avatar', () => { expect(wrapper.find('.b-icon').exists()).toBe(false) expect(wrapper.find('img').exists()).toBe(true) expect(wrapper.find('img').attributes('src')).toEqual('/foo/bar') - expect(wrapper.text()).not.toContain('BV') - - wrapper.setProps({ - src: '/foo/baz' - }) - await waitNT(wrapper.vm) - - expect(wrapper.find('img').exists()).toBe(true) - expect(wrapper.find('img').attributes('src')).toEqual('/foo/baz') - expect(wrapper.text()).not.toContain('BV') - expect(wrapper.emitted('img-error')).not.toBeDefined() - expect(wrapper.text()).not.toContain('BV') - - // Fake an image error - wrapper.find('img').trigger('error') - await waitNT(wrapper.vm) - expect(wrapper.emitted('img-error')).toBeDefined() - expect(wrapper.emitted('img-error').length).toBe(1) - expect(wrapper.find('img').exists()).toBe(false) - expect(wrapper.text()).toContain('BV') - - wrapper.destroy() }) - it('should have expected structure when prop `icon` set', async () => { + it('should have expected structure when prop `src` set', async () => { const localVue = new CreateLocalVue() localVue.component('BIconPerson', BIconPerson) const wrapper = mount(BAvatar, { @@ -170,7 +115,6 @@ describe('avatar', () => { icon: 'person' } }) - expect(wrapper.isVueInstance()).toBe(true) expect(wrapper.is('span')).toBe(true) expect(wrapper.classes()).toContain('b-avatar') expect(wrapper.classes()).toContain('badge-secondary') @@ -181,40 +125,31 @@ describe('avatar', () => { const $icon = wrapper.find('.b-icon') expect($icon.exists()).toBe(true) expect($icon.classes()).toContain('bi-person') - wrapper.destroy() }) it('`size` prop should work as expected', async () => { const wrapper1 = mount(BAvatar) expect(wrapper1.attributes('style')).toEqual('width: 2.5em; height: 2.5em;') - wrapper1.destroy() const wrapper2 = mount(BAvatar, { propsData: { size: 'sm' } }) expect(wrapper2.attributes('style')).toEqual('width: 1.5em; height: 1.5em;') - wrapper2.destroy() const wrapper3 = mount(BAvatar, { propsData: { size: 'md' } }) expect(wrapper3.attributes('style')).toEqual('width: 2.5em; height: 2.5em;') - wrapper3.destroy() const wrapper4 = mount(BAvatar, { propsData: { size: 'lg' } }) expect(wrapper4.attributes('style')).toEqual('width: 3.5em; height: 3.5em;') - wrapper4.destroy() const wrapper5 = mount(BAvatar, { propsData: { size: 20 } }) expect(wrapper5.attributes('style')).toEqual('width: 20px; height: 20px;') - wrapper5.destroy() const wrapper6 = mount(BAvatar, { propsData: { size: '24.5' } }) expect(wrapper6.attributes('style')).toEqual('width: 24.5px; height: 24.5px;') - wrapper6.destroy() const wrapper7 = mount(BAvatar, { propsData: { size: '5em' } }) expect(wrapper7.attributes('style')).toEqual('width: 5em; height: 5em;') - wrapper7.destroy() const wrapper8 = mount(BAvatar, { propsData: { size: '36px' } }) expect(wrapper8.attributes('style')).toEqual('width: 36px; height: 36px;') - wrapper8.destroy() }) }) diff --git a/src/components/avatar/package.json b/src/components/avatar/package.json index e65d10ddafa..e1ec1db2022 100644 --- a/src/components/avatar/package.json +++ b/src/components/avatar/package.json @@ -62,18 +62,13 @@ "events": [ { "event": "click", - "description": "Emitted when the avatar is clicked when rendered as a button or link. Not emitted if not a button or link", + "description": "Emitted when the avatar is clicked (when rendered as a button or link)", "args": [ { "arg": "evt", "description": "Native event object" } ] - }, - { - "event": "img-error", - "version": "2.11.0", - "description": "Emitted if an image `src` is provided and the image fails to load" } ] } From 26377b3479f323baa2d702fab7f5200949ed680d Mon Sep 17 00:00:00 2001 From: Troy Morehouse Date: Thu, 2 Apr 2020 17:09:26 -0300 Subject: [PATCH 7/8] fix(b-avatar): remove default padding when in button mode (fixes #5073) (#5076) --- src/components/avatar/_avatar.scss | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/components/avatar/_avatar.scss b/src/components/avatar/_avatar.scss index 7c513fb7dc2..466f7f32912 100644 --- a/src/components/avatar/_avatar.scss +++ b/src/components/avatar/_avatar.scss @@ -21,7 +21,11 @@ } &a, - &button { + &button, + &.btn { + padding: 0; + border: 0; + &:not(:disabled):not(.disabled) { cursor: if($enable-pointer-cursor-for-buttons, pointer, null); } From af9171593822d9726256a9cfa206cf94e03a9c81 Mon Sep 17 00:00:00 2001 From: Troy Morehouse Date: Thu, 2 Apr 2020 18:55:43 -0300 Subject: [PATCH 8/8] chore: bump version to 2.10.1 and update changelog (#5080) --- CHANGELOG.md | 21 +++++++++++++++++++++ package.json | 2 +- 2 files changed, 22 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 0e0ff8ba9b9..12fcee6dda5 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,27 @@ > All notable changes to this project will be documented in this file. + + +## [v2.10.1](https://github.com/bootstrap-vue/bootstrap-vue/compare/v2.10.0...v2.10.1) + +Released: 2020-04-02 + +### Bug Fixes v2.10.1 + +- **b-avatar:** remove default padding when in button mode (fixes + [#5073](https://github.com/bootstrap-vue/bootstrap-vue/issues/5073)) + ([#5076](https://github.com/bootstrap-vue/bootstrap-vue/issues/5076)) + ([26377b3](https://github.com/bootstrap-vue/bootstrap-vue/commit/26377b3479f323baa2d702fab7f5200949ed680d)) +- **b-table:** fix context object `currentPage` issue introduced in v2.10.0 (fixes + [#5065](https://github.com/bootstrap-vue/bootstrap-vue/issues/5065)) + ([#5067](https://github.com/bootstrap-vue/bootstrap-vue/issues/5067)) + ([874dca2](https://github.com/bootstrap-vue/bootstrap-vue/commit/874dca2c8c385fecf7cec76e6cfa44eda9fcabf4)) + +### Other v2.10.1 + +- dev dependency updates + ## [v2.10.0](https://github.com/bootstrap-vue/bootstrap-vue/compare/v2.9.0...v2.10.0) diff --git a/package.json b/package.json index 0529c2bcf05..0ef31ed4c07 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "bootstrap-vue", - "version": "2.10.0", + "version": "2.10.1", "description": "BootstrapVue, with more than 85 custom components, over 45 plugins, several 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.", "main": "dist/bootstrap-vue.common.js", "web": "dist/bootstrap-vue.js",