PluginProbe ʕ •ᴥ•ʔ
GenerateBlocks / 1.8.2
GenerateBlocks v1.8.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 / blocks / grid / components / ComponentCSS.js
generateblocks / src / blocks / grid / components Last commit date
BlockControls.js 4 years ago ComponentCSS.js 4 years ago InspectorAdvancedControls.js 2 years ago InspectorControls.js 2 years ago LayoutSelector.js 3 years ago WidthControls.js 2 years ago
ComponentCSS.js
59 lines
1 import { memo } from '@wordpress/element';
2 import { useSelect } from '@wordpress/data';
3 import MainCSS from '../css/main';
4 import DesktopCSS from '../css/desktop';
5 import TabletCSS from '../css/tablet';
6 import TabletOnlyCSS from '../css/tablet-only';
7 import MobileCSS from '../css/mobile';
8 import shouldRebuildCSS from '../../../utils/should-rebuild-css';
9
10 function ComponentCSS( props ) {
11 const deviceType = useSelect( ( select ) => {
12 if ( ! select( 'core/edit-post' ) ) {
13 return 'Desktop';
14 }
15
16 const {
17 __experimentalGetPreviewDeviceType: experimentalGetPreviewDeviceType = () => 'Desktop',
18 } = select( 'core/edit-post' );
19
20 return experimentalGetPreviewDeviceType();
21 }, [] );
22
23 const {
24 isBlockPreview = false,
25 } = props?.attributes;
26
27 if ( isBlockPreview ) {
28 return null;
29 }
30
31 return (
32 <>
33 <MainCSS { ...props } />
34
35 { deviceType &&
36 <>
37 { 'Desktop' === deviceType &&
38 <DesktopCSS { ...props } />
39 }
40
41 { ( 'Tablet' === deviceType || 'Mobile' === deviceType ) &&
42 <TabletCSS { ...props } />
43 }
44
45 { 'Tablet' === deviceType &&
46 <TabletOnlyCSS { ...props } />
47 }
48
49 { 'Mobile' === deviceType &&
50 <MobileCSS { ...props } />
51 }
52 </>
53 }
54 </>
55 );
56 }
57
58 export default memo( ComponentCSS, shouldRebuildCSS );
59