@blocknote/ariakit 0.23.6 → 0.24.1

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.
@@ -1,11 +1,11 @@
1
- import { jsx as r, jsxs as g, Fragment as L } from "react/jsx-runtime";
2
- import { assertEmpty as i, mergeCSSClasses as b, isSafari as B } from "@blocknote/core";
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 k, FormLabel as G, FormInput as f, MenuProvider as V, Menu as $, MenuButton as w, MenuItem as T, MenuButtonArrow as O, CheckboxCheck as S, 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";
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(k, { children: t });
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(L, { children: [
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
- f,
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(T, {}),
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(S, { checked: o })
91
+ o !== void 0 && /* @__PURE__ */ r(I, { checked: o })
92
92
  ]
93
93
  }
94
94
  ) : /* @__PURE__ */ g(
95
- T,
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(S, { checked: o })
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(k, { children: /* @__PURE__ */ r(
176
- f,
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(k, { children: /* @__PURE__ */ r(
194
- f,
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
- }), Le = d((n, t) => {
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
- }), Be = d((n, t) => {
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
- }), M = d(
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
- ), I = d(
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
- B() && v.currentTarget.focus();
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: M,
560
- Button: I,
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: M,
578
- Button: I
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: Be,
593
- ExtendButton: Le
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":"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"}
@@ -1 +1 @@
1
- {"builtAt":1739391562945,"assets":[{"name":"blocknote-ariakit.umd.cjs","size":10634},{"name":"blocknote-ariakit.umd.cjs.map","size":46001}],"chunks":[{"id":"ec22802","entry":true,"initial":true,"files":["blocknote-ariakit.umd.cjs"],"names":["index"]}],"modules":[{"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/style.css","size":0,"chunks":["ec22802"]},{"name":"./src/index.tsx","size":1517,"chunks":["ec22802"]}]}
1
+ {"builtAt":1740045310123,"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.23.6",
9
+ "version": "0.24.1",
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.23.6",
55
- "@blocknote/react": "^0.23.6"
54
+ "@blocknote/core": "^0.24.1",
55
+ "@blocknote/react": "^0.24.1"
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": "4a168cbf5c85ff2683f3e8ea49df4a5544625218"
83
+ "gitHead": "a1479b8fb4bc872617b5eb3dcf3074aa99c01fb4"
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 const components: Components = {
50
- FormattingToolbar: {
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;
@@ -0,0 +1,2 @@
1
+ import { Components } from "@blocknote/react";
2
+ export declare const components: Components;
@@ -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 declare const components: Components;
5
- 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;
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<ToolbarButtonProps & import("react").RefAttributes<HTMLButtonElement>>;
8
- export {};
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>>;