@blocknote/core 0.31.3 → 0.32.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 (75) hide show
  1. package/dist/blocknote.cjs +9 -9
  2. package/dist/blocknote.cjs.map +1 -1
  3. package/dist/blocknote.js +2075 -1884
  4. package/dist/blocknote.js.map +1 -1
  5. package/dist/en-CsgPjHa4.cjs +2 -0
  6. package/dist/en-CsgPjHa4.cjs.map +1 -0
  7. package/dist/{en-CdzlzPhp.js → en-Dx9fwHD4.js} +44 -1
  8. package/dist/en-Dx9fwHD4.js.map +1 -0
  9. package/dist/locales.cjs +1 -1
  10. package/dist/locales.cjs.map +1 -1
  11. package/dist/locales.js +1392 -26
  12. package/dist/locales.js.map +1 -1
  13. package/dist/style.css +1 -1
  14. package/dist/tsconfig.tsbuildinfo +1 -1
  15. package/dist/webpack-stats.json +1 -1
  16. package/package.json +1 -1
  17. package/src/api/blockManipulation/commands/insertBlocks/__snapshots__/insertBlocks.test.ts.snap +18 -0
  18. package/src/api/blockManipulation/commands/mergeBlocks/__snapshots__/mergeBlocks.test.ts.snap +10 -0
  19. package/src/api/blockManipulation/commands/moveBlocks/__snapshots__/moveBlocks.test.ts.snap +40 -0
  20. package/src/api/blockManipulation/commands/replaceBlocks/__snapshots__/replaceBlocks.test.ts.snap +23 -0
  21. package/src/api/blockManipulation/commands/splitBlock/__snapshots__/splitBlock.test.ts.snap +13 -0
  22. package/src/api/blockManipulation/commands/updateBlock/__snapshots__/updateBlock.test.ts.snap +50 -0
  23. package/src/blocks/HeadingBlockContent/HeadingBlockContent.ts +72 -74
  24. package/src/blocks/ListItemBlockContent/ListItemKeyboardShortcuts.ts +1 -0
  25. package/src/blocks/ListItemBlockContent/ToggleListItemBlockContent/ToggleListItemBlockContent.ts +104 -0
  26. package/src/blocks/ToggleWrapper/createToggleWrapper.ts +182 -0
  27. package/src/blocks/defaultBlockTypeGuards.ts +6 -2
  28. package/src/blocks/defaultBlocks.ts +2 -0
  29. package/src/editor/Block.css +98 -6
  30. package/src/editor/BlockNoteEditor.test.ts +1 -0
  31. package/src/editor/BlockNoteEditor.ts +18 -0
  32. package/src/editor/BlockNoteTipTapEditor.ts +1 -0
  33. package/src/editor/editor.css +3 -0
  34. package/src/extensions/FormattingToolbar/FormattingToolbarPlugin.ts +4 -1
  35. package/src/extensions/SuggestionMenu/getDefaultSlashMenuItems.ts +64 -0
  36. package/src/i18n/locales/ar.ts +43 -0
  37. package/src/i18n/locales/de.ts +62 -0
  38. package/src/i18n/locales/en.ts +43 -0
  39. package/src/i18n/locales/es.ts +43 -0
  40. package/src/i18n/locales/fr.ts +65 -0
  41. package/src/i18n/locales/he.ts +402 -0
  42. package/src/i18n/locales/hr.ts +43 -0
  43. package/src/i18n/locales/index.ts +1 -0
  44. package/src/i18n/locales/is.ts +64 -0
  45. package/src/i18n/locales/it.ts +64 -0
  46. package/src/i18n/locales/ja.ts +63 -0
  47. package/src/i18n/locales/ko.ts +43 -0
  48. package/src/i18n/locales/nl.ts +44 -0
  49. package/src/i18n/locales/no.ts +61 -0
  50. package/src/i18n/locales/pl.ts +49 -0
  51. package/src/i18n/locales/pt.ts +43 -0
  52. package/src/i18n/locales/ru.ts +59 -0
  53. package/src/i18n/locales/sk.ts +43 -0
  54. package/src/i18n/locales/uk.ts +43 -0
  55. package/src/i18n/locales/vi.ts +43 -0
  56. package/src/i18n/locales/zh-tw.ts +51 -0
  57. package/src/i18n/locales/zh.ts +51 -0
  58. package/src/index.ts +1 -0
  59. package/src/schema/blocks/createSpec.ts +3 -1
  60. package/types/src/api/blockManipulation/setupTestEnv.d.ts +42 -2
  61. package/types/src/blocks/HeadingBlockContent/HeadingBlockContent.d.ts +12 -3
  62. package/types/src/blocks/ListItemBlockContent/ToggleListItemBlockContent/ToggleListItemBlockContent.d.ts +46 -0
  63. package/types/src/blocks/ToggleWrapper/createToggleWrapper.d.ts +15 -0
  64. package/types/src/blocks/defaultBlockTypeGuards.d.ts +2 -2
  65. package/types/src/blocks/defaultBlocks.d.ts +84 -4
  66. package/types/src/editor/BlockNoteEditor.d.ts +14 -0
  67. package/types/src/i18n/locales/en.d.ts +42 -0
  68. package/types/src/i18n/locales/he.d.ts +2 -0
  69. package/types/src/i18n/locales/index.d.ts +1 -0
  70. package/types/src/i18n/locales/sk.d.ts +42 -0
  71. package/types/src/index.d.ts +1 -0
  72. package/types/src/schema/blocks/createSpec.d.ts +2 -1
  73. package/dist/en-C0Chm3Nc.cjs +0 -2
  74. package/dist/en-C0Chm3Nc.cjs.map +0 -1
  75. package/dist/en-CdzlzPhp.js.map +0 -1
@@ -229,6 +229,18 @@ export type BlockNoteEditorOptions<
229
229
  class?: string;
230
230
  }) => Plugin;
231
231
 
232
+ /**
233
+ * Configuration for headings
234
+ */
235
+ heading?: {
236
+ /**
237
+ * The levels of headings that should be available in the editor.
238
+ * @note Configurable up to 6 levels of headings.
239
+ * @default [1, 2, 3]
240
+ */
241
+ levels?: (1 | 2 | 3 | 4 | 5 | 6)[];
242
+ };
243
+
232
244
  /**
233
245
  * The content that should be in the editor when it's created, represented as an array of partial block objects.
234
246
  */
@@ -527,6 +539,9 @@ export class BlockNoteEditor<
527
539
  headers: boolean;
528
540
  };
529
541
  codeBlock: CodeBlockOptions;
542
+ heading: {
543
+ levels: (1 | 2 | 3 | 4 | 5 | 6)[];
544
+ };
530
545
  };
531
546
 
532
547
  public static create<
@@ -580,6 +595,9 @@ export class BlockNoteEditor<
580
595
  supportedLanguages: options?.codeBlock?.supportedLanguages ?? {},
581
596
  createHighlighter: options?.codeBlock?.createHighlighter ?? undefined,
582
597
  },
598
+ heading: {
599
+ levels: options?.heading?.levels ?? [1, 2, 3],
600
+ },
583
601
  };
584
602
 
585
603
  // apply defaults
@@ -302,6 +302,7 @@ export class BlockNoteTipTapEditor extends TiptapEditor {
302
302
  ) => {
303
303
  if (!element) {
304
304
  this.destroy();
305
+ this.isInitialized = false;
305
306
  } else {
306
307
  this.options.element = element;
307
308
  this.createViewAlternative(blockNoteEditor, contentComponent);
@@ -44,6 +44,9 @@ Tippy popups that are appended to document.body directly
44
44
  .bn-default-styles h1,
45
45
  .bn-default-styles h2,
46
46
  .bn-default-styles h3,
47
+ .bn-default-styles h4,
48
+ .bn-default-styles h5,
49
+ .bn-default-styles h6,
47
50
  .bn-default-styles li {
48
51
  margin: 0;
49
52
  padding: 0;
@@ -130,7 +130,10 @@ export class FormattingToolbarView implements PluginView {
130
130
  };
131
131
 
132
132
  viewMousedownHandler = (e: MouseEvent) => {
133
- if (!this.isElementWithinEditorWrapper(e.target as Node)) {
133
+ if (
134
+ !this.isElementWithinEditorWrapper(e.target as Node) ||
135
+ e.button === 0
136
+ ) {
134
137
  this.preventShow = true;
135
138
  }
136
139
  };
@@ -137,6 +137,19 @@ export function getDefaultSlashMenuItems<
137
137
  });
138
138
  }
139
139
 
140
+ if (checkDefaultBlockTypeInSchema("toggleListItem", editor)) {
141
+ items.push({
142
+ onItemClick: () => {
143
+ insertOrUpdateBlock(editor, {
144
+ type: "toggleListItem",
145
+ });
146
+ },
147
+ badge: formatKeyboardShortcut("Mod-Shift-6"),
148
+ key: "toggle_list",
149
+ ...editor.dictionary.slash_menu.toggle_list,
150
+ });
151
+ }
152
+
140
153
  if (checkDefaultBlockTypeInSchema("numberedListItem", editor)) {
141
154
  items.push({
142
155
  onItemClick: () => {
@@ -302,6 +315,57 @@ export function getDefaultSlashMenuItems<
302
315
  });
303
316
  }
304
317
 
318
+ if (checkDefaultBlockTypeInSchema("heading", editor)) {
319
+ items.push(
320
+ {
321
+ onItemClick: () => {
322
+ insertOrUpdateBlock(editor, {
323
+ type: "heading",
324
+ props: { level: 1, isToggleable: true },
325
+ });
326
+ },
327
+ key: "toggle_heading",
328
+ ...editor.dictionary.slash_menu.toggle_heading,
329
+ },
330
+ {
331
+ onItemClick: () => {
332
+ insertOrUpdateBlock(editor, {
333
+ type: "heading",
334
+ props: { level: 2, isToggleable: true },
335
+ });
336
+ },
337
+
338
+ key: "toggle_heading_2",
339
+ ...editor.dictionary.slash_menu.toggle_heading_2,
340
+ },
341
+ {
342
+ onItemClick: () => {
343
+ insertOrUpdateBlock(editor, {
344
+ type: "heading",
345
+ props: { level: 3, isToggleable: true },
346
+ });
347
+ },
348
+ key: "toggle_heading_3",
349
+ ...editor.dictionary.slash_menu.toggle_heading_3,
350
+ },
351
+ );
352
+
353
+ editor.settings.heading.levels
354
+ .filter((level): level is 4 | 5 | 6 => level > 3)
355
+ .forEach((level) => {
356
+ items.push({
357
+ onItemClick: () => {
358
+ insertOrUpdateBlock(editor, {
359
+ type: "heading",
360
+ props: { level: level },
361
+ });
362
+ },
363
+ key: `heading_${level}`,
364
+ ...editor.dictionary.slash_menu[`heading_${level}`],
365
+ });
366
+ });
367
+ }
368
+
305
369
  items.push({
306
370
  onItemClick: () => {
307
371
  editor.openSuggestionMenu(":", {
@@ -20,6 +20,42 @@ export const ar: Dictionary = {
20
20
  aliases: ["ع3", "عنوان3", "عنوان فرعي"],
21
21
  group: "العناوين",
22
22
  },
23
+ heading_4: {
24
+ title: "عنوان 4",
25
+ subtext: "عنوان فرعي ثانوي صغير",
26
+ aliases: ["ع4", "عنوان4", "عنوان فرعي صغير"],
27
+ group: "العناوين الفرعية",
28
+ },
29
+ heading_5: {
30
+ title: "عنوان 5",
31
+ subtext: "عنوان فرعي صغير",
32
+ aliases: ["ع5", "عنوان5", "عنوان فرعي صغير"],
33
+ group: "العناوين الفرعية",
34
+ },
35
+ heading_6: {
36
+ title: "عنوان 6",
37
+ subtext: "أدنى مستوى للعناوين",
38
+ aliases: ["ع6", "عنوان6", "العنوان الفرعي الأدنى"],
39
+ group: "العناوين الفرعية",
40
+ },
41
+ toggle_heading: {
42
+ title: "عنوان قابل للطي 1",
43
+ subtext: "عنوان قابل للطي لإظهار وإخفاء المحتوى",
44
+ aliases: ["ع", "عنوان1", "ع1", "قابل للطي", "طي"],
45
+ group: "العناوين الفرعية",
46
+ },
47
+ toggle_heading_2: {
48
+ title: "عنوان قابل للطي 2",
49
+ subtext: "عنوان فرعي قابل للطي لإظهار وإخفاء المحتوى",
50
+ aliases: ["ع2", "عنوان2", "عنوان فرعي", "قابل للطي", "طي"],
51
+ group: "العناوين الفرعية",
52
+ },
53
+ toggle_heading_3: {
54
+ title: "عنوان قابل للطي 3",
55
+ subtext: "عنوان فرعي ثانوي قابل للطي لإظهار وإخفاء المحتوى",
56
+ aliases: ["ع3", "عنوان3", "عنوان فرعي", "قابل للطي", "طي"],
57
+ group: "العناوين الفرعية",
58
+ },
23
59
  quote: {
24
60
  title: "اقتباس",
25
61
  subtext: "اقتباس أو مقتطف",
@@ -52,6 +88,12 @@ export const ar: Dictionary = {
52
88
  ],
53
89
  group: "الكتل الأساسية",
54
90
  },
91
+ toggle_list: {
92
+ title: "قائمة قابلة للطي",
93
+ subtext: "قائمة بعناصر فرعية قابلة للإخفاء",
94
+ aliases: ["عناصر قائمة", "قائمة", "قائمة قابلة للطي", "قائمة منسدلة"],
95
+ group: "الكتل الأساسية",
96
+ },
55
97
  paragraph: {
56
98
  title: "فقرة",
57
99
  subtext: "تستخدم لنص الوثيقة الأساسي",
@@ -118,6 +160,7 @@ export const ar: Dictionary = {
118
160
  placeholders: {
119
161
  default: "أدخل نصًا أو اكتب '/' للأوامر",
120
162
  heading: "عنوان",
163
+ toggleListItem: "طيّ",
121
164
  bulletListItem: "قائمة",
122
165
  numberedListItem: "قائمة",
123
166
  checkListItem: "قائمة",
@@ -20,6 +20,54 @@ export const de: Dictionary = {
20
20
  aliases: ["h3", "überschrift3", "unterüberschrift"],
21
21
  group: "Überschriften",
22
22
  },
23
+ heading_4: {
24
+ title: "Überschrift 4",
25
+ subtext: "Überschrift für kleinere Unterabschnitte",
26
+ aliases: ["h4", "überschrift4", "unterüberschrift4"],
27
+ group: "Unterüberschriften",
28
+ },
29
+ heading_5: {
30
+ title: "Überschrift 5",
31
+ subtext: "Überschrift für tiefere Unterabschnitte",
32
+ aliases: ["h5", "überschrift5", "unterüberschrift5"],
33
+ group: "Unterüberschriften",
34
+ },
35
+ heading_6: {
36
+ title: "Überschrift 6",
37
+ subtext: "Überschrift auf der untersten Ebene",
38
+ aliases: ["h6", "überschrift6", "unterüberschrift6"],
39
+ group: "Unterüberschriften",
40
+ },
41
+ toggle_heading: {
42
+ title: "Aufklappbare Überschrift 1",
43
+ subtext: "Aufklappbare Hauptebene Überschrift",
44
+ aliases: ["h", "überschrift1", "h1", "aufklappbar", "einklappbar"],
45
+ group: "Unterüberschrift",
46
+ },
47
+ toggle_heading_2: {
48
+ title: "Aufklappbare Überschrift 2",
49
+ subtext: "Aufklappbare wichtige Abschnittsüberschrift",
50
+ aliases: [
51
+ "h2",
52
+ "überschrift2",
53
+ "unterüberschrift",
54
+ "aufklappbar",
55
+ "einklappbar",
56
+ ],
57
+ group: "Unterüberschriften",
58
+ },
59
+ toggle_heading_3: {
60
+ title: "Aufklappbare Überschrift 3",
61
+ subtext: "Aufklappbare Unterabschnitts- und Gruppenüberschrift",
62
+ aliases: [
63
+ "h3",
64
+ "überschrift3",
65
+ "unterüberschrift",
66
+ "aufklappbar",
67
+ "einklappbar",
68
+ ],
69
+ group: "Unterüberschriften",
70
+ },
23
71
  quote: {
24
72
  title: "Zitat",
25
73
  subtext: "Zitat oder Auszug",
@@ -52,6 +100,19 @@ export const de: Dictionary = {
52
100
  ],
53
101
  group: "Grundlegende Blöcke",
54
102
  },
103
+ toggle_list: {
104
+ title: "Aufklappbare Liste",
105
+ subtext: "Liste mit ausblendbare Unterpunkten",
106
+ aliases: [
107
+ "li",
108
+ "liste",
109
+ "aufklappbare liste",
110
+ "einklappbare liste",
111
+ "aufklappbareListe",
112
+ "aufklappbare liste",
113
+ ],
114
+ group: "Grundlegende Blöcke",
115
+ },
55
116
  paragraph: {
56
117
  title: "Absatz",
57
118
  subtext: "Der Hauptteil Ihres Dokuments",
@@ -134,6 +195,7 @@ export const de: Dictionary = {
134
195
  placeholders: {
135
196
  default: "Text eingeben oder '/' für Befehle tippen",
136
197
  heading: "Überschrift",
198
+ toggleListItem: "Umschalten",
137
199
  bulletListItem: "Liste",
138
200
  numberedListItem: "Liste",
139
201
  checkListItem: "Liste",
@@ -18,12 +18,54 @@ export const en = {
18
18
  aliases: ["h3", "heading3", "subheading"],
19
19
  group: "Headings",
20
20
  },
21
+ heading_4: {
22
+ title: "Heading 4",
23
+ subtext: "Minor subsection heading",
24
+ aliases: ["h4", "heading4", "subheading4"],
25
+ group: "Subheadings",
26
+ },
27
+ heading_5: {
28
+ title: "Heading 5",
29
+ subtext: "Small subsection heading",
30
+ aliases: ["h5", "heading5", "subheading5"],
31
+ group: "Subheadings",
32
+ },
33
+ heading_6: {
34
+ title: "Heading 6",
35
+ subtext: "Lowest-level heading",
36
+ aliases: ["h6", "heading6", "subheading6"],
37
+ group: "Subheadings",
38
+ },
39
+ toggle_heading: {
40
+ title: "Toggle Heading 1",
41
+ subtext: "Toggleable top-level heading",
42
+ aliases: ["h", "heading1", "h1", "collapsable"],
43
+ group: "Subheadings",
44
+ },
45
+ toggle_heading_2: {
46
+ title: "Toggle Heading 2",
47
+ subtext: "Toggleable key section heading",
48
+ aliases: ["h2", "heading2", "subheading", "collapsable"],
49
+ group: "Subheadings",
50
+ },
51
+ toggle_heading_3: {
52
+ title: "Toggle Heading 3",
53
+ subtext: "Toggleable subsection and group heading",
54
+ aliases: ["h3", "heading3", "subheading", "collapsable"],
55
+ group: "Subheadings",
56
+ },
21
57
  quote: {
22
58
  title: "Quote",
23
59
  subtext: "Quote or excerpt",
24
60
  aliases: ["quotation", "blockquote", "bq"],
25
61
  group: "Basic blocks",
26
62
  },
63
+ toggle_list: {
64
+ title: "Toggle List",
65
+ subtext: "List with hideable sub-items",
66
+ aliases: ["li", "list", "toggleList", "toggle list", "collapsable list"],
67
+ group: "Basic blocks",
68
+ },
27
69
  numbered_list: {
28
70
  title: "Numbered List",
29
71
  subtext: "List with ordered items",
@@ -132,6 +174,7 @@ export const en = {
132
174
  placeholders: {
133
175
  default: "Enter text or type '/' for commands",
134
176
  heading: "Heading",
177
+ toggleListItem: "Toggle",
135
178
  bulletListItem: "List",
136
179
  numberedListItem: "List",
137
180
  checkListItem: "List",
@@ -20,6 +20,42 @@ export const es: Dictionary = {
20
20
  aliases: ["h3", "encabezado3", "subencabezado"],
21
21
  group: "Encabezados",
22
22
  },
23
+ heading_4: {
24
+ title: "Encabezado 4",
25
+ subtext: "Encabezado de subsección menor",
26
+ aliases: ["h4", "encabezado4", "subencabezado4"],
27
+ group: "Subencabezados",
28
+ },
29
+ heading_5: {
30
+ title: "Encabezado 5",
31
+ subtext: "Encabezado de subsección pequeña",
32
+ aliases: ["h5", "encabezado5", "subencabezado5"],
33
+ group: "Subencabezados",
34
+ },
35
+ heading_6: {
36
+ title: "Encabezado 6",
37
+ subtext: "Encabezado de nivel más bajo",
38
+ aliases: ["h6", "encabezado6", "subencabezado6"],
39
+ group: "Subencabezados",
40
+ },
41
+ toggle_heading: {
42
+ title: "Encabezado Plegable 1",
43
+ subtext: "Encabezado de primer nivel que se puede plegar",
44
+ aliases: ["h", "encabezado1", "h1", "plegable", "contraible"],
45
+ group: "Subencabezados",
46
+ },
47
+ toggle_heading_2: {
48
+ title: "Encabezado Plegable 2",
49
+ subtext: "Encabezado de sección principal que se puede plegar",
50
+ aliases: ["h2", "encabezado2", "subencabezado", "plegable", "contraible"],
51
+ group: "Subencabezados",
52
+ },
53
+ toggle_heading_3: {
54
+ title: "Encabezado Plegable 3",
55
+ subtext: "Encabezado de subsección y grupo que se puede plegar",
56
+ aliases: ["h3", "encabezado3", "subencabezado", "plegable", "contraible"],
57
+ group: "Subencabezados",
58
+ },
23
59
  quote: {
24
60
  title: "Cita",
25
61
  subtext: "Cita o extracto",
@@ -51,6 +87,12 @@ export const es: Dictionary = {
51
87
  ],
52
88
  group: "Bloques básicos",
53
89
  },
90
+ toggle_list: {
91
+ title: "Lista Plegable",
92
+ subtext: "Lista con subelementos ocultables",
93
+ aliases: ["li", "lista", "lista plegable", "lista colapsable"],
94
+ group: "Bloques básicos",
95
+ },
54
96
  paragraph: {
55
97
  title: "Párrafo",
56
98
  subtext: "El cuerpo de tu documento",
@@ -133,6 +175,7 @@ export const es: Dictionary = {
133
175
  placeholders: {
134
176
  default: "Escribe o teclea '/' para comandos",
135
177
  heading: "Encabezado",
178
+ toggleListItem: "Plegable",
136
179
  bulletListItem: "Lista",
137
180
  numberedListItem: "Lista",
138
181
  checkListItem: "Lista",
@@ -21,6 +21,58 @@ export const fr: Dictionary = {
21
21
  aliases: ["h3", "titre3", "sous-titre"],
22
22
  group: "Titres",
23
23
  },
24
+ heading_4: {
25
+ title: "Titre 4",
26
+ subtext: "Titre de sous‑section mineure",
27
+ aliases: ["h4", "titre4", "sous‑titre4"],
28
+ group: "Sous-titres",
29
+ },
30
+ heading_5: {
31
+ title: "Titre 5",
32
+ subtext: "Titre de sous-section mineure",
33
+ aliases: ["h5", "titre5", "sous-titre5"],
34
+ group: "Sous-titres",
35
+ },
36
+ heading_6: {
37
+ title: "Titre 6",
38
+ subtext: "Titre de niveau le plus bas",
39
+ aliases: ["h6", "titre6", "sous-titre6"],
40
+ group: "Sous-titres",
41
+ },
42
+ toggle_heading: {
43
+ title: "Titre Repliable 1",
44
+ subtext:
45
+ "Titre de premier niveau qui peut être replié pour masquer son contenu",
46
+ aliases: ["h", "titre1", "h1", "repliable", "masquable", "déroulant"],
47
+ group: "Sous-titres",
48
+ },
49
+ toggle_heading_2: {
50
+ title: "Titre Repliable 2",
51
+ subtext: "Titre de section qui peut être replié pour masquer son contenu",
52
+ aliases: [
53
+ "h2",
54
+ "titre2",
55
+ "sous-titre",
56
+ "repliable",
57
+ "masquable",
58
+ "déroulant",
59
+ ],
60
+ group: "Sous-titres",
61
+ },
62
+ toggle_heading_3: {
63
+ title: "Titre Repliable 3",
64
+ subtext:
65
+ "Titre de sous-section qui peut être replié pour masquer son contenu",
66
+ aliases: [
67
+ "h3",
68
+ "titre3",
69
+ "sous-titre",
70
+ "repliable",
71
+ "masquable",
72
+ "déroulant",
73
+ ],
74
+ group: "Sous-titres",
75
+ },
24
76
  quote: {
25
77
  title: "Citation",
26
78
  subtext: "Citation ou extrait",
@@ -65,6 +117,18 @@ export const fr: Dictionary = {
65
117
  ],
66
118
  group: "Blocs de base",
67
119
  },
120
+ toggle_list: {
121
+ title: "Liste repliable",
122
+ subtext: "Liste avec des sous-éléments masquables",
123
+ aliases: [
124
+ "li",
125
+ "liste",
126
+ "liste pliable",
127
+ "liste escamotable",
128
+ "liste repliable",
129
+ ],
130
+ group: "Blocs de base",
131
+ },
68
132
  paragraph: {
69
133
  title: "Paragraphe",
70
134
  subtext: "Utilisé pour le corps de votre document",
@@ -157,6 +221,7 @@ export const fr: Dictionary = {
157
221
  default:
158
222
  "Entrez du texte ou tapez '/' pour faire apparaître les options de mise en page",
159
223
  heading: "Titre",
224
+ toggleListItem: "Basculer",
160
225
  bulletListItem: "Liste",
161
226
  numberedListItem: "Liste",
162
227
  checkListItem: "Liste",