UNPKG

3.28 kBJavaScriptView Raw
1/**
2 * WordPress dependencies
3 */
4import '@wordpress/core-data';
5import '@wordpress/block-editor';
6import '@wordpress/editor';
7import {
8 registerBlockType,
9 setDefaultBlockName,
10 setFreeformContentHandlerName,
11 setUnregisteredTypeHandlerName,
12} from '@wordpress/blocks';
13
14/**
15 * Internal dependencies
16 */
17import * as paragraph from './paragraph';
18import * as image from './image';
19import * as heading from './heading';
20import * as quote from './quote';
21import * as gallery from './gallery';
22import * as archives from './archives';
23import * as audio from './audio';
24import * as button from './button';
25import * as calendar from './calendar';
26import * as categories from './categories';
27import * as code from './code';
28import * as columns from './columns';
29import * as column from './columns/column';
30import * as cover from './cover';
31import * as embed from './embed';
32import * as file from './file';
33import * as html from './html';
34import * as mediaText from './media-text';
35import * as latestComments from './latest-comments';
36import * as latestPosts from './latest-posts';
37import * as legacyWidget from './legacy-widget';
38import * as list from './list';
39import * as missing from './missing';
40import * as more from './more';
41import * as nextpage from './nextpage';
42import * as preformatted from './preformatted';
43import * as pullquote from './pullquote';
44import * as reusableBlock from './block';
45import * as rss from './rss';
46import * as search from './search';
47import * as separator from './separator';
48import * as shortcode from './shortcode';
49import * as spacer from './spacer';
50import * as subhead from './subhead';
51import * as table from './table';
52import * as template from './template';
53import * as textColumns from './text-columns';
54import * as verse from './verse';
55import * as video from './video';
56import * as tagCloud from './tag-cloud';
57
58import * as classic from './classic';
59
60/**
61 * Function to register core blocks provided by the block editor.
62 *
63 * @example
64 * ```js
65 * import { registerCoreBlocks } from '@wordpress/block-library';
66 *
67 * registerCoreBlocks();
68 * ```
69 */
70export const registerCoreBlocks = () => {
71 [
72 // Common blocks are grouped at the top to prioritize their display
73 // in various contexts — like the inserter and auto-complete components.
74 paragraph,
75 image,
76 heading,
77 gallery,
78 list,
79 quote,
80
81 // Register all remaining core blocks.
82 shortcode,
83 archives,
84 audio,
85 button,
86 calendar,
87 categories,
88 code,
89 columns,
90 column,
91 cover,
92 embed,
93 ...embed.common,
94 ...embed.others,
95 file,
96 window.wp && window.wp.oldEditor ? classic : null, // Only add the classic block in WP Context
97 html,
98 mediaText,
99 latestComments,
100 latestPosts,
101 process.env.GUTENBERG_PHASE === 2 ? legacyWidget : null,
102 missing,
103 more,
104 nextpage,
105 preformatted,
106 pullquote,
107 rss,
108 search,
109 separator,
110 reusableBlock,
111 spacer,
112 subhead,
113 table,
114 tagCloud,
115 template,
116 textColumns,
117 verse,
118 video,
119 ].forEach( ( block ) => {
120 if ( ! block ) {
121 return;
122 }
123 const { name, settings } = block;
124 registerBlockType( name, settings );
125 } );
126
127 setDefaultBlockName( paragraph.name );
128 if ( window.wp && window.wp.oldEditor ) {
129 setFreeformContentHandlerName( classic.name );
130 }
131 setUnregisteredTypeHandlerName( missing.name );
132};