-
Notifications
You must be signed in to change notification settings - Fork 4.2k
/
index.js
55 lines (48 loc) · 1.33 KB
/
index.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
/**
* WordPress dependencies
*/
import { __ } from '@wordpress/i18n';
import { paragraph as icon } from '@wordpress/icons';
/**
* Internal dependencies
*/
import initBlock from '../utils/init-block';
import deprecated from './deprecated';
import edit from './edit';
import metadata from './block.json';
import save from './save';
import transforms from './transforms';
const { name } = metadata;
export { metadata, name };
export const settings = {
icon,
example: {
attributes: {
content: __(
'In a village of La Mancha, the name of which I have no desire to call to mind, there lived not long since one of those gentlemen that keep a lance in the lance-rack, an old buckler, a lean hack, and a greyhound for coursing.'
),
},
},
__experimentalLabel( attributes, { context } ) {
const customName = attributes?.metadata?.name;
if ( context === 'list-view' && customName ) {
return attributes?.metadata?.name;
}
if ( context === 'accessibility' ) {
const { content } = attributes;
return ! content || content.length === 0 ? __( 'Empty' ) : content;
}
},
transforms,
deprecated,
merge( attributes, attributesToMerge ) {
return {
content:
( attributes.content || '' ) +
( attributesToMerge.content || '' ),
};
},
edit,
save,
};
export const init = () => initBlock( { name, metadata, settings } );