@blocknote/core 0.1.2 → 0.2.1-alpha.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (171) hide show
  1. package/README.md +12 -6
  2. package/dist/blocknote.js +1425 -5109
  3. package/dist/blocknote.js.map +1 -1
  4. package/dist/blocknote.umd.cjs +1 -53
  5. package/dist/blocknote.umd.cjs.map +1 -1
  6. package/dist/style.css +1 -1
  7. package/package.json +19 -32
  8. package/src/BlockNoteEditor.ts +54 -0
  9. package/src/BlockNoteExtensions.ts +52 -7
  10. package/src/assets/fonts-inter.css +92 -0
  11. package/src/editor.module.css +37 -0
  12. package/src/extensions/Blocks/BlockAttributes.ts +1 -3
  13. package/src/extensions/Blocks/PreviousBlockTypePlugin.ts +71 -18
  14. package/src/extensions/Blocks/helpers/getBlockInfoFromPos.ts +66 -0
  15. package/src/extensions/Blocks/index.ts +7 -3
  16. package/src/extensions/Blocks/nodes/Block.module.css +116 -74
  17. package/src/extensions/Blocks/nodes/Block.ts +413 -292
  18. package/src/extensions/Blocks/nodes/BlockGroup.ts +6 -6
  19. package/src/extensions/Blocks/nodes/BlockTypes/HeadingBlock/HeadingContent.ts +84 -0
  20. package/src/extensions/Blocks/nodes/BlockTypes/ListItemBlock/ListItemContent.ts +177 -0
  21. package/src/extensions/Blocks/nodes/BlockTypes/ListItemBlock/OrderedListItemIndexPlugin.ts +77 -0
  22. package/src/extensions/Blocks/nodes/BlockTypes/TextBlock/TextContent.ts +34 -0
  23. package/src/extensions/DraggableBlocks/BlockSideMenuFactoryTypes.ts +20 -0
  24. package/src/extensions/DraggableBlocks/DraggableBlocksExtension.ts +27 -9
  25. package/src/extensions/DraggableBlocks/{DraggableBlocksPlugin.tsx → DraggableBlocksPlugin.ts} +227 -147
  26. package/src/extensions/FormattingToolbar/FormattingToolbarExtension.ts +29 -0
  27. package/src/extensions/FormattingToolbar/FormattingToolbarFactoryTypes.ts +35 -0
  28. package/src/extensions/FormattingToolbar/FormattingToolbarPlugin.ts +308 -0
  29. package/src/extensions/HyperlinkToolbar/HyperlinkMark.ts +28 -0
  30. package/src/extensions/HyperlinkToolbar/HyperlinkToolbarFactoryTypes.ts +19 -0
  31. package/src/extensions/HyperlinkToolbar/HyperlinkToolbarPlugin.ts +251 -0
  32. package/src/extensions/Placeholder/PlaceholderExtension.ts +5 -2
  33. package/src/extensions/SlashMenu/SlashMenuExtension.ts +9 -1
  34. package/src/extensions/SlashMenu/SlashMenuItem.ts +1 -3
  35. package/src/extensions/SlashMenu/defaultCommands.tsx +33 -22
  36. package/src/extensions/TrailingNode/TrailingNodeExtension.ts +4 -4
  37. package/src/extensions/UniqueID/UniqueID.ts +14 -1
  38. package/src/index.ts +8 -4
  39. package/src/shared/EditorElement.ts +10 -0
  40. package/src/shared/plugins/suggestion/SuggestionItem.ts +1 -8
  41. package/src/shared/plugins/suggestion/SuggestionPlugin.ts +222 -101
  42. package/src/shared/plugins/suggestion/SuggestionsMenuFactoryTypes.ts +21 -0
  43. package/src/{utils.ts → shared/utils.ts} +0 -0
  44. package/types/src/BlockNoteEditor.d.ts +13 -0
  45. package/types/src/BlockNoteExtensions.d.ts +12 -1
  46. package/types/src/EditorElement.d.ts +7 -0
  47. package/types/src/extensions/Blocks/PreviousBlockTypePlugin.d.ts +1 -1
  48. package/types/src/extensions/Blocks/helpers/getBlockInfoFromPos.d.ts +19 -0
  49. package/types/src/extensions/Blocks/nodes/Block.d.ts +11 -19
  50. package/types/src/extensions/Blocks/nodes/BlockTypes/HeadingBlock/HeadingContent.d.ts +8 -0
  51. package/types/src/extensions/Blocks/nodes/BlockTypes/ListItemBlock/ListItemContent.d.ts +8 -0
  52. package/types/src/extensions/Blocks/nodes/BlockTypes/ListItemBlock/OrderedListItemIndexPlugin.d.ts +2 -0
  53. package/types/src/extensions/Blocks/nodes/BlockTypes/TextBlock/TextContent.d.ts +6 -0
  54. package/types/src/extensions/BubbleMenu/BubbleMenuExtension.d.ts +4 -1
  55. package/types/src/extensions/BubbleMenu/BubbleMenuFactoryTypes.d.ts +27 -0
  56. package/types/src/extensions/BubbleMenu/BubbleMenuPlugin.d.ts +10 -12
  57. package/types/src/extensions/DraggableBlocks/BlockMenuFactoryTypes.d.ts +12 -0
  58. package/types/src/extensions/DraggableBlocks/BlockSideMenuFactoryTypes.d.ts +14 -0
  59. package/types/src/extensions/DraggableBlocks/DragMenuFactoryTypes.d.ts +18 -0
  60. package/types/src/extensions/DraggableBlocks/DraggableBlocksExtension.d.ts +9 -3
  61. package/types/src/extensions/DraggableBlocks/DraggableBlocksPlugin.d.ts +23 -1
  62. package/types/src/extensions/FormattingToolbar/FormattingToolbarExtension.d.ts +8 -0
  63. package/types/src/extensions/FormattingToolbar/FormattingToolbarFactoryTypes.d.ts +23 -0
  64. package/types/src/extensions/FormattingToolbar/FormattingToolbarPlugin.d.ts +43 -0
  65. package/types/src/extensions/HyperlinkToolbar/HyperlinkMark.d.ts +8 -0
  66. package/types/src/extensions/HyperlinkToolbar/HyperlinkToolbarFactoryTypes.d.ts +12 -0
  67. package/types/src/extensions/HyperlinkToolbar/HyperlinkToolbarPlugin.d.ts +11 -0
  68. package/types/src/extensions/Hyperlinks/HyperlinkMark.d.ts +2 -1
  69. package/types/src/extensions/Hyperlinks/HyperlinkMenuFactoryTypes.d.ts +11 -0
  70. package/types/src/extensions/Hyperlinks/HyperlinkMenuPlugin.d.ts +10 -1
  71. package/types/src/extensions/SlashMenu/SlashMenuExtension.d.ts +3 -1
  72. package/types/src/extensions/SlashMenu/SlashMenuItem.d.ts +2 -4
  73. package/types/src/index.d.ts +8 -3
  74. package/types/src/shared/EditorElement.d.ts +6 -0
  75. package/types/src/shared/plugins/suggestion/SuggestionItem.d.ts +1 -6
  76. package/types/src/shared/plugins/suggestion/SuggestionPlugin.d.ts +15 -10
  77. package/types/src/shared/plugins/suggestion/SuggestionsMenuFactoryTypes.d.ts +12 -0
  78. package/types/src/shared/utils.d.ts +2 -0
  79. package/types/src/utils.d.ts +2 -2
  80. package/src/BlockNoteTheme.ts +0 -150
  81. package/src/EditorContent.tsx +0 -2
  82. package/src/extensions/Blocks/OrderedListPlugin.ts +0 -46
  83. package/src/extensions/Blocks/commands/joinBackward.ts +0 -274
  84. package/src/extensions/Blocks/helpers/setBlockHeading.ts +0 -30
  85. package/src/extensions/Blocks/nodes/Content.ts +0 -63
  86. package/src/extensions/Blocks/rule.ts +0 -48
  87. package/src/extensions/BubbleMenu/BubbleMenuExtension.tsx +0 -36
  88. package/src/extensions/BubbleMenu/BubbleMenuPlugin.ts +0 -245
  89. package/src/extensions/BubbleMenu/component/BubbleMenu.tsx +0 -240
  90. package/src/extensions/BubbleMenu/component/LinkToolbarButton.tsx +0 -67
  91. package/src/extensions/DraggableBlocks/components/DragHandle.tsx +0 -102
  92. package/src/extensions/DraggableBlocks/components/DragHandleMenu.tsx +0 -19
  93. package/src/extensions/Hyperlinks/HyperlinkMark.tsx +0 -16
  94. package/src/extensions/Hyperlinks/HyperlinkMenuPlugin.tsx +0 -165
  95. package/src/extensions/Hyperlinks/menus/EditHyperlinkMenu.tsx +0 -44
  96. package/src/extensions/Hyperlinks/menus/EditHyperlinkMenuItem.tsx +0 -34
  97. package/src/extensions/Hyperlinks/menus/EditHyperlinkMenuItemIcon.tsx +0 -31
  98. package/src/extensions/Hyperlinks/menus/EditHyperlinkMenuItemInput.tsx +0 -40
  99. package/src/extensions/Hyperlinks/menus/HoverHyperlinkMenu.tsx +0 -37
  100. package/src/extensions/Hyperlinks/menus/HyperlinkMenu.tsx +0 -63
  101. package/src/fonts-inter.css +0 -94
  102. package/src/globals.css +0 -28
  103. package/src/root.module.css +0 -19
  104. package/src/shared/components/toolbar/Toolbar.tsx +0 -10
  105. package/src/shared/components/toolbar/ToolbarButton.tsx +0 -57
  106. package/src/shared/components/toolbar/ToolbarDropdown.tsx +0 -35
  107. package/src/shared/components/toolbar/ToolbarDropdownItem.tsx +0 -35
  108. package/src/shared/components/toolbar/ToolbarDropdownTarget.tsx +0 -31
  109. package/src/shared/components/tooltip/TooltipContent.module.css +0 -15
  110. package/src/shared/components/tooltip/TooltipContent.tsx +0 -23
  111. package/src/shared/hooks/useEditorForceUpdate.tsx +0 -30
  112. package/src/shared/plugins/suggestion/SuggestionListReactRenderer.tsx +0 -236
  113. package/src/shared/plugins/suggestion/components/SuggestionGroup.tsx +0 -47
  114. package/src/shared/plugins/suggestion/components/SuggestionGroupItem.tsx +0 -82
  115. package/src/shared/plugins/suggestion/components/SuggestionList.tsx +0 -92
  116. package/src/useEditor.ts +0 -51
  117. package/types/src/BlockNoteTheme.d.ts +0 -2
  118. package/types/src/EditorContent.d.ts +0 -1
  119. package/types/src/commands/indentation.d.ts +0 -2
  120. package/types/src/extensions/Blocks/OrderedListPlugin.d.ts +0 -2
  121. package/types/src/extensions/Blocks/commands/joinBackward.d.ts +0 -14
  122. package/types/src/extensions/Blocks/helpers/setBlockHeading.d.ts +0 -5
  123. package/types/src/extensions/Blocks/nodes/Content.d.ts +0 -5
  124. package/types/src/extensions/Blocks/rule.d.ts +0 -16
  125. package/types/src/extensions/BubbleMenu/component/BubbleMenu.d.ts +0 -5
  126. package/types/src/extensions/BubbleMenu/component/DropdownBlockItem.d.ts +0 -10
  127. package/types/src/extensions/BubbleMenu/component/LinkToolbarButton.d.ts +0 -11
  128. package/types/src/extensions/DraggableBlocks/components/DragHandle.d.ts +0 -12
  129. package/types/src/extensions/DraggableBlocks/components/DragHandleMenu.d.ts +0 -6
  130. package/types/src/extensions/Hyperlinks/menus/EditHyperlinkMenu.d.ts +0 -11
  131. package/types/src/extensions/Hyperlinks/menus/EditHyperlinkMenuItem.d.ts +0 -13
  132. package/types/src/extensions/Hyperlinks/menus/EditHyperlinkMenuItemIcon.d.ts +0 -8
  133. package/types/src/extensions/Hyperlinks/menus/EditHyperlinkMenuItemInput.d.ts +0 -9
  134. package/types/src/extensions/Hyperlinks/menus/HoverHyperlinkMenu.d.ts +0 -12
  135. package/types/src/extensions/Hyperlinks/menus/HyperlinkBasicMenu.d.ts +0 -12
  136. package/types/src/extensions/Hyperlinks/menus/HyperlinkEditMenu.d.ts +0 -10
  137. package/types/src/extensions/Hyperlinks/menus/HyperlinkMenu.d.ts +0 -21
  138. package/types/src/extensions/Hyperlinks/menus/atlaskit/PanelTextInput.d.ts +0 -39
  139. package/types/src/extensions/Hyperlinks/menus/atlaskit/PanelTextInputStyles.d.ts +0 -1
  140. package/types/src/extensions/Hyperlinks/menus/atlaskit/ToolbarComponent.d.ts +0 -11
  141. package/types/src/extensions/Hyperlinks/menus/helpers/PanelTextInput.d.ts +0 -39
  142. package/types/src/extensions/Hyperlinks/menus/helpers/PanelTextInputStyles.d.ts +0 -3
  143. package/types/src/extensions/Hyperlinks/menus/helpers/ToolbarComponent.d.ts +0 -13
  144. package/types/src/extensions/helpers/formatKeyboardShortcut.d.ts +0 -1
  145. package/types/src/lib/atlaskit/browser.d.ts +0 -12
  146. package/types/src/nodes/ChildgroupNode.d.ts +0 -28
  147. package/types/src/nodes/patchNodes.d.ts +0 -1
  148. package/types/src/plugins/TreeViewPlugin/index.d.ts +0 -2
  149. package/types/src/plugins/animation.d.ts +0 -2
  150. package/types/src/react/BlockNoteComposer.d.ts +0 -17
  151. package/types/src/react/BlockNotePlugin.d.ts +0 -1
  152. package/types/src/react/index.d.ts +0 -3
  153. package/types/src/react/useBlockNoteSetup.d.ts +0 -2
  154. package/types/src/registerBlockNote.d.ts +0 -2
  155. package/types/src/shared/components/toolbar/SimpleToolbarButton.d.ts +0 -15
  156. package/types/src/shared/components/toolbar/SimpleToolbarDropdown.d.ts +0 -11
  157. package/types/src/shared/components/toolbar/SimpleToolbarDropdownItem.d.ts +0 -11
  158. package/types/src/shared/components/toolbar/Toolbar.d.ts +0 -4
  159. package/types/src/shared/components/toolbar/ToolbarButton.d.ts +0 -15
  160. package/types/src/shared/components/toolbar/ToolbarDropdown.d.ts +0 -17
  161. package/types/src/shared/components/toolbar/ToolbarDropdownItem.d.ts +0 -11
  162. package/types/src/shared/components/toolbar/ToolbarDropdownTarget.d.ts +0 -8
  163. package/types/src/shared/components/toolbar/ToolbarSeparator.d.ts +0 -2
  164. package/types/src/shared/components/tooltip/TooltipContent.d.ts +0 -15
  165. package/types/src/shared/hooks/useEditorForceUpdate.d.ts +0 -2
  166. package/types/src/shared/plugins/suggestion/SuggestionListReactRenderer.d.ts +0 -71
  167. package/types/src/shared/plugins/suggestion/components/SuggestionGroup.d.ts +0 -23
  168. package/types/src/shared/plugins/suggestion/components/SuggestionGroupItem.d.ts +0 -9
  169. package/types/src/shared/plugins/suggestion/components/SuggestionList.d.ts +0 -11
  170. package/types/src/themes/BlockNoteEditorTheme.d.ts +0 -11
  171. package/types/src/useEditor.d.ts +0 -11
@@ -23,11 +23,29 @@ BASIC STYLES
23
23
  }
24
24
 
25
25
  .blockContent {
26
+ font-size: 1em;
26
27
  padding: 3px 0;
27
28
  transition: font-size 0.2s;
28
29
  /* display: inline-block; */
29
30
  }
30
31
 
32
+ .blockContent::before {
33
+ /* content: ""; */
34
+ transition: all 0.2s;
35
+ /*margin: 0px;*/
36
+ }
37
+
38
+ /* reset styles, they will be set on blockContent */
39
+ .blockContent p,
40
+ .blockContent h1,
41
+ .blockContent h2,
42
+ .blockContent h3,
43
+ .blockContent li {
44
+ margin: 0;
45
+ padding: 0;
46
+ font-size: inherit;
47
+ }
48
+
31
49
  /*
32
50
  NESTED BLOCKS
33
51
  */
@@ -54,7 +72,7 @@ NESTED BLOCKS
54
72
  height: 0;
55
73
  }
56
74
 
57
- /* NESTED BLOCK ANIMATIONS */
75
+ /* NESTED BLOCK ANIMATIONS (change in indent) */
58
76
 
59
77
  [data-prev-depth-change="1"] {
60
78
  --x: 1;
@@ -97,106 +115,128 @@ NESTED BLOCKS
97
115
  }
98
116
 
99
117
  /* HEADINGS*/
100
- .blockOuter[data-prev-heading-type="1"] > .block > div:first-child,
101
- .blockOuter[data-heading-type="1"]:not([data-prev-heading-type])
102
- > .block
103
- > div:first-child {
104
- font-size: 3em;
105
- font-weight: bold;
118
+ [data-heading-level="1"] {
119
+ --level: 3em;
120
+ }
121
+ [data-heading-level="2"] {
122
+ --level: 2em;
123
+ }
124
+ [data-heading-level="3"] {
125
+ --level: 1.3em;
106
126
  }
107
127
 
108
- .blockOuter[data-prev-heading-type="2"] > .block > div:first-child,
109
- .blockOuter[data-heading-type="2"]:not([data-prev-heading-type])
110
- > .block
111
- > div:first-child {
112
- font-size: 2em;
128
+ [data-prev-heading-level="1"] {
129
+ --prev-level: 3em;
130
+ }
131
+ [data-prev-heading-level="2"] {
132
+ --prev-level: 2em;
133
+ }
134
+ [data-prev-heading-level="3"] {
135
+ --prev-level: 1.3em;
136
+ }
137
+
138
+ .blockOuter[data-prev-type="headingContent"] > .block > .blockContent {
139
+ font-size: var(--prev-level);
113
140
  font-weight: bold;
114
141
  }
115
142
 
116
- .blockOuter[data-prev-heading-type="3"] > .block > div:first-child,
117
- .blockOuter[data-heading-type="3"]:not([data-prev-heading-type])
143
+ .blockOuter:not([data-prev-type])
118
144
  > .block
119
- > div:first-child {
120
- font-size: 1.3em;
145
+ > .blockContent[data-content-type="headingContent"] {
146
+ font-size: var(--level);
121
147
  font-weight: bold;
122
148
  }
123
149
 
124
150
  /* LISTS */
125
151
 
126
- .block > div:first-child::before {
152
+ .blockContent::before {
153
+ margin-right: 0;
127
154
  content: "";
128
- transition: all 0.2s;
129
- margin-left: 0px;
130
155
  }
131
156
 
132
- .blockOuter[data-prev-list-type="oli"] > .block > div:first-child::before,
133
- .blockOuter[data-list-type="oli"]:not([data-prev-list-type])
134
- > .block
135
- > div:first-child::before {
136
- content: attr(data-position);
157
+ /* Ordered */
158
+ [data-list-item-type="ordered"] {
159
+ --index: attr(data-list-item-index)
160
+ }
161
+
162
+ [data-prev-list-item-type="ordered"] {
163
+ --prev-index: attr(data-prev-list-item-index)
164
+ }
165
+
166
+ .blockOuter[data-prev-list-item-type="ordered"]:not([data-prev-list-item-index="none"])
167
+ > .block
168
+ > .blockContent::before {
137
169
  margin-right: 1.2em;
138
- padding-left: 0px;
170
+ content: var(--prev-index)".";
139
171
  }
140
172
 
141
- .blockOuter[data-prev-list-type="li"] > .block > div:first-child::before,
142
- .blockOuter[data-list-type="li"]:not([data-prev-list-type])
143
- > .block
144
- > div:first-child::before {
173
+ .blockOuter:not([data-prev-type])
174
+ > .block
175
+ > .blockContent[data-list-item-type="ordered"]::before {
176
+ margin-right: 1.2em;
177
+ content: var(--index)".";
178
+ }
179
+
180
+ /* Unordered */
181
+ /* No list nesting */
182
+ .blockOuter[data-prev-list-item-type="unordered"]
183
+ > .block
184
+ > .blockContent::before {
185
+ margin-right: 1.2em;
145
186
  content: "•";
187
+ }
188
+
189
+ .blockOuter:not([data-prev-type])
190
+ > .block
191
+ > .blockContent[data-list-item-type="unordered"]::before {
146
192
  margin-right: 1.2em;
147
- /* display: list-item; */
148
- /* list-style-type: circle; */
149
- /* list-style-position: inside; */
150
- padding-left: 0px;
151
- /* margin-left: 0.2em; */
193
+ content: "•";
152
194
  }
153
195
 
154
- .blockOuter[data-list-type="li"]
155
- > .block
156
- > .blockGroup
157
- > .blockOuter[data-prev-list-type="li"]
158
- > .block
159
- > div:first-child::before,
160
- .blockOuter[data-list-type="li"]
161
- > .block
162
- > .blockGroup
163
- > .blockOuter[data-list-type="li"]:not([data-prev-list-type])
164
- > .block
165
- > div:first-child::before {
196
+ /* 1 level of list nesting */
197
+ [data-list-item-type="unordered"]~.blockGroup
198
+ > .blockOuter[data-prev-list-item-type="unordered"]
199
+ > .block
200
+ > .blockContent::before {
201
+ margin-right: 1.2em;
166
202
  content: "◦";
167
- /* font-size: 1.2em; */
168
- font-family: arial;
169
203
  }
170
204
 
171
- .blockOuter[data-list-type="li"]
172
- > .block
173
- > .blockGroup
174
- > .blockOuter[data-list-type="li"]
175
- > .block
176
- > .blockGroup
177
- .blockOuter[data-prev-list-type="li"]
178
- > .block
179
- > div:first-child::before,
180
- .blockOuter[data-list-type="li"]
181
- > .block
182
- > .blockGroup
183
- > .blockOuter[data-list-type="li"]
184
- > .block
185
- > .blockGroup
186
- .blockOuter[data-list-type="li"]:not([data-prev-list-type])
187
- > .block
188
- > div:first-child::before {
205
+ [data-list-item-type="unordered"]~.blockGroup
206
+ > .blockOuter:not([data-prev-type])
207
+ > .block
208
+ > .blockContent[data-list-item-type="unordered"]::before {
209
+ margin-right: 1.2em;
210
+ content: "◦";
211
+ }
212
+
213
+ /* 2 levels of list nesting */
214
+ [data-list-item-type="unordered"]~.blockGroup
215
+ [data-list-item-type="unordered"]~.blockGroup
216
+ > .blockOuter[data-prev-list-item-type="unordered"]
217
+ > .block
218
+ > .blockContent::before {
219
+ margin-right: 1.2em;
220
+ content: "";
221
+ }
222
+
223
+ [data-list-item-type="unordered"]~.blockGroup
224
+ [data-list-item-type="unordered"]~.blockGroup
225
+ > .blockOuter:not([data-prev-type])
226
+ > .block
227
+ > .blockContent[data-list-item-type="unordered"]::before {
228
+ margin-right: 1.2em;
189
229
  content: "▪";
190
230
  }
191
231
 
192
232
  /* PLACEHOLDERS*/
193
233
 
194
- .blockContent > div {
234
+ .blockContent > :first-child {
195
235
  display: inline;
196
236
  }
197
237
 
198
- .blockContent.isEmpty div::before,
199
- .blockContent.isFilter div::before {
238
+ .blockContent.isEmpty > :first-child:before,
239
+ .blockContent.isFilter > :first-child:before {
200
240
  /*float: left; */
201
241
  content: "";
202
242
  color: #aeb8c2;
@@ -209,18 +249,20 @@ NESTED BLOCKS
209
249
 
210
250
  /* TODO: would be nicer if defined from code */
211
251
 
212
- .blockContent.isEmpty.hasAnchor div::before {
252
+ .blockContent.isEmpty.hasAnchor > :first-child:before {
213
253
  content: "Enter text or type '/' for commands";
214
254
  }
215
255
 
216
- .blockContent.isFilter.hasAnchor div::before {
256
+ .blockContent.isFilter.hasAnchor > :first-child:before {
217
257
  content: "Type to filter";
218
258
  }
219
259
 
220
- [data-heading-type] > .blockContent.isEmpty div::before {
260
+ .blockContent[data-content-type="headingContent"].isEmpty
261
+ > :first-child::before {
221
262
  content: "Heading";
222
263
  }
223
264
 
224
- [data-list-type] > .blockContent.isEmpty div::before {
265
+ .blockContent[data-content-type="listItemContent"].isEmpty
266
+ > :first-child:before {
225
267
  content: "List";
226
- }
268
+ }