@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.
- package/dist/blocknote-ariakit.cjs +1 -1
- package/dist/blocknote-ariakit.cjs.map +1 -1
- package/dist/blocknote-ariakit.js +224 -201
- package/dist/blocknote-ariakit.js.map +1 -1
- package/dist/style.css +1 -1
- package/dist/webpack-stats.json +1 -1
- package/package.json +5 -4
- package/src/BlockNoteView.tsx +2 -2
- package/src/ariakitStyles.css +669 -670
- package/src/badge/Badge.tsx +5 -3
- package/src/comments/Card.tsx +8 -5
- package/src/comments/Comment.tsx +4 -2
- package/src/comments/Editor.tsx +3 -2
- package/src/input/TextInput.tsx +12 -1
- package/src/menu/Button.tsx +3 -2
- package/src/menu/Menu.tsx +11 -6
- package/src/panel/Panel.tsx +4 -2
- package/src/panel/PanelButton.tsx +2 -1
- package/src/popover/Popover.tsx +4 -3
- package/src/sideMenu/SideMenuButton.tsx +3 -2
- package/src/style.css +97 -7
- package/src/suggestionMenu/SuggestionMenu.tsx +2 -1
- package/src/suggestionMenu/SuggestionMenuEmptyItem.tsx +2 -1
- package/src/suggestionMenu/SuggestionMenuItem.tsx +8 -4
- package/src/suggestionMenu/SuggestionMenuLabel.tsx +2 -1
- package/src/suggestionMenu/SuggestionMenuLoader.tsx +11 -2
- package/src/suggestionMenu/gridSuggestionMenu/GridSuggestionMenu.tsx +2 -1
- package/src/suggestionMenu/gridSuggestionMenu/GridSuggestionMenuEmptyItem.tsx +2 -1
- package/src/suggestionMenu/gridSuggestionMenu/GridSuggestionMenuItem.tsx +3 -2
- package/src/suggestionMenu/gridSuggestionMenu/GridSuggestionMenuLoader.tsx +2 -1
- package/src/tableHandle/ExtendButton.tsx +3 -2
- package/src/tableHandle/TableHandle.tsx +3 -2
- package/src/toolbar/Toolbar.tsx +4 -4
- package/src/toolbar/ToolbarButton.tsx +5 -5
- package/src/toolbar/ToolbarSelect.tsx +6 -3
- package/types/src/input/TextInput.d.ts +5 -1
- package/types/src/suggestionMenu/SuggestionMenuItem.d.ts +1 -1
- package/types/src/suggestionMenu/SuggestionMenuLoader.d.ts +0 -1
package/src/badge/Badge.tsx
CHANGED
|
@@ -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
|
);
|
package/src/comments/Card.tsx
CHANGED
|
@@ -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
|
);
|
package/src/comments/Comment.tsx
CHANGED
|
@@ -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}
|
package/src/comments/Editor.tsx
CHANGED
|
@@ -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>
|
package/src/input/TextInput.tsx
CHANGED
|
@@ -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(
|
|
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
|
);
|
package/src/menu/Button.tsx
CHANGED
|
@@ -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
|
|
package/src/panel/Panel.tsx
CHANGED
|
@@ -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"}>
|
package/src/popover/Popover.tsx
CHANGED
|
@@ -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:
|
|
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:
|
|
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:
|
|
93
|
-
|
|
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
|
+
}
|
|
@@ -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
|
)}
|
|
@@ -6,13 +6,22 @@ export const SuggestionMenuLoader = forwardRef<
|
|
|
6
6
|
HTMLDivElement,
|
|
7
7
|
ComponentProps["SuggestionMenu"]["Loader"]
|
|
8
8
|
>((props, ref) => {
|
|
9
|
-
const { className,
|
|
9
|
+
const { className, ...rest } = props;
|
|
10
10
|
|
|
11
11
|
assertEmpty(rest);
|
|
12
12
|
|
|
13
13
|
return (
|
|
14
14
|
<div className={className} ref={ref}>
|
|
15
|
-
{
|
|
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
|
});
|
|
@@ -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
|
);
|
|
@@ -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
|
);
|
package/src/toolbar/Toolbar.tsx
CHANGED
|
@@ -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["
|
|
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
|
);
|