@blocknote/ariakit 0.23.5 → 0.24.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.js +29 -25
- package/dist/blocknote-ariakit.js.map +1 -1
- package/dist/blocknote-ariakit.umd.cjs +1 -1
- package/dist/blocknote-ariakit.umd.cjs.map +1 -1
- package/dist/webpack-stats.json +1 -1
- package/package.json +4 -4
- package/src/BlockNoteView.tsx +31 -0
- package/src/components.ts +97 -0
- package/src/index.tsx +2 -123
- package/types/src/BlockNoteView.d.ts +3 -0
- package/types/src/components.d.ts +2 -0
- package/types/src/index.d.ts +2 -4
- package/types/src/toolbar/Toolbar.d.ts +0 -3
- package/types/src/toolbar/ToolbarButton.d.ts +15 -4
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import { jsx as r, jsxs as g, Fragment as
|
|
2
|
-
import { assertEmpty as i, mergeCSSClasses as b, isSafari as
|
|
1
|
+
import { jsx as r, jsxs as g, Fragment as B } from "react/jsx-runtime";
|
|
2
|
+
import { assertEmpty as i, mergeCSSClasses as b, isSafari as L } from "@blocknote/core";
|
|
3
3
|
import { elementOverflow as P, mergeRefs as C, ComponentsContext as F, BlockNoteViewRaw as E } from "@blocknote/react";
|
|
4
|
-
import { FormProvider as
|
|
4
|
+
import { FormProvider as T, FormLabel as G, FormInput as S, MenuProvider as V, Menu as $, MenuButton as w, MenuItem as M, MenuButtonArrow as O, CheckboxCheck as I, MenuGroupLabel as A, MenuSeparator as H, TabProvider as j, TabList as q, Tab as K, TabPanel as z, Button as N, PopoverDisclosure as J, Popover as Q, PopoverProvider as U, Group as y, Toolbar as W, TooltipProvider as X, TooltipAnchor as Y, ToolbarItem as x, Tooltip as Z, SelectProvider as _, Select as ee, SelectArrow as ne, SelectPopover as te, SelectItem as se, SelectItemCheck as ae } from "@ariakit/react";
|
|
5
5
|
import { forwardRef as d, useRef as R, useEffect as D } from "react";
|
|
6
6
|
const re = (n) => {
|
|
7
7
|
const { children: t, ...s } = n;
|
|
8
|
-
return i(s), /* @__PURE__ */ r(
|
|
8
|
+
return i(s), /* @__PURE__ */ r(T, { children: t });
|
|
9
9
|
}, oe = d((n, t) => {
|
|
10
10
|
const {
|
|
11
11
|
className: s,
|
|
@@ -20,12 +20,12 @@ const re = (n) => {
|
|
|
20
20
|
onSubmit: h,
|
|
21
21
|
...v
|
|
22
22
|
} = n;
|
|
23
|
-
return i(v), /* @__PURE__ */ g(
|
|
23
|
+
return i(v), /* @__PURE__ */ g(B, { children: [
|
|
24
24
|
n.label && /* @__PURE__ */ r(G, { name: e, children: a }),
|
|
25
25
|
/* @__PURE__ */ g("div", { className: "bn-ak-input-wrapper", children: [
|
|
26
26
|
o,
|
|
27
27
|
/* @__PURE__ */ r(
|
|
28
|
-
|
|
28
|
+
S,
|
|
29
29
|
{
|
|
30
30
|
className: b("bn-ak-input", s || ""),
|
|
31
31
|
ref: t,
|
|
@@ -80,7 +80,7 @@ const re = (n) => {
|
|
|
80
80
|
return i(c), l ? /* @__PURE__ */ g(
|
|
81
81
|
w,
|
|
82
82
|
{
|
|
83
|
-
render: /* @__PURE__ */ r(
|
|
83
|
+
render: /* @__PURE__ */ r(M, {}),
|
|
84
84
|
className: b("bn-ak-menu-item", s || ""),
|
|
85
85
|
ref: t,
|
|
86
86
|
onClick: m,
|
|
@@ -88,11 +88,11 @@ const re = (n) => {
|
|
|
88
88
|
a,
|
|
89
89
|
e,
|
|
90
90
|
/* @__PURE__ */ r(O, {}),
|
|
91
|
-
o !== void 0 && /* @__PURE__ */ r(
|
|
91
|
+
o !== void 0 && /* @__PURE__ */ r(I, { checked: o })
|
|
92
92
|
]
|
|
93
93
|
}
|
|
94
94
|
) : /* @__PURE__ */ g(
|
|
95
|
-
|
|
95
|
+
M,
|
|
96
96
|
{
|
|
97
97
|
className: b("bn-ak-menu-item", s || ""),
|
|
98
98
|
ref: t,
|
|
@@ -100,7 +100,7 @@ const re = (n) => {
|
|
|
100
100
|
children: [
|
|
101
101
|
a,
|
|
102
102
|
e,
|
|
103
|
-
o !== void 0 && /* @__PURE__ */ r(
|
|
103
|
+
o !== void 0 && /* @__PURE__ */ r(I, { checked: o })
|
|
104
104
|
]
|
|
105
105
|
}
|
|
106
106
|
);
|
|
@@ -172,8 +172,8 @@ const re = (n) => {
|
|
|
172
172
|
);
|
|
173
173
|
}), pe = d((n, t) => {
|
|
174
174
|
const { className: s, accept: e, value: a, placeholder: o, onChange: l, ...m } = n;
|
|
175
|
-
return i(m), /* @__PURE__ */ r(
|
|
176
|
-
|
|
175
|
+
return i(m), /* @__PURE__ */ r(T, { children: /* @__PURE__ */ r(
|
|
176
|
+
S,
|
|
177
177
|
{
|
|
178
178
|
className: s,
|
|
179
179
|
ref: t,
|
|
@@ -190,8 +190,8 @@ const re = (n) => {
|
|
|
190
190
|
return i(a), /* @__PURE__ */ r("div", { className: s, ref: t, children: e });
|
|
191
191
|
}), Ne = d((n, t) => {
|
|
192
192
|
const { className: s, value: e, placeholder: a, onKeyDown: o, onChange: l, ...m } = n;
|
|
193
|
-
return i(m), /* @__PURE__ */ r(
|
|
194
|
-
|
|
193
|
+
return i(m), /* @__PURE__ */ r(T, { children: /* @__PURE__ */ r(
|
|
194
|
+
S,
|
|
195
195
|
{
|
|
196
196
|
className: b("bn-ak-input", s || ""),
|
|
197
197
|
name: "panel-input",
|
|
@@ -399,7 +399,7 @@ const re = (n) => {
|
|
|
399
399
|
}), De = d((n, t) => {
|
|
400
400
|
const { className: s, children: e, ...a } = n;
|
|
401
401
|
return i(a), /* @__PURE__ */ r("div", { className: s, ref: t, children: e });
|
|
402
|
-
}),
|
|
402
|
+
}), Be = d((n, t) => {
|
|
403
403
|
const { children: s, className: e, onMouseDown: a, onClick: o, ...l } = n;
|
|
404
404
|
return i(l, !1), /* @__PURE__ */ r(
|
|
405
405
|
N,
|
|
@@ -415,7 +415,7 @@ const re = (n) => {
|
|
|
415
415
|
children: s
|
|
416
416
|
}
|
|
417
417
|
);
|
|
418
|
-
}),
|
|
418
|
+
}), Le = d((n, t) => {
|
|
419
419
|
const {
|
|
420
420
|
className: s,
|
|
421
421
|
children: e,
|
|
@@ -443,7 +443,7 @@ const re = (n) => {
|
|
|
443
443
|
children: e
|
|
444
444
|
}
|
|
445
445
|
);
|
|
446
|
-
}),
|
|
446
|
+
}), k = d(
|
|
447
447
|
(n, t) => {
|
|
448
448
|
const { className: s, children: e, onMouseEnter: a, onMouseLeave: o, ...l } = n;
|
|
449
449
|
return i(l), /* @__PURE__ */ r(
|
|
@@ -457,7 +457,7 @@ const re = (n) => {
|
|
|
457
457
|
}
|
|
458
458
|
);
|
|
459
459
|
}
|
|
460
|
-
),
|
|
460
|
+
), f = d(
|
|
461
461
|
(n, t) => {
|
|
462
462
|
const {
|
|
463
463
|
className: s,
|
|
@@ -485,7 +485,7 @@ const re = (n) => {
|
|
|
485
485
|
s || ""
|
|
486
486
|
),
|
|
487
487
|
onMouseDown: (v) => {
|
|
488
|
-
|
|
488
|
+
L() && v.currentTarget.focus();
|
|
489
489
|
},
|
|
490
490
|
onClick: u,
|
|
491
491
|
"aria-pressed": m,
|
|
@@ -556,8 +556,8 @@ const re = (n) => {
|
|
|
556
556
|
] });
|
|
557
557
|
}), Ee = {
|
|
558
558
|
FormattingToolbar: {
|
|
559
|
-
Root:
|
|
560
|
-
Button:
|
|
559
|
+
Root: k,
|
|
560
|
+
Button: f,
|
|
561
561
|
Select: Fe
|
|
562
562
|
},
|
|
563
563
|
FilePanel: {
|
|
@@ -574,8 +574,8 @@ const re = (n) => {
|
|
|
574
574
|
Loader: Ce
|
|
575
575
|
},
|
|
576
576
|
LinkToolbar: {
|
|
577
|
-
Root:
|
|
578
|
-
Button:
|
|
577
|
+
Root: k,
|
|
578
|
+
Button: f
|
|
579
579
|
},
|
|
580
580
|
SideMenu: {
|
|
581
581
|
Root: Te,
|
|
@@ -589,10 +589,14 @@ const re = (n) => {
|
|
|
589
589
|
Loader: De
|
|
590
590
|
},
|
|
591
591
|
TableHandle: {
|
|
592
|
-
Root:
|
|
593
|
-
ExtendButton:
|
|
592
|
+
Root: Le,
|
|
593
|
+
ExtendButton: Be
|
|
594
594
|
},
|
|
595
595
|
Generic: {
|
|
596
|
+
Toolbar: {
|
|
597
|
+
Root: k,
|
|
598
|
+
Button: f
|
|
599
|
+
},
|
|
596
600
|
Form: {
|
|
597
601
|
Root: re,
|
|
598
602
|
TextInput: oe
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"blocknote-ariakit.js","sources":["../src/input/Form.tsx","../src/input/TextInput.tsx","../src/menu/Menu.tsx","../src/panel/Panel.tsx","../src/panel/PanelButton.tsx","../src/panel/PanelFileInput.tsx","../src/panel/PanelTab.tsx","../src/panel/PanelTextInput.tsx","../src/popover/Popover.tsx","../src/sideMenu/SideMenu.tsx","../src/sideMenu/SideMenuButton.tsx","../src/suggestionMenu/gridSuggestionMenu/GridSuggestionMenu.tsx","../src/suggestionMenu/gridSuggestionMenu/GridSuggestionMenuEmptyItem.tsx","../src/suggestionMenu/gridSuggestionMenu/GridSuggestionMenuItem.tsx","../src/suggestionMenu/gridSuggestionMenu/GridSuggestionMenuLoader.tsx","../src/suggestionMenu/SuggestionMenu.tsx","../src/suggestionMenu/SuggestionMenuEmptyItem.tsx","../src/suggestionMenu/SuggestionMenuItem.tsx","../src/suggestionMenu/SuggestionMenuLabel.tsx","../src/suggestionMenu/SuggestionMenuLoader.tsx","../src/tableHandle/ExtendButton.tsx","../src/tableHandle/TableHandle.tsx","../src/toolbar/Toolbar.tsx","../src/toolbar/ToolbarButton.tsx","../src/toolbar/ToolbarSelect.tsx","../src/index.tsx"],"sourcesContent":["import { FormProvider as AriakitFormProvider } from \"@ariakit/react\";\n\nimport { assertEmpty } from \"@blocknote/core\";\nimport { ComponentProps } from \"@blocknote/react\";\n\nexport const Form = (props: ComponentProps[\"Generic\"][\"Form\"][\"Root\"]) => {\n const { children, ...rest } = props;\n\n assertEmpty(rest);\n\n return <AriakitFormProvider>{children}</AriakitFormProvider>;\n};\n","import {\n FormInput as AriakitFormInput,\n FormLabel as AriakitFormLabel,\n} from \"@ariakit/react\";\n\nimport { assertEmpty, mergeCSSClasses } from \"@blocknote/core\";\nimport { ComponentProps } from \"@blocknote/react\";\nimport { forwardRef } from \"react\";\n\nexport const TextInput = forwardRef<\n HTMLInputElement,\n ComponentProps[\"Generic\"][\"Form\"][\"TextInput\"]\n>((props, ref) => {\n const {\n className,\n name,\n label,\n icon,\n value,\n autoFocus,\n placeholder,\n onKeyDown,\n onChange,\n onSubmit,\n ...rest\n } = props;\n\n assertEmpty(rest);\n\n return (\n <>\n {props.label && <AriakitFormLabel name={name}>{label}</AriakitFormLabel>}\n <div className=\"bn-ak-input-wrapper\">\n {icon}\n <AriakitFormInput\n className={mergeCSSClasses(\"bn-ak-input\", className || \"\")}\n ref={ref}\n name={name}\n value={value}\n autoFocus={autoFocus}\n placeholder={placeholder}\n onKeyDown={onKeyDown}\n onChange={onChange}\n onSubmit={onSubmit}\n />\n </div>\n </>\n );\n});\n","import {\n CheckboxCheck as AriakitCheckboxCheck,\n Menu as AriakitMenu,\n MenuButton as AriakitMenuButton,\n MenuButtonArrow as AriakitMenuButtonArrow,\n MenuGroupLabel as AriakitMenuGroupLabel,\n MenuItem as AriakitMenuItem,\n MenuProvider as AriakitMenuProvider,\n MenuSeparator as AriakitMenuSeparator,\n} from \"@ariakit/react\";\n\nimport { assertEmpty, mergeCSSClasses } from \"@blocknote/core\";\nimport { ComponentProps } from \"@blocknote/react\";\nimport { forwardRef } from \"react\";\n\nexport const Menu = (props: ComponentProps[\"Generic\"][\"Menu\"][\"Root\"]) => {\n const {\n children,\n onOpenChange,\n position,\n sub, // unused\n ...rest\n } = props;\n\n assertEmpty(rest);\n\n return (\n <AriakitMenuProvider\n placement={position}\n setOpen={onOpenChange}\n virtualFocus={true}>\n {children}\n </AriakitMenuProvider>\n );\n};\n\nexport const MenuDropdown = forwardRef<\n HTMLDivElement,\n ComponentProps[\"Generic\"][\"Menu\"][\"Dropdown\"]\n>((props, ref) => {\n const {\n className,\n children,\n sub, // unused\n ...rest\n } = props;\n\n assertEmpty(rest);\n\n return (\n <AriakitMenu\n unmountOnHide={true}\n className={mergeCSSClasses(\"bn-ak-menu\", className || \"\")}\n ref={ref}>\n {children}\n </AriakitMenu>\n );\n});\n\nexport const MenuItem = forwardRef<\n HTMLDivElement,\n ComponentProps[\"Generic\"][\"Menu\"][\"Item\"]\n>((props, ref) => {\n const { className, children, icon, checked, subTrigger, onClick, ...rest } =\n props;\n\n assertEmpty(rest);\n\n if (subTrigger) {\n return (\n <AriakitMenuButton\n render={<AriakitMenuItem />}\n className={mergeCSSClasses(\"bn-ak-menu-item\", className || \"\")}\n ref={ref}\n onClick={onClick}>\n {icon}\n {children}\n <AriakitMenuButtonArrow />\n {checked !== undefined && <AriakitCheckboxCheck checked={checked} />}\n </AriakitMenuButton>\n );\n }\n return (\n <AriakitMenuItem\n className={mergeCSSClasses(\"bn-ak-menu-item\", className || \"\")}\n ref={ref}\n onClick={onClick}>\n {icon}\n {children}\n {checked !== undefined && <AriakitCheckboxCheck checked={checked} />}\n </AriakitMenuItem>\n );\n});\n\nexport const MenuLabel = forwardRef<\n HTMLDivElement,\n ComponentProps[\"Generic\"][\"Menu\"][\"Label\"]\n>((props, ref) => {\n const { className, children, ...rest } = props;\n\n assertEmpty(rest);\n\n return (\n <AriakitMenuGroupLabel\n className={mergeCSSClasses(\"bn-ak-group-label\", className || \"\")}\n ref={ref}>\n {children}\n </AriakitMenuGroupLabel>\n );\n});\n\nexport const MenuTrigger = (\n props: ComponentProps[\"Generic\"][\"Menu\"][\"Trigger\"]\n) => {\n const { children, sub, ...rest } = props;\n\n assertEmpty(rest);\n\n if (sub) {\n return children;\n }\n\n return <AriakitMenuButton render={children as any}></AriakitMenuButton>;\n};\n\nexport const MenuDivider = forwardRef<\n HTMLHRElement,\n ComponentProps[\"Generic\"][\"Menu\"][\"Divider\"]\n>((props, ref) => {\n const { className, ...rest } = props;\n\n assertEmpty(rest);\n\n return (\n <AriakitMenuSeparator\n className={mergeCSSClasses(\"bn-ak-separator\", className || \"\")}\n ref={ref}\n />\n );\n});\n","import {\n Tab as AriakitTab,\n TabList as AriakitTabList,\n TabPanel as AriakitTabPanel,\n TabProvider as AriakitTabProvider,\n} from \"@ariakit/react\";\n\nimport { assertEmpty, mergeCSSClasses } from \"@blocknote/core\";\nimport { ComponentProps } from \"@blocknote/react\";\nimport { forwardRef } from \"react\";\n\nexport const Panel = forwardRef<\n HTMLDivElement,\n ComponentProps[\"FilePanel\"][\"Root\"]\n>((props, ref) => {\n const {\n className,\n tabs,\n defaultOpenTab,\n openTab,\n setOpenTab,\n loading, // TODO: implement loading\n ...rest\n } = props;\n assertEmpty(rest);\n\n return (\n <div\n className={mergeCSSClasses(\"bn-ak-wrapper\", className || \"\")}\n ref={ref}>\n <AriakitTabProvider\n defaultSelectedId={defaultOpenTab}\n selectedId={openTab}\n setActiveId={(activeId) => {\n if (activeId) {\n setOpenTab(activeId);\n }\n }}>\n {/*{loading && <LoadingOverlay visible={loading} />}*/}\n\n <AriakitTabList className={\"bn-ak-tab-list\"}>\n {tabs.map((tab) => (\n <AriakitTab className={\"bn-ak-tab\"} id={tab.name} key={tab.name}>\n {tab.name}\n </AriakitTab>\n ))}\n </AriakitTabList>\n\n <div className={\"bn-ak-panels\"}>\n {tabs.map((tab) => (\n <AriakitTabPanel tabId={tab.name} key={tab.name}>\n {tab.tabPanel}\n </AriakitTabPanel>\n ))}\n </div>\n </AriakitTabProvider>\n </div>\n );\n});\n","import { Button as AriakitButton } from \"@ariakit/react\";\n\nimport { assertEmpty, mergeCSSClasses } from \"@blocknote/core\";\nimport { ComponentProps } from \"@blocknote/react\";\nimport { forwardRef } from \"react\";\n\nexport const PanelButton = forwardRef<\n HTMLButtonElement,\n ComponentProps[\"FilePanel\"][\"Button\"]\n>((props, ref) => {\n const { className, children, onClick, label, ...rest } = props;\n\n assertEmpty(rest);\n\n return (\n <AriakitButton\n className={mergeCSSClasses(\"bn-ak-button\", className || \"\")}\n onClick={onClick}\n aria-label={label}\n ref={ref}>\n {children}\n </AriakitButton>\n );\n});\n","import {\n FormInput as AriakitFormInput,\n FormProvider as AriakitFormProvider,\n} from \"@ariakit/react\";\n\nimport { assertEmpty } from \"@blocknote/core\";\nimport { ComponentProps } from \"@blocknote/react\";\nimport { forwardRef } from \"react\";\n\nexport const PanelFileInput = forwardRef<\n HTMLInputElement,\n ComponentProps[\"FilePanel\"][\"FileInput\"]\n>((props, ref) => {\n const { className, accept, value, placeholder, onChange, ...rest } = props;\n\n assertEmpty(rest);\n\n return (\n <AriakitFormProvider>\n <AriakitFormInput\n className={className}\n ref={ref}\n name={\"panel-input\"}\n type={\"file\"}\n accept={accept}\n value={value ? value.name : undefined}\n onChange={async (e) => onChange?.(e.target.files![0])}\n placeholder={placeholder}\n />\n </AriakitFormProvider>\n );\n});\n","import { assertEmpty } from \"@blocknote/core\";\nimport { ComponentProps } from \"@blocknote/react\";\nimport { forwardRef } from \"react\";\n\nexport const PanelTab = forwardRef<\n HTMLDivElement,\n ComponentProps[\"FilePanel\"][\"TabPanel\"]\n>((props, ref) => {\n const { className, children, ...rest } = props;\n\n assertEmpty(rest);\n\n return (\n <div className={className} ref={ref}>\n {children}\n </div>\n );\n});\n","import {\n FormInput as AriakitFormInput,\n FormProvider as AriakitFormProvider,\n} from \"@ariakit/react\";\n\nimport { assertEmpty, mergeCSSClasses } from \"@blocknote/core\";\nimport { ComponentProps } from \"@blocknote/react\";\nimport { forwardRef } from \"react\";\n\nexport const PanelTextInput = forwardRef<\n HTMLInputElement,\n ComponentProps[\"FilePanel\"][\"TextInput\"]\n>((props, ref) => {\n const { className, value, placeholder, onKeyDown, onChange, ...rest } = props;\n\n assertEmpty(rest);\n\n return (\n <AriakitFormProvider>\n <AriakitFormInput\n className={mergeCSSClasses(\"bn-ak-input\", className || \"\")}\n name={\"panel-input\"}\n value={value}\n placeholder={placeholder}\n onChange={onChange}\n onKeyDown={onKeyDown}\n data-test={\"embed-input\"}\n ref={ref}\n />\n </AriakitFormProvider>\n );\n});\n","import {\n Popover as AriakitPopover,\n PopoverDisclosure as AriakitPopoverDisclosure,\n PopoverProvider as AriakitPopoverProvider,\n} from \"@ariakit/react\";\n\nimport { assertEmpty, mergeCSSClasses } from \"@blocknote/core\";\nimport { ComponentProps } from \"@blocknote/react\";\nimport { forwardRef } from \"react\";\n\nexport const PopoverTrigger = forwardRef<\n HTMLButtonElement,\n ComponentProps[\"Generic\"][\"Popover\"][\"Trigger\"]\n>((props, ref) => {\n const { children, ...rest } = props;\n\n assertEmpty(rest);\n\n return <AriakitPopoverDisclosure render={children as any} ref={ref} />;\n});\n\nexport const PopoverContent = forwardRef<\n HTMLDivElement,\n ComponentProps[\"Generic\"][\"Popover\"][\"Content\"]\n>((props, ref) => {\n const { className, children, variant, ...rest } = props;\n\n assertEmpty(rest);\n\n return (\n <AriakitPopover\n className={mergeCSSClasses(\"bn-ak-popover\", className || \"\")}\n ref={ref}>\n {children}\n </AriakitPopover>\n );\n});\n\nexport const Popover = (\n props: ComponentProps[\"Generic\"][\"Popover\"][\"Root\"]\n) => {\n const { children, opened, position, ...rest } = props;\n\n assertEmpty(rest);\n\n return (\n <AriakitPopoverProvider open={opened} placement={position}>\n {children}\n </AriakitPopoverProvider>\n );\n};\n","import { Group as AriakitGroup } from \"@ariakit/react\";\n\nimport { assertEmpty } from \"@blocknote/core\";\nimport { ComponentProps } from \"@blocknote/react\";\nimport { forwardRef } from \"react\";\n\nexport const SideMenu = forwardRef<\n HTMLDivElement,\n ComponentProps[\"SideMenu\"][\"Root\"]\n>((props, ref) => {\n const { className, children, ...rest } = props;\n\n assertEmpty(rest, false);\n\n return (\n <AriakitGroup className={className} ref={ref} {...rest}>\n {children}\n </AriakitGroup>\n );\n});\n","import { Button as AriakitButton } from \"@ariakit/react\";\n\nimport { assertEmpty, mergeCSSClasses } from \"@blocknote/core\";\nimport { ComponentProps } from \"@blocknote/react\";\nimport { forwardRef } from \"react\";\n\nexport const SideMenuButton = forwardRef<\n HTMLButtonElement,\n ComponentProps[\"SideMenu\"][\"Button\"]\n>((props, ref) => {\n const {\n className,\n children,\n icon,\n onClick,\n label,\n onDragEnd,\n onDragStart,\n draggable,\n ...rest\n } = props;\n\n // false, because rest props can be added by ariakit when button is used as a trigger\n // assertEmpty in this case is only used at typescript level, not runtime level\n assertEmpty(rest, false);\n\n return (\n <AriakitButton\n onDragEnd={onDragEnd}\n onDragStart={onDragStart}\n draggable={draggable}\n aria-label={label}\n className={mergeCSSClasses(\n \"bn-ak-button bn-ak-secondary\",\n className || \"\"\n )}\n ref={ref}\n onClick={onClick}\n {...rest}>\n {icon}\n {children}\n </AriakitButton>\n );\n});\n","import { assertEmpty } from \"@blocknote/core\";\nimport { ComponentProps } from \"@blocknote/react\";\nimport { forwardRef } from \"react\";\n\nexport const GridSuggestionMenu = forwardRef<\n HTMLDivElement,\n ComponentProps[\"GridSuggestionMenu\"][\"Root\"]\n>((props, ref) => {\n const { className, children, id, columns, ...rest } = props;\n\n assertEmpty(rest);\n\n return (\n <div\n className={className}\n style={{ gridTemplateColumns: `repeat(${columns}, 1fr)` } as any}\n ref={ref}\n id={id}\n role=\"grid\">\n {children}\n </div>\n );\n});\n","import { assertEmpty, mergeCSSClasses } from \"@blocknote/core\";\nimport { ComponentProps } from \"@blocknote/react\";\nimport { forwardRef } from \"react\";\n\nexport const GridSuggestionMenuEmptyItem = forwardRef<\n HTMLDivElement,\n ComponentProps[\"GridSuggestionMenu\"][\"EmptyItem\"]\n>((props, ref) => {\n const { className, children, columns, ...rest } = props;\n\n assertEmpty(rest);\n\n return (\n <div\n className={mergeCSSClasses(\"bn-ak-menu-item\", className || \"\")}\n style={{ gridColumn: `1 / ${columns + 1}` }}\n ref={ref}>\n <div className=\"bn-ak-suggestion-menu-item-label\">{children}</div>\n </div>\n );\n});\n","import { assertEmpty } from \"@blocknote/core\";\nimport { ComponentProps, elementOverflow, mergeRefs } from \"@blocknote/react\";\nimport { forwardRef, useEffect, useRef } from \"react\";\n\nexport const GridSuggestionMenuItem = forwardRef<\n HTMLDivElement,\n ComponentProps[\"GridSuggestionMenu\"][\"Item\"]\n>((props, ref) => {\n const { className, isSelected, onClick, item, id, ...rest } = props;\n\n assertEmpty(rest);\n\n const itemRef = useRef<HTMLDivElement>(null);\n\n useEffect(() => {\n if (!itemRef.current || !isSelected) {\n return;\n }\n\n const overflow = elementOverflow(\n itemRef.current,\n document.querySelector(\".bn-grid-suggestion-menu\")!\n );\n\n if (overflow === \"top\") {\n itemRef.current.scrollIntoView(true);\n } else if (overflow === \"bottom\") {\n itemRef.current.scrollIntoView(false);\n }\n }, [isSelected]);\n\n return (\n <div\n className={className}\n ref={mergeRefs([ref, itemRef])}\n id={id}\n role=\"option\"\n onClick={onClick}\n aria-selected={isSelected || undefined}>\n {item.icon}\n </div>\n );\n});\n","import { assertEmpty } from \"@blocknote/core\";\nimport { ComponentProps } from \"@blocknote/react\";\nimport { forwardRef } from \"react\";\n\nexport const GridSuggestionMenuLoader = forwardRef<\n HTMLDivElement,\n ComponentProps[\"GridSuggestionMenu\"][\"Loader\"]\n>((props, ref) => {\n const {\n className,\n children, // unused, using \"dots\" instead\n columns,\n ...rest\n } = props;\n\n assertEmpty(rest);\n\n return (\n <div\n className={className}\n style={{ gridColumn: `1 / ${columns + 1}` }}\n ref={ref}>\n {children}\n </div>\n );\n});\n","import { Group as AriakitGroup } from \"@ariakit/react\";\n\nimport { assertEmpty, mergeCSSClasses } from \"@blocknote/core\";\nimport { ComponentProps } from \"@blocknote/react\";\nimport { forwardRef } from \"react\";\n\nexport const SuggestionMenu = forwardRef<\n HTMLDivElement,\n ComponentProps[\"SuggestionMenu\"][\"Root\"]\n>((props, ref) => {\n const { className, children, id, ...rest } = props;\n\n assertEmpty(rest);\n\n return (\n <AriakitGroup\n className={mergeCSSClasses(\"bn-ak-menu\", className || \"\")}\n id={id}\n role=\"listbox\"\n ref={ref}>\n {children}\n </AriakitGroup>\n );\n});\n","import { assertEmpty, mergeCSSClasses } from \"@blocknote/core\";\nimport { ComponentProps } from \"@blocknote/react\";\nimport { forwardRef } from \"react\";\n\nexport const SuggestionMenuEmptyItem = forwardRef<\n HTMLDivElement,\n ComponentProps[\"SuggestionMenu\"][\"EmptyItem\"]\n>((props, ref) => {\n const { className, children, ...rest } = props;\n\n assertEmpty(rest);\n\n return (\n <div\n className={mergeCSSClasses(\"bn-ak-menu-item\", className || \"\")}\n ref={ref}>\n <div className=\"bn-ak-suggestion-menu-item-label\">{children}</div>\n </div>\n );\n});\n","import { assertEmpty, mergeCSSClasses } from \"@blocknote/core\";\nimport { ComponentProps, elementOverflow, mergeRefs } from \"@blocknote/react\";\nimport { forwardRef, useEffect, useRef } from \"react\";\n\nexport const SuggestionMenuItem = forwardRef<\n HTMLDivElement,\n ComponentProps[\"SuggestionMenu\"][\"Item\"]\n>((props, ref) => {\n const { className, item, isSelected, onClick, id, ...rest } = props;\n\n assertEmpty(rest);\n\n const itemRef = useRef<HTMLDivElement>(null);\n\n useEffect(() => {\n if (!itemRef.current || !isSelected) {\n return;\n }\n\n const overflow = elementOverflow(\n itemRef.current,\n document.querySelector(\".bn-suggestion-menu\")!\n );\n\n if (overflow === \"top\") {\n itemRef.current.scrollIntoView(true);\n } else if (overflow === \"bottom\") {\n itemRef.current.scrollIntoView(false);\n }\n }, [isSelected]);\n\n return (\n <div\n className={mergeCSSClasses(\"bn-ak-menu-item\", className || \"\")}\n ref={mergeRefs([ref, itemRef])}\n id={id}\n onClick={onClick}\n role=\"option\"\n aria-selected={isSelected || undefined}>\n {item.icon && (\n <div\n className=\"bn-ak-suggestion-menu-item-section\"\n data-position=\"left\">\n {item.icon}\n </div>\n )}\n <div className=\"bn-ak-suggestion-menu-item-body\">\n <div className=\"bn-ak-suggestion-menu-item-title\">{item.title}</div>\n <div className=\"bn-ak-suggestion-menu-item-subtitle\">\n {item.subtext}\n </div>\n </div>\n {item.badge && (\n <div\n data-position=\"right\"\n className=\"bn-ak-suggestion-menu-item-section\">\n <div>{item.badge}</div>\n </div>\n )}\n </div>\n );\n});\n","import { assertEmpty, mergeCSSClasses } from \"@blocknote/core\";\nimport { ComponentProps } from \"@blocknote/react\";\nimport { forwardRef } from \"react\";\n\nexport const SuggestionMenuLabel = forwardRef<\n HTMLDivElement,\n ComponentProps[\"SuggestionMenu\"][\"Label\"]\n>((props, ref) => {\n const { className, children, ...rest } = props;\n\n assertEmpty(rest);\n\n return (\n <div\n className={mergeCSSClasses(\"bn-ak-group-label\", className || \"\")}\n ref={ref}>\n {children}\n </div>\n );\n});\n","import { assertEmpty } from \"@blocknote/core\";\nimport { ComponentProps } from \"@blocknote/react\";\nimport { forwardRef } from \"react\";\n\nexport const SuggestionMenuLoader = forwardRef<\n HTMLDivElement,\n ComponentProps[\"SuggestionMenu\"][\"Loader\"]\n>((props, ref) => {\n const { className, children, ...rest } = props;\n\n assertEmpty(rest);\n\n return (\n <div className={className} ref={ref}>\n {children}\n </div>\n );\n});\n","import { Button as AriakitButton } from \"@ariakit/react\";\n\nimport { assertEmpty, mergeCSSClasses } from \"@blocknote/core\";\nimport { ComponentProps } from \"@blocknote/react\";\nimport { forwardRef } from \"react\";\n\nexport const ExtendButton = forwardRef<\n HTMLButtonElement,\n ComponentProps[\"TableHandle\"][\"ExtendButton\"]\n>((props, ref) => {\n const { children, className, onMouseDown, onClick, ...rest } = props;\n\n // false, because rest props can be added by mantine when button is used as a trigger\n // assertEmpty in this case is only used at typescript level, not runtime level\n assertEmpty(rest, false);\n\n return (\n <AriakitButton\n className={mergeCSSClasses(\n \"bn-ak-button bn-ak-secondary\",\n className || \"\"\n )}\n ref={ref}\n onMouseDown={onMouseDown}\n onClick={onClick}\n {...rest}>\n {children}\n </AriakitButton>\n );\n});\n","import { Button as AriakitButton } from \"@ariakit/react\";\n\nimport { assertEmpty, mergeCSSClasses } from \"@blocknote/core\";\nimport { ComponentProps } from \"@blocknote/react\";\nimport { forwardRef } from \"react\";\n\nexport const TableHandle = forwardRef<\n HTMLButtonElement,\n ComponentProps[\"TableHandle\"][\"Root\"]\n>((props, ref) => {\n const {\n className,\n children,\n draggable,\n onDragStart,\n onDragEnd,\n style,\n label,\n ...rest\n } = props;\n\n // false, because rest props can be added by ariakit when button is used as a trigger\n // assertEmpty in this case is only used at typescript level, not runtime level\n assertEmpty(rest, false);\n\n return (\n <AriakitButton\n className={mergeCSSClasses(\n \"bn-ak-button bn-ak-secondary\",\n className || \"\"\n )}\n ref={ref}\n aria-label={label}\n draggable={draggable}\n onDragStart={onDragStart}\n onDragEnd={onDragEnd}\n style={style}\n {...rest}>\n {children}\n </AriakitButton>\n );\n});\n","import { Toolbar as AriakitToolbar } from \"@ariakit/react\";\n\nimport { assertEmpty, mergeCSSClasses } from \"@blocknote/core\";\nimport { ComponentProps } from \"@blocknote/react\";\nimport { forwardRef } from \"react\";\n\ntype ToolbarProps = ComponentProps[\"FormattingToolbar\"][\"Root\"] &\n ComponentProps[\"LinkToolbar\"][\"Root\"];\n\nexport const Toolbar = forwardRef<HTMLDivElement, ToolbarProps>(\n (props, ref) => {\n const { className, children, onMouseEnter, onMouseLeave, ...rest } = props;\n\n assertEmpty(rest);\n\n return (\n <AriakitToolbar\n className={mergeCSSClasses(\"bn-ak-toolbar\", className || \"\")}\n ref={ref}\n onMouseEnter={onMouseEnter}\n onMouseLeave={onMouseLeave}>\n {children}\n </AriakitToolbar>\n );\n }\n);\n","import {\n Tooltip as AriakitTooltip,\n TooltipAnchor as AriakitTooltipAnchor,\n ToolbarItem as AriakitToolbarItem,\n TooltipProvider as AriakitTooltipProvider,\n} from \"@ariakit/react\";\n\nimport { assertEmpty, isSafari, mergeCSSClasses } from \"@blocknote/core\";\nimport { ComponentProps } from \"@blocknote/react\";\nimport { forwardRef } from \"react\";\n\ntype ToolbarButtonProps = ComponentProps[\"FormattingToolbar\"][\"Button\"] &\n ComponentProps[\"LinkToolbar\"][\"Button\"];\n\n/**\n * Helper for basic buttons that show in the formatting toolbar.\n */\nexport const ToolbarButton = forwardRef<HTMLButtonElement, ToolbarButtonProps>(\n (props, ref) => {\n const {\n className,\n children,\n mainTooltip,\n secondaryTooltip,\n icon,\n isSelected,\n isDisabled,\n onClick,\n label,\n ...rest\n } = props;\n\n // false, because rest props can be added by ariakit when button is used as a trigger\n // assertEmpty in this case is only used at typescript level, not runtime level\n assertEmpty(rest, false);\n\n return (\n <AriakitTooltipProvider>\n <AriakitTooltipAnchor\n className=\"link\"\n render={\n <AriakitToolbarItem\n aria-label={label}\n className={mergeCSSClasses(\n \"bn-ak-button bn-ak-secondary\",\n className || \"\"\n )}\n // Needed as Safari doesn't focus button elements on mouse down\n // unlike other browsers.\n onMouseDown={(e) => {\n if (isSafari()) {\n (e.currentTarget as HTMLButtonElement).focus();\n }\n }}\n onClick={onClick}\n aria-pressed={isSelected}\n data-selected={isSelected ? \"true\" : undefined}\n data-test={\n props.mainTooltip.slice(0, 1).toLowerCase() +\n props.mainTooltip.replace(/\\s+/g, \"\").slice(1)\n }\n // size={\"xs\"}\n disabled={isDisabled || false}\n ref={ref}\n {...rest}>\n {icon}\n {children}\n </AriakitToolbarItem>\n }\n />\n <AriakitTooltip className=\"bn-ak-tooltip\">\n <span>{mainTooltip}</span>\n {secondaryTooltip && <span>{secondaryTooltip}</span>}\n </AriakitTooltip>\n </AriakitTooltipProvider>\n );\n }\n);\n","import {\n Select as AriakitSelect,\n SelectArrow as AriakitSelectArrow,\n SelectItem as AriakitSelectItem,\n SelectItemCheck as AriakitSelectItemCheck,\n SelectPopover as AriakitSelectPopover,\n SelectProvider as AriakitSelectProvider,\n ToolbarItem as AriakitToolbarItem,\n} from \"@ariakit/react\";\n\nimport { assertEmpty, mergeCSSClasses } from \"@blocknote/core\";\nimport { ComponentProps } from \"@blocknote/react\";\nimport { forwardRef } from \"react\";\n\nexport const ToolbarSelect = forwardRef<\n HTMLDivElement,\n ComponentProps[\"FormattingToolbar\"][\"Select\"]\n>((props, ref) => {\n const { className, items, isDisabled, ...rest } = props;\n\n assertEmpty(rest);\n\n const selectedItem = props.items.filter((p) => p.isSelected)[0];\n\n const setValue = (value: string) => {\n items.find((item) => item.text === value)!.onClick?.();\n };\n\n return (\n <AriakitSelectProvider value={selectedItem.text} setValue={setValue}>\n <AriakitSelect\n className={\"bn-ak-button bn-ak-secondary\"}\n disabled={isDisabled}\n aria-label=\"Text alignment\"\n render={<AriakitToolbarItem />}>\n {selectedItem.icon} {selectedItem.text} <AriakitSelectArrow />\n </AriakitSelect>\n <AriakitSelectPopover\n className={mergeCSSClasses(\"bn-ak-popover\", className || \"\")}\n ref={ref}\n gutter={4}>\n {items.map((option) => (\n <AriakitSelectItem\n className={\"bn-ak-select-item\"}\n key={option.text}\n value={option.text}>\n {option.icon}\n {option.text}\n {option.text === selectedItem.text && <AriakitSelectItemCheck />}\n </AriakitSelectItem>\n ))}\n </AriakitSelectPopover>\n </AriakitSelectProvider>\n );\n});\n","import {\n BlockSchema,\n InlineContentSchema,\n mergeCSSClasses,\n StyleSchema,\n} from \"@blocknote/core\";\nimport {\n BlockNoteViewProps,\n BlockNoteViewRaw,\n Components,\n ComponentsContext,\n} from \"@blocknote/react\";\n\nimport { Form } from \"./input/Form.js\";\nimport { TextInput } from \"./input/TextInput.js\";\nimport {\n Menu,\n MenuDivider,\n MenuDropdown,\n MenuItem,\n MenuLabel,\n MenuTrigger,\n} from \"./menu/Menu.js\";\nimport { Panel } from \"./panel/Panel.js\";\nimport { PanelButton } from \"./panel/PanelButton.js\";\nimport { PanelFileInput } from \"./panel/PanelFileInput.js\";\nimport { PanelTab } from \"./panel/PanelTab.js\";\nimport { PanelTextInput } from \"./panel/PanelTextInput.js\";\nimport { Popover, PopoverContent, PopoverTrigger } from \"./popover/Popover.js\";\nimport { SideMenu } from \"./sideMenu/SideMenu.js\";\nimport { SideMenuButton } from \"./sideMenu/SideMenuButton.js\";\nimport { GridSuggestionMenu } from \"./suggestionMenu/gridSuggestionMenu/GridSuggestionMenu.js\";\nimport { GridSuggestionMenuEmptyItem } from \"./suggestionMenu/gridSuggestionMenu/GridSuggestionMenuEmptyItem.js\";\nimport { GridSuggestionMenuItem } from \"./suggestionMenu/gridSuggestionMenu/GridSuggestionMenuItem.js\";\nimport { GridSuggestionMenuLoader } from \"./suggestionMenu/gridSuggestionMenu/GridSuggestionMenuLoader.js\";\nimport { SuggestionMenu } from \"./suggestionMenu/SuggestionMenu.js\";\nimport { SuggestionMenuEmptyItem } from \"./suggestionMenu/SuggestionMenuEmptyItem.js\";\nimport { SuggestionMenuItem } from \"./suggestionMenu/SuggestionMenuItem.js\";\nimport { SuggestionMenuLabel } from \"./suggestionMenu/SuggestionMenuLabel.js\";\nimport { SuggestionMenuLoader } from \"./suggestionMenu/SuggestionMenuLoader.js\";\nimport { ExtendButton } from \"./tableHandle/ExtendButton.js\";\nimport { TableHandle } from \"./tableHandle/TableHandle.js\";\nimport { Toolbar } from \"./toolbar/Toolbar.js\";\nimport { ToolbarButton } from \"./toolbar/ToolbarButton.js\";\nimport { ToolbarSelect } from \"./toolbar/ToolbarSelect.js\";\n\nimport \"./style.css\";\n\nexport const components: Components = {\n FormattingToolbar: {\n Root: Toolbar,\n Button: ToolbarButton,\n Select: ToolbarSelect,\n },\n FilePanel: {\n Root: Panel,\n Button: PanelButton,\n FileInput: PanelFileInput,\n TabPanel: PanelTab,\n TextInput: PanelTextInput,\n },\n GridSuggestionMenu: {\n Root: GridSuggestionMenu,\n Item: GridSuggestionMenuItem,\n EmptyItem: GridSuggestionMenuEmptyItem,\n Loader: GridSuggestionMenuLoader,\n },\n LinkToolbar: {\n Root: Toolbar,\n Button: ToolbarButton,\n },\n SideMenu: {\n Root: SideMenu,\n Button: SideMenuButton,\n },\n SuggestionMenu: {\n Root: SuggestionMenu,\n Item: SuggestionMenuItem,\n EmptyItem: SuggestionMenuEmptyItem,\n Label: SuggestionMenuLabel,\n Loader: SuggestionMenuLoader,\n },\n TableHandle: {\n Root: TableHandle,\n ExtendButton: ExtendButton,\n },\n Generic: {\n Form: {\n Root: Form,\n TextInput: TextInput,\n },\n Menu: {\n Root: Menu,\n Trigger: MenuTrigger,\n Dropdown: MenuDropdown,\n Divider: MenuDivider,\n Label: MenuLabel,\n Item: MenuItem,\n },\n Popover: {\n Root: Popover,\n Trigger: PopoverTrigger,\n Content: PopoverContent,\n },\n },\n};\n\nexport const BlockNoteView = <\n BSchema extends BlockSchema,\n ISchema extends InlineContentSchema,\n SSchema extends StyleSchema\n>(\n props: BlockNoteViewProps<BSchema, ISchema, SSchema>\n) => {\n const { className, ...rest } = props;\n\n return (\n <ComponentsContext.Provider value={components}>\n <BlockNoteViewRaw\n className={mergeCSSClasses(\"bn-ariakit\", className || \"\")}\n {...rest}\n />\n </ComponentsContext.Provider>\n );\n};\n"],"names":["Form","props","children","rest","assertEmpty","jsx","AriakitFormProvider","TextInput","forwardRef","ref","className","name","label","icon","value","autoFocus","placeholder","onKeyDown","onChange","onSubmit","jsxs","Fragment","AriakitFormLabel","AriakitFormInput","mergeCSSClasses","Menu","onOpenChange","position","sub","AriakitMenuProvider","MenuDropdown","AriakitMenu","MenuItem","checked","subTrigger","onClick","AriakitMenuButton","AriakitMenuItem","AriakitMenuButtonArrow","AriakitCheckboxCheck","MenuLabel","AriakitMenuGroupLabel","MenuTrigger","MenuDivider","AriakitMenuSeparator","Panel","tabs","defaultOpenTab","openTab","setOpenTab","loading","AriakitTabProvider","activeId","AriakitTabList","tab","AriakitTab","AriakitTabPanel","PanelButton","AriakitButton","PanelFileInput","accept","e","PanelTab","PanelTextInput","PopoverTrigger","AriakitPopoverDisclosure","PopoverContent","variant","AriakitPopover","Popover","opened","AriakitPopoverProvider","SideMenu","AriakitGroup","SideMenuButton","onDragEnd","onDragStart","draggable","GridSuggestionMenu","id","columns","GridSuggestionMenuEmptyItem","GridSuggestionMenuItem","isSelected","item","itemRef","useRef","useEffect","overflow","elementOverflow","mergeRefs","GridSuggestionMenuLoader","SuggestionMenu","SuggestionMenuEmptyItem","SuggestionMenuItem","SuggestionMenuLabel","SuggestionMenuLoader","ExtendButton","onMouseDown","TableHandle","style","Toolbar","onMouseEnter","onMouseLeave","AriakitToolbar","ToolbarButton","mainTooltip","secondaryTooltip","isDisabled","AriakitTooltipProvider","AriakitTooltipAnchor","AriakitToolbarItem","isSafari","AriakitTooltip","ToolbarSelect","items","selectedItem","p","setValue","_b","_a","AriakitSelectProvider","AriakitSelect","AriakitSelectArrow","AriakitSelectPopover","option","AriakitSelectItem","AriakitSelectItemCheck","components","BlockNoteView","ComponentsContext","BlockNoteViewRaw"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"blocknote-ariakit.js","sources":["../src/input/Form.tsx","../src/input/TextInput.tsx","../src/menu/Menu.tsx","../src/panel/Panel.tsx","../src/panel/PanelButton.tsx","../src/panel/PanelFileInput.tsx","../src/panel/PanelTab.tsx","../src/panel/PanelTextInput.tsx","../src/popover/Popover.tsx","../src/sideMenu/SideMenu.tsx","../src/sideMenu/SideMenuButton.tsx","../src/suggestionMenu/gridSuggestionMenu/GridSuggestionMenu.tsx","../src/suggestionMenu/gridSuggestionMenu/GridSuggestionMenuEmptyItem.tsx","../src/suggestionMenu/gridSuggestionMenu/GridSuggestionMenuItem.tsx","../src/suggestionMenu/gridSuggestionMenu/GridSuggestionMenuLoader.tsx","../src/suggestionMenu/SuggestionMenu.tsx","../src/suggestionMenu/SuggestionMenuEmptyItem.tsx","../src/suggestionMenu/SuggestionMenuItem.tsx","../src/suggestionMenu/SuggestionMenuLabel.tsx","../src/suggestionMenu/SuggestionMenuLoader.tsx","../src/tableHandle/ExtendButton.tsx","../src/tableHandle/TableHandle.tsx","../src/toolbar/Toolbar.tsx","../src/toolbar/ToolbarButton.tsx","../src/toolbar/ToolbarSelect.tsx","../src/components.ts","../src/BlockNoteView.tsx"],"sourcesContent":["import { FormProvider as AriakitFormProvider } from \"@ariakit/react\";\n\nimport { assertEmpty } from \"@blocknote/core\";\nimport { ComponentProps } from \"@blocknote/react\";\n\nexport const Form = (props: ComponentProps[\"Generic\"][\"Form\"][\"Root\"]) => {\n const { children, ...rest } = props;\n\n assertEmpty(rest);\n\n return <AriakitFormProvider>{children}</AriakitFormProvider>;\n};\n","import {\n FormInput as AriakitFormInput,\n FormLabel as AriakitFormLabel,\n} from \"@ariakit/react\";\n\nimport { assertEmpty, mergeCSSClasses } from \"@blocknote/core\";\nimport { ComponentProps } from \"@blocknote/react\";\nimport { forwardRef } from \"react\";\n\nexport const TextInput = forwardRef<\n HTMLInputElement,\n ComponentProps[\"Generic\"][\"Form\"][\"TextInput\"]\n>((props, ref) => {\n const {\n className,\n name,\n label,\n icon,\n value,\n autoFocus,\n placeholder,\n onKeyDown,\n onChange,\n onSubmit,\n ...rest\n } = props;\n\n assertEmpty(rest);\n\n return (\n <>\n {props.label && <AriakitFormLabel name={name}>{label}</AriakitFormLabel>}\n <div className=\"bn-ak-input-wrapper\">\n {icon}\n <AriakitFormInput\n className={mergeCSSClasses(\"bn-ak-input\", className || \"\")}\n ref={ref}\n name={name}\n value={value}\n autoFocus={autoFocus}\n placeholder={placeholder}\n onKeyDown={onKeyDown}\n onChange={onChange}\n onSubmit={onSubmit}\n />\n </div>\n </>\n );\n});\n","import {\n CheckboxCheck as AriakitCheckboxCheck,\n Menu as AriakitMenu,\n MenuButton as AriakitMenuButton,\n MenuButtonArrow as AriakitMenuButtonArrow,\n MenuGroupLabel as AriakitMenuGroupLabel,\n MenuItem as AriakitMenuItem,\n MenuProvider as AriakitMenuProvider,\n MenuSeparator as AriakitMenuSeparator,\n} from \"@ariakit/react\";\n\nimport { assertEmpty, mergeCSSClasses } from \"@blocknote/core\";\nimport { ComponentProps } from \"@blocknote/react\";\nimport { forwardRef } from \"react\";\n\nexport const Menu = (props: ComponentProps[\"Generic\"][\"Menu\"][\"Root\"]) => {\n const {\n children,\n onOpenChange,\n position,\n sub, // unused\n ...rest\n } = props;\n\n assertEmpty(rest);\n\n return (\n <AriakitMenuProvider\n placement={position}\n setOpen={onOpenChange}\n virtualFocus={true}>\n {children}\n </AriakitMenuProvider>\n );\n};\n\nexport const MenuDropdown = forwardRef<\n HTMLDivElement,\n ComponentProps[\"Generic\"][\"Menu\"][\"Dropdown\"]\n>((props, ref) => {\n const {\n className,\n children,\n sub, // unused\n ...rest\n } = props;\n\n assertEmpty(rest);\n\n return (\n <AriakitMenu\n unmountOnHide={true}\n className={mergeCSSClasses(\"bn-ak-menu\", className || \"\")}\n ref={ref}>\n {children}\n </AriakitMenu>\n );\n});\n\nexport const MenuItem = forwardRef<\n HTMLDivElement,\n ComponentProps[\"Generic\"][\"Menu\"][\"Item\"]\n>((props, ref) => {\n const { className, children, icon, checked, subTrigger, onClick, ...rest } =\n props;\n\n assertEmpty(rest);\n\n if (subTrigger) {\n return (\n <AriakitMenuButton\n render={<AriakitMenuItem />}\n className={mergeCSSClasses(\"bn-ak-menu-item\", className || \"\")}\n ref={ref}\n onClick={onClick}>\n {icon}\n {children}\n <AriakitMenuButtonArrow />\n {checked !== undefined && <AriakitCheckboxCheck checked={checked} />}\n </AriakitMenuButton>\n );\n }\n return (\n <AriakitMenuItem\n className={mergeCSSClasses(\"bn-ak-menu-item\", className || \"\")}\n ref={ref}\n onClick={onClick}>\n {icon}\n {children}\n {checked !== undefined && <AriakitCheckboxCheck checked={checked} />}\n </AriakitMenuItem>\n );\n});\n\nexport const MenuLabel = forwardRef<\n HTMLDivElement,\n ComponentProps[\"Generic\"][\"Menu\"][\"Label\"]\n>((props, ref) => {\n const { className, children, ...rest } = props;\n\n assertEmpty(rest);\n\n return (\n <AriakitMenuGroupLabel\n className={mergeCSSClasses(\"bn-ak-group-label\", className || \"\")}\n ref={ref}>\n {children}\n </AriakitMenuGroupLabel>\n );\n});\n\nexport const MenuTrigger = (\n props: ComponentProps[\"Generic\"][\"Menu\"][\"Trigger\"]\n) => {\n const { children, sub, ...rest } = props;\n\n assertEmpty(rest);\n\n if (sub) {\n return children;\n }\n\n return <AriakitMenuButton render={children as any}></AriakitMenuButton>;\n};\n\nexport const MenuDivider = forwardRef<\n HTMLHRElement,\n ComponentProps[\"Generic\"][\"Menu\"][\"Divider\"]\n>((props, ref) => {\n const { className, ...rest } = props;\n\n assertEmpty(rest);\n\n return (\n <AriakitMenuSeparator\n className={mergeCSSClasses(\"bn-ak-separator\", className || \"\")}\n ref={ref}\n />\n );\n});\n","import {\n Tab as AriakitTab,\n TabList as AriakitTabList,\n TabPanel as AriakitTabPanel,\n TabProvider as AriakitTabProvider,\n} from \"@ariakit/react\";\n\nimport { assertEmpty, mergeCSSClasses } from \"@blocknote/core\";\nimport { ComponentProps } from \"@blocknote/react\";\nimport { forwardRef } from \"react\";\n\nexport const Panel = forwardRef<\n HTMLDivElement,\n ComponentProps[\"FilePanel\"][\"Root\"]\n>((props, ref) => {\n const {\n className,\n tabs,\n defaultOpenTab,\n openTab,\n setOpenTab,\n loading, // TODO: implement loading\n ...rest\n } = props;\n assertEmpty(rest);\n\n return (\n <div\n className={mergeCSSClasses(\"bn-ak-wrapper\", className || \"\")}\n ref={ref}>\n <AriakitTabProvider\n defaultSelectedId={defaultOpenTab}\n selectedId={openTab}\n setActiveId={(activeId) => {\n if (activeId) {\n setOpenTab(activeId);\n }\n }}>\n {/*{loading && <LoadingOverlay visible={loading} />}*/}\n\n <AriakitTabList className={\"bn-ak-tab-list\"}>\n {tabs.map((tab) => (\n <AriakitTab className={\"bn-ak-tab\"} id={tab.name} key={tab.name}>\n {tab.name}\n </AriakitTab>\n ))}\n </AriakitTabList>\n\n <div className={\"bn-ak-panels\"}>\n {tabs.map((tab) => (\n <AriakitTabPanel tabId={tab.name} key={tab.name}>\n {tab.tabPanel}\n </AriakitTabPanel>\n ))}\n </div>\n </AriakitTabProvider>\n </div>\n );\n});\n","import { Button as AriakitButton } from \"@ariakit/react\";\n\nimport { assertEmpty, mergeCSSClasses } from \"@blocknote/core\";\nimport { ComponentProps } from \"@blocknote/react\";\nimport { forwardRef } from \"react\";\n\nexport const PanelButton = forwardRef<\n HTMLButtonElement,\n ComponentProps[\"FilePanel\"][\"Button\"]\n>((props, ref) => {\n const { className, children, onClick, label, ...rest } = props;\n\n assertEmpty(rest);\n\n return (\n <AriakitButton\n className={mergeCSSClasses(\"bn-ak-button\", className || \"\")}\n onClick={onClick}\n aria-label={label}\n ref={ref}>\n {children}\n </AriakitButton>\n );\n});\n","import {\n FormInput as AriakitFormInput,\n FormProvider as AriakitFormProvider,\n} from \"@ariakit/react\";\n\nimport { assertEmpty } from \"@blocknote/core\";\nimport { ComponentProps } from \"@blocknote/react\";\nimport { forwardRef } from \"react\";\n\nexport const PanelFileInput = forwardRef<\n HTMLInputElement,\n ComponentProps[\"FilePanel\"][\"FileInput\"]\n>((props, ref) => {\n const { className, accept, value, placeholder, onChange, ...rest } = props;\n\n assertEmpty(rest);\n\n return (\n <AriakitFormProvider>\n <AriakitFormInput\n className={className}\n ref={ref}\n name={\"panel-input\"}\n type={\"file\"}\n accept={accept}\n value={value ? value.name : undefined}\n onChange={async (e) => onChange?.(e.target.files![0])}\n placeholder={placeholder}\n />\n </AriakitFormProvider>\n );\n});\n","import { assertEmpty } from \"@blocknote/core\";\nimport { ComponentProps } from \"@blocknote/react\";\nimport { forwardRef } from \"react\";\n\nexport const PanelTab = forwardRef<\n HTMLDivElement,\n ComponentProps[\"FilePanel\"][\"TabPanel\"]\n>((props, ref) => {\n const { className, children, ...rest } = props;\n\n assertEmpty(rest);\n\n return (\n <div className={className} ref={ref}>\n {children}\n </div>\n );\n});\n","import {\n FormInput as AriakitFormInput,\n FormProvider as AriakitFormProvider,\n} from \"@ariakit/react\";\n\nimport { assertEmpty, mergeCSSClasses } from \"@blocknote/core\";\nimport { ComponentProps } from \"@blocknote/react\";\nimport { forwardRef } from \"react\";\n\nexport const PanelTextInput = forwardRef<\n HTMLInputElement,\n ComponentProps[\"FilePanel\"][\"TextInput\"]\n>((props, ref) => {\n const { className, value, placeholder, onKeyDown, onChange, ...rest } = props;\n\n assertEmpty(rest);\n\n return (\n <AriakitFormProvider>\n <AriakitFormInput\n className={mergeCSSClasses(\"bn-ak-input\", className || \"\")}\n name={\"panel-input\"}\n value={value}\n placeholder={placeholder}\n onChange={onChange}\n onKeyDown={onKeyDown}\n data-test={\"embed-input\"}\n ref={ref}\n />\n </AriakitFormProvider>\n );\n});\n","import {\n Popover as AriakitPopover,\n PopoverDisclosure as AriakitPopoverDisclosure,\n PopoverProvider as AriakitPopoverProvider,\n} from \"@ariakit/react\";\n\nimport { assertEmpty, mergeCSSClasses } from \"@blocknote/core\";\nimport { ComponentProps } from \"@blocknote/react\";\nimport { forwardRef } from \"react\";\n\nexport const PopoverTrigger = forwardRef<\n HTMLButtonElement,\n ComponentProps[\"Generic\"][\"Popover\"][\"Trigger\"]\n>((props, ref) => {\n const { children, ...rest } = props;\n\n assertEmpty(rest);\n\n return <AriakitPopoverDisclosure render={children as any} ref={ref} />;\n});\n\nexport const PopoverContent = forwardRef<\n HTMLDivElement,\n ComponentProps[\"Generic\"][\"Popover\"][\"Content\"]\n>((props, ref) => {\n const { className, children, variant, ...rest } = props;\n\n assertEmpty(rest);\n\n return (\n <AriakitPopover\n className={mergeCSSClasses(\"bn-ak-popover\", className || \"\")}\n ref={ref}>\n {children}\n </AriakitPopover>\n );\n});\n\nexport const Popover = (\n props: ComponentProps[\"Generic\"][\"Popover\"][\"Root\"]\n) => {\n const { children, opened, position, ...rest } = props;\n\n assertEmpty(rest);\n\n return (\n <AriakitPopoverProvider open={opened} placement={position}>\n {children}\n </AriakitPopoverProvider>\n );\n};\n","import { Group as AriakitGroup } from \"@ariakit/react\";\n\nimport { assertEmpty } from \"@blocknote/core\";\nimport { ComponentProps } from \"@blocknote/react\";\nimport { forwardRef } from \"react\";\n\nexport const SideMenu = forwardRef<\n HTMLDivElement,\n ComponentProps[\"SideMenu\"][\"Root\"]\n>((props, ref) => {\n const { className, children, ...rest } = props;\n\n assertEmpty(rest, false);\n\n return (\n <AriakitGroup className={className} ref={ref} {...rest}>\n {children}\n </AriakitGroup>\n );\n});\n","import { Button as AriakitButton } from \"@ariakit/react\";\n\nimport { assertEmpty, mergeCSSClasses } from \"@blocknote/core\";\nimport { ComponentProps } from \"@blocknote/react\";\nimport { forwardRef } from \"react\";\n\nexport const SideMenuButton = forwardRef<\n HTMLButtonElement,\n ComponentProps[\"SideMenu\"][\"Button\"]\n>((props, ref) => {\n const {\n className,\n children,\n icon,\n onClick,\n label,\n onDragEnd,\n onDragStart,\n draggable,\n ...rest\n } = props;\n\n // false, because rest props can be added by ariakit when button is used as a trigger\n // assertEmpty in this case is only used at typescript level, not runtime level\n assertEmpty(rest, false);\n\n return (\n <AriakitButton\n onDragEnd={onDragEnd}\n onDragStart={onDragStart}\n draggable={draggable}\n aria-label={label}\n className={mergeCSSClasses(\n \"bn-ak-button bn-ak-secondary\",\n className || \"\"\n )}\n ref={ref}\n onClick={onClick}\n {...rest}>\n {icon}\n {children}\n </AriakitButton>\n );\n});\n","import { assertEmpty } from \"@blocknote/core\";\nimport { ComponentProps } from \"@blocknote/react\";\nimport { forwardRef } from \"react\";\n\nexport const GridSuggestionMenu = forwardRef<\n HTMLDivElement,\n ComponentProps[\"GridSuggestionMenu\"][\"Root\"]\n>((props, ref) => {\n const { className, children, id, columns, ...rest } = props;\n\n assertEmpty(rest);\n\n return (\n <div\n className={className}\n style={{ gridTemplateColumns: `repeat(${columns}, 1fr)` } as any}\n ref={ref}\n id={id}\n role=\"grid\">\n {children}\n </div>\n );\n});\n","import { assertEmpty, mergeCSSClasses } from \"@blocknote/core\";\nimport { ComponentProps } from \"@blocknote/react\";\nimport { forwardRef } from \"react\";\n\nexport const GridSuggestionMenuEmptyItem = forwardRef<\n HTMLDivElement,\n ComponentProps[\"GridSuggestionMenu\"][\"EmptyItem\"]\n>((props, ref) => {\n const { className, children, columns, ...rest } = props;\n\n assertEmpty(rest);\n\n return (\n <div\n className={mergeCSSClasses(\"bn-ak-menu-item\", className || \"\")}\n style={{ gridColumn: `1 / ${columns + 1}` }}\n ref={ref}>\n <div className=\"bn-ak-suggestion-menu-item-label\">{children}</div>\n </div>\n );\n});\n","import { assertEmpty } from \"@blocknote/core\";\nimport { ComponentProps, elementOverflow, mergeRefs } from \"@blocknote/react\";\nimport { forwardRef, useEffect, useRef } from \"react\";\n\nexport const GridSuggestionMenuItem = forwardRef<\n HTMLDivElement,\n ComponentProps[\"GridSuggestionMenu\"][\"Item\"]\n>((props, ref) => {\n const { className, isSelected, onClick, item, id, ...rest } = props;\n\n assertEmpty(rest);\n\n const itemRef = useRef<HTMLDivElement>(null);\n\n useEffect(() => {\n if (!itemRef.current || !isSelected) {\n return;\n }\n\n const overflow = elementOverflow(\n itemRef.current,\n document.querySelector(\".bn-grid-suggestion-menu\")!\n );\n\n if (overflow === \"top\") {\n itemRef.current.scrollIntoView(true);\n } else if (overflow === \"bottom\") {\n itemRef.current.scrollIntoView(false);\n }\n }, [isSelected]);\n\n return (\n <div\n className={className}\n ref={mergeRefs([ref, itemRef])}\n id={id}\n role=\"option\"\n onClick={onClick}\n aria-selected={isSelected || undefined}>\n {item.icon}\n </div>\n );\n});\n","import { assertEmpty } from \"@blocknote/core\";\nimport { ComponentProps } from \"@blocknote/react\";\nimport { forwardRef } from \"react\";\n\nexport const GridSuggestionMenuLoader = forwardRef<\n HTMLDivElement,\n ComponentProps[\"GridSuggestionMenu\"][\"Loader\"]\n>((props, ref) => {\n const {\n className,\n children, // unused, using \"dots\" instead\n columns,\n ...rest\n } = props;\n\n assertEmpty(rest);\n\n return (\n <div\n className={className}\n style={{ gridColumn: `1 / ${columns + 1}` }}\n ref={ref}>\n {children}\n </div>\n );\n});\n","import { Group as AriakitGroup } from \"@ariakit/react\";\n\nimport { assertEmpty, mergeCSSClasses } from \"@blocknote/core\";\nimport { ComponentProps } from \"@blocknote/react\";\nimport { forwardRef } from \"react\";\n\nexport const SuggestionMenu = forwardRef<\n HTMLDivElement,\n ComponentProps[\"SuggestionMenu\"][\"Root\"]\n>((props, ref) => {\n const { className, children, id, ...rest } = props;\n\n assertEmpty(rest);\n\n return (\n <AriakitGroup\n className={mergeCSSClasses(\"bn-ak-menu\", className || \"\")}\n id={id}\n role=\"listbox\"\n ref={ref}>\n {children}\n </AriakitGroup>\n );\n});\n","import { assertEmpty, mergeCSSClasses } from \"@blocknote/core\";\nimport { ComponentProps } from \"@blocknote/react\";\nimport { forwardRef } from \"react\";\n\nexport const SuggestionMenuEmptyItem = forwardRef<\n HTMLDivElement,\n ComponentProps[\"SuggestionMenu\"][\"EmptyItem\"]\n>((props, ref) => {\n const { className, children, ...rest } = props;\n\n assertEmpty(rest);\n\n return (\n <div\n className={mergeCSSClasses(\"bn-ak-menu-item\", className || \"\")}\n ref={ref}>\n <div className=\"bn-ak-suggestion-menu-item-label\">{children}</div>\n </div>\n );\n});\n","import { assertEmpty, mergeCSSClasses } from \"@blocknote/core\";\nimport { ComponentProps, elementOverflow, mergeRefs } from \"@blocknote/react\";\nimport { forwardRef, useEffect, useRef } from \"react\";\n\nexport const SuggestionMenuItem = forwardRef<\n HTMLDivElement,\n ComponentProps[\"SuggestionMenu\"][\"Item\"]\n>((props, ref) => {\n const { className, item, isSelected, onClick, id, ...rest } = props;\n\n assertEmpty(rest);\n\n const itemRef = useRef<HTMLDivElement>(null);\n\n useEffect(() => {\n if (!itemRef.current || !isSelected) {\n return;\n }\n\n const overflow = elementOverflow(\n itemRef.current,\n document.querySelector(\".bn-suggestion-menu\")!\n );\n\n if (overflow === \"top\") {\n itemRef.current.scrollIntoView(true);\n } else if (overflow === \"bottom\") {\n itemRef.current.scrollIntoView(false);\n }\n }, [isSelected]);\n\n return (\n <div\n className={mergeCSSClasses(\"bn-ak-menu-item\", className || \"\")}\n ref={mergeRefs([ref, itemRef])}\n id={id}\n onClick={onClick}\n role=\"option\"\n aria-selected={isSelected || undefined}>\n {item.icon && (\n <div\n className=\"bn-ak-suggestion-menu-item-section\"\n data-position=\"left\">\n {item.icon}\n </div>\n )}\n <div className=\"bn-ak-suggestion-menu-item-body\">\n <div className=\"bn-ak-suggestion-menu-item-title\">{item.title}</div>\n <div className=\"bn-ak-suggestion-menu-item-subtitle\">\n {item.subtext}\n </div>\n </div>\n {item.badge && (\n <div\n data-position=\"right\"\n className=\"bn-ak-suggestion-menu-item-section\">\n <div>{item.badge}</div>\n </div>\n )}\n </div>\n );\n});\n","import { assertEmpty, mergeCSSClasses } from \"@blocknote/core\";\nimport { ComponentProps } from \"@blocknote/react\";\nimport { forwardRef } from \"react\";\n\nexport const SuggestionMenuLabel = forwardRef<\n HTMLDivElement,\n ComponentProps[\"SuggestionMenu\"][\"Label\"]\n>((props, ref) => {\n const { className, children, ...rest } = props;\n\n assertEmpty(rest);\n\n return (\n <div\n className={mergeCSSClasses(\"bn-ak-group-label\", className || \"\")}\n ref={ref}>\n {children}\n </div>\n );\n});\n","import { assertEmpty } from \"@blocknote/core\";\nimport { ComponentProps } from \"@blocknote/react\";\nimport { forwardRef } from \"react\";\n\nexport const SuggestionMenuLoader = forwardRef<\n HTMLDivElement,\n ComponentProps[\"SuggestionMenu\"][\"Loader\"]\n>((props, ref) => {\n const { className, children, ...rest } = props;\n\n assertEmpty(rest);\n\n return (\n <div className={className} ref={ref}>\n {children}\n </div>\n );\n});\n","import { Button as AriakitButton } from \"@ariakit/react\";\n\nimport { assertEmpty, mergeCSSClasses } from \"@blocknote/core\";\nimport { ComponentProps } from \"@blocknote/react\";\nimport { forwardRef } from \"react\";\n\nexport const ExtendButton = forwardRef<\n HTMLButtonElement,\n ComponentProps[\"TableHandle\"][\"ExtendButton\"]\n>((props, ref) => {\n const { children, className, onMouseDown, onClick, ...rest } = props;\n\n // false, because rest props can be added by mantine when button is used as a trigger\n // assertEmpty in this case is only used at typescript level, not runtime level\n assertEmpty(rest, false);\n\n return (\n <AriakitButton\n className={mergeCSSClasses(\n \"bn-ak-button bn-ak-secondary\",\n className || \"\"\n )}\n ref={ref}\n onMouseDown={onMouseDown}\n onClick={onClick}\n {...rest}>\n {children}\n </AriakitButton>\n );\n});\n","import { Button as AriakitButton } from \"@ariakit/react\";\n\nimport { assertEmpty, mergeCSSClasses } from \"@blocknote/core\";\nimport { ComponentProps } from \"@blocknote/react\";\nimport { forwardRef } from \"react\";\n\nexport const TableHandle = forwardRef<\n HTMLButtonElement,\n ComponentProps[\"TableHandle\"][\"Root\"]\n>((props, ref) => {\n const {\n className,\n children,\n draggable,\n onDragStart,\n onDragEnd,\n style,\n label,\n ...rest\n } = props;\n\n // false, because rest props can be added by ariakit when button is used as a trigger\n // assertEmpty in this case is only used at typescript level, not runtime level\n assertEmpty(rest, false);\n\n return (\n <AriakitButton\n className={mergeCSSClasses(\n \"bn-ak-button bn-ak-secondary\",\n className || \"\"\n )}\n ref={ref}\n aria-label={label}\n draggable={draggable}\n onDragStart={onDragStart}\n onDragEnd={onDragEnd}\n style={style}\n {...rest}>\n {children}\n </AriakitButton>\n );\n});\n","import { Toolbar as AriakitToolbar } from \"@ariakit/react\";\n\nimport { assertEmpty, mergeCSSClasses } from \"@blocknote/core\";\nimport { ComponentProps } from \"@blocknote/react\";\nimport { forwardRef } from \"react\";\n\ntype ToolbarProps = ComponentProps[\"FormattingToolbar\"][\"Root\"] &\n ComponentProps[\"LinkToolbar\"][\"Root\"];\n\nexport const Toolbar = forwardRef<HTMLDivElement, ToolbarProps>(\n (props, ref) => {\n const { className, children, onMouseEnter, onMouseLeave, ...rest } = props;\n\n assertEmpty(rest);\n\n return (\n <AriakitToolbar\n className={mergeCSSClasses(\"bn-ak-toolbar\", className || \"\")}\n ref={ref}\n onMouseEnter={onMouseEnter}\n onMouseLeave={onMouseLeave}>\n {children}\n </AriakitToolbar>\n );\n }\n);\n","import {\n Tooltip as AriakitTooltip,\n TooltipAnchor as AriakitTooltipAnchor,\n ToolbarItem as AriakitToolbarItem,\n TooltipProvider as AriakitTooltipProvider,\n} from \"@ariakit/react\";\n\nimport { assertEmpty, isSafari, mergeCSSClasses } from \"@blocknote/core\";\nimport { ComponentProps } from \"@blocknote/react\";\nimport { forwardRef } from \"react\";\n\ntype ToolbarButtonProps = ComponentProps[\"FormattingToolbar\"][\"Button\"] &\n ComponentProps[\"LinkToolbar\"][\"Button\"];\n\n/**\n * Helper for basic buttons that show in the formatting toolbar.\n */\nexport const ToolbarButton = forwardRef<HTMLButtonElement, ToolbarButtonProps>(\n (props, ref) => {\n const {\n className,\n children,\n mainTooltip,\n secondaryTooltip,\n icon,\n isSelected,\n isDisabled,\n onClick,\n label,\n ...rest\n } = props;\n\n // false, because rest props can be added by ariakit when button is used as a trigger\n // assertEmpty in this case is only used at typescript level, not runtime level\n assertEmpty(rest, false);\n\n return (\n <AriakitTooltipProvider>\n <AriakitTooltipAnchor\n className=\"link\"\n render={\n <AriakitToolbarItem\n aria-label={label}\n className={mergeCSSClasses(\n \"bn-ak-button bn-ak-secondary\",\n className || \"\"\n )}\n // Needed as Safari doesn't focus button elements on mouse down\n // unlike other browsers.\n onMouseDown={(e) => {\n if (isSafari()) {\n (e.currentTarget as HTMLButtonElement).focus();\n }\n }}\n onClick={onClick}\n aria-pressed={isSelected}\n data-selected={isSelected ? \"true\" : undefined}\n data-test={\n props.mainTooltip.slice(0, 1).toLowerCase() +\n props.mainTooltip.replace(/\\s+/g, \"\").slice(1)\n }\n // size={\"xs\"}\n disabled={isDisabled || false}\n ref={ref}\n {...rest}>\n {icon}\n {children}\n </AriakitToolbarItem>\n }\n />\n <AriakitTooltip className=\"bn-ak-tooltip\">\n <span>{mainTooltip}</span>\n {secondaryTooltip && <span>{secondaryTooltip}</span>}\n </AriakitTooltip>\n </AriakitTooltipProvider>\n );\n }\n);\n","import {\n Select as AriakitSelect,\n SelectArrow as AriakitSelectArrow,\n SelectItem as AriakitSelectItem,\n SelectItemCheck as AriakitSelectItemCheck,\n SelectPopover as AriakitSelectPopover,\n SelectProvider as AriakitSelectProvider,\n ToolbarItem as AriakitToolbarItem,\n} from \"@ariakit/react\";\n\nimport { assertEmpty, mergeCSSClasses } from \"@blocknote/core\";\nimport { ComponentProps } from \"@blocknote/react\";\nimport { forwardRef } from \"react\";\n\nexport const ToolbarSelect = forwardRef<\n HTMLDivElement,\n ComponentProps[\"FormattingToolbar\"][\"Select\"]\n>((props, ref) => {\n const { className, items, isDisabled, ...rest } = props;\n\n assertEmpty(rest);\n\n const selectedItem = props.items.filter((p) => p.isSelected)[0];\n\n const setValue = (value: string) => {\n items.find((item) => item.text === value)!.onClick?.();\n };\n\n return (\n <AriakitSelectProvider value={selectedItem.text} setValue={setValue}>\n <AriakitSelect\n className={\"bn-ak-button bn-ak-secondary\"}\n disabled={isDisabled}\n aria-label=\"Text alignment\"\n render={<AriakitToolbarItem />}>\n {selectedItem.icon} {selectedItem.text} <AriakitSelectArrow />\n </AriakitSelect>\n <AriakitSelectPopover\n className={mergeCSSClasses(\"bn-ak-popover\", className || \"\")}\n ref={ref}\n gutter={4}>\n {items.map((option) => (\n <AriakitSelectItem\n className={\"bn-ak-select-item\"}\n key={option.text}\n value={option.text}>\n {option.icon}\n {option.text}\n {option.text === selectedItem.text && <AriakitSelectItemCheck />}\n </AriakitSelectItem>\n ))}\n </AriakitSelectPopover>\n </AriakitSelectProvider>\n );\n});\n","import { Components } from \"@blocknote/react\";\n\nimport { Form } from \"./input/Form.js\";\nimport { TextInput } from \"./input/TextInput.js\";\nimport {\n Menu,\n MenuDivider,\n MenuDropdown,\n MenuItem,\n MenuLabel,\n MenuTrigger,\n} from \"./menu/Menu.js\";\nimport { Panel } from \"./panel/Panel.js\";\nimport { PanelButton } from \"./panel/PanelButton.js\";\nimport { PanelFileInput } from \"./panel/PanelFileInput.js\";\nimport { PanelTab } from \"./panel/PanelTab.js\";\nimport { PanelTextInput } from \"./panel/PanelTextInput.js\";\nimport { Popover, PopoverContent, PopoverTrigger } from \"./popover/Popover.js\";\nimport { SideMenu } from \"./sideMenu/SideMenu.js\";\nimport { SideMenuButton } from \"./sideMenu/SideMenuButton.js\";\nimport { GridSuggestionMenu } from \"./suggestionMenu/gridSuggestionMenu/GridSuggestionMenu.js\";\nimport { GridSuggestionMenuEmptyItem } from \"./suggestionMenu/gridSuggestionMenu/GridSuggestionMenuEmptyItem.js\";\nimport { GridSuggestionMenuItem } from \"./suggestionMenu/gridSuggestionMenu/GridSuggestionMenuItem.js\";\nimport { GridSuggestionMenuLoader } from \"./suggestionMenu/gridSuggestionMenu/GridSuggestionMenuLoader.js\";\nimport { SuggestionMenu } from \"./suggestionMenu/SuggestionMenu.js\";\nimport { SuggestionMenuEmptyItem } from \"./suggestionMenu/SuggestionMenuEmptyItem.js\";\nimport { SuggestionMenuItem } from \"./suggestionMenu/SuggestionMenuItem.js\";\nimport { SuggestionMenuLabel } from \"./suggestionMenu/SuggestionMenuLabel.js\";\nimport { SuggestionMenuLoader } from \"./suggestionMenu/SuggestionMenuLoader.js\";\nimport { ExtendButton } from \"./tableHandle/ExtendButton.js\";\nimport { TableHandle } from \"./tableHandle/TableHandle.js\";\nimport { Toolbar } from \"./toolbar/Toolbar.js\";\nimport { ToolbarButton } from \"./toolbar/ToolbarButton.js\";\nimport { ToolbarSelect } from \"./toolbar/ToolbarSelect.js\";\n\nexport const components: Components = {\n FormattingToolbar: {\n Root: Toolbar,\n Button: ToolbarButton,\n Select: ToolbarSelect,\n },\n FilePanel: {\n Root: Panel,\n Button: PanelButton,\n FileInput: PanelFileInput,\n TabPanel: PanelTab,\n TextInput: PanelTextInput,\n },\n GridSuggestionMenu: {\n Root: GridSuggestionMenu,\n Item: GridSuggestionMenuItem,\n EmptyItem: GridSuggestionMenuEmptyItem,\n Loader: GridSuggestionMenuLoader,\n },\n LinkToolbar: {\n Root: Toolbar,\n Button: ToolbarButton,\n },\n SideMenu: {\n Root: SideMenu,\n Button: SideMenuButton,\n },\n SuggestionMenu: {\n Root: SuggestionMenu,\n Item: SuggestionMenuItem,\n EmptyItem: SuggestionMenuEmptyItem,\n Label: SuggestionMenuLabel,\n Loader: SuggestionMenuLoader,\n },\n TableHandle: {\n Root: TableHandle,\n ExtendButton: ExtendButton,\n },\n Generic: {\n Toolbar: {\n Root: Toolbar,\n Button: ToolbarButton,\n },\n Form: {\n Root: Form,\n TextInput: TextInput,\n },\n Menu: {\n Root: Menu,\n Trigger: MenuTrigger,\n Dropdown: MenuDropdown,\n Divider: MenuDivider,\n Label: MenuLabel,\n Item: MenuItem,\n },\n Popover: {\n Root: Popover,\n Trigger: PopoverTrigger,\n Content: PopoverContent,\n },\n },\n};\n","import {\n BlockSchema,\n InlineContentSchema,\n mergeCSSClasses,\n StyleSchema,\n} from \"@blocknote/core\";\nimport {\n BlockNoteViewProps,\n BlockNoteViewRaw,\n ComponentsContext,\n} from \"@blocknote/react\";\nimport { components } from \"./components.js\";\n\nexport const BlockNoteView = <\n BSchema extends BlockSchema,\n ISchema extends InlineContentSchema,\n SSchema extends StyleSchema\n>(\n props: BlockNoteViewProps<BSchema, ISchema, SSchema>\n) => {\n const { className, ...rest } = props;\n\n return (\n <ComponentsContext.Provider value={components}>\n <BlockNoteViewRaw\n className={mergeCSSClasses(\"bn-ariakit\", className || \"\")}\n {...rest}\n />\n </ComponentsContext.Provider>\n );\n};\n"],"names":["Form","props","children","rest","assertEmpty","jsx","AriakitFormProvider","TextInput","forwardRef","ref","className","name","label","icon","value","autoFocus","placeholder","onKeyDown","onChange","onSubmit","jsxs","Fragment","AriakitFormLabel","AriakitFormInput","mergeCSSClasses","Menu","onOpenChange","position","sub","AriakitMenuProvider","MenuDropdown","AriakitMenu","MenuItem","checked","subTrigger","onClick","AriakitMenuButton","AriakitMenuItem","AriakitMenuButtonArrow","AriakitCheckboxCheck","MenuLabel","AriakitMenuGroupLabel","MenuTrigger","MenuDivider","AriakitMenuSeparator","Panel","tabs","defaultOpenTab","openTab","setOpenTab","loading","AriakitTabProvider","activeId","AriakitTabList","tab","AriakitTab","AriakitTabPanel","PanelButton","AriakitButton","PanelFileInput","accept","e","PanelTab","PanelTextInput","PopoverTrigger","AriakitPopoverDisclosure","PopoverContent","variant","AriakitPopover","Popover","opened","AriakitPopoverProvider","SideMenu","AriakitGroup","SideMenuButton","onDragEnd","onDragStart","draggable","GridSuggestionMenu","id","columns","GridSuggestionMenuEmptyItem","GridSuggestionMenuItem","isSelected","item","itemRef","useRef","useEffect","overflow","elementOverflow","mergeRefs","GridSuggestionMenuLoader","SuggestionMenu","SuggestionMenuEmptyItem","SuggestionMenuItem","SuggestionMenuLabel","SuggestionMenuLoader","ExtendButton","onMouseDown","TableHandle","style","Toolbar","onMouseEnter","onMouseLeave","AriakitToolbar","ToolbarButton","mainTooltip","secondaryTooltip","isDisabled","AriakitTooltipProvider","AriakitTooltipAnchor","AriakitToolbarItem","isSafari","AriakitTooltip","ToolbarSelect","items","selectedItem","p","setValue","_b","_a","AriakitSelectProvider","AriakitSelect","AriakitSelectArrow","AriakitSelectPopover","option","AriakitSelectItem","AriakitSelectItemCheck","components","BlockNoteView","ComponentsContext","BlockNoteViewRaw"],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
(function(p,e){typeof exports=="object"&&typeof module<"u"?e(exports,require("react/jsx-runtime"),require("@blocknote/core"),require("@blocknote/react"),require("@ariakit/react"),require("react")):typeof define=="function"&&define.amd?define(["exports","react/jsx-runtime","@blocknote/core","@blocknote/react","@ariakit/react","react"],e):(p=typeof globalThis<"u"?globalThis:p||self,e(p["blocknote-ariakit"]={},p.jsxRuntime,p.core,p.react$2,p.react,p.React))})(this,function(p,e,o,g,i,m){"use strict";const v=n=>{const{children:t,...a}=n;return o.assertEmpty(a),e.jsx(i.FormProvider,{children:t})},y=m.forwardRef((n,t)=>{const{className:a,name:s,label:r,icon:l,value:d,autoFocus:b,placeholder:c,onKeyDown:u,onChange:f,onSubmit:S,...h}=n;return o.assertEmpty(h),e.jsxs(e.Fragment,{children:[n.label&&e.jsx(i.FormLabel,{name:s,children:r}),e.jsxs("div",{className:"bn-ak-input-wrapper",children:[l,e.jsx(i.FormInput,{className:o.mergeCSSClasses("bn-ak-input",a||""),ref:t,name:s,value:d,autoFocus:b,placeholder:c,onKeyDown:u,onChange:f,onSubmit:S})]})]})}),w=n=>{const{children:t,onOpenChange:a,position:s,sub:r,...l}=n;return o.assertEmpty(l),e.jsx(i.MenuProvider,{placement:s,setOpen:a,virtualFocus:!0,children:t})},E=m.forwardRef((n,t)=>{const{className:a,children:s,sub:r,...l}=n;return o.assertEmpty(l),e.jsx(i.Menu,{unmountOnHide:!0,className:o.mergeCSSClasses("bn-ak-menu",a||""),ref:t,children:s})}),T=m.forwardRef((n,t)=>{const{className:a,children:s,icon:r,checked:l,subTrigger:d,onClick:b,...c}=n;return o.assertEmpty(c),d?e.jsxs(i.MenuButton,{render:e.jsx(i.MenuItem,{}),className:o.mergeCSSClasses("bn-ak-menu-item",a||""),ref:t,onClick:b,children:[r,s,e.jsx(i.MenuButtonArrow,{}),l!==void 0&&e.jsx(i.CheckboxCheck,{checked:l})]}):e.jsxs(i.MenuItem,{className:o.mergeCSSClasses("bn-ak-menu-item",a||""),ref:t,onClick:b,children:[r,s,l!==void 0&&e.jsx(i.CheckboxCheck,{checked:l})]})}),M=m.forwardRef((n,t)=>{const{className:a,children:s,...r}=n;return o.assertEmpty(r),e.jsx(i.MenuGroupLabel,{className:o.mergeCSSClasses("bn-ak-group-label",a||""),ref:t,children:s})}),I=n=>{const{children:t,sub:a,...s}=n;return o.assertEmpty(s),a?t:e.jsx(i.MenuButton,{render:t})},P=m.forwardRef((n,t)=>{const{className:a,...s}=n;return o.assertEmpty(s),e.jsx(i.MenuSeparator,{className:o.mergeCSSClasses("bn-ak-separator",a||""),ref:t})}),x=m.forwardRef((n,t)=>{const{className:a,tabs:s,defaultOpenTab:r,openTab:l,setOpenTab:d,loading:b,...c}=n;return o.assertEmpty(c),e.jsx("div",{className:o.mergeCSSClasses("bn-ak-wrapper",a||""),ref:t,children:e.jsxs(i.TabProvider,{defaultSelectedId:r,selectedId:l,setActiveId:u=>{u&&d(u)},children:[e.jsx(i.TabList,{className:"bn-ak-tab-list",children:s.map(u=>e.jsx(i.Tab,{className:"bn-ak-tab",id:u.name,children:u.name},u.name))}),e.jsx("div",{className:"bn-ak-panels",children:s.map(u=>e.jsx(i.TabPanel,{tabId:u.name,children:u.tabPanel},u.name))})]})})}),B=m.forwardRef((n,t)=>{const{className:a,children:s,onClick:r,label:l,...d}=n;return o.assertEmpty(d),e.jsx(i.Button,{className:o.mergeCSSClasses("bn-ak-button",a||""),onClick:r,"aria-label":l,ref:t,children:s})}),F=m.forwardRef((n,t)=>{const{className:a,accept:s,value:r,placeholder:l,onChange:d,...b}=n;return o.assertEmpty(b),e.jsx(i.FormProvider,{children:e.jsx(i.FormInput,{className:a,ref:t,name:"panel-input",type:"file",accept:s,value:r?r.name:void 0,onChange:async c=>d==null?void 0:d(c.target.files[0]),placeholder:l})})}),D=m.forwardRef((n,t)=>{const{className:a,children:s,...r}=n;return o.assertEmpty(r),e.jsx("div",{className:a,ref:t,children:s})}),L=m.forwardRef((n,t)=>{const{className:a,value:s,placeholder:r,onKeyDown:l,onChange:d,...b}=n;return o.assertEmpty(b),e.jsx(i.FormProvider,{children:e.jsx(i.FormInput,{className:o.mergeCSSClasses("bn-ak-input",a||""),name:"panel-input",value:s,placeholder:r,onChange:d,onKeyDown:l,"data-test":"embed-input",ref:t})})}),G=m.forwardRef((n,t)=>{const{children:a,...s}=n;return o.assertEmpty(s),e.jsx(i.PopoverDisclosure,{render:a,ref:t})}),O=m.forwardRef((n,t)=>{const{className:a,children:s,variant:r,...l}=n;return o.assertEmpty(l),e.jsx(i.Popover,{className:o.mergeCSSClasses("bn-ak-popover",a||""),ref:t,children:s})}),V=n=>{const{children:t,opened:a,position:s,...r}=n;return o.assertEmpty(r),e.jsx(i.PopoverProvider,{open:a,placement:s,children:t})},q=m.forwardRef((n,t)=>{const{className:a,children:s,...r}=n;return o.assertEmpty(r,!1),e.jsx(i.Group,{className:a,ref:t,...r,children:s})}),j=m.forwardRef((n,t)=>{const{className:a,children:s,icon:r,onClick:l,label:d,onDragEnd:b,onDragStart:c,draggable:u,...f}=n;return o.assertEmpty(f,!1),e.jsxs(i.Button,{onDragEnd:b,onDragStart:c,draggable:u,"aria-label":d,className:o.mergeCSSClasses("bn-ak-button bn-ak-secondary",a||""),ref:t,onClick:l,...f,children:[r,s]})}),A=m.forwardRef((n,t)=>{const{className:a,children:s,id:r,columns:l,...d}=n;return o.assertEmpty(d),e.jsx("div",{className:a,style:{gridTemplateColumns:`repeat(${l}, 1fr)`},ref:t,id:r,role:"grid",children:s})}),H=m.forwardRef((n,t)=>{const{className:a,children:s,columns:r,...l}=n;return o.assertEmpty(l),e.jsx("div",{className:o.mergeCSSClasses("bn-ak-menu-item",a||""),style:{gridColumn:`1 / ${r+1}`},ref:t,children:e.jsx("div",{className:"bn-ak-suggestion-menu-item-label",children:s})})}),K=m.forwardRef((n,t)=>{const{className:a,isSelected:s,onClick:r,item:l,id:d,...b}=n;o.assertEmpty(b);const c=m.useRef(null);return m.useEffect(()=>{if(!c.current||!s)return;const u=g.elementOverflow(c.current,document.querySelector(".bn-grid-suggestion-menu"));u==="top"?c.current.scrollIntoView(!0):u==="bottom"&&c.current.scrollIntoView(!1)},[s]),e.jsx("div",{className:a,ref:g.mergeRefs([t,c]),id:d,role:"option",onClick:r,"aria-selected":s||void 0,children:l.icon})}),z=m.forwardRef((n,t)=>{const{className:a,children:s,columns:r,...l}=n;return o.assertEmpty(l),e.jsx("div",{className:a,style:{gridColumn:`1 / ${r+1}`},ref:t,children:s})}),J=m.forwardRef((n,t)=>{const{className:a,children:s,id:r,...l}=n;return o.assertEmpty(l),e.jsx(i.Group,{className:o.mergeCSSClasses("bn-ak-menu",a||""),id:r,role:"listbox",ref:t,children:s})}),Q=m.forwardRef((n,t)=>{const{className:a,children:s,...r}=n;return o.assertEmpty(r),e.jsx("div",{className:o.mergeCSSClasses("bn-ak-menu-item",a||""),ref:t,children:e.jsx("div",{className:"bn-ak-suggestion-menu-item-label",children:s})})}),U=m.forwardRef((n,t)=>{const{className:a,item:s,isSelected:r,onClick:l,id:d,...b}=n;o.assertEmpty(b);const c=m.useRef(null);return m.useEffect(()=>{if(!c.current||!r)return;const u=g.elementOverflow(c.current,document.querySelector(".bn-suggestion-menu"));u==="top"?c.current.scrollIntoView(!0):u==="bottom"&&c.current.scrollIntoView(!1)},[r]),e.jsxs("div",{className:o.mergeCSSClasses("bn-ak-menu-item",a||""),ref:g.mergeRefs([t,c]),id:d,onClick:l,role:"option","aria-selected":r||void 0,children:[s.icon&&e.jsx("div",{className:"bn-ak-suggestion-menu-item-section","data-position":"left",children:s.icon}),e.jsxs("div",{className:"bn-ak-suggestion-menu-item-body",children:[e.jsx("div",{className:"bn-ak-suggestion-menu-item-title",children:s.title}),e.jsx("div",{className:"bn-ak-suggestion-menu-item-subtitle",children:s.subtext})]}),s.badge&&e.jsx("div",{"data-position":"right",className:"bn-ak-suggestion-menu-item-section",children:e.jsx("div",{children:s.badge})})]})}),W=m.forwardRef((n,t)=>{const{className:a,children:s,...r}=n;return o.assertEmpty(r),e.jsx("div",{className:o.mergeCSSClasses("bn-ak-group-label",a||""),ref:t,children:s})}),X=m.forwardRef((n,t)=>{const{className:a,children:s,...r}=n;return o.assertEmpty(r),e.jsx("div",{className:a,ref:t,children:s})}),Y=m.forwardRef((n,t)=>{const{children:a,className:s,onMouseDown:r,onClick:l,...d}=n;return o.assertEmpty(d,!1),e.jsx(i.Button,{className:o.mergeCSSClasses("bn-ak-button bn-ak-secondary",s||""),ref:t,onMouseDown:r,onClick:l,...d,children:a})}),Z=m.forwardRef((n,t)=>{const{className:a,children:s,draggable:r,onDragStart:l,onDragEnd:d,style:b,label:c,...u}=n;return o.assertEmpty(u,!1),e.jsx(i.Button,{className:o.mergeCSSClasses("bn-ak-button bn-ak-secondary",a||""),ref:t,"aria-label":c,draggable:r,onDragStart:l,onDragEnd:d,style:b,...u,children:s})}),k=m.forwardRef((n,t)=>{const{className:a,children:s,onMouseEnter:r,onMouseLeave:l,...d}=n;return o.assertEmpty(d),e.jsx(i.Toolbar,{className:o.mergeCSSClasses("bn-ak-toolbar",a||""),ref:t,onMouseEnter:r,onMouseLeave:l,children:s})}),C=m.forwardRef((n,t)=>{const{className:a,children:s,mainTooltip:r,secondaryTooltip:l,icon:d,isSelected:b,isDisabled:c,onClick:u,label:f,...S}=n;return o.assertEmpty(S,!1),e.jsxs(i.TooltipProvider,{children:[e.jsx(i.TooltipAnchor,{className:"link",render:e.jsxs(i.ToolbarItem,{"aria-label":f,className:o.mergeCSSClasses("bn-ak-button bn-ak-secondary",a||""),onMouseDown:h=>{o.isSafari()&&h.currentTarget.focus()},onClick:u,"aria-pressed":b,"data-selected":b?"true":void 0,"data-test":n.mainTooltip.slice(0,1).toLowerCase()+n.mainTooltip.replace(/\s+/g,"").slice(1),disabled:c||!1,ref:t,...S,children:[d,s]})}),e.jsxs(i.Tooltip,{className:"bn-ak-tooltip",children:[e.jsx("span",{children:r}),l&&e.jsx("span",{children:l})]})]})}),_=m.forwardRef((n,t)=>{const{className:a,items:s,isDisabled:r,...l}=n;o.assertEmpty(l);const d=n.items.filter(c=>c.isSelected)[0],b=c=>{var u,f;(f=(u=s.find(S=>S.text===c)).onClick)==null||f.call(u)};return e.jsxs(i.SelectProvider,{value:d.text,setValue:b,children:[e.jsxs(i.Select,{className:"bn-ak-button bn-ak-secondary",disabled:r,"aria-label":"Text alignment",render:e.jsx(i.ToolbarItem,{}),children:[d.icon," ",d.text," ",e.jsx(i.SelectArrow,{})]}),e.jsx(i.SelectPopover,{className:o.mergeCSSClasses("bn-ak-popover",a||""),ref:t,gutter:4,children:s.map(c=>e.jsxs(i.SelectItem,{className:"bn-ak-select-item",value:c.text,children:[c.icon,c.text,c.text===d.text&&e.jsx(i.SelectItemCheck,{})]},c.text))})]})}),N={FormattingToolbar:{Root:k,Button:C,Select:_},FilePanel:{Root:x,Button:B,FileInput:F,TabPanel:D,TextInput:L},GridSuggestionMenu:{Root:A,Item:K,EmptyItem:H,Loader:z},LinkToolbar:{Root:k,Button:C},SideMenu:{Root:q,Button:j},SuggestionMenu:{Root:J,Item:U,EmptyItem:Q,Label:W,Loader:X},TableHandle:{Root:Z,ExtendButton:Y},Generic:{Form:{Root:v,TextInput:y},Menu:{Root:w,Trigger:I,Dropdown:E,Divider:P,Label:M,Item:T},Popover:{Root:V,Trigger:G,Content:O}}},R=n=>{const{className:t,...a}=n;return e.jsx(g.ComponentsContext.Provider,{value:N,children:e.jsx(g.BlockNoteViewRaw,{className:o.mergeCSSClasses("bn-ariakit",t||""),...a})})};p.BlockNoteView=R,p.components=N,Object.defineProperty(p,Symbol.toStringTag,{value:"Module"})});
|
|
1
|
+
(function(p,e){typeof exports=="object"&&typeof module<"u"?e(exports,require("react/jsx-runtime"),require("@blocknote/core"),require("@blocknote/react"),require("@ariakit/react"),require("react")):typeof define=="function"&&define.amd?define(["exports","react/jsx-runtime","@blocknote/core","@blocknote/react","@ariakit/react","react"],e):(p=typeof globalThis<"u"?globalThis:p||self,e(p["blocknote-ariakit"]={},p.jsxRuntime,p.core,p.react$2,p.react,p.React))})(this,function(p,e,o,g,i,m){"use strict";const v=n=>{const{children:t,...a}=n;return o.assertEmpty(a),e.jsx(i.FormProvider,{children:t})},y=m.forwardRef((n,t)=>{const{className:a,name:s,label:r,icon:l,value:d,autoFocus:b,placeholder:c,onKeyDown:u,onChange:f,onSubmit:S,...C}=n;return o.assertEmpty(C),e.jsxs(e.Fragment,{children:[n.label&&e.jsx(i.FormLabel,{name:s,children:r}),e.jsxs("div",{className:"bn-ak-input-wrapper",children:[l,e.jsx(i.FormInput,{className:o.mergeCSSClasses("bn-ak-input",a||""),ref:t,name:s,value:d,autoFocus:b,placeholder:c,onKeyDown:u,onChange:f,onSubmit:S})]})]})}),w=n=>{const{children:t,onOpenChange:a,position:s,sub:r,...l}=n;return o.assertEmpty(l),e.jsx(i.MenuProvider,{placement:s,setOpen:a,virtualFocus:!0,children:t})},E=m.forwardRef((n,t)=>{const{className:a,children:s,sub:r,...l}=n;return o.assertEmpty(l),e.jsx(i.Menu,{unmountOnHide:!0,className:o.mergeCSSClasses("bn-ak-menu",a||""),ref:t,children:s})}),T=m.forwardRef((n,t)=>{const{className:a,children:s,icon:r,checked:l,subTrigger:d,onClick:b,...c}=n;return o.assertEmpty(c),d?e.jsxs(i.MenuButton,{render:e.jsx(i.MenuItem,{}),className:o.mergeCSSClasses("bn-ak-menu-item",a||""),ref:t,onClick:b,children:[r,s,e.jsx(i.MenuButtonArrow,{}),l!==void 0&&e.jsx(i.CheckboxCheck,{checked:l})]}):e.jsxs(i.MenuItem,{className:o.mergeCSSClasses("bn-ak-menu-item",a||""),ref:t,onClick:b,children:[r,s,l!==void 0&&e.jsx(i.CheckboxCheck,{checked:l})]})}),M=m.forwardRef((n,t)=>{const{className:a,children:s,...r}=n;return o.assertEmpty(r),e.jsx(i.MenuGroupLabel,{className:o.mergeCSSClasses("bn-ak-group-label",a||""),ref:t,children:s})}),I=n=>{const{children:t,sub:a,...s}=n;return o.assertEmpty(s),a?t:e.jsx(i.MenuButton,{render:t})},P=m.forwardRef((n,t)=>{const{className:a,...s}=n;return o.assertEmpty(s),e.jsx(i.MenuSeparator,{className:o.mergeCSSClasses("bn-ak-separator",a||""),ref:t})}),x=m.forwardRef((n,t)=>{const{className:a,tabs:s,defaultOpenTab:r,openTab:l,setOpenTab:d,loading:b,...c}=n;return o.assertEmpty(c),e.jsx("div",{className:o.mergeCSSClasses("bn-ak-wrapper",a||""),ref:t,children:e.jsxs(i.TabProvider,{defaultSelectedId:r,selectedId:l,setActiveId:u=>{u&&d(u)},children:[e.jsx(i.TabList,{className:"bn-ak-tab-list",children:s.map(u=>e.jsx(i.Tab,{className:"bn-ak-tab",id:u.name,children:u.name},u.name))}),e.jsx("div",{className:"bn-ak-panels",children:s.map(u=>e.jsx(i.TabPanel,{tabId:u.name,children:u.tabPanel},u.name))})]})})}),B=m.forwardRef((n,t)=>{const{className:a,children:s,onClick:r,label:l,...d}=n;return o.assertEmpty(d),e.jsx(i.Button,{className:o.mergeCSSClasses("bn-ak-button",a||""),onClick:r,"aria-label":l,ref:t,children:s})}),F=m.forwardRef((n,t)=>{const{className:a,accept:s,value:r,placeholder:l,onChange:d,...b}=n;return o.assertEmpty(b),e.jsx(i.FormProvider,{children:e.jsx(i.FormInput,{className:a,ref:t,name:"panel-input",type:"file",accept:s,value:r?r.name:void 0,onChange:async c=>d==null?void 0:d(c.target.files[0]),placeholder:l})})}),D=m.forwardRef((n,t)=>{const{className:a,children:s,...r}=n;return o.assertEmpty(r),e.jsx("div",{className:a,ref:t,children:s})}),L=m.forwardRef((n,t)=>{const{className:a,value:s,placeholder:r,onKeyDown:l,onChange:d,...b}=n;return o.assertEmpty(b),e.jsx(i.FormProvider,{children:e.jsx(i.FormInput,{className:o.mergeCSSClasses("bn-ak-input",a||""),name:"panel-input",value:s,placeholder:r,onChange:d,onKeyDown:l,"data-test":"embed-input",ref:t})})}),G=m.forwardRef((n,t)=>{const{children:a,...s}=n;return o.assertEmpty(s),e.jsx(i.PopoverDisclosure,{render:a,ref:t})}),O=m.forwardRef((n,t)=>{const{className:a,children:s,variant:r,...l}=n;return o.assertEmpty(l),e.jsx(i.Popover,{className:o.mergeCSSClasses("bn-ak-popover",a||""),ref:t,children:s})}),V=n=>{const{children:t,opened:a,position:s,...r}=n;return o.assertEmpty(r),e.jsx(i.PopoverProvider,{open:a,placement:s,children:t})},q=m.forwardRef((n,t)=>{const{className:a,children:s,...r}=n;return o.assertEmpty(r,!1),e.jsx(i.Group,{className:a,ref:t,...r,children:s})}),j=m.forwardRef((n,t)=>{const{className:a,children:s,icon:r,onClick:l,label:d,onDragEnd:b,onDragStart:c,draggable:u,...f}=n;return o.assertEmpty(f,!1),e.jsxs(i.Button,{onDragEnd:b,onDragStart:c,draggable:u,"aria-label":d,className:o.mergeCSSClasses("bn-ak-button bn-ak-secondary",a||""),ref:t,onClick:l,...f,children:[r,s]})}),A=m.forwardRef((n,t)=>{const{className:a,children:s,id:r,columns:l,...d}=n;return o.assertEmpty(d),e.jsx("div",{className:a,style:{gridTemplateColumns:`repeat(${l}, 1fr)`},ref:t,id:r,role:"grid",children:s})}),H=m.forwardRef((n,t)=>{const{className:a,children:s,columns:r,...l}=n;return o.assertEmpty(l),e.jsx("div",{className:o.mergeCSSClasses("bn-ak-menu-item",a||""),style:{gridColumn:`1 / ${r+1}`},ref:t,children:e.jsx("div",{className:"bn-ak-suggestion-menu-item-label",children:s})})}),K=m.forwardRef((n,t)=>{const{className:a,isSelected:s,onClick:r,item:l,id:d,...b}=n;o.assertEmpty(b);const c=m.useRef(null);return m.useEffect(()=>{if(!c.current||!s)return;const u=g.elementOverflow(c.current,document.querySelector(".bn-grid-suggestion-menu"));u==="top"?c.current.scrollIntoView(!0):u==="bottom"&&c.current.scrollIntoView(!1)},[s]),e.jsx("div",{className:a,ref:g.mergeRefs([t,c]),id:d,role:"option",onClick:r,"aria-selected":s||void 0,children:l.icon})}),z=m.forwardRef((n,t)=>{const{className:a,children:s,columns:r,...l}=n;return o.assertEmpty(l),e.jsx("div",{className:a,style:{gridColumn:`1 / ${r+1}`},ref:t,children:s})}),J=m.forwardRef((n,t)=>{const{className:a,children:s,id:r,...l}=n;return o.assertEmpty(l),e.jsx(i.Group,{className:o.mergeCSSClasses("bn-ak-menu",a||""),id:r,role:"listbox",ref:t,children:s})}),Q=m.forwardRef((n,t)=>{const{className:a,children:s,...r}=n;return o.assertEmpty(r),e.jsx("div",{className:o.mergeCSSClasses("bn-ak-menu-item",a||""),ref:t,children:e.jsx("div",{className:"bn-ak-suggestion-menu-item-label",children:s})})}),U=m.forwardRef((n,t)=>{const{className:a,item:s,isSelected:r,onClick:l,id:d,...b}=n;o.assertEmpty(b);const c=m.useRef(null);return m.useEffect(()=>{if(!c.current||!r)return;const u=g.elementOverflow(c.current,document.querySelector(".bn-suggestion-menu"));u==="top"?c.current.scrollIntoView(!0):u==="bottom"&&c.current.scrollIntoView(!1)},[r]),e.jsxs("div",{className:o.mergeCSSClasses("bn-ak-menu-item",a||""),ref:g.mergeRefs([t,c]),id:d,onClick:l,role:"option","aria-selected":r||void 0,children:[s.icon&&e.jsx("div",{className:"bn-ak-suggestion-menu-item-section","data-position":"left",children:s.icon}),e.jsxs("div",{className:"bn-ak-suggestion-menu-item-body",children:[e.jsx("div",{className:"bn-ak-suggestion-menu-item-title",children:s.title}),e.jsx("div",{className:"bn-ak-suggestion-menu-item-subtitle",children:s.subtext})]}),s.badge&&e.jsx("div",{"data-position":"right",className:"bn-ak-suggestion-menu-item-section",children:e.jsx("div",{children:s.badge})})]})}),W=m.forwardRef((n,t)=>{const{className:a,children:s,...r}=n;return o.assertEmpty(r),e.jsx("div",{className:o.mergeCSSClasses("bn-ak-group-label",a||""),ref:t,children:s})}),X=m.forwardRef((n,t)=>{const{className:a,children:s,...r}=n;return o.assertEmpty(r),e.jsx("div",{className:a,ref:t,children:s})}),Y=m.forwardRef((n,t)=>{const{children:a,className:s,onMouseDown:r,onClick:l,...d}=n;return o.assertEmpty(d,!1),e.jsx(i.Button,{className:o.mergeCSSClasses("bn-ak-button bn-ak-secondary",s||""),ref:t,onMouseDown:r,onClick:l,...d,children:a})}),Z=m.forwardRef((n,t)=>{const{className:a,children:s,draggable:r,onDragStart:l,onDragEnd:d,style:b,label:c,...u}=n;return o.assertEmpty(u,!1),e.jsx(i.Button,{className:o.mergeCSSClasses("bn-ak-button bn-ak-secondary",a||""),ref:t,"aria-label":c,draggable:r,onDragStart:l,onDragEnd:d,style:b,...u,children:s})}),h=m.forwardRef((n,t)=>{const{className:a,children:s,onMouseEnter:r,onMouseLeave:l,...d}=n;return o.assertEmpty(d),e.jsx(i.Toolbar,{className:o.mergeCSSClasses("bn-ak-toolbar",a||""),ref:t,onMouseEnter:r,onMouseLeave:l,children:s})}),k=m.forwardRef((n,t)=>{const{className:a,children:s,mainTooltip:r,secondaryTooltip:l,icon:d,isSelected:b,isDisabled:c,onClick:u,label:f,...S}=n;return o.assertEmpty(S,!1),e.jsxs(i.TooltipProvider,{children:[e.jsx(i.TooltipAnchor,{className:"link",render:e.jsxs(i.ToolbarItem,{"aria-label":f,className:o.mergeCSSClasses("bn-ak-button bn-ak-secondary",a||""),onMouseDown:C=>{o.isSafari()&&C.currentTarget.focus()},onClick:u,"aria-pressed":b,"data-selected":b?"true":void 0,"data-test":n.mainTooltip.slice(0,1).toLowerCase()+n.mainTooltip.replace(/\s+/g,"").slice(1),disabled:c||!1,ref:t,...S,children:[d,s]})}),e.jsxs(i.Tooltip,{className:"bn-ak-tooltip",children:[e.jsx("span",{children:r}),l&&e.jsx("span",{children:l})]})]})}),_=m.forwardRef((n,t)=>{const{className:a,items:s,isDisabled:r,...l}=n;o.assertEmpty(l);const d=n.items.filter(c=>c.isSelected)[0],b=c=>{var u,f;(f=(u=s.find(S=>S.text===c)).onClick)==null||f.call(u)};return e.jsxs(i.SelectProvider,{value:d.text,setValue:b,children:[e.jsxs(i.Select,{className:"bn-ak-button bn-ak-secondary",disabled:r,"aria-label":"Text alignment",render:e.jsx(i.ToolbarItem,{}),children:[d.icon," ",d.text," ",e.jsx(i.SelectArrow,{})]}),e.jsx(i.SelectPopover,{className:o.mergeCSSClasses("bn-ak-popover",a||""),ref:t,gutter:4,children:s.map(c=>e.jsxs(i.SelectItem,{className:"bn-ak-select-item",value:c.text,children:[c.icon,c.text,c.text===d.text&&e.jsx(i.SelectItemCheck,{})]},c.text))})]})}),N={FormattingToolbar:{Root:h,Button:k,Select:_},FilePanel:{Root:x,Button:B,FileInput:F,TabPanel:D,TextInput:L},GridSuggestionMenu:{Root:A,Item:K,EmptyItem:H,Loader:z},LinkToolbar:{Root:h,Button:k},SideMenu:{Root:q,Button:j},SuggestionMenu:{Root:J,Item:U,EmptyItem:Q,Label:W,Loader:X},TableHandle:{Root:Z,ExtendButton:Y},Generic:{Toolbar:{Root:h,Button:k},Form:{Root:v,TextInput:y},Menu:{Root:w,Trigger:I,Dropdown:E,Divider:P,Label:M,Item:T},Popover:{Root:V,Trigger:G,Content:O}}},R=n=>{const{className:t,...a}=n;return e.jsx(g.ComponentsContext.Provider,{value:N,children:e.jsx(g.BlockNoteViewRaw,{className:o.mergeCSSClasses("bn-ariakit",t||""),...a})})};p.BlockNoteView=R,p.components=N,Object.defineProperty(p,Symbol.toStringTag,{value:"Module"})});
|
|
2
2
|
//# sourceMappingURL=blocknote-ariakit.umd.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"blocknote-ariakit.umd.cjs","sources":["../src/input/Form.tsx","../src/input/TextInput.tsx","../src/menu/Menu.tsx","../src/panel/Panel.tsx","../src/panel/PanelButton.tsx","../src/panel/PanelFileInput.tsx","../src/panel/PanelTab.tsx","../src/panel/PanelTextInput.tsx","../src/popover/Popover.tsx","../src/sideMenu/SideMenu.tsx","../src/sideMenu/SideMenuButton.tsx","../src/suggestionMenu/gridSuggestionMenu/GridSuggestionMenu.tsx","../src/suggestionMenu/gridSuggestionMenu/GridSuggestionMenuEmptyItem.tsx","../src/suggestionMenu/gridSuggestionMenu/GridSuggestionMenuItem.tsx","../src/suggestionMenu/gridSuggestionMenu/GridSuggestionMenuLoader.tsx","../src/suggestionMenu/SuggestionMenu.tsx","../src/suggestionMenu/SuggestionMenuEmptyItem.tsx","../src/suggestionMenu/SuggestionMenuItem.tsx","../src/suggestionMenu/SuggestionMenuLabel.tsx","../src/suggestionMenu/SuggestionMenuLoader.tsx","../src/tableHandle/ExtendButton.tsx","../src/tableHandle/TableHandle.tsx","../src/toolbar/Toolbar.tsx","../src/toolbar/ToolbarButton.tsx","../src/toolbar/ToolbarSelect.tsx","../src/index.tsx"],"sourcesContent":["import { FormProvider as AriakitFormProvider } from \"@ariakit/react\";\n\nimport { assertEmpty } from \"@blocknote/core\";\nimport { ComponentProps } from \"@blocknote/react\";\n\nexport const Form = (props: ComponentProps[\"Generic\"][\"Form\"][\"Root\"]) => {\n const { children, ...rest } = props;\n\n assertEmpty(rest);\n\n return <AriakitFormProvider>{children}</AriakitFormProvider>;\n};\n","import {\n FormInput as AriakitFormInput,\n FormLabel as AriakitFormLabel,\n} from \"@ariakit/react\";\n\nimport { assertEmpty, mergeCSSClasses } from \"@blocknote/core\";\nimport { ComponentProps } from \"@blocknote/react\";\nimport { forwardRef } from \"react\";\n\nexport const TextInput = forwardRef<\n HTMLInputElement,\n ComponentProps[\"Generic\"][\"Form\"][\"TextInput\"]\n>((props, ref) => {\n const {\n className,\n name,\n label,\n icon,\n value,\n autoFocus,\n placeholder,\n onKeyDown,\n onChange,\n onSubmit,\n ...rest\n } = props;\n\n assertEmpty(rest);\n\n return (\n <>\n {props.label && <AriakitFormLabel name={name}>{label}</AriakitFormLabel>}\n <div className=\"bn-ak-input-wrapper\">\n {icon}\n <AriakitFormInput\n className={mergeCSSClasses(\"bn-ak-input\", className || \"\")}\n ref={ref}\n name={name}\n value={value}\n autoFocus={autoFocus}\n placeholder={placeholder}\n onKeyDown={onKeyDown}\n onChange={onChange}\n onSubmit={onSubmit}\n />\n </div>\n </>\n );\n});\n","import {\n CheckboxCheck as AriakitCheckboxCheck,\n Menu as AriakitMenu,\n MenuButton as AriakitMenuButton,\n MenuButtonArrow as AriakitMenuButtonArrow,\n MenuGroupLabel as AriakitMenuGroupLabel,\n MenuItem as AriakitMenuItem,\n MenuProvider as AriakitMenuProvider,\n MenuSeparator as AriakitMenuSeparator,\n} from \"@ariakit/react\";\n\nimport { assertEmpty, mergeCSSClasses } from \"@blocknote/core\";\nimport { ComponentProps } from \"@blocknote/react\";\nimport { forwardRef } from \"react\";\n\nexport const Menu = (props: ComponentProps[\"Generic\"][\"Menu\"][\"Root\"]) => {\n const {\n children,\n onOpenChange,\n position,\n sub, // unused\n ...rest\n } = props;\n\n assertEmpty(rest);\n\n return (\n <AriakitMenuProvider\n placement={position}\n setOpen={onOpenChange}\n virtualFocus={true}>\n {children}\n </AriakitMenuProvider>\n );\n};\n\nexport const MenuDropdown = forwardRef<\n HTMLDivElement,\n ComponentProps[\"Generic\"][\"Menu\"][\"Dropdown\"]\n>((props, ref) => {\n const {\n className,\n children,\n sub, // unused\n ...rest\n } = props;\n\n assertEmpty(rest);\n\n return (\n <AriakitMenu\n unmountOnHide={true}\n className={mergeCSSClasses(\"bn-ak-menu\", className || \"\")}\n ref={ref}>\n {children}\n </AriakitMenu>\n );\n});\n\nexport const MenuItem = forwardRef<\n HTMLDivElement,\n ComponentProps[\"Generic\"][\"Menu\"][\"Item\"]\n>((props, ref) => {\n const { className, children, icon, checked, subTrigger, onClick, ...rest } =\n props;\n\n assertEmpty(rest);\n\n if (subTrigger) {\n return (\n <AriakitMenuButton\n render={<AriakitMenuItem />}\n className={mergeCSSClasses(\"bn-ak-menu-item\", className || \"\")}\n ref={ref}\n onClick={onClick}>\n {icon}\n {children}\n <AriakitMenuButtonArrow />\n {checked !== undefined && <AriakitCheckboxCheck checked={checked} />}\n </AriakitMenuButton>\n );\n }\n return (\n <AriakitMenuItem\n className={mergeCSSClasses(\"bn-ak-menu-item\", className || \"\")}\n ref={ref}\n onClick={onClick}>\n {icon}\n {children}\n {checked !== undefined && <AriakitCheckboxCheck checked={checked} />}\n </AriakitMenuItem>\n );\n});\n\nexport const MenuLabel = forwardRef<\n HTMLDivElement,\n ComponentProps[\"Generic\"][\"Menu\"][\"Label\"]\n>((props, ref) => {\n const { className, children, ...rest } = props;\n\n assertEmpty(rest);\n\n return (\n <AriakitMenuGroupLabel\n className={mergeCSSClasses(\"bn-ak-group-label\", className || \"\")}\n ref={ref}>\n {children}\n </AriakitMenuGroupLabel>\n );\n});\n\nexport const MenuTrigger = (\n props: ComponentProps[\"Generic\"][\"Menu\"][\"Trigger\"]\n) => {\n const { children, sub, ...rest } = props;\n\n assertEmpty(rest);\n\n if (sub) {\n return children;\n }\n\n return <AriakitMenuButton render={children as any}></AriakitMenuButton>;\n};\n\nexport const MenuDivider = forwardRef<\n HTMLHRElement,\n ComponentProps[\"Generic\"][\"Menu\"][\"Divider\"]\n>((props, ref) => {\n const { className, ...rest } = props;\n\n assertEmpty(rest);\n\n return (\n <AriakitMenuSeparator\n className={mergeCSSClasses(\"bn-ak-separator\", className || \"\")}\n ref={ref}\n />\n );\n});\n","import {\n Tab as AriakitTab,\n TabList as AriakitTabList,\n TabPanel as AriakitTabPanel,\n TabProvider as AriakitTabProvider,\n} from \"@ariakit/react\";\n\nimport { assertEmpty, mergeCSSClasses } from \"@blocknote/core\";\nimport { ComponentProps } from \"@blocknote/react\";\nimport { forwardRef } from \"react\";\n\nexport const Panel = forwardRef<\n HTMLDivElement,\n ComponentProps[\"FilePanel\"][\"Root\"]\n>((props, ref) => {\n const {\n className,\n tabs,\n defaultOpenTab,\n openTab,\n setOpenTab,\n loading, // TODO: implement loading\n ...rest\n } = props;\n assertEmpty(rest);\n\n return (\n <div\n className={mergeCSSClasses(\"bn-ak-wrapper\", className || \"\")}\n ref={ref}>\n <AriakitTabProvider\n defaultSelectedId={defaultOpenTab}\n selectedId={openTab}\n setActiveId={(activeId) => {\n if (activeId) {\n setOpenTab(activeId);\n }\n }}>\n {/*{loading && <LoadingOverlay visible={loading} />}*/}\n\n <AriakitTabList className={\"bn-ak-tab-list\"}>\n {tabs.map((tab) => (\n <AriakitTab className={\"bn-ak-tab\"} id={tab.name} key={tab.name}>\n {tab.name}\n </AriakitTab>\n ))}\n </AriakitTabList>\n\n <div className={\"bn-ak-panels\"}>\n {tabs.map((tab) => (\n <AriakitTabPanel tabId={tab.name} key={tab.name}>\n {tab.tabPanel}\n </AriakitTabPanel>\n ))}\n </div>\n </AriakitTabProvider>\n </div>\n );\n});\n","import { Button as AriakitButton } from \"@ariakit/react\";\n\nimport { assertEmpty, mergeCSSClasses } from \"@blocknote/core\";\nimport { ComponentProps } from \"@blocknote/react\";\nimport { forwardRef } from \"react\";\n\nexport const PanelButton = forwardRef<\n HTMLButtonElement,\n ComponentProps[\"FilePanel\"][\"Button\"]\n>((props, ref) => {\n const { className, children, onClick, label, ...rest } = props;\n\n assertEmpty(rest);\n\n return (\n <AriakitButton\n className={mergeCSSClasses(\"bn-ak-button\", className || \"\")}\n onClick={onClick}\n aria-label={label}\n ref={ref}>\n {children}\n </AriakitButton>\n );\n});\n","import {\n FormInput as AriakitFormInput,\n FormProvider as AriakitFormProvider,\n} from \"@ariakit/react\";\n\nimport { assertEmpty } from \"@blocknote/core\";\nimport { ComponentProps } from \"@blocknote/react\";\nimport { forwardRef } from \"react\";\n\nexport const PanelFileInput = forwardRef<\n HTMLInputElement,\n ComponentProps[\"FilePanel\"][\"FileInput\"]\n>((props, ref) => {\n const { className, accept, value, placeholder, onChange, ...rest } = props;\n\n assertEmpty(rest);\n\n return (\n <AriakitFormProvider>\n <AriakitFormInput\n className={className}\n ref={ref}\n name={\"panel-input\"}\n type={\"file\"}\n accept={accept}\n value={value ? value.name : undefined}\n onChange={async (e) => onChange?.(e.target.files![0])}\n placeholder={placeholder}\n />\n </AriakitFormProvider>\n );\n});\n","import { assertEmpty } from \"@blocknote/core\";\nimport { ComponentProps } from \"@blocknote/react\";\nimport { forwardRef } from \"react\";\n\nexport const PanelTab = forwardRef<\n HTMLDivElement,\n ComponentProps[\"FilePanel\"][\"TabPanel\"]\n>((props, ref) => {\n const { className, children, ...rest } = props;\n\n assertEmpty(rest);\n\n return (\n <div className={className} ref={ref}>\n {children}\n </div>\n );\n});\n","import {\n FormInput as AriakitFormInput,\n FormProvider as AriakitFormProvider,\n} from \"@ariakit/react\";\n\nimport { assertEmpty, mergeCSSClasses } from \"@blocknote/core\";\nimport { ComponentProps } from \"@blocknote/react\";\nimport { forwardRef } from \"react\";\n\nexport const PanelTextInput = forwardRef<\n HTMLInputElement,\n ComponentProps[\"FilePanel\"][\"TextInput\"]\n>((props, ref) => {\n const { className, value, placeholder, onKeyDown, onChange, ...rest } = props;\n\n assertEmpty(rest);\n\n return (\n <AriakitFormProvider>\n <AriakitFormInput\n className={mergeCSSClasses(\"bn-ak-input\", className || \"\")}\n name={\"panel-input\"}\n value={value}\n placeholder={placeholder}\n onChange={onChange}\n onKeyDown={onKeyDown}\n data-test={\"embed-input\"}\n ref={ref}\n />\n </AriakitFormProvider>\n );\n});\n","import {\n Popover as AriakitPopover,\n PopoverDisclosure as AriakitPopoverDisclosure,\n PopoverProvider as AriakitPopoverProvider,\n} from \"@ariakit/react\";\n\nimport { assertEmpty, mergeCSSClasses } from \"@blocknote/core\";\nimport { ComponentProps } from \"@blocknote/react\";\nimport { forwardRef } from \"react\";\n\nexport const PopoverTrigger = forwardRef<\n HTMLButtonElement,\n ComponentProps[\"Generic\"][\"Popover\"][\"Trigger\"]\n>((props, ref) => {\n const { children, ...rest } = props;\n\n assertEmpty(rest);\n\n return <AriakitPopoverDisclosure render={children as any} ref={ref} />;\n});\n\nexport const PopoverContent = forwardRef<\n HTMLDivElement,\n ComponentProps[\"Generic\"][\"Popover\"][\"Content\"]\n>((props, ref) => {\n const { className, children, variant, ...rest } = props;\n\n assertEmpty(rest);\n\n return (\n <AriakitPopover\n className={mergeCSSClasses(\"bn-ak-popover\", className || \"\")}\n ref={ref}>\n {children}\n </AriakitPopover>\n );\n});\n\nexport const Popover = (\n props: ComponentProps[\"Generic\"][\"Popover\"][\"Root\"]\n) => {\n const { children, opened, position, ...rest } = props;\n\n assertEmpty(rest);\n\n return (\n <AriakitPopoverProvider open={opened} placement={position}>\n {children}\n </AriakitPopoverProvider>\n );\n};\n","import { Group as AriakitGroup } from \"@ariakit/react\";\n\nimport { assertEmpty } from \"@blocknote/core\";\nimport { ComponentProps } from \"@blocknote/react\";\nimport { forwardRef } from \"react\";\n\nexport const SideMenu = forwardRef<\n HTMLDivElement,\n ComponentProps[\"SideMenu\"][\"Root\"]\n>((props, ref) => {\n const { className, children, ...rest } = props;\n\n assertEmpty(rest, false);\n\n return (\n <AriakitGroup className={className} ref={ref} {...rest}>\n {children}\n </AriakitGroup>\n );\n});\n","import { Button as AriakitButton } from \"@ariakit/react\";\n\nimport { assertEmpty, mergeCSSClasses } from \"@blocknote/core\";\nimport { ComponentProps } from \"@blocknote/react\";\nimport { forwardRef } from \"react\";\n\nexport const SideMenuButton = forwardRef<\n HTMLButtonElement,\n ComponentProps[\"SideMenu\"][\"Button\"]\n>((props, ref) => {\n const {\n className,\n children,\n icon,\n onClick,\n label,\n onDragEnd,\n onDragStart,\n draggable,\n ...rest\n } = props;\n\n // false, because rest props can be added by ariakit when button is used as a trigger\n // assertEmpty in this case is only used at typescript level, not runtime level\n assertEmpty(rest, false);\n\n return (\n <AriakitButton\n onDragEnd={onDragEnd}\n onDragStart={onDragStart}\n draggable={draggable}\n aria-label={label}\n className={mergeCSSClasses(\n \"bn-ak-button bn-ak-secondary\",\n className || \"\"\n )}\n ref={ref}\n onClick={onClick}\n {...rest}>\n {icon}\n {children}\n </AriakitButton>\n );\n});\n","import { assertEmpty } from \"@blocknote/core\";\nimport { ComponentProps } from \"@blocknote/react\";\nimport { forwardRef } from \"react\";\n\nexport const GridSuggestionMenu = forwardRef<\n HTMLDivElement,\n ComponentProps[\"GridSuggestionMenu\"][\"Root\"]\n>((props, ref) => {\n const { className, children, id, columns, ...rest } = props;\n\n assertEmpty(rest);\n\n return (\n <div\n className={className}\n style={{ gridTemplateColumns: `repeat(${columns}, 1fr)` } as any}\n ref={ref}\n id={id}\n role=\"grid\">\n {children}\n </div>\n );\n});\n","import { assertEmpty, mergeCSSClasses } from \"@blocknote/core\";\nimport { ComponentProps } from \"@blocknote/react\";\nimport { forwardRef } from \"react\";\n\nexport const GridSuggestionMenuEmptyItem = forwardRef<\n HTMLDivElement,\n ComponentProps[\"GridSuggestionMenu\"][\"EmptyItem\"]\n>((props, ref) => {\n const { className, children, columns, ...rest } = props;\n\n assertEmpty(rest);\n\n return (\n <div\n className={mergeCSSClasses(\"bn-ak-menu-item\", className || \"\")}\n style={{ gridColumn: `1 / ${columns + 1}` }}\n ref={ref}>\n <div className=\"bn-ak-suggestion-menu-item-label\">{children}</div>\n </div>\n );\n});\n","import { assertEmpty } from \"@blocknote/core\";\nimport { ComponentProps, elementOverflow, mergeRefs } from \"@blocknote/react\";\nimport { forwardRef, useEffect, useRef } from \"react\";\n\nexport const GridSuggestionMenuItem = forwardRef<\n HTMLDivElement,\n ComponentProps[\"GridSuggestionMenu\"][\"Item\"]\n>((props, ref) => {\n const { className, isSelected, onClick, item, id, ...rest } = props;\n\n assertEmpty(rest);\n\n const itemRef = useRef<HTMLDivElement>(null);\n\n useEffect(() => {\n if (!itemRef.current || !isSelected) {\n return;\n }\n\n const overflow = elementOverflow(\n itemRef.current,\n document.querySelector(\".bn-grid-suggestion-menu\")!\n );\n\n if (overflow === \"top\") {\n itemRef.current.scrollIntoView(true);\n } else if (overflow === \"bottom\") {\n itemRef.current.scrollIntoView(false);\n }\n }, [isSelected]);\n\n return (\n <div\n className={className}\n ref={mergeRefs([ref, itemRef])}\n id={id}\n role=\"option\"\n onClick={onClick}\n aria-selected={isSelected || undefined}>\n {item.icon}\n </div>\n );\n});\n","import { assertEmpty } from \"@blocknote/core\";\nimport { ComponentProps } from \"@blocknote/react\";\nimport { forwardRef } from \"react\";\n\nexport const GridSuggestionMenuLoader = forwardRef<\n HTMLDivElement,\n ComponentProps[\"GridSuggestionMenu\"][\"Loader\"]\n>((props, ref) => {\n const {\n className,\n children, // unused, using \"dots\" instead\n columns,\n ...rest\n } = props;\n\n assertEmpty(rest);\n\n return (\n <div\n className={className}\n style={{ gridColumn: `1 / ${columns + 1}` }}\n ref={ref}>\n {children}\n </div>\n );\n});\n","import { Group as AriakitGroup } from \"@ariakit/react\";\n\nimport { assertEmpty, mergeCSSClasses } from \"@blocknote/core\";\nimport { ComponentProps } from \"@blocknote/react\";\nimport { forwardRef } from \"react\";\n\nexport const SuggestionMenu = forwardRef<\n HTMLDivElement,\n ComponentProps[\"SuggestionMenu\"][\"Root\"]\n>((props, ref) => {\n const { className, children, id, ...rest } = props;\n\n assertEmpty(rest);\n\n return (\n <AriakitGroup\n className={mergeCSSClasses(\"bn-ak-menu\", className || \"\")}\n id={id}\n role=\"listbox\"\n ref={ref}>\n {children}\n </AriakitGroup>\n );\n});\n","import { assertEmpty, mergeCSSClasses } from \"@blocknote/core\";\nimport { ComponentProps } from \"@blocknote/react\";\nimport { forwardRef } from \"react\";\n\nexport const SuggestionMenuEmptyItem = forwardRef<\n HTMLDivElement,\n ComponentProps[\"SuggestionMenu\"][\"EmptyItem\"]\n>((props, ref) => {\n const { className, children, ...rest } = props;\n\n assertEmpty(rest);\n\n return (\n <div\n className={mergeCSSClasses(\"bn-ak-menu-item\", className || \"\")}\n ref={ref}>\n <div className=\"bn-ak-suggestion-menu-item-label\">{children}</div>\n </div>\n );\n});\n","import { assertEmpty, mergeCSSClasses } from \"@blocknote/core\";\nimport { ComponentProps, elementOverflow, mergeRefs } from \"@blocknote/react\";\nimport { forwardRef, useEffect, useRef } from \"react\";\n\nexport const SuggestionMenuItem = forwardRef<\n HTMLDivElement,\n ComponentProps[\"SuggestionMenu\"][\"Item\"]\n>((props, ref) => {\n const { className, item, isSelected, onClick, id, ...rest } = props;\n\n assertEmpty(rest);\n\n const itemRef = useRef<HTMLDivElement>(null);\n\n useEffect(() => {\n if (!itemRef.current || !isSelected) {\n return;\n }\n\n const overflow = elementOverflow(\n itemRef.current,\n document.querySelector(\".bn-suggestion-menu\")!\n );\n\n if (overflow === \"top\") {\n itemRef.current.scrollIntoView(true);\n } else if (overflow === \"bottom\") {\n itemRef.current.scrollIntoView(false);\n }\n }, [isSelected]);\n\n return (\n <div\n className={mergeCSSClasses(\"bn-ak-menu-item\", className || \"\")}\n ref={mergeRefs([ref, itemRef])}\n id={id}\n onClick={onClick}\n role=\"option\"\n aria-selected={isSelected || undefined}>\n {item.icon && (\n <div\n className=\"bn-ak-suggestion-menu-item-section\"\n data-position=\"left\">\n {item.icon}\n </div>\n )}\n <div className=\"bn-ak-suggestion-menu-item-body\">\n <div className=\"bn-ak-suggestion-menu-item-title\">{item.title}</div>\n <div className=\"bn-ak-suggestion-menu-item-subtitle\">\n {item.subtext}\n </div>\n </div>\n {item.badge && (\n <div\n data-position=\"right\"\n className=\"bn-ak-suggestion-menu-item-section\">\n <div>{item.badge}</div>\n </div>\n )}\n </div>\n );\n});\n","import { assertEmpty, mergeCSSClasses } from \"@blocknote/core\";\nimport { ComponentProps } from \"@blocknote/react\";\nimport { forwardRef } from \"react\";\n\nexport const SuggestionMenuLabel = forwardRef<\n HTMLDivElement,\n ComponentProps[\"SuggestionMenu\"][\"Label\"]\n>((props, ref) => {\n const { className, children, ...rest } = props;\n\n assertEmpty(rest);\n\n return (\n <div\n className={mergeCSSClasses(\"bn-ak-group-label\", className || \"\")}\n ref={ref}>\n {children}\n </div>\n );\n});\n","import { assertEmpty } from \"@blocknote/core\";\nimport { ComponentProps } from \"@blocknote/react\";\nimport { forwardRef } from \"react\";\n\nexport const SuggestionMenuLoader = forwardRef<\n HTMLDivElement,\n ComponentProps[\"SuggestionMenu\"][\"Loader\"]\n>((props, ref) => {\n const { className, children, ...rest } = props;\n\n assertEmpty(rest);\n\n return (\n <div className={className} ref={ref}>\n {children}\n </div>\n );\n});\n","import { Button as AriakitButton } from \"@ariakit/react\";\n\nimport { assertEmpty, mergeCSSClasses } from \"@blocknote/core\";\nimport { ComponentProps } from \"@blocknote/react\";\nimport { forwardRef } from \"react\";\n\nexport const ExtendButton = forwardRef<\n HTMLButtonElement,\n ComponentProps[\"TableHandle\"][\"ExtendButton\"]\n>((props, ref) => {\n const { children, className, onMouseDown, onClick, ...rest } = props;\n\n // false, because rest props can be added by mantine when button is used as a trigger\n // assertEmpty in this case is only used at typescript level, not runtime level\n assertEmpty(rest, false);\n\n return (\n <AriakitButton\n className={mergeCSSClasses(\n \"bn-ak-button bn-ak-secondary\",\n className || \"\"\n )}\n ref={ref}\n onMouseDown={onMouseDown}\n onClick={onClick}\n {...rest}>\n {children}\n </AriakitButton>\n );\n});\n","import { Button as AriakitButton } from \"@ariakit/react\";\n\nimport { assertEmpty, mergeCSSClasses } from \"@blocknote/core\";\nimport { ComponentProps } from \"@blocknote/react\";\nimport { forwardRef } from \"react\";\n\nexport const TableHandle = forwardRef<\n HTMLButtonElement,\n ComponentProps[\"TableHandle\"][\"Root\"]\n>((props, ref) => {\n const {\n className,\n children,\n draggable,\n onDragStart,\n onDragEnd,\n style,\n label,\n ...rest\n } = props;\n\n // false, because rest props can be added by ariakit when button is used as a trigger\n // assertEmpty in this case is only used at typescript level, not runtime level\n assertEmpty(rest, false);\n\n return (\n <AriakitButton\n className={mergeCSSClasses(\n \"bn-ak-button bn-ak-secondary\",\n className || \"\"\n )}\n ref={ref}\n aria-label={label}\n draggable={draggable}\n onDragStart={onDragStart}\n onDragEnd={onDragEnd}\n style={style}\n {...rest}>\n {children}\n </AriakitButton>\n );\n});\n","import { Toolbar as AriakitToolbar } from \"@ariakit/react\";\n\nimport { assertEmpty, mergeCSSClasses } from \"@blocknote/core\";\nimport { ComponentProps } from \"@blocknote/react\";\nimport { forwardRef } from \"react\";\n\ntype ToolbarProps = ComponentProps[\"FormattingToolbar\"][\"Root\"] &\n ComponentProps[\"LinkToolbar\"][\"Root\"];\n\nexport const Toolbar = forwardRef<HTMLDivElement, ToolbarProps>(\n (props, ref) => {\n const { className, children, onMouseEnter, onMouseLeave, ...rest } = props;\n\n assertEmpty(rest);\n\n return (\n <AriakitToolbar\n className={mergeCSSClasses(\"bn-ak-toolbar\", className || \"\")}\n ref={ref}\n onMouseEnter={onMouseEnter}\n onMouseLeave={onMouseLeave}>\n {children}\n </AriakitToolbar>\n );\n }\n);\n","import {\n Tooltip as AriakitTooltip,\n TooltipAnchor as AriakitTooltipAnchor,\n ToolbarItem as AriakitToolbarItem,\n TooltipProvider as AriakitTooltipProvider,\n} from \"@ariakit/react\";\n\nimport { assertEmpty, isSafari, mergeCSSClasses } from \"@blocknote/core\";\nimport { ComponentProps } from \"@blocknote/react\";\nimport { forwardRef } from \"react\";\n\ntype ToolbarButtonProps = ComponentProps[\"FormattingToolbar\"][\"Button\"] &\n ComponentProps[\"LinkToolbar\"][\"Button\"];\n\n/**\n * Helper for basic buttons that show in the formatting toolbar.\n */\nexport const ToolbarButton = forwardRef<HTMLButtonElement, ToolbarButtonProps>(\n (props, ref) => {\n const {\n className,\n children,\n mainTooltip,\n secondaryTooltip,\n icon,\n isSelected,\n isDisabled,\n onClick,\n label,\n ...rest\n } = props;\n\n // false, because rest props can be added by ariakit when button is used as a trigger\n // assertEmpty in this case is only used at typescript level, not runtime level\n assertEmpty(rest, false);\n\n return (\n <AriakitTooltipProvider>\n <AriakitTooltipAnchor\n className=\"link\"\n render={\n <AriakitToolbarItem\n aria-label={label}\n className={mergeCSSClasses(\n \"bn-ak-button bn-ak-secondary\",\n className || \"\"\n )}\n // Needed as Safari doesn't focus button elements on mouse down\n // unlike other browsers.\n onMouseDown={(e) => {\n if (isSafari()) {\n (e.currentTarget as HTMLButtonElement).focus();\n }\n }}\n onClick={onClick}\n aria-pressed={isSelected}\n data-selected={isSelected ? \"true\" : undefined}\n data-test={\n props.mainTooltip.slice(0, 1).toLowerCase() +\n props.mainTooltip.replace(/\\s+/g, \"\").slice(1)\n }\n // size={\"xs\"}\n disabled={isDisabled || false}\n ref={ref}\n {...rest}>\n {icon}\n {children}\n </AriakitToolbarItem>\n }\n />\n <AriakitTooltip className=\"bn-ak-tooltip\">\n <span>{mainTooltip}</span>\n {secondaryTooltip && <span>{secondaryTooltip}</span>}\n </AriakitTooltip>\n </AriakitTooltipProvider>\n );\n }\n);\n","import {\n Select as AriakitSelect,\n SelectArrow as AriakitSelectArrow,\n SelectItem as AriakitSelectItem,\n SelectItemCheck as AriakitSelectItemCheck,\n SelectPopover as AriakitSelectPopover,\n SelectProvider as AriakitSelectProvider,\n ToolbarItem as AriakitToolbarItem,\n} from \"@ariakit/react\";\n\nimport { assertEmpty, mergeCSSClasses } from \"@blocknote/core\";\nimport { ComponentProps } from \"@blocknote/react\";\nimport { forwardRef } from \"react\";\n\nexport const ToolbarSelect = forwardRef<\n HTMLDivElement,\n ComponentProps[\"FormattingToolbar\"][\"Select\"]\n>((props, ref) => {\n const { className, items, isDisabled, ...rest } = props;\n\n assertEmpty(rest);\n\n const selectedItem = props.items.filter((p) => p.isSelected)[0];\n\n const setValue = (value: string) => {\n items.find((item) => item.text === value)!.onClick?.();\n };\n\n return (\n <AriakitSelectProvider value={selectedItem.text} setValue={setValue}>\n <AriakitSelect\n className={\"bn-ak-button bn-ak-secondary\"}\n disabled={isDisabled}\n aria-label=\"Text alignment\"\n render={<AriakitToolbarItem />}>\n {selectedItem.icon} {selectedItem.text} <AriakitSelectArrow />\n </AriakitSelect>\n <AriakitSelectPopover\n className={mergeCSSClasses(\"bn-ak-popover\", className || \"\")}\n ref={ref}\n gutter={4}>\n {items.map((option) => (\n <AriakitSelectItem\n className={\"bn-ak-select-item\"}\n key={option.text}\n value={option.text}>\n {option.icon}\n {option.text}\n {option.text === selectedItem.text && <AriakitSelectItemCheck />}\n </AriakitSelectItem>\n ))}\n </AriakitSelectPopover>\n </AriakitSelectProvider>\n );\n});\n","import {\n BlockSchema,\n InlineContentSchema,\n mergeCSSClasses,\n StyleSchema,\n} from \"@blocknote/core\";\nimport {\n BlockNoteViewProps,\n BlockNoteViewRaw,\n Components,\n ComponentsContext,\n} from \"@blocknote/react\";\n\nimport { Form } from \"./input/Form.js\";\nimport { TextInput } from \"./input/TextInput.js\";\nimport {\n Menu,\n MenuDivider,\n MenuDropdown,\n MenuItem,\n MenuLabel,\n MenuTrigger,\n} from \"./menu/Menu.js\";\nimport { Panel } from \"./panel/Panel.js\";\nimport { PanelButton } from \"./panel/PanelButton.js\";\nimport { PanelFileInput } from \"./panel/PanelFileInput.js\";\nimport { PanelTab } from \"./panel/PanelTab.js\";\nimport { PanelTextInput } from \"./panel/PanelTextInput.js\";\nimport { Popover, PopoverContent, PopoverTrigger } from \"./popover/Popover.js\";\nimport { SideMenu } from \"./sideMenu/SideMenu.js\";\nimport { SideMenuButton } from \"./sideMenu/SideMenuButton.js\";\nimport { GridSuggestionMenu } from \"./suggestionMenu/gridSuggestionMenu/GridSuggestionMenu.js\";\nimport { GridSuggestionMenuEmptyItem } from \"./suggestionMenu/gridSuggestionMenu/GridSuggestionMenuEmptyItem.js\";\nimport { GridSuggestionMenuItem } from \"./suggestionMenu/gridSuggestionMenu/GridSuggestionMenuItem.js\";\nimport { GridSuggestionMenuLoader } from \"./suggestionMenu/gridSuggestionMenu/GridSuggestionMenuLoader.js\";\nimport { SuggestionMenu } from \"./suggestionMenu/SuggestionMenu.js\";\nimport { SuggestionMenuEmptyItem } from \"./suggestionMenu/SuggestionMenuEmptyItem.js\";\nimport { SuggestionMenuItem } from \"./suggestionMenu/SuggestionMenuItem.js\";\nimport { SuggestionMenuLabel } from \"./suggestionMenu/SuggestionMenuLabel.js\";\nimport { SuggestionMenuLoader } from \"./suggestionMenu/SuggestionMenuLoader.js\";\nimport { ExtendButton } from \"./tableHandle/ExtendButton.js\";\nimport { TableHandle } from \"./tableHandle/TableHandle.js\";\nimport { Toolbar } from \"./toolbar/Toolbar.js\";\nimport { ToolbarButton } from \"./toolbar/ToolbarButton.js\";\nimport { ToolbarSelect } from \"./toolbar/ToolbarSelect.js\";\n\nimport \"./style.css\";\n\nexport const components: Components = {\n FormattingToolbar: {\n Root: Toolbar,\n Button: ToolbarButton,\n Select: ToolbarSelect,\n },\n FilePanel: {\n Root: Panel,\n Button: PanelButton,\n FileInput: PanelFileInput,\n TabPanel: PanelTab,\n TextInput: PanelTextInput,\n },\n GridSuggestionMenu: {\n Root: GridSuggestionMenu,\n Item: GridSuggestionMenuItem,\n EmptyItem: GridSuggestionMenuEmptyItem,\n Loader: GridSuggestionMenuLoader,\n },\n LinkToolbar: {\n Root: Toolbar,\n Button: ToolbarButton,\n },\n SideMenu: {\n Root: SideMenu,\n Button: SideMenuButton,\n },\n SuggestionMenu: {\n Root: SuggestionMenu,\n Item: SuggestionMenuItem,\n EmptyItem: SuggestionMenuEmptyItem,\n Label: SuggestionMenuLabel,\n Loader: SuggestionMenuLoader,\n },\n TableHandle: {\n Root: TableHandle,\n ExtendButton: ExtendButton,\n },\n Generic: {\n Form: {\n Root: Form,\n TextInput: TextInput,\n },\n Menu: {\n Root: Menu,\n Trigger: MenuTrigger,\n Dropdown: MenuDropdown,\n Divider: MenuDivider,\n Label: MenuLabel,\n Item: MenuItem,\n },\n Popover: {\n Root: Popover,\n Trigger: PopoverTrigger,\n Content: PopoverContent,\n },\n },\n};\n\nexport const BlockNoteView = <\n BSchema extends BlockSchema,\n ISchema extends InlineContentSchema,\n SSchema extends StyleSchema\n>(\n props: BlockNoteViewProps<BSchema, ISchema, SSchema>\n) => {\n const { className, ...rest } = props;\n\n return (\n <ComponentsContext.Provider value={components}>\n <BlockNoteViewRaw\n className={mergeCSSClasses(\"bn-ariakit\", className || \"\")}\n {...rest}\n />\n </ComponentsContext.Provider>\n );\n};\n"],"names":["Form","props","children","rest","assertEmpty","jsx","AriakitFormProvider","TextInput","forwardRef","ref","className","name","label","icon","value","autoFocus","placeholder","onKeyDown","onChange","onSubmit","jsxs","Fragment","AriakitFormLabel","AriakitFormInput","mergeCSSClasses","Menu","onOpenChange","position","sub","AriakitMenuProvider","MenuDropdown","AriakitMenu","MenuItem","checked","subTrigger","onClick","AriakitMenuButton","AriakitMenuItem","AriakitMenuButtonArrow","AriakitCheckboxCheck","MenuLabel","AriakitMenuGroupLabel","MenuTrigger","MenuDivider","AriakitMenuSeparator","Panel","tabs","defaultOpenTab","openTab","setOpenTab","loading","AriakitTabProvider","activeId","AriakitTabList","tab","AriakitTab","AriakitTabPanel","PanelButton","AriakitButton","PanelFileInput","accept","e","PanelTab","PanelTextInput","PopoverTrigger","AriakitPopoverDisclosure","PopoverContent","variant","AriakitPopover","Popover","opened","AriakitPopoverProvider","SideMenu","AriakitGroup","SideMenuButton","onDragEnd","onDragStart","draggable","GridSuggestionMenu","id","columns","GridSuggestionMenuEmptyItem","GridSuggestionMenuItem","isSelected","item","itemRef","useRef","useEffect","overflow","elementOverflow","mergeRefs","GridSuggestionMenuLoader","SuggestionMenu","SuggestionMenuEmptyItem","SuggestionMenuItem","SuggestionMenuLabel","SuggestionMenuLoader","ExtendButton","onMouseDown","TableHandle","style","Toolbar","onMouseEnter","onMouseLeave","AriakitToolbar","ToolbarButton","mainTooltip","secondaryTooltip","isDisabled","AriakitTooltipProvider","AriakitTooltipAnchor","AriakitToolbarItem","isSafari","AriakitTooltip","ToolbarSelect","items","selectedItem","p","setValue","_b","_a","AriakitSelectProvider","AriakitSelect","AriakitSelectArrow","AriakitSelectPopover","option","AriakitSelectItem","AriakitSelectItemCheck","components","BlockNoteView","ComponentsContext","BlockNoteViewRaw"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"blocknote-ariakit.umd.cjs","sources":["../src/input/Form.tsx","../src/input/TextInput.tsx","../src/menu/Menu.tsx","../src/panel/Panel.tsx","../src/panel/PanelButton.tsx","../src/panel/PanelFileInput.tsx","../src/panel/PanelTab.tsx","../src/panel/PanelTextInput.tsx","../src/popover/Popover.tsx","../src/sideMenu/SideMenu.tsx","../src/sideMenu/SideMenuButton.tsx","../src/suggestionMenu/gridSuggestionMenu/GridSuggestionMenu.tsx","../src/suggestionMenu/gridSuggestionMenu/GridSuggestionMenuEmptyItem.tsx","../src/suggestionMenu/gridSuggestionMenu/GridSuggestionMenuItem.tsx","../src/suggestionMenu/gridSuggestionMenu/GridSuggestionMenuLoader.tsx","../src/suggestionMenu/SuggestionMenu.tsx","../src/suggestionMenu/SuggestionMenuEmptyItem.tsx","../src/suggestionMenu/SuggestionMenuItem.tsx","../src/suggestionMenu/SuggestionMenuLabel.tsx","../src/suggestionMenu/SuggestionMenuLoader.tsx","../src/tableHandle/ExtendButton.tsx","../src/tableHandle/TableHandle.tsx","../src/toolbar/Toolbar.tsx","../src/toolbar/ToolbarButton.tsx","../src/toolbar/ToolbarSelect.tsx","../src/components.ts","../src/BlockNoteView.tsx"],"sourcesContent":["import { FormProvider as AriakitFormProvider } from \"@ariakit/react\";\n\nimport { assertEmpty } from \"@blocknote/core\";\nimport { ComponentProps } from \"@blocknote/react\";\n\nexport const Form = (props: ComponentProps[\"Generic\"][\"Form\"][\"Root\"]) => {\n const { children, ...rest } = props;\n\n assertEmpty(rest);\n\n return <AriakitFormProvider>{children}</AriakitFormProvider>;\n};\n","import {\n FormInput as AriakitFormInput,\n FormLabel as AriakitFormLabel,\n} from \"@ariakit/react\";\n\nimport { assertEmpty, mergeCSSClasses } from \"@blocknote/core\";\nimport { ComponentProps } from \"@blocknote/react\";\nimport { forwardRef } from \"react\";\n\nexport const TextInput = forwardRef<\n HTMLInputElement,\n ComponentProps[\"Generic\"][\"Form\"][\"TextInput\"]\n>((props, ref) => {\n const {\n className,\n name,\n label,\n icon,\n value,\n autoFocus,\n placeholder,\n onKeyDown,\n onChange,\n onSubmit,\n ...rest\n } = props;\n\n assertEmpty(rest);\n\n return (\n <>\n {props.label && <AriakitFormLabel name={name}>{label}</AriakitFormLabel>}\n <div className=\"bn-ak-input-wrapper\">\n {icon}\n <AriakitFormInput\n className={mergeCSSClasses(\"bn-ak-input\", className || \"\")}\n ref={ref}\n name={name}\n value={value}\n autoFocus={autoFocus}\n placeholder={placeholder}\n onKeyDown={onKeyDown}\n onChange={onChange}\n onSubmit={onSubmit}\n />\n </div>\n </>\n );\n});\n","import {\n CheckboxCheck as AriakitCheckboxCheck,\n Menu as AriakitMenu,\n MenuButton as AriakitMenuButton,\n MenuButtonArrow as AriakitMenuButtonArrow,\n MenuGroupLabel as AriakitMenuGroupLabel,\n MenuItem as AriakitMenuItem,\n MenuProvider as AriakitMenuProvider,\n MenuSeparator as AriakitMenuSeparator,\n} from \"@ariakit/react\";\n\nimport { assertEmpty, mergeCSSClasses } from \"@blocknote/core\";\nimport { ComponentProps } from \"@blocknote/react\";\nimport { forwardRef } from \"react\";\n\nexport const Menu = (props: ComponentProps[\"Generic\"][\"Menu\"][\"Root\"]) => {\n const {\n children,\n onOpenChange,\n position,\n sub, // unused\n ...rest\n } = props;\n\n assertEmpty(rest);\n\n return (\n <AriakitMenuProvider\n placement={position}\n setOpen={onOpenChange}\n virtualFocus={true}>\n {children}\n </AriakitMenuProvider>\n );\n};\n\nexport const MenuDropdown = forwardRef<\n HTMLDivElement,\n ComponentProps[\"Generic\"][\"Menu\"][\"Dropdown\"]\n>((props, ref) => {\n const {\n className,\n children,\n sub, // unused\n ...rest\n } = props;\n\n assertEmpty(rest);\n\n return (\n <AriakitMenu\n unmountOnHide={true}\n className={mergeCSSClasses(\"bn-ak-menu\", className || \"\")}\n ref={ref}>\n {children}\n </AriakitMenu>\n );\n});\n\nexport const MenuItem = forwardRef<\n HTMLDivElement,\n ComponentProps[\"Generic\"][\"Menu\"][\"Item\"]\n>((props, ref) => {\n const { className, children, icon, checked, subTrigger, onClick, ...rest } =\n props;\n\n assertEmpty(rest);\n\n if (subTrigger) {\n return (\n <AriakitMenuButton\n render={<AriakitMenuItem />}\n className={mergeCSSClasses(\"bn-ak-menu-item\", className || \"\")}\n ref={ref}\n onClick={onClick}>\n {icon}\n {children}\n <AriakitMenuButtonArrow />\n {checked !== undefined && <AriakitCheckboxCheck checked={checked} />}\n </AriakitMenuButton>\n );\n }\n return (\n <AriakitMenuItem\n className={mergeCSSClasses(\"bn-ak-menu-item\", className || \"\")}\n ref={ref}\n onClick={onClick}>\n {icon}\n {children}\n {checked !== undefined && <AriakitCheckboxCheck checked={checked} />}\n </AriakitMenuItem>\n );\n});\n\nexport const MenuLabel = forwardRef<\n HTMLDivElement,\n ComponentProps[\"Generic\"][\"Menu\"][\"Label\"]\n>((props, ref) => {\n const { className, children, ...rest } = props;\n\n assertEmpty(rest);\n\n return (\n <AriakitMenuGroupLabel\n className={mergeCSSClasses(\"bn-ak-group-label\", className || \"\")}\n ref={ref}>\n {children}\n </AriakitMenuGroupLabel>\n );\n});\n\nexport const MenuTrigger = (\n props: ComponentProps[\"Generic\"][\"Menu\"][\"Trigger\"]\n) => {\n const { children, sub, ...rest } = props;\n\n assertEmpty(rest);\n\n if (sub) {\n return children;\n }\n\n return <AriakitMenuButton render={children as any}></AriakitMenuButton>;\n};\n\nexport const MenuDivider = forwardRef<\n HTMLHRElement,\n ComponentProps[\"Generic\"][\"Menu\"][\"Divider\"]\n>((props, ref) => {\n const { className, ...rest } = props;\n\n assertEmpty(rest);\n\n return (\n <AriakitMenuSeparator\n className={mergeCSSClasses(\"bn-ak-separator\", className || \"\")}\n ref={ref}\n />\n );\n});\n","import {\n Tab as AriakitTab,\n TabList as AriakitTabList,\n TabPanel as AriakitTabPanel,\n TabProvider as AriakitTabProvider,\n} from \"@ariakit/react\";\n\nimport { assertEmpty, mergeCSSClasses } from \"@blocknote/core\";\nimport { ComponentProps } from \"@blocknote/react\";\nimport { forwardRef } from \"react\";\n\nexport const Panel = forwardRef<\n HTMLDivElement,\n ComponentProps[\"FilePanel\"][\"Root\"]\n>((props, ref) => {\n const {\n className,\n tabs,\n defaultOpenTab,\n openTab,\n setOpenTab,\n loading, // TODO: implement loading\n ...rest\n } = props;\n assertEmpty(rest);\n\n return (\n <div\n className={mergeCSSClasses(\"bn-ak-wrapper\", className || \"\")}\n ref={ref}>\n <AriakitTabProvider\n defaultSelectedId={defaultOpenTab}\n selectedId={openTab}\n setActiveId={(activeId) => {\n if (activeId) {\n setOpenTab(activeId);\n }\n }}>\n {/*{loading && <LoadingOverlay visible={loading} />}*/}\n\n <AriakitTabList className={\"bn-ak-tab-list\"}>\n {tabs.map((tab) => (\n <AriakitTab className={\"bn-ak-tab\"} id={tab.name} key={tab.name}>\n {tab.name}\n </AriakitTab>\n ))}\n </AriakitTabList>\n\n <div className={\"bn-ak-panels\"}>\n {tabs.map((tab) => (\n <AriakitTabPanel tabId={tab.name} key={tab.name}>\n {tab.tabPanel}\n </AriakitTabPanel>\n ))}\n </div>\n </AriakitTabProvider>\n </div>\n );\n});\n","import { Button as AriakitButton } from \"@ariakit/react\";\n\nimport { assertEmpty, mergeCSSClasses } from \"@blocknote/core\";\nimport { ComponentProps } from \"@blocknote/react\";\nimport { forwardRef } from \"react\";\n\nexport const PanelButton = forwardRef<\n HTMLButtonElement,\n ComponentProps[\"FilePanel\"][\"Button\"]\n>((props, ref) => {\n const { className, children, onClick, label, ...rest } = props;\n\n assertEmpty(rest);\n\n return (\n <AriakitButton\n className={mergeCSSClasses(\"bn-ak-button\", className || \"\")}\n onClick={onClick}\n aria-label={label}\n ref={ref}>\n {children}\n </AriakitButton>\n );\n});\n","import {\n FormInput as AriakitFormInput,\n FormProvider as AriakitFormProvider,\n} from \"@ariakit/react\";\n\nimport { assertEmpty } from \"@blocknote/core\";\nimport { ComponentProps } from \"@blocknote/react\";\nimport { forwardRef } from \"react\";\n\nexport const PanelFileInput = forwardRef<\n HTMLInputElement,\n ComponentProps[\"FilePanel\"][\"FileInput\"]\n>((props, ref) => {\n const { className, accept, value, placeholder, onChange, ...rest } = props;\n\n assertEmpty(rest);\n\n return (\n <AriakitFormProvider>\n <AriakitFormInput\n className={className}\n ref={ref}\n name={\"panel-input\"}\n type={\"file\"}\n accept={accept}\n value={value ? value.name : undefined}\n onChange={async (e) => onChange?.(e.target.files![0])}\n placeholder={placeholder}\n />\n </AriakitFormProvider>\n );\n});\n","import { assertEmpty } from \"@blocknote/core\";\nimport { ComponentProps } from \"@blocknote/react\";\nimport { forwardRef } from \"react\";\n\nexport const PanelTab = forwardRef<\n HTMLDivElement,\n ComponentProps[\"FilePanel\"][\"TabPanel\"]\n>((props, ref) => {\n const { className, children, ...rest } = props;\n\n assertEmpty(rest);\n\n return (\n <div className={className} ref={ref}>\n {children}\n </div>\n );\n});\n","import {\n FormInput as AriakitFormInput,\n FormProvider as AriakitFormProvider,\n} from \"@ariakit/react\";\n\nimport { assertEmpty, mergeCSSClasses } from \"@blocknote/core\";\nimport { ComponentProps } from \"@blocknote/react\";\nimport { forwardRef } from \"react\";\n\nexport const PanelTextInput = forwardRef<\n HTMLInputElement,\n ComponentProps[\"FilePanel\"][\"TextInput\"]\n>((props, ref) => {\n const { className, value, placeholder, onKeyDown, onChange, ...rest } = props;\n\n assertEmpty(rest);\n\n return (\n <AriakitFormProvider>\n <AriakitFormInput\n className={mergeCSSClasses(\"bn-ak-input\", className || \"\")}\n name={\"panel-input\"}\n value={value}\n placeholder={placeholder}\n onChange={onChange}\n onKeyDown={onKeyDown}\n data-test={\"embed-input\"}\n ref={ref}\n />\n </AriakitFormProvider>\n );\n});\n","import {\n Popover as AriakitPopover,\n PopoverDisclosure as AriakitPopoverDisclosure,\n PopoverProvider as AriakitPopoverProvider,\n} from \"@ariakit/react\";\n\nimport { assertEmpty, mergeCSSClasses } from \"@blocknote/core\";\nimport { ComponentProps } from \"@blocknote/react\";\nimport { forwardRef } from \"react\";\n\nexport const PopoverTrigger = forwardRef<\n HTMLButtonElement,\n ComponentProps[\"Generic\"][\"Popover\"][\"Trigger\"]\n>((props, ref) => {\n const { children, ...rest } = props;\n\n assertEmpty(rest);\n\n return <AriakitPopoverDisclosure render={children as any} ref={ref} />;\n});\n\nexport const PopoverContent = forwardRef<\n HTMLDivElement,\n ComponentProps[\"Generic\"][\"Popover\"][\"Content\"]\n>((props, ref) => {\n const { className, children, variant, ...rest } = props;\n\n assertEmpty(rest);\n\n return (\n <AriakitPopover\n className={mergeCSSClasses(\"bn-ak-popover\", className || \"\")}\n ref={ref}>\n {children}\n </AriakitPopover>\n );\n});\n\nexport const Popover = (\n props: ComponentProps[\"Generic\"][\"Popover\"][\"Root\"]\n) => {\n const { children, opened, position, ...rest } = props;\n\n assertEmpty(rest);\n\n return (\n <AriakitPopoverProvider open={opened} placement={position}>\n {children}\n </AriakitPopoverProvider>\n );\n};\n","import { Group as AriakitGroup } from \"@ariakit/react\";\n\nimport { assertEmpty } from \"@blocknote/core\";\nimport { ComponentProps } from \"@blocknote/react\";\nimport { forwardRef } from \"react\";\n\nexport const SideMenu = forwardRef<\n HTMLDivElement,\n ComponentProps[\"SideMenu\"][\"Root\"]\n>((props, ref) => {\n const { className, children, ...rest } = props;\n\n assertEmpty(rest, false);\n\n return (\n <AriakitGroup className={className} ref={ref} {...rest}>\n {children}\n </AriakitGroup>\n );\n});\n","import { Button as AriakitButton } from \"@ariakit/react\";\n\nimport { assertEmpty, mergeCSSClasses } from \"@blocknote/core\";\nimport { ComponentProps } from \"@blocknote/react\";\nimport { forwardRef } from \"react\";\n\nexport const SideMenuButton = forwardRef<\n HTMLButtonElement,\n ComponentProps[\"SideMenu\"][\"Button\"]\n>((props, ref) => {\n const {\n className,\n children,\n icon,\n onClick,\n label,\n onDragEnd,\n onDragStart,\n draggable,\n ...rest\n } = props;\n\n // false, because rest props can be added by ariakit when button is used as a trigger\n // assertEmpty in this case is only used at typescript level, not runtime level\n assertEmpty(rest, false);\n\n return (\n <AriakitButton\n onDragEnd={onDragEnd}\n onDragStart={onDragStart}\n draggable={draggable}\n aria-label={label}\n className={mergeCSSClasses(\n \"bn-ak-button bn-ak-secondary\",\n className || \"\"\n )}\n ref={ref}\n onClick={onClick}\n {...rest}>\n {icon}\n {children}\n </AriakitButton>\n );\n});\n","import { assertEmpty } from \"@blocknote/core\";\nimport { ComponentProps } from \"@blocknote/react\";\nimport { forwardRef } from \"react\";\n\nexport const GridSuggestionMenu = forwardRef<\n HTMLDivElement,\n ComponentProps[\"GridSuggestionMenu\"][\"Root\"]\n>((props, ref) => {\n const { className, children, id, columns, ...rest } = props;\n\n assertEmpty(rest);\n\n return (\n <div\n className={className}\n style={{ gridTemplateColumns: `repeat(${columns}, 1fr)` } as any}\n ref={ref}\n id={id}\n role=\"grid\">\n {children}\n </div>\n );\n});\n","import { assertEmpty, mergeCSSClasses } from \"@blocknote/core\";\nimport { ComponentProps } from \"@blocknote/react\";\nimport { forwardRef } from \"react\";\n\nexport const GridSuggestionMenuEmptyItem = forwardRef<\n HTMLDivElement,\n ComponentProps[\"GridSuggestionMenu\"][\"EmptyItem\"]\n>((props, ref) => {\n const { className, children, columns, ...rest } = props;\n\n assertEmpty(rest);\n\n return (\n <div\n className={mergeCSSClasses(\"bn-ak-menu-item\", className || \"\")}\n style={{ gridColumn: `1 / ${columns + 1}` }}\n ref={ref}>\n <div className=\"bn-ak-suggestion-menu-item-label\">{children}</div>\n </div>\n );\n});\n","import { assertEmpty } from \"@blocknote/core\";\nimport { ComponentProps, elementOverflow, mergeRefs } from \"@blocknote/react\";\nimport { forwardRef, useEffect, useRef } from \"react\";\n\nexport const GridSuggestionMenuItem = forwardRef<\n HTMLDivElement,\n ComponentProps[\"GridSuggestionMenu\"][\"Item\"]\n>((props, ref) => {\n const { className, isSelected, onClick, item, id, ...rest } = props;\n\n assertEmpty(rest);\n\n const itemRef = useRef<HTMLDivElement>(null);\n\n useEffect(() => {\n if (!itemRef.current || !isSelected) {\n return;\n }\n\n const overflow = elementOverflow(\n itemRef.current,\n document.querySelector(\".bn-grid-suggestion-menu\")!\n );\n\n if (overflow === \"top\") {\n itemRef.current.scrollIntoView(true);\n } else if (overflow === \"bottom\") {\n itemRef.current.scrollIntoView(false);\n }\n }, [isSelected]);\n\n return (\n <div\n className={className}\n ref={mergeRefs([ref, itemRef])}\n id={id}\n role=\"option\"\n onClick={onClick}\n aria-selected={isSelected || undefined}>\n {item.icon}\n </div>\n );\n});\n","import { assertEmpty } from \"@blocknote/core\";\nimport { ComponentProps } from \"@blocknote/react\";\nimport { forwardRef } from \"react\";\n\nexport const GridSuggestionMenuLoader = forwardRef<\n HTMLDivElement,\n ComponentProps[\"GridSuggestionMenu\"][\"Loader\"]\n>((props, ref) => {\n const {\n className,\n children, // unused, using \"dots\" instead\n columns,\n ...rest\n } = props;\n\n assertEmpty(rest);\n\n return (\n <div\n className={className}\n style={{ gridColumn: `1 / ${columns + 1}` }}\n ref={ref}>\n {children}\n </div>\n );\n});\n","import { Group as AriakitGroup } from \"@ariakit/react\";\n\nimport { assertEmpty, mergeCSSClasses } from \"@blocknote/core\";\nimport { ComponentProps } from \"@blocknote/react\";\nimport { forwardRef } from \"react\";\n\nexport const SuggestionMenu = forwardRef<\n HTMLDivElement,\n ComponentProps[\"SuggestionMenu\"][\"Root\"]\n>((props, ref) => {\n const { className, children, id, ...rest } = props;\n\n assertEmpty(rest);\n\n return (\n <AriakitGroup\n className={mergeCSSClasses(\"bn-ak-menu\", className || \"\")}\n id={id}\n role=\"listbox\"\n ref={ref}>\n {children}\n </AriakitGroup>\n );\n});\n","import { assertEmpty, mergeCSSClasses } from \"@blocknote/core\";\nimport { ComponentProps } from \"@blocknote/react\";\nimport { forwardRef } from \"react\";\n\nexport const SuggestionMenuEmptyItem = forwardRef<\n HTMLDivElement,\n ComponentProps[\"SuggestionMenu\"][\"EmptyItem\"]\n>((props, ref) => {\n const { className, children, ...rest } = props;\n\n assertEmpty(rest);\n\n return (\n <div\n className={mergeCSSClasses(\"bn-ak-menu-item\", className || \"\")}\n ref={ref}>\n <div className=\"bn-ak-suggestion-menu-item-label\">{children}</div>\n </div>\n );\n});\n","import { assertEmpty, mergeCSSClasses } from \"@blocknote/core\";\nimport { ComponentProps, elementOverflow, mergeRefs } from \"@blocknote/react\";\nimport { forwardRef, useEffect, useRef } from \"react\";\n\nexport const SuggestionMenuItem = forwardRef<\n HTMLDivElement,\n ComponentProps[\"SuggestionMenu\"][\"Item\"]\n>((props, ref) => {\n const { className, item, isSelected, onClick, id, ...rest } = props;\n\n assertEmpty(rest);\n\n const itemRef = useRef<HTMLDivElement>(null);\n\n useEffect(() => {\n if (!itemRef.current || !isSelected) {\n return;\n }\n\n const overflow = elementOverflow(\n itemRef.current,\n document.querySelector(\".bn-suggestion-menu\")!\n );\n\n if (overflow === \"top\") {\n itemRef.current.scrollIntoView(true);\n } else if (overflow === \"bottom\") {\n itemRef.current.scrollIntoView(false);\n }\n }, [isSelected]);\n\n return (\n <div\n className={mergeCSSClasses(\"bn-ak-menu-item\", className || \"\")}\n ref={mergeRefs([ref, itemRef])}\n id={id}\n onClick={onClick}\n role=\"option\"\n aria-selected={isSelected || undefined}>\n {item.icon && (\n <div\n className=\"bn-ak-suggestion-menu-item-section\"\n data-position=\"left\">\n {item.icon}\n </div>\n )}\n <div className=\"bn-ak-suggestion-menu-item-body\">\n <div className=\"bn-ak-suggestion-menu-item-title\">{item.title}</div>\n <div className=\"bn-ak-suggestion-menu-item-subtitle\">\n {item.subtext}\n </div>\n </div>\n {item.badge && (\n <div\n data-position=\"right\"\n className=\"bn-ak-suggestion-menu-item-section\">\n <div>{item.badge}</div>\n </div>\n )}\n </div>\n );\n});\n","import { assertEmpty, mergeCSSClasses } from \"@blocknote/core\";\nimport { ComponentProps } from \"@blocknote/react\";\nimport { forwardRef } from \"react\";\n\nexport const SuggestionMenuLabel = forwardRef<\n HTMLDivElement,\n ComponentProps[\"SuggestionMenu\"][\"Label\"]\n>((props, ref) => {\n const { className, children, ...rest } = props;\n\n assertEmpty(rest);\n\n return (\n <div\n className={mergeCSSClasses(\"bn-ak-group-label\", className || \"\")}\n ref={ref}>\n {children}\n </div>\n );\n});\n","import { assertEmpty } from \"@blocknote/core\";\nimport { ComponentProps } from \"@blocknote/react\";\nimport { forwardRef } from \"react\";\n\nexport const SuggestionMenuLoader = forwardRef<\n HTMLDivElement,\n ComponentProps[\"SuggestionMenu\"][\"Loader\"]\n>((props, ref) => {\n const { className, children, ...rest } = props;\n\n assertEmpty(rest);\n\n return (\n <div className={className} ref={ref}>\n {children}\n </div>\n );\n});\n","import { Button as AriakitButton } from \"@ariakit/react\";\n\nimport { assertEmpty, mergeCSSClasses } from \"@blocknote/core\";\nimport { ComponentProps } from \"@blocknote/react\";\nimport { forwardRef } from \"react\";\n\nexport const ExtendButton = forwardRef<\n HTMLButtonElement,\n ComponentProps[\"TableHandle\"][\"ExtendButton\"]\n>((props, ref) => {\n const { children, className, onMouseDown, onClick, ...rest } = props;\n\n // false, because rest props can be added by mantine when button is used as a trigger\n // assertEmpty in this case is only used at typescript level, not runtime level\n assertEmpty(rest, false);\n\n return (\n <AriakitButton\n className={mergeCSSClasses(\n \"bn-ak-button bn-ak-secondary\",\n className || \"\"\n )}\n ref={ref}\n onMouseDown={onMouseDown}\n onClick={onClick}\n {...rest}>\n {children}\n </AriakitButton>\n );\n});\n","import { Button as AriakitButton } from \"@ariakit/react\";\n\nimport { assertEmpty, mergeCSSClasses } from \"@blocknote/core\";\nimport { ComponentProps } from \"@blocknote/react\";\nimport { forwardRef } from \"react\";\n\nexport const TableHandle = forwardRef<\n HTMLButtonElement,\n ComponentProps[\"TableHandle\"][\"Root\"]\n>((props, ref) => {\n const {\n className,\n children,\n draggable,\n onDragStart,\n onDragEnd,\n style,\n label,\n ...rest\n } = props;\n\n // false, because rest props can be added by ariakit when button is used as a trigger\n // assertEmpty in this case is only used at typescript level, not runtime level\n assertEmpty(rest, false);\n\n return (\n <AriakitButton\n className={mergeCSSClasses(\n \"bn-ak-button bn-ak-secondary\",\n className || \"\"\n )}\n ref={ref}\n aria-label={label}\n draggable={draggable}\n onDragStart={onDragStart}\n onDragEnd={onDragEnd}\n style={style}\n {...rest}>\n {children}\n </AriakitButton>\n );\n});\n","import { Toolbar as AriakitToolbar } from \"@ariakit/react\";\n\nimport { assertEmpty, mergeCSSClasses } from \"@blocknote/core\";\nimport { ComponentProps } from \"@blocknote/react\";\nimport { forwardRef } from \"react\";\n\ntype ToolbarProps = ComponentProps[\"FormattingToolbar\"][\"Root\"] &\n ComponentProps[\"LinkToolbar\"][\"Root\"];\n\nexport const Toolbar = forwardRef<HTMLDivElement, ToolbarProps>(\n (props, ref) => {\n const { className, children, onMouseEnter, onMouseLeave, ...rest } = props;\n\n assertEmpty(rest);\n\n return (\n <AriakitToolbar\n className={mergeCSSClasses(\"bn-ak-toolbar\", className || \"\")}\n ref={ref}\n onMouseEnter={onMouseEnter}\n onMouseLeave={onMouseLeave}>\n {children}\n </AriakitToolbar>\n );\n }\n);\n","import {\n Tooltip as AriakitTooltip,\n TooltipAnchor as AriakitTooltipAnchor,\n ToolbarItem as AriakitToolbarItem,\n TooltipProvider as AriakitTooltipProvider,\n} from \"@ariakit/react\";\n\nimport { assertEmpty, isSafari, mergeCSSClasses } from \"@blocknote/core\";\nimport { ComponentProps } from \"@blocknote/react\";\nimport { forwardRef } from \"react\";\n\ntype ToolbarButtonProps = ComponentProps[\"FormattingToolbar\"][\"Button\"] &\n ComponentProps[\"LinkToolbar\"][\"Button\"];\n\n/**\n * Helper for basic buttons that show in the formatting toolbar.\n */\nexport const ToolbarButton = forwardRef<HTMLButtonElement, ToolbarButtonProps>(\n (props, ref) => {\n const {\n className,\n children,\n mainTooltip,\n secondaryTooltip,\n icon,\n isSelected,\n isDisabled,\n onClick,\n label,\n ...rest\n } = props;\n\n // false, because rest props can be added by ariakit when button is used as a trigger\n // assertEmpty in this case is only used at typescript level, not runtime level\n assertEmpty(rest, false);\n\n return (\n <AriakitTooltipProvider>\n <AriakitTooltipAnchor\n className=\"link\"\n render={\n <AriakitToolbarItem\n aria-label={label}\n className={mergeCSSClasses(\n \"bn-ak-button bn-ak-secondary\",\n className || \"\"\n )}\n // Needed as Safari doesn't focus button elements on mouse down\n // unlike other browsers.\n onMouseDown={(e) => {\n if (isSafari()) {\n (e.currentTarget as HTMLButtonElement).focus();\n }\n }}\n onClick={onClick}\n aria-pressed={isSelected}\n data-selected={isSelected ? \"true\" : undefined}\n data-test={\n props.mainTooltip.slice(0, 1).toLowerCase() +\n props.mainTooltip.replace(/\\s+/g, \"\").slice(1)\n }\n // size={\"xs\"}\n disabled={isDisabled || false}\n ref={ref}\n {...rest}>\n {icon}\n {children}\n </AriakitToolbarItem>\n }\n />\n <AriakitTooltip className=\"bn-ak-tooltip\">\n <span>{mainTooltip}</span>\n {secondaryTooltip && <span>{secondaryTooltip}</span>}\n </AriakitTooltip>\n </AriakitTooltipProvider>\n );\n }\n);\n","import {\n Select as AriakitSelect,\n SelectArrow as AriakitSelectArrow,\n SelectItem as AriakitSelectItem,\n SelectItemCheck as AriakitSelectItemCheck,\n SelectPopover as AriakitSelectPopover,\n SelectProvider as AriakitSelectProvider,\n ToolbarItem as AriakitToolbarItem,\n} from \"@ariakit/react\";\n\nimport { assertEmpty, mergeCSSClasses } from \"@blocknote/core\";\nimport { ComponentProps } from \"@blocknote/react\";\nimport { forwardRef } from \"react\";\n\nexport const ToolbarSelect = forwardRef<\n HTMLDivElement,\n ComponentProps[\"FormattingToolbar\"][\"Select\"]\n>((props, ref) => {\n const { className, items, isDisabled, ...rest } = props;\n\n assertEmpty(rest);\n\n const selectedItem = props.items.filter((p) => p.isSelected)[0];\n\n const setValue = (value: string) => {\n items.find((item) => item.text === value)!.onClick?.();\n };\n\n return (\n <AriakitSelectProvider value={selectedItem.text} setValue={setValue}>\n <AriakitSelect\n className={\"bn-ak-button bn-ak-secondary\"}\n disabled={isDisabled}\n aria-label=\"Text alignment\"\n render={<AriakitToolbarItem />}>\n {selectedItem.icon} {selectedItem.text} <AriakitSelectArrow />\n </AriakitSelect>\n <AriakitSelectPopover\n className={mergeCSSClasses(\"bn-ak-popover\", className || \"\")}\n ref={ref}\n gutter={4}>\n {items.map((option) => (\n <AriakitSelectItem\n className={\"bn-ak-select-item\"}\n key={option.text}\n value={option.text}>\n {option.icon}\n {option.text}\n {option.text === selectedItem.text && <AriakitSelectItemCheck />}\n </AriakitSelectItem>\n ))}\n </AriakitSelectPopover>\n </AriakitSelectProvider>\n );\n});\n","import { Components } from \"@blocknote/react\";\n\nimport { Form } from \"./input/Form.js\";\nimport { TextInput } from \"./input/TextInput.js\";\nimport {\n Menu,\n MenuDivider,\n MenuDropdown,\n MenuItem,\n MenuLabel,\n MenuTrigger,\n} from \"./menu/Menu.js\";\nimport { Panel } from \"./panel/Panel.js\";\nimport { PanelButton } from \"./panel/PanelButton.js\";\nimport { PanelFileInput } from \"./panel/PanelFileInput.js\";\nimport { PanelTab } from \"./panel/PanelTab.js\";\nimport { PanelTextInput } from \"./panel/PanelTextInput.js\";\nimport { Popover, PopoverContent, PopoverTrigger } from \"./popover/Popover.js\";\nimport { SideMenu } from \"./sideMenu/SideMenu.js\";\nimport { SideMenuButton } from \"./sideMenu/SideMenuButton.js\";\nimport { GridSuggestionMenu } from \"./suggestionMenu/gridSuggestionMenu/GridSuggestionMenu.js\";\nimport { GridSuggestionMenuEmptyItem } from \"./suggestionMenu/gridSuggestionMenu/GridSuggestionMenuEmptyItem.js\";\nimport { GridSuggestionMenuItem } from \"./suggestionMenu/gridSuggestionMenu/GridSuggestionMenuItem.js\";\nimport { GridSuggestionMenuLoader } from \"./suggestionMenu/gridSuggestionMenu/GridSuggestionMenuLoader.js\";\nimport { SuggestionMenu } from \"./suggestionMenu/SuggestionMenu.js\";\nimport { SuggestionMenuEmptyItem } from \"./suggestionMenu/SuggestionMenuEmptyItem.js\";\nimport { SuggestionMenuItem } from \"./suggestionMenu/SuggestionMenuItem.js\";\nimport { SuggestionMenuLabel } from \"./suggestionMenu/SuggestionMenuLabel.js\";\nimport { SuggestionMenuLoader } from \"./suggestionMenu/SuggestionMenuLoader.js\";\nimport { ExtendButton } from \"./tableHandle/ExtendButton.js\";\nimport { TableHandle } from \"./tableHandle/TableHandle.js\";\nimport { Toolbar } from \"./toolbar/Toolbar.js\";\nimport { ToolbarButton } from \"./toolbar/ToolbarButton.js\";\nimport { ToolbarSelect } from \"./toolbar/ToolbarSelect.js\";\n\nexport const components: Components = {\n FormattingToolbar: {\n Root: Toolbar,\n Button: ToolbarButton,\n Select: ToolbarSelect,\n },\n FilePanel: {\n Root: Panel,\n Button: PanelButton,\n FileInput: PanelFileInput,\n TabPanel: PanelTab,\n TextInput: PanelTextInput,\n },\n GridSuggestionMenu: {\n Root: GridSuggestionMenu,\n Item: GridSuggestionMenuItem,\n EmptyItem: GridSuggestionMenuEmptyItem,\n Loader: GridSuggestionMenuLoader,\n },\n LinkToolbar: {\n Root: Toolbar,\n Button: ToolbarButton,\n },\n SideMenu: {\n Root: SideMenu,\n Button: SideMenuButton,\n },\n SuggestionMenu: {\n Root: SuggestionMenu,\n Item: SuggestionMenuItem,\n EmptyItem: SuggestionMenuEmptyItem,\n Label: SuggestionMenuLabel,\n Loader: SuggestionMenuLoader,\n },\n TableHandle: {\n Root: TableHandle,\n ExtendButton: ExtendButton,\n },\n Generic: {\n Toolbar: {\n Root: Toolbar,\n Button: ToolbarButton,\n },\n Form: {\n Root: Form,\n TextInput: TextInput,\n },\n Menu: {\n Root: Menu,\n Trigger: MenuTrigger,\n Dropdown: MenuDropdown,\n Divider: MenuDivider,\n Label: MenuLabel,\n Item: MenuItem,\n },\n Popover: {\n Root: Popover,\n Trigger: PopoverTrigger,\n Content: PopoverContent,\n },\n },\n};\n","import {\n BlockSchema,\n InlineContentSchema,\n mergeCSSClasses,\n StyleSchema,\n} from \"@blocknote/core\";\nimport {\n BlockNoteViewProps,\n BlockNoteViewRaw,\n ComponentsContext,\n} from \"@blocknote/react\";\nimport { components } from \"./components.js\";\n\nexport const BlockNoteView = <\n BSchema extends BlockSchema,\n ISchema extends InlineContentSchema,\n SSchema extends StyleSchema\n>(\n props: BlockNoteViewProps<BSchema, ISchema, SSchema>\n) => {\n const { className, ...rest } = props;\n\n return (\n <ComponentsContext.Provider value={components}>\n <BlockNoteViewRaw\n className={mergeCSSClasses(\"bn-ariakit\", className || \"\")}\n {...rest}\n />\n </ComponentsContext.Provider>\n );\n};\n"],"names":["Form","props","children","rest","assertEmpty","jsx","AriakitFormProvider","TextInput","forwardRef","ref","className","name","label","icon","value","autoFocus","placeholder","onKeyDown","onChange","onSubmit","jsxs","Fragment","AriakitFormLabel","AriakitFormInput","mergeCSSClasses","Menu","onOpenChange","position","sub","AriakitMenuProvider","MenuDropdown","AriakitMenu","MenuItem","checked","subTrigger","onClick","AriakitMenuButton","AriakitMenuItem","AriakitMenuButtonArrow","AriakitCheckboxCheck","MenuLabel","AriakitMenuGroupLabel","MenuTrigger","MenuDivider","AriakitMenuSeparator","Panel","tabs","defaultOpenTab","openTab","setOpenTab","loading","AriakitTabProvider","activeId","AriakitTabList","tab","AriakitTab","AriakitTabPanel","PanelButton","AriakitButton","PanelFileInput","accept","e","PanelTab","PanelTextInput","PopoverTrigger","AriakitPopoverDisclosure","PopoverContent","variant","AriakitPopover","Popover","opened","AriakitPopoverProvider","SideMenu","AriakitGroup","SideMenuButton","onDragEnd","onDragStart","draggable","GridSuggestionMenu","id","columns","GridSuggestionMenuEmptyItem","GridSuggestionMenuItem","isSelected","item","itemRef","useRef","useEffect","overflow","elementOverflow","mergeRefs","GridSuggestionMenuLoader","SuggestionMenu","SuggestionMenuEmptyItem","SuggestionMenuItem","SuggestionMenuLabel","SuggestionMenuLoader","ExtendButton","onMouseDown","TableHandle","style","Toolbar","onMouseEnter","onMouseLeave","AriakitToolbar","ToolbarButton","mainTooltip","secondaryTooltip","isDisabled","AriakitTooltipProvider","AriakitTooltipAnchor","AriakitToolbarItem","isSafari","AriakitTooltip","ToolbarSelect","items","selectedItem","p","setValue","_b","_a","AriakitSelectProvider","AriakitSelect","AriakitSelectArrow","AriakitSelectPopover","option","AriakitSelectItem","AriakitSelectItemCheck","components","BlockNoteView","ComponentsContext","BlockNoteViewRaw"],"mappings":"qfAKa,MAAAA,EAAQC,GAAqD,CACxE,KAAM,CAAE,SAAAC,EAAU,GAAGC,CAAA,EAASF,EAE9BG,OAAAA,EAAA,YAAYD,CAAI,EAETE,MAACC,EAAAA,cAAqB,SAAAJ,CAAS,CAAA,CACxC,ECFaK,EAAYC,EAAA,WAGvB,CAACP,EAAOQ,IAAQ,CACV,KAAA,CACJ,UAAAC,EACA,KAAAC,EACA,MAAAC,EACA,KAAAC,EACA,MAAAC,EACA,UAAAC,EACA,YAAAC,EACA,UAAAC,EACA,SAAAC,EACA,SAAAC,EACA,GAAGhB,CACD,EAAAF,EAEJG,OAAAA,EAAA,YAAYD,CAAI,EAIXiB,EAAA,KAAAC,WAAA,CAAA,SAAA,CAAApB,EAAM,OAASI,MAACiB,EAAAA,UAAiB,CAAA,KAAAX,EAAa,SAAMC,EAAA,EACrDQ,EAAAA,KAAC,MAAI,CAAA,UAAU,sBACZ,SAAA,CAAAP,EACDR,EAAA,IAACkB,EAAA,UAAA,CACC,UAAWC,EAAA,gBAAgB,cAAed,GAAa,EAAE,EACzD,IAAAD,EACA,KAAAE,EACA,MAAAG,EACA,UAAAC,EACA,YAAAC,EACA,UAAAC,EACA,SAAAC,EACA,SAAAC,CAAA,CACF,CAAA,EACF,CACF,CAAA,CAAA,CAEJ,CAAC,ECjCYM,EAAQxB,GAAqD,CAClE,KAAA,CACJ,SAAAC,EACA,aAAAwB,EACA,SAAAC,EACA,IAAAC,EACA,GAAGzB,CACD,EAAAF,EAEJG,OAAAA,EAAA,YAAYD,CAAI,EAGdE,EAAA,IAACwB,EAAA,aAAA,CACC,UAAWF,EACX,QAASD,EACT,aAAc,GACb,SAAAxB,CAAA,CAAA,CAGP,EAEa4B,EAAetB,EAAA,WAG1B,CAACP,EAAOQ,IAAQ,CACV,KAAA,CACJ,UAAAC,EACA,SAAAR,EACA,IAAA0B,EACA,GAAGzB,CACD,EAAAF,EAEJG,OAAAA,EAAA,YAAYD,CAAI,EAGdE,EAAA,IAAC0B,EAAA,KAAA,CACC,cAAe,GACf,UAAWP,EAAA,gBAAgB,aAAcd,GAAa,EAAE,EACxD,IAAAD,EACC,SAAAP,CAAA,CAAA,CAGP,CAAC,EAEY8B,EAAWxB,EAAA,WAGtB,CAACP,EAAOQ,IAAQ,CACV,KAAA,CAAE,UAAAC,EAAW,SAAAR,EAAU,KAAAW,EAAM,QAAAoB,EAAS,WAAAC,EAAY,QAAAC,EAAS,GAAGhC,CAClE,EAAAF,EAIF,OAFAG,EAAA,YAAYD,CAAI,EAEZ+B,EAEAd,EAAA,KAACgB,EAAA,WAAA,CACC,aAASC,EAAgB,SAAA,EAAA,EACzB,UAAWb,EAAA,gBAAgB,kBAAmBd,GAAa,EAAE,EAC7D,IAAAD,EACA,QAAA0B,EACC,SAAA,CAAAtB,EACAX,QACAoC,EAAuB,gBAAA,EAAA,EACvBL,IAAY,QAAc5B,EAAAA,IAAAkC,EAAAA,cAAA,CAAqB,QAAAN,CAAkB,CAAA,CAAA,CAAA,CAAA,EAKtEb,EAAA,KAACiB,EAAA,SAAA,CACC,UAAWb,EAAA,gBAAgB,kBAAmBd,GAAa,EAAE,EAC7D,IAAAD,EACA,QAAA0B,EACC,SAAA,CAAAtB,EACAX,EACA+B,IAAY,QAAc5B,EAAAA,IAAAkC,EAAAA,cAAA,CAAqB,QAAAN,CAAkB,CAAA,CAAA,CAAA,CAAA,CAGxE,CAAC,EAEYO,EAAYhC,EAAA,WAGvB,CAACP,EAAOQ,IAAQ,CAChB,KAAM,CAAE,UAAAC,EAAW,SAAAR,EAAU,GAAGC,GAASF,EAEzCG,OAAAA,EAAA,YAAYD,CAAI,EAGdE,EAAA,IAACoC,EAAA,eAAA,CACC,UAAWjB,EAAA,gBAAgB,oBAAqBd,GAAa,EAAE,EAC/D,IAAAD,EACC,SAAAP,CAAA,CAAA,CAGP,CAAC,EAEYwC,EACXzC,GACG,CACH,KAAM,CAAE,SAAAC,EAAU,IAAA0B,EAAK,GAAGzB,GAASF,EAInC,OAFAG,EAAA,YAAYD,CAAI,EAEZyB,EACK1B,EAGFG,EAAA,IAAC+B,EAAkB,WAAA,CAAA,OAAQlC,CAAiB,CAAA,CACrD,EAEayC,EAAcnC,EAAA,WAGzB,CAACP,EAAOQ,IAAQ,CAChB,KAAM,CAAE,UAAAC,EAAW,GAAGP,CAAA,EAASF,EAE/BG,OAAAA,EAAA,YAAYD,CAAI,EAGdE,EAAA,IAACuC,EAAA,cAAA,CACC,UAAWpB,EAAA,gBAAgB,kBAAmBd,GAAa,EAAE,EAC7D,IAAAD,CAAA,CAAA,CAGN,CAAC,EChIYoC,EAAQrC,EAAA,WAGnB,CAACP,EAAOQ,IAAQ,CACV,KAAA,CACJ,UAAAC,EACA,KAAAoC,EACA,eAAAC,EACA,QAAAC,EACA,WAAAC,EACA,QAAAC,EACA,GAAG/C,CACD,EAAAF,EACJG,OAAAA,EAAA,YAAYD,CAAI,EAGdE,EAAA,IAAC,MAAA,CACC,UAAWmB,EAAA,gBAAgB,gBAAiBd,GAAa,EAAE,EAC3D,IAAAD,EACA,SAAAW,EAAA,KAAC+B,EAAA,YAAA,CACC,kBAAmBJ,EACnB,WAAYC,EACZ,YAAcI,GAAa,CACrBA,GACFH,EAAWG,CAAQ,CAEvB,EAGA,SAAA,CAAA/C,EAAAA,IAACgD,WAAe,UAAW,iBACxB,WAAK,IAAKC,GACRjD,EAAAA,IAAAkD,EAAAA,IAAA,CAAW,UAAW,YAAa,GAAID,EAAI,KACzC,SAAAA,EAAI,MADgDA,EAAI,IAE3D,CACD,CACH,CAAA,QAEC,MAAI,CAAA,UAAW,eACb,SAAKR,EAAA,IAAKQ,GACTjD,MAACmD,EAAAA,SAAgB,CAAA,MAAOF,EAAI,KACzB,SAAAA,EAAI,UADgCA,EAAI,IAE3C,CACD,EACH,CAAA,CAAA,CACF,CAAA,CAAA,CAGN,CAAC,ECpDYG,EAAcjD,EAAA,WAGzB,CAACP,EAAOQ,IAAQ,CAChB,KAAM,CAAE,UAAAC,EAAW,SAAAR,EAAU,QAAAiC,EAAS,MAAAvB,EAAO,GAAGT,CAAS,EAAAF,EAEzDG,OAAAA,EAAA,YAAYD,CAAI,EAGdE,EAAA,IAACqD,EAAA,OAAA,CACC,UAAWlC,EAAA,gBAAgB,eAAgBd,GAAa,EAAE,EAC1D,QAAAyB,EACA,aAAYvB,EACZ,IAAAH,EACC,SAAAP,CAAA,CAAA,CAGP,CAAC,ECdYyD,EAAiBnD,EAAA,WAG5B,CAACP,EAAOQ,IAAQ,CACV,KAAA,CAAE,UAAAC,EAAW,OAAAkD,EAAQ,MAAA9C,EAAO,YAAAE,EAAa,SAAAE,EAAU,GAAGf,CAAS,EAAAF,EAErEG,OAAAA,EAAA,YAAYD,CAAI,QAGbG,EAAAA,aACC,CAAA,SAAAD,EAAA,IAACkB,EAAA,UAAA,CACC,UAAAb,EACA,IAAAD,EACA,KAAM,cACN,KAAM,OACN,OAAAmD,EACA,MAAO9C,EAAQA,EAAM,KAAO,OAC5B,SAAU,MAAO+C,GAAM3C,GAAA,YAAAA,EAAW2C,EAAE,OAAO,MAAO,CAAC,GACnD,YAAA7C,CAAA,CAEJ,CAAA,CAAA,CAEJ,CAAC,EC3BY8C,EAAWtD,EAAA,WAGtB,CAACP,EAAOQ,IAAQ,CAChB,KAAM,CAAE,UAAAC,EAAW,SAAAR,EAAU,GAAGC,GAASF,EAEzCG,OAAAA,EAAA,YAAYD,CAAI,EAGbE,EAAAA,IAAA,MAAA,CAAI,UAAAK,EAAsB,IAAAD,EACxB,SAAAP,CACH,CAAA,CAEJ,CAAC,ECRY6D,EAAiBvD,EAAA,WAG5B,CAACP,EAAOQ,IAAQ,CACV,KAAA,CAAE,UAAAC,EAAW,MAAAI,EAAO,YAAAE,EAAa,UAAAC,EAAW,SAAAC,EAAU,GAAGf,CAAS,EAAAF,EAExEG,OAAAA,EAAA,YAAYD,CAAI,QAGbG,EAAAA,aACC,CAAA,SAAAD,EAAA,IAACkB,EAAA,UAAA,CACC,UAAWC,EAAA,gBAAgB,cAAed,GAAa,EAAE,EACzD,KAAM,cACN,MAAAI,EACA,YAAAE,EACA,SAAAE,EACA,UAAAD,EACA,YAAW,cACX,IAAAR,CAAA,CAEJ,CAAA,CAAA,CAEJ,CAAC,ECrBYuD,EAAiBxD,EAAA,WAG5B,CAACP,EAAOQ,IAAQ,CAChB,KAAM,CAAE,SAAAP,EAAU,GAAGC,CAAA,EAASF,EAE9BG,OAAAA,EAAA,YAAYD,CAAI,EAERE,EAAAA,IAAA4D,EAAAA,kBAAA,CAAyB,OAAQ/D,EAAiB,IAAAO,CAAU,CAAA,CACtE,CAAC,EAEYyD,EAAiB1D,EAAA,WAG5B,CAACP,EAAOQ,IAAQ,CAChB,KAAM,CAAE,UAAAC,EAAW,SAAAR,EAAU,QAAAiE,EAAS,GAAGhE,CAAS,EAAAF,EAElDG,OAAAA,EAAA,YAAYD,CAAI,EAGdE,EAAA,IAAC+D,EAAA,QAAA,CACC,UAAW5C,EAAA,gBAAgB,gBAAiBd,GAAa,EAAE,EAC3D,IAAAD,EACC,SAAAP,CAAA,CAAA,CAGP,CAAC,EAEYmE,EACXpE,GACG,CACH,KAAM,CAAE,SAAAC,EAAU,OAAAoE,EAAQ,SAAA3C,EAAU,GAAGxB,CAAS,EAAAF,EAEhDG,OAAAA,EAAA,YAAYD,CAAI,QAGboE,EAAuB,gBAAA,CAAA,KAAMD,EAAQ,UAAW3C,EAC9C,SAAAzB,CACH,CAAA,CAEJ,EC5CasE,EAAWhE,EAAA,WAGtB,CAACP,EAAOQ,IAAQ,CAChB,KAAM,CAAE,UAAAC,EAAW,SAAAR,EAAU,GAAGC,GAASF,EAEzCG,OAAAA,cAAYD,EAAM,EAAK,QAGpBsE,EAAa,MAAA,CAAA,UAAA/D,EAAsB,IAAAD,EAAW,GAAGN,EAC/C,SAAAD,CACH,CAAA,CAEJ,CAAC,ECbYwE,EAAiBlE,EAAA,WAG5B,CAACP,EAAOQ,IAAQ,CACV,KAAA,CACJ,UAAAC,EACA,SAAAR,EACA,KAAAW,EACA,QAAAsB,EACA,MAAAvB,EACA,UAAA+D,EACA,YAAAC,EACA,UAAAC,EACA,GAAG1E,CACD,EAAAF,EAIJG,OAAAA,cAAYD,EAAM,EAAK,EAGrBiB,EAAA,KAACsC,EAAA,OAAA,CACC,UAAAiB,EACA,YAAAC,EACA,UAAAC,EACA,aAAYjE,EACZ,UAAWY,EAAA,gBACT,+BACAd,GAAa,EACf,EACA,IAAAD,EACA,QAAA0B,EACC,GAAGhC,EACH,SAAA,CAAAU,EACAX,CAAA,CAAA,CAAA,CAGP,CAAC,ECvCY4E,EAAqBtE,EAAA,WAGhC,CAACP,EAAOQ,IAAQ,CAChB,KAAM,CAAE,UAAAC,EAAW,SAAAR,EAAU,GAAA6E,EAAI,QAAAC,EAAS,GAAG7E,CAAS,EAAAF,EAEtDG,OAAAA,EAAA,YAAYD,CAAI,EAGdE,EAAA,IAAC,MAAA,CACC,UAAAK,EACA,MAAO,CAAE,oBAAqB,UAAUsE,CAAO,QAAS,EACxD,IAAAvE,EACA,GAAAsE,EACA,KAAK,OACJ,SAAA7E,CAAA,CAAA,CAGP,CAAC,EClBY+E,EAA8BzE,EAAA,WAGzC,CAACP,EAAOQ,IAAQ,CAChB,KAAM,CAAE,UAAAC,EAAW,SAAAR,EAAU,QAAA8E,EAAS,GAAG7E,CAAS,EAAAF,EAElDG,OAAAA,EAAA,YAAYD,CAAI,EAGdE,EAAA,IAAC,MAAA,CACC,UAAWmB,EAAA,gBAAgB,kBAAmBd,GAAa,EAAE,EAC7D,MAAO,CAAE,WAAY,OAAOsE,EAAU,CAAC,EAAG,EAC1C,IAAAvE,EACA,SAACJ,EAAA,IAAA,MAAA,CAAI,UAAU,mCAAoC,SAAAH,EAAS,CAAA,CAAA,CAGlE,CAAC,EChBYgF,EAAyB1E,EAAA,WAGpC,CAACP,EAAOQ,IAAQ,CACV,KAAA,CAAE,UAAAC,EAAW,WAAAyE,EAAY,QAAAhD,EAAS,KAAAiD,EAAM,GAAAL,EAAI,GAAG5E,CAAS,EAAAF,EAE9DG,EAAA,YAAYD,CAAI,EAEV,MAAAkF,EAAUC,SAAuB,IAAI,EAE3CC,OAAAA,EAAAA,UAAU,IAAM,CACd,GAAI,CAACF,EAAQ,SAAW,CAACF,EACvB,OAGF,MAAMK,EAAWC,EAAA,gBACfJ,EAAQ,QACR,SAAS,cAAc,0BAA0B,CAAA,EAG/CG,IAAa,MACPH,EAAA,QAAQ,eAAe,EAAI,EAC1BG,IAAa,UACdH,EAAA,QAAQ,eAAe,EAAK,CACtC,EACC,CAACF,CAAU,CAAC,EAGb9E,EAAA,IAAC,MAAA,CACC,UAAAK,EACA,IAAKgF,EAAA,UAAU,CAACjF,EAAK4E,CAAO,CAAC,EAC7B,GAAAN,EACA,KAAK,SACL,QAAA5C,EACA,gBAAegD,GAAc,OAC5B,SAAKC,EAAA,IAAA,CAAA,CAGZ,CAAC,ECtCYO,EAA2BnF,EAAA,WAGtC,CAACP,EAAOQ,IAAQ,CACV,KAAA,CACJ,UAAAC,EACA,SAAAR,EACA,QAAA8E,EACA,GAAG7E,CACD,EAAAF,EAEJG,OAAAA,EAAA,YAAYD,CAAI,EAGdE,EAAA,IAAC,MAAA,CACC,UAAAK,EACA,MAAO,CAAE,WAAY,OAAOsE,EAAU,CAAC,EAAG,EAC1C,IAAAvE,EACC,SAAAP,CAAA,CAAA,CAGP,CAAC,ECnBY0F,EAAiBpF,EAAA,WAG5B,CAACP,EAAOQ,IAAQ,CAChB,KAAM,CAAE,UAAAC,EAAW,SAAAR,EAAU,GAAA6E,EAAI,GAAG5E,CAAS,EAAAF,EAE7CG,OAAAA,EAAA,YAAYD,CAAI,EAGdE,EAAA,IAACoE,EAAA,MAAA,CACC,UAAWjD,EAAA,gBAAgB,aAAcd,GAAa,EAAE,EACxD,GAAAqE,EACA,KAAK,UACL,IAAAtE,EACC,SAAAP,CAAA,CAAA,CAGP,CAAC,ECnBY2F,EAA0BrF,EAAA,WAGrC,CAACP,EAAOQ,IAAQ,CAChB,KAAM,CAAE,UAAAC,EAAW,SAAAR,EAAU,GAAGC,GAASF,EAEzCG,OAAAA,EAAA,YAAYD,CAAI,EAGdE,EAAA,IAAC,MAAA,CACC,UAAWmB,EAAA,gBAAgB,kBAAmBd,GAAa,EAAE,EAC7D,IAAAD,EACA,SAACJ,EAAA,IAAA,MAAA,CAAI,UAAU,mCAAoC,SAAAH,EAAS,CAAA,CAAA,CAGlE,CAAC,ECfY4F,EAAqBtF,EAAA,WAGhC,CAACP,EAAOQ,IAAQ,CACV,KAAA,CAAE,UAAAC,EAAW,KAAA0E,EAAM,WAAAD,EAAY,QAAAhD,EAAS,GAAA4C,EAAI,GAAG5E,CAAS,EAAAF,EAE9DG,EAAA,YAAYD,CAAI,EAEV,MAAAkF,EAAUC,SAAuB,IAAI,EAE3CC,OAAAA,EAAAA,UAAU,IAAM,CACd,GAAI,CAACF,EAAQ,SAAW,CAACF,EACvB,OAGF,MAAMK,EAAWC,EAAA,gBACfJ,EAAQ,QACR,SAAS,cAAc,qBAAqB,CAAA,EAG1CG,IAAa,MACPH,EAAA,QAAQ,eAAe,EAAI,EAC1BG,IAAa,UACdH,EAAA,QAAQ,eAAe,EAAK,CACtC,EACC,CAACF,CAAU,CAAC,EAGb/D,EAAA,KAAC,MAAA,CACC,UAAWI,EAAA,gBAAgB,kBAAmBd,GAAa,EAAE,EAC7D,IAAKgF,EAAA,UAAU,CAACjF,EAAK4E,CAAO,CAAC,EAC7B,GAAAN,EACA,QAAA5C,EACA,KAAK,SACL,gBAAegD,GAAc,OAC5B,SAAA,CAAAC,EAAK,MACJ/E,EAAA,IAAC,MAAA,CACC,UAAU,qCACV,gBAAc,OACb,SAAK+E,EAAA,IAAA,CACR,EAEFhE,EAAAA,KAAC,MAAI,CAAA,UAAU,kCACb,SAAA,CAAAf,EAAA,IAAC,MAAI,CAAA,UAAU,mCAAoC,SAAA+E,EAAK,MAAM,EAC7D/E,EAAA,IAAA,MAAA,CAAI,UAAU,sCACZ,WAAK,QACR,CAAA,EACF,EACC+E,EAAK,OACJ/E,EAAA,IAAC,MAAA,CACC,gBAAc,QACd,UAAU,qCACV,SAAAA,EAAA,IAAC,MAAK,CAAA,SAAA+E,EAAK,MAAM,CAAA,CACnB,CAAA,CAAA,CAAA,CAIR,CAAC,ECzDYW,EAAsBvF,EAAA,WAGjC,CAACP,EAAOQ,IAAQ,CAChB,KAAM,CAAE,UAAAC,EAAW,SAAAR,EAAU,GAAGC,GAASF,EAEzCG,OAAAA,EAAA,YAAYD,CAAI,EAGdE,EAAA,IAAC,MAAA,CACC,UAAWmB,EAAA,gBAAgB,oBAAqBd,GAAa,EAAE,EAC/D,IAAAD,EACC,SAAAP,CAAA,CAAA,CAGP,CAAC,ECfY8F,EAAuBxF,EAAA,WAGlC,CAACP,EAAOQ,IAAQ,CAChB,KAAM,CAAE,UAAAC,EAAW,SAAAR,EAAU,GAAGC,GAASF,EAEzCG,OAAAA,EAAA,YAAYD,CAAI,EAGbE,EAAAA,IAAA,MAAA,CAAI,UAAAK,EAAsB,IAAAD,EACxB,SAAAP,CACH,CAAA,CAEJ,CAAC,ECXY+F,EAAezF,EAAA,WAG1B,CAACP,EAAOQ,IAAQ,CAChB,KAAM,CAAE,SAAAP,EAAU,UAAAQ,EAAW,YAAAwF,EAAa,QAAA/D,EAAS,GAAGhC,CAAS,EAAAF,EAI/DG,OAAAA,cAAYD,EAAM,EAAK,EAGrBE,EAAA,IAACqD,EAAA,OAAA,CACC,UAAWlC,EAAA,gBACT,+BACAd,GAAa,EACf,EACA,IAAAD,EACA,YAAAyF,EACA,QAAA/D,EACC,GAAGhC,EACH,SAAAD,CAAA,CAAA,CAGP,CAAC,ECvBYiG,EAAc3F,EAAA,WAGzB,CAACP,EAAOQ,IAAQ,CACV,KAAA,CACJ,UAAAC,EACA,SAAAR,EACA,UAAA2E,EACA,YAAAD,EACA,UAAAD,EACA,MAAAyB,EACA,MAAAxF,EACA,GAAGT,CACD,EAAAF,EAIJG,OAAAA,cAAYD,EAAM,EAAK,EAGrBE,EAAA,IAACqD,EAAA,OAAA,CACC,UAAWlC,EAAA,gBACT,+BACAd,GAAa,EACf,EACA,IAAAD,EACA,aAAYG,EACZ,UAAAiE,EACA,YAAAD,EACA,UAAAD,EACA,MAAAyB,EACC,GAAGjG,EACH,SAAAD,CAAA,CAAA,CAGP,CAAC,EChCYmG,EAAU7F,EAAA,WACrB,CAACP,EAAOQ,IAAQ,CACd,KAAM,CAAE,UAAAC,EAAW,SAAAR,EAAU,aAAAoG,EAAc,aAAAC,EAAc,GAAGpG,CAAS,EAAAF,EAErEG,OAAAA,EAAA,YAAYD,CAAI,EAGdE,EAAA,IAACmG,EAAA,QAAA,CACC,UAAWhF,EAAA,gBAAgB,gBAAiBd,GAAa,EAAE,EAC3D,IAAAD,EACA,aAAA6F,EACA,aAAAC,EACC,SAAArG,CAAA,CAAA,CAGP,CACF,ECRauG,EAAgBjG,EAAA,WAC3B,CAACP,EAAOQ,IAAQ,CACR,KAAA,CACJ,UAAAC,EACA,SAAAR,EACA,YAAAwG,EACA,iBAAAC,EACA,KAAA9F,EACA,WAAAsE,EACA,WAAAyB,EACA,QAAAzE,EACA,MAAAvB,EACA,GAAGT,CACD,EAAAF,EAIJG,OAAAA,cAAYD,EAAM,EAAK,SAGpB0G,kBACC,CAAA,SAAA,CAAAxG,EAAA,IAACyG,EAAA,cAAA,CACC,UAAU,OACV,OACE1F,EAAA,KAAC2F,EAAA,YAAA,CACC,aAAYnG,EACZ,UAAWY,EAAA,gBACT,+BACAd,GAAa,EACf,EAGA,YAAcmD,GAAM,CACdmD,cACDnD,EAAE,cAAoC,OAE3C,EACA,QAAA1B,EACA,eAAcgD,EACd,gBAAeA,EAAa,OAAS,OACrC,YACElF,EAAM,YAAY,MAAM,EAAG,CAAC,EAAE,YAAA,EAC9BA,EAAM,YAAY,QAAQ,OAAQ,EAAE,EAAE,MAAM,CAAC,EAG/C,SAAU2G,GAAc,GACxB,IAAAnG,EACC,GAAGN,EACH,SAAA,CAAAU,EACAX,CAAA,CAAA,CACH,CAAA,CAEJ,EACAkB,EAAAA,KAAC6F,EAAAA,QAAe,CAAA,UAAU,gBACxB,SAAA,CAAA5G,EAAAA,IAAC,QAAM,SAAYqG,CAAA,CAAA,EAClBC,GAAqBtG,EAAAA,IAAA,OAAA,CAAM,SAAiBsG,CAAA,CAAA,CAAA,EAC/C,CACF,CAAA,CAAA,CAEJ,CACF,EC/DaO,EAAgB1G,EAAA,WAG3B,CAACP,EAAOQ,IAAQ,CAChB,KAAM,CAAE,UAAAC,EAAW,MAAAyG,EAAO,WAAAP,EAAY,GAAGzG,CAAS,EAAAF,EAElDG,EAAA,YAAYD,CAAI,EAEV,MAAAiH,EAAenH,EAAM,MAAM,OAAQoH,GAAMA,EAAE,UAAU,EAAE,CAAC,EAExDC,EAAYxG,GAAkB,UAClCyG,GAAAC,EAAAL,EAAM,KAAM/B,GAASA,EAAK,OAAStE,CAAK,GAAG,UAA3C,MAAAyG,EAAA,KAAAC,EAAqD,EAGvD,OACGpG,EAAAA,KAAAqG,EAAAA,eAAA,CAAsB,MAAOL,EAAa,KAAM,SAAAE,EAC/C,SAAA,CAAAlG,EAAA,KAACsG,EAAA,OAAA,CACC,UAAW,+BACX,SAAUd,EACV,aAAW,iBACX,aAASG,EAAmB,YAAA,EAAA,EAC3B,SAAA,CAAaK,EAAA,KAAK,IAAEA,EAAa,KAAK,UAAEO,EAAmB,YAAA,EAAA,CAAA,CAAA,CAC9D,EACAtH,EAAA,IAACuH,EAAA,cAAA,CACC,UAAWpG,EAAA,gBAAgB,gBAAiBd,GAAa,EAAE,EAC3D,IAAAD,EACA,OAAQ,EACP,SAAA0G,EAAM,IAAKU,GACVzG,EAAA,KAAC0G,EAAA,WAAA,CACC,UAAW,oBAEX,MAAOD,EAAO,KACb,SAAA,CAAOA,EAAA,KACPA,EAAO,KACPA,EAAO,OAAST,EAAa,YAASW,EAAuB,gBAAA,EAAA,CAAA,CAAA,EAJzDF,EAAO,IAAA,CAMf,CAAA,CACH,CACF,CAAA,CAAA,CAEJ,CAAC,ECnBYG,EAAyB,CACpC,kBAAmB,CACjB,KAAM3B,EACN,OAAQI,EACR,OAAQS,CACV,EACA,UAAW,CACT,KAAMrE,EACN,OAAQY,EACR,UAAWE,EACX,SAAUG,EACV,UAAWC,CACb,EACA,mBAAoB,CAClB,KAAMe,EACN,KAAMI,EACN,UAAWD,EACX,OAAQU,CACV,EACA,YAAa,CACX,KAAMU,EACN,OAAQI,CACV,EACA,SAAU,CACR,KAAMjC,EACN,OAAQE,CACV,EACA,eAAgB,CACd,KAAMkB,EACN,KAAME,EACN,UAAWD,EACX,MAAOE,EACP,OAAQC,CACV,EACA,YAAa,CACX,KAAMG,EACN,aAAAF,CACF,EACA,QAAS,CACP,QAAS,CACP,KAAMI,EACN,OAAQI,CACV,EACA,KAAM,CACJ,KAAMzG,EACN,UAAAO,CACF,EACA,KAAM,CACJ,KAAMkB,EACN,QAASiB,EACT,SAAUZ,EACV,QAASa,EACT,MAAOH,EACP,KAAMR,CACR,EACA,QAAS,CACP,KAAMqC,EACN,QAASL,EACT,QAASE,CACX,CACF,CACF,ECnFa+D,EAKXhI,GACG,CACH,KAAM,CAAE,UAAAS,EAAW,GAAGP,CAAA,EAASF,EAE/B,OACGI,EAAAA,IAAA6H,EAAAA,kBAAkB,SAAlB,CAA2B,MAAOF,EACjC,SAAA3H,EAAA,IAAC8H,EAAA,iBAAA,CACC,UAAW3G,EAAA,gBAAgB,aAAcd,GAAa,EAAE,EACvD,GAAGP,CAAA,CAER,CAAA,CAAA,CAEJ"}
|
package/dist/webpack-stats.json
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"builtAt":
|
|
1
|
+
{"builtAt":1739818781023,"assets":[{"name":"blocknote-ariakit.umd.cjs","size":10660},{"name":"blocknote-ariakit.umd.cjs.map","size":46207}],"chunks":[{"id":"ec22802","entry":true,"initial":true,"files":["blocknote-ariakit.umd.cjs"],"names":["index"]}],"modules":[{"name":"./src/style.css","size":0,"chunks":["ec22802"]},{"name":"./src/input/Form.tsx","size":168,"chunks":["ec22802"]},{"name":"./src/input/TextInput.tsx","size":860,"chunks":["ec22802"]},{"name":"./src/menu/Menu.tsx","size":2576,"chunks":["ec22802"]},{"name":"./src/panel/Panel.tsx","size":1179,"chunks":["ec22802"]},{"name":"./src/panel/PanelButton.tsx","size":368,"chunks":["ec22802"]},{"name":"./src/panel/PanelFileInput.tsx","size":521,"chunks":["ec22802"]},{"name":"./src/panel/PanelTab.tsx","size":211,"chunks":["ec22802"]},{"name":"./src/panel/PanelTextInput.tsx","size":522,"chunks":["ec22802"]},{"name":"./src/popover/Popover.tsx","size":774,"chunks":["ec22802"]},{"name":"./src/sideMenu/SideMenu.tsx","size":233,"chunks":["ec22802"]},{"name":"./src/sideMenu/SideMenuButton.tsx","size":608,"chunks":["ec22802"]},{"name":"./src/suggestionMenu/gridSuggestionMenu/GridSuggestionMenu.tsx","size":363,"chunks":["ec22802"]},{"name":"./src/suggestionMenu/gridSuggestionMenu/GridSuggestionMenuEmptyItem.tsx","size":482,"chunks":["ec22802"]},{"name":"./src/suggestionMenu/gridSuggestionMenu/GridSuggestionMenuItem.tsx","size":867,"chunks":["ec22802"]},{"name":"./src/suggestionMenu/gridSuggestionMenu/GridSuggestionMenuLoader.tsx","size":375,"chunks":["ec22802"]},{"name":"./src/suggestionMenu/SuggestionMenu.tsx","size":347,"chunks":["ec22802"]},{"name":"./src/suggestionMenu/SuggestionMenuEmptyItem.tsx","size":418,"chunks":["ec22802"]},{"name":"./src/suggestionMenu/SuggestionMenuItem.tsx","size":1811,"chunks":["ec22802"]},{"name":"./src/suggestionMenu/SuggestionMenuLabel.tsx","size":316,"chunks":["ec22802"]},{"name":"./src/suggestionMenu/SuggestionMenuLoader.tsx","size":223,"chunks":["ec22802"]},{"name":"./src/tableHandle/ExtendButton.tsx","size":429,"chunks":["ec22802"]},{"name":"./src/tableHandle/TableHandle.tsx","size":548,"chunks":["ec22802"]},{"name":"./src/toolbar/Toolbar.tsx","size":406,"chunks":["ec22802"]},{"name":"./src/toolbar/ToolbarButton.tsx","size":1668,"chunks":["ec22802"]},{"name":"./src/toolbar/ToolbarSelect.tsx","size":1513,"chunks":["ec22802"]},{"name":"./src/components.ts","size":1237,"chunks":["ec22802"]},{"name":"./src/BlockNoteView.tsx","size":350,"chunks":["ec22802"]},{"name":"./src/index.tsx","size":0,"chunks":["ec22802"]}]}
|
package/package.json
CHANGED
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
"*.css"
|
|
7
7
|
],
|
|
8
8
|
"license": "MPL-2.0",
|
|
9
|
-
"version": "0.
|
|
9
|
+
"version": "0.24.0",
|
|
10
10
|
"files": [
|
|
11
11
|
"dist",
|
|
12
12
|
"types",
|
|
@@ -51,8 +51,8 @@
|
|
|
51
51
|
},
|
|
52
52
|
"dependencies": {
|
|
53
53
|
"@ariakit/react": "^0.4.3",
|
|
54
|
-
"@blocknote/core": "^0.
|
|
55
|
-
"@blocknote/react": "^0.
|
|
54
|
+
"@blocknote/core": "^0.24.0",
|
|
55
|
+
"@blocknote/react": "^0.24.0"
|
|
56
56
|
},
|
|
57
57
|
"devDependencies": {
|
|
58
58
|
"@types/react": "^18.0.25",
|
|
@@ -80,5 +80,5 @@
|
|
|
80
80
|
"access": "public",
|
|
81
81
|
"registry": "https://registry.npmjs.org/"
|
|
82
82
|
},
|
|
83
|
-
"gitHead": "
|
|
83
|
+
"gitHead": "4aa4f25c190f4cc364cbefe25e9b17c25d47e84d"
|
|
84
84
|
}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import {
|
|
2
|
+
BlockSchema,
|
|
3
|
+
InlineContentSchema,
|
|
4
|
+
mergeCSSClasses,
|
|
5
|
+
StyleSchema,
|
|
6
|
+
} from "@blocknote/core";
|
|
7
|
+
import {
|
|
8
|
+
BlockNoteViewProps,
|
|
9
|
+
BlockNoteViewRaw,
|
|
10
|
+
ComponentsContext,
|
|
11
|
+
} from "@blocknote/react";
|
|
12
|
+
import { components } from "./components.js";
|
|
13
|
+
|
|
14
|
+
export const BlockNoteView = <
|
|
15
|
+
BSchema extends BlockSchema,
|
|
16
|
+
ISchema extends InlineContentSchema,
|
|
17
|
+
SSchema extends StyleSchema
|
|
18
|
+
>(
|
|
19
|
+
props: BlockNoteViewProps<BSchema, ISchema, SSchema>
|
|
20
|
+
) => {
|
|
21
|
+
const { className, ...rest } = props;
|
|
22
|
+
|
|
23
|
+
return (
|
|
24
|
+
<ComponentsContext.Provider value={components}>
|
|
25
|
+
<BlockNoteViewRaw
|
|
26
|
+
className={mergeCSSClasses("bn-ariakit", className || "")}
|
|
27
|
+
{...rest}
|
|
28
|
+
/>
|
|
29
|
+
</ComponentsContext.Provider>
|
|
30
|
+
);
|
|
31
|
+
};
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
import { Components } from "@blocknote/react";
|
|
2
|
+
|
|
3
|
+
import { Form } from "./input/Form.js";
|
|
4
|
+
import { TextInput } from "./input/TextInput.js";
|
|
5
|
+
import {
|
|
6
|
+
Menu,
|
|
7
|
+
MenuDivider,
|
|
8
|
+
MenuDropdown,
|
|
9
|
+
MenuItem,
|
|
10
|
+
MenuLabel,
|
|
11
|
+
MenuTrigger,
|
|
12
|
+
} from "./menu/Menu.js";
|
|
13
|
+
import { Panel } from "./panel/Panel.js";
|
|
14
|
+
import { PanelButton } from "./panel/PanelButton.js";
|
|
15
|
+
import { PanelFileInput } from "./panel/PanelFileInput.js";
|
|
16
|
+
import { PanelTab } from "./panel/PanelTab.js";
|
|
17
|
+
import { PanelTextInput } from "./panel/PanelTextInput.js";
|
|
18
|
+
import { Popover, PopoverContent, PopoverTrigger } from "./popover/Popover.js";
|
|
19
|
+
import { SideMenu } from "./sideMenu/SideMenu.js";
|
|
20
|
+
import { SideMenuButton } from "./sideMenu/SideMenuButton.js";
|
|
21
|
+
import { GridSuggestionMenu } from "./suggestionMenu/gridSuggestionMenu/GridSuggestionMenu.js";
|
|
22
|
+
import { GridSuggestionMenuEmptyItem } from "./suggestionMenu/gridSuggestionMenu/GridSuggestionMenuEmptyItem.js";
|
|
23
|
+
import { GridSuggestionMenuItem } from "./suggestionMenu/gridSuggestionMenu/GridSuggestionMenuItem.js";
|
|
24
|
+
import { GridSuggestionMenuLoader } from "./suggestionMenu/gridSuggestionMenu/GridSuggestionMenuLoader.js";
|
|
25
|
+
import { SuggestionMenu } from "./suggestionMenu/SuggestionMenu.js";
|
|
26
|
+
import { SuggestionMenuEmptyItem } from "./suggestionMenu/SuggestionMenuEmptyItem.js";
|
|
27
|
+
import { SuggestionMenuItem } from "./suggestionMenu/SuggestionMenuItem.js";
|
|
28
|
+
import { SuggestionMenuLabel } from "./suggestionMenu/SuggestionMenuLabel.js";
|
|
29
|
+
import { SuggestionMenuLoader } from "./suggestionMenu/SuggestionMenuLoader.js";
|
|
30
|
+
import { ExtendButton } from "./tableHandle/ExtendButton.js";
|
|
31
|
+
import { TableHandle } from "./tableHandle/TableHandle.js";
|
|
32
|
+
import { Toolbar } from "./toolbar/Toolbar.js";
|
|
33
|
+
import { ToolbarButton } from "./toolbar/ToolbarButton.js";
|
|
34
|
+
import { ToolbarSelect } from "./toolbar/ToolbarSelect.js";
|
|
35
|
+
|
|
36
|
+
export const components: Components = {
|
|
37
|
+
FormattingToolbar: {
|
|
38
|
+
Root: Toolbar,
|
|
39
|
+
Button: ToolbarButton,
|
|
40
|
+
Select: ToolbarSelect,
|
|
41
|
+
},
|
|
42
|
+
FilePanel: {
|
|
43
|
+
Root: Panel,
|
|
44
|
+
Button: PanelButton,
|
|
45
|
+
FileInput: PanelFileInput,
|
|
46
|
+
TabPanel: PanelTab,
|
|
47
|
+
TextInput: PanelTextInput,
|
|
48
|
+
},
|
|
49
|
+
GridSuggestionMenu: {
|
|
50
|
+
Root: GridSuggestionMenu,
|
|
51
|
+
Item: GridSuggestionMenuItem,
|
|
52
|
+
EmptyItem: GridSuggestionMenuEmptyItem,
|
|
53
|
+
Loader: GridSuggestionMenuLoader,
|
|
54
|
+
},
|
|
55
|
+
LinkToolbar: {
|
|
56
|
+
Root: Toolbar,
|
|
57
|
+
Button: ToolbarButton,
|
|
58
|
+
},
|
|
59
|
+
SideMenu: {
|
|
60
|
+
Root: SideMenu,
|
|
61
|
+
Button: SideMenuButton,
|
|
62
|
+
},
|
|
63
|
+
SuggestionMenu: {
|
|
64
|
+
Root: SuggestionMenu,
|
|
65
|
+
Item: SuggestionMenuItem,
|
|
66
|
+
EmptyItem: SuggestionMenuEmptyItem,
|
|
67
|
+
Label: SuggestionMenuLabel,
|
|
68
|
+
Loader: SuggestionMenuLoader,
|
|
69
|
+
},
|
|
70
|
+
TableHandle: {
|
|
71
|
+
Root: TableHandle,
|
|
72
|
+
ExtendButton: ExtendButton,
|
|
73
|
+
},
|
|
74
|
+
Generic: {
|
|
75
|
+
Toolbar: {
|
|
76
|
+
Root: Toolbar,
|
|
77
|
+
Button: ToolbarButton,
|
|
78
|
+
},
|
|
79
|
+
Form: {
|
|
80
|
+
Root: Form,
|
|
81
|
+
TextInput: TextInput,
|
|
82
|
+
},
|
|
83
|
+
Menu: {
|
|
84
|
+
Root: Menu,
|
|
85
|
+
Trigger: MenuTrigger,
|
|
86
|
+
Dropdown: MenuDropdown,
|
|
87
|
+
Divider: MenuDivider,
|
|
88
|
+
Label: MenuLabel,
|
|
89
|
+
Item: MenuItem,
|
|
90
|
+
},
|
|
91
|
+
Popover: {
|
|
92
|
+
Root: Popover,
|
|
93
|
+
Trigger: PopoverTrigger,
|
|
94
|
+
Content: PopoverContent,
|
|
95
|
+
},
|
|
96
|
+
},
|
|
97
|
+
};
|
package/src/index.tsx
CHANGED
|
@@ -1,125 +1,4 @@
|
|
|
1
|
-
import {
|
|
2
|
-
BlockSchema,
|
|
3
|
-
InlineContentSchema,
|
|
4
|
-
mergeCSSClasses,
|
|
5
|
-
StyleSchema,
|
|
6
|
-
} from "@blocknote/core";
|
|
7
|
-
import {
|
|
8
|
-
BlockNoteViewProps,
|
|
9
|
-
BlockNoteViewRaw,
|
|
10
|
-
Components,
|
|
11
|
-
ComponentsContext,
|
|
12
|
-
} from "@blocknote/react";
|
|
13
|
-
|
|
14
|
-
import { Form } from "./input/Form.js";
|
|
15
|
-
import { TextInput } from "./input/TextInput.js";
|
|
16
|
-
import {
|
|
17
|
-
Menu,
|
|
18
|
-
MenuDivider,
|
|
19
|
-
MenuDropdown,
|
|
20
|
-
MenuItem,
|
|
21
|
-
MenuLabel,
|
|
22
|
-
MenuTrigger,
|
|
23
|
-
} from "./menu/Menu.js";
|
|
24
|
-
import { Panel } from "./panel/Panel.js";
|
|
25
|
-
import { PanelButton } from "./panel/PanelButton.js";
|
|
26
|
-
import { PanelFileInput } from "./panel/PanelFileInput.js";
|
|
27
|
-
import { PanelTab } from "./panel/PanelTab.js";
|
|
28
|
-
import { PanelTextInput } from "./panel/PanelTextInput.js";
|
|
29
|
-
import { Popover, PopoverContent, PopoverTrigger } from "./popover/Popover.js";
|
|
30
|
-
import { SideMenu } from "./sideMenu/SideMenu.js";
|
|
31
|
-
import { SideMenuButton } from "./sideMenu/SideMenuButton.js";
|
|
32
|
-
import { GridSuggestionMenu } from "./suggestionMenu/gridSuggestionMenu/GridSuggestionMenu.js";
|
|
33
|
-
import { GridSuggestionMenuEmptyItem } from "./suggestionMenu/gridSuggestionMenu/GridSuggestionMenuEmptyItem.js";
|
|
34
|
-
import { GridSuggestionMenuItem } from "./suggestionMenu/gridSuggestionMenu/GridSuggestionMenuItem.js";
|
|
35
|
-
import { GridSuggestionMenuLoader } from "./suggestionMenu/gridSuggestionMenu/GridSuggestionMenuLoader.js";
|
|
36
|
-
import { SuggestionMenu } from "./suggestionMenu/SuggestionMenu.js";
|
|
37
|
-
import { SuggestionMenuEmptyItem } from "./suggestionMenu/SuggestionMenuEmptyItem.js";
|
|
38
|
-
import { SuggestionMenuItem } from "./suggestionMenu/SuggestionMenuItem.js";
|
|
39
|
-
import { SuggestionMenuLabel } from "./suggestionMenu/SuggestionMenuLabel.js";
|
|
40
|
-
import { SuggestionMenuLoader } from "./suggestionMenu/SuggestionMenuLoader.js";
|
|
41
|
-
import { ExtendButton } from "./tableHandle/ExtendButton.js";
|
|
42
|
-
import { TableHandle } from "./tableHandle/TableHandle.js";
|
|
43
|
-
import { Toolbar } from "./toolbar/Toolbar.js";
|
|
44
|
-
import { ToolbarButton } from "./toolbar/ToolbarButton.js";
|
|
45
|
-
import { ToolbarSelect } from "./toolbar/ToolbarSelect.js";
|
|
46
|
-
|
|
47
1
|
import "./style.css";
|
|
48
2
|
|
|
49
|
-
export
|
|
50
|
-
|
|
51
|
-
Root: Toolbar,
|
|
52
|
-
Button: ToolbarButton,
|
|
53
|
-
Select: ToolbarSelect,
|
|
54
|
-
},
|
|
55
|
-
FilePanel: {
|
|
56
|
-
Root: Panel,
|
|
57
|
-
Button: PanelButton,
|
|
58
|
-
FileInput: PanelFileInput,
|
|
59
|
-
TabPanel: PanelTab,
|
|
60
|
-
TextInput: PanelTextInput,
|
|
61
|
-
},
|
|
62
|
-
GridSuggestionMenu: {
|
|
63
|
-
Root: GridSuggestionMenu,
|
|
64
|
-
Item: GridSuggestionMenuItem,
|
|
65
|
-
EmptyItem: GridSuggestionMenuEmptyItem,
|
|
66
|
-
Loader: GridSuggestionMenuLoader,
|
|
67
|
-
},
|
|
68
|
-
LinkToolbar: {
|
|
69
|
-
Root: Toolbar,
|
|
70
|
-
Button: ToolbarButton,
|
|
71
|
-
},
|
|
72
|
-
SideMenu: {
|
|
73
|
-
Root: SideMenu,
|
|
74
|
-
Button: SideMenuButton,
|
|
75
|
-
},
|
|
76
|
-
SuggestionMenu: {
|
|
77
|
-
Root: SuggestionMenu,
|
|
78
|
-
Item: SuggestionMenuItem,
|
|
79
|
-
EmptyItem: SuggestionMenuEmptyItem,
|
|
80
|
-
Label: SuggestionMenuLabel,
|
|
81
|
-
Loader: SuggestionMenuLoader,
|
|
82
|
-
},
|
|
83
|
-
TableHandle: {
|
|
84
|
-
Root: TableHandle,
|
|
85
|
-
ExtendButton: ExtendButton,
|
|
86
|
-
},
|
|
87
|
-
Generic: {
|
|
88
|
-
Form: {
|
|
89
|
-
Root: Form,
|
|
90
|
-
TextInput: TextInput,
|
|
91
|
-
},
|
|
92
|
-
Menu: {
|
|
93
|
-
Root: Menu,
|
|
94
|
-
Trigger: MenuTrigger,
|
|
95
|
-
Dropdown: MenuDropdown,
|
|
96
|
-
Divider: MenuDivider,
|
|
97
|
-
Label: MenuLabel,
|
|
98
|
-
Item: MenuItem,
|
|
99
|
-
},
|
|
100
|
-
Popover: {
|
|
101
|
-
Root: Popover,
|
|
102
|
-
Trigger: PopoverTrigger,
|
|
103
|
-
Content: PopoverContent,
|
|
104
|
-
},
|
|
105
|
-
},
|
|
106
|
-
};
|
|
107
|
-
|
|
108
|
-
export const BlockNoteView = <
|
|
109
|
-
BSchema extends BlockSchema,
|
|
110
|
-
ISchema extends InlineContentSchema,
|
|
111
|
-
SSchema extends StyleSchema
|
|
112
|
-
>(
|
|
113
|
-
props: BlockNoteViewProps<BSchema, ISchema, SSchema>
|
|
114
|
-
) => {
|
|
115
|
-
const { className, ...rest } = props;
|
|
116
|
-
|
|
117
|
-
return (
|
|
118
|
-
<ComponentsContext.Provider value={components}>
|
|
119
|
-
<BlockNoteViewRaw
|
|
120
|
-
className={mergeCSSClasses("bn-ariakit", className || "")}
|
|
121
|
-
{...rest}
|
|
122
|
-
/>
|
|
123
|
-
</ComponentsContext.Provider>
|
|
124
|
-
);
|
|
125
|
-
};
|
|
3
|
+
export * from "./BlockNoteView.js";
|
|
4
|
+
export * from "./components.js";
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import { InlineContentSchema, StyleSchema } from "@blocknote/core";
|
|
2
|
+
import { BlockNoteViewProps } from "@blocknote/react";
|
|
3
|
+
export declare const BlockNoteView: <BSchema extends Record<string, import("@blocknote/core").BlockConfig>, ISchema extends InlineContentSchema, SSchema extends StyleSchema>(props: BlockNoteViewProps<BSchema, ISchema, SSchema>) => import("react/jsx-runtime").JSX.Element;
|
package/types/src/index.d.ts
CHANGED
|
@@ -1,5 +1,3 @@
|
|
|
1
|
-
import { InlineContentSchema, StyleSchema } from "@blocknote/core";
|
|
2
|
-
import { BlockNoteViewProps, Components } from "@blocknote/react";
|
|
3
1
|
import "./style.css";
|
|
4
|
-
export
|
|
5
|
-
export
|
|
2
|
+
export * from "./BlockNoteView.js";
|
|
3
|
+
export * from "./components.js";
|
|
@@ -2,9 +2,6 @@
|
|
|
2
2
|
export declare const Toolbar: import("react").ForwardRefExoticComponent<{
|
|
3
3
|
className?: string | undefined;
|
|
4
4
|
children?: import("react").ReactNode;
|
|
5
|
-
} & {
|
|
6
|
-
className?: string | undefined;
|
|
7
|
-
children?: import("react").ReactNode;
|
|
8
5
|
onMouseEnter?: (() => void) | undefined;
|
|
9
6
|
onMouseLeave?: (() => void) | undefined;
|
|
10
7
|
} & import("react").RefAttributes<HTMLDivElement>>;
|
|
@@ -1,8 +1,19 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
|
-
import { ComponentProps } from "@blocknote/react";
|
|
3
|
-
type ToolbarButtonProps = ComponentProps["FormattingToolbar"]["Button"] & ComponentProps["LinkToolbar"]["Button"];
|
|
4
2
|
/**
|
|
5
3
|
* Helper for basic buttons that show in the formatting toolbar.
|
|
6
4
|
*/
|
|
7
|
-
export declare const ToolbarButton: import("react").ForwardRefExoticComponent<
|
|
8
|
-
|
|
5
|
+
export declare const ToolbarButton: import("react").ForwardRefExoticComponent<({
|
|
6
|
+
className?: string | undefined;
|
|
7
|
+
mainTooltip: string;
|
|
8
|
+
secondaryTooltip?: string | undefined;
|
|
9
|
+
icon?: import("react").ReactNode;
|
|
10
|
+
onClick?: ((e: import("react").MouseEvent<Element, MouseEvent>) => void) | undefined;
|
|
11
|
+
isSelected?: boolean | undefined;
|
|
12
|
+
isDisabled?: boolean | undefined;
|
|
13
|
+
} & ({
|
|
14
|
+
children: import("react").ReactNode;
|
|
15
|
+
label?: string | undefined;
|
|
16
|
+
} | {
|
|
17
|
+
children?: undefined;
|
|
18
|
+
label: string;
|
|
19
|
+
})) & import("react").RefAttributes<HTMLButtonElement>>;
|