PluginProbe ʕ •ᴥ•ʔ
VK Blocks / 1.124.0
VK Blocks v1.124.0
1.124.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 / utils / wrap-unwrap.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 1 day 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 1 month ago empty-string-to-undefined.js 2 months ago example-data.js 2 months ago fixBrokenUnicode.js 2 months ago font-awesome-new.js 1 month 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 1 month 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 2 weeks 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 1 month 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
wrap-unwrap.js
60 lines
1 import { createBlock, getBlockType } from '@wordpress/blocks';
2
3 /**
4 * ブロック登録済みチェック
5 * @param {string} blockName - チェックするブロックの名前
6 * @return {boolean} - ブロックが登録されているかどうか
7 */
8 const isRegisteredBlock = (blockName) => {
9 return !!getBlockType(blockName);
10 };
11
12 /**
13 * 汎用的なwrap-unwrapコンポーネント
14 *
15 * @param {string} blockName - ブロックの名前
16 * @return {Object} transformsオブジェクト - ブロックの変換設定
17 */
18 const createWrapUnwrapTransforms = (blockName) => {
19 if (!blockName) {
20 throw new Error(
21 'blockName is required for createWrapUnwrapTransforms.'
22 );
23 }
24
25 return {
26 from: [
27 {
28 type: 'block',
29 isMultiBlock: true,
30 blocks: ['*'],
31 __experimentalConvert(blocks) {
32 if (!isRegisteredBlock(blockName)) {
33 throw new Error(
34 `Block "${blockName}" is not registered.`
35 );
36 }
37
38 const groupInnerBlocks = blocks.map((block) =>
39 createBlock(
40 block.name,
41 block.attributes,
42 block.innerBlocks
43 )
44 );
45
46 return createBlock(blockName, {}, groupInnerBlocks);
47 },
48 },
49 ],
50 ungroup: (attributes, innerBlocks) => {
51 if (!isRegisteredBlock(blockName)) {
52 throw new Error(`Block "${blockName}" is not registered.`);
53 }
54 return innerBlocks;
55 },
56 };
57 };
58
59 export default createWrapUnwrapTransforms;
60