@alpaca-editor/core 1.0.4059 → 1.0.4061

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.
Files changed (55) hide show
  1. package/dist/components/ui/checkbox.js +1 -1
  2. package/dist/components/ui/checkbox.js.map +1 -1
  3. package/dist/components/ui/tooltip.js +2 -2
  4. package/dist/components/ui/tooltip.js.map +1 -1
  5. package/dist/editor/FieldListField.js +2 -1
  6. package/dist/editor/FieldListField.js.map +1 -1
  7. package/dist/editor/control-center/IndexOverview.js +85 -41
  8. package/dist/editor/control-center/IndexOverview.js.map +1 -1
  9. package/dist/editor/field-types/CheckboxEditor.js +1 -1
  10. package/dist/editor/field-types/CheckboxEditor.js.map +1 -1
  11. package/dist/editor/page-editor-chrome/useInlineAICompletion.js +1 -1
  12. package/dist/editor/page-editor-chrome/useInlineAICompletion.js.map +1 -1
  13. package/dist/editor/reviews/Comment.js +63 -108
  14. package/dist/editor/reviews/Comment.js.map +1 -1
  15. package/dist/editor/reviews/CommentDisplayPopover.js +55 -49
  16. package/dist/editor/reviews/CommentDisplayPopover.js.map +1 -1
  17. package/dist/editor/reviews/CommentEditor.d.ts +20 -0
  18. package/dist/editor/reviews/CommentEditor.js +57 -0
  19. package/dist/editor/reviews/CommentEditor.js.map +1 -0
  20. package/dist/editor/reviews/CommentPopover.js +11 -58
  21. package/dist/editor/reviews/CommentPopover.js.map +1 -1
  22. package/dist/editor/reviews/CommentView.d.ts +19 -0
  23. package/dist/editor/reviews/CommentView.js +46 -0
  24. package/dist/editor/reviews/CommentView.js.map +1 -0
  25. package/dist/editor/services/indexService.d.ts +3 -1
  26. package/dist/editor/services/indexService.js +7 -0
  27. package/dist/editor/services/indexService.js.map +1 -1
  28. package/dist/editor/sidebar/ViewSelector.js +7 -6
  29. package/dist/editor/sidebar/ViewSelector.js.map +1 -1
  30. package/dist/editor/ui/CenteredMessage.js +1 -1
  31. package/dist/editor/ui/CenteredMessage.js.map +1 -1
  32. package/dist/editor/ui/SimpleToolbar.js +1 -1
  33. package/dist/editor/ui/SimpleToolbar.js.map +1 -1
  34. package/dist/revision.d.ts +2 -2
  35. package/dist/revision.js +2 -2
  36. package/dist/styles.css +19 -5
  37. package/dist/types.d.ts +7 -0
  38. package/package.json +1 -1
  39. package/src/components/ui/checkbox.tsx +1 -1
  40. package/src/components/ui/tooltip.tsx +5 -3
  41. package/src/editor/FieldListField.tsx +40 -23
  42. package/src/editor/control-center/IndexOverview.tsx +168 -79
  43. package/src/editor/field-types/CheckboxEditor.tsx +1 -0
  44. package/src/editor/page-editor-chrome/useInlineAICompletion.tsx +1 -1
  45. package/src/editor/reviews/Comment.tsx +97 -275
  46. package/src/editor/reviews/CommentDisplayPopover.tsx +90 -219
  47. package/src/editor/reviews/CommentEditor.tsx +153 -0
  48. package/src/editor/reviews/CommentPopover.tsx +17 -108
  49. package/src/editor/reviews/CommentView.tsx +229 -0
  50. package/src/editor/services/indexService.ts +12 -0
  51. package/src/editor/sidebar/ViewSelector.tsx +40 -27
  52. package/src/editor/ui/CenteredMessage.tsx +1 -1
  53. package/src/editor/ui/SimpleToolbar.tsx +1 -1
  54. package/src/revision.ts +2 -2
  55. package/src/types.ts +8 -0
@@ -1,22 +1,17 @@
1
1
  "use client";
2
2
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
- import * as React from "react";
4
- import { useEffect, useLayoutEffect, useState } from "react";
3
+ import { useEffect, useState } from "react";
5
4
  import uuid from "react-uuid";
6
- import { Send, MessageCirclePlus } from "lucide-react";
5
+ import { MessageCirclePlus } from "lucide-react";
7
6
  import { useEditContext } from "../client/editContext";
8
7
  import { createOrUpdateComment, getAvailableCommentTags, } from "../services/reviewsService";
9
8
  import { Popover, PopoverContent, PopoverTrigger, PopoverAnchor, } from "../../components/ui/popover";
10
- import { Button } from "../../components/ui/button";
11
- import { Textarea } from "../../components/ui/textarea";
9
+ import { CommentEditor } from "./CommentEditor";
12
10
  import * as ReactDOM from "react-dom/client";
13
11
  export function CommentPopover({ children, editContext: externalEditContext, position, onClose, }) {
14
12
  const [isOpen, setIsOpen] = useState(!!position);
15
- const [text, setText] = useState("");
16
- const textareaRef = React.useRef(null);
17
13
  const [saving, setSaving] = useState(false);
18
14
  const [availableTags, setAvailableTags] = useState([]);
19
- const [selectedTags, setSelectedTags] = useState([]);
20
15
  const contextFromHook = useEditContext();
21
16
  const editContext = externalEditContext || contextFromHook;
22
17
  useEffect(() => {
@@ -44,8 +39,8 @@ export function CommentPopover({ children, editContext: externalEditContext, pos
44
39
  cancelled = true;
45
40
  };
46
41
  }, [editContext?.contentEditorItem?.descriptor?.id]);
47
- const handleSubmit = async () => {
48
- if (!editContext || !text.trim() || saving)
42
+ const handleSave = async (text, tags) => {
43
+ if (!editContext || !text || saving)
49
44
  return;
50
45
  const descriptor = editContext.contentEditorItem?.descriptor;
51
46
  if (!descriptor)
@@ -91,9 +86,8 @@ export function CommentPopover({ children, editContext: externalEditContext, pos
91
86
  author: editContext.user?.name,
92
87
  authorDisplayName: editContext.user?.displayName,
93
88
  date: new Date().toISOString(),
94
- text: text.trim(),
95
- // send as comma-separated labels (server can parse if supported)
96
- tags: selectedTags.join(","),
89
+ text: text,
90
+ tags: tags.join(","),
97
91
  };
98
92
  editContext.setComments([newComment, ...editContext.comments]);
99
93
  editContext.setSelectedComment(newComment);
@@ -114,38 +108,12 @@ export function CommentPopover({ children, editContext: externalEditContext, pos
114
108
  finally {
115
109
  setSaving(false);
116
110
  setIsOpen(false);
117
- setText("");
118
- setSelectedTags([]);
119
111
  onClose?.();
120
112
  }
121
113
  };
122
- const handleKeyDown = (e) => {
123
- if (e.key === "Enter" && !e.shiftKey) {
124
- e.preventDefault();
125
- handleSubmit();
126
- }
127
- };
128
- useLayoutEffect(() => {
129
- if (isOpen) {
130
- // Single focus attempt after the popover is fully mounted
131
- const focusTextarea = () => {
132
- const el = textareaRef.current;
133
- if (el) {
134
- el.focus();
135
- try {
136
- const len = el.value.length;
137
- el.setSelectionRange(len, len);
138
- }
139
- catch { }
140
- }
141
- };
142
- // Use a longer delay to ensure popover is fully rendered, especially for dynamically created popovers
143
- const timeoutId = setTimeout(focusTextarea, 300);
144
- return () => clearTimeout(timeoutId);
145
- }
146
- }, [isOpen]);
147
- const assignTextareaRef = (el) => {
148
- textareaRef.current = el;
114
+ const handleCancel = () => {
115
+ setIsOpen(false);
116
+ onClose?.();
149
117
  };
150
118
  return (_jsxs(Popover, { open: isOpen, onOpenChange: (open) => {
151
119
  setIsOpen(open);
@@ -158,22 +126,7 @@ export function CommentPopover({ children, editContext: externalEditContext, pos
158
126
  width: 1,
159
127
  height: 1,
160
128
  pointerEvents: "none",
161
- }, children: _jsx(PopoverAnchor, {}) })), !position && (_jsx(PopoverTrigger, { asChild: true, children: children ?? _jsx(MessageCirclePlus, { size: 16, strokeWidth: 1 }) })), _jsx(PopoverContent, { className: "w-96 p-4", side: "bottom", align: "start", onPointerDownOutside: (e) => e.preventDefault(), onInteractOutside: (e) => e.preventDefault(), onFocusOutside: (e) => e.preventDefault(), onMouseDown: (e) => e.stopPropagation(), onClick: (e) => e.stopPropagation(), children: _jsxs("div", { className: "space-y-3", children: [_jsx("div", { className: "font-medium", children: "Add Comment" }), _jsx(Textarea, { ref: assignTextareaRef, value: text, onChange: (e) => setText(e.target.value), onKeyDown: handleKeyDown, placeholder: "Write your comment...", className: "mt-2 resize-none", rows: 3, autoFocus: true }), availableTags.length > 0 && (_jsxs("div", { className: "space-y-2", children: [_jsx("div", { className: "text-muted-foreground text-xs", children: "Tags" }), _jsx("div", { className: "flex flex-wrap gap-2", children: availableTags.map((t) => {
162
- const isSelected = selectedTags.includes(t.label);
163
- return (_jsx(Button, { type: "button", size: "sm", asChild: false, variant: isSelected ? "secondary" : "outline", className: "h-6 px-2 text-xs", onClick: () => {
164
- setSelectedTags((prev) => prev.includes(t.label)
165
- ? prev.filter((l) => l !== t.label)
166
- : [...prev, t.label]);
167
- }, style: {
168
- borderColor: isSelected ? t.color : undefined,
169
- backgroundColor: isSelected
170
- ? t.color + "22"
171
- : undefined,
172
- }, children: t.label }, t.label));
173
- }) })] })), _jsxs("div", { className: "flex justify-end gap-2", children: [_jsx(Button, { variant: "outline", size: "sm", onClick: () => {
174
- setIsOpen(false);
175
- onClose?.();
176
- }, disabled: saving, children: "Cancel" }), _jsxs(Button, { size: "sm", onClick: handleSubmit, disabled: !text.trim() || saving, className: "flex items-center gap-1", children: [_jsx(Send, { size: 14, strokeWidth: 1 }), saving ? "Saving..." : "Add Comment"] })] })] }) })] }));
129
+ }, children: _jsx(PopoverAnchor, {}) })), !position && (_jsx(PopoverTrigger, { asChild: true, children: children ?? _jsx(MessageCirclePlus, { size: 16, strokeWidth: 1 }) })), _jsx(PopoverContent, { className: "w-96 p-4", side: "bottom", align: "start", onPointerDownOutside: (e) => e.preventDefault(), onInteractOutside: (e) => e.preventDefault(), onFocusOutside: (e) => e.preventDefault(), onMouseDown: (e) => e.stopPropagation(), onClick: (e) => e.stopPropagation(), children: _jsxs("div", { className: "space-y-3", children: [_jsx("div", { className: "font-medium", children: "Add Comment" }), _jsx(CommentEditor, { onSave: handleSave, onCancel: handleCancel, isSaving: saving, availableTags: availableTags, placeholder: "Write your comment...", submitLabel: "Add Comment", autoFocus: true })] }) })] }));
177
130
  }
178
131
  export function showCommentPopoverAt(position, editContext) {
179
132
  const container = document.createElement("div");
@@ -1 +1 @@
1
- {"version":3,"file":"CommentPopover.js","sourceRoot":"","sources":["../../../src/editor/reviews/CommentPopover.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"CommentPopover.js","sourceRoot":"","sources":["../../../src/editor/reviews/CommentPopover.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,19 @@
1
+ import { Comment as CommentType } from "../../types";
2
+ export interface CommentViewProps {
3
+ comment: CommentType;
4
+ canEdit: boolean;
5
+ canDelete: boolean;
6
+ canResolve: boolean;
7
+ availableTags?: {
8
+ label: string;
9
+ color: string;
10
+ }[];
11
+ onEdit?: () => void;
12
+ onDelete?: () => void;
13
+ onResolve?: () => void;
14
+ onUnresolve?: () => void;
15
+ onAiAction?: () => void;
16
+ hideActions?: boolean;
17
+ compact?: boolean;
18
+ }
19
+ export declare function CommentView({ comment, canEdit, canDelete, canResolve, availableTags, onEdit, onDelete, onResolve, onUnresolve, onAiAction, hideActions, compact, }: CommentViewProps): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,46 @@
1
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
+ import React from "react";
3
+ import { formatDate } from "../utils";
4
+ import { SimpleIconButton } from "../ui/SimpleIconButton";
5
+ import { Check, Edit, Sparkles, Trash2 } from "lucide-react";
6
+ import { Button } from "../../components/ui/button";
7
+ import { Popover, PopoverContent, PopoverTrigger, } from "../../components/ui/popover";
8
+ export function CommentView({ comment, canEdit, canDelete, canResolve, availableTags = [], onEdit, onDelete, onResolve, onUnresolve, onAiAction, hideActions = false, compact = false, }) {
9
+ const [deletePopoverOpen, setDeletePopoverOpen] = React.useState(false);
10
+ const [resolvePopoverOpen, setResolvePopoverOpen] = React.useState(false);
11
+ const renderTags = () => {
12
+ const tagLabels = (comment.tags || "")
13
+ .split(",")
14
+ .map((t) => t.trim())
15
+ .filter(Boolean);
16
+ if (tagLabels.length === 0)
17
+ return null;
18
+ const colorMap = new Map(availableTags.map((t) => [t.label, t.color]));
19
+ return (_jsx("div", { className: "mt-2 flex flex-wrap gap-2", children: tagLabels.map((label) => {
20
+ const color = colorMap.get(label);
21
+ return (_jsx("span", { className: "text-2xs rounded border px-2 py-0.5", style: {
22
+ borderColor: color || undefined,
23
+ backgroundColor: color ? color + "22" : undefined,
24
+ }, children: label }, label));
25
+ }) }));
26
+ };
27
+ const renderContextInfo = () => {
28
+ const showItemName = comment.itemId && comment.mainItemId !== comment.itemId;
29
+ const showFieldName = comment.fieldId;
30
+ if (!showItemName && !showFieldName)
31
+ return null;
32
+ return (_jsxs("div", { className: `${compact ? "mt-2" : "mt-3"} flex items-center border-t pt-${compact ? "2" : "3"} text-xs`, children: [showItemName && (_jsx("div", { className: "text-2xs text-gray-500", children: comment.itemName })), showFieldName && showItemName && (_jsx("div", { className: "text-2xs mx-2 text-gray-500", children: ">" })), showFieldName && (_jsx("div", { className: "text-2xs text-gray-500", children: comment.fieldName }))] }));
33
+ };
34
+ return (_jsxs(_Fragment, { children: [_jsxs("div", { className: `${compact ? "mb-2" : "mb-3"} flex items-start justify-between`, children: [_jsxs("div", { children: [_jsx("div", { className: `${compact ? "text-xs" : "text-sm"} font-bold text-gray-900`, title: comment.author, children: comment.authorDisplayName }), _jsx("div", { className: "text-xs text-gray-500", children: comment.created ? formatDate(new Date(comment.created)) : "" })] }), !hideActions && (_jsxs("div", { className: "flex items-center gap-1", children: [canEdit && onEdit && (_jsx(SimpleIconButton, { icon: _jsx(Edit, { className: "h-3.5 w-3.5", strokeWidth: 1 }), label: "Edit", onClick: onEdit })), canDelete && onDelete && (_jsxs(Popover, { open: deletePopoverOpen, onOpenChange: setDeletePopoverOpen, children: [_jsx(PopoverTrigger, { asChild: true, children: _jsx("button", { className: "hover:bg-gray-5 cursor-pointer rounded-full p-[6px]", title: "Delete", children: _jsx(Trash2, { className: "h-3.5 w-3.5", strokeWidth: 1 }) }) }), _jsx(PopoverContent, { className: "w-auto p-2", align: "end", children: _jsx(Button, { variant: "outline", size: "sm", onClick: async () => {
35
+ setDeletePopoverOpen(false);
36
+ onDelete();
37
+ }, children: "Delete" }) })] })), canResolve && !comment.isResolved && onResolve && (_jsx(SimpleIconButton, { icon: _jsx(Check, { className: "h-3.5 w-3.5", strokeWidth: 1 }), label: "Resolve", onClick: onResolve })), comment.isResolved && onUnresolve && (_jsxs(Popover, { open: resolvePopoverOpen, onOpenChange: setResolvePopoverOpen, children: [_jsx(PopoverTrigger, { asChild: true, children: _jsx("button", { className: "cursor-pointer rounded-full p-[6px]", title: "Resolved by " +
38
+ comment.resolvedBy +
39
+ " (" +
40
+ formatDate(new Date(comment.resolvedDate)) +
41
+ ")", children: _jsx(Check, { className: "h-3.5 w-3.5 text-green-500", strokeWidth: 2 }) }) }), _jsx(PopoverContent, { className: "w-auto p-2", align: "end", children: _jsx(Button, { variant: "outline", size: "sm", onClick: async () => {
42
+ setResolvePopoverOpen(false);
43
+ onUnresolve();
44
+ }, children: "Unresolve" }) })] })), canResolve && !comment.isResolved && onAiAction && (_jsx(SimpleIconButton, { icon: _jsx(Sparkles, { className: "h-3.5 w-3.5", strokeWidth: 1 }), label: "AI", onClick: onAiAction }))] }))] }), _jsx("div", { className: `${compact ? "text-sm" : "text-sm"} whitespace-pre-wrap text-gray-700`, children: comment.text }), renderTags(), renderContextInfo(), comment.isResolved && (_jsxs("div", { className: `${compact ? "mt-2" : "mt-3"} text-xs font-medium text-green-600`, children: ["\u2713 Resolved by ", comment.resolvedBy, " on", " ", formatDate(new Date(comment.resolvedDate))] }))] }));
45
+ }
46
+ //# sourceMappingURL=CommentView.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CommentView.js","sourceRoot":"","sources":["../../../src/editor/reviews/CommentView.tsx"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { IndexStatus, StagingStatus, CollectAndUploadResult, SubmitStagedResult, ImportStatus } from "../../types";
1
+ import { IndexStatus, StagingStatus, CollectAndUploadResult, SubmitStagedResult, ImportStatus, CentroidsStatus } from "../../types";
2
2
  export declare function getIndexStatus(): Promise<IndexStatus | undefined>;
3
3
  export declare function rebuildIndex(): Promise<void>;
4
4
  export declare function cleanupBatches(): Promise<void>;
@@ -8,3 +8,5 @@ export declare function collectAndUpload(): Promise<CollectAndUploadResult>;
8
8
  export declare function submitStaged(): Promise<SubmitStagedResult>;
9
9
  export declare function getStagingStatus(): Promise<StagingStatus>;
10
10
  export declare function getImportStatus(): Promise<ImportStatus>;
11
+ export declare function getCentroidsStatus(): Promise<CentroidsStatus>;
12
+ export declare function startDirectGeneration(): Promise<void>;
@@ -31,4 +31,11 @@ export async function getImportStatus() {
31
31
  const result = await get("/alpaca/editor/index/importstatus");
32
32
  return result.data;
33
33
  }
34
+ export async function getCentroidsStatus() {
35
+ const result = await get("/alpaca/editor/index/centroidsstatus");
36
+ return result.data;
37
+ }
38
+ export async function startDirectGeneration() {
39
+ await post("/alpaca/editor/index/startdirectgeneration", {});
40
+ }
34
41
  //# sourceMappingURL=indexService.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"indexService.js","sourceRoot":"","sources":["../../../src/editor/services/indexService.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AAE5C,MAAM,CAAC,KAAK,UAAU,cAAc;IAClC,IAAI,MAAM,GAAG,MAAM,GAAG,CAAc,6BAA6B,CAAC,CAAC;IACnE,OAAO,MAAM,CAAC,IAAI,CAAC;AACrB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,YAAY;IAChC,MAAM,IAAI,CAAC,8BAA8B,EAAE,EAAE,CAAC,CAAC;AACjD,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,cAAc;IAClC,MAAM,IAAI,CAAC,8BAA8B,EAAE,EAAE,CAAC,CAAC;AACjD,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAC,CAAS;IAC/C,MAAM,IAAI,CACR,4CAA4C,kBAAkB,CAAC,CAAC,CAAC,EAAS,EAC1E,EAAE,CACH,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,uBAAuB;IAC3C,MAAM,IAAI,CAAC,8CAA8C,EAAE,EAAE,CAAC,CAAC;AACjE,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,gBAAgB;IACpC,MAAM,MAAM,GAAG,MAAM,IAAI,CACvB,uCAAuC,EACvC,EAAE,CACH,CAAC;IACF,OAAO,MAAM,CAAC,IAA8B,CAAC;AAC/C,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,YAAY;IAChC,MAAM,MAAM,GAAG,MAAM,IAAI,CACvB,mCAAmC,EACnC,EAAE,CACH,CAAC;IACF,OAAO,MAAM,CAAC,IAA0B,CAAC;AAC3C,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,gBAAgB;IACpC,MAAM,MAAM,GAAG,MAAM,GAAG,CAAgB,oCAAoC,CAAC,CAAC;IAC9E,OAAO,MAAM,CAAC,IAAqB,CAAC;AACtC,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,eAAe;IACnC,MAAM,MAAM,GAAG,MAAM,GAAG,CAAe,mCAAmC,CAAC,CAAC;IAC5E,OAAO,MAAM,CAAC,IAAoB,CAAC;AACrC,CAAC"}
1
+ {"version":3,"file":"indexService.js","sourceRoot":"","sources":["../../../src/editor/services/indexService.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AAE5C,MAAM,CAAC,KAAK,UAAU,cAAc;IAClC,IAAI,MAAM,GAAG,MAAM,GAAG,CAAc,6BAA6B,CAAC,CAAC;IACnE,OAAO,MAAM,CAAC,IAAI,CAAC;AACrB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,YAAY;IAChC,MAAM,IAAI,CAAC,8BAA8B,EAAE,EAAE,CAAC,CAAC;AACjD,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,cAAc;IAClC,MAAM,IAAI,CAAC,8BAA8B,EAAE,EAAE,CAAC,CAAC;AACjD,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAC,CAAS;IAC/C,MAAM,IAAI,CACR,4CAA4C,kBAAkB,CAAC,CAAC,CAAC,EAAS,EAC1E,EAAE,CACH,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,uBAAuB;IAC3C,MAAM,IAAI,CAAC,8CAA8C,EAAE,EAAE,CAAC,CAAC;AACjE,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,gBAAgB;IACpC,MAAM,MAAM,GAAG,MAAM,IAAI,CACvB,uCAAuC,EACvC,EAAE,CACH,CAAC;IACF,OAAO,MAAM,CAAC,IAA8B,CAAC;AAC/C,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,YAAY;IAChC,MAAM,MAAM,GAAG,MAAM,IAAI,CACvB,mCAAmC,EACnC,EAAE,CACH,CAAC;IACF,OAAO,MAAM,CAAC,IAA0B,CAAC;AAC3C,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,gBAAgB;IACpC,MAAM,MAAM,GAAG,MAAM,GAAG,CAAgB,oCAAoC,CAAC,CAAC;IAC9E,OAAO,MAAM,CAAC,IAAqB,CAAC;AACtC,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,eAAe;IACnC,MAAM,MAAM,GAAG,MAAM,GAAG,CAAe,mCAAmC,CAAC,CAAC;IAC5E,OAAO,MAAM,CAAC,IAAoB,CAAC;AACrC,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,kBAAkB;IACtC,MAAM,MAAM,GAAG,MAAM,GAAG,CACtB,sCAAsC,CACvC,CAAC;IACF,OAAO,MAAM,CAAC,IAAuB,CAAC;AACxC,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,qBAAqB;IACzC,MAAM,IAAI,CAAC,4CAA4C,EAAE,EAAE,CAAC,CAAC;AAC/D,CAAC"}
@@ -1,6 +1,7 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import React, { useState, useMemo, useCallback } from "react";
3
3
  import { classNames } from "primereact/utils";
4
+ import * as TooltipPrimitive from "@radix-ui/react-tooltip";
4
5
  import { useEditContext } from "../client/editContext";
5
6
  import { cn } from "../../lib/utils";
6
7
  import { VerticalDotsIcon, ViewToggleIcon } from "../ui/Icons";
@@ -76,16 +77,16 @@ function ViewSelectorComponent() {
76
77
  e.stopPropagation();
77
78
  togglePin(viewName);
78
79
  }, [togglePin]);
79
- return (_jsxs(TooltipProvider, { children: [visibleViews
80
+ return (_jsxs(TooltipProvider, { delayDuration: 500, skipDelayDuration: 0, children: [visibleViews
80
81
  .filter((x) => x.icon)
81
82
  .map((view, i) => (_jsxs(Tooltip, { delayDuration: 500, children: [_jsx(TooltipTrigger, { asChild: true, children: _jsxs("div", { className: classNames(contextValues.viewName === view.name
82
83
  ? "active bg-theme-secondary-light text-theme-secondary rounded-sm"
83
- : "text-dark hover:bg-gray-5", "relative flex cursor-pointer flex-col items-center justify-center", contextValues.showViewNames ? "p-1" : "p-1.5", contextValues.isMobile ? "flex-shrink-0" : ""), "data-sidebarview-name": view.name, onClick: () => handleViewClick(view.name), children: [_jsx("div", { className: contextValues.showViewNames ? "p-0.5" : "", children: renderViewIcon(view) }), contextValues.showViewNames && (_jsx("span", { className: "mt-1 max-w-[60px] text-center text-xs leading-tight break-words", children: view.title || view.name }))] }) }), _jsx(TooltipContent, { side: "right", children: view.title || view.name })] }, `visible-${i}`))), views.length > 0 && (_jsxs(Popover, { open: isPopoverOpen, onOpenChange: setIsPopoverOpen, children: [_jsxs(Tooltip, { children: [_jsx(TooltipTrigger, { asChild: true, children: _jsx(PopoverTrigger, { asChild: true, children: _jsx(Button, { variant: "ghost", size: "icon", "data-testid": "more-views-button", className: cn("p-1.5 text-neutral-500 hover:text-gray-900", contextValues.isMobile ? "flex-shrink-0" : ""), children: _jsx(VerticalDotsIcon, {}) }) }) }), _jsx(TooltipContent, { side: "right", children: "More views" })] }), _jsx(PopoverContent, { className: "w-56 p-2", side: contextValues.isMobile ? "bottom" : "right", align: "start", children: _jsxs("div", { className: "space-y-1", children: [_jsx("div", { className: "px-2 py-1 text-xs font-medium tracking-wider text-gray-600 uppercase", children: "All Views" }), views.map((view, i) => {
84
+ : "text-dark hover:bg-gray-5", "relative flex cursor-pointer flex-col items-center justify-center", contextValues.showViewNames ? "p-1" : "p-1.5", contextValues.isMobile ? "flex-shrink-0" : ""), "data-sidebarview-name": view.name, onClick: () => handleViewClick(view.name), children: [_jsx("div", { className: contextValues.showViewNames ? "p-0.5" : "", children: renderViewIcon(view) }), contextValues.showViewNames && (_jsx("span", { className: "mt-1 max-w-[60px] text-center text-xs leading-tight break-words", children: view.title || view.name }))] }) }), _jsx(TooltipContent, { side: "right", children: view.title || view.name })] }, `visible-${i}`))), views.length > 0 && (_jsxs(Popover, { open: isPopoverOpen, onOpenChange: setIsPopoverOpen, children: [_jsxs(Tooltip, { delayDuration: 500, children: [_jsx(TooltipTrigger, { asChild: true, children: _jsx(PopoverTrigger, { asChild: true, children: _jsx(Button, { variant: "ghost", size: "icon", "data-testid": "more-views-button", className: cn("p-1.5 text-neutral-500 hover:text-gray-900", contextValues.isMobile ? "flex-shrink-0" : ""), children: _jsx(VerticalDotsIcon, {}) }) }) }), _jsx(TooltipContent, { side: "right", children: "More views" })] }), _jsx(PopoverContent, { className: "w-56 p-2", side: contextValues.isMobile ? "bottom" : "right", align: "start", onOpenAutoFocus: (e) => e.preventDefault(), children: _jsxs("div", { className: "space-y-1", children: [_jsx("div", { className: "px-2 py-1 text-xs font-medium tracking-wider text-gray-600 uppercase", children: "All Views" }), views.map((view, i) => {
84
85
  const isPinned = contextValues.pinnedViews.includes(view.name);
85
- return (_jsxs("div", { className: "group flex cursor-pointer items-center justify-between rounded p-2 hover:bg-gray-100", children: [_jsxs("div", { className: "flex flex-1 items-center gap-2", "data-testid": `view-${view.name}`, onClick: () => handleViewClickAndClosePopover(view.name), children: [renderViewIcon(view, "w-4 h-4"), _jsx("span", { className: "text-sm", children: view.title || view.name })] }), _jsxs(Tooltip, { children: [_jsx(TooltipTrigger, { asChild: true, children: _jsx(Button, { variant: "ghost", size: "icon", className: cn("h-6 w-6 transition-opacity", isPinned
86
- ? "opacity-100"
87
- : "opacity-0 group-hover:opacity-100"), onClick: (e) => handlePinClick(e, view.name), children: isPinned ? (_jsx(DrawingPinFilledIcon, { className: "h-3 w-3" })) : (_jsx(DrawingPinIcon, { className: "h-3 w-3" })) }) }), _jsx(TooltipContent, { children: isPinned ? "Unpin view" : "Pin view" })] })] }, `hidden-${i}`));
88
- })] }) })] })), _jsxs(Tooltip, { children: [_jsx(TooltipTrigger, { asChild: true, children: _jsx(Button, { variant: "ghost", size: "icon", className: cn("mt-auto p-1.5 text-neutral-500 hover:text-gray-900", contextValues.isMobile ? "flex-shrink-0" : ""), onClick: toggleShowNames, children: contextValues.showViewNames ? (_jsx(ViewToggleIcon, {})) : (_jsx(ViewToggleIcon, {})) }) }), _jsx(TooltipContent, { children: contextValues.showViewNames ? "Hide view names" : "Show view names" })] })] }));
86
+ return (_jsxs("div", { className: "group flex cursor-pointer items-center justify-between rounded p-2 hover:bg-gray-100", children: [_jsxs("div", { className: "flex flex-1 items-center gap-2", "data-testid": `view-${view.name}`, onClick: () => handleViewClickAndClosePopover(view.name), children: [renderViewIcon(view, "w-4 h-4"), _jsx("span", { className: "text-sm", children: view.title || view.name })] }), _jsx(TooltipPrimitive.Provider, { delayDuration: 1000, skipDelayDuration: 0, children: _jsxs(TooltipPrimitive.Root, { children: [_jsx(TooltipPrimitive.Trigger, { asChild: true, children: _jsx(Button, { variant: "ghost", size: "icon", className: cn("h-6 w-6 transition-opacity", isPinned
87
+ ? "opacity-100"
88
+ : "opacity-0 group-hover:opacity-100"), onClick: (e) => handlePinClick(e, view.name), children: isPinned ? (_jsx(DrawingPinFilledIcon, { className: "h-3 w-3" })) : (_jsx(DrawingPinIcon, { className: "h-3 w-3" })) }) }), _jsx(TooltipPrimitive.Portal, { children: _jsxs(TooltipPrimitive.Content, { className: "bg-primary text-primary-foreground animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 w-fit rounded-md px-3 py-1.5 text-xs text-balance", sideOffset: 0, children: [isPinned ? "Unpin view" : "Pin view", _jsx(TooltipPrimitive.Arrow, { className: "bg-primary fill-primary z-50 size-2.5 translate-y-[calc(-50%_-_2px)] rotate-45 rounded-[2px]" })] }) })] }) })] }, `hidden-${i}`));
89
+ })] }) })] })), _jsxs(Tooltip, { delayDuration: 500, children: [_jsx(TooltipTrigger, { asChild: true, children: _jsx(Button, { variant: "ghost", size: "icon", className: cn("mt-auto p-1.5 text-neutral-500 hover:text-gray-900", contextValues.isMobile ? "flex-shrink-0" : ""), onClick: toggleShowNames, children: contextValues.showViewNames ? (_jsx(ViewToggleIcon, {})) : (_jsx(ViewToggleIcon, {})) }) }), _jsx(TooltipContent, { children: contextValues.showViewNames ? "Hide view names" : "Show view names" })] })] }));
89
90
  }
90
91
  // Export memoized component to prevent unnecessary re-renders
91
92
  export const ViewSelector = React.memo(ViewSelectorComponent);
@@ -1 +1 @@
1
- {"version":3,"file":"ViewSelector.js","sourceRoot":"","sources":["../../../src/editor/sidebar/ViewSelector.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ViewSelector.js","sourceRoot":"","sources":["../../../src/editor/sidebar/ViewSelector.tsx"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
2
  export function CenteredMessage({ children }) {
3
- return (_jsx("div", { className: "flex justify-center items-center h-full text-gray-500", children: children }));
3
+ return (_jsx("div", { className: "flex h-full items-center justify-center text-xs text-gray-500", children: children }));
4
4
  }
5
5
  //# sourceMappingURL=CenteredMessage.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"CenteredMessage.js","sourceRoot":"","sources":["../../../src/editor/ui/CenteredMessage.tsx"],"names":[],"mappings":";AAAA,MAAM,UAAU,eAAe,CAAC,EAAE,QAAQ,EAAiC;IACzE,OAAO,CACL,cAAK,SAAS,EAAC,uDAAuD,YACnE,QAAQ,GACL,CACP,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"CenteredMessage.js","sourceRoot":"","sources":["../../../src/editor/ui/CenteredMessage.tsx"],"names":[],"mappings":";AAAA,MAAM,UAAU,eAAe,CAAC,EAAE,QAAQ,EAAiC;IACzE,OAAO,CACL,cAAK,SAAS,EAAC,+DAA+D,YAC3E,QAAQ,GACL,CACP,CAAC;AACJ,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
2
  export function SimpleToolbar({ children }) {
3
- return (_jsx("div", { className: "items-centerrounded-md border-gray-3 flex gap-2 border-b p-2 text-sm text-gray-500", children: children }));
3
+ return (_jsx("div", { className: "border-gray-3 flex items-center gap-2 border-b p-2 text-sm text-gray-500", children: children }));
4
4
  }
5
5
  //# sourceMappingURL=SimpleToolbar.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"SimpleToolbar.js","sourceRoot":"","sources":["../../../src/editor/ui/SimpleToolbar.tsx"],"names":[],"mappings":";AAAA,MAAM,UAAU,aAAa,CAAC,EAAE,QAAQ,EAAiC;IACvE,OAAO,CACL,cAAK,SAAS,EAAC,oFAAoF,YAChG,QAAQ,GACL,CACP,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"SimpleToolbar.js","sourceRoot":"","sources":["../../../src/editor/ui/SimpleToolbar.tsx"],"names":[],"mappings":";AAAA,MAAM,UAAU,aAAa,CAAC,EAAE,QAAQ,EAAiC;IACvE,OAAO,CACL,cAAK,SAAS,EAAC,0EAA0E,YACtF,QAAQ,GACL,CACP,CAAC;AACJ,CAAC"}
@@ -1,2 +1,2 @@
1
- export declare const version = "1.0.4059";
2
- export declare const buildDate = "2025-08-22 09:58:06";
1
+ export declare const version = "1.0.4061";
2
+ export declare const buildDate = "2025-08-22 14:39:56";
package/dist/revision.js CHANGED
@@ -1,3 +1,3 @@
1
- export const version = "1.0.4059";
2
- export const buildDate = "2025-08-22 09:58:06";
1
+ export const version = "1.0.4061";
2
+ export const buildDate = "2025-08-22 14:39:56";
3
3
  //# sourceMappingURL=revision.js.map
package/dist/styles.css CHANGED
@@ -70,6 +70,9 @@
70
70
  --color-purple-600: oklch(55.8% 0.288 302.321);
71
71
  --color-purple-800: oklch(43.8% 0.218 303.724);
72
72
  --color-pink-400: oklch(71.8% 0.202 349.761);
73
+ --color-pink-600: oklch(59.2% 0.249 0.584);
74
+ --color-rose-600: oklch(58.6% 0.253 17.585);
75
+ --color-rose-700: oklch(51.4% 0.222 16.935);
73
76
  --color-gray-50: oklch(98.5% 0.002 247.839);
74
77
  --color-gray-100: oklch(96.7% 0.003 264.542);
75
78
  --color-gray-200: oklch(92.8% 0.006 264.531);
@@ -769,6 +772,9 @@
769
772
  .min-h-16 {
770
773
  min-height: calc(var(--spacing) * 16);
771
774
  }
775
+ .min-h-\[60px\] {
776
+ min-height: 60px;
777
+ }
772
778
  .min-h-\[70px\] {
773
779
  min-height: 70px;
774
780
  }
@@ -1818,6 +1824,9 @@
1818
1824
  .bg-red-500 {
1819
1825
  background-color: var(--color-red-500);
1820
1826
  }
1827
+ .bg-rose-600 {
1828
+ background-color: var(--color-rose-600);
1829
+ }
1821
1830
  .bg-secondary {
1822
1831
  background-color: var(--secondary);
1823
1832
  }
@@ -2303,6 +2312,9 @@
2303
2312
  .text-orange-800 {
2304
2313
  color: var(--color-orange-800);
2305
2314
  }
2315
+ .text-pink-600 {
2316
+ color: var(--color-pink-600);
2317
+ }
2306
2318
  .text-popover-foreground {
2307
2319
  color: var(--popover-foreground);
2308
2320
  }
@@ -2508,11 +2520,6 @@
2508
2520
  transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
2509
2521
  transition-duration: var(--tw-duration, var(--default-transition-duration));
2510
2522
  }
2511
- .transition-shadow {
2512
- transition-property: box-shadow;
2513
- transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
2514
- transition-duration: var(--tw-duration, var(--default-transition-duration));
2515
- }
2516
2523
  .transition-transform {
2517
2524
  transition-property: transform, translate, scale, rotate;
2518
2525
  transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
@@ -2961,6 +2968,13 @@
2961
2968
  }
2962
2969
  }
2963
2970
  }
2971
+ .hover\:bg-rose-700 {
2972
+ &:hover {
2973
+ @media (hover: hover) {
2974
+ background-color: var(--color-rose-700);
2975
+ }
2976
+ }
2977
+ }
2964
2978
  .hover\:bg-secondary\/80 {
2965
2979
  &:hover {
2966
2980
  @media (hover: hover) {
package/dist/types.d.ts CHANGED
@@ -242,6 +242,8 @@ export type StagingStatus = {
242
242
  fileIds: string[];
243
243
  estimatedInputTokens: number;
244
244
  estimatedCost: number;
245
+ estimatedBatchCost?: number;
246
+ estimatedDirectCost?: number;
245
247
  };
246
248
  export type CollectAndUploadResult = {
247
249
  uploadedFileIds: string[];
@@ -257,6 +259,11 @@ export type ImportStatus = {
257
259
  status: string;
258
260
  startedAt?: string;
259
261
  };
262
+ export type CentroidsStatus = {
263
+ isPopulating: boolean;
264
+ status: string;
265
+ startedAt?: string;
266
+ };
260
267
  export type Error = {
261
268
  message: string;
262
269
  details: string;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@alpaca-editor/core",
3
- "version": "1.0.4059",
3
+ "version": "1.0.4061",
4
4
  "publishConfig": {
5
5
  "access": "public"
6
6
  },
@@ -14,7 +14,7 @@ function Checkbox({
14
14
  <CheckboxPrimitive.Root
15
15
  data-slot="checkbox"
16
16
  className={cn(
17
- "peer border-input dark:bg-input/30 data-[state=checked]:bg-primary data-[state=checked]:text-primary-foreground dark:data-[state=checked]:bg-primary data-[state=checked]:border-primary focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive size-4 shrink-0 cursor-pointer rounded-[4px] border shadow-xs transition-shadow outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50",
17
+ "peer border-input dark:bg-input/30 data-[state=checked]:bg-primary data-[state=checked]:text-primary-foreground dark:data-[state=checked]:bg-primary data-[state=checked]:border-primary focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive size-4 shrink-0 cursor-pointer rounded-[4px] border outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50",
18
18
  className,
19
19
  )}
20
20
  {...props}
@@ -6,7 +6,7 @@ import * as TooltipPrimitive from "@radix-ui/react-tooltip";
6
6
  import { cn } from "../../lib/utils";
7
7
 
8
8
  function TooltipProvider({
9
- delayDuration = 0,
9
+ delayDuration = 500,
10
10
  ...props
11
11
  }: React.ComponentProps<typeof TooltipPrimitive.Provider>) {
12
12
  return (
@@ -19,9 +19,11 @@ function TooltipProvider({
19
19
  }
20
20
 
21
21
  function Tooltip({
22
- delayDuration = 0,
22
+ delayDuration = 500,
23
23
  ...props
24
- }: React.ComponentProps<typeof TooltipPrimitive.Root> & { delayDuration?: number }) {
24
+ }: React.ComponentProps<typeof TooltipPrimitive.Root> & {
25
+ delayDuration?: number;
26
+ }) {
25
27
  return (
26
28
  <TooltipProvider delayDuration={delayDuration}>
27
29
  <TooltipPrimitive.Root data-slot="tooltip" {...props} />