@wix/astro 0.2.14 → 0.2.15
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/components/TailwindEditor/EditorPanel.d.ts +11 -0
- package/dist/components/TailwindEditor/EditorPanel.js +86 -0
- package/dist/components/TailwindEditor/dev-toolbar-app.d.ts +14 -0
- package/dist/components/TailwindEditor/dev-toolbar-app.js +39 -0
- package/dist/components/TailwindEditor/dev-toolbar.d.ts +13 -0
- package/dist/components/TailwindEditor/dev-toolbar.js +547 -0
- package/dist/components/TailwindEditor/index.d.ts +5 -0
- package/dist/components/TailwindEditor/index.js +155 -0
- package/dist/components/TailwindEditor/integration.d.ts +3 -0
- package/dist/components/TailwindEditor/integration.js +18 -0
- package/dist/components/TailwindEditor/types.d.ts +35 -0
- package/dist/components/TailwindEditor/types.js +2 -0
- package/dist/components/TailwindEditor/utils.d.ts +22 -0
- package/dist/components/TailwindEditor/utils.js +234 -0
- package/dist/components/login-helpers/bi-header-generator.d.ts +11 -0
- package/dist/components/login-helpers/bi-header-generator.js +18 -0
- package/dist/components/login-helpers/iframeUtils.d.ts +4 -0
- package/dist/components/login-helpers/iframeUtils.js +44 -0
- package/dist/components/login-helpers/login-helpers.d.ts +39 -0
- package/dist/components/login-helpers/login-helpers.js +117 -0
- package/dist/dev-toolbar/Editor/EditorPanel.d.ts +14 -0
- package/dist/dev-toolbar/Editor/EditorPanel.js +1273 -0
- package/dist/dev-toolbar/Editor/classes.d.ts +12 -0
- package/dist/dev-toolbar/Editor/classes.js +271 -0
- package/dist/dev-toolbar/Editor/dnd.d.ts +34 -0
- package/dist/dev-toolbar/Editor/dnd.js +1161 -0
- package/dist/dev-toolbar/Editor/index.d.ts +5 -0
- package/dist/dev-toolbar/Editor/index.js +136 -0
- package/dist/dev-toolbar/Editor/types.d.ts +42 -0
- package/dist/dev-toolbar/Editor/types.js +2 -0
- package/dist/dev-toolbar/agent-chat.d.ts +14 -0
- package/dist/dev-toolbar/agent-chat.js +362 -0
- package/dist/dev-toolbar/ai-agent-server.d.ts +1 -0
- package/dist/dev-toolbar/ai-agent-server.js +174 -0
- package/dist/dev-toolbar/ai-agent.d.ts +2 -0
- package/dist/dev-toolbar/ai-agent.js +171 -0
- package/dist/dev-toolbar/api-key-form.d.ts +7 -0
- package/dist/dev-toolbar/api-key-form.js +138 -0
- package/dist/dev-toolbar/astro-toolbar.d.ts +1156 -0
- package/dist/dev-toolbar/astro-toolbar.js +29 -0
- package/dist/dev-toolbar/editor.d.ts +2 -0
- package/dist/dev-toolbar/editor.js +19 -0
- package/dist/entrypoints/client-sdk-init.d.ts +1 -0
- package/dist/entrypoints/client-sdk-init.js +9 -0
- package/dist/entrypoints/image-endpoint.d.ts +1 -0
- package/dist/entrypoints/image-endpoint.js +4 -0
- package/dist/entrypoints/image-service.d.ts +3 -0
- package/dist/entrypoints/image-service.js +35 -0
- package/dist/entrypoints/manifest.d.ts +2 -0
- package/dist/entrypoints/manifest.js +6 -0
- package/dist/extensions.d.ts +1 -0
- package/dist/extensions.js +2 -0
- package/dist/integration.js +20 -2
- package/dist/src/auth-context.d.ts +5 -0
- package/dist/src/auth-context.js +3 -0
- package/dist/src/client.d.ts +15 -0
- package/dist/src/client.js +17 -0
- package/dist/src/entrypoints/server.d.ts +13 -0
- package/dist/src/entrypoints/server.js +37 -0
- package/dist/src/index.d.ts +5 -0
- package/dist/src/index.js +5 -0
- package/dist/src/integration.d.ts +8 -0
- package/dist/src/integration.js +229 -0
- package/dist/src/loaders/blog.d.ts +2 -0
- package/dist/src/loaders/blog.js +49 -0
- package/dist/src/loaders/index.d.ts +2 -0
- package/dist/src/loaders/index.js +3 -0
- package/dist/src/middleware.d.ts +2 -0
- package/dist/src/middleware.js +90 -0
- package/dist/src/routes/auth/callback.d.ts +3 -0
- package/dist/src/routes/auth/callback.js +53 -0
- package/dist/src/routes/auth/constants.d.ts +5 -0
- package/dist/src/routes/auth/constants.js +6 -0
- package/dist/src/routes/auth/login.d.ts +3 -0
- package/dist/src/routes/auth/login.js +27 -0
- package/dist/src/routes/auth/logout-callback.d.ts +3 -0
- package/dist/src/routes/auth/logout-callback.js +10 -0
- package/dist/src/routes/auth/logout.d.ts +3 -0
- package/dist/src/routes/auth/logout.js +11 -0
- package/dist/src/routes/auth/runtime.d.ts +5 -0
- package/dist/src/routes/auth/runtime.js +8 -0
- package/dist/src/runtime.d.ts +2 -0
- package/dist/src/runtime.js +9 -0
- package/dist/src/vite-plugins/sdk-context.d.ts +4 -0
- package/dist/src/vite-plugins/sdk-context.js +68 -0
- package/dist/utils/assets.d.ts +9 -0
- package/dist/utils/assets.js +69 -0
- package/dist/utils/generate-routes-json.d.ts +9 -0
- package/dist/utils/generate-routes-json.js +237 -0
- package/dist/utils/image-config.d.ts +33 -0
- package/dist/utils/image-config.js +30 -0
- package/dist/utils/index.d.ts +8 -0
- package/dist/utils/index.js +59 -0
- package/dist/utils/non-server-chunk-detector.d.ts +14 -0
- package/dist/utils/non-server-chunk-detector.js +73 -0
- package/dist/utils/wasm-module-loader.d.ts +13 -0
- package/dist/utils/wasm-module-loader.js +117 -0
- package/package.json +5 -2
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import type { ChangeSetItem } from './types.js';
|
|
3
|
+
interface EditorPanelProps {
|
|
4
|
+
selectedElement: HTMLElement | null;
|
|
5
|
+
originalClasses: string[];
|
|
6
|
+
currentClasses: string[];
|
|
7
|
+
onApplyChanges: (changeSet: ChangeSetItem[]) => void;
|
|
8
|
+
onClose: () => void;
|
|
9
|
+
}
|
|
10
|
+
declare const EditorPanel: React.FC<EditorPanelProps>;
|
|
11
|
+
export default EditorPanel;
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { useState } from 'react';
|
|
3
|
+
const EditorPanel = ({ selectedElement, currentClasses, onApplyChanges, onClose, }) => {
|
|
4
|
+
const [customClass, setCustomClass] = useState('');
|
|
5
|
+
const [addedClasses, setAddedClasses] = useState([]);
|
|
6
|
+
const [removedClasses, setRemovedClasses] = useState([]);
|
|
7
|
+
// Common Tailwind classes for quick access
|
|
8
|
+
const commonClasses = [
|
|
9
|
+
// Layout
|
|
10
|
+
'flex', 'grid', 'block', 'inline-block', 'hidden',
|
|
11
|
+
// Spacing
|
|
12
|
+
'p-2', 'p-4', 'px-4', 'py-2', 'mt-2', 'mb-4', 'mx-auto',
|
|
13
|
+
// Sizing
|
|
14
|
+
'w-full', 'h-full', 'max-w-md',
|
|
15
|
+
// Typography
|
|
16
|
+
'text-center', 'text-lg', 'font-bold', 'italic',
|
|
17
|
+
// Colors
|
|
18
|
+
'text-blue-500', 'text-red-500', 'bg-gray-100', 'bg-white',
|
|
19
|
+
// Borders
|
|
20
|
+
'border', 'rounded', 'rounded-full', 'border-gray-200',
|
|
21
|
+
// Effects
|
|
22
|
+
'shadow', 'shadow-lg', 'opacity-75',
|
|
23
|
+
// Interactions
|
|
24
|
+
'hover:bg-gray-200', 'focus:outline-none', 'transition',
|
|
25
|
+
];
|
|
26
|
+
const handleAddClass = (cls) => {
|
|
27
|
+
if (!cls)
|
|
28
|
+
return;
|
|
29
|
+
if (!currentClasses.includes(cls) && !addedClasses.includes(cls)) {
|
|
30
|
+
setAddedClasses([...addedClasses, cls]);
|
|
31
|
+
}
|
|
32
|
+
if (removedClasses.includes(cls)) {
|
|
33
|
+
setRemovedClasses(removedClasses.filter(c => c !== cls));
|
|
34
|
+
}
|
|
35
|
+
setCustomClass('');
|
|
36
|
+
};
|
|
37
|
+
const handleRemoveClass = (cls) => {
|
|
38
|
+
if (currentClasses.includes(cls) && !removedClasses.includes(cls)) {
|
|
39
|
+
setRemovedClasses([...removedClasses, cls]);
|
|
40
|
+
}
|
|
41
|
+
if (addedClasses.includes(cls)) {
|
|
42
|
+
setAddedClasses(addedClasses.filter(c => c !== cls));
|
|
43
|
+
}
|
|
44
|
+
};
|
|
45
|
+
const handleApply = () => {
|
|
46
|
+
if (!selectedElement)
|
|
47
|
+
return;
|
|
48
|
+
// Create a change set
|
|
49
|
+
const changeSet = [];
|
|
50
|
+
// Only apply if there are actual changes
|
|
51
|
+
if (addedClasses.length > 0 || removedClasses.length > 0) {
|
|
52
|
+
const sourceInfo = selectedElement.getAttribute('data-astro-source');
|
|
53
|
+
if (sourceInfo) {
|
|
54
|
+
const parts = sourceInfo.split(':');
|
|
55
|
+
if (parts.length >= 2) {
|
|
56
|
+
const file = parts[0] || '';
|
|
57
|
+
const lineStr = parts[1] || '1';
|
|
58
|
+
const line = parseInt(lineStr, 10);
|
|
59
|
+
changeSet.push({
|
|
60
|
+
file,
|
|
61
|
+
line,
|
|
62
|
+
instruction: {
|
|
63
|
+
type: 'class_change',
|
|
64
|
+
delta: {
|
|
65
|
+
added: addedClasses,
|
|
66
|
+
removed: removedClasses,
|
|
67
|
+
},
|
|
68
|
+
},
|
|
69
|
+
});
|
|
70
|
+
onApplyChanges(changeSet);
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
onClose();
|
|
75
|
+
};
|
|
76
|
+
return (_jsxs("div", { className: "fixed bottom-0 right-0 w-96 bg-white border-l border-t border-gray-200 shadow-lg z-50 max-h-screen overflow-auto", children: [_jsxs("div", { className: "p-4 border-b border-gray-200 flex justify-between items-center bg-gray-50", children: [_jsx("h2", { className: "text-lg font-semibold", children: "Tailwind Editor" }), _jsx("button", { onClick: onClose, className: "p-1 hover:bg-gray-200 rounded", children: "\u2715" })] }), selectedElement ? (_jsxs("div", { className: "p-4", children: [_jsxs("div", { className: "mb-4", children: [_jsx("h3", { className: "font-medium mb-2", children: "Selected Element" }), _jsx("div", { className: "bg-gray-100 p-2 rounded text-sm font-mono overflow-auto", children: `<${selectedElement.tagName.toLowerCase()}/>` })] }), _jsxs("div", { className: "mb-4", children: [_jsx("h3", { className: "font-medium mb-2", children: "Current Classes" }), _jsx("div", { className: "flex flex-wrap gap-1 mb-2", children: currentClasses.map(cls => (_jsx("span", { className: `px-2 py-1 text-xs rounded ${removedClasses.includes(cls)
|
|
77
|
+
? 'bg-red-100 line-through'
|
|
78
|
+
: 'bg-gray-100'}`, onClick: () => removedClasses.includes(cls)
|
|
79
|
+
? handleAddClass(cls)
|
|
80
|
+
: handleRemoveClass(cls), children: cls }, cls))) })] }), _jsxs("div", { className: "mb-4", children: [_jsx("h3", { className: "font-medium mb-2", children: "Added Classes" }), _jsx("div", { className: "flex flex-wrap gap-1 mb-2", children: addedClasses.map(cls => (_jsx("span", { className: "px-2 py-1 text-xs rounded bg-green-100", onClick: () => handleRemoveClass(cls), children: cls }, cls))) })] }), _jsxs("div", { className: "mb-4", children: [_jsx("h3", { className: "font-medium mb-2", children: "Add Class" }), _jsxs("div", { className: "flex mb-2", children: [_jsx("input", { type: "text", value: customClass, onChange: (e) => setCustomClass(e.target.value), className: "flex-grow p-2 border border-gray-300 rounded-l text-sm", placeholder: "Enter class name", onKeyDown: (e) => {
|
|
81
|
+
if (e.key === 'Enter')
|
|
82
|
+
handleAddClass(customClass);
|
|
83
|
+
} }), _jsx("button", { onClick: () => handleAddClass(customClass), className: "px-4 bg-blue-500 text-white rounded-r", children: "Add" })] })] }), _jsxs("div", { className: "mb-4", children: [_jsx("h3", { className: "font-medium mb-2", children: "Common Classes" }), _jsx("div", { className: "flex flex-wrap gap-1", children: commonClasses.map(cls => (_jsx("button", { onClick: () => handleAddClass(cls), className: "px-2 py-1 text-xs bg-gray-100 hover:bg-gray-200 rounded", children: cls }, cls))) })] }), _jsxs("div", { className: "flex justify-end mt-4 gap-2", children: [_jsx("button", { onClick: onClose, className: "px-4 py-2 border border-gray-300 rounded hover:bg-gray-100", children: "Cancel" }), _jsx("button", { onClick: handleApply, className: "px-4 py-2 bg-blue-500 text-white rounded hover:bg-blue-600", disabled: addedClasses.length === 0 && removedClasses.length === 0, children: "Apply Changes" })] })] })) : (_jsx("div", { className: "p-4 text-center text-gray-500", children: _jsx("p", { children: "No element selected. Click on an element in the page to edit its Tailwind classes." }) }))] }));
|
|
84
|
+
};
|
|
85
|
+
export default EditorPanel;
|
|
86
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRWRpdG9yUGFuZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29tcG9uZW50cy9UYWlsd2luZEVkaXRvci9FZGl0b3JQYW5lbC50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQWMsRUFBRSxRQUFRLEVBQUUsTUFBTSxPQUFPLENBQUM7QUFXeEMsTUFBTSxXQUFXLEdBQStCLENBQUMsRUFDL0MsZUFBZSxFQUNmLGNBQWMsRUFDZCxjQUFjLEVBQ2QsT0FBTyxHQUNSLEVBQUUsRUFBRTtJQUNILE1BQU0sQ0FBQyxXQUFXLEVBQUUsY0FBYyxDQUFDLEdBQUcsUUFBUSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQ25ELE1BQU0sQ0FBQyxZQUFZLEVBQUUsZUFBZSxDQUFDLEdBQUcsUUFBUSxDQUFXLEVBQUUsQ0FBQyxDQUFDO0lBQy9ELE1BQU0sQ0FBQyxjQUFjLEVBQUUsaUJBQWlCLENBQUMsR0FBRyxRQUFRLENBQVcsRUFBRSxDQUFDLENBQUM7SUFFbkUsMkNBQTJDO0lBQzNDLE1BQU0sYUFBYSxHQUFHO1FBQ3BCLFNBQVM7UUFDVCxNQUFNLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRSxjQUFjLEVBQUUsUUFBUTtRQUNqRCxVQUFVO1FBQ1YsS0FBSyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsU0FBUztRQUN2RCxTQUFTO1FBQ1QsUUFBUSxFQUFFLFFBQVEsRUFBRSxVQUFVO1FBQzlCLGFBQWE7UUFDYixhQUFhLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBRSxRQUFRO1FBQy9DLFNBQVM7UUFDVCxlQUFlLEVBQUUsY0FBYyxFQUFFLGFBQWEsRUFBRSxVQUFVO1FBQzFELFVBQVU7UUFDVixRQUFRLEVBQUUsU0FBUyxFQUFFLGNBQWMsRUFBRSxpQkFBaUI7UUFDdEQsVUFBVTtRQUNWLFFBQVEsRUFBRSxXQUFXLEVBQUUsWUFBWTtRQUNuQyxlQUFlO1FBQ2YsbUJB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
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
declare const _default: import("astro").DevToolbarApp;
|
|
2
|
+
export default _default;
|
|
3
|
+
declare global {
|
|
4
|
+
interface Window {
|
|
5
|
+
toggleSelectionMode?: () => void;
|
|
6
|
+
__tailwindEditorState?: {
|
|
7
|
+
selectionMode: boolean;
|
|
8
|
+
selectedElement: HTMLElement | null;
|
|
9
|
+
originalClasses: string[];
|
|
10
|
+
addedClasses: string[];
|
|
11
|
+
removedClasses: string[];
|
|
12
|
+
};
|
|
13
|
+
}
|
|
14
|
+
}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { defineToolbarApp } from 'astro/toolbar';
|
|
2
|
+
import { initTailwindEditor } from './dev-toolbar.js';
|
|
3
|
+
export default defineToolbarApp({
|
|
4
|
+
init(canvas) {
|
|
5
|
+
// Initialize the Tailwind editor
|
|
6
|
+
if (typeof document !== 'undefined') {
|
|
7
|
+
// Check if running in browser
|
|
8
|
+
requestAnimationFrame(() => {
|
|
9
|
+
initTailwindEditor();
|
|
10
|
+
});
|
|
11
|
+
}
|
|
12
|
+
// Create button for the toolbar
|
|
13
|
+
const button = document.createElement('astro-dev-toolbar-button');
|
|
14
|
+
button.id = 'wix-tailwind-editor-button';
|
|
15
|
+
button.innerHTML = '<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M20.24 12.24a6 6 0 0 0-8.49-8.49L5 10.5V19h8.5l6.74-6.76z"></path><line x1="16" y1="8" x2="2" y2="22"></line><line x1="17.5" y1="15" x2="9" y2="15"></line></svg> Tailwind Editor';
|
|
16
|
+
button.buttonStyle = 'purple';
|
|
17
|
+
button.size = 'medium';
|
|
18
|
+
button.addEventListener('click', () => {
|
|
19
|
+
// Dispatch a custom event to toggle selection mode
|
|
20
|
+
if (typeof document !== 'undefined') {
|
|
21
|
+
const event = new CustomEvent('wix-tailwind-editor:toggle');
|
|
22
|
+
document.dispatchEvent(event);
|
|
23
|
+
// Trigger selection mode directly
|
|
24
|
+
if (window.__tailwindEditorState) {
|
|
25
|
+
const toggleFn = window.toggleSelectionMode || (() => {
|
|
26
|
+
// Fallback if function not globally accessible
|
|
27
|
+
const fab = document.getElementById('tailwind-editor-fab');
|
|
28
|
+
if (fab)
|
|
29
|
+
fab.click();
|
|
30
|
+
});
|
|
31
|
+
toggleFn();
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
});
|
|
35
|
+
// Add button to the canvas
|
|
36
|
+
canvas.appendChild(button);
|
|
37
|
+
},
|
|
38
|
+
});
|
|
39
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGV2LXRvb2xiYXItYXBwLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvVGFpbHdpbmRFZGl0b3IvZGV2LXRvb2xiYXItYXBwLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNqRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUV0RCxlQUFlLGdCQUFnQixDQUFDO0lBQzlCLElBQUksQ0FBQyxNQUFNO1FBQ1QsaUNBQWlDO1FBQ2pDLElBQUksT0FBTyxRQUFRLEtBQUssV0FBVyxFQUFFLENBQUM7WUFDcEMsOEJBQThCO1lBQzlCLHFCQUFxQixDQUFDLEdBQUcsRUFBRTtnQkFDekIsa0JBQWtCLEVBQUUsQ0FBQztZQUN2QixDQUFDLENBQUMsQ0FBQztRQUNMLENBQUM7UUFFRCxnQ0FBZ0M7UUFDaEMsTUFBTSxNQUFNLEdBQUcsUUFBUSxDQUFDLGFBQWEsQ0FBQywwQkFBMEIsQ0FBUSxDQUFDO1FBQ3pFLE1BQU0sQ0FBQyxFQUFFLEdBQUcsNEJBQTRCLENBQUM7UUFDekMsTUFBTSxDQUFDLFNBQVMsR0FBRyxpWEFBaVgsQ0FBQztRQUNyWSxNQUFNLENBQUMsV0FBVyxHQUFHLFFBQVEsQ0FBQztRQUM5QixNQUFNLENBQUMsSUFBSSxHQUFHLFFBQVEsQ0FBQztRQUV2QixNQUFNLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxFQUFFLEdBQUcsRUFBRTtZQUNwQyxtREFBbUQ7WUFDbkQsSUFBSSxPQUFPLFFBQVEsS0FBSyxXQUFXLEVBQUUsQ0FBQztnQkFDcEMsTUFBTSxLQUFLLEdBQUcsSUFBSSxXQUFXLENBQUMsNEJBQTRCLENBQUMsQ0FBQztnQkFDNUQsUUFBUSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQztnQkFFOUIsa0NBQWtDO2dCQUNsQyxJQUFJLE1BQU0sQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO29CQUNqQyxNQUFNLFFBQVEsR0FBRyxNQUFNLENBQUMsbUJBQW1CLElBQUksQ0FBQyxHQUFHLEVBQUU7d0JBQ25ELCtDQUErQzt3QkFDL0MsTUFBTSxHQUFHLEdBQUcsUUFBUSxDQUFDLGNBQWMsQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO3dCQUMzRCxJQUFJLEdBQUc7NEJBQUUsR0FBRyxDQUFDLEtBQUssRUFBRSxDQUFDO29CQUN2QixDQUFDLENBQUMsQ0FBQztvQkFDSCxRQUFRLEVBQUUsQ0FBQztnQkFDYixDQUFDO1lBQ0gsQ0FBQztRQUNILENBQUMsQ0FBQyxDQUFDO1FBRUgsMkJBQTJCO1FBQzNCLE1BQU0sQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDN0IsQ0FBQztDQUNGLENBQUMsQ0FBQyJ9
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
declare global {
|
|
2
|
+
interface Window {
|
|
3
|
+
__tailwindEditorState?: {
|
|
4
|
+
selectionMode: boolean;
|
|
5
|
+
selectedElement: HTMLElement | null;
|
|
6
|
+
originalClasses: string[];
|
|
7
|
+
addedClasses: string[];
|
|
8
|
+
removedClasses: string[];
|
|
9
|
+
};
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
declare function initTailwindEditor(): void;
|
|
13
|
+
export { initTailwindEditor };
|