@alpaca-editor/core 1.0.3833 → 1.0.3837
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/editor/ContextMenu.js +7 -1
- package/dist/editor/ContextMenu.js.map +1 -1
- package/dist/editor/MainLayout.js +2 -1
- package/dist/editor/MainLayout.js.map +1 -1
- package/dist/editor/ai/AiResponseMessage.d.ts +1 -1
- package/dist/editor/page-editor-chrome/InlineEditor.js +0 -1
- package/dist/editor/page-editor-chrome/InlineEditor.js.map +1 -1
- package/dist/editor/page-editor-chrome/useInlineAICompletion.js +47 -1
- package/dist/editor/page-editor-chrome/useInlineAICompletion.js.map +1 -1
- package/dist/editor/page-viewer/PageViewerFrame.js +8 -7
- package/dist/editor/page-viewer/PageViewerFrame.js.map +1 -1
- package/dist/editor/ui/PerfectTree.js +3 -3
- package/dist/editor/ui/PerfectTree.js.map +1 -1
- package/dist/page-wizard/steps/CollectStep.js +4 -4
- package/dist/page-wizard/steps/CollectStep.js.map +1 -1
- package/dist/page-wizard/steps/ComponentTypesSelector.js +41 -21
- package/dist/page-wizard/steps/ComponentTypesSelector.js.map +1 -1
- package/dist/revision.d.ts +2 -0
- package/dist/revision.js +3 -0
- package/dist/revision.js.map +1 -0
- package/dist/styles.css +18 -8
- package/package.json +1 -1
- package/src/editor/ContextMenu.tsx +9 -1
- package/src/editor/MainLayout.tsx +4 -1
- package/src/editor/ai/AiResponseMessage.tsx +1 -1
- package/src/editor/page-editor-chrome/InlineEditor.tsx +0 -1
- package/src/editor/page-editor-chrome/useInlineAICompletion.tsx +58 -1
- package/src/editor/page-viewer/PageViewerFrame.tsx +13 -10
- package/src/editor/ui/PerfectTree.tsx +5 -5
- package/src/page-wizard/steps/CollectStep.tsx +18 -15
- package/src/page-wizard/steps/ComponentTypesSelector.tsx +61 -42
- package/src/revision.ts +2 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CollectStep.js","sourceRoot":"","sources":["../../../src/page-wizard/steps/CollectStep.tsx"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"CollectStep.js","sourceRoot":"","sources":["../../../src/page-wizard/steps/CollectStep.tsx"],"names":[],"mappings":"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"}
|
|
@@ -6,6 +6,12 @@ export function ComponentTypeSelector({ selectedComponentTypes, setSelectedCompo
|
|
|
6
6
|
const [isSettingsPanelCollapsed, setIsSettingsPanelCollapsed] = useState(true);
|
|
7
7
|
const [preselectedTypes, setPreselectedTypes] = useState([]);
|
|
8
8
|
const [searchFilter, setSearchFilter] = useState("");
|
|
9
|
+
// Ensure selectedComponentTypes is always an array
|
|
10
|
+
useEffect(() => {
|
|
11
|
+
if (!selectedComponentTypes || !Array.isArray(selectedComponentTypes)) {
|
|
12
|
+
setSelectedComponentTypes([]);
|
|
13
|
+
}
|
|
14
|
+
}, []);
|
|
9
15
|
// Handle select all component types
|
|
10
16
|
const handleSelectAllComponents = () => {
|
|
11
17
|
setSelectedComponentTypes(availableComponentTypes);
|
|
@@ -25,9 +31,11 @@ export function ComponentTypeSelector({ selectedComponentTypes, setSelectedCompo
|
|
|
25
31
|
// Toggle component type selection
|
|
26
32
|
const toggleComponentType = (type) => {
|
|
27
33
|
setSelectedComponentTypes((prevSelected) => {
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
34
|
+
// Ensure prevSelected is an array
|
|
35
|
+
const safeSelected = Array.isArray(prevSelected) ? prevSelected : [];
|
|
36
|
+
const newSelected = safeSelected.includes(type)
|
|
37
|
+
? safeSelected.filter((t) => t !== type)
|
|
38
|
+
: [...safeSelected, type];
|
|
31
39
|
// Save selected types to wizard data
|
|
32
40
|
setData({
|
|
33
41
|
...data,
|
|
@@ -166,35 +174,45 @@ export function ComponentTypeSelector({ selectedComponentTypes, setSelectedCompo
|
|
|
166
174
|
}
|
|
167
175
|
}
|
|
168
176
|
}, [schema, step]);
|
|
169
|
-
return (_jsxs("div", { className: "
|
|
177
|
+
return (_jsxs("div", { className: "mt-3 pb-3", children: [_jsxs("div", { className: "flex items-center justify-between", children: [_jsxs("div", { children: [_jsx("h3", { className: "text-sm font-medium", children: "Layout Generation Settings" }), _jsxs("div", { className: "text-xs text-gray-500", children: [selectedComponentTypes &&
|
|
178
|
+
Array.isArray(selectedComponentTypes) &&
|
|
170
179
|
selectedComponentTypes.length > 0 &&
|
|
171
|
-
`${selectedComponentTypes.length} component types`, selectedComponentTypes
|
|
172
|
-
selectedComponentTypes
|
|
173
|
-
|
|
174
|
-
|
|
180
|
+
`${selectedComponentTypes.length} component types`, (!selectedComponentTypes ||
|
|
181
|
+
!Array.isArray(selectedComponentTypes) ||
|
|
182
|
+
selectedComponentTypes.length === 0) &&
|
|
183
|
+
"Configure what the AI will use to generate the layout"] })] }), _jsx("button", { onClick: () => setIsSettingsPanelCollapsed(!isSettingsPanelCollapsed), className: "flex h-6 w-6 items-center justify-center rounded bg-gray-200 p-1 text-gray-700 hover:bg-gray-300", title: isSettingsPanelCollapsed ? "Expand settings" : "Collapse settings", "aria-expanded": !isSettingsPanelCollapsed, children: isSettingsPanelCollapsed ? (_jsx("span", { className: "text-lg", children: "\u2193" })) : (_jsx("span", { className: "text-lg", children: "\u2191" })) })] }), !isSettingsPanelCollapsed && (_jsxs(_Fragment, { children: [_jsx("div", { className: "mb-2", children: _jsx("input", { type: "text", value: searchFilter, onChange: (e) => setSearchFilter(e.target.value), placeholder: "Search components and placeholders...", className: "w-full rounded border border-gray-300 px-3 py-1 text-sm focus:ring-1 focus:ring-blue-500 focus:outline-none" }) }), _jsx("div", { className: "mb-3 flex flex-col gap-3", children: _jsxs("div", { className: "min-w-0 flex-1 rounded border border-gray-200 bg-white p-2", children: [_jsxs("div", { className: "mb-2 flex items-center justify-between", children: [_jsx("h4", { className: "text-sm font-bold", children: "Component Types" }), _jsxs("span", { className: "rounded-full bg-gray-200 px-2 py-1 text-xs text-gray-500", children: [selectedComponentTypes &&
|
|
184
|
+
Array.isArray(selectedComponentTypes)
|
|
185
|
+
? selectedComponentTypes.length
|
|
186
|
+
: 0, "of ", availableComponentTypes.length, " selected"] })] }), _jsx("div", { className: "mb-2", children: _jsx("div", { className: "mb-2 flex flex-wrap gap-1", children: selectedComponentTypes &&
|
|
187
|
+
Array.isArray(selectedComponentTypes) &&
|
|
188
|
+
selectedComponentTypes.length > 0 ? (selectedComponentTypes.map((type) => (_jsxs("div", { className: `flex items-center rounded-full px-2 py-1 text-xs ${preselectedTypes.includes(type)
|
|
175
189
|
? "bg-green-100 text-green-800"
|
|
176
190
|
: "bg-blue-100 text-blue-800"}`, children: [type, _jsx("button", { onClick: () => toggleComponentType(type), className: `ml-1 ${preselectedTypes.includes(type)
|
|
177
191
|
? "text-green-600 hover:text-green-800"
|
|
178
|
-
: "text-blue-600 hover:text-blue-800"}`, "aria-label": `Remove ${type}`, children: "\u00D7" })] }, type)))) : (_jsx("div", { className: "text-xs text-gray-500 italic", children: "No component types selected" })) }) }), _jsx("div", { className: `max-h-28 overflow-y-auto
|
|
179
|
-
? "flex
|
|
192
|
+
: "text-blue-600 hover:text-blue-800"}`, "aria-label": `Remove ${type}`, children: "\u00D7" })] }, type)))) : (_jsx("div", { className: "text-xs text-gray-500 italic", children: "No component types selected" })) }) }), _jsx("div", { className: `mb-2 max-h-28 overflow-y-auto rounded border border-gray-200 bg-white p-1 ${filteredComponentTypes.length === 0
|
|
193
|
+
? "flex items-center justify-center"
|
|
180
194
|
: ""}`, children: filteredComponentTypes.length > 0 ? (_jsx("div", { className: "grid grid-cols-3 gap-1", children: filteredComponentTypes.map((type) => {
|
|
181
195
|
const isSelected = selectedComponentTypes &&
|
|
196
|
+
Array.isArray(selectedComponentTypes) &&
|
|
182
197
|
selectedComponentTypes.includes(type);
|
|
183
198
|
const isPreselected = preselectedTypes.includes(type);
|
|
184
|
-
return (_jsxs("label", { className: `flex items-center
|
|
199
|
+
return (_jsxs("label", { className: `flex cursor-pointer items-center rounded-md border p-1 text-sm ${isSelected
|
|
185
200
|
? isPreselected
|
|
186
|
-
? "bg-green-50 text-green-700
|
|
187
|
-
: "bg-blue-50 text-blue-700
|
|
201
|
+
? "border-green-200 bg-green-50 text-green-700"
|
|
202
|
+
: "border-blue-200 bg-blue-50 text-blue-700"
|
|
188
203
|
: isPreselected
|
|
189
|
-
? "bg-green-50/30 text-green-700/70
|
|
190
|
-
: "hover:bg-gray-100
|
|
191
|
-
}) })) : (_jsx("div", { className: "
|
|
204
|
+
? "border-green-200 bg-green-50/30 text-green-700/70 hover:bg-green-50/50"
|
|
205
|
+
: "border-transparent hover:bg-gray-100"}`, children: [_jsx("input", { type: "checkbox", checked: isSelected, onChange: () => toggleComponentType(type), className: "mr-2" }), type, isPreselected && (_jsx("span", { className: "ml-1 text-xs text-green-600", title: "Recommended by template", children: "\u2605" }))] }, type));
|
|
206
|
+
}) })) : (_jsx("div", { className: "p-4 text-sm text-gray-500", children: searchFilter
|
|
192
207
|
? "No matching component types found"
|
|
193
208
|
: "No component types available" })) }), _jsxs("div", { className: "flex gap-1", children: [_jsx("button", { onClick: handleSelectAllComponents, disabled: selectedComponentTypes &&
|
|
209
|
+
Array.isArray(selectedComponentTypes) &&
|
|
194
210
|
selectedComponentTypes.length ===
|
|
195
|
-
availableComponentTypes.length, className: "flex-1 bg-gray-200
|
|
196
|
-
selectedComponentTypes
|
|
211
|
+
availableComponentTypes.length, className: "flex-1 rounded bg-gray-200 px-2 py-1 text-xs text-gray-700 hover:bg-gray-300 disabled:cursor-not-allowed disabled:bg-gray-100 disabled:text-gray-400", children: "Select All" }), _jsx("button", { onClick: handleClearAllComponents, disabled: !selectedComponentTypes ||
|
|
212
|
+
!Array.isArray(selectedComponentTypes) ||
|
|
213
|
+
selectedComponentTypes.length === 0, className: "flex-1 rounded bg-gray-200 px-2 py-1 text-xs text-gray-700 hover:bg-gray-300 disabled:cursor-not-allowed disabled:bg-gray-100 disabled:text-gray-400", children: "Clear All" })] }), _jsx("div", { className: "flex w-full gap-2", children: !isSettingsPanelCollapsed ||
|
|
197
214
|
(selectedComponentTypes &&
|
|
215
|
+
Array.isArray(selectedComponentTypes) &&
|
|
198
216
|
selectedComponentTypes.length === 0 &&
|
|
199
217
|
preselectedTypes.length > 0) || (_jsx("div", { className: "flex gap-1", children: preselectedTypes.length > 0 && (_jsx("button", { onClick: () => {
|
|
200
218
|
setSelectedComponentTypes(preselectedTypes);
|
|
@@ -202,8 +220,10 @@ export function ComponentTypeSelector({ selectedComponentTypes, setSelectedCompo
|
|
|
202
220
|
...data,
|
|
203
221
|
selectedComponentTypes: preselectedTypes,
|
|
204
222
|
});
|
|
205
|
-
}, disabled:
|
|
206
|
-
(selectedComponentTypes
|
|
207
|
-
preselectedTypes.
|
|
223
|
+
}, disabled: selectedComponentTypes &&
|
|
224
|
+
Array.isArray(selectedComponentTypes) &&
|
|
225
|
+
preselectedTypes.length ===
|
|
226
|
+
selectedComponentTypes.length &&
|
|
227
|
+
preselectedTypes.every((type) => selectedComponentTypes.includes(type)), className: "flex-1 rounded bg-green-500 px-2 py-1 text-xs text-white hover:bg-green-600 disabled:cursor-not-allowed disabled:bg-gray-100 disabled:text-gray-400", children: "Use Recommended Components" })) })) })] }) })] }))] }));
|
|
208
228
|
}
|
|
209
229
|
//# sourceMappingURL=ComponentTypesSelector.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ComponentTypesSelector.js","sourceRoot":"","sources":["../../../src/page-wizard/steps/ComponentTypesSelector.tsx"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"ComponentTypesSelector.js","sourceRoot":"","sources":["../../../src/page-wizard/steps/ComponentTypesSelector.tsx"],"names":[],"mappings":"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"}
|
package/dist/revision.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"revision.js","sourceRoot":"","sources":["../src/revision.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,OAAO,GAAG,UAAU,CAAC;AAClC,MAAM,CAAC,MAAM,SAAS,GAAG,qBAAqB,CAAC"}
|
package/dist/styles.css
CHANGED
|
@@ -83,6 +83,7 @@
|
|
|
83
83
|
--font-weight-semibold: 600;
|
|
84
84
|
--font-weight-bold: 700;
|
|
85
85
|
--tracking-widest: 0.1em;
|
|
86
|
+
--radius-2xl: 1rem;
|
|
86
87
|
--ease-in-out: cubic-bezier(0.4, 0, 0.2, 1);
|
|
87
88
|
--animate-spin: spin 1s linear infinite;
|
|
88
89
|
--animate-ping: ping 1s cubic-bezier(0, 0, 0.2, 1) infinite;
|
|
@@ -245,9 +246,6 @@
|
|
|
245
246
|
max-width: 96rem;
|
|
246
247
|
}
|
|
247
248
|
}
|
|
248
|
-
.m-0 {
|
|
249
|
-
margin: calc(var(--spacing) * 0);
|
|
250
|
-
}
|
|
251
249
|
.m-1 {
|
|
252
250
|
margin: calc(var(--spacing) * 1);
|
|
253
251
|
}
|
|
@@ -299,9 +297,6 @@
|
|
|
299
297
|
.mt-6 {
|
|
300
298
|
margin-top: calc(var(--spacing) * 6);
|
|
301
299
|
}
|
|
302
|
-
.mr-0\.5 {
|
|
303
|
-
margin-right: calc(var(--spacing) * 0.5);
|
|
304
|
-
}
|
|
305
300
|
.mr-1 {
|
|
306
301
|
margin-right: calc(var(--spacing) * 1);
|
|
307
302
|
}
|
|
@@ -344,6 +339,9 @@
|
|
|
344
339
|
.mb-20 {
|
|
345
340
|
margin-bottom: calc(var(--spacing) * 20);
|
|
346
341
|
}
|
|
342
|
+
.ml-0\.5 {
|
|
343
|
+
margin-left: calc(var(--spacing) * 0.5);
|
|
344
|
+
}
|
|
347
345
|
.ml-1 {
|
|
348
346
|
margin-left: calc(var(--spacing) * 1);
|
|
349
347
|
}
|
|
@@ -586,8 +584,8 @@
|
|
|
586
584
|
.w-\[4px\] {
|
|
587
585
|
width: 4px;
|
|
588
586
|
}
|
|
589
|
-
.w-\[
|
|
590
|
-
width:
|
|
587
|
+
.w-\[16px\] {
|
|
588
|
+
width: 16px;
|
|
591
589
|
}
|
|
592
590
|
.w-auto {
|
|
593
591
|
width: auto;
|
|
@@ -791,6 +789,9 @@
|
|
|
791
789
|
.justify-stretch {
|
|
792
790
|
justify-content: stretch;
|
|
793
791
|
}
|
|
792
|
+
.gap-0\.5 {
|
|
793
|
+
gap: calc(var(--spacing) * 0.5);
|
|
794
|
+
}
|
|
794
795
|
.gap-1 {
|
|
795
796
|
gap: calc(var(--spacing) * 1);
|
|
796
797
|
}
|
|
@@ -894,6 +895,9 @@
|
|
|
894
895
|
border-top-left-radius: var(--radius);
|
|
895
896
|
border-bottom-left-radius: var(--radius);
|
|
896
897
|
}
|
|
898
|
+
.rounded-tl-2xl {
|
|
899
|
+
border-top-left-radius: var(--radius-2xl);
|
|
900
|
+
}
|
|
897
901
|
.rounded-tl-sm {
|
|
898
902
|
border-top-left-radius: calc(var(--radius) - 4px);
|
|
899
903
|
}
|
|
@@ -1074,6 +1078,9 @@
|
|
|
1074
1078
|
.bg-gray-50 {
|
|
1075
1079
|
background-color: var(--color-gray-50);
|
|
1076
1080
|
}
|
|
1081
|
+
.bg-gray-50\/70 {
|
|
1082
|
+
background-color: color-mix(in oklab, var(--color-gray-50) 70%, transparent);
|
|
1083
|
+
}
|
|
1077
1084
|
.bg-gray-100 {
|
|
1078
1085
|
background-color: var(--color-gray-100);
|
|
1079
1086
|
}
|
|
@@ -1284,6 +1291,9 @@
|
|
|
1284
1291
|
.pt-0 {
|
|
1285
1292
|
padding-top: calc(var(--spacing) * 0);
|
|
1286
1293
|
}
|
|
1294
|
+
.pt-1 {
|
|
1295
|
+
padding-top: calc(var(--spacing) * 1);
|
|
1296
|
+
}
|
|
1287
1297
|
.pt-2 {
|
|
1288
1298
|
padding-top: calc(var(--spacing) * 2);
|
|
1289
1299
|
}
|
package/package.json
CHANGED
|
@@ -167,7 +167,15 @@ export const EditContextMenu = forwardRef<
|
|
|
167
167
|
) : (
|
|
168
168
|
<ContextMenuItem
|
|
169
169
|
key={index}
|
|
170
|
-
onClick={
|
|
170
|
+
onClick={(e) => {
|
|
171
|
+
if (item.command) {
|
|
172
|
+
item.command(e);
|
|
173
|
+
}
|
|
174
|
+
// Close the context menu when an item is clicked
|
|
175
|
+
canvasRef.current?.dispatchEvent(
|
|
176
|
+
new KeyboardEvent("keydown", { key: "Escape" }),
|
|
177
|
+
);
|
|
178
|
+
}}
|
|
171
179
|
disabled={item.disabled}
|
|
172
180
|
className="cursor-pointer"
|
|
173
181
|
>
|
|
@@ -9,7 +9,7 @@ import { SidebarView } from "./sidebar/SidebarView";
|
|
|
9
9
|
import { Splitter, SplitterPanel } from "./ui/Splitter";
|
|
10
10
|
import { ViewSelector } from "./sidebar/ViewSelector";
|
|
11
11
|
import { Layers } from "lucide-react";
|
|
12
|
-
|
|
12
|
+
import { version, buildDate } from "../revision";
|
|
13
13
|
export default function MainLayout({
|
|
14
14
|
view,
|
|
15
15
|
centerPanelView,
|
|
@@ -88,6 +88,9 @@ export default function MainLayout({
|
|
|
88
88
|
/>
|
|
89
89
|
</div>
|
|
90
90
|
</div>
|
|
91
|
+
<div className="text-2xs fixed right-0 bottom-0 z-50 flex flex-col rounded-tl-2xl bg-gray-50/70 px-1 pt-1 text-center font-mono text-gray-400">
|
|
92
|
+
<div title={buildDate}>{version}</div>
|
|
93
|
+
</div>
|
|
91
94
|
</div>
|
|
92
95
|
);
|
|
93
96
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { useState } from "react";
|
|
2
2
|
|
|
3
3
|
import { useEditContext } from "../client/editContext";
|
|
4
|
-
import { EditOperation } from "
|
|
4
|
+
import { EditOperation } from "../../types";
|
|
5
5
|
import { Message } from "./AiTerminal";
|
|
6
6
|
import { AiToolCall } from "./AiToolCall";
|
|
7
7
|
|
|
@@ -71,7 +71,6 @@ export function InlineEditor({
|
|
|
71
71
|
textNodes.forEach((node) => node.parentNode?.removeChild(node));
|
|
72
72
|
|
|
73
73
|
value = isRichText ? clone.innerHTML : clone.innerText;
|
|
74
|
-
console.log("value", value);
|
|
75
74
|
}
|
|
76
75
|
|
|
77
76
|
var modifiedFieldValue = modifiedFieldsContext?.modifiedFields.find(
|
|
@@ -565,7 +565,42 @@ export function useInlineAiCompletion({
|
|
|
565
565
|
|
|
566
566
|
// No active suggestion → fire new request once they've typed 2+ words
|
|
567
567
|
const words = sentence.trim().split(/\s+/).filter(Boolean);
|
|
568
|
-
|
|
568
|
+
|
|
569
|
+
// Check if cursor is at the end of the text
|
|
570
|
+
const isAtEnd = () => {
|
|
571
|
+
const el = editContext?.inlineEditingFieldElement;
|
|
572
|
+
if (!el) return false;
|
|
573
|
+
|
|
574
|
+
const iframeWindow =
|
|
575
|
+
pageViewContext.editorIframeRef.current?.contentWindow;
|
|
576
|
+
const selection = iframeWindow?.getSelection();
|
|
577
|
+
if (!selection || selection.rangeCount === 0) return false;
|
|
578
|
+
|
|
579
|
+
const range = selection.getRangeAt(0);
|
|
580
|
+
|
|
581
|
+
// Create a range for the whole editable element
|
|
582
|
+
const fullRange = document.createRange();
|
|
583
|
+
fullRange.selectNodeContents(el);
|
|
584
|
+
|
|
585
|
+
// Get the full text content
|
|
586
|
+
const fullText = el.textContent || "";
|
|
587
|
+
|
|
588
|
+
// Get text up to cursor
|
|
589
|
+
const tempRange = document.createRange();
|
|
590
|
+
tempRange.selectNodeContents(el);
|
|
591
|
+
tempRange.setEnd(range.startContainer, range.startOffset);
|
|
592
|
+
const textUpToCursor = tempRange.toString();
|
|
593
|
+
|
|
594
|
+
// Cursor is at the end if the text up to cursor equals the full text
|
|
595
|
+
// (accounting for whitespace differences)
|
|
596
|
+
return (
|
|
597
|
+
textUpToCursor.trim() === fullText.trim() ||
|
|
598
|
+
(fullText.trim().startsWith(textUpToCursor.trim()) &&
|
|
599
|
+
fullText.trim().length === textUpToCursor.trim().length)
|
|
600
|
+
);
|
|
601
|
+
};
|
|
602
|
+
|
|
603
|
+
if (words.length >= 2 && isAtEnd()) {
|
|
569
604
|
getCompletionDebounced();
|
|
570
605
|
} else {
|
|
571
606
|
setCurrentCompletion(null);
|
|
@@ -592,6 +627,28 @@ export function useInlineAiCompletion({
|
|
|
592
627
|
editContext?.enableCompletions,
|
|
593
628
|
]);
|
|
594
629
|
|
|
630
|
+
// Add mouse click handler to update cursor span position
|
|
631
|
+
useEffect(() => {
|
|
632
|
+
if (!editContext?.enableCompletions) return;
|
|
633
|
+
const el = editContext?.inlineEditingFieldElement;
|
|
634
|
+
if (!el) return;
|
|
635
|
+
|
|
636
|
+
const handleMouseUp = () => {
|
|
637
|
+
setTimeout(() => {
|
|
638
|
+
if (!isUpdatingRef.current) {
|
|
639
|
+
positionCursorSpan();
|
|
640
|
+
|
|
641
|
+
// Clear existing completion when cursor position changes via mouse
|
|
642
|
+
setCurrentCompletion(null);
|
|
643
|
+
clearCursorSpan();
|
|
644
|
+
}
|
|
645
|
+
}, 10);
|
|
646
|
+
};
|
|
647
|
+
|
|
648
|
+
el.addEventListener("mouseup", handleMouseUp);
|
|
649
|
+
return () => el.removeEventListener("mouseup", handleMouseUp);
|
|
650
|
+
}, [editContext?.inlineEditingFieldElement, editContext?.enableCompletions]);
|
|
651
|
+
|
|
595
652
|
// Clean up abort controller on unmount
|
|
596
653
|
useEffect(() => {
|
|
597
654
|
return () => {
|
|
@@ -224,18 +224,21 @@ export function PageViewerFrame({
|
|
|
224
224
|
});
|
|
225
225
|
}
|
|
226
226
|
}
|
|
227
|
-
}
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
227
|
+
}
|
|
228
|
+
}, [editContext.focusedField]);
|
|
229
|
+
|
|
230
|
+
useEffect(() => {
|
|
231
|
+
if (!editContext.focusedField && editContext.selection.length > 0) {
|
|
232
|
+
const lastSelectedComponent = getComponentById(
|
|
233
|
+
editContext.selection[editContext.selection.length - 1]!,
|
|
234
|
+
pageViewContextRef.current!.page!,
|
|
235
|
+
);
|
|
236
|
+
if (lastSelectedComponent) {
|
|
237
|
+
console.log("2: scrolling to", lastSelectedComponent);
|
|
238
|
+
editContext.setScrollIntoView(lastSelectedComponent.id);
|
|
236
239
|
}
|
|
237
240
|
}
|
|
238
|
-
}, [editContext.
|
|
241
|
+
}, [editContext.selection]);
|
|
239
242
|
|
|
240
243
|
const loadContent = async (href: string, initialLoad: boolean) => {
|
|
241
244
|
console.log("Loading content:", href);
|
|
@@ -314,7 +314,7 @@ const NodeContent = memo(
|
|
|
314
314
|
return (
|
|
315
315
|
<ProgressSpinner
|
|
316
316
|
style={{ width: "16px", height: "16px" }}
|
|
317
|
-
className="
|
|
317
|
+
className="text-gray-500"
|
|
318
318
|
/>
|
|
319
319
|
);
|
|
320
320
|
}
|
|
@@ -322,7 +322,7 @@ const NodeContent = memo(
|
|
|
322
322
|
return (
|
|
323
323
|
<span
|
|
324
324
|
onClick={handleToggle}
|
|
325
|
-
className={`
|
|
325
|
+
className={`ml-0.5 inline-block transform cursor-pointer text-gray-500 transition duration-150 select-none ${
|
|
326
326
|
isExpanded ? "rotate-90" : "rotate-0"
|
|
327
327
|
}`}
|
|
328
328
|
>
|
|
@@ -355,7 +355,7 @@ const NodeContent = memo(
|
|
|
355
355
|
|
|
356
356
|
return (
|
|
357
357
|
<div
|
|
358
|
-
className="tree-node mb-0.5 flex cursor-pointer items-center"
|
|
358
|
+
className="tree-node mb-0.5 flex cursor-pointer items-center gap-0.5"
|
|
359
359
|
draggable={enableDragAndDrop}
|
|
360
360
|
onClick={handleSelect}
|
|
361
361
|
onDragStart={(event) => handleDragStart(event)}
|
|
@@ -371,10 +371,10 @@ const NodeContent = memo(
|
|
|
371
371
|
{node.hasChildren || node.children?.length ? (
|
|
372
372
|
renderToggle()
|
|
373
373
|
) : (
|
|
374
|
-
<div className="w-[
|
|
374
|
+
<div className="w-[16px]" />
|
|
375
375
|
)}
|
|
376
376
|
<div
|
|
377
|
-
className={`rounded-md border border-transparent p-0.5 pr-1.5 hover:border-gray-300 ${
|
|
377
|
+
className={`flex-1 rounded-md border border-transparent p-0.5 pr-1.5 hover:border-gray-300 ${
|
|
378
378
|
isDragOver ? "bg-sky-200" : isSelected ? "bg-blue-100" : ""
|
|
379
379
|
}`}
|
|
380
380
|
onClick={handleSelect}
|
|
@@ -56,7 +56,7 @@ export function CollectStep({
|
|
|
56
56
|
|
|
57
57
|
if (!response.ok) {
|
|
58
58
|
throw new Error(
|
|
59
|
-
`Upload failed: ${response.status} ${response.statusText}
|
|
59
|
+
`Upload failed: ${response.status} ${response.statusText}`,
|
|
60
60
|
);
|
|
61
61
|
}
|
|
62
62
|
|
|
@@ -100,7 +100,7 @@ export function CollectStep({
|
|
|
100
100
|
|
|
101
101
|
if (!response.ok) {
|
|
102
102
|
throw new Error(
|
|
103
|
-
`Scraping failed: ${response.status} ${response.statusText}
|
|
103
|
+
`Scraping failed: ${response.status} ${response.statusText}`,
|
|
104
104
|
);
|
|
105
105
|
}
|
|
106
106
|
|
|
@@ -112,7 +112,7 @@ export function CollectStep({
|
|
|
112
112
|
}));
|
|
113
113
|
} catch (err) {
|
|
114
114
|
setScrapeError(
|
|
115
|
-
err instanceof Error ? err.message : "Unknown error occurred"
|
|
115
|
+
err instanceof Error ? err.message : "Unknown error occurred",
|
|
116
116
|
);
|
|
117
117
|
} finally {
|
|
118
118
|
setIsScraping(false);
|
|
@@ -124,20 +124,20 @@ export function CollectStep({
|
|
|
124
124
|
defaultSize: 300,
|
|
125
125
|
collapsible: false,
|
|
126
126
|
content: (
|
|
127
|
-
<div className="flex flex-col gap-6
|
|
127
|
+
<div className="6 flex flex-col items-stretch gap-6 p-2">
|
|
128
128
|
<div className="flex flex-col gap-2">
|
|
129
129
|
<div className="text-sm font-semibold text-gray-700">
|
|
130
130
|
Upload a file
|
|
131
131
|
</div>
|
|
132
132
|
|
|
133
133
|
<div
|
|
134
|
-
className={`h-40 w-40 border border-dashed border-gray-300
|
|
134
|
+
className={`flex h-40 w-40 flex-col items-center justify-center border border-dashed border-gray-300 p-5 ${
|
|
135
135
|
isUploading ? "bg-gray-200" : "bg-white"
|
|
136
136
|
}`}
|
|
137
137
|
onDrop={handleDrop}
|
|
138
138
|
onDragOver={(e) => e.preventDefault()}
|
|
139
139
|
>
|
|
140
|
-
<div className="
|
|
140
|
+
<div className="flex flex-col items-center justify-center gap-1 text-center text-sm font-medium">
|
|
141
141
|
{!isUploading && <UploadCloudIcon />}
|
|
142
142
|
{isUploading && <Spinner />}
|
|
143
143
|
<input
|
|
@@ -157,11 +157,11 @@ export function CollectStep({
|
|
|
157
157
|
/>
|
|
158
158
|
Drag & Drop to upload or
|
|
159
159
|
<span
|
|
160
|
-
className={`text-sm font-medium
|
|
160
|
+
className={`text-sm font-medium ${
|
|
161
161
|
isUploading
|
|
162
162
|
? "text-gray-500"
|
|
163
|
-
: "text-canvas-pink
|
|
164
|
-
}
|
|
163
|
+
: "text-canvas-pink cursor-pointer underline"
|
|
164
|
+
} `}
|
|
165
165
|
onClick={triggerFileInput}
|
|
166
166
|
>
|
|
167
167
|
browse
|
|
@@ -170,21 +170,24 @@ export function CollectStep({
|
|
|
170
170
|
</div>
|
|
171
171
|
</div>
|
|
172
172
|
|
|
173
|
-
{error &&
|
|
174
|
-
<div className="text-red-500 text-sm mt-2">{error}</div>
|
|
175
|
-
)}
|
|
173
|
+
{error && <div className="mt-2 text-sm text-red-500">{error}</div>}
|
|
176
174
|
|
|
177
175
|
<div className="flex flex-col gap-2">
|
|
178
176
|
<div className="text-sm font-semibold text-gray-700">
|
|
179
177
|
Scrape page from URL
|
|
178
|
+
<div className="text-xs font-normal text-gray-500">
|
|
179
|
+
Only scrape websites you have permission to access. You are
|
|
180
|
+
responsible for complying with the website's terms of service and
|
|
181
|
+
all applicable laws.
|
|
182
|
+
</div>
|
|
180
183
|
</div>
|
|
181
184
|
<InputText
|
|
182
185
|
type="text"
|
|
183
|
-
className="border border-gray-300
|
|
186
|
+
className="rounded-md border border-gray-300 px-3 py-2"
|
|
184
187
|
onChange={(e) => setScrapeUrl(e.target.value)}
|
|
185
188
|
/>
|
|
186
189
|
{scrapeError && (
|
|
187
|
-
<div className="
|
|
190
|
+
<div className="mt-2 text-sm text-red-500">{scrapeError}</div>
|
|
188
191
|
)}
|
|
189
192
|
<div className="flex gap-2">
|
|
190
193
|
<ActionButton
|
|
@@ -206,7 +209,7 @@ export function CollectStep({
|
|
|
206
209
|
defaultSize: "auto",
|
|
207
210
|
collapsible: false,
|
|
208
211
|
content: (
|
|
209
|
-
<div className="absolute inset-0
|
|
212
|
+
<div className="absolute inset-0 h-full w-full px-4 pb-4">
|
|
210
213
|
<MDEditor
|
|
211
214
|
height="100%"
|
|
212
215
|
className="max-h-full"
|