@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.
Files changed (98) hide show
  1. package/dist/components/TailwindEditor/EditorPanel.d.ts +11 -0
  2. package/dist/components/TailwindEditor/EditorPanel.js +86 -0
  3. package/dist/components/TailwindEditor/dev-toolbar-app.d.ts +14 -0
  4. package/dist/components/TailwindEditor/dev-toolbar-app.js +39 -0
  5. package/dist/components/TailwindEditor/dev-toolbar.d.ts +13 -0
  6. package/dist/components/TailwindEditor/dev-toolbar.js +547 -0
  7. package/dist/components/TailwindEditor/index.d.ts +5 -0
  8. package/dist/components/TailwindEditor/index.js +155 -0
  9. package/dist/components/TailwindEditor/integration.d.ts +3 -0
  10. package/dist/components/TailwindEditor/integration.js +18 -0
  11. package/dist/components/TailwindEditor/types.d.ts +35 -0
  12. package/dist/components/TailwindEditor/types.js +2 -0
  13. package/dist/components/TailwindEditor/utils.d.ts +22 -0
  14. package/dist/components/TailwindEditor/utils.js +234 -0
  15. package/dist/components/login-helpers/bi-header-generator.d.ts +11 -0
  16. package/dist/components/login-helpers/bi-header-generator.js +18 -0
  17. package/dist/components/login-helpers/iframeUtils.d.ts +4 -0
  18. package/dist/components/login-helpers/iframeUtils.js +44 -0
  19. package/dist/components/login-helpers/login-helpers.d.ts +39 -0
  20. package/dist/components/login-helpers/login-helpers.js +117 -0
  21. package/dist/dev-toolbar/Editor/EditorPanel.d.ts +14 -0
  22. package/dist/dev-toolbar/Editor/EditorPanel.js +1273 -0
  23. package/dist/dev-toolbar/Editor/classes.d.ts +12 -0
  24. package/dist/dev-toolbar/Editor/classes.js +271 -0
  25. package/dist/dev-toolbar/Editor/dnd.d.ts +34 -0
  26. package/dist/dev-toolbar/Editor/dnd.js +1161 -0
  27. package/dist/dev-toolbar/Editor/index.d.ts +5 -0
  28. package/dist/dev-toolbar/Editor/index.js +136 -0
  29. package/dist/dev-toolbar/Editor/types.d.ts +42 -0
  30. package/dist/dev-toolbar/Editor/types.js +2 -0
  31. package/dist/dev-toolbar/agent-chat.d.ts +14 -0
  32. package/dist/dev-toolbar/agent-chat.js +362 -0
  33. package/dist/dev-toolbar/ai-agent-server.d.ts +1 -0
  34. package/dist/dev-toolbar/ai-agent-server.js +174 -0
  35. package/dist/dev-toolbar/ai-agent.d.ts +2 -0
  36. package/dist/dev-toolbar/ai-agent.js +171 -0
  37. package/dist/dev-toolbar/api-key-form.d.ts +7 -0
  38. package/dist/dev-toolbar/api-key-form.js +138 -0
  39. package/dist/dev-toolbar/astro-toolbar.d.ts +1156 -0
  40. package/dist/dev-toolbar/astro-toolbar.js +29 -0
  41. package/dist/dev-toolbar/editor.d.ts +2 -0
  42. package/dist/dev-toolbar/editor.js +19 -0
  43. package/dist/entrypoints/client-sdk-init.d.ts +1 -0
  44. package/dist/entrypoints/client-sdk-init.js +9 -0
  45. package/dist/entrypoints/image-endpoint.d.ts +1 -0
  46. package/dist/entrypoints/image-endpoint.js +4 -0
  47. package/dist/entrypoints/image-service.d.ts +3 -0
  48. package/dist/entrypoints/image-service.js +35 -0
  49. package/dist/entrypoints/manifest.d.ts +2 -0
  50. package/dist/entrypoints/manifest.js +6 -0
  51. package/dist/extensions.d.ts +1 -0
  52. package/dist/extensions.js +2 -0
  53. package/dist/integration.js +20 -2
  54. package/dist/src/auth-context.d.ts +5 -0
  55. package/dist/src/auth-context.js +3 -0
  56. package/dist/src/client.d.ts +15 -0
  57. package/dist/src/client.js +17 -0
  58. package/dist/src/entrypoints/server.d.ts +13 -0
  59. package/dist/src/entrypoints/server.js +37 -0
  60. package/dist/src/index.d.ts +5 -0
  61. package/dist/src/index.js +5 -0
  62. package/dist/src/integration.d.ts +8 -0
  63. package/dist/src/integration.js +229 -0
  64. package/dist/src/loaders/blog.d.ts +2 -0
  65. package/dist/src/loaders/blog.js +49 -0
  66. package/dist/src/loaders/index.d.ts +2 -0
  67. package/dist/src/loaders/index.js +3 -0
  68. package/dist/src/middleware.d.ts +2 -0
  69. package/dist/src/middleware.js +90 -0
  70. package/dist/src/routes/auth/callback.d.ts +3 -0
  71. package/dist/src/routes/auth/callback.js +53 -0
  72. package/dist/src/routes/auth/constants.d.ts +5 -0
  73. package/dist/src/routes/auth/constants.js +6 -0
  74. package/dist/src/routes/auth/login.d.ts +3 -0
  75. package/dist/src/routes/auth/login.js +27 -0
  76. package/dist/src/routes/auth/logout-callback.d.ts +3 -0
  77. package/dist/src/routes/auth/logout-callback.js +10 -0
  78. package/dist/src/routes/auth/logout.d.ts +3 -0
  79. package/dist/src/routes/auth/logout.js +11 -0
  80. package/dist/src/routes/auth/runtime.d.ts +5 -0
  81. package/dist/src/routes/auth/runtime.js +8 -0
  82. package/dist/src/runtime.d.ts +2 -0
  83. package/dist/src/runtime.js +9 -0
  84. package/dist/src/vite-plugins/sdk-context.d.ts +4 -0
  85. package/dist/src/vite-plugins/sdk-context.js +68 -0
  86. package/dist/utils/assets.d.ts +9 -0
  87. package/dist/utils/assets.js +69 -0
  88. package/dist/utils/generate-routes-json.d.ts +9 -0
  89. package/dist/utils/generate-routes-json.js +237 -0
  90. package/dist/utils/image-config.d.ts +33 -0
  91. package/dist/utils/image-config.js +30 -0
  92. package/dist/utils/index.d.ts +8 -0
  93. package/dist/utils/index.js +59 -0
  94. package/dist/utils/non-server-chunk-detector.d.ts +14 -0
  95. package/dist/utils/non-server-chunk-detector.js +73 -0
  96. package/dist/utils/wasm-module-loader.d.ts +13 -0
  97. package/dist/utils/wasm-module-loader.js +117 -0
  98. 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 };