PluginProbe ʕ •ᴥ•ʔ
GenerateBlocks / 2.0.2
GenerateBlocks v2.0.2
trunk 1.0 1.0.1 1.0.2 1.1.0 1.1.1 1.1.2 1.2.0 1.3.0 1.3.1 1.3.2 1.3.3 1.3.4 1.3.5 1.4.0 1.4.1 1.4.2 1.4.3 1.4.4 1.5.0 1.5.1 1.5.2 1.5.3 1.5.4 1.6.0 1.7.0 1.7.1 1.7.2 1.7.3 1.8.0 1.8.1 1.8.2 1.8.3 1.9.0 1.9.1 2.0.0 2.0.1 2.0.2 2.1.0 2.1.1 2.1.2 2.2.0 2.2.1 2.3.0
generateblocks / src / extend / inspector-control / controls / background-panel / components / background-options.js
generateblocks / src / extend / inspector-control / controls / background-panel / components Last commit date
attachment.js 3 years ago background-color-overlay.js 3 years ago background-options.js 2 years ago image-opacity.js 3 years ago image-size.js 3 years ago image-url.js 3 years ago position.js 3 years ago repeat.js 3 years ago selector.js 3 years ago size.js 3 years ago use-inline-style.js 3 years ago
background-options.js
89 lines
1 import BackgroundColorOverlay from './background-color-overlay';
2 import ImageSize from './image-size';
3 import Selector from './selector';
4 import ImageOpacity from './image-opacity';
5
6 export default function BackgroundOptions( { attributes, setAttributes } ) {
7 const {
8 bgImage,
9 bgOptions,
10 bgImageSize,
11 useDynamicData,
12 dynamicContentType,
13 innerZindex,
14 useInnerContainer,
15 position,
16 overflowX,
17 overflowY,
18 } = attributes;
19
20 return (
21 <>
22 { !! bgOptions.overlay ? (
23 <BackgroundColorOverlay
24 checked={ !! bgOptions.overlay }
25 onChange={ ( nextOverlay ) => {
26 setAttributes( {
27 bgOptions: {
28 overlay: nextOverlay,
29 },
30 } );
31 } }
32 />
33 ) : (
34 <>
35 { ( ( bgImage && bgImage.id ) || ( useDynamicData && '' !== dynamicContentType ) ) &&
36 <ImageSize
37 value={ bgImageSize }
38 onChange={ ( value ) => setAttributes( { bgImageSize: value } ) }
39 />
40 }
41
42 <Selector
43 value={ bgOptions.selector }
44 position={ position }
45 useInnerContainer={ useInnerContainer }
46 onChange={ ( value ) => {
47 setAttributes( { bgOptions: { selector: value } } );
48
49 if ( useInnerContainer && 'pseudo-element' === value && ! innerZindex && 0 !== innerZindex ) {
50 setAttributes( { innerZindex: 1 } );
51 }
52
53 if ( ! useInnerContainer && 'pseudo-element' === value ) {
54 setAttributes( {
55 position: ! position ? 'relative' : position,
56 overflowX: ! overflowX ? 'hidden' : overflowX,
57 overflowY: ! overflowY ? 'hidden' : overflowY,
58 } );
59 }
60 } }
61 />
62
63 <ImageOpacity
64 value={ bgOptions.opacity }
65 isPseudoElement={ 'pseudo-element' === bgOptions.selector }
66 onChange={ ( value ) => {
67 setAttributes( {
68 bgOptions: { opacity: value, selector: 'pseudo-element' },
69 } );
70
71 if ( useInnerContainer && ! innerZindex && 0 !== innerZindex ) {
72 setAttributes( { innerZindex: 1 } );
73 }
74
75 if ( ! useInnerContainer ) {
76 setAttributes( {
77 position: ! position ? 'relative' : position,
78 overflowX: ! overflowX ? 'hidden' : overflowX,
79 overflowY: ! overflowY ? 'hidden' : overflowY,
80 } );
81 }
82 } }
83 />
84 </>
85 ) }
86 </>
87 );
88 }
89