@wix/astro 0.2.15 → 0.2.16

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 (98) hide show
  1. package/dist/components/login-helpers/bi-header-generator.js +1 -1
  2. package/dist/components/login-helpers/iframeUtils.js +1 -1
  3. package/dist/components/login-helpers/login-helpers.js +1 -1
  4. package/dist/components/login.astro +859 -0
  5. package/dist/integration.d.ts +1 -0
  6. package/dist/integration.js +25 -40
  7. package/dist/vite-plugins/sdk-context.js +3 -2
  8. package/package.json +3 -3
  9. package/dist/components/TailwindEditor/EditorPanel.d.ts +0 -11
  10. package/dist/components/TailwindEditor/EditorPanel.js +0 -86
  11. package/dist/components/TailwindEditor/dev-toolbar-app.d.ts +0 -14
  12. package/dist/components/TailwindEditor/dev-toolbar-app.js +0 -39
  13. package/dist/components/TailwindEditor/dev-toolbar.d.ts +0 -13
  14. package/dist/components/TailwindEditor/dev-toolbar.js +0 -547
  15. package/dist/components/TailwindEditor/index.d.ts +0 -5
  16. package/dist/components/TailwindEditor/index.js +0 -155
  17. package/dist/components/TailwindEditor/integration.d.ts +0 -3
  18. package/dist/components/TailwindEditor/integration.js +0 -18
  19. package/dist/components/TailwindEditor/types.d.ts +0 -35
  20. package/dist/components/TailwindEditor/types.js +0 -2
  21. package/dist/components/TailwindEditor/utils.d.ts +0 -22
  22. package/dist/components/TailwindEditor/utils.js +0 -234
  23. package/dist/dev-toolbar/Editor/EditorPanel.d.ts +0 -14
  24. package/dist/dev-toolbar/Editor/EditorPanel.js +0 -1273
  25. package/dist/dev-toolbar/Editor/classes.d.ts +0 -12
  26. package/dist/dev-toolbar/Editor/classes.js +0 -271
  27. package/dist/dev-toolbar/Editor/dnd.d.ts +0 -34
  28. package/dist/dev-toolbar/Editor/dnd.js +0 -1161
  29. package/dist/dev-toolbar/Editor/index.d.ts +0 -5
  30. package/dist/dev-toolbar/Editor/index.js +0 -136
  31. package/dist/dev-toolbar/Editor/types.d.ts +0 -42
  32. package/dist/dev-toolbar/Editor/types.js +0 -2
  33. package/dist/dev-toolbar/agent-chat.d.ts +0 -14
  34. package/dist/dev-toolbar/agent-chat.js +0 -362
  35. package/dist/dev-toolbar/ai-agent-server.d.ts +0 -1
  36. package/dist/dev-toolbar/ai-agent-server.js +0 -174
  37. package/dist/dev-toolbar/ai-agent.d.ts +0 -2
  38. package/dist/dev-toolbar/ai-agent.js +0 -171
  39. package/dist/dev-toolbar/api-key-form.d.ts +0 -7
  40. package/dist/dev-toolbar/api-key-form.js +0 -138
  41. package/dist/dev-toolbar/astro-toolbar.d.ts +0 -1156
  42. package/dist/dev-toolbar/astro-toolbar.js +0 -29
  43. package/dist/dev-toolbar/editor.d.ts +0 -2
  44. package/dist/dev-toolbar/editor.js +0 -19
  45. package/dist/entrypoints/client-sdk-init.d.ts +0 -1
  46. package/dist/entrypoints/client-sdk-init.js +0 -9
  47. package/dist/entrypoints/image-endpoint.d.ts +0 -1
  48. package/dist/entrypoints/image-endpoint.js +0 -4
  49. package/dist/entrypoints/image-service.d.ts +0 -3
  50. package/dist/entrypoints/image-service.js +0 -35
  51. package/dist/entrypoints/manifest.d.ts +0 -2
  52. package/dist/entrypoints/manifest.js +0 -6
  53. package/dist/extensions.d.ts +0 -1
  54. package/dist/extensions.js +0 -2
  55. package/dist/src/auth-context.d.ts +0 -5
  56. package/dist/src/auth-context.js +0 -3
  57. package/dist/src/client.d.ts +0 -15
  58. package/dist/src/client.js +0 -17
  59. package/dist/src/entrypoints/server.d.ts +0 -13
  60. package/dist/src/entrypoints/server.js +0 -37
  61. package/dist/src/index.d.ts +0 -5
  62. package/dist/src/index.js +0 -5
  63. package/dist/src/integration.d.ts +0 -8
  64. package/dist/src/integration.js +0 -229
  65. package/dist/src/loaders/blog.d.ts +0 -2
  66. package/dist/src/loaders/blog.js +0 -49
  67. package/dist/src/loaders/index.d.ts +0 -2
  68. package/dist/src/loaders/index.js +0 -3
  69. package/dist/src/middleware.d.ts +0 -2
  70. package/dist/src/middleware.js +0 -90
  71. package/dist/src/routes/auth/callback.d.ts +0 -3
  72. package/dist/src/routes/auth/callback.js +0 -53
  73. package/dist/src/routes/auth/constants.d.ts +0 -5
  74. package/dist/src/routes/auth/constants.js +0 -6
  75. package/dist/src/routes/auth/login.d.ts +0 -3
  76. package/dist/src/routes/auth/login.js +0 -27
  77. package/dist/src/routes/auth/logout-callback.d.ts +0 -3
  78. package/dist/src/routes/auth/logout-callback.js +0 -10
  79. package/dist/src/routes/auth/logout.d.ts +0 -3
  80. package/dist/src/routes/auth/logout.js +0 -11
  81. package/dist/src/routes/auth/runtime.d.ts +0 -5
  82. package/dist/src/routes/auth/runtime.js +0 -8
  83. package/dist/src/runtime.d.ts +0 -2
  84. package/dist/src/runtime.js +0 -9
  85. package/dist/src/vite-plugins/sdk-context.d.ts +0 -4
  86. package/dist/src/vite-plugins/sdk-context.js +0 -68
  87. package/dist/utils/assets.d.ts +0 -9
  88. package/dist/utils/assets.js +0 -69
  89. package/dist/utils/generate-routes-json.d.ts +0 -9
  90. package/dist/utils/generate-routes-json.js +0 -237
  91. package/dist/utils/image-config.d.ts +0 -33
  92. package/dist/utils/image-config.js +0 -30
  93. package/dist/utils/index.d.ts +0 -8
  94. package/dist/utils/index.js +0 -59
  95. package/dist/utils/non-server-chunk-detector.d.ts +0 -14
  96. package/dist/utils/non-server-chunk-detector.js +0 -73
  97. package/dist/utils/wasm-module-loader.d.ts +0 -13
  98. package/dist/utils/wasm-module-loader.js +0 -117
@@ -1,5 +0,0 @@
1
- import React from "react";
2
- interface EditorProps {
3
- }
4
- declare const Editor: React.FC<EditorProps>;
5
- export default Editor;
@@ -1,136 +0,0 @@
1
- import { debounce } from "lodash";
2
- import React, { useEffect, useState } from "react";
3
- import EditorPanel from "./EditorPanel.js";
4
- import { ButtonBar, endAllDrag, useDragLoaderInit } from "./dnd.js";
5
- import { selectedElement, selectedTextNode, constructChangeSet, backupClasses, restoreClasses, syncClasses, handleArrowKeys, setSelectedElement, clearClassChanges, } from "./classes.js";
6
- import { createPortal } from "react-dom";
7
- let selectionMode = false;
8
- async function onSaveChanges() {
9
- let changes = constructChangeSet() || [];
10
- // No need to get moveChanges since they are applied immediately
11
- if (changes.length === 0)
12
- return;
13
- try {
14
- // Only send regular changes - moveChanges are applied immediately
15
- const response = await fetch("http://localhost:3000/api/chat/canvas/change", {
16
- method: "POST",
17
- headers: {
18
- "Content-Type": "application/json",
19
- },
20
- body: JSON.stringify(changes),
21
- });
22
- if (!response.ok) {
23
- console.error("Editor: HTTP error response:", response.status, response.statusText);
24
- throw new Error(`HTTP error! status: ${response.status}`);
25
- }
26
- await response.json();
27
- }
28
- catch (error) {
29
- console.error("Editor: Error applying changes:", error);
30
- }
31
- // No need to clear component move changes as they're cleared when applied
32
- clearClassChanges();
33
- }
34
- // Handle arrow key presses to adjust margins
35
- let debouncedSave = debounce(onSaveChanges, 500);
36
- const Editor = ({}) => {
37
- const [showPanel, setShowPanel] = useState(false);
38
- const [pos, setPos] = useState(null);
39
- // Initialize the drag loader
40
- useDragLoaderInit();
41
- function toggleEditMode() {
42
- let toggle = document.querySelector(".edit-mode-toggle i");
43
- selectionMode = !selectionMode;
44
- if (selectionMode) {
45
- document.body.style.userSelect = "none";
46
- document.body.style.cursor = "crosshair";
47
- toggle.classList.replace("fa-edit", "fa-eye");
48
- document.addEventListener("click", selectElement, true);
49
- }
50
- else {
51
- clearSelection();
52
- document.body.style.userSelect = "";
53
- document.body.style.cursor = "";
54
- toggle.classList.replace("fa-eye", "fa-edit");
55
- document.removeEventListener("click", selectElement, true);
56
- }
57
- }
58
- function selectElement(e) {
59
- if (!(e.target instanceof HTMLElement) ||
60
- e.target.closest("#side-panel") ||
61
- e.target.closest(".element-label button") ||
62
- e.target.closest(".edit-mode-toggle"))
63
- return;
64
- e.preventDefault();
65
- e.stopPropagation();
66
- clearSelection();
67
- highlight(setSelectedElement(e.target));
68
- }
69
- function highlight(el) {
70
- if (!el)
71
- return;
72
- el.style.outline = "2px solid #4caf50"; //todo: make this absolutely positioned
73
- const rect = el.getBoundingClientRect();
74
- setPos({
75
- x: window.scrollX + rect.left,
76
- y: window.scrollY + rect.top - 20,
77
- });
78
- // Add a thin border around the selected element
79
- el.style.outline = "2px solid blue";
80
- el.dataset["selected"] = "true";
81
- }
82
- function clearSelection() {
83
- setPos(null);
84
- if (selectedElement)
85
- selectedElement.style.outline = "";
86
- endAllDrag();
87
- setShowPanel(false);
88
- setSelectedElement(null);
89
- }
90
- useEffect(() => {
91
- // Create container if it doesn't exist
92
- let container = document.querySelector('.editor-buttons-container');
93
- if (!container) {
94
- container = document.createElement('div');
95
- container.className = 'editor-buttons-container';
96
- document.body.appendChild(container);
97
- }
98
- else {
99
- // Clear existing buttons to prevent duplicates
100
- container.innerHTML = '';
101
- }
102
- let element = document.createElement("button");
103
- element.className = "edit-mode-toggle";
104
- element.innerHTML = "<i class='fa-regular fa-edit'></i>";
105
- element.addEventListener("click", toggleEditMode);
106
- container.appendChild(element);
107
- let addButton = document.createElement("button");
108
- addButton.classList.add("add-panel-toggle");
109
- addButton.innerHTML = "<i class='fa-regular fa-plus'></i>";
110
- container.appendChild(addButton);
111
- document.addEventListener("keydown", handleArrowKeys.bind(0, debouncedSave));
112
- // Return cleanup function
113
- return () => {
114
- element.removeEventListener("click", toggleEditMode);
115
- };
116
- }, []);
117
- return (React.createElement(React.Fragment, null,
118
- pos &&
119
- createPortal(React.createElement("div", { className: "element-label", style: { left: `${pos.x}px`, top: `${pos.y}px` } },
120
- React.createElement("span", null,
121
- "<",
122
- selectedElement?.tagName.toLowerCase(),
123
- ">"),
124
- React.createElement("button", { onClick: (e) => {
125
- e.preventDefault();
126
- e.stopPropagation();
127
- setShowPanel(true);
128
- } }, "Edit"),
129
- React.createElement(ButtonBar, { el: selectedElement, onHighlight: highlight, dragButtonClassNames: "fa fa-arrows" })), document.body),
130
- showPanel && (React.createElement(EditorPanel, { selectedElement: selectedElement, selectedTextNode: selectedTextNode, onSaveChanges: async () => {
131
- await onSaveChanges();
132
- clearSelection();
133
- }, onMainComponentCheckbox: (e) => e.target.checked ? backupClasses(true) : restoreClasses(true), onChange: () => syncClasses(), onClose: () => clearSelection() }))));
134
- };
135
- export default Editor;
136
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZGV2LXRvb2xiYXIvRWRpdG9yL2luZGV4LnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sUUFBUSxDQUFDO0FBQ2xDLE9BQU8sS0FBSyxFQUFFLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBRSxNQUFNLE9BQU8sQ0FBQztBQUNuRCxPQUFPLFdBQVcsTUFBTSxrQkFBa0IsQ0FBQztBQUMzQyxPQUFPLEVBQ0wsU0FBUyxFQUNULFVBQVUsRUFDVixpQkFBaUIsRUFDbEIsTUFBTSxVQUFVLENBQUM7QUFDbEIsT0FBTyxFQUNMLGVBQWUsRUFDZixnQkFBZ0IsRUFDaEIsa0JBQWtCLEVBQ2xCLGFBQWEsRUFDYixjQUFjLEVBQ2QsV0FBVyxFQUNYLGVBQWUsRUFDZixrQkFBa0IsRUFDbEIsaUJBQWlCLEdBQ2xCLE1BQU0sY0FBYyxDQUFDO0FBQ3RCLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFJekMsSUFBSSxhQUFhLEdBQUcsS0FBSyxDQUFDO0FBRTFCLEtBQUssVUFBVSxhQUFhO0lBQzFCLElBQUksT0FBTyxHQUFHLGtCQUFrQixFQUFFLElBQUksRUFBRSxDQUFDO0lBRXpDLGdFQUFnRTtJQUNoRSxJQUFJLE9BQU8sQ0FBQyxNQUFNLEtBQUssQ0FBQztRQUFFLE9BQU87SUFFakMsSUFBSSxDQUFDO1FBQ0gsa0VBQWtFO1FBQ2xFLE1BQU0sUUFBUSxHQUFHLE1BQU0sS0FBSyxDQUMxQiw4Q0FBOEMsRUFDOUM7WUFDRSxNQUFNLEVBQUUsTUFBTTtZQUNkLE9BQU8sRUFBRTtnQkFDUCxjQUFjLEVBQUUsa0JBQWtCO2FBQ25DO1lBQ0QsSUFBSSxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDO1NBQzlCLENBQ0YsQ0FBQztRQUVGLElBQUksQ0FBQyxRQUFRLENBQUMsRUFBRSxFQUFFLENBQUM7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
@@ -1,42 +0,0 @@
1
- export type ChangeSetItem = {
2
- file: string;
3
- line: number;
4
- instruction: {
5
- type: string;
6
- delta?: {
7
- added: string[];
8
- removed: string[];
9
- };
10
- textContent?: string;
11
- propName?: string;
12
- path?: string;
13
- } | ComponentMoveInstruction;
14
- };
15
- export type ComponentMoveInstruction = {
16
- type: "componentMove";
17
- timestamp: string;
18
- component: string;
19
- toLine: number;
20
- parentNode: string;
21
- parentId: string | null;
22
- originalParentNode?: string;
23
- originalParentId?: string | null;
24
- };
25
- export type ClassChangeInstruction = {
26
- type: "class_change";
27
- propName?: string;
28
- path?: string;
29
- delta?: {
30
- added: string[];
31
- removed: string[];
32
- };
33
- };
34
- export type TextChangeInstruction = {
35
- type: "replace_text";
36
- textContent: string;
37
- };
38
- export type SchemaMap = {
39
- [componentName: string]: {
40
- [selector: string]: ClassChangeInstruction;
41
- };
42
- };
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZGV2LXRvb2xiYXIvRWRpdG9yL3R5cGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIifQ==
@@ -1,14 +0,0 @@
1
- import React from "react";
2
- export type MessageRole = "user" | "assistant" | "tool";
3
- export interface Message {
4
- role: MessageRole;
5
- content: string;
6
- toolName?: string;
7
- toolResult?: string;
8
- }
9
- export interface AgentChatProps {
10
- messages: Message[];
11
- isTyping: boolean;
12
- onSendMessage: (message: string) => void;
13
- }
14
- export declare function AgentChat({ messages, isTyping, onSendMessage }: AgentChatProps): React.JSX.Element;
@@ -1,362 +0,0 @@
1
- import React, { useEffect, useState, useRef } from "react";
2
- import ReactMarkdown from 'react-markdown';
3
- import remarkGfm from 'remark-gfm';
4
- // Modern system font stack
5
- const fontFamily = `-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"`;
6
- // Custom components for react-markdown
7
- const MarkdownComponents = {
8
- // Keep consistent styling with our CSS
9
- p: (props) => React.createElement("p", { style: { margin: '0 0 8px 0', fontSize: '14px' }, ...props }),
10
- h1: (props) => React.createElement("h1", { style: { fontSize: '1.5em', fontWeight: 600, marginTop: '12px', marginBottom: '8px' }, ...props }),
11
- h2: (props) => React.createElement("h2", { style: { fontSize: '1.3em', fontWeight: 600, marginTop: '12px', marginBottom: '8px' }, ...props }),
12
- h3: (props) => React.createElement("h3", { style: { fontSize: '1.1em', fontWeight: 600, marginTop: '12px', marginBottom: '8px' }, ...props }),
13
- ul: (props) => React.createElement("ul", { style: { margin: '8px 0', paddingLeft: '20px' }, ...props }),
14
- ol: (props) => React.createElement("ol", { style: { margin: '8px 0', paddingLeft: '20px' }, ...props }),
15
- blockquote: (props) => (React.createElement("blockquote", { style: { margin: '8px 0', paddingLeft: '12px', borderLeft: '3px solid #d1d5db', color: '#4b5563' }, ...props })),
16
- code({ className, children, ...props }) {
17
- // Special handling for code blocks
18
- const match = /language-(\w+)/.exec(className || '');
19
- return match ? (React.createElement("pre", { style: { backgroundColor: '#f3f4f6', padding: '8px', borderRadius: '4px', overflowX: 'auto', margin: '8px 0' } },
20
- React.createElement("code", { style: {
21
- fontFamily: 'ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace',
22
- fontSize: '0.9em',
23
- backgroundColor: 'transparent',
24
- padding: 0
25
- }, ...props }, children))) : (React.createElement("code", { style: {
26
- fontFamily: 'ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace',
27
- fontSize: '0.9em',
28
- backgroundColor: '#f3f4f6',
29
- padding: '2px 4px',
30
- borderRadius: '3px'
31
- }, ...props }, children));
32
- },
33
- a: (props) => React.createElement("a", { style: { color: '#2563eb', textDecoration: 'none' }, ...props }),
34
- table: (props) => (React.createElement("table", { style: { borderCollapse: 'collapse', margin: '8px 0', overflowX: 'auto', display: 'block' }, ...props })),
35
- th: (props) => React.createElement("th", { style: { border: '1px solid #d1d5db', padding: '6px 10px', backgroundColor: '#f9fafb' }, ...props }),
36
- td: (props) => React.createElement("td", { style: { border: '1px solid #d1d5db', padding: '6px 10px' }, ...props })
37
- };
38
- export function AgentChat({ messages, isTyping, onSendMessage }) {
39
- const [inputValue, setInputValue] = useState("");
40
- const [isOpen, setIsOpen] = useState(true);
41
- const [isVisible, setIsVisible] = useState(true);
42
- const [buttonHovered, setButtonHovered] = useState(false);
43
- const messagesContainerRef = useRef(null);
44
- // Handle animation when opening/closing
45
- useEffect(() => {
46
- if (isOpen) {
47
- // Small delay before making visible for animation
48
- setTimeout(() => {
49
- setIsVisible(true);
50
- }, 50);
51
- }
52
- else {
53
- setIsVisible(false);
54
- }
55
- }, [isOpen]);
56
- const handleSendMessage = () => {
57
- if (!inputValue.trim())
58
- return;
59
- // Call the onSendMessage prop with the input value
60
- onSendMessage(inputValue);
61
- // Clear input field
62
- setInputValue("");
63
- };
64
- // Improved scroll to bottom on new message
65
- useEffect(() => {
66
- if (messagesContainerRef.current) {
67
- // Use requestAnimationFrame to ensure DOM updates are complete
68
- requestAnimationFrame(() => {
69
- // Add a small delay to allow any rendering to complete
70
- setTimeout(() => {
71
- if (messagesContainerRef.current) {
72
- messagesContainerRef.current.scrollTop = messagesContainerRef.current.scrollHeight;
73
- }
74
- }, 100);
75
- });
76
- }
77
- }, [messages, isTyping]);
78
- return (React.createElement("div", { style: {
79
- height: '100%',
80
- width: '100%',
81
- overflow: 'hidden',
82
- fontFamily: fontFamily
83
- } },
84
- React.createElement("button", { onClick: () => setIsOpen(!isOpen), style: {
85
- position: 'fixed',
86
- top: '50%',
87
- right: 0,
88
- transform: isOpen ? 'translateY(-50%) translateX(32px)' : 'translateY(-50%)',
89
- height: '112px',
90
- width: '32px',
91
- backgroundColor: '#2563eb',
92
- color: 'white',
93
- borderRadius: '4px 0 0 4px',
94
- display: 'flex',
95
- alignItems: 'center',
96
- justifyContent: 'center',
97
- cursor: 'pointer',
98
- zIndex: 40,
99
- boxShadow: '0 4px 6px -1px rgba(0, 0, 0, 0.1)',
100
- border: 'none',
101
- transition: 'transform 0.3s ease',
102
- fontFamily: fontFamily
103
- }, title: isOpen ? "Close AI Assistant" : "Open AI Assistant" },
104
- React.createElement("div", { style: {
105
- transition: 'transform 0.3s ease',
106
- transform: isOpen ? 'rotate(180deg)' : 'rotate(0deg)'
107
- } },
108
- React.createElement("svg", { xmlns: "http://www.w3.org/2000/svg", style: { height: '20px', width: '20px' }, fill: "none", viewBox: "0 0 24 24", stroke: "currentColor" },
109
- React.createElement("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M9 5l7 7-7 7" })))),
110
- React.createElement("div", { style: {
111
- position: 'fixed',
112
- top: 0,
113
- right: 0,
114
- width: '350px',
115
- height: '100%',
116
- backgroundColor: 'white',
117
- boxShadow: '-2px 0 10px rgba(0, 0, 0, 0.1)',
118
- zIndex: 30,
119
- display: 'flex',
120
- flexDirection: 'column',
121
- overflow: 'hidden',
122
- borderLeft: '1px solid #e5e7eb',
123
- transition: 'transform 0.3s ease',
124
- transform: isVisible ? 'translateX(0)' : 'translateX(100%)',
125
- fontFamily: fontFamily
126
- } },
127
- React.createElement("div", { style: {
128
- backgroundColor: '#2563eb',
129
- color: 'white',
130
- padding: '16px',
131
- display: 'flex',
132
- justifyContent: 'space-between',
133
- alignItems: 'center'
134
- } },
135
- React.createElement("h3", { style: {
136
- fontWeight: 600,
137
- fontSize: '16px',
138
- display: 'flex',
139
- alignItems: 'center',
140
- gap: '8px',
141
- margin: 0,
142
- letterSpacing: '-0.01em',
143
- fontFamily: fontFamily
144
- } },
145
- React.createElement("svg", { xmlns: "http://www.w3.org/2000/svg", style: { height: '24px', width: '24px', marginRight: '4px' }, fill: "none", viewBox: "0 0 24 24", stroke: "currentColor" },
146
- React.createElement("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M9.663 17h4.673M12 3v1m6.364 1.636l-.707.707M21 12h-1M4 12H3m3.343-5.657l-.707-.707m2.828 9.9a5 5 0 117.072 0l-.548.547A3.374 3.374 0 0014 18.469V19a2 2 0 11-4 0v-.531c0-.895-.356-1.754-.988-2.386l-.548-.547z" })),
147
- "Wix AI Assistant")),
148
- React.createElement("div", { ref: messagesContainerRef, id: "messages-container", style: {
149
- flex: 1,
150
- overflowY: 'auto',
151
- padding: '10px',
152
- backgroundColor: '#f9fafb',
153
- display: 'flex',
154
- flexDirection: 'column',
155
- gap: '16px',
156
- fontFamily: fontFamily,
157
- scrollBehavior: 'smooth'
158
- } }, messages.length === 0 ? (React.createElement("div", { style: {
159
- display: 'flex',
160
- flexDirection: 'column',
161
- alignItems: 'center',
162
- justifyContent: 'center',
163
- textAlign: 'center',
164
- height: '100%',
165
- padding: '20px',
166
- color: '#6b7280'
167
- } },
168
- React.createElement("div", { style: {
169
- backgroundColor: '#e5e7eb',
170
- borderRadius: '50%',
171
- width: '60px',
172
- height: '60px',
173
- display: 'flex',
174
- alignItems: 'center',
175
- justifyContent: 'center',
176
- marginBottom: '16px'
177
- } },
178
- React.createElement("svg", { xmlns: "http://www.w3.org/2000/svg", style: { height: '30px', width: '30px', color: '#4b5563' }, fill: "none", viewBox: "0 0 24 24", stroke: "currentColor" },
179
- React.createElement("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M8 10h.01M12 10h.01M16 10h.01M9 16H5a2 2 0 01-2-2V6a2 2 0 012-2h14a2 2 0 012 2v8a2 2 0 01-2 2h-5l-5 5v-5z" }))),
180
- React.createElement("h4", { style: {
181
- fontSize: '16px',
182
- fontWeight: 600,
183
- margin: '0 0 8px 0',
184
- color: '#374151'
185
- } }, "No messages yet"),
186
- React.createElement("p", { style: {
187
- fontSize: '14px',
188
- lineHeight: '1.5',
189
- margin: 0,
190
- maxWidth: '280px'
191
- } }, "Start asking questions about your Wix project, get help with coding, or learn about best practices."))) : (React.createElement(React.Fragment, null,
192
- messages.map((message, index) => (React.createElement("div", { key: index, style: {
193
- display: 'flex',
194
- width: '100%',
195
- justifyContent: message.role === 'user' ? 'flex-end' : 'flex-start'
196
- } },
197
- message.role === 'assistant' && (React.createElement("div", { style: {
198
- maxWidth: '95%',
199
- paddingLeft: '4px',
200
- paddingRight: '8px',
201
- color: '#1f2937'
202
- } },
203
- React.createElement("div", { className: "markdown-content", style: {
204
- fontSize: '14px',
205
- fontFamily: fontFamily
206
- } },
207
- React.createElement(ReactMarkdown, { remarkPlugins: [remarkGfm], components: MarkdownComponents }, message.content)))),
208
- message.role === 'user' && (React.createElement("div", { style: {
209
- backgroundColor: '#2563eb',
210
- color: 'white',
211
- borderRadius: '10px',
212
- padding: '8px 10px',
213
- maxWidth: '85%',
214
- boxShadow: '0 1px 2px 0 rgba(0, 0, 0, 0.05)'
215
- } },
216
- React.createElement("p", { style: {
217
- fontSize: '14px',
218
- lineHeight: '1.4',
219
- color: 'white',
220
- margin: 0,
221
- fontFamily: fontFamily
222
- } }, message.content))),
223
- message.role === 'tool' && (React.createElement("div", { style: {
224
- backgroundColor: '#f3f4f6',
225
- borderRadius: '6px',
226
- padding: '8px 10px',
227
- maxWidth: '95%',
228
- width: '100%',
229
- borderLeft: '3px solid #9ca3af',
230
- marginLeft: '4px'
231
- } },
232
- React.createElement("div", { style: {
233
- display: 'flex',
234
- alignItems: 'center',
235
- gap: '6px',
236
- marginBottom: '6px'
237
- } },
238
- React.createElement("span", { style: {
239
- fontSize: '11px',
240
- fontWeight: 600,
241
- backgroundColor: '#e5e7eb',
242
- color: '#4b5563',
243
- padding: '2px 6px',
244
- borderRadius: '3px',
245
- fontFamily: fontFamily
246
- } }, message.toolName),
247
- React.createElement("span", { style: {
248
- fontSize: '11px',
249
- color: '#6b7280',
250
- fontFamily: fontFamily
251
- } }, "Tool")),
252
- React.createElement("p", { style: {
253
- fontSize: '14px',
254
- lineHeight: '1.4',
255
- color: '#1f2937',
256
- marginBottom: '6px',
257
- marginTop: 0,
258
- fontFamily: fontFamily
259
- } }, message.content),
260
- message.toolResult && (React.createElement("div", { style: {
261
- backgroundColor: 'white',
262
- padding: '6px',
263
- borderRadius: '4px',
264
- border: '1px solid #e5e7eb',
265
- fontSize: '12px',
266
- fontFamily: 'ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace',
267
- overflowX: 'auto'
268
- } },
269
- React.createElement("pre", { style: {
270
- whiteSpace: 'pre-wrap',
271
- margin: 0,
272
- lineHeight: '1.4'
273
- } }, message.toolResult)))))))),
274
- isTyping && (React.createElement("div", { style: {
275
- display: 'flex',
276
- justifyContent: 'flex-start'
277
- } },
278
- React.createElement("div", { style: {
279
- maxWidth: '95%',
280
- paddingLeft: '4px',
281
- paddingRight: '8px',
282
- color: '#1f2937'
283
- } },
284
- React.createElement("div", { style: {
285
- display: 'flex',
286
- gap: '4px',
287
- alignItems: 'center'
288
- } },
289
- React.createElement("div", { style: {
290
- width: '6px',
291
- height: '6px',
292
- borderRadius: '50%',
293
- backgroundColor: '#6b7280',
294
- animation: 'pulseDot 1.5s infinite ease-in-out',
295
- animationDelay: '0s'
296
- } }),
297
- React.createElement("div", { style: {
298
- width: '6px',
299
- height: '6px',
300
- borderRadius: '50%',
301
- backgroundColor: '#6b7280',
302
- animation: 'pulseDot 1.5s infinite ease-in-out',
303
- animationDelay: '0.2s'
304
- } }),
305
- React.createElement("div", { style: {
306
- width: '6px',
307
- height: '6px',
308
- borderRadius: '50%',
309
- backgroundColor: '#6b7280',
310
- animation: 'pulseDot 1.5s infinite ease-in-out',
311
- animationDelay: '0.4s'
312
- } })))))))),
313
- React.createElement("div", { style: {
314
- borderTop: '1px solid #e5e7eb',
315
- padding: '10px 12px',
316
- backgroundColor: 'white'
317
- } },
318
- React.createElement("div", { style: {
319
- display: 'flex',
320
- gap: '6px'
321
- } },
322
- React.createElement("input", { type: "text", placeholder: "Ask me anything...", style: {
323
- flex: 1,
324
- border: '1px solid #d1d5db',
325
- borderRadius: '10px',
326
- padding: '12px 16px',
327
- outline: 'none',
328
- fontSize: '14px',
329
- fontFamily: fontFamily,
330
- color: '#374151',
331
- lineHeight: '1.5',
332
- transition: 'border-color 0.2s, box-shadow 0.2s'
333
- }, value: inputValue, onChange: (e) => setInputValue(e.target.value), onKeyPress: (e) => e.key === 'Enter' && handleSendMessage(), onFocus: (e) => {
334
- e.target.style.borderColor = '#93c5fd';
335
- e.target.style.boxShadow = '0 0 0 3px rgba(59, 130, 246, 0.25)';
336
- }, onBlur: (e) => {
337
- e.target.style.borderColor = '#d1d5db';
338
- e.target.style.boxShadow = 'none';
339
- } }),
340
- React.createElement("button", { onClick: handleSendMessage, style: {
341
- backgroundColor: buttonHovered ? '#333333' : '#2d2d2d',
342
- color: 'white',
343
- borderRadius: '6px',
344
- padding: '0 12px',
345
- height: '36px',
346
- cursor: 'pointer',
347
- border: 'none',
348
- display: 'flex',
349
- alignItems: 'center',
350
- justifyContent: 'center',
351
- gap: '6px',
352
- transition: 'background-color 0.2s',
353
- fontFamily: fontFamily,
354
- fontSize: '14px',
355
- fontWeight: 500
356
- }, onMouseOver: () => setButtonHovered(true), onMouseOut: () => setButtonHovered(false), title: "Send message (or press Enter)" },
357
- "Send",
358
- React.createElement("svg", { width: "14", height: "14", viewBox: "0 0 14 14", fill: "none", xmlns: "http://www.w3.org/2000/svg", style: { marginLeft: '2px' } },
359
- React.createElement("path", { d: "M6 3.5C8.5 3.5 10.5 5.5 10.5 8", stroke: "white", strokeWidth: "1.2", strokeLinecap: "round" }),
360
- React.createElement("path", { d: "M8.5 6L10.5 8L12.5 6", stroke: "white", strokeWidth: "1.2", strokeLinecap: "round", strokeLinejoin: "round" }))))))));
361
- }
362
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWdlbnQtY2hhdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9kZXYtdG9vbGJhci9hZ2VudC1jaGF0LnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssRUFBRSxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLE1BQU0sT0FBTyxDQUFDO0FBQzNELE9BQU8sYUFBYSxNQUFNLGdCQUFnQixDQUFDO0FBQzNDLE9BQU8sU0FBUyxNQUFNLFlBQVksQ0FBQztBQUVuQywyQkFBMkI7QUFDM0IsTUFBTSxVQUFVLEdBQUcsK0lBQStJLENBQUM7QUFrQm5LLHVDQUF1QztBQUN2QyxNQUFNLGtCQUFrQixHQUFHO0lBQ3pCLHVDQUF1QztJQUN2QyxDQUFDLEVBQUUsQ0FBQyxLQUFVLEVBQUUsRUFBRSxDQUFDLDJCQUFHLEtBQUssRUFBRSxFQUFFLE1BQU0sRUFBRSxXQUFXLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxLQUFNLEtBQUssR0FBSTtJQUNyRixFQUFFLEVBQUUsQ0FBQyxLQUFVLEVBQUUsRUFBRSxDQUFDLDRCQUFJLEtBQUssRUFBRSxFQUFFLFFBQVEsRUFBRSxPQUFPLEVBQUUsVUFBVSxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsS0FBTSxLQUFLLEdBQUk7SUFDNUgsRUFBRSxFQUFFLENBQUMsS0FBVSxFQUFFLEVBQUUsQ0FBQyw0QkFBSSxLQUFLLEVBQUUsRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLFVBQVUsRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLEtBQU0sS0FBSyxHQUFJO0lBQzVILEVBQUUsRUFBRSxDQUFDLEtBQVUsRUFBRSxFQUFFLENBQUMsNEJBQUksS0FBSyxFQUFFLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBRSxVQUFVLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBRSxN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
@@ -1 +0,0 @@
1
- export declare function setupAIAgentServer(toolbar: any): void;