@airdraft/react-ui 0.1.20 → 0.1.21

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -2,6 +2,18 @@
2
2
 
3
3
  All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines.
4
4
 
5
+ ### [0.1.21](https://github.com/aevrHQ/airdraft/compare/react-ui@v0.1.20...react-ui@v0.1.21) (2026-05-24)
6
+
7
+
8
+ ### Features
9
+
10
+ * implement rich entries with pagination and sibling navigation ([65facb0](https://github.com/aevrHQ/airdraft/commit/65facb0401a4ede9e573424be112c14104311f40))
11
+
12
+
13
+ ### Code Refactoring
14
+
15
+ * standardize formatting and improve readability in RawEditor and TiptapEditor components ([e3f3178](https://github.com/aevrHQ/airdraft/commit/e3f31788d2fa922389250fc5be814268d3378d65))
16
+
5
17
  ### [0.1.20](https://github.com/aevrHQ/airdraft/compare/react-ui@v0.1.19...react-ui@v0.1.20) (2026-05-24)
6
18
 
7
19
 
@@ -1,3 +1,3 @@
1
- import type { EditorPluginProps } from './RichTextEditor.js';
2
- export declare function RawEditor({ value, onChange, calculateReadTime, onMeta, className }: EditorPluginProps): import("react/jsx-runtime").JSX.Element;
1
+ import type { EditorPluginProps } from "./RichTextEditor.js";
2
+ export declare function RawEditor({ value, onChange, calculateReadTime, onMeta, className, }: EditorPluginProps): import("react/jsx-runtime").JSX.Element;
3
3
  //# sourceMappingURL=RawEditor.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"RawEditor.d.ts","sourceRoot":"","sources":["../../src/components/RawEditor.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AAG5D,wBAAgB,SAAS,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,iBAAiB,EAAE,MAAM,EAAE,SAAS,EAAE,EAAE,iBAAiB,2CAyFrG"}
1
+ {"version":3,"file":"RawEditor.d.ts","sourceRoot":"","sources":["../../src/components/RawEditor.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAG7D,wBAAgB,SAAS,CAAC,EACxB,KAAK,EACL,QAAQ,EACR,iBAAiB,EACjB,MAAM,EACN,SAAS,GACV,EAAE,iBAAiB,2CAqGnB"}
@@ -1,51 +1,60 @@
1
- 'use client';
1
+ "use client";
2
2
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
- import { useState, useRef, useEffect, useCallback } from 'react';
4
- import { cn } from '../lib/utils.js';
5
- import { countWords, defaultReadTime } from '@airdraft/core';
6
- export function RawEditor({ value, onChange, calculateReadTime, onMeta, className }) {
7
- const [tab, setTab] = useState('write');
8
- const [previewHtml, setPreviewHtml] = useState('');
3
+ import { useState, useRef, useEffect, useCallback } from "react";
4
+ import { cn } from "../lib/utils.js";
5
+ import { countWords, defaultReadTime } from "@airdraft/core";
6
+ export function RawEditor({ value, onChange, calculateReadTime, onMeta, className, }) {
7
+ const [tab, setTab] = useState("write");
8
+ const [previewHtml, setPreviewHtml] = useState("");
9
9
  const textareaRef = useRef(null);
10
10
  const wc = countWords(value);
11
11
  // Report initial meta on mount
12
12
  useEffect(() => {
13
- onMeta?.({ wordCount: wc, readTime: (calculateReadTime ?? defaultReadTime)(wc) });
13
+ onMeta?.({
14
+ wordCount: wc,
15
+ readTime: (calculateReadTime ?? defaultReadTime)(wc),
16
+ });
14
17
  // eslint-disable-next-line react-hooks/exhaustive-deps
15
18
  }, []);
16
19
  const autoResize = useCallback(() => {
17
20
  const el = textareaRef.current;
18
21
  if (!el)
19
22
  return;
20
- el.style.height = 'auto';
23
+ el.style.height = "auto";
21
24
  el.style.height = `${el.scrollHeight}px`;
22
25
  }, []);
23
26
  useEffect(() => {
24
- if (tab === 'write')
27
+ if (tab === "write")
25
28
  autoResize();
26
29
  }, [value, tab, autoResize]);
27
30
  useEffect(() => {
28
- if (tab !== 'preview')
31
+ if (tab !== "preview")
29
32
  return;
30
33
  let cancelled = false;
31
- void import('marked').then(({ marked }) => {
34
+ void import("marked").then(({ marked }) => {
32
35
  if (!cancelled)
33
36
  setPreviewHtml(marked(value));
34
37
  });
35
- return () => { cancelled = true; };
38
+ return () => {
39
+ cancelled = true;
40
+ };
36
41
  }, [tab, value]);
37
- return (_jsxs("div", { className: cn('space-y-0 rounded-md border overflow-hidden', className), children: [_jsx("div", { className: "flex items-center border-b bg-muted/40 px-2", children: ['write', 'preview'].map((t) => (_jsx("button", { type: "button", onClick: () => setTab(t), className: cn('px-3 py-2 text-xs font-medium border-b-2 -mb-px capitalize transition-colors', tab === t
38
- ? 'border-foreground text-foreground'
39
- : 'border-transparent text-muted-foreground hover:text-foreground'), children: t }, t))) }), tab === 'write' && (_jsx("textarea", { ref: textareaRef, value: value, onChange: (e) => {
42
+ return (_jsxs("div", { className: cn("space-y-0 rounded-md border overflow-hidden", className), children: [_jsx("div", { className: "flex items-center border-b bg-muted/40 px-2", children: ["write", "preview"].map((t) => (_jsx("button", { type: "button", onClick: () => setTab(t), className: cn("px-3 py-2 text-xs font-medium border-b-2 -mb-px capitalize transition-colors", tab === t
43
+ ? "border-foreground text-foreground"
44
+ : "border-transparent text-muted-foreground hover:text-foreground"), children: t }, t))) }), tab === "write" && (_jsx("textarea", { ref: textareaRef, value: value, onChange: (e) => {
40
45
  onChange(e.target.value);
41
46
  const wc = countWords(e.target.value);
42
- onMeta?.({ wordCount: wc, readTime: (calculateReadTime ?? defaultReadTime)(wc) });
47
+ onMeta?.({
48
+ wordCount: wc,
49
+ readTime: (calculateReadTime ?? defaultReadTime)(wc),
50
+ });
43
51
  autoResize();
44
- }, onInput: autoResize, className: "w-full resize-none overflow-hidden bg-background px-4 py-3 text-sm font-mono placeholder:text-muted-foreground focus:outline-none min-h-[200px]", placeholder: "Write markdown\u2026" })), tab === 'preview' && (_jsx("div", { className: "min-h-[200px] bg-background px-4 py-3 prose prose-sm max-w-none",
52
+ }, onInput: autoResize, className: "w-full resize-none overflow-hidden bg-background px-4 py-3 text-sm font-mono placeholder:text-muted-foreground focus:outline-none min-h-[200px]", placeholder: "Write markdown\u2026" })), tab === "preview" && (_jsx("div", { className: "min-h-[200px] bg-background px-4 py-3 prose dark:prose-invert prose-sm max-w-none",
45
53
  // safe: admin-only editor, user is authoring their own content
46
54
  // eslint-disable-next-line react/no-danger
47
55
  dangerouslySetInnerHTML: {
48
- __html: previewHtml || '<p style="color:var(--muted-foreground);font-size:0.875rem">Nothing to preview yet.</p>',
49
- } })), _jsx("div", { className: "border-t bg-muted/20 px-4 py-1.5 flex justify-end", children: _jsxs("p", { className: "text-xs text-muted-foreground", children: [wc, " ", wc === 1 ? 'word' : 'words', calculateReadTime && wc > 0 && ` · ${calculateReadTime(wc)}`] }) })] }));
56
+ __html: previewHtml ||
57
+ '<p style="color:var(--muted-foreground);font-size:0.875rem">Nothing to preview yet.</p>',
58
+ } })), _jsx("div", { className: "border-t bg-muted/20 px-4 py-1.5 flex justify-end", children: _jsxs("p", { className: "text-xs text-muted-foreground", children: [wc, " ", wc === 1 ? "word" : "words", calculateReadTime && wc > 0 && ` · ${calculateReadTime(wc)}`] }) })] }));
50
59
  }
51
60
  //# sourceMappingURL=RawEditor.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"RawEditor.js","sourceRoot":"","sources":["../../src/components/RawEditor.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"RawEditor.js","sourceRoot":"","sources":["../../src/components/RawEditor.tsx"],"names":[],"mappings":"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"}
@@ -1,3 +1,3 @@
1
- import type { EditorPluginProps } from './RichTextEditor.js';
1
+ import type { EditorPluginProps } from "./RichTextEditor.js";
2
2
  export declare function TiptapEditor({ value, onChange, uploadImage, calculateReadTime, onMeta, className, }: EditorPluginProps): import("react/jsx-runtime").JSX.Element | null;
3
3
  //# sourceMappingURL=TiptapEditor.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"TiptapEditor.d.ts","sourceRoot":"","sources":["../../src/components/TiptapEditor.tsx"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AA2U5D,wBAAgB,YAAY,CAAC,EAC3B,KAAK,EACL,QAAQ,EACR,WAAW,EACX,iBAAiB,EACjB,MAAM,EACN,SAAS,GACV,EAAE,iBAAiB,kDAgMnB"}
1
+ {"version":3,"file":"TiptapEditor.d.ts","sourceRoot":"","sources":["../../src/components/TiptapEditor.tsx"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAiZ7D,wBAAgB,YAAY,CAAC,EAC3B,KAAK,EACL,QAAQ,EACR,WAAW,EACX,iBAAiB,EACjB,MAAM,EACN,SAAS,GACV,EAAE,iBAAiB,kDAqRnB"}
@@ -1,25 +1,25 @@
1
- 'use client';
1
+ "use client";
2
2
  import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
3
- import { useEditor, EditorContent } from '@tiptap/react';
4
- import StarterKit from '@tiptap/starter-kit';
5
- import { Markdown } from 'tiptap-markdown';
6
- import TiptapLink from '@tiptap/extension-link';
7
- import TiptapImage from '@tiptap/extension-image';
8
- import CharacterCount from '@tiptap/extension-character-count';
9
- import { useEffect, useState, useRef, useCallback } from 'react';
10
- import { createPortal } from 'react-dom';
11
- import { Input } from '../ui/input.js';
12
- import { Button } from '../ui/button.js';
13
- import { cn } from '../lib/utils.js';
14
- import { defaultReadTime } from '@airdraft/core';
15
- import { Bold, Italic, Strikethrough, Code, Code2, Heading1, Heading2, Heading3, List, ListOrdered, Quote, Minus, Link2, Image as ImageIcon, Upload, } from 'lucide-react';
3
+ import { useEditor, EditorContent } from "@tiptap/react";
4
+ import StarterKit from "@tiptap/starter-kit";
5
+ import { Markdown } from "tiptap-markdown";
6
+ import TiptapLink from "@tiptap/extension-link";
7
+ import TiptapImage from "@tiptap/extension-image";
8
+ import CharacterCount from "@tiptap/extension-character-count";
9
+ import { useEffect, useState, useRef, useCallback } from "react";
10
+ import { createPortal } from "react-dom";
11
+ import { Input } from "../ui/input.js";
12
+ import { Button } from "../ui/button.js";
13
+ import { cn } from "../lib/utils.js";
14
+ import { defaultReadTime } from "@airdraft/core";
15
+ import { Bold, Italic, Strikethrough, Code, Code2, Heading1, Heading2, Heading3, List, ListOrdered, Quote, Minus, Link2, Image as ImageIcon, Upload, } from "lucide-react";
16
16
  // ---------------------------------------------------------------------------
17
17
  // Toolbar primitives
18
18
  // ---------------------------------------------------------------------------
19
19
  function ToolbarBtn({ onClick, active, disabled, title, children, }) {
20
- return (_jsx("button", { type: "button", title: title, disabled: disabled, onMouseDown: (e) => e.preventDefault(), onClick: onClick, className: cn('flex size-7 items-center justify-center rounded transition-colors shrink-0', active
21
- ? 'bg-foreground text-background'
22
- : 'text-muted-foreground hover:bg-muted hover:text-foreground', disabled && 'pointer-events-none opacity-40'), children: children }));
20
+ return (_jsx("button", { type: "button", title: title, disabled: disabled, onMouseDown: (e) => e.preventDefault(), onClick: onClick, className: cn("flex size-7 items-center justify-center rounded transition-colors shrink-0", active
21
+ ? "bg-foreground text-background"
22
+ : "text-muted-foreground hover:bg-muted hover:text-foreground", disabled && "pointer-events-none opacity-40"), children: children }));
23
23
  }
24
24
  function ToolbarSep() {
25
25
  return _jsx("span", { className: "mx-0.5 h-5 w-px bg-border shrink-0" });
@@ -29,11 +29,11 @@ function ToolbarSep() {
29
29
  // ---------------------------------------------------------------------------
30
30
  function LinkPopover({ editor }) {
31
31
  const [open, setOpen] = useState(false);
32
- const [url, setUrl] = useState('');
32
+ const [url, setUrl] = useState("");
33
33
  const [panelStyle, setPanelStyle] = useState({});
34
34
  const wrapperRef = useRef(null);
35
35
  const panelRef = useRef(null);
36
- const isActive = editor?.isActive('link') ?? false;
36
+ const isActive = editor?.isActive("link") ?? false;
37
37
  // Click-outside + Escape to close (no backdrop overlay that blocks clicks)
38
38
  useEffect(() => {
39
39
  if (!open)
@@ -45,14 +45,14 @@ function LinkPopover({ editor }) {
45
45
  setOpen(false);
46
46
  }
47
47
  function onKeyDown(e) {
48
- if (e.key === 'Escape')
48
+ if (e.key === "Escape")
49
49
  setOpen(false);
50
50
  }
51
- document.addEventListener('mousedown', onMouseDown, true);
52
- document.addEventListener('keydown', onKeyDown, true);
51
+ document.addEventListener("mousedown", onMouseDown, true);
52
+ document.addEventListener("keydown", onKeyDown, true);
53
53
  return () => {
54
- document.removeEventListener('mousedown', onMouseDown, true);
55
- document.removeEventListener('keydown', onKeyDown, true);
54
+ document.removeEventListener("mousedown", onMouseDown, true);
55
+ document.removeEventListener("keydown", onKeyDown, true);
56
56
  };
57
57
  }, [open]);
58
58
  function handleToggle() {
@@ -63,7 +63,7 @@ function LinkPopover({ editor }) {
63
63
  const rect = wrapperRef.current?.getBoundingClientRect();
64
64
  if (rect)
65
65
  setPanelStyle({ top: rect.bottom + 4, left: rect.left });
66
- const currentUrl = editor?.getAttributes('link').href ?? '';
66
+ const currentUrl = editor?.getAttributes("link").href ?? "";
67
67
  setUrl(currentUrl);
68
68
  setOpen(true);
69
69
  }
@@ -72,39 +72,46 @@ function LinkPopover({ editor }) {
72
72
  editor?.chain().focus().unsetLink().run();
73
73
  }
74
74
  else {
75
- editor?.chain().focus().setLink({ href: url.trim(), target: '_blank' }).run();
75
+ editor
76
+ ?.chain()
77
+ .focus()
78
+ .setLink({ href: url.trim(), target: "_blank" })
79
+ .run();
76
80
  }
77
81
  setOpen(false);
78
- setUrl('');
82
+ setUrl("");
79
83
  }
80
84
  function removeLink() {
81
85
  editor?.chain().focus().unsetLink().run();
82
86
  setOpen(false);
83
87
  }
84
- return (_jsxs("div", { ref: wrapperRef, children: [_jsx(ToolbarBtn, { onClick: handleToggle, active: isActive, title: "Link", children: _jsx(Link2, { className: "size-3.5" }) }), open && createPortal(_jsxs("div", { ref: panelRef, className: "fixed z-[9999] w-64 rounded-md border bg-popover p-3 shadow-md space-y-2", style: panelStyle, children: [_jsx(Input, { placeholder: "https://example.com", value: url, onChange: (e) => setUrl(e.target.value), onKeyDown: (e) => { if (e.key === 'Enter') {
85
- e.preventDefault();
86
- applyLink();
87
- } }, autoFocus: true, className: "h-8 text-xs" }), _jsxs("div", { className: "flex gap-2", children: [_jsx(Button, { type: "button", size: "sm", onClick: applyLink, className: "h-7 text-xs", children: url.trim() ? 'Apply' : 'Remove' }), isActive && (_jsx(Button, { type: "button", size: "sm", variant: "ghost", onClick: removeLink, className: "h-7 text-xs", children: "Unlink" })), _jsx(Button, { type: "button", size: "sm", variant: "ghost", onClick: () => setOpen(false), className: "h-7 text-xs ml-auto", children: "Cancel" })] })] }), document.body)] }));
88
+ return (_jsxs("div", { ref: wrapperRef, children: [_jsx(ToolbarBtn, { onClick: handleToggle, active: isActive, title: "Link", children: _jsx(Link2, { className: "size-3.5" }) }), open &&
89
+ createPortal(_jsxs("div", { ref: panelRef, className: "fixed z-[9999] w-64 rounded-md border bg-popover p-3 shadow-md space-y-2", style: panelStyle, children: [_jsx(Input, { placeholder: "https://example.com", value: url, onChange: (e) => setUrl(e.target.value), onKeyDown: (e) => {
90
+ if (e.key === "Enter") {
91
+ e.preventDefault();
92
+ applyLink();
93
+ }
94
+ }, autoFocus: true, className: "h-8 text-xs" }), _jsxs("div", { className: "flex gap-2", children: [_jsx(Button, { type: "button", size: "sm", onClick: applyLink, className: "h-7 text-xs", children: url.trim() ? "Apply" : "Remove" }), isActive && (_jsx(Button, { type: "button", size: "sm", variant: "ghost", onClick: removeLink, className: "h-7 text-xs", children: "Unlink" })), _jsx(Button, { type: "button", size: "sm", variant: "ghost", onClick: () => setOpen(false), className: "h-7 text-xs ml-auto", children: "Cancel" })] })] }), document.body)] }));
88
95
  }
89
96
  // ---------------------------------------------------------------------------
90
97
  // Image popover
91
98
  // ---------------------------------------------------------------------------
92
99
  function ImagePopover({ editor, uploadImage, }) {
93
100
  const [open, setOpen] = useState(false);
94
- const [tab, setTab] = useState('url');
95
- const [url, setUrl] = useState('');
96
- const [alt, setAlt] = useState('');
101
+ const [tab, setTab] = useState("url");
102
+ const [url, setUrl] = useState("");
103
+ const [alt, setAlt] = useState("");
97
104
  const [uploading, setUploading] = useState(false);
98
105
  const [uploadError, setUploadError] = useState(null);
99
106
  const [panelStyle, setPanelStyle] = useState({});
100
107
  const wrapperRef = useRef(null);
101
108
  const panelRef = useRef(null);
102
109
  const fileRef = useRef(null);
103
- function insertImage(imgUrl, imgAlt = '') {
110
+ function insertImage(imgUrl, imgAlt = "") {
104
111
  editor?.chain().focus().setImage({ src: imgUrl, alt: imgAlt }).run();
105
112
  setOpen(false);
106
- setUrl('');
107
- setAlt('');
113
+ setUrl("");
114
+ setAlt("");
108
115
  setUploadError(null);
109
116
  }
110
117
  async function handleFile(files) {
@@ -114,15 +121,15 @@ function ImagePopover({ editor, uploadImage, }) {
114
121
  setUploadError(null);
115
122
  try {
116
123
  const uploaded = await uploadImage(files[0]);
117
- insertImage(uploaded, files[0].name.replace(/\.[^.]+$/, ''));
124
+ insertImage(uploaded, files[0].name.replace(/\.[^.]+$/, ""));
118
125
  }
119
126
  catch (err) {
120
- setUploadError(err instanceof Error ? err.message : 'Upload failed');
127
+ setUploadError(err instanceof Error ? err.message : "Upload failed");
121
128
  }
122
129
  finally {
123
130
  setUploading(false);
124
131
  if (fileRef.current)
125
- fileRef.current.value = '';
132
+ fileRef.current.value = "";
126
133
  }
127
134
  }
128
135
  // Click-outside + Escape to close (no backdrop overlay that blocks clicks)
@@ -136,14 +143,14 @@ function ImagePopover({ editor, uploadImage, }) {
136
143
  setOpen(false);
137
144
  }
138
145
  function onKeyDown(e) {
139
- if (e.key === 'Escape')
146
+ if (e.key === "Escape")
140
147
  setOpen(false);
141
148
  }
142
- document.addEventListener('mousedown', onMouseDown, true);
143
- document.addEventListener('keydown', onKeyDown, true);
149
+ document.addEventListener("mousedown", onMouseDown, true);
150
+ document.addEventListener("keydown", onKeyDown, true);
144
151
  return () => {
145
- document.removeEventListener('mousedown', onMouseDown, true);
146
- document.removeEventListener('keydown', onKeyDown, true);
152
+ document.removeEventListener("mousedown", onMouseDown, true);
153
+ document.removeEventListener("keydown", onKeyDown, true);
147
154
  };
148
155
  }, [open]);
149
156
  function handleToggle() {
@@ -156,10 +163,19 @@ function ImagePopover({ editor, uploadImage, }) {
156
163
  setPanelStyle({ top: rect.bottom + 4, left: rect.left });
157
164
  setOpen(true);
158
165
  }
159
- return (_jsxs("div", { ref: wrapperRef, children: [_jsx(ToolbarBtn, { onClick: handleToggle, title: "Image", children: _jsx(ImageIcon, { className: "size-3.5" }) }), open && createPortal(_jsxs("div", { ref: panelRef, className: "fixed z-[9999] w-72 rounded-md border bg-popover shadow-md overflow-hidden", style: panelStyle, children: [_jsxs("div", { className: "flex border-b bg-muted/40", children: [_jsx("button", { type: "button", onClick: () => setTab('url'), className: cn('px-4 py-2 text-xs font-medium border-b-2 -mb-px transition-colors', tab === 'url' ? 'border-foreground text-foreground' : 'border-transparent text-muted-foreground hover:text-foreground'), children: "URL" }), uploadImage && (_jsx("button", { type: "button", onClick: () => setTab('upload'), className: cn('px-4 py-2 text-xs font-medium border-b-2 -mb-px transition-colors', tab === 'upload' ? 'border-foreground text-foreground' : 'border-transparent text-muted-foreground hover:text-foreground'), children: "Upload" }))] }), _jsxs("div", { className: "p-3 space-y-2", children: [tab === 'url' && (_jsxs(_Fragment, { children: [_jsx(Input, { placeholder: "https://example.com/image.png", value: url, onChange: (e) => setUrl(e.target.value), onKeyDown: (e) => { if (e.key === 'Enter' && url.trim()) {
160
- e.preventDefault();
161
- insertImage(url, alt);
162
- } }, className: "h-8 text-xs", autoFocus: true }), _jsx(Input, { placeholder: "Alt text (optional)", value: alt, onChange: (e) => setAlt(e.target.value), className: "h-8 text-xs" }), _jsxs("div", { className: "flex gap-2", children: [_jsx(Button, { type: "button", size: "sm", className: "h-7 text-xs", disabled: !url.trim(), onClick: () => insertImage(url, alt), children: "Insert" }), _jsx(Button, { type: "button", size: "sm", variant: "ghost", className: "h-7 text-xs", onClick: () => setOpen(false), children: "Cancel" })] })] })), tab === 'upload' && uploadImage && (_jsxs(_Fragment, { children: [_jsx("input", { ref: fileRef, type: "file", accept: "image/*", className: "hidden", onChange: (e) => { void handleFile(e.target.files); } }), _jsxs("button", { type: "button", onClick: () => fileRef.current?.click(), disabled: uploading, className: "w-full flex flex-col items-center gap-2 rounded-md border border-dashed bg-muted/40 py-5 text-xs text-muted-foreground hover:bg-muted/60 disabled:opacity-50 transition-colors", children: [_jsx(Upload, { className: "size-5 opacity-60" }), uploading ? 'Uploading…' : 'Click to select an image'] }), uploadError && _jsx("p", { className: "text-xs text-destructive", children: uploadError }), _jsx(Button, { type: "button", size: "sm", variant: "ghost", className: "h-7 text-xs w-full", onClick: () => setOpen(false), children: "Cancel" })] }))] })] }), document.body)] }));
166
+ return (_jsxs("div", { ref: wrapperRef, children: [_jsx(ToolbarBtn, { onClick: handleToggle, title: "Image", children: _jsx(ImageIcon, { className: "size-3.5" }) }), open &&
167
+ createPortal(_jsxs("div", { ref: panelRef, className: "fixed z-[9999] w-72 rounded-md border bg-popover shadow-md overflow-hidden", style: panelStyle, children: [_jsxs("div", { className: "flex border-b bg-muted/40", children: [_jsx("button", { type: "button", onClick: () => setTab("url"), className: cn("px-4 py-2 text-xs font-medium border-b-2 -mb-px transition-colors", tab === "url"
168
+ ? "border-foreground text-foreground"
169
+ : "border-transparent text-muted-foreground hover:text-foreground"), children: "URL" }), uploadImage && (_jsx("button", { type: "button", onClick: () => setTab("upload"), className: cn("px-4 py-2 text-xs font-medium border-b-2 -mb-px transition-colors", tab === "upload"
170
+ ? "border-foreground text-foreground"
171
+ : "border-transparent text-muted-foreground hover:text-foreground"), children: "Upload" }))] }), _jsxs("div", { className: "p-3 space-y-2", children: [tab === "url" && (_jsxs(_Fragment, { children: [_jsx(Input, { placeholder: "https://example.com/image.png", value: url, onChange: (e) => setUrl(e.target.value), onKeyDown: (e) => {
172
+ if (e.key === "Enter" && url.trim()) {
173
+ e.preventDefault();
174
+ insertImage(url, alt);
175
+ }
176
+ }, className: "h-8 text-xs", autoFocus: true }), _jsx(Input, { placeholder: "Alt text (optional)", value: alt, onChange: (e) => setAlt(e.target.value), className: "h-8 text-xs" }), _jsxs("div", { className: "flex gap-2", children: [_jsx(Button, { type: "button", size: "sm", className: "h-7 text-xs", disabled: !url.trim(), onClick: () => insertImage(url, alt), children: "Insert" }), _jsx(Button, { type: "button", size: "sm", variant: "ghost", className: "h-7 text-xs", onClick: () => setOpen(false), children: "Cancel" })] })] })), tab === "upload" && uploadImage && (_jsxs(_Fragment, { children: [_jsx("input", { ref: fileRef, type: "file", accept: "image/*", className: "hidden", onChange: (e) => {
177
+ void handleFile(e.target.files);
178
+ } }), _jsxs("button", { type: "button", onClick: () => fileRef.current?.click(), disabled: uploading, className: "w-full flex flex-col items-center gap-2 rounded-md border border-dashed bg-muted/40 py-5 text-xs text-muted-foreground hover:bg-muted/60 disabled:opacity-50 transition-colors", children: [_jsx(Upload, { className: "size-5 opacity-60" }), uploading ? "Uploading…" : "Click to select an image"] }), uploadError && (_jsx("p", { className: "text-xs text-destructive", children: uploadError })), _jsx(Button, { type: "button", size: "sm", variant: "ghost", className: "h-7 text-xs w-full", onClick: () => setOpen(false), children: "Cancel" })] }))] })] }), document.body)] }));
163
179
  }
164
180
  // ---------------------------------------------------------------------------
165
181
  // TiptapEditor
@@ -169,8 +185,12 @@ export function TiptapEditor({ value, onChange, uploadImage, calculateReadTime,
169
185
  // Refs so the useEditor closure always has the latest callbacks
170
186
  const onMetaRef = useRef(onMeta);
171
187
  const calculateReadTimeRef = useRef(calculateReadTime);
172
- useEffect(() => { onMetaRef.current = onMeta; }, [onMeta]);
173
- useEffect(() => { calculateReadTimeRef.current = calculateReadTime; }, [calculateReadTime]);
188
+ useEffect(() => {
189
+ onMetaRef.current = onMeta;
190
+ }, [onMeta]);
191
+ useEffect(() => {
192
+ calculateReadTimeRef.current = calculateReadTime;
193
+ }, [calculateReadTime]);
174
194
  const editor = useEditor({
175
195
  extensions: [
176
196
  StarterKit,
@@ -181,7 +201,7 @@ export function TiptapEditor({ value, onChange, uploadImage, calculateReadTime,
181
201
  TiptapLink.configure({
182
202
  openOnClick: false,
183
203
  autolink: true,
184
- HTMLAttributes: { rel: 'noopener noreferrer', target: '_blank' },
204
+ HTMLAttributes: { rel: "noopener noreferrer", target: "_blank" },
185
205
  }),
186
206
  TiptapImage.configure({
187
207
  inline: false,
@@ -194,7 +214,10 @@ export function TiptapEditor({ value, onChange, uploadImage, calculateReadTime,
194
214
  prevValue.current = md;
195
215
  onChange(md);
196
216
  const wc = e.storage.characterCount.words();
197
- onMetaRef.current?.({ wordCount: wc, readTime: (calculateReadTimeRef.current ?? defaultReadTime)(wc) });
217
+ onMetaRef.current?.({
218
+ wordCount: wc,
219
+ readTime: (calculateReadTimeRef.current ?? defaultReadTime)(wc),
220
+ });
198
221
  },
199
222
  });
200
223
  // Load initial markdown content after editor is ready
@@ -204,7 +227,10 @@ export function TiptapEditor({ value, onChange, uploadImage, calculateReadTime,
204
227
  editor.commands.setContent(value, false);
205
228
  prevValue.current = value;
206
229
  const wc = editor.storage.characterCount?.words() ?? 0;
207
- onMetaRef.current?.({ wordCount: wc, readTime: (calculateReadTimeRef.current ?? defaultReadTime)(wc) });
230
+ onMetaRef.current?.({
231
+ wordCount: wc,
232
+ readTime: (calculateReadTimeRef.current ?? defaultReadTime)(wc),
233
+ });
208
234
  // Only run on first editor ready
209
235
  // eslint-disable-next-line react-hooks/exhaustive-deps
210
236
  }, [editor]);
@@ -224,7 +250,7 @@ export function TiptapEditor({ value, onChange, uploadImage, calculateReadTime,
224
250
  const files = e.dataTransfer?.files;
225
251
  if (!files?.length)
226
252
  return;
227
- const images = Array.from(files).filter((f) => f.type.startsWith('image/'));
253
+ const images = Array.from(files).filter((f) => f.type.startsWith("image/"));
228
254
  if (!images.length)
229
255
  return;
230
256
  e.preventDefault();
@@ -232,7 +258,11 @@ export function TiptapEditor({ value, onChange, uploadImage, calculateReadTime,
232
258
  for (const file of images) {
233
259
  try {
234
260
  const url = await uploadImage(file);
235
- editor?.chain().focus().setImage({ src: url, alt: file.name.replace(/\.[^.]+$/, '') }).run();
261
+ editor
262
+ ?.chain()
263
+ .focus()
264
+ .setImage({ src: url, alt: file.name.replace(/\.[^.]+$/, "") })
265
+ .run();
236
266
  }
237
267
  catch {
238
268
  // ignore individual failures
@@ -243,9 +273,11 @@ export function TiptapEditor({ value, onChange, uploadImage, calculateReadTime,
243
273
  if (!editor)
244
274
  return;
245
275
  const dom = editor.view.dom;
246
- const listener = (e) => { void handleDrop(e); };
247
- dom.addEventListener('drop', listener);
248
- return () => dom.removeEventListener('drop', listener);
276
+ const listener = (e) => {
277
+ void handleDrop(e);
278
+ };
279
+ dom.addEventListener("drop", listener);
280
+ return () => dom.removeEventListener("drop", listener);
249
281
  }, [editor, handleDrop]);
250
282
  // Clipboard paste for image files
251
283
  useEffect(() => {
@@ -257,26 +289,30 @@ export function TiptapEditor({ value, onChange, uploadImage, calculateReadTime,
257
289
  const files = ce.clipboardData?.files;
258
290
  if (!files?.length)
259
291
  return;
260
- const images = Array.from(files).filter((f) => f.type.startsWith('image/'));
292
+ const images = Array.from(files).filter((f) => f.type.startsWith("image/"));
261
293
  if (!images.length)
262
294
  return;
263
295
  e.preventDefault();
264
296
  for (const file of images) {
265
297
  try {
266
298
  const url = await uploadImage(file);
267
- editor.chain().focus().setImage({ src: url, alt: file.name.replace(/\.[^.]+$/, '') }).run();
299
+ editor
300
+ .chain()
301
+ .focus()
302
+ .setImage({ src: url, alt: file.name.replace(/\.[^.]+$/, "") })
303
+ .run();
268
304
  }
269
305
  catch {
270
306
  // ignore
271
307
  }
272
308
  }
273
309
  };
274
- dom.addEventListener('paste', listener);
275
- return () => dom.removeEventListener('paste', listener);
310
+ dom.addEventListener("paste", listener);
311
+ return () => dom.removeEventListener("paste", listener);
276
312
  }, [editor, uploadImage]);
277
313
  const wc = editor?.storage.characterCount?.words() ?? 0;
278
314
  if (!editor)
279
315
  return null;
280
- return (_jsxs("div", { className: cn('rounded-md border overflow-hidden', className), children: [_jsxs("div", { className: "flex items-center gap-0.5 overflow-x-auto scrollbar-none border-b bg-muted/40 px-2 py-1.5 flex-nowrap", children: [_jsx(ToolbarBtn, { active: editor.isActive('bold'), onClick: () => editor.chain().focus().toggleBold().run(), title: "Bold (\u2318B)", children: _jsx(Bold, { className: "size-3.5" }) }), _jsx(ToolbarBtn, { active: editor.isActive('italic'), onClick: () => editor.chain().focus().toggleItalic().run(), title: "Italic (\u2318I)", children: _jsx(Italic, { className: "size-3.5" }) }), _jsx(ToolbarBtn, { active: editor.isActive('strike'), onClick: () => editor.chain().focus().toggleStrike().run(), title: "Strikethrough", children: _jsx(Strikethrough, { className: "size-3.5" }) }), _jsx(ToolbarBtn, { active: editor.isActive('code'), onClick: () => editor.chain().focus().toggleCode().run(), title: "Inline code", children: _jsx(Code, { className: "size-3.5" }) }), _jsx(LinkPopover, { editor: editor }), _jsx(ToolbarSep, {}), _jsx(ToolbarBtn, { active: editor.isActive('heading', { level: 1 }), onClick: () => editor.chain().focus().toggleHeading({ level: 1 }).run(), title: "Heading 1", children: _jsx(Heading1, { className: "size-3.5" }) }), _jsx(ToolbarBtn, { active: editor.isActive('heading', { level: 2 }), onClick: () => editor.chain().focus().toggleHeading({ level: 2 }).run(), title: "Heading 2", children: _jsx(Heading2, { className: "size-3.5" }) }), _jsx(ToolbarBtn, { active: editor.isActive('heading', { level: 3 }), onClick: () => editor.chain().focus().toggleHeading({ level: 3 }).run(), title: "Heading 3", children: _jsx(Heading3, { className: "size-3.5" }) }), _jsx(ToolbarSep, {}), _jsx(ToolbarBtn, { active: editor.isActive('bulletList'), onClick: () => editor.chain().focus().toggleBulletList().run(), title: "Bullet list", children: _jsx(List, { className: "size-3.5" }) }), _jsx(ToolbarBtn, { active: editor.isActive('orderedList'), onClick: () => editor.chain().focus().toggleOrderedList().run(), title: "Ordered list", children: _jsx(ListOrdered, { className: "size-3.5" }) }), _jsx(ToolbarBtn, { active: editor.isActive('blockquote'), onClick: () => editor.chain().focus().toggleBlockquote().run(), title: "Blockquote", children: _jsx(Quote, { className: "size-3.5" }) }), _jsx(ToolbarBtn, { active: editor.isActive('codeBlock'), onClick: () => editor.chain().focus().toggleCodeBlock().run(), title: "Code block", children: _jsx(Code2, { className: "size-3.5" }) }), _jsx(ToolbarSep, {}), _jsx(ToolbarBtn, { onClick: () => editor.chain().focus().setHorizontalRule().run(), title: "Horizontal rule", children: _jsx(Minus, { className: "size-3.5" }) }), _jsx(ImagePopover, { editor: editor, uploadImage: uploadImage })] }), _jsx(EditorContent, { editor: editor, className: cn('prose prose-sm max-w-none px-4 py-3 min-h-[200px] bg-background', '[&_.ProseMirror]:outline-none [&_.ProseMirror]:min-h-[200px]', '[&_.ProseMirror_p.is-editor-empty:first-child::before]:content-[attr(data-placeholder)]', '[&_.ProseMirror_p.is-editor-empty:first-child::before]:text-muted-foreground', '[&_.ProseMirror_p.is-editor-empty:first-child::before]:pointer-events-none', '[&_.ProseMirror_p.is-editor-empty:first-child::before]:float-left', '[&_.ProseMirror_p.is-editor-empty:first-child::before]:h-0') }), _jsx("div", { className: "border-t bg-muted/20 px-4 py-1.5 flex justify-end", children: _jsxs("p", { className: "text-xs text-muted-foreground", children: [wc, " ", wc === 1 ? 'word' : 'words', calculateReadTime && wc > 0 && ` · ${calculateReadTime(wc)}`] }) })] }));
316
+ return (_jsxs("div", { className: cn("rounded-md border overflow-hidden", className), children: [_jsxs("div", { className: "flex items-center gap-0.5 overflow-x-auto scrollbar-none border-b bg-muted/40 px-2 py-1.5 flex-nowrap", children: [_jsx(ToolbarBtn, { active: editor.isActive("bold"), onClick: () => editor.chain().focus().toggleBold().run(), title: "Bold (\u2318B)", children: _jsx(Bold, { className: "size-3.5" }) }), _jsx(ToolbarBtn, { active: editor.isActive("italic"), onClick: () => editor.chain().focus().toggleItalic().run(), title: "Italic (\u2318I)", children: _jsx(Italic, { className: "size-3.5" }) }), _jsx(ToolbarBtn, { active: editor.isActive("strike"), onClick: () => editor.chain().focus().toggleStrike().run(), title: "Strikethrough", children: _jsx(Strikethrough, { className: "size-3.5" }) }), _jsx(ToolbarBtn, { active: editor.isActive("code"), onClick: () => editor.chain().focus().toggleCode().run(), title: "Inline code", children: _jsx(Code, { className: "size-3.5" }) }), _jsx(LinkPopover, { editor: editor }), _jsx(ToolbarSep, {}), _jsx(ToolbarBtn, { active: editor.isActive("heading", { level: 1 }), onClick: () => editor.chain().focus().toggleHeading({ level: 1 }).run(), title: "Heading 1", children: _jsx(Heading1, { className: "size-3.5" }) }), _jsx(ToolbarBtn, { active: editor.isActive("heading", { level: 2 }), onClick: () => editor.chain().focus().toggleHeading({ level: 2 }).run(), title: "Heading 2", children: _jsx(Heading2, { className: "size-3.5" }) }), _jsx(ToolbarBtn, { active: editor.isActive("heading", { level: 3 }), onClick: () => editor.chain().focus().toggleHeading({ level: 3 }).run(), title: "Heading 3", children: _jsx(Heading3, { className: "size-3.5" }) }), _jsx(ToolbarSep, {}), _jsx(ToolbarBtn, { active: editor.isActive("bulletList"), onClick: () => editor.chain().focus().toggleBulletList().run(), title: "Bullet list", children: _jsx(List, { className: "size-3.5" }) }), _jsx(ToolbarBtn, { active: editor.isActive("orderedList"), onClick: () => editor.chain().focus().toggleOrderedList().run(), title: "Ordered list", children: _jsx(ListOrdered, { className: "size-3.5" }) }), _jsx(ToolbarBtn, { active: editor.isActive("blockquote"), onClick: () => editor.chain().focus().toggleBlockquote().run(), title: "Blockquote", children: _jsx(Quote, { className: "size-3.5" }) }), _jsx(ToolbarBtn, { active: editor.isActive("codeBlock"), onClick: () => editor.chain().focus().toggleCodeBlock().run(), title: "Code block", children: _jsx(Code2, { className: "size-3.5" }) }), _jsx(ToolbarSep, {}), _jsx(ToolbarBtn, { onClick: () => editor.chain().focus().setHorizontalRule().run(), title: "Horizontal rule", children: _jsx(Minus, { className: "size-3.5" }) }), _jsx(ImagePopover, { editor: editor, uploadImage: uploadImage })] }), _jsx(EditorContent, { editor: editor, className: cn("prose prose-sm dark:prose-invert max-w-none px-4 py-3 min-h-[200px] bg-background", "[&_.ProseMirror]:outline-none [&_.ProseMirror]:min-h-[200px]", "[&_.ProseMirror_p.is-editor-empty:first-child::before]:content-[attr(data-placeholder)]", "[&_.ProseMirror_p.is-editor-empty:first-child::before]:text-muted-foreground", "[&_.ProseMirror_p.is-editor-empty:first-child::before]:pointer-events-none", "[&_.ProseMirror_p.is-editor-empty:first-child::before]:float-left", "[&_.ProseMirror_p.is-editor-empty:first-child::before]:h-0") }), _jsx("div", { className: "border-t bg-muted/20 px-4 py-1.5 flex justify-end", children: _jsxs("p", { className: "text-xs text-muted-foreground", children: [wc, " ", wc === 1 ? "word" : "words", calculateReadTime && wc > 0 && ` · ${calculateReadTime(wc)}`] }) })] }));
281
317
  }
282
318
  //# sourceMappingURL=TiptapEditor.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"TiptapEditor.js","sourceRoot":"","sources":["../../src/components/TiptapEditor.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"TiptapEditor.js","sourceRoot":"","sources":["../../src/components/TiptapEditor.tsx"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@airdraft/react-ui",
3
- "version": "0.1.20",
3
+ "version": "0.1.21",
4
4
  "description": "Airdraft React UI — schema editor and team management components",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",