11import type { NodeSpec } from 'prosemirror-model' ;
22import type { DeflistSpecsOptions } from './index' ;
33import { DeflistNode } from './const' ;
4+ import { PlaceholderOptions } from '../../../../utils/placeholder' ;
45
56const DEFAULT_PLACEHOLDERS = {
67 Term : 'Definition term' ,
78 Desc : 'Definition description' ,
89} ;
910
10- export const getSpec = ( opts ?: DeflistSpecsOptions ) : Record < DeflistNode , NodeSpec > => ( {
11+ export const getSpec = (
12+ opts ?: DeflistSpecsOptions ,
13+ placeholder ?: PlaceholderOptions ,
14+ ) : Record < DeflistNode , NodeSpec > => ( {
1115 [ DeflistNode . List ] : {
1216 group : 'block' ,
1317 content : `(${ DeflistNode . Term } ${ DeflistNode . Desc } )+` ,
@@ -29,7 +33,10 @@ export const getSpec = (opts?: DeflistSpecsOptions): Record<DeflistNode, NodeSpe
2933 return [ 'dt' , 0 ] ;
3034 } ,
3135 placeholder : {
32- content : opts ?. deflistTermPlaceholder ?? DEFAULT_PLACEHOLDERS . Term ,
36+ content :
37+ placeholder ?. [ DeflistNode . Term ] ??
38+ opts ?. deflistTermPlaceholder ??
39+ DEFAULT_PLACEHOLDERS . Term ,
3340 alwaysVisible : true ,
3441 } ,
3542 selectable : false ,
@@ -46,7 +53,10 @@ export const getSpec = (opts?: DeflistSpecsOptions): Record<DeflistNode, NodeSpe
4653 return [ 'dd' , 0 ] ;
4754 } ,
4855 placeholder : {
49- content : opts ?. deflistDescPlaceholder ?? DEFAULT_PLACEHOLDERS . Desc ,
56+ content :
57+ placeholder ?. [ DeflistNode . Desc ] ??
58+ opts ?. deflistDescPlaceholder ??
59+ DEFAULT_PLACEHOLDERS . Desc ,
5060 alwaysVisible : true ,
5161 } ,
5262 selectable : false ,
0 commit comments