Skip to content

Commit 291b757

Browse files
committed
Merge branch 'main' into fix/create-link-button-open-state
2 parents 14f0dd7 + 7905c11 commit 291b757

10 files changed

Lines changed: 30 additions & 18 deletions

File tree

packages/core/src/blocks/Code/block.ts

Lines changed: 12 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -130,14 +130,18 @@ export const createCodeBlockSpec = createBlockSpec(
130130
select.value =
131131
block.props.language || options.defaultLanguage || "text";
132132

133-
const handleLanguageChange = (event: Event) => {
134-
const language = (event.target as HTMLSelectElement).value;
135-
136-
editor.updateBlock(block.id, { props: { language } });
137-
};
138-
select.addEventListener("change", handleLanguageChange);
139-
removeSelectChangeListener = () =>
140-
select.removeEventListener("change", handleLanguageChange);
133+
if (editor.isEditable) {
134+
const handleLanguageChange = (event: Event) => {
135+
const language = (event.target as HTMLSelectElement).value;
136+
137+
editor.updateBlock(block.id, { props: { language } });
138+
};
139+
select.addEventListener("change", handleLanguageChange);
140+
removeSelectChangeListener = () =>
141+
select.removeEventListener("change", handleLanguageChange);
142+
} else {
143+
select.disabled = true;
144+
}
141145

142146
const selectWrapper = document.createElement("div");
143147
selectWrapper.contentEditable = "false";

packages/core/src/editor/editor.css

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
.bn-editor {
44
outline: none;
55
padding-inline: 54px;
6+
font-synthesis: style weight;
67

78
/* Define a set of colors to be used throughout the app for consistency
89
see https://atlassian.design/foundations/color for more info */

packages/core/src/extensions/NodeSelectionKeyboard/NodeSelectionKeyboard.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,7 @@ export const NodeSelectionKeyboardExtension = createExtension(
4040
// Checks if key press is Enter
4141
if (
4242
event.key === "Enter" &&
43+
!event.isComposing &&
4344
!event.shiftKey &&
4445
!event.altKey &&
4546
!event.ctrlKey &&

packages/core/src/extensions/TableHandles/TableHandles.ts

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -296,9 +296,13 @@ export class TableHandlesView implements PluginView {
296296
event.clientX >= tableRect.right - 1 &&
297297
event.clientX < tableRect.right + 20;
298298

299-
// without this check, we'd also hide draghandles when hovering over them
300299
const hideHandles =
301-
event.clientX > tableRect.right || event.clientY > tableRect.bottom;
300+
// always hide handles when the actively hovered table changed
301+
this.state?.block.id !== tableBlock.id ||
302+
// make sure we don't hide existing handles (keep col / row index) when
303+
// we're hovering just above or to the right of a table
304+
event.clientX > tableRect.right ||
305+
event.clientY > tableRect.bottom;
302306

303307
this.state = {
304308
...this.state!,

packages/react/src/components/FilePanel/DefaultTabs/EmbedTab.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ export const EmbedTab = <
3939

4040
const handleURLEnter = useCallback(
4141
(event: KeyboardEvent) => {
42-
if (event.key === "Enter") {
42+
if (event.key === "Enter" && !event.nativeEvent.isComposing) {
4343
event.preventDefault();
4444
editor.updateBlock(block.id, {
4545
props: {

packages/react/src/components/FormattingToolbar/DefaultButtons/FileCaptionButton.tsx

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -81,7 +81,8 @@ export const FileCaptionButton = () => {
8181
editorHasBlockWithType(editor, block.type, {
8282
caption: "string",
8383
}) &&
84-
event.key === "Enter"
84+
event.key === "Enter" &&
85+
!event.nativeEvent.isComposing
8586
) {
8687
event.preventDefault();
8788
editor.updateBlock(block.id, {

packages/react/src/components/FormattingToolbar/DefaultButtons/FileRenameButton.tsx

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -82,7 +82,8 @@ export const FileRenameButton = () => {
8282
editorHasBlockWithType(editor, block.type, {
8383
name: "string",
8484
}) &&
85-
event.key === "Enter"
85+
event.key === "Enter" &&
86+
!event.nativeEvent.isComposing
8687
) {
8788
event.preventDefault();
8889
editor.updateBlock(block.id, {

packages/react/src/components/LinkToolbar/EditLinkMenuItems.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@ export const EditLinkMenuItems = (
5151

5252
const handleEnter = useCallback(
5353
(event: KeyboardEvent) => {
54-
if (event.key === "Enter") {
54+
if (event.key === "Enter" && !event.nativeEvent.isComposing) {
5555
event.preventDefault();
5656
editLink(validateUrl(currentUrl), currentText, props.range.from);
5757
props.setToolbarOpen?.(false);

packages/xl-ai/src/components/AIMenu/AIMenuController.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ import {
55
useExtension,
66
useExtensionState,
77
} from "@blocknote/react";
8-
import { autoUpdate, offset, size } from "@floating-ui/react";
8+
import { autoUpdate, flip, offset, size } from "@floating-ui/react";
99
import { FC, useMemo } from "react";
1010

1111
import { AIExtension } from "../../AIExtension.js";
@@ -33,7 +33,7 @@ export const AIMenuController = (props: {
3333
placement: "bottom",
3434
middleware: [
3535
offset(10),
36-
// flip(),
36+
flip(),
3737
size({
3838
apply({ rects, elements }) {
3939
Object.assign(elements.floating.style, {

packages/xl-ai/src/components/AIMenu/PromptSuggestionMenu.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ export const PromptSuggestionMenu = (props: PromptSuggestionMenuProps) => {
3838

3939
const handleEnter = useCallback(
4040
async (event: KeyboardEvent) => {
41-
if (event.key === "Enter") {
41+
if (event.key === "Enter" && !event.nativeEvent.isComposing) {
4242
// console.log("ENTER", currentEditingPrompt);
4343
onManualPromptSubmit(promptTextToUse);
4444
}
@@ -71,7 +71,7 @@ export const PromptSuggestionMenu = (props: PromptSuggestionMenuProps) => {
7171
const handleKeyDown = useCallback(
7272
(event: KeyboardEvent) => {
7373
// TODO: handle backspace to close
74-
if (event.key === "Enter") {
74+
if (event.key === "Enter" && !event.nativeEvent.isComposing) {
7575
if (items.length > 0) {
7676
handler(event);
7777
} else {

0 commit comments

Comments
 (0)