PluginProbe ʕ •ᴥ•ʔ
VK Blocks / trunk
VK Blocks vtrunk
1.123.0 1.122.0 1.121.0 1.120.0 1.119.2 1.119.1 1.119.0 1.118.7 1.82.0.0 1.82.0.1 1.83.0.0 1.83.0.1 1.84.0.0 1.84.0.1 1.85.0.2 1.85.0.3 1.85.1.0 1.85.1.1 1.86.0.0 1.86.0.1 1.86.1.0 1.87.0.0 1.87.0.1 1.88.0.1 1.88.0.2 1.89.0.0 1.9.2 1.90.0.0 1.90.0.1 1.90.1.1 1.91.0.0 1.91.1.1 1.92.0.0 1.92.0.1 1.92.1.0 1.92.1.1 1.93.0.0 trunk 1.93.0.1 0.1.1 1.93.1.0 0.10.3 1.93.1.1 0.11.0 1.94.0.0 0.12.6 1.94.0.1 0.15.1 1.94.1.0 0.16.2 1.94.2.1 0.17.6 1.94.2.2 0.2.2 1.95.0.3 0.22.4 1.95.0.4 0.26.7 1.96.2.0 0.3.2 1.96.2.1 0.31.0 1.97.0.1 0.35.5 1.97.0.2 0.37.5 1.99.0.0 0.38.8 1.99.0.1 0.39.4 0.4.7 0.41.0 0.42.0 0.44.13 0.45.2 0.46.1 0.47.0 0.48.0 0.49.8 0.5.2 0.50.3 0.51.0 0.52.2 0.53.2 0.54.0 0.55.0 0.56.2 0.56.3 0.57.6 0.58.10 0.59.0 0.6.0 0.60.1 0.61.2 0.7.1 0.8.2 1.0.16 1.10.0 1.100.0.0 1.100.0.1 1.102.0.0 1.102.0.1 1.103.0.0 1.104.0.0 1.104.0.1 1.105.1.0 1.105.1.1 1.106.0.0 1.106.0.1 1.107.0.0 1.107.0.1 1.107.0.2 1.108.0.0 1.108.0.1 1.109.0.0 1.109.0.1 1.11.4 1.110.0.0 1.110.0.1 1.111.0.0 1.111.0.1 1.111.0.2 1.112.0.0 1.112.0.1 1.113.0.0 1.113.0.1 1.114.0.0 1.114.0.1 1.114.2.0 1.114.2.1 1.115.0.0 1.115.0.1 1.115.1.0 1.115.1.1 1.115.2.0 1.115.2.1 1.116.0.0 1.116.0.1 1.116.1.0 1.116.1.1 1.116.2.0 1.117.0.0 1.117.0.1 1.117.1.0 1.118.2 1.118.5 1.12.0 1.13.2 1.14.1 1.15.1 1.16.11 1.17.0 1.18.6 1.19.0 1.19.1 1.2.3 1.20.7 1.21.0 1.22.4 1.23.0 1.24.5 1.25.1 1.26.2 1.27.7.2 1.28.0.1 1.29.2.0 1.3.9 1.30.0.1 1.31.0.1 1.32.0.2 1.33.2.1 1.36.1.5 1.37.0.0 1.39.2.1 1.4.6 1.40.0.1 1.40.1.0 1.40.1.1 1.41.0.0 1.41.0.1 1.41.2.2 1.41.2.3 1.43.0.0 1.43.0.1 1.43.0.2 1.44.0.0 1.44.0.1 1.45.0.0 1.45.0.1 1.46.0.0 1.46.0.1 1.47.0.0 1.47.0.1 1.47.1.0 1.48.0.0 1.48.0.1 1.48.0.2 1.48.1.0 1.48.1.1 1.5.0 1.50.0.0 1.50.0.1 1.51.0.0 1.51.0.1 1.52.0.0 1.52.0.1 1.53.0.0 1.53.0.1 1.54.0.0 1.54.0.1 1.55.0.0 1.55.0.1 1.56.0.0 1.56.0.1 1.57.0.0 1.57.0.2 1.57.0.3 1.57.0.4 1.57.0.5 1.57.1.0 1.57.1.1 1.57.1.2 1.58.0.0 1.58.0.1 1.59.0.0 1.59.0.1 1.6.0 1.60.0.0 1.60.0.1 1.63.0.0 1.63.0.1 1.64.0.0 1.64.0.1 1.64.1.0 1.64.1.2 1.67.0.0 1.67.0.1 1.68.0.0 1.68.0.1 1.69.0.0 1.69.0.1 1.69.1.1 1.69.1.2 1.7.1 1.70.0.0 1.70.0.1 1.71.0.0 1.71.0.1 1.72.0.0 1.72.1.0 1.72.1.1 1.73.0.0 1.73.0.1 1.74.0.0 1.74.0.1 1.75.0.0 1.75.1.0 1.75.1.1 1.76.0.0 1.76.0.1 1.76.1.0 1.76.1.1 1.76.2.0 1.76.2.1 1.77.0.0 1.77.0.1 1.78.0.0 1.78.0.1 1.79.0.0 1.79.0.1 1.79.0.2 1.79.0.3 1.79.1.0 1.79.1.1 1.8.2 1.80.1.0 1.80.1.1 1.80.1.2 1.81.0.1 1.81.0.2
vk-blocks / src / utils / GenerateBgImage.js
vk-blocks / src / utils Last commit date
store 2 months ago GenerateBgImage.js 2 months ago block-duplicate-helper.js 2 months ago capitalize.js 2 months ago color-code-to-class.js 2 months ago color-slug-to-color-code.js 2 months ago common.scss 2 weeks ago convert-to-grid.js 2 months ago default-color-palette.js 2 months ago delete-from-array.js 2 months ago depModules.js 2 months ago disable-links.js 2 weeks ago empty-string-to-undefined.js 2 months ago example-data.js 2 months ago fixBrokenUnicode.js 2 months ago font-awesome-new.js 2 weeks ago font-awesome-version.js 2 months ago font-awesome.js 2 months ago formatNumCol.js 2 months ago gradient-slug-to-gradient-code.js 2 months ago heading-level-utils.js 2 months ago hex-to-rgba.js 2 months ago horizontal-scroll-controls.js 2 months ago icon-label.js 2 weeks ago is-excludes-blocks.js 2 months ago is-gradient-style.js 2 months ago is-hex-color.js 2 months ago is-not-json.js 2 months ago is-parent-reusable-block.js 13 hours ago merge-colors.js 2 months ago multi-array-flaten.js 2 months ago removeProperty.js 2 months ago replaceClientId.js 2 months ago sanitizeSlug.js 2 months ago settings-page-url.js 2 weeks ago strip-html.js 2 months ago taxonomy-utils.js 2 months ago to-number.js 2 months ago to-preset-spacing-var.js 2 months ago unit-options.js 2 months ago wrap-unwrap.js 2 months ago
GenerateBgImage.js
134 lines
1 /**
2 * GenerateBgImage deprecated
3 *
4 * save.jsに反映される�
5 容がutils�
6 にあると互換性対応が出来ないので各ブロック�
7 に移植
8 *
9 * 以下で使用
10 * Outer 0.60.0-1.26.0
11 * Slider Item 0.0.0-1.22.1
12 * 関連 #925 #950 #1032
13 */
14 import hex2rgba from './hex-to-rgba';
15 const GenerateBgImage = (props) => {
16 const { attributes, clientId, prefix } = props;
17 const { bgImageMobile, bgImageTablet, bgImage, bgColor, opacity, bgSize } =
18 attributes;
19
20 const mobileViewport = 'max-width: 575.98px';
21 const tabletViewport = 'min-width: 576px';
22 const pcViewport = 'min-width: 1200px';
23 const underPcViewport = 'max-width: 1199.98px';
24
25 let backgroundStyle;
26 const backgroundPosition = 'background-position:center!important;';
27 if ('cover' === bgSize) {
28 backgroundStyle = `background-size:${bgSize}!important; ${backgroundPosition}`;
29 } else if ('repeat' === bgSize) {
30 backgroundStyle = `background-repeat:${bgSize}!important; ${backgroundPosition}`;
31 } else {
32 backgroundStyle = ``;
33 }
34
35 let bgColorWOpacity;
36
37 //hexからrgbaに変換
38 if (bgColor) {
39 bgColorWOpacity = hex2rgba(bgColor, opacity);
40 } else {
41 //背景色をクリアした時は、白に変更
42 bgColorWOpacity = hex2rgba('#fff', opacity);
43 }
44
45 //mobile only
46 if (bgImageMobile && !bgImageTablet && !bgImage) {
47 return (
48 <style>{`.${prefix}-${clientId}{background: linear-gradient(${bgColorWOpacity}, ${bgColorWOpacity}), url(${bgImageMobile}); ${backgroundStyle}}`}</style>
49 );
50 }
51 //tablet only
52 if (!bgImageMobile && bgImageTablet && !bgImage) {
53 return (
54 <style>{`.${prefix}-${clientId}{background: linear-gradient(${bgColorWOpacity}, ${bgColorWOpacity}), url(${bgImageTablet}); ${backgroundStyle}}`}</style>
55 );
56 }
57 //pc only
58 if (!bgImageMobile && !bgImageTablet && bgImage) {
59 return (
60 <style>{`.${prefix}-${clientId}{background: linear-gradient(${bgColorWOpacity}, ${bgColorWOpacity}), url(${bgImage}); ${backgroundStyle}}`}</style>
61 );
62 }
63 //pc -mobile
64 if (bgImageMobile && !bgImageTablet && bgImage) {
65 return (
66 <style>
67 {`
68 @media screen and (${underPcViewport}) {
69 .${prefix}-${clientId}{background: linear-gradient(${bgColorWOpacity}, ${bgColorWOpacity}), url(${bgImageMobile}); ${backgroundStyle}}
70 }
71 @media screen and (${pcViewport}) {
72 .${prefix}-${clientId}{background: linear-gradient(${bgColorWOpacity}, ${bgColorWOpacity}), url(${bgImage}); ${backgroundStyle}}
73 }
74 `}
75 </style>
76 );
77 }
78 //pc -tablet
79 if (!bgImageMobile && bgImageTablet && bgImage) {
80 return (
81 <style>
82 {`
83 @media screen and (${underPcViewport}) {
84 .${prefix}-${clientId}{background: linear-gradient(${bgColorWOpacity}, ${bgColorWOpacity}), url(${bgImageTablet}); ${backgroundStyle}}
85 }
86 @media screen and (${pcViewport}) {
87 .${prefix}-${clientId}{background: linear-gradient(${bgColorWOpacity}, ${bgColorWOpacity}), url(${bgImage}); ${backgroundStyle}}
88 }
89 `}
90 </style>
91 );
92 }
93 //tablet - mobile
94 if (bgImageMobile && bgImageTablet && !bgImage) {
95 return (
96 <style>
97 {`
98 @media screen and (${mobileViewport}) {
99 .${prefix}-${clientId}{background: linear-gradient(${bgColorWOpacity}, ${bgColorWOpacity}), url(${bgImageMobile}); ${backgroundStyle}}
100 }
101 @media screen and (${tabletViewport}) {
102 .${prefix}-${clientId}{background: linear-gradient(${bgColorWOpacity}, ${bgColorWOpacity}), url(${bgImageTablet}); ${backgroundStyle}}
103 }
104 `}
105 </style>
106 );
107 }
108 //pc -tablet - mobile
109 if (bgImageMobile && bgImageTablet && bgImage) {
110 return (
111 <style>
112 {`
113 @media screen and (${mobileViewport}) {
114 .${prefix}-${clientId}{background: linear-gradient(${bgColorWOpacity}, ${bgColorWOpacity}), url(${bgImageMobile}); ${backgroundStyle}}
115 }
116 @media screen and (${tabletViewport}) {
117 .${prefix}-${clientId}{background: linear-gradient(${bgColorWOpacity}, ${bgColorWOpacity}), url(${bgImageTablet}); ${backgroundStyle}}
118 }
119 @media screen and (${pcViewport}) {
120 .${prefix}-${clientId}{background: linear-gradient(${bgColorWOpacity}, ${bgColorWOpacity}), url(${bgImage}); ${backgroundStyle}}
121 }
122 `}
123 </style>
124 );
125 }
126 //no background image
127 if (!bgImageMobile && !bgImageTablet && !bgImage) {
128 return (
129 <style>{`.${prefix}-${clientId}{background: linear-gradient(${bgColorWOpacity}, ${bgColorWOpacity}); ${backgroundStyle}}`}</style>
130 );
131 }
132 };
133 export default GenerateBgImage;
134