@alpaca-editor/core 1.0.3964 → 1.0.3966

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 (53) hide show
  1. package/dist/config/config.js +21 -18
  2. package/dist/config/config.js.map +1 -1
  3. package/dist/editor/FieldListField.js +8 -9
  4. package/dist/editor/FieldListField.js.map +1 -1
  5. package/dist/editor/ImageEditButton.js +1 -1
  6. package/dist/editor/ImageEditButton.js.map +1 -1
  7. package/dist/editor/Terminal.js +1 -1
  8. package/dist/editor/menubar/PageSelector.js +2 -3
  9. package/dist/editor/menubar/PageSelector.js.map +1 -1
  10. package/dist/editor/menubar/toolbar-sections/EditControls.js +2 -2
  11. package/dist/editor/menubar/toolbar-sections/EditControls.js.map +1 -1
  12. package/dist/editor/page-viewer/EditorForm.js +0 -1
  13. package/dist/editor/page-viewer/EditorForm.js.map +1 -1
  14. package/dist/editor/sidebar/Debug.js +12 -6
  15. package/dist/editor/sidebar/Debug.js.map +1 -1
  16. package/dist/editor/sidebar/GraphQL.js +178 -33
  17. package/dist/editor/sidebar/GraphQL.js.map +1 -1
  18. package/dist/editor/ui/CopyToClipboardButton.js +1 -1
  19. package/dist/editor/ui/CopyToClipboardButton.js.map +1 -1
  20. package/dist/editor/ui/PerfectTree.js +5 -4
  21. package/dist/editor/ui/PerfectTree.js.map +1 -1
  22. package/dist/editor/ui/SimpleIconButton.d.ts +2 -1
  23. package/dist/editor/ui/SimpleIconButton.js +4 -4
  24. package/dist/editor/ui/SimpleIconButton.js.map +1 -1
  25. package/dist/revision.d.ts +2 -2
  26. package/dist/revision.js +2 -2
  27. package/dist/styles.css +15 -2
  28. package/package.json +1 -1
  29. package/src/config/config.tsx +21 -17
  30. package/src/editor/FieldListField.tsx +9 -9
  31. package/src/editor/ImageEditButton.tsx +1 -1
  32. package/src/editor/Terminal.tsx +1 -1
  33. package/src/editor/menubar/PageSelector.tsx +13 -28
  34. package/src/editor/menubar/toolbar-sections/EditControls.tsx +9 -9
  35. package/src/editor/page-viewer/EditorForm.tsx +0 -2
  36. package/src/editor/sidebar/Debug.tsx +28 -24
  37. package/src/editor/sidebar/GraphQL.tsx +268 -51
  38. package/src/editor/ui/CopyToClipboardButton.tsx +2 -2
  39. package/src/editor/ui/PerfectTree.tsx +12 -22
  40. package/src/editor/ui/SimpleIconButton.tsx +3 -1
  41. package/src/revision.ts +2 -2
  42. package/dist/editor/menubar/PageToolbar.d.ts +0 -1
  43. package/dist/editor/menubar/PageToolbar.js +0 -33
  44. package/dist/editor/menubar/PageToolbar.js.map +0 -1
  45. package/dist/editor/menubar/PageViewerControls.d.ts +0 -1
  46. package/dist/editor/menubar/PageViewerControls.js +0 -9
  47. package/dist/editor/menubar/PageViewerControls.js.map +0 -1
  48. package/dist/editor/menubar/PreviewSecondaryControls.d.ts +0 -1
  49. package/dist/editor/menubar/PreviewSecondaryControls.js +0 -10
  50. package/dist/editor/menubar/PreviewSecondaryControls.js.map +0 -1
  51. package/src/editor/menubar/PageToolbar.tsx +0 -154
  52. package/src/editor/menubar/PageViewerControls.tsx +0 -10
  53. package/src/editor/menubar/PreviewSecondaryControls.tsx +0 -16
@@ -1,17 +1,24 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { Splitter, SplitterPanel } from "primereact/splitter";
3
3
  import { InputTextarea } from "primereact/inputtextarea";
4
- import { Button } from "primereact/button";
4
+ import { ActionButton } from "../../components/ActionButton";
5
5
  import { useEffect, useState } from "react";
6
6
  import { useEditContext } from "../client/editContext";
7
7
  import { ObjectInspector } from "react-inspector";
8
8
  import { SimpleTabs } from "../ui/SimpleTabs";
9
+ import { AiTerminal } from "../ai/AiTerminal";
10
+ import { createEditorAiContext } from "../ai/editorAiContext";
11
+ import { RefreshCw } from "lucide-react";
9
12
  export function GraphQL() {
10
13
  const editContext = useEditContext();
11
14
  const [query, setQuery] = useState("");
12
15
  const [showSpinner, setShowSpinner] = useState(false);
16
+ const [graphqlResult, setGraphqlResult] = useState({});
17
+ const [schemaResult, setSchemaResult] = useState({});
18
+ const [showSchemaSpinner, setShowSchemaSpinner] = useState(false);
19
+ const [activeTab, setActiveTab] = useState(0);
20
+ const [aiGeneratedQuery, setAiGeneratedQuery] = useState("");
13
21
  let item = editContext?.page?.item;
14
- //const graphql = item?.graphql;
15
22
  useEffect(() => {
16
23
  setShowSpinner(false);
17
24
  }, [editContext?.refreshCompletedFlag]);
@@ -20,6 +27,12 @@ export function GraphQL() {
20
27
  if (graphql_query)
21
28
  setQuery(graphql_query || "");
22
29
  }, [item]);
30
+ // Auto-fetch schema when Schema tab is activated (now tab index 0)
31
+ useEffect(() => {
32
+ if (activeTab === 0 && !schemaResult?.data && !showSchemaSpinner) {
33
+ fetchSchema();
34
+ }
35
+ }, [activeTab]);
23
36
  // if (item) {
24
37
  // const selectedComponents = editContext!.selection
25
38
  // .map((x) => getComponentById(x, editContext!.page!))
@@ -76,38 +89,170 @@ export function GraphQL() {
76
89
  // }
77
90
  if (!item)
78
91
  return null;
79
- const graphql = {};
80
- // function refresh() {
81
- // if (!item) return;
82
- // const field: Field = {
83
- // _editor: {
84
- // name: "_GraphQL",
85
- // type: "jsonValue",
86
- // descriptor: {
87
- // item: item,
88
- // fieldId: "3622F861-ECA9-45D7-8DA7-2CDA35235002",
89
- // },
90
- // sourceItems: [],
91
- // },
92
- // id: "3622F861-ECA9-45D7-8DA7-2CDA35235002",
93
- // value: query,
94
- // };
95
- // const prettyQuery = format(query);
96
- // setQuery(prettyQuery);
97
- // setShowSpinner(true);
98
- // editContext?.editField({
99
- // field: field._editor!.descriptor,
100
- // value: prettyQuery,
101
- // });
102
- // }
103
- return (_jsxs(Splitter, { layout: "vertical", style: { height: "100%" }, children: [_jsx(SplitterPanel, { size: 50, className: "relative", children: _jsxs("div", { className: "absolute inset-0 flex", children: [_jsx(InputTextarea, { value: query, onChange: (e) => setQuery(e.target.value), className: "flex-1 text-xs", style: { height: "100%" } }), _jsx(Button, { icon: "pi pi-refresh" + (showSpinner ? " pi-spin" : ""),
104
- // onClick={refresh}
105
- disabled: showSpinner })] }) }), _jsx(SplitterPanel, { className: "relative", children: _jsx("div", { className: "absolute inset-0", children: _jsx(SimpleTabs, { tabs: [
92
+ async function refresh() {
93
+ if (!item || !query.trim())
94
+ return;
95
+ setShowSpinner(true);
96
+ try {
97
+ const response = await fetch("/alpaca/headless/graphql", {
98
+ method: "POST",
99
+ headers: {
100
+ "Content-Type": "application/json",
101
+ },
102
+ body: JSON.stringify({
103
+ Query: query,
104
+ ItemId: item.id,
105
+ Language: item.language,
106
+ Version: item.version,
107
+ }),
108
+ });
109
+ if (!response.ok) {
110
+ throw new Error(`HTTP error! status: ${response.status}`);
111
+ }
112
+ const result = await response.json();
113
+ if (result.errors) {
114
+ setGraphqlResult({ status: 400, errors: result.errors });
115
+ }
116
+ else {
117
+ setGraphqlResult({ data: result.data, status: response.status });
118
+ }
119
+ }
120
+ catch (error) {
121
+ console.error("GraphQL query error:", error);
122
+ setGraphqlResult({ error: String(error) });
123
+ }
124
+ finally {
125
+ setShowSpinner(false);
126
+ }
127
+ }
128
+ async function fetchSchema() {
129
+ if (!item)
130
+ return;
131
+ setShowSchemaSpinner(true);
132
+ try {
133
+ const response = await fetch("/alpaca/headless/graphql/schema", {
134
+ method: "POST",
135
+ headers: {
136
+ "Content-Type": "application/json",
137
+ },
138
+ body: JSON.stringify({
139
+ ItemId: item.id,
140
+ Language: item.language,
141
+ Version: item.version,
142
+ Schema: "Default", // You may want to make this configurable
143
+ }),
144
+ });
145
+ if (!response.ok) {
146
+ throw new Error(`HTTP error! status: ${response.status}`);
147
+ }
148
+ const result = await response.text(); // Schema returns plain text, not JSON
149
+ setSchemaResult({ data: result, status: response.status });
150
+ }
151
+ catch (error) {
152
+ console.error("Schema fetch error:", error);
153
+ setSchemaResult({ error: String(error) });
154
+ }
155
+ finally {
156
+ setShowSchemaSpinner(false);
157
+ }
158
+ }
159
+ // Function to apply AI-generated query to the editor
160
+ const applyQueryToEditor = (newQuery) => {
161
+ setQuery(newQuery);
162
+ setAiGeneratedQuery(newQuery);
163
+ };
164
+ // Extract GraphQL queries from AI response
165
+ const extractGraphQLFromResponse = (responseText) => {
166
+ const graphqlBlockRegex = /```graphql\s*([\s\S]*?)\s*```/i;
167
+ const match = responseText.match(graphqlBlockRegex);
168
+ return match ? match[1]?.trim() || null : null;
169
+ };
170
+ // Create AI context with GraphQL schema for AI assistance
171
+ const createGraphQLAiContext = ({ editContext }) => {
172
+ const baseContext = createEditorAiContext({ editContext });
173
+ if (!item)
174
+ return baseContext;
175
+ return {
176
+ ...baseContext,
177
+ promptData: {
178
+ ...baseContext.promptData,
179
+ graphqlSchema: schemaResult?.data || null,
180
+ currentQuery: query,
181
+ itemContext: {
182
+ id: item.id,
183
+ language: item.language,
184
+ version: item.version,
185
+ },
186
+ },
187
+ callback: (response) => {
188
+ // Check if the AI response contains a GraphQL query
189
+ if (response?.messages &&
190
+ Array.isArray(response.messages) &&
191
+ response.messages.length > 0) {
192
+ const lastMessage = response.messages[response.messages.length - 1];
193
+ if (lastMessage &&
194
+ lastMessage.role === "assistant" &&
195
+ lastMessage.content) {
196
+ const extractedQuery = extractGraphQLFromResponse(lastMessage.content);
197
+ if (extractedQuery) {
198
+ setAiGeneratedQuery(extractedQuery);
199
+ }
200
+ }
201
+ }
202
+ },
203
+ };
204
+ };
205
+ return (_jsxs(Splitter, { layout: "vertical", style: { height: "100%" }, children: [_jsx(SplitterPanel, { size: 50, className: "relative", children: _jsxs("div", { className: "absolute inset-0 flex flex-col overflow-hidden", children: [aiGeneratedQuery && aiGeneratedQuery !== query && (_jsxs("div", { className: "flex items-center gap-2 border-b border-yellow-200 bg-yellow-50 p-2 text-xs", children: [_jsx("span", { className: "text-yellow-800", children: "AI generated a new query" }), _jsx(ActionButton, { onClick: () => applyQueryToEditor(aiGeneratedQuery), className: "p-1 text-xs", variant: "outline", children: "Apply" }), _jsx(ActionButton, { onClick: () => setAiGeneratedQuery(""), className: "p-1", variant: "ghost", children: "\u00D7" })] })), _jsxs(Splitter, { layout: "horizontal", style: { height: "100%" }, children: [_jsx(SplitterPanel, { size: 50, className: "relative", children: _jsxs("div", { className: "absolute inset-0 flex items-stretch", children: [_jsx(InputTextarea, { value: query, onChange: (e) => setQuery(e.target.value), className: "min-w-0 flex-1 text-xs", style: { height: "100%" } }), _jsx(ActionButton, { onClick: refresh, disabled: showSpinner, className: "h-full px-2", variant: "outline", children: _jsx(RefreshCw, { strokeWidth: 1 }) })] }) }), _jsx(SplitterPanel, { className: "relative", children: _jsxs("div", { className: "absolute inset-0 flex flex-col text-xs", children: [_jsx("div", { className: "border-b border-gray-300 bg-gray-50 px-2 py-1 text-xs font-medium", children: "JSON Result" }), _jsx("div", { className: "flex-1 overflow-auto p-2", children: _jsx("div", { className: "min-w-0 overflow-x-auto", children: _jsx(ObjectInspector, { data: graphqlResult, expandLevel: 3 }) }) })] }) })] })] }) }), _jsx(SplitterPanel, { className: "relative", children: _jsx("div", { className: "absolute inset-0 flex flex-col text-xs", children: _jsx(SimpleTabs, { className: "border-gray-3 border-b px-2 pt-2", tabs: [
206
+ {
207
+ id: "ai",
208
+ label: "AI Assistant",
209
+ icon: "pi pi-star",
210
+ content: (_jsx("div", { className: "relative h-full overflow-hidden", children: _jsx(AiTerminal, { createAiContext: createGraphQLAiContext, defaultProfile: "GraphQL Assistant", options: {
211
+ hiddenSystemPrompt: `You are an expert GraphQL assistant. Help the user create, modify, and understand GraphQL queries.
212
+
213
+ Current Context:
214
+ - Item ID: ${item?.id}
215
+ - Language: ${item?.language}
216
+ - Version: ${item?.version}
217
+ - Current Query: ${query || "No query set"}
218
+ - Schema Available: ${schemaResult?.data ? "Yes" : "No"}
219
+
220
+ ${schemaResult?.data
221
+ ? `GraphQL Schema:
222
+ \`\`\`
223
+ ${schemaResult.data}
224
+ \`\`\`
225
+
226
+ `
227
+ : ""}
228
+
229
+ Instructions:
230
+ 1. When helping with GraphQL queries, always consider the available schema
231
+ 2. Provide working GraphQL query examples
232
+ 3. Explain the query structure and what each part does
233
+ 4. If the user wants to update the query, provide the complete new query
234
+ 5. Always validate queries against the schema when possible
235
+ 6. Help with both queries and mutations
236
+ 7. Suggest optimizations and best practices
237
+
238
+ When updating queries, respond with the updated query in this format:
239
+ \`\`\`graphql
240
+ [your updated query here]
241
+ \`\`\`
242
+
243
+ Available operations:
244
+ - You can help craft new queries
245
+ - You can modify existing queries
246
+ - You can explain GraphQL concepts
247
+ - You can suggest optimizations
248
+ - You can help with error troubleshooting`,
249
+ } }) })),
250
+ },
106
251
  {
107
- id: "json",
108
- label: "JSON",
109
- content: (_jsx("div", { className: "relative h-full", children: _jsx("div", { className: "flex-1 overflow-y-auto p-2", children: _jsx(ObjectInspector, { data: graphql, expandLevel: 3 }) }) })),
252
+ id: "schema",
253
+ label: "Schema",
254
+ content: (_jsxs("div", { className: "relative h-full overflow-hidden", children: [_jsx("div", { className: "flex items-center gap-2 border-b p-2", children: _jsx(ActionButton, { onClick: fetchSchema, disabled: showSchemaSpinner, variant: "outline", className: "text-sm", children: "\uD83D\uDCE5 Fetch Schema" }) }), _jsx("div", { className: "flex-1 overflow-auto p-2", children: _jsx("div", { className: "min-w-0 overflow-x-auto", children: _jsx(ObjectInspector, { data: schemaResult, expandLevel: 3 }) }) })] })),
110
255
  },
111
- ], activeTab: 0, setActiveTab: (index) => { } }) }) })] }));
256
+ ], activeTab: activeTab, setActiveTab: setActiveTab }) }) })] }));
112
257
  }
113
258
  //# sourceMappingURL=GraphQL.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"GraphQL.js","sourceRoot":"","sources":["../../../src/editor/sidebar/GraphQL.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"GraphQL.js","sourceRoot":"","sources":["../../../src/editor/sidebar/GraphQL.tsx"],"names":[],"mappings":"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"}
@@ -11,6 +11,6 @@ export function CopyToClipboardButton({ text }) {
11
11
  severity: "success",
12
12
  });
13
13
  };
14
- return (_jsx("span", { className: "ml-1 cursor-pointer", onClick: () => handleCopyToClipboard(text), children: _jsx(Copy, { size: 14 }) }));
14
+ return (_jsx("span", { className: "cursor-pointer", onClick: () => handleCopyToClipboard(text), children: _jsx(Copy, { size: 14, strokeWidth: 1 }) }));
15
15
  }
16
16
  //# sourceMappingURL=CopyToClipboardButton.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"CopyToClipboardButton.js","sourceRoot":"","sources":["../../../src/editor/ui/CopyToClipboardButton.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AACpC,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAEvD,MAAM,UAAU,qBAAqB,CAAC,EAAE,IAAI,EAAoB;IAC9D,MAAM,WAAW,GAAG,cAAc,EAAE,CAAC;IACrC,MAAM,qBAAqB,GAAG,CAAC,IAAY,EAAE,EAAE;QAC7C,SAAS,CAAC,SAAS,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QACpC,WAAY,CAAC,SAAS,CAAC;YACrB,OAAO,EAAE,qBAAqB;YAC9B,QAAQ,EAAE,SAAS;SACpB,CAAC,CAAC;IACL,CAAC,CAAC;IAEF,OAAO,CACL,eACE,SAAS,EAAC,qBAAqB,EAC/B,OAAO,EAAE,GAAG,EAAE,CAAC,qBAAqB,CAAC,IAAI,CAAC,YAE1C,KAAC,IAAI,IAAC,IAAI,EAAE,EAAE,GAAI,GACb,CACR,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"CopyToClipboardButton.js","sourceRoot":"","sources":["../../../src/editor/ui/CopyToClipboardButton.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AACpC,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAEvD,MAAM,UAAU,qBAAqB,CAAC,EAAE,IAAI,EAAoB;IAC9D,MAAM,WAAW,GAAG,cAAc,EAAE,CAAC;IACrC,MAAM,qBAAqB,GAAG,CAAC,IAAY,EAAE,EAAE;QAC7C,SAAS,CAAC,SAAS,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QACpC,WAAY,CAAC,SAAS,CAAC;YACrB,OAAO,EAAE,qBAAqB;YAC9B,QAAQ,EAAE,SAAS;SACpB,CAAC,CAAC;IACL,CAAC,CAAC;IAEF,OAAO,CACL,eACE,SAAS,EAAC,gBAAgB,EAC1B,OAAO,EAAE,GAAG,EAAE,CAAC,qBAAqB,CAAC,IAAI,CAAC,YAE1C,KAAC,IAAI,IAAC,IAAI,EAAE,EAAE,EAAE,WAAW,EAAE,CAAC,GAAI,GAC7B,CACR,CAAC;AACJ,CAAC"}
@@ -1,6 +1,7 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
2
  import React, { useEffect, useMemo, useCallback, memo, useRef } from "react";
3
3
  import { ProgressSpinner } from "primereact/progressspinner";
4
+ import { ChevronRight } from "lucide-react";
4
5
  // Local DropZone component to handle drag-over state.
5
6
  const DropZone = memo(({ parent, index, isDragging, onDragOverZone, onDrop, onDragEnd, isLast, isValidDropZone, }) => {
6
7
  const [isDragOver, setIsDragOver] = React.useState(false);
@@ -123,16 +124,16 @@ const NodeContent = memo(({ node, isExpanded, isSelected, onSelect, onToggleNode
123
124
  }, [node, onToggleNode]);
124
125
  const renderToggle = () => {
125
126
  if (node.hasChildren && node.children === null) {
126
- return (_jsx(ProgressSpinner, { style: { width: "16px", height: "16px" }, className: "text-gray-500" }));
127
+ return (_jsx("div", { className: "flex h-[24px] w-[26px] items-center justify-center", children: _jsx(ProgressSpinner, { style: { width: "16px", height: "16px" }, className: "text-gray-500" }) }));
127
128
  }
128
- return (_jsx("span", { onClick: handleToggle, className: `ml-0.5 inline-block transform cursor-pointer text-gray-500 transition duration-150 select-none ${isExpanded ? "rotate-90" : "rotate-0"}`, children: _jsx("svg", { width: "14", height: "14", viewBox: "0 0 14 14", fill: "none", xmlns: "http://www.w3.org/2000/svg", "aria-hidden": "true", "data-pc-section": "togglericon", children: _jsx("path", { d: "M4.38708 13C4.28408 13.0005 4.18203 12.9804 4.08691 12.9409C3.99178 12.9014 3.9055 12.8433 3.83313 12.7701C3.68634 12.6231 3.60388 12.4238 3.60388 12.2161C3.60388 12.0084 3.68634 11.8091 3.83313 11.6622L8.50507 6.99022L3.83313 2.31827C3.69467 2.16968 3.61928 1.97313 3.62287 1.77005C3.62645 1.56698 3.70872 1.37322 3.85234 1.22959C3.99596 1.08597 4.18972 1.00371 4.3928 1.00012C4.59588 0.996539 4.79242 1.07192 4.94102 1.21039L10.1669 6.43628C10.3137 6.58325 10.3962 6.78249 10.3962 6.99022C10.3962 7.19795 10.3137 7.39718 10.1669 7.54416L4.94102 12.7701C4.86865 12.8433 4.78237 12.9014 4.68724 12.9409C4.59212 12.9804 4.49007 13.0005 4.38708 13Z", fill: "currentColor" }) }) }));
129
+ return (_jsx("span", { onClick: handleToggle, className: `ml-0.5 inline-block transform cursor-pointer text-gray-500 transition duration-150 select-none ${isExpanded ? "rotate-90" : "rotate-0"}`, children: _jsx(ChevronRight, { strokeWidth: 1, className: "h-6 w-6" }) }));
129
130
  };
130
131
  const handleContextMenu = useCallback((e) => {
131
132
  e.stopPropagation();
132
133
  e.preventDefault();
133
134
  onContextMenu?.(node, e);
134
135
  }, [node, onContextMenu]);
135
- return (_jsxs("div", { className: "tree-node mb-0.5 flex cursor-pointer items-center gap-0.5", draggable: enableDragAndDrop, onClick: handleSelect, onDragStart: (event) => handleDragStart(event), onDragEnd: onDragEnd, onDragLeave: handleDragLeave, onDragEnter: handleDragEnter, onDragOver: handleDragOver, onDrop: handleDrop, onDoubleClick: handleDoubleClick, onContextMenu: handleContextMenu, "data-node-key": node.key, "data-selected": isSelected, children: [node.hasChildren || node.children?.length ? (renderToggle()) : (_jsx("div", { className: "w-[16px]" })), _jsx("div", { className: `flex-1 rounded-md border border-transparent p-0.5 pr-1.5 hover:border-gray-300 ${isDragOver ? "bg-sky-200" : isSelected ? "bg-blue-100" : ""}`, onClick: handleSelect, children: renderNode(node) })] }));
136
+ return (_jsxs("div", { className: "tree-node mb-0.5 flex cursor-pointer items-center", draggable: enableDragAndDrop, onClick: handleSelect, onDragStart: (event) => handleDragStart(event), onDragEnd: onDragEnd, onDragLeave: handleDragLeave, onDragEnter: handleDragEnter, onDragOver: handleDragOver, onDrop: handleDrop, onDoubleClick: handleDoubleClick, onContextMenu: handleContextMenu, "data-node-key": node.key, "data-selected": isSelected, children: [node.hasChildren || node.children?.length ? (renderToggle()) : (_jsx("div", { className: "w-[24px]" })), _jsx("div", { className: `flex-1 rounded-md border border-transparent p-0.5 pr-1.5 hover:border-gray-300 ${isDragOver ? "bg-sky-200" : isSelected ? "bg-blue-100" : ""}`, onClick: handleSelect, children: renderNode(node) })] }));
136
137
  });
137
138
  export const PerfectTree = ({ nodes, selectedKeys = [], expandedKeys = [], renderNode, onToggleExpand, onSelect, onDragOverZone, onDrop, isDragging = false, onStartDrag, onDragEnd, onLazyLoad, onDoubleClick, onContextMenu, enableDragAndDrop = false, isValidDropZone, scrollToSelected = false, }) => {
138
139
  // When toggling a node, notify parent and trigger external lazy load if needed.
@@ -261,7 +262,7 @@ export const PerfectTree = ({ nodes, selectedKeys = [], expandedKeys = [], rende
261
262
  const isExpanded = expandedKeys.includes(node.key);
262
263
  const isSelected = selectedKeys.includes(node.key);
263
264
  return (_jsxs(React.Fragment, { children: [_jsx(DropZone, { parent: parent, index: index, isDragging: isDragging, onDragOverZone: onDragOverZone, onDrop: onDrop, onDragEnd: onDragEnd, isValidDropZone: isValidDropZone }), _jsxs("div", { style: {
264
- marginLeft: depth > 0 ? "21px" : undefined,
265
+ marginLeft: depth > 0 ? "24px" : undefined,
265
266
  }, className: "flex flex-col", children: [_jsx(NodeContent, { node: node, isExpanded: isExpanded, isSelected: isSelected, onSelect: handleSelect, onToggleNode: handleToggle, onStartDrag: onStartDrag, onDragEnd: handleDragEnd, onDragOverZone: onDragOverZone, onDrop: onDrop, onDoubleClick: onDoubleClick, onContextMenu: onContextMenu, renderNode: renderNode, enableDragAndDrop: enableDragAndDrop, selectedKeys: selectedKeys, isDragging: isDragging }), isExpanded && (_jsx(_Fragment, { children: children && children.length > 0 ? (_jsx("div", { children: renderTreeList(children, depth + 1, node) })) : null }))] })] }, node.key));
266
267
  }), _jsx(DropZone, { parent: parent, index: nodes.length, isDragging: isDragging, onDragOverZone: onDragOverZone, onDrop: onDrop, onDragEnd: onDragEnd, isLast: true, isValidDropZone: isValidDropZone })] }));
267
268
  }, [
@@ -1 +1 @@
1
- {"version":3,"file":"PerfectTree.js","sourceRoot":"","sources":["../../../src/editor/ui/PerfectTree.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"PerfectTree.js","sourceRoot":"","sources":["../../../src/editor/ui/PerfectTree.tsx"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { MouseEventHandler } from "react";
2
- export declare function SimpleIconButton({ onClick, className, icon, label, disabled, size, id, selected, }: {
2
+ export declare function SimpleIconButton({ onClick, className, icon, label, disabled, size, id, selected, children, }: {
3
3
  onClick: MouseEventHandler;
4
4
  className?: string;
5
5
  icon?: React.ReactNode;
@@ -8,4 +8,5 @@ export declare function SimpleIconButton({ onClick, className, icon, label, disa
8
8
  id?: string;
9
9
  size?: "large" | "small";
10
10
  selected?: boolean;
11
+ children?: React.ReactNode;
11
12
  }): import("react/jsx-runtime").JSX.Element;
@@ -1,9 +1,9 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
1
+ import { jsxs as _jsxs, jsx as _jsx } from "react/jsx-runtime";
2
2
  import { Tooltip, TooltipContent, TooltipTrigger, } from "../../components/ui/tooltip";
3
3
  import { cn } from "../../lib/utils";
4
- export function SimpleIconButton({ onClick, className, icon, label, disabled, size, id, selected, }) {
5
- return (_jsxs(Tooltip, { children: [_jsx(TooltipTrigger, { asChild: true, children: _jsx("button", { id: id, disabled: disabled, className: cn(typeof icon === "string" ? icon + " p-[6px]" : "p-[4px]", "rounded-full", disabled ? "cursor-default" : "hover:bg-gray-5 cursor-pointer", className, disabled && "opacity-40", size === "large" ? "text-lg" : "text-xs", selected ? "bg-theme-secondary-light text-theme-secondary" : ""), onClick: (ev) => {
4
+ export function SimpleIconButton({ onClick, className, icon, label, disabled, size, id, selected, children, }) {
5
+ return (_jsxs(Tooltip, { children: [_jsx(TooltipTrigger, { asChild: true, children: _jsxs("button", { id: id, disabled: disabled, className: cn(typeof icon === "string" ? icon + " p-[6px]" : "p-[4px]", "rounded-full", disabled ? "cursor-default" : "hover:bg-gray-5 cursor-pointer", className, disabled && "opacity-40", size === "large" ? "text-lg" : "text-xs", selected ? "bg-theme-secondary-light text-theme-secondary" : ""), onClick: (ev) => {
6
6
  onClick(ev);
7
- }, children: typeof icon !== "string" && icon }) }), _jsx(TooltipContent, { children: label })] }));
7
+ }, children: [typeof icon !== "string" && icon, " ", children] }) }), _jsx(TooltipContent, { children: label })] }));
8
8
  }
9
9
  //# sourceMappingURL=SimpleIconButton.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"SimpleIconButton.js","sourceRoot":"","sources":["../../../src/editor/ui/SimpleIconButton.tsx"],"names":[],"mappings":";AAAA,OAAO,EACL,OAAO,EACP,cAAc,EAEd,cAAc,GACf,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,EAAE,EAAE,MAAM,iBAAiB,CAAC;AAGrC,MAAM,UAAU,gBAAgB,CAAC,EAC/B,OAAO,EACP,SAAS,EACT,IAAI,EACJ,KAAK,EACL,QAAQ,EACR,IAAI,EACJ,EAAE,EACF,QAAQ,GAUT;IACC,OAAO,CACL,MAAC,OAAO,eACN,KAAC,cAAc,IAAC,OAAO,kBACrB,iBACE,EAAE,EAAE,EAAE,EACN,QAAQ,EAAE,QAAQ,EAClB,SAAS,EAAE,EAAE,CACX,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,GAAG,UAAU,CAAC,CAAC,CAAC,SAAS,EACxD,cAAc,EAEd,QAAQ,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,gCAAgC,EAC9D,SAAS,EACT,QAAQ,IAAI,YAAY,EACxB,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,EACxC,QAAQ,CAAC,CAAC,CAAC,+CAA+C,CAAC,CAAC,CAAC,EAAE,CAChE,EACD,OAAO,EAAE,CAAC,EAAE,EAAE,EAAE;wBACd,OAAO,CAAC,EAAE,CAAC,CAAC;oBACd,CAAC,YAEA,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,GAC1B,GACM,EACjB,KAAC,cAAc,cAAE,KAAK,GAAkB,IAChC,CACX,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"SimpleIconButton.js","sourceRoot":"","sources":["../../../src/editor/ui/SimpleIconButton.tsx"],"names":[],"mappings":";AAAA,OAAO,EACL,OAAO,EACP,cAAc,EAEd,cAAc,GACf,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,EAAE,EAAE,MAAM,iBAAiB,CAAC;AAGrC,MAAM,UAAU,gBAAgB,CAAC,EAC/B,OAAO,EACP,SAAS,EACT,IAAI,EACJ,KAAK,EACL,QAAQ,EACR,IAAI,EACJ,EAAE,EACF,QAAQ,EACR,QAAQ,GAWT;IACC,OAAO,CACL,MAAC,OAAO,eACN,KAAC,cAAc,IAAC,OAAO,kBACrB,kBACE,EAAE,EAAE,EAAE,EACN,QAAQ,EAAE,QAAQ,EAClB,SAAS,EAAE,EAAE,CACX,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,GAAG,UAAU,CAAC,CAAC,CAAC,SAAS,EACxD,cAAc,EAEd,QAAQ,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,gCAAgC,EAC9D,SAAS,EACT,QAAQ,IAAI,YAAY,EACxB,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,EACxC,QAAQ,CAAC,CAAC,CAAC,+CAA+C,CAAC,CAAC,CAAC,EAAE,CAChE,EACD,OAAO,EAAE,CAAC,EAAE,EAAE,EAAE;wBACd,OAAO,CAAC,EAAE,CAAC,CAAC;oBACd,CAAC,aAEA,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,OAAG,QAAQ,IACrC,GACM,EACjB,KAAC,cAAc,cAAE,KAAK,GAAkB,IAChC,CACX,CAAC;AACJ,CAAC"}
@@ -1,2 +1,2 @@
1
- export declare const version = "1.0.3964";
2
- export declare const buildDate = "2025-06-24 06:31:18";
1
+ export declare const version = "1.0.3966";
2
+ export declare const buildDate = "2025-06-24 15:02:25";
package/dist/revision.js CHANGED
@@ -1,3 +1,3 @@
1
- export const version = "1.0.3964";
2
- export const buildDate = "2025-06-24 06:31:18";
1
+ export const version = "1.0.3966";
2
+ export const buildDate = "2025-06-24 15:02:25";
3
3
  //# sourceMappingURL=revision.js.map
package/dist/styles.css CHANGED
@@ -17,6 +17,7 @@
17
17
  --color-orange-500: oklch(70.5% 0.213 47.604);
18
18
  --color-orange-600: oklch(64.6% 0.222 41.116);
19
19
  --color-orange-800: oklch(47% 0.157 37.304);
20
+ --color-yellow-50: oklch(98.7% 0.026 102.212);
20
21
  --color-yellow-100: oklch(97.3% 0.071 103.193);
21
22
  --color-yellow-200: oklch(94.5% 0.129 101.54);
22
23
  --color-yellow-300: oklch(90.5% 0.182 98.111);
@@ -600,6 +601,9 @@
600
601
  .h-\[16px\] {
601
602
  height: 16px;
602
603
  }
604
+ .h-\[24px\] {
605
+ height: 24px;
606
+ }
603
607
  .h-\[75vh\] {
604
608
  height: 75vh;
605
609
  }
@@ -747,8 +751,11 @@
747
751
  .w-\[12px\] {
748
752
  width: 12px;
749
753
  }
750
- .w-\[16px\] {
751
- width: 16px;
754
+ .w-\[24px\] {
755
+ width: 24px;
756
+ }
757
+ .w-\[26px\] {
758
+ width: 26px;
752
759
  }
753
760
  .w-\[95vw\] {
754
761
  width: 95vw;
@@ -1336,6 +1343,9 @@
1336
1343
  .border-white {
1337
1344
  border-color: var(--color-white);
1338
1345
  }
1346
+ .border-yellow-200 {
1347
+ border-color: var(--color-yellow-200);
1348
+ }
1339
1349
  .border-yellow-300 {
1340
1350
  border-color: var(--color-yellow-300);
1341
1351
  }
@@ -1534,6 +1544,9 @@
1534
1544
  .bg-white {
1535
1545
  background-color: var(--color-white);
1536
1546
  }
1547
+ .bg-yellow-50 {
1548
+ background-color: var(--color-yellow-50);
1549
+ }
1537
1550
  .bg-yellow-100 {
1538
1551
  background-color: var(--color-yellow-100);
1539
1552
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@alpaca-editor/core",
3
- "version": "1.0.3964",
3
+ "version": "1.0.3966",
4
4
  "publishConfig": {
5
5
  "access": "public"
6
6
  },
@@ -113,6 +113,7 @@ import {
113
113
  SparklesIcon,
114
114
  Users,
115
115
  Bug,
116
+ Timer,
116
117
  } from "lucide-react";
117
118
  import { GhostWriter } from "../editor/ai/GhostWriter";
118
119
 
@@ -607,6 +608,23 @@ export const getConfiguration = (): EditorConfiguration => {
607
608
  },
608
609
  ...pageEditorViewBase,
609
610
  },
611
+ {
612
+ name: "rendering-performance",
613
+ title: "Rendering Performance",
614
+ icon: <Timer strokeWidth={1} />,
615
+ leftSidebar: {
616
+ panels: [
617
+ {
618
+ name: "rendering-performance",
619
+ icon: <Timer strokeWidth={1} />,
620
+ title: "Rendering Performance",
621
+ content: <Performance />,
622
+ initialSize: 100,
623
+ },
624
+ ],
625
+ },
626
+ ...pageEditorViewBase,
627
+ },
610
628
  {
611
629
  name: "debug",
612
630
  title: "Debug",
@@ -615,33 +633,19 @@ export const getConfiguration = (): EditorConfiguration => {
615
633
  toolbarFactory: createEditToolbar,
616
634
  leftSidebar: {
617
635
  panels: [
618
- {
619
- name: "component-tree",
620
- icon: "pi pi-list",
621
- title: "Outline",
622
- content: <ComponentTree />,
623
- initialSize: 20,
624
- },
625
636
  {
626
637
  name: "debug",
627
638
  icon: <JsonIcon />,
628
- title: "JSON",
639
+ title: "Layout JSON",
629
640
  content: <Debug />,
630
- initialSize: 30,
641
+ initialSize: 35,
631
642
  },
632
643
  {
633
644
  name: "graphql",
634
645
  icon: <GraphQLIcon />,
635
646
  title: "GraphQL",
636
647
  content: <GraphQL />,
637
- initialSize: 30,
638
- },
639
- {
640
- name: "performance",
641
- icon: "pi pi-stopwatch",
642
- title: "Performance",
643
- content: <Performance />,
644
- initialSize: 20,
648
+ initialSize: 35,
645
649
  },
646
650
  ],
647
651
  },