Skip to content

Commit a960f54

Browse files
Refactor: the implementation of renderBlugImage prop
1 parent 029eb64 commit a960f54

File tree

4 files changed

+14
-53
lines changed

4 files changed

+14
-53
lines changed

CHANGELOG.md

+2-2
Original file line numberDiff line numberDiff line change
@@ -28,9 +28,9 @@ Types of changes:
2828

2929
-------------
3030

31-
## 1.2.6 - 2025-02-20
31+
## 1.2.6 - 2025-02-24
3232
### Added
33-
- Prop to render blur image optionally
33+
- Add support for `renderBlurImage` prop to render low-quality blur image optionally.
3434

3535
## 1.2.5 - 2024-04-30
3636
### Fixed

README.md

+7
Original file line numberDiff line numberDiff line change
@@ -281,6 +281,13 @@ For example:
281281

282282
List of supported device pixel ratios. If there is no need to support retina devices, you should set an empty array `devicePixelRatioList: []`.
283283

284+
### renderBlurImage
285+
286+
###### Type: **Boolean** | Default: **true**
287+
288+
That can be used to decide whether the low-quality blur images needs to be rendered or no.
289+
290+
284291
## <a name="server_side_config"></a> server-side config
285292
### <a name="server-side"></a> ssr
286293

src/Img.js

+4-3
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,8 @@ function Img(props) {
1717
doNotReplaceURL: imagesDoNotReplaceURL, baseURL, params: imagesParams,
1818
quality: imagesQuality, layout: imagesLayout, objectFit: imagesObjectFit,
1919
lowPreviewQuality: imagesLowPreviewQuality, transitionDuration: imagesTransitionDuration,
20-
ssr: imagesSsr, objectPosition: imagesObjectPosition, lazyload: imagesLazyload, renderBlurImage: imagesRenderBlurImage = true,
20+
ssr: imagesSsr, objectPosition: imagesObjectPosition, lazyload: imagesLazyload,
21+
renderBlurImage: imagesRenderBlurImage = true,
2122
} = config;
2223

2324
const {
@@ -131,7 +132,7 @@ function Img(props) {
131132
style={{ ...WRAPPER_STYLES, ...style }}
132133
className={`${wrapperClassName}${className ? ` ${className}` : ''}`}
133134
>
134-
{renderBlurImage ? (
135+
{renderBlurImage && (
135136
<Image
136137
src={src}
137138
loader={(context) => cloudimageLoader(context, true)}
@@ -142,7 +143,7 @@ function Img(props) {
142143
alt={`low-preview-${_alt}`}
143144
{...computeImageSize(layout, width, height)}
144145
/>
145-
) : null}
146+
)}
146147

147148
{ssr ? (
148149
<Image

yarn.lock

+1-48
Original file line numberDiff line numberDiff line change
@@ -419,14 +419,6 @@
419419
estree-walker "^1.0.1"
420420
picomatch "^2.2.2"
421421

422-
"@rollup/pluginutils@^4.1.2":
423-
version "4.2.1"
424-
resolved "https://registry.yarnpkg.com/@rollup/pluginutils/-/pluginutils-4.2.1.tgz#e6c6c3aba0744edce3fb2074922d3776c0af2a6d"
425-
integrity sha512-iKnFXr7NkdZAIHiIWE+BX5ULi/ucVFYWD6TbAV+rZctiRTY2PL6tsIKhoIOaoskiWAkgu+VsbXgUVDNLHf+InQ==
426-
dependencies:
427-
estree-walker "^2.0.1"
428-
picomatch "^2.2.2"
429-
430422
431423
version "0.4.3"
432424
resolved "https://registry.yarnpkg.com/@swc/helpers/-/helpers-0.4.3.tgz#16593dfc248c53b699d4b5026040f88ddb497012"
@@ -1343,7 +1335,7 @@ fill-range@^7.0.1:
13431335
dependencies:
13441336
to-regex-range "^5.0.1"
13451337

1346-
find-cache-dir@^3.3.1, find-cache-dir@^3.3.2:
1338+
find-cache-dir@^3.3.1:
13471339
version "3.3.2"
13481340
resolved "https://registry.yarnpkg.com/find-cache-dir/-/find-cache-dir-3.3.2.tgz#b30c5b6eff0730731aea9bbd9dbecbd80256d64b"
13491341
integrity sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig==
@@ -1388,15 +1380,6 @@ flatted@^3.1.0:
13881380
resolved "https://registry.yarnpkg.com/flatted/-/flatted-3.2.6.tgz#022e9218c637f9f3fc9c35ab9c9193f05add60b2"
13891381
integrity sha512-0sQoMh9s0BYsm+12Huy/rkKxVu4R1+r96YX5cG44rHV0pQ6iC3Q+mkoMFaGWObMFYQxCVT+ssG1ksneA2MI9KQ==
13901382

1391-
fs-extra@^10.0.0:
1392-
version "10.1.0"
1393-
resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-10.1.0.tgz#02873cfbc4084dde127eaa5f9905eef2325d1abf"
1394-
integrity sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==
1395-
dependencies:
1396-
graceful-fs "^4.2.0"
1397-
jsonfile "^6.0.1"
1398-
universalify "^2.0.0"
1399-
14001383
fs-extra@^8.1.0:
14011384
version "8.1.0"
14021385
resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-8.1.0.tgz#49d43c45a88cd9677668cb7be1b46efdb8d2e1c0"
@@ -1837,15 +1820,6 @@ jsonfile@^4.0.0:
18371820
optionalDependencies:
18381821
graceful-fs "^4.1.6"
18391822

1840-
jsonfile@^6.0.1:
1841-
version "6.1.0"
1842-
resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-6.1.0.tgz#bc55b2634793c679ec6403094eb13698a6ec0aae"
1843-
integrity sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==
1844-
dependencies:
1845-
universalify "^2.0.0"
1846-
optionalDependencies:
1847-
graceful-fs "^4.1.6"
1848-
18491823
"jsx-ast-utils@^2.4.1 || ^3.0.0", jsx-ast-utils@^3.3.2:
18501824
version "3.3.3"
18511825
resolved "https://registry.yarnpkg.com/jsx-ast-utils/-/jsx-ast-utils-3.3.3.tgz#76b3e6e6cece5c69d49a5792c3d01bd1a0cdc7ea"
@@ -2716,17 +2690,6 @@ rollup-plugin-terser@^7.0.2:
27162690
serialize-javascript "^4.0.0"
27172691
terser "^5.0.0"
27182692

2719-
rollup-plugin-typescript2@^0.32.1:
2720-
version "0.32.1"
2721-
resolved "https://registry.yarnpkg.com/rollup-plugin-typescript2/-/rollup-plugin-typescript2-0.32.1.tgz#470ded8e1965efac02043cc0ef4a7fa36bed83b9"
2722-
integrity sha512-RanO8bp1WbeMv0bVlgcbsFNCn+Y3rX7wF97SQLDxf0fMLsg0B/QFF005t4AsGUcDgF3aKJHoqt4JF2xVaABeKw==
2723-
dependencies:
2724-
"@rollup/pluginutils" "^4.1.2"
2725-
find-cache-dir "^3.3.2"
2726-
fs-extra "^10.0.0"
2727-
resolve "^1.20.0"
2728-
tslib "^2.4.0"
2729-
27302693
rollup-pluginutils@^2.8.1, rollup-pluginutils@^2.8.2:
27312694
version "2.8.2"
27322695
resolved "https://registry.yarnpkg.com/rollup-pluginutils/-/rollup-pluginutils-2.8.2.tgz#72f2af0748b592364dbd3389e600e5a9444a351e"
@@ -3008,11 +2971,6 @@ type-fest@^0.20.2:
30082971
resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.20.2.tgz#1bf207f4b28f91583666cb5fbd327887301cd5f4"
30092972
integrity sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==
30102973

3011-
typescript@^4.7.4:
3012-
version "4.7.4"
3013-
resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.7.4.tgz#1a88596d1cf47d59507a1bcdfb5b9dfe4d488235"
3014-
integrity sha512-C0WQT0gezHuw6AdY1M2jxUO83Rjf0HP7Sk1DtXj6j1EwkQNZrHAg2XPWlq62oqEhYvONq5pkC2Y9oPljWToLmQ==
3015-
30162974
unbox-primitive@^1.0.2:
30172975
version "1.0.2"
30182976
resolved "https://registry.yarnpkg.com/unbox-primitive/-/unbox-primitive-1.0.2.tgz#29032021057d5e6cdbd08c5129c226dff8ed6f9e"
@@ -3028,11 +2986,6 @@ universalify@^0.1.0:
30282986
resolved "https://registry.yarnpkg.com/universalify/-/universalify-0.1.2.tgz#b646f69be3942dabcecc9d6639c80dc105efaa66"
30292987
integrity sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==
30302988

3031-
universalify@^2.0.0:
3032-
version "2.0.0"
3033-
resolved "https://registry.yarnpkg.com/universalify/-/universalify-2.0.0.tgz#75a4984efedc4b08975c5aeb73f530d02df25717"
3034-
integrity sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==
3035-
30362989
update-browserslist-db@^1.0.5:
30372990
version "1.0.5"
30382991
resolved "https://registry.yarnpkg.com/update-browserslist-db/-/update-browserslist-db-1.0.5.tgz#be06a5eedd62f107b7c19eb5bcefb194411abf38"

0 commit comments

Comments
 (0)