PluginProbe ʕ •ᴥ•ʔ
VK Blocks / 1.123.0
VK Blocks v1.123.0
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 / extensions / core / site-logo / style.js
vk-blocks / src / extensions / core / site-logo Last commit date
style.js 1 month ago
style.js
90 lines
1 /**
2 * site-logo block extension
3 *
4 * Add an option to output the site logo wrapper as <h1> only on the front page.
5 * フロントページのみサイトロゴの最外殻を <h1> として出力するオプションを追加する拡張。
6 */
7 import { __ } from '@wordpress/i18n';
8 import { addFilter } from '@wordpress/hooks';
9 import { PanelBody, ToggleControl } from '@wordpress/components';
10 import { createHigherOrderComponent } from '@wordpress/compose';
11 import { InspectorControls } from '@wordpress/block-editor';
12
13 /**
14 * Internal dependencies
15 */
16 import { VkPanelIcon } from '@vkblocks/components/vk-icon';
17
18 const isSiteLogoBlock = (name) => name === 'core/site-logo';
19
20 export const enhanceSiteLogoBlock = createHigherOrderComponent((BlockEdit) => {
21 return (props) => {
22 const { attributes, setAttributes } = props;
23 const { isFrontPageH1 } = attributes;
24
25 if (!isSiteLogoBlock(props.name) || !props.isSelected) {
26 return <BlockEdit {...props} />;
27 }
28
29 return (
30 <>
31 <BlockEdit {...props} />
32 <InspectorControls>
33 <PanelBody
34 title={__('Site Logo Tag Setting', 'vk-blocks')}
35 icon={<VkPanelIcon isActive={isFrontPageH1} />}
36 initialOpen={false}
37 >
38 <ToggleControl
39 label={__(
40 'Use <h1> tag on the front page',
41 'vk-blocks'
42 )}
43 checked={!!isFrontPageH1}
44 onChange={(checked) => {
45 setAttributes({ isFrontPageH1: checked });
46 }}
47 help={__(
48 'When enabled, this site logo is output as <h1> only on the front page. On other pages it is output as <div>.',
49 'vk-blocks'
50 )}
51 />
52 </PanelBody>
53 </InspectorControls>
54 </>
55 );
56 };
57 }, 'addVkSiteLogoFrontPageH1Control');
58
59 /**
60 * Extend the core/site-logo block with the isFrontPageH1 attribute and
61 * inspector control.
62 *
63 * @param {Object} settings Block settings.
64 * @param {string} name Block name.
65 * @return {Object} Modified settings.
66 */
67 const extendSiteLogoBlock = (settings, name) => {
68 if (!isSiteLogoBlock(name)) {
69 return settings;
70 }
71
72 return {
73 ...settings,
74 attributes: {
75 ...settings.attributes,
76 isFrontPageH1: {
77 type: 'boolean',
78 default: false,
79 },
80 },
81 edit: enhanceSiteLogoBlock(settings.edit),
82 };
83 };
84
85 addFilter(
86 'blocks.registerBlockType',
87 'vk-blocks/extend-site-logo-block',
88 extendSiteLogoBlock
89 );
90