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 / blocks / heading / transforms.js
vk-blocks / src / blocks / heading Last commit date
deprecated 2 months ago block.json 23 hours ago edit.js 2 months ago heading-level-dropdown.js 2 months ago heading-level-icon.js 2 months ago icon.svg 2 months ago index.js 2 months ago index.php 2 months ago save.js 2 months ago style.scss 2 months ago transforms.js 2 months ago
transforms.js
117 lines
1 import { createBlock } from '@wordpress/blocks';
2
3 const transforms = {
4 from: [
5 {
6 type: 'block',
7 blocks: ['core/heading'],
8 transform: (attributes) => {
9 const { content } = attributes;
10
11 const transformAttributes = {
12 title: content,
13 };
14
15 return createBlock('vk-blocks/heading', transformAttributes);
16 },
17 },
18 ],
19 to: [
20 {
21 type: 'block',
22 blocks: ['core/heading'],
23 transform: (attributes) => {
24 const {
25 title,
26 level,
27 anchor,
28 align,
29 outerMarginBottom,
30 titleMarginBottom,
31 titleColor,
32 titleSize,
33 subTextFlag,
34 subText,
35 subTextColor,
36 subTextSize,
37 } = attributes;
38
39 let headingMarginBottom;
40 if (subTextFlag === 'on' && !!titleMarginBottom) {
41 headingMarginBottom = titleMarginBottom + 'rem';
42 } else if (subTextFlag === 'off' && !!outerMarginBottom) {
43 headingMarginBottom = outerMarginBottom + 'rem';
44 }
45
46 let headingFontSize;
47 if (!!titleSize) {
48 headingFontSize = titleSize + 'rem';
49 }
50
51 let paragraphMarginBottom;
52 if (subTextFlag === 'on' && !!outerMarginBottom) {
53 paragraphMarginBottom = outerMarginBottom + 'rem';
54 }
55
56 let paragraphFontSize;
57 if (!!subTextSize) {
58 paragraphFontSize = subTextSize + 'rem';
59 }
60
61 const transformHeadingAttributes = {
62 ...attributes,
63 content: title,
64 level,
65 anchor,
66 textAlign: align,
67 textColor: titleColor,
68 style: {
69 spacing: {
70 margin: {
71 bottom: headingMarginBottom,
72 },
73 },
74 typography: {
75 fontSize: headingFontSize,
76 },
77 },
78 };
79
80 const transformParagraphAttributes = {
81 ...attributes,
82 content: subText,
83 align,
84 textColor: subTextColor,
85 style: {
86 spacing: {
87 margin: {
88 bottom: paragraphMarginBottom,
89 },
90 },
91 typography: {
92 fontSize: paragraphFontSize,
93 },
94 },
95 };
96
97 const blockContent = [];
98
99 blockContent.push(
100 createBlock('core/heading', transformHeadingAttributes)
101 );
102 if (subTextFlag === 'on') {
103 blockContent.push(
104 createBlock(
105 'core/paragraph',
106 transformParagraphAttributes
107 )
108 );
109 }
110 return blockContent;
111 },
112 },
113 ],
114 };
115
116 export default transforms;
117