@blocknote/ariakit 0.30.0 → 0.31.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 (38) hide show
  1. package/dist/blocknote-ariakit.cjs +1 -1
  2. package/dist/blocknote-ariakit.cjs.map +1 -1
  3. package/dist/blocknote-ariakit.js +224 -201
  4. package/dist/blocknote-ariakit.js.map +1 -1
  5. package/dist/style.css +1 -1
  6. package/dist/webpack-stats.json +1 -1
  7. package/package.json +5 -4
  8. package/src/BlockNoteView.tsx +2 -2
  9. package/src/ariakitStyles.css +669 -670
  10. package/src/badge/Badge.tsx +5 -3
  11. package/src/comments/Card.tsx +8 -5
  12. package/src/comments/Comment.tsx +4 -2
  13. package/src/comments/Editor.tsx +3 -2
  14. package/src/input/TextInput.tsx +12 -1
  15. package/src/menu/Button.tsx +3 -2
  16. package/src/menu/Menu.tsx +11 -6
  17. package/src/panel/Panel.tsx +4 -2
  18. package/src/panel/PanelButton.tsx +2 -1
  19. package/src/popover/Popover.tsx +4 -3
  20. package/src/sideMenu/SideMenuButton.tsx +3 -2
  21. package/src/style.css +97 -7
  22. package/src/suggestionMenu/SuggestionMenu.tsx +2 -1
  23. package/src/suggestionMenu/SuggestionMenuEmptyItem.tsx +2 -1
  24. package/src/suggestionMenu/SuggestionMenuItem.tsx +8 -4
  25. package/src/suggestionMenu/SuggestionMenuLabel.tsx +2 -1
  26. package/src/suggestionMenu/SuggestionMenuLoader.tsx +11 -2
  27. package/src/suggestionMenu/gridSuggestionMenu/GridSuggestionMenu.tsx +2 -1
  28. package/src/suggestionMenu/gridSuggestionMenu/GridSuggestionMenuEmptyItem.tsx +2 -1
  29. package/src/suggestionMenu/gridSuggestionMenu/GridSuggestionMenuItem.tsx +3 -2
  30. package/src/suggestionMenu/gridSuggestionMenu/GridSuggestionMenuLoader.tsx +2 -1
  31. package/src/tableHandle/ExtendButton.tsx +3 -2
  32. package/src/tableHandle/TableHandle.tsx +3 -2
  33. package/src/toolbar/Toolbar.tsx +4 -4
  34. package/src/toolbar/ToolbarButton.tsx +5 -5
  35. package/src/toolbar/ToolbarSelect.tsx +6 -3
  36. package/types/src/input/TextInput.d.ts +5 -1
  37. package/types/src/suggestionMenu/SuggestionMenuItem.d.ts +1 -1
  38. package/types/src/suggestionMenu/SuggestionMenuLoader.d.ts +0 -1
@@ -33,12 +33,13 @@ export const Badge = forwardRef<
33
33
  className={mergeCSSClasses(
34
34
  className,
35
35
  "bn-ak-badge bn-ak-button",
36
- isSelected && "bn-ak-primary"
36
+ isSelected && "bn-ak-primary",
37
37
  )}
38
38
  aria-selected={isSelected === true}
39
39
  onClick={(event) => onClick?.(event)}
40
40
  onMouseEnter={onMouseEnter}
41
- ref={ref}>
41
+ ref={ref}
42
+ >
42
43
  <span>{icon}</span>
43
44
  <span>{text}</span>
44
45
  </AriakitButton>
@@ -70,7 +71,8 @@ export const BadgeGroup = forwardRef<
70
71
  return (
71
72
  <AriakitGroup
72
73
  className={mergeCSSClasses(className, "bn-ak-badge-group")}
73
- ref={ref}>
74
+ ref={ref}
75
+ >
74
76
  {children}
75
77
  </AriakitGroup>
76
78
  );
@@ -26,12 +26,13 @@ export const Card = forwardRef<
26
26
  className={mergeCSSClasses(
27
27
  className,
28
28
  "bn-ak-hovercard",
29
- selected && "selected"
29
+ selected && "selected",
30
30
  )}
31
31
  onFocus={onFocus}
32
32
  onBlur={onBlur}
33
33
  tabIndex={tabIndex}
34
- ref={ref}>
34
+ ref={ref}
35
+ >
35
36
  {headerText && <div className={"bn-header-text"}>{headerText}</div>}
36
37
  {children}
37
38
  </AriakitGroup>
@@ -49,7 +50,8 @@ export const CardSection = forwardRef<
49
50
  return (
50
51
  <AriakitGroup
51
52
  className={mergeCSSClasses(className, "bn-ak-card-section")}
52
- ref={ref}>
53
+ ref={ref}
54
+ >
53
55
  {children}
54
56
  </AriakitGroup>
55
57
  );
@@ -67,9 +69,10 @@ export const ExpandSectionsPrompt = forwardRef<
67
69
  <AriakitButton
68
70
  className={mergeCSSClasses(
69
71
  className,
70
- "bn-ak-button bn-ak-secondary bn-ak-expand-sections-prompt"
72
+ "bn-ak-button bn-ak-secondary bn-ak-expand-sections-prompt",
71
73
  )}
72
- ref={ref}>
74
+ ref={ref}
75
+ >
73
76
  {children}
74
77
  </AriakitButton>
75
78
  );
@@ -73,7 +73,8 @@ export const Comment = forwardRef<
73
73
  ref={ref}
74
74
  className={className}
75
75
  onMouseEnter={() => setHovered(true)}
76
- onMouseLeave={() => setHovered(false)}>
76
+ onMouseLeave={() => setHovered(false)}
77
+ >
77
78
  {doShowActions ? (
78
79
  <AriakitGroup
79
80
  ref={focusRef}
@@ -82,7 +83,8 @@ export const Comment = forwardRef<
82
83
  right: 0,
83
84
  top: 0,
84
85
  zIndex: 10,
85
- }}>
86
+ }}
87
+ >
86
88
  {actions}
87
89
  </AriakitGroup>
88
90
  ) : null}
@@ -30,7 +30,8 @@ export const Editor = forwardRef<
30
30
  editable={editable}
31
31
  ref={ref}
32
32
  onFocus={onFocus}
33
- onBlur={onBlur}>
33
+ onBlur={onBlur}
34
+ >
34
35
  <FormattingToolbarController
35
36
  formattingToolbar={CustomFormattingToolbar}
36
37
  />
@@ -40,7 +41,7 @@ export const Editor = forwardRef<
40
41
 
41
42
  const CustomFormattingToolbar = () => {
42
43
  const items = getFormattingToolbarItems([]).filter(
43
- (el) => el.key !== "nestBlockButton" && el.key !== "unnestBlockButton"
44
+ (el) => el.key !== "nestBlockButton" && el.key !== "unnestBlockButton",
44
45
  );
45
46
  return (
46
47
  <FormattingToolbar blockTypeSelectItems={[]}>{items}</FormattingToolbar>
@@ -15,13 +15,17 @@ export const TextInput = forwardRef<
15
15
  className,
16
16
  name,
17
17
  label,
18
+ variant,
18
19
  icon,
19
20
  value,
20
21
  autoFocus,
21
22
  placeholder,
23
+ disabled,
22
24
  onKeyDown,
23
25
  onChange,
24
26
  onSubmit,
27
+ autoComplete,
28
+ rightSection,
25
29
  ...rest
26
30
  } = props;
27
31
 
@@ -33,16 +37,23 @@ export const TextInput = forwardRef<
33
37
  <div className="bn-ak-input-wrapper">
34
38
  {icon}
35
39
  <AriakitFormInput
36
- className={mergeCSSClasses("bn-ak-input", className || "")}
40
+ className={mergeCSSClasses(
41
+ "bn-ak-input",
42
+ className || "",
43
+ variant === "large" ? "bn-ak-input-large" : "",
44
+ )}
37
45
  ref={ref}
38
46
  name={name}
39
47
  value={value}
40
48
  autoFocus={autoFocus}
41
49
  placeholder={placeholder}
50
+ disabled={disabled}
42
51
  onKeyDown={onKeyDown}
43
52
  onChange={onChange}
44
53
  onSubmit={onSubmit}
54
+ autoComplete={autoComplete}
45
55
  />
56
+ {rightSection}
46
57
  </div>
47
58
  </>
48
59
  );
@@ -32,11 +32,12 @@ export const MenuButton = forwardRef<
32
32
  aria-label={label}
33
33
  className={mergeCSSClasses(
34
34
  "bn-ak-button bn-ak-secondary",
35
- className || ""
35
+ className || "",
36
36
  )}
37
37
  ref={ref}
38
38
  onClick={onClick}
39
- {...rest}>
39
+ {...rest}
40
+ >
40
41
  {icon}
41
42
  {children}
42
43
  </AriakitButton>
package/src/menu/Menu.tsx CHANGED
@@ -28,7 +28,8 @@ export const Menu = (props: ComponentProps["Generic"]["Menu"]["Root"]) => {
28
28
  <AriakitMenuProvider
29
29
  placement={position}
30
30
  setOpen={onOpenChange}
31
- virtualFocus={true}>
31
+ virtualFocus={true}
32
+ >
32
33
  {children}
33
34
  </AriakitMenuProvider>
34
35
  );
@@ -51,7 +52,8 @@ export const MenuDropdown = forwardRef<
51
52
  <AriakitMenu
52
53
  unmountOnHide={true}
53
54
  className={mergeCSSClasses("bn-ak-menu", className || "")}
54
- ref={ref}>
55
+ ref={ref}
56
+ >
55
57
  {children}
56
58
  </AriakitMenu>
57
59
  );
@@ -72,7 +74,8 @@ export const MenuItem = forwardRef<
72
74
  render={<AriakitMenuItem />}
73
75
  className={mergeCSSClasses("bn-ak-menu-item", className || "")}
74
76
  ref={ref}
75
- onClick={onClick}>
77
+ onClick={onClick}
78
+ >
76
79
  {icon}
77
80
  {children}
78
81
  <AriakitMenuButtonArrow />
@@ -84,7 +87,8 @@ export const MenuItem = forwardRef<
84
87
  <AriakitMenuItem
85
88
  className={mergeCSSClasses("bn-ak-menu-item", className || "")}
86
89
  ref={ref}
87
- onClick={onClick}>
90
+ onClick={onClick}
91
+ >
88
92
  {icon}
89
93
  {children}
90
94
  {checked !== undefined && <AriakitCheckboxCheck checked={checked} />}
@@ -103,14 +107,15 @@ export const MenuLabel = forwardRef<
103
107
  return (
104
108
  <AriakitMenuGroupLabel
105
109
  className={mergeCSSClasses("bn-ak-group-label", className || "")}
106
- ref={ref}>
110
+ ref={ref}
111
+ >
107
112
  {children}
108
113
  </AriakitMenuGroupLabel>
109
114
  );
110
115
  });
111
116
 
112
117
  export const MenuTrigger = (
113
- props: ComponentProps["Generic"]["Menu"]["Trigger"]
118
+ props: ComponentProps["Generic"]["Menu"]["Trigger"],
114
119
  ) => {
115
120
  const { children, sub, ...rest } = props;
116
121
 
@@ -27,7 +27,8 @@ export const Panel = forwardRef<
27
27
  return (
28
28
  <div
29
29
  className={mergeCSSClasses("bn-ak-wrapper", className || "")}
30
- ref={ref}>
30
+ ref={ref}
31
+ >
31
32
  <AriakitTabProvider
32
33
  defaultSelectedId={defaultOpenTab}
33
34
  selectedId={openTab}
@@ -35,7 +36,8 @@ export const Panel = forwardRef<
35
36
  if (activeId) {
36
37
  setOpenTab(activeId);
37
38
  }
38
- }}>
39
+ }}
40
+ >
39
41
  {/*{loading && <LoadingOverlay visible={loading} />}*/}
40
42
 
41
43
  <AriakitTabList className={"bn-ak-tab-list"}>
@@ -17,7 +17,8 @@ export const PanelButton = forwardRef<
17
17
  className={mergeCSSClasses("bn-ak-button", className || "")}
18
18
  onClick={onClick}
19
19
  aria-label={label}
20
- ref={ref}>
20
+ ref={ref}
21
+ >
21
22
  {children}
22
23
  </AriakitButton>
23
24
  );
@@ -32,16 +32,17 @@ export const PopoverContent = forwardRef<
32
32
  className={mergeCSSClasses(
33
33
  "bn-ak-popover",
34
34
  className || "",
35
- variant === "panel-popover" ? "bn-ak-panel-popover" : ""
35
+ variant === "panel-popover" ? "bn-ak-panel-popover" : "",
36
36
  )}
37
- ref={ref}>
37
+ ref={ref}
38
+ >
38
39
  {children}
39
40
  </AriakitPopover>
40
41
  );
41
42
  });
42
43
 
43
44
  export const Popover = (
44
- props: ComponentProps["Generic"]["Popover"]["Root"]
45
+ props: ComponentProps["Generic"]["Popover"]["Root"],
45
46
  ) => {
46
47
  const { children, opened, position, ...rest } = props;
47
48
 
@@ -32,11 +32,12 @@ export const SideMenuButton = forwardRef<
32
32
  aria-label={label}
33
33
  className={mergeCSSClasses(
34
34
  "bn-ak-button bn-ak-secondary",
35
- className || ""
35
+ className || "",
36
36
  )}
37
37
  ref={ref}
38
38
  onClick={onClick}
39
- {...rest}>
39
+ {...rest}
40
+ >
40
41
  {icon}
41
42
  {children}
42
43
  </AriakitButton>
package/src/style.css CHANGED
@@ -11,6 +11,10 @@
11
11
  gap: 0.5rem;
12
12
  }
13
13
 
14
+ .bn-ak-input-wrapper svg {
15
+ width: 24px;
16
+ }
17
+
14
18
  .bn-ak-toolbar {
15
19
  height: fit-content;
16
20
  overflow: scroll;
@@ -23,11 +27,15 @@
23
27
 
24
28
  .bn-toolbar .bn-ak-button[data-selected] {
25
29
  padding-top: 0.125rem;
26
- box-shadow: inset 0 0 0 1px var(--border), inset 0 2px 0 var(--border);
30
+ box-shadow:
31
+ inset 0 0 0 1px var(--border),
32
+ inset 0 2px 0 var(--border);
27
33
  }
28
34
 
29
35
  .bn-toolbar .bn-ak-button[data-selected]:where(.dark, .dark *) {
30
- box-shadow: inset 0 0 0 1px var(--border), inset 0 1px 1px 1px var(--shadow);
36
+ box-shadow:
37
+ inset 0 0 0 1px var(--border),
38
+ inset 0 1px 1px 1px var(--shadow);
31
39
  }
32
40
 
33
41
  .bn-toolbar .bn-ak-popover {
@@ -64,9 +72,11 @@
64
72
  overflow: visible;
65
73
  }
66
74
 
67
- .bn-ariakit .bn-suggestion-menu {
75
+ .bn-ariakit .bn-suggestion-menu,
76
+ .bn-ariakit .ai-suggestion-menu {
68
77
  height: fit-content;
69
78
  max-height: inherit;
79
+ overflow: auto;
70
80
  }
71
81
 
72
82
  .bn-ariakit .bn-color-picker-dropdown {
@@ -77,25 +87,63 @@
77
87
  flex: 1;
78
88
  }
79
89
 
90
+ .bn-suggestion-menu-item-small .bn-ak-suggestion-menu-item-title {
91
+ font-size: 0.875rem;
92
+ }
93
+
80
94
  .bn-ak-suggestion-menu-item-subtitle {
81
95
  font-size: 0.7rem;
82
96
  }
83
97
 
98
+ .bn-suggestion-menu-item-small .bn-ak-suggestion-menu-item-subtitle {
99
+ display: none;
100
+ }
101
+
84
102
  .bn-ak-suggestion-menu-item-section[data-position="left"] {
103
+ align-items: center;
104
+ display: flex;
105
+ justify-content: center;
106
+
85
107
  padding: 8px;
86
108
  }
87
109
 
110
+ .bn-suggestion-menu-item-small
111
+ .bn-ak-suggestion-menu-item-section[data-position="left"] {
112
+ padding: 0;
113
+ }
114
+
88
115
  .bn-ak-suggestion-menu-item-section[data-position="right"] {
89
116
  --border: rgb(0 0 0/13%);
90
117
  --highlight: rgb(255 255 255/20%);
91
118
  --shadow: rgb(0 0 0/10%);
92
- box-shadow: inset 0 0 0 1px var(--border), inset 0 2px 0 var(--highlight),
93
- inset 0 -1px 0 var(--shadow), 0 1px 1px var(--shadow);
119
+ box-shadow:
120
+ inset 0 0 0 1px var(--border),
121
+ inset 0 2px 0 var(--highlight),
122
+ inset 0 -1px 0 var(--shadow),
123
+ 0 1px 1px var(--shadow);
94
124
  font-size: 0.7rem;
95
125
  border-radius: 4px;
96
126
  padding-inline: 4px;
97
127
  }
98
128
 
129
+ @keyframes spin {
130
+ 0% {
131
+ transform: rotate(0deg);
132
+ }
133
+ 100% {
134
+ transform: rotate(360deg);
135
+ }
136
+ }
137
+
138
+ .bn-ariakit .bn-suggestion-menu-loader {
139
+ align-items: center;
140
+ animation: spin 1s linear infinite;
141
+ display: flex;
142
+ height: 16px;
143
+ justify-content: center;
144
+ width: 16px;
145
+ }
146
+
99
147
  .bn-ariakit .bn-grid-suggestion-menu {
100
148
  background: var(--bn-colors-menu-background);
101
149
  border-radius: var(--bn-border-radius-large);
@@ -246,7 +294,7 @@
246
294
  .bn-ak-author-info {
247
295
  align-items: center;
248
296
  display: flex;
249
- gap: 16px
297
+ gap: 16px;
250
298
  }
251
299
 
252
300
  .bn-ariakit .bn-comment-editor .bn-editor {
@@ -302,6 +350,48 @@
302
350
  padding: 0;
303
351
  }
304
352
 
353
+ .bn-ariakit .bn-combobox .bn-ak-input-wrapper {
354
+ display: flex;
355
+ border-radius: 0.5rem;
356
+ border-width: 1px;
357
+ border-style: solid;
358
+ border-color: hsl(204 20% 88%);
359
+ background-color: hsl(204 20% 100%);
360
+ padding: 0.5rem;
361
+ color: hsl(204 4% 0%);
362
+ box-shadow:
363
+ 0 10px 15px -3px rgb(0 0 0 / 0.1),
364
+ 0 4px 6px -4px rgb(0 0 0 / 0.1);
365
+ }
366
+
367
+ .bn-ariakit .bn-combobox .bn-ak-input-wrapper:where(.dark, .dark *) {
368
+ border-color: hsl(204 4% 24%);
369
+ background-color: hsl(204 4% 16%);
370
+ color: hsl(204 20% 100%);
371
+ box-shadow:
372
+ 0 10px 15px -3px rgb(0 0 0 / 0.25),
373
+ 0 4px 6px -4px rgb(0 0 0 / 0.1);
374
+ }
375
+
376
+ .bn-ariakit .bn-combobox .bn-ak-input {
377
+ background: transparent;
378
+ border: none;
379
+ box-shadow: none;
380
+ outline: none;
381
+ }
382
+
383
+ .bn-ariakit .bn-combobox .bn-combobox-icon,
384
+ .bn-ariakit .bn-combobox .bn-combobox-right-section {
385
+ align-items: start;
386
+ display: flex;
387
+ justify-content: center;
388
+ width: 24px;
389
+ }
390
+
391
+ .bn-ariakit .bn-combobox .bn-combobox-error {
392
+ color: var(--bn-colors-highlights-red-background);
393
+ }
394
+
305
395
  .bn-ariakit .bn-comment-actions-wrapper {
306
396
  align-items: start;
307
397
  display: flex;
@@ -338,4 +428,4 @@
338
428
  .bn-ariakit .bn-thread.selected .bn-ak-author-info,
339
429
  .bn-ariakit .bn-thread.selected .bn-ak-expand-sections-prompt {
340
430
  color: var(--bn-colors-selected-text);
341
- }
431
+ }
@@ -17,7 +17,8 @@ export const SuggestionMenu = forwardRef<
17
17
  className={mergeCSSClasses("bn-ak-menu", className || "")}
18
18
  id={id}
19
19
  role="listbox"
20
- ref={ref}>
20
+ ref={ref}
21
+ >
21
22
  {children}
22
23
  </AriakitGroup>
23
24
  );
@@ -13,7 +13,8 @@ export const SuggestionMenuEmptyItem = forwardRef<
13
13
  return (
14
14
  <div
15
15
  className={mergeCSSClasses("bn-ak-menu-item", className || "")}
16
- ref={ref}>
16
+ ref={ref}
17
+ >
17
18
  <div className="bn-ak-suggestion-menu-item-label">{children}</div>
18
19
  </div>
19
20
  );
@@ -19,7 +19,7 @@ export const SuggestionMenuItem = forwardRef<
19
19
 
20
20
  const overflow = elementOverflow(
21
21
  itemRef.current,
22
- document.querySelector(".bn-suggestion-menu")!
22
+ document.querySelector(".bn-suggestion-menu, #ai-suggestion-menu")!, // TODO
23
23
  );
24
24
 
25
25
  if (overflow === "top") {
@@ -34,13 +34,16 @@ export const SuggestionMenuItem = forwardRef<
34
34
  className={mergeCSSClasses("bn-ak-menu-item", className || "")}
35
35
  ref={mergeRefs([ref, itemRef])}
36
36
  id={id}
37
+ onMouseDown={(event) => event.preventDefault()}
37
38
  onClick={onClick}
38
39
  role="option"
39
- aria-selected={isSelected || undefined}>
40
+ aria-selected={isSelected || undefined}
41
+ >
40
42
  {item.icon && (
41
43
  <div
42
44
  className="bn-ak-suggestion-menu-item-section"
43
- data-position="left">
45
+ data-position="left"
46
+ >
44
47
  {item.icon}
45
48
  </div>
46
49
  )}
@@ -53,7 +56,8 @@ export const SuggestionMenuItem = forwardRef<
53
56
  {item.badge && (
54
57
  <div
55
58
  data-position="right"
56
- className="bn-ak-suggestion-menu-item-section">
59
+ className="bn-ak-suggestion-menu-item-section"
60
+ >
57
61
  <div>{item.badge}</div>
58
62
  </div>
59
63
  )}
@@ -13,7 +13,8 @@ export const SuggestionMenuLabel = forwardRef<
13
13
  return (
14
14
  <div
15
15
  className={mergeCSSClasses("bn-ak-group-label", className || "")}
16
- ref={ref}>
16
+ ref={ref}
17
+ >
17
18
  {children}
18
19
  </div>
19
20
  );
@@ -6,13 +6,22 @@ export const SuggestionMenuLoader = forwardRef<
6
6
  HTMLDivElement,
7
7
  ComponentProps["SuggestionMenu"]["Loader"]
8
8
  >((props, ref) => {
9
- const { className, children, ...rest } = props;
9
+ const { className, ...rest } = props;
10
10
 
11
11
  assertEmpty(rest);
12
12
 
13
13
  return (
14
14
  <div className={className} ref={ref}>
15
- {children}
15
+ {/* Taken from Google Material Icons */}
16
+ {/* https://fonts.google.com/icons?selected=Material+Symbols+Rounded:progress_activity:FILL@0;wght@400;GRAD@0;opsz@24&icon.query=load&icon.size=24&icon.color=%23e8eaed&icon.set=Material+Symbols&icon.style=Rounded&icon.platform=web */}
17
+ <svg
18
+ xmlns="http://www.w3.org/2000/svg"
19
+ height="1em"
20
+ viewBox="0 -960 960 960"
21
+ width="1em"
22
+ fill="#e8eaed">
23
+ <path d="M480-80q-82 0-155-31.5t-127.5-86Q143-252 111.5-325T80-480q0-83 31.5-155.5t86-127Q252-817 325-848.5T480-880q17 0 28.5 11.5T520-840q0 17-11.5 28.5T480-800q-133 0-226.5 93.5T160-480q0 133 93.5 226.5T480-160q133 0 226.5-93.5T800-480q0-17 11.5-28.5T840-520q17 0 28.5 11.5T880-480q0 82-31.5 155t-86 127.5q-54.5 54.5-127 86T480-80Z" />
24
+ </svg>
16
25
  </div>
17
26
  );
18
27
  });
@@ -16,7 +16,8 @@ export const GridSuggestionMenu = forwardRef<
16
16
  style={{ gridTemplateColumns: `repeat(${columns}, 1fr)` } as any}
17
17
  ref={ref}
18
18
  id={id}
19
- role="grid">
19
+ role="grid"
20
+ >
20
21
  {children}
21
22
  </div>
22
23
  );
@@ -14,7 +14,8 @@ export const GridSuggestionMenuEmptyItem = forwardRef<
14
14
  <div
15
15
  className={mergeCSSClasses("bn-ak-menu-item", className || "")}
16
16
  style={{ gridColumn: `1 / ${columns + 1}` }}
17
- ref={ref}>
17
+ ref={ref}
18
+ >
18
19
  <div className="bn-ak-suggestion-menu-item-label">{children}</div>
19
20
  </div>
20
21
  );
@@ -19,7 +19,7 @@ export const GridSuggestionMenuItem = forwardRef<
19
19
 
20
20
  const overflow = elementOverflow(
21
21
  itemRef.current,
22
- document.querySelector(".bn-grid-suggestion-menu")!
22
+ document.querySelector(".bn-grid-suggestion-menu")!,
23
23
  );
24
24
 
25
25
  if (overflow === "top") {
@@ -36,7 +36,8 @@ export const GridSuggestionMenuItem = forwardRef<
36
36
  id={id}
37
37
  role="option"
38
38
  onClick={onClick}
39
- aria-selected={isSelected || undefined}>
39
+ aria-selected={isSelected || undefined}
40
+ >
40
41
  {item.icon}
41
42
  </div>
42
43
  );
@@ -19,7 +19,8 @@ export const GridSuggestionMenuLoader = forwardRef<
19
19
  <div
20
20
  className={className}
21
21
  style={{ gridColumn: `1 / ${columns + 1}` }}
22
- ref={ref}>
22
+ ref={ref}
23
+ >
23
24
  {children}
24
25
  </div>
25
26
  );
@@ -18,12 +18,13 @@ export const ExtendButton = forwardRef<
18
18
  <AriakitButton
19
19
  className={mergeCSSClasses(
20
20
  "bn-ak-button bn-ak-secondary",
21
- className || ""
21
+ className || "",
22
22
  )}
23
23
  ref={ref}
24
24
  onMouseDown={onMouseDown}
25
25
  onClick={onClick}
26
- {...rest}>
26
+ {...rest}
27
+ >
27
28
  {children}
28
29
  </AriakitButton>
29
30
  );
@@ -27,7 +27,7 @@ export const TableHandle = forwardRef<
27
27
  <AriakitButton
28
28
  className={mergeCSSClasses(
29
29
  "bn-ak-button bn-ak-secondary",
30
- className || ""
30
+ className || "",
31
31
  )}
32
32
  ref={ref}
33
33
  aria-label={label}
@@ -35,7 +35,8 @@ export const TableHandle = forwardRef<
35
35
  onDragStart={onDragStart}
36
36
  onDragEnd={onDragEnd}
37
37
  style={style}
38
- {...rest}>
38
+ {...rest}
39
+ >
39
40
  {children}
40
41
  </AriakitButton>
41
42
  );
@@ -4,8 +4,7 @@ import { assertEmpty, mergeCSSClasses } from "@blocknote/core";
4
4
  import { ComponentProps } from "@blocknote/react";
5
5
  import { forwardRef } from "react";
6
6
 
7
- type ToolbarProps = ComponentProps["FormattingToolbar"]["Root"] &
8
- ComponentProps["LinkToolbar"]["Root"];
7
+ type ToolbarProps = ComponentProps["Generic"]["Toolbar"]["Root"];
9
8
 
10
9
  export const Toolbar = forwardRef<HTMLDivElement, ToolbarProps>(
11
10
  (props, ref) => {
@@ -25,9 +24,10 @@ export const Toolbar = forwardRef<HTMLDivElement, ToolbarProps>(
25
24
  className={mergeCSSClasses("bn-ak-toolbar", className || "")}
26
25
  ref={ref}
27
26
  onMouseEnter={onMouseEnter}
28
- onMouseLeave={onMouseLeave}>
27
+ onMouseLeave={onMouseLeave}
28
+ >
29
29
  {children}
30
30
  </AriakitToolbar>
31
31
  );
32
- }
32
+ },
33
33
  );