@alpaca-editor/core 1.0.4114 → 1.0.4118

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 (272) hide show
  1. package/dist/components/FilterInput.js +3 -7
  2. package/dist/components/FilterInput.js.map +1 -1
  3. package/dist/components/ui/input.js +1 -1
  4. package/dist/components/ui/input.js.map +1 -1
  5. package/dist/config/config.js +1 -1
  6. package/dist/editor/AspectRatioSelector.js +3 -3
  7. package/dist/editor/AspectRatioSelector.js.map +1 -1
  8. package/dist/editor/EditorWarning.js +2 -2
  9. package/dist/editor/EditorWarning.js.map +1 -1
  10. package/dist/editor/FieldEditorPopup.js +7 -6
  11. package/dist/editor/FieldEditorPopup.js.map +1 -1
  12. package/dist/editor/FieldHistory.js +2 -1
  13. package/dist/editor/FieldHistory.js.map +1 -1
  14. package/dist/editor/LinkEditorDialog.d.ts +3 -1
  15. package/dist/editor/LinkEditorDialog.js +7 -3
  16. package/dist/editor/LinkEditorDialog.js.map +1 -1
  17. package/dist/editor/MainLayout.js +3 -3
  18. package/dist/editor/MainLayout.js.map +1 -1
  19. package/dist/editor/PictureCropper.js +3 -3
  20. package/dist/editor/PictureCropper.js.map +1 -1
  21. package/dist/editor/PictureEditorDialog.js +55 -50
  22. package/dist/editor/PictureEditorDialog.js.map +1 -1
  23. package/dist/editor/Terminal.js +4 -4
  24. package/dist/editor/Terminal.js.map +1 -1
  25. package/dist/editor/ai/AgentTerminal.js +137 -6
  26. package/dist/editor/ai/AgentTerminal.js.map +1 -1
  27. package/dist/editor/ai/Agents.js +2 -2
  28. package/dist/editor/ai/Agents.js.map +1 -1
  29. package/dist/editor/ai/ContextInfoBar.js +1 -1
  30. package/dist/editor/ai/ContextInfoBar.js.map +1 -1
  31. package/dist/editor/client/GenericDialog.js +3 -3
  32. package/dist/editor/client/GenericDialog.js.map +1 -1
  33. package/dist/editor/client/ui/EditorChrome.js +8 -2
  34. package/dist/editor/client/ui/EditorChrome.js.map +1 -1
  35. package/dist/editor/commands/localizeItem/LocalizeItemDialog.js +9 -7
  36. package/dist/editor/commands/localizeItem/LocalizeItemDialog.js.map +1 -1
  37. package/dist/editor/context-menu/CopyMoveMenu.js +3 -3
  38. package/dist/editor/context-menu/CopyMoveMenu.js.map +1 -1
  39. package/dist/editor/control-center/IndexOverview.js +39 -17
  40. package/dist/editor/control-center/IndexOverview.js.map +1 -1
  41. package/dist/editor/field-types/CheckboxEditor.js +2 -2
  42. package/dist/editor/field-types/CheckboxEditor.js.map +1 -1
  43. package/dist/editor/field-types/DateFieldEditor.js +2 -2
  44. package/dist/editor/field-types/DateFieldEditor.js.map +1 -1
  45. package/dist/editor/field-types/DateTimeFieldEditor.js.map +1 -1
  46. package/dist/editor/field-types/ImageFieldEditor.js +2 -2
  47. package/dist/editor/field-types/ImageFieldEditor.js.map +1 -1
  48. package/dist/editor/field-types/InternalLinkFieldEditor.js +2 -2
  49. package/dist/editor/field-types/InternalLinkFieldEditor.js.map +1 -1
  50. package/dist/editor/field-types/LinkFieldEditor.js +8 -3
  51. package/dist/editor/field-types/LinkFieldEditor.js.map +1 -1
  52. package/dist/editor/field-types/MultiLineText.js +2 -2
  53. package/dist/editor/field-types/MultiLineText.js.map +1 -1
  54. package/dist/editor/field-types/PictureFieldEditor.js +3 -2
  55. package/dist/editor/field-types/PictureFieldEditor.js.map +1 -1
  56. package/dist/editor/field-types/RawEditor.js +2 -2
  57. package/dist/editor/field-types/RawEditor.js.map +1 -1
  58. package/dist/editor/field-types/SingleLineText.js +2 -2
  59. package/dist/editor/field-types/SingleLineText.js.map +1 -1
  60. package/dist/editor/field-types/richtext/components/ReactSlate.js +2 -2
  61. package/dist/editor/field-types/richtext/components/ReactSlate.js.map +1 -1
  62. package/dist/editor/field-types/richtext/components/SimpleRichTextEditor.js +2 -2
  63. package/dist/editor/field-types/richtext/components/SimpleRichTextEditor.js.map +1 -1
  64. package/dist/editor/fieldTypes.d.ts +1 -0
  65. package/dist/editor/media-selector/AiImageSearch.js +5 -4
  66. package/dist/editor/media-selector/AiImageSearch.js.map +1 -1
  67. package/dist/editor/media-selector/MediaFolderBrowser.js +8 -8
  68. package/dist/editor/media-selector/MediaFolderBrowser.js.map +1 -1
  69. package/dist/editor/media-selector/Thumbnails.js +2 -2
  70. package/dist/editor/media-selector/Thumbnails.js.map +1 -1
  71. package/dist/editor/media-selector/TreeSelector.js +2 -2
  72. package/dist/editor/media-selector/TreeSelector.js.map +1 -1
  73. package/dist/editor/media-selector/UploadZone.js +2 -2
  74. package/dist/editor/media-selector/UploadZone.js.map +1 -1
  75. package/dist/editor/menubar/NavButtons.js +3 -5
  76. package/dist/editor/menubar/NavButtons.js.map +1 -1
  77. package/dist/editor/menubar/Separator.js +2 -2
  78. package/dist/editor/menubar/Separator.js.map +1 -1
  79. package/dist/editor/menubar/SiteInfo.js +9 -9
  80. package/dist/editor/menubar/SiteInfo.js.map +1 -1
  81. package/dist/editor/page-editor-chrome/CommentHighlighting.js +2 -2
  82. package/dist/editor/page-editor-chrome/CommentHighlighting.js.map +1 -1
  83. package/dist/editor/page-editor-chrome/FieldActionIndicator.js +2 -2
  84. package/dist/editor/page-editor-chrome/FieldActionIndicator.js.map +1 -1
  85. package/dist/editor/page-editor-chrome/PlaceholderDropZone.js +6 -1
  86. package/dist/editor/page-editor-chrome/PlaceholderDropZone.js.map +1 -1
  87. package/dist/editor/page-editor-chrome/SuggestionHighlighting.js +2 -2
  88. package/dist/editor/page-editor-chrome/SuggestionHighlighting.js.map +1 -1
  89. package/dist/editor/page-viewer/DeviceToolbar.js +3 -3
  90. package/dist/editor/page-viewer/DeviceToolbar.js.map +1 -1
  91. package/dist/editor/reviews/Reviews.js +55 -54
  92. package/dist/editor/reviews/Reviews.js.map +1 -1
  93. package/dist/editor/services/agentService.d.ts +3 -3
  94. package/dist/editor/services/agentService.js.map +1 -1
  95. package/dist/editor/services/aiService.js +5 -5
  96. package/dist/editor/services/aiService.js.map +1 -1
  97. package/dist/editor/sidebar/ComponentPalette.js +3 -3
  98. package/dist/editor/sidebar/ComponentPalette.js.map +1 -1
  99. package/dist/editor/sidebar/ComponentTree.js +6 -1
  100. package/dist/editor/sidebar/ComponentTree.js.map +1 -1
  101. package/dist/editor/sidebar/DictionaryEditor.js +9 -9
  102. package/dist/editor/sidebar/DictionaryEditor.js.map +1 -1
  103. package/dist/editor/sidebar/EditHistory.js +4 -3
  104. package/dist/editor/sidebar/EditHistory.js.map +1 -1
  105. package/dist/editor/sidebar/SEOInfo.js +3 -2
  106. package/dist/editor/sidebar/SEOInfo.js.map +1 -1
  107. package/dist/editor/sidebar/SidebarView.js +5 -6
  108. package/dist/editor/sidebar/SidebarView.js.map +1 -1
  109. package/dist/editor/sidebar/Translations.js +5 -2
  110. package/dist/editor/sidebar/Translations.js.map +1 -1
  111. package/dist/editor/sidebar/Validation.js +2 -2
  112. package/dist/editor/sidebar/Validation.js.map +1 -1
  113. package/dist/editor/sidebar/ViewSelector.js +22 -5
  114. package/dist/editor/sidebar/ViewSelector.js.map +1 -1
  115. package/dist/editor/sidebar/Workbox.js +14 -13
  116. package/dist/editor/sidebar/Workbox.js.map +1 -1
  117. package/dist/editor/ui/ItemNameDialogNew.js +2 -2
  118. package/dist/editor/ui/ItemNameDialogNew.js.map +1 -1
  119. package/dist/editor/ui/PerfectTree.js +2 -2
  120. package/dist/editor/ui/PerfectTree.js.map +1 -1
  121. package/dist/editor/ui/Section.js +3 -3
  122. package/dist/editor/ui/Section.js.map +1 -1
  123. package/dist/editor/ui/SimpleTable.js +3 -3
  124. package/dist/editor/ui/SimpleTable.js.map +1 -1
  125. package/dist/editor/views/ItemEditor.js +1 -1
  126. package/dist/editor/views/ItemEditor.js.map +1 -1
  127. package/dist/index.d.ts +1 -0
  128. package/dist/index.js +1 -0
  129. package/dist/index.js.map +1 -1
  130. package/dist/page-wizard/WizardSteps.js +2 -3
  131. package/dist/page-wizard/WizardSteps.js.map +1 -1
  132. package/dist/page-wizard/steps/CollectStep.js +2 -2
  133. package/dist/page-wizard/steps/CollectStep.js.map +1 -1
  134. package/dist/page-wizard/steps/ContentStep.js +3 -4
  135. package/dist/page-wizard/steps/ContentStep.js.map +1 -1
  136. package/dist/page-wizard/steps/Generate.js +2 -2
  137. package/dist/page-wizard/steps/Generate.js.map +1 -1
  138. package/dist/page-wizard/steps/ImagesStep.js +17 -15
  139. package/dist/page-wizard/steps/ImagesStep.js.map +1 -1
  140. package/dist/page-wizard/steps/MetaDataStep.js +2 -2
  141. package/dist/page-wizard/steps/MetaDataStep.js.map +1 -1
  142. package/dist/page-wizard/steps/SelectStep.js +5 -5
  143. package/dist/page-wizard/steps/SelectStep.js.map +1 -1
  144. package/dist/page-wizard/steps/StructureStep.js +3 -3
  145. package/dist/page-wizard/steps/StructureStep.js.map +1 -1
  146. package/dist/page-wizard/steps/TranslateStep.js +2 -2
  147. package/dist/page-wizard/steps/TranslateStep.js.map +1 -1
  148. package/dist/revision.d.ts +2 -2
  149. package/dist/revision.js +2 -2
  150. package/dist/splash-screen/NewPage.js +2 -2
  151. package/dist/splash-screen/NewPage.js.map +1 -1
  152. package/dist/splash-screen/SectionHeadline.js +2 -2
  153. package/dist/splash-screen/SectionHeadline.js.map +1 -1
  154. package/dist/styles.css +9 -26
  155. package/package.json +1 -1
  156. package/src/components/FilterInput.tsx +13 -16
  157. package/src/components/ui/input.tsx +1 -1
  158. package/src/config/config.tsx +1 -1
  159. package/src/editor/AspectRatioSelector.tsx +3 -3
  160. package/src/editor/EditorWarning.tsx +6 -6
  161. package/src/editor/FieldEditorPopup.tsx +36 -26
  162. package/src/editor/FieldHistory.tsx +2 -1
  163. package/src/editor/LinkEditorDialog.tsx +20 -0
  164. package/src/editor/MainLayout.tsx +3 -3
  165. package/src/editor/PictureCropper.tsx +3 -3
  166. package/src/editor/PictureEditorDialog.tsx +167 -145
  167. package/src/editor/Terminal.tsx +5 -6
  168. package/src/editor/ai/AgentTerminal.tsx +187 -23
  169. package/src/editor/ai/Agents.tsx +2 -2
  170. package/src/editor/ai/ContextInfoBar.tsx +8 -6
  171. package/src/editor/client/GenericDialog.tsx +13 -9
  172. package/src/editor/client/ui/EditorChrome.tsx +8 -4
  173. package/src/editor/commands/localizeItem/LocalizeItemDialog.tsx +30 -11
  174. package/src/editor/context-menu/CopyMoveMenu.tsx +5 -3
  175. package/src/editor/control-center/IndexOverview.tsx +63 -34
  176. package/src/editor/field-types/CheckboxEditor.tsx +2 -2
  177. package/src/editor/field-types/DateFieldEditor.tsx +2 -2
  178. package/src/editor/field-types/DateTimeFieldEditor.tsx +0 -1
  179. package/src/editor/field-types/ImageFieldEditor.tsx +3 -4
  180. package/src/editor/field-types/InternalLinkFieldEditor.tsx +2 -2
  181. package/src/editor/field-types/LinkFieldEditor.tsx +8 -2
  182. package/src/editor/field-types/MultiLineText.tsx +4 -5
  183. package/src/editor/field-types/PictureFieldEditor.tsx +5 -5
  184. package/src/editor/field-types/RawEditor.tsx +4 -5
  185. package/src/editor/field-types/SingleLineText.tsx +4 -6
  186. package/src/editor/field-types/richtext/components/ReactSlate.tsx +2 -2
  187. package/src/editor/field-types/richtext/components/SimpleRichTextEditor.tsx +2 -2
  188. package/src/editor/fieldTypes.ts +1 -0
  189. package/src/editor/media-selector/AiImageSearch.tsx +11 -14
  190. package/src/editor/media-selector/MediaFolderBrowser.tsx +42 -35
  191. package/src/editor/media-selector/Thumbnails.tsx +3 -3
  192. package/src/editor/media-selector/TreeSelector.tsx +2 -2
  193. package/src/editor/media-selector/UploadZone.tsx +2 -2
  194. package/src/editor/menubar/NavButtons.tsx +12 -14
  195. package/src/editor/menubar/Separator.tsx +2 -2
  196. package/src/editor/menubar/SiteInfo.tsx +29 -23
  197. package/src/editor/page-editor-chrome/CommentHighlighting.tsx +2 -2
  198. package/src/editor/page-editor-chrome/FieldActionIndicator.tsx +2 -2
  199. package/src/editor/page-editor-chrome/PlaceholderDropZone.tsx +6 -1
  200. package/src/editor/page-editor-chrome/SuggestionHighlighting.tsx +2 -2
  201. package/src/editor/page-viewer/DeviceToolbar.tsx +4 -3
  202. package/src/editor/reviews/Reviews.tsx +116 -106
  203. package/src/editor/services/agentService.ts +3 -3
  204. package/src/editor/services/aiService.ts +5 -5
  205. package/src/editor/sidebar/ComponentPalette.tsx +3 -3
  206. package/src/editor/sidebar/ComponentTree.tsx +10 -1
  207. package/src/editor/sidebar/DictionaryEditor.tsx +12 -13
  208. package/src/editor/sidebar/EditHistory.tsx +4 -3
  209. package/src/editor/sidebar/SEOInfo.tsx +9 -7
  210. package/src/editor/sidebar/SidebarView.tsx +8 -6
  211. package/src/editor/sidebar/Translations.tsx +9 -5
  212. package/src/editor/sidebar/Validation.tsx +2 -2
  213. package/src/editor/sidebar/ViewSelector.tsx +32 -6
  214. package/src/editor/sidebar/Workbox.tsx +81 -63
  215. package/src/editor/ui/ItemNameDialogNew.tsx +2 -2
  216. package/src/editor/ui/PerfectTree.tsx +2 -5
  217. package/src/editor/ui/Section.tsx +4 -4
  218. package/src/editor/ui/SimpleTable.tsx +3 -3
  219. package/src/editor/views/ItemEditor.tsx +1 -1
  220. package/src/index.ts +6 -0
  221. package/src/page-wizard/WizardSteps.tsx +2 -3
  222. package/src/page-wizard/steps/CollectStep.tsx +3 -3
  223. package/src/page-wizard/steps/ContentStep.tsx +4 -5
  224. package/src/page-wizard/steps/Generate.tsx +2 -2
  225. package/src/page-wizard/steps/ImagesStep.tsx +43 -24
  226. package/src/page-wizard/steps/MetaDataStep.tsx +5 -5
  227. package/src/page-wizard/steps/SelectStep.tsx +8 -6
  228. package/src/page-wizard/steps/StructureStep.tsx +9 -8
  229. package/src/page-wizard/steps/TranslateStep.tsx +5 -3
  230. package/src/revision.ts +2 -2
  231. package/src/splash-screen/NewPage.tsx +2 -2
  232. package/src/splash-screen/SectionHeadline.tsx +4 -4
  233. package/dist/editor/component-designer/ComponentDesigner.d.ts +0 -1
  234. package/dist/editor/component-designer/ComponentDesigner.js +0 -51
  235. package/dist/editor/component-designer/ComponentDesigner.js.map +0 -1
  236. package/dist/editor/component-designer/ComponentDesignerMenu.d.ts +0 -1
  237. package/dist/editor/component-designer/ComponentDesignerMenu.js +0 -65
  238. package/dist/editor/component-designer/ComponentDesignerMenu.js.map +0 -1
  239. package/dist/editor/component-designer/ComponentEditor.d.ts +0 -4
  240. package/dist/editor/component-designer/ComponentEditor.js +0 -55
  241. package/dist/editor/component-designer/ComponentEditor.js.map +0 -1
  242. package/dist/editor/component-designer/ComponentRenderingCodeEditor.d.ts +0 -5
  243. package/dist/editor/component-designer/ComponentRenderingCodeEditor.js +0 -11
  244. package/dist/editor/component-designer/ComponentRenderingCodeEditor.js.map +0 -1
  245. package/dist/editor/component-designer/ComponentRenderingEditor.d.ts +0 -1
  246. package/dist/editor/component-designer/ComponentRenderingEditor.js +0 -69
  247. package/dist/editor/component-designer/ComponentRenderingEditor.js.map +0 -1
  248. package/dist/editor/component-designer/ComponentsDropdown.d.ts +0 -4
  249. package/dist/editor/component-designer/ComponentsDropdown.js +0 -20
  250. package/dist/editor/component-designer/ComponentsDropdown.js.map +0 -1
  251. package/dist/editor/component-designer/PlaceholdersEditor.d.ts +0 -4
  252. package/dist/editor/component-designer/PlaceholdersEditor.js +0 -63
  253. package/dist/editor/component-designer/PlaceholdersEditor.js.map +0 -1
  254. package/dist/editor/component-designer/RenderingsDropdown.d.ts +0 -1
  255. package/dist/editor/component-designer/RenderingsDropdown.js +0 -23
  256. package/dist/editor/component-designer/RenderingsDropdown.js.map +0 -1
  257. package/dist/editor/component-designer/TemplateEditor.d.ts +0 -1
  258. package/dist/editor/component-designer/TemplateEditor.js +0 -142
  259. package/dist/editor/component-designer/TemplateEditor.js.map +0 -1
  260. package/dist/editor/component-designer/aiContext.d.ts +0 -5
  261. package/dist/editor/component-designer/aiContext.js +0 -14
  262. package/dist/editor/component-designer/aiContext.js.map +0 -1
  263. package/src/editor/component-designer/ComponentDesigner.tsx +0 -66
  264. package/src/editor/component-designer/ComponentDesignerMenu.tsx +0 -91
  265. package/src/editor/component-designer/ComponentEditor.tsx +0 -95
  266. package/src/editor/component-designer/ComponentRenderingCodeEditor.tsx +0 -31
  267. package/src/editor/component-designer/ComponentRenderingEditor.tsx +0 -104
  268. package/src/editor/component-designer/ComponentsDropdown.tsx +0 -39
  269. package/src/editor/component-designer/PlaceholdersEditor.tsx +0 -179
  270. package/src/editor/component-designer/RenderingsDropdown.tsx +0 -36
  271. package/src/editor/component-designer/TemplateEditor.tsx +0 -236
  272. package/src/editor/component-designer/aiContext.ts +0 -21
@@ -1,8 +1,8 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
- import { Dialog } from "primereact/dialog";
2
+ import { Dialog, DialogContent, DialogHeader, DialogTitle, } from "../components/ui/dialog";
3
3
  import { useEditContext } from "./client/editContext";
4
4
  import { useCallback, useEffect, useState } from "react";
5
- import { Button } from "primereact/button";
5
+ import { Button } from "../components/ui/button";
6
6
  import DialogButtons from "./ui/DialogButtons";
7
7
  import { getPictureValue } from "./services/editService";
8
8
  import { getRenderedPictureVariant, } from "./picture-shared";
@@ -116,55 +116,60 @@ export function PictureEditorDialog({ field, onCancel, onOk, params, }) {
116
116
  }
117
117
  };
118
118
  const usage = getUsage(pictureValue, params);
119
- return (_jsx(_Fragment, { children: _jsx(Dialog, { header: "Edit " + field.name, visible: true, style: { width: "70vw", height: "70vh" }, onHide: onCancel, children: _jsxs("div", { className: "flex gap-1 flex-col justify h-full", children: [_jsxs("div", { className: "flex-1 flex gap-2", children: [_jsxs("div", { className: " h-full border-r pt-3 w-48 relative", children: [_jsx("div", { className: "absolute inset-0 overflow-y-auto flex flex-col gap-6", children: pictureValue &&
120
- pictureValue.variants?.map((variant) => (_jsxs("div", { onClick: () => setSelectedVariantName(variant.name), className: "text-xs flex flex-col items-center justify-center gap-1 cursor-pointer", children: [_jsx("div", { className: "flex justify-center items-center h-40 w-40 border relative" +
121
- (selectedVariantName == variant.name
122
- ? " shadow-xl "
123
- : ""), children: variant.src && _jsx("img", { src: variant.thumbSrc }) }), _jsxs("div", { className: "w-40", children: [_jsx("div", { children: variant.name }), _jsx("div", { children: variant.aspectRatioLockText }), _jsxs("div", { children: [_jsxs("div", { className: "break-all", children: ["Name: ", variant.mediaItemName] }), _jsxs("div", { children: ["Orig. size: ", variant.width, " x ", variant.height] }), (variant.width < 1 || variant.height < 1) && (_jsxs("span", { children: [" ", _jsx("i", { className: "pi pi-exclamation-triangle text-red-600 " })] }))] })] })] }, variant.name))) }), usage && _jsx("div", { className: "text-xs", children: usage })] }), _jsx("div", { className: "flex-1 relative p-3", children: _jsxs("div", { className: "absolute inset-0 top-3 overflow-auto select-none flex align-center justify-center", children: [selectedVariant && (_jsxs("div", { className: "relative", onDoubleClick: () => selectMedia(), onMouseDown: (ev) => {
124
- ev.preventDefault();
125
- ev.stopPropagation();
126
- const bounds = ev.currentTarget.getBoundingClientRect();
127
- setRect({
128
- left: (ev.clientX - bounds.left) / bounds.width,
129
- top: (ev.clientY - bounds.top) / bounds.height,
130
- width: 0,
131
- height: 0,
132
- });
133
- }, onMouseMoveCapture: (ev) => {
134
- if (ev.buttons === 1) {
135
- const bounds = ev.currentTarget.getBoundingClientRect();
136
- const width = (ev.clientX - bounds.left) / bounds.width - rect.left;
137
- const newRect = {
138
- ...rect,
139
- width,
140
- height: selectedVariant.aspectRatioLock
141
- ? width / selectedVariant.aspectRatioLock
142
- : (ev.clientY - bounds.top) / bounds.height -
143
- rect.top,
144
- };
145
- setRect(newRect);
146
- ev.preventDefault();
147
- ev.stopPropagation();
119
+ return (_jsx(_Fragment, { children: _jsx(Dialog, { open: true, onOpenChange: (open) => {
120
+ if (!open) {
121
+ onCancel();
122
+ }
123
+ }, children: _jsxs(DialogContent, { className: "max-w-none", style: { width: "70vw", height: "70vh" }, children: [_jsx(DialogHeader, { children: _jsx(DialogTitle, { children: "Edit " + field.name }) }), _jsx("div", { className: "flex-1 overflow-auto", children: _jsxs("div", { className: "justify flex h-full flex-col gap-1", children: [_jsxs("div", { className: "flex flex-1 gap-2", children: [_jsxs("div", { className: "relative h-full w-48 border-r pt-3", children: [_jsx("div", { className: "absolute inset-0 flex flex-col gap-6 overflow-y-auto", children: pictureValue &&
124
+ pictureValue.variants?.map((variant) => (_jsxs("div", { onClick: () => setSelectedVariantName(variant.name), className: "flex cursor-pointer flex-col items-center justify-center gap-1 text-xs", children: [_jsx("div", { className: "relative flex h-40 w-40 items-center justify-center border" +
125
+ (selectedVariantName == variant.name
126
+ ? " shadow-xl"
127
+ : ""), children: variant.src && _jsx("img", { src: variant.thumbSrc }) }), _jsxs("div", { className: "w-40", children: [_jsx("div", { children: variant.name }), _jsx("div", { children: variant.aspectRatioLockText }), _jsxs("div", { children: [_jsxs("div", { className: "break-all", children: ["Name: ", variant.mediaItemName] }), _jsxs("div", { children: ["Orig. size: ", variant.width, " x ", variant.height] }), (variant.width < 1 || variant.height < 1) && (_jsxs("span", { children: [" ", _jsx("i", { className: "pi pi-exclamation-triangle text-red-600" })] }))] })] })] }, variant.name))) }), usage && _jsx("div", { className: "text-xs", children: usage })] }), _jsx("div", { className: "relative flex-1 p-3", children: _jsxs("div", { className: "align-center absolute inset-0 top-3 flex justify-center overflow-auto select-none", children: [selectedVariant && (_jsxs("div", { className: "relative", onDoubleClick: () => selectMedia(), onMouseDown: (ev) => {
128
+ ev.preventDefault();
129
+ ev.stopPropagation();
130
+ const bounds = ev.currentTarget.getBoundingClientRect();
131
+ setRect({
132
+ left: (ev.clientX - bounds.left) / bounds.width,
133
+ top: (ev.clientY - bounds.top) / bounds.height,
134
+ width: 0,
135
+ height: 0,
136
+ });
137
+ }, onMouseMoveCapture: (ev) => {
138
+ if (ev.buttons === 1) {
139
+ const bounds = ev.currentTarget.getBoundingClientRect();
140
+ const width = (ev.clientX - bounds.left) / bounds.width -
141
+ rect.left;
142
+ const newRect = {
143
+ ...rect,
144
+ width,
145
+ height: selectedVariant.aspectRatioLock
146
+ ? width / selectedVariant.aspectRatioLock
147
+ : (ev.clientY - bounds.top) / bounds.height -
148
+ rect.top,
149
+ };
150
+ setRect(newRect);
151
+ ev.preventDefault();
152
+ ev.stopPropagation();
153
+ }
154
+ }, onMouseUp: () => setVariantCrop(), children: [_jsx("img", { src: selectedVariant.originalSrc ?? selectedVariant.src, className: "h-full w-full object-contain" }), _jsx("div", { className: "bg-opacity-70 absolute bg-gray-300", style: {
155
+ left: rect.left * 100 + "%",
156
+ top: rect.top * 100 + "%",
157
+ width: rect.width * 100 + "%",
158
+ height: rect.height * 100 + "%",
159
+ } })] })), selectedVariant && (_jsxs("div", { className: "bg-opacity-70 absolute top-0 right-0 flex cursor-pointer flex-col items-center gap-1 bg-gray-100 p-2 text-sm", onClick: () => selectMedia(), children: [_jsx("i", { className: "pi pi-pencil text-xl" }), "Choose"] }))] }) })] }), _jsxs(DialogButtons, { children: [_jsx(Button, { size: "sm", onClick: () => {
160
+ if (pictureValue) {
161
+ if (field) {
162
+ editContext?.operations.editField({
163
+ field: field.descriptor,
164
+ rawValue: JSON.stringify(rawValue),
165
+ refresh: "immediate",
166
+ });
167
+ }
168
+ onOk(pictureValue);
148
169
  }
149
- }, onMouseUp: () => setVariantCrop(), children: [_jsx("img", { src: selectedVariant.originalSrc ?? selectedVariant.src, className: "object-contain h-full w-full" }), _jsx("div", { className: "absolute bg-opacity-70 bg-gray-300", style: {
150
- left: rect.left * 100 + "%",
151
- top: rect.top * 100 + "%",
152
- width: rect.width * 100 + "%",
153
- height: rect.height * 100 + "%",
154
- } })] })), selectedVariant && (_jsxs("div", { className: "absolute top-0 right-0 cursor-pointer text-sm flex flex-col gap-1 items-center p-2 bg-gray-100 bg-opacity-70", onClick: () => selectMedia(), children: [_jsx("i", { className: "pi pi-pencil text-xl" }), "Choose"] }))] }) })] }), _jsxs(DialogButtons, { children: [_jsx(Button, { size: "small", onClick: () => {
155
- if (pictureValue) {
156
- if (field) {
157
- editContext?.operations.editField({
158
- field: field.descriptor,
159
- rawValue: JSON.stringify(rawValue),
160
- refresh: "immediate",
161
- });
162
- }
163
- onOk(pictureValue);
164
- }
165
- }, children: "Ok" }), _jsx(Button, { onClick: () => {
166
- onCancel();
167
- }, size: "small", children: "Cancel" })] })] }) }) }));
170
+ }, children: "Ok" }), _jsx(Button, { onClick: () => {
171
+ onCancel();
172
+ }, size: "sm", children: "Cancel" })] })] }) })] }) }) }));
168
173
  }
169
174
  function getUsage(pictureValue, params) {
170
175
  if (!params)
@@ -1 +1 @@
1
- {"version":3,"file":"PictureEditorDialog.js","sourceRoot":"","sources":["../../src/editor/PictureEditorDialog.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"PictureEditorDialog.js","sourceRoot":"","sources":["../../src/editor/PictureEditorDialog.tsx"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { forwardRef, useEffect, useRef, useState, useImperativeHandle, } from "react";
3
- import { InputTextarea } from "primereact/inputtextarea";
4
- import { classNames } from "primereact/utils";
3
+ import { Textarea } from "../components/ui/textarea";
4
+ import { cn } from "../lib/utils";
5
5
  import { SimpleIconButton } from "./ui/SimpleIconButton";
6
6
  import { Trash2, Send } from "lucide-react";
7
7
  import { TerminalService } from "primereact/terminalservice";
@@ -143,10 +143,10 @@ export const Terminal = forwardRef((props, ref) => {
143
143
  }
144
144
  },
145
145
  }));
146
- return (_jsxs("div", { className: classNames("flex h-full flex-col", className), children: [_jsxs("div", { className: "flex items-center justify-between gap-2 border-b border-gray-200 p-1 text-xs", children: [_jsx(SimpleIconButton, { onClick: () => {
146
+ return (_jsxs("div", { className: cn("flex h-full flex-col", className), children: [_jsxs("div", { className: "flex items-center justify-between gap-2 border-b border-gray-200 p-1 text-xs", children: [_jsx(SimpleIconButton, { onClick: () => {
147
147
  setMessages([]);
148
148
  onReset();
149
- }, icon: _jsx(Trash2, { size: 16, strokeWidth: 1 }), label: "Clear terminal" }), toolbar] }), _jsx("div", { className: "flex-1 overflow-x-hidden overflow-y-auto p-2", children: _jsxs("div", { className: "flex flex-col items-end gap-3 select-text", children: [messages.map((m, i) => (_jsx("div", { className: getClasses(m), children: m.text }, i))), response != null && (_jsxs("div", { className: responseBoxClasses, children: [_jsx("div", { className: "flex text-xs", children: response }), _jsxs("div", { className: "mr-4 flex items-center justify-end space-x-1 text-xs text-gray-400", children: [_jsx("div", { className: "h-1 w-1 animate-bounce rounded-full bg-gray-400 [animation-delay:-0.3s]" }), _jsx("div", { className: "h-1 w-1 animate-bounce rounded-full bg-gray-400 [animation-delay:-0.15s]" }), _jsx("div", { className: "h-1 w-1 animate-bounce rounded-full bg-gray-400" })] })] })), _jsx("div", { ref: bottomRef })] }) }), _jsxs("div", { className: "flex flex-col p-1 pb-0", children: [infobar, _jsx(InputTextarea, { ref: inputRef, value: prompt, className: "flex-1 resize-none self-stretch rounded border border-gray-300 text-xs", onKeyDown: handleKeyPress, onChange: (e) => {
149
+ }, icon: _jsx(Trash2, { size: 16, strokeWidth: 1 }), label: "Clear terminal" }), toolbar] }), _jsx("div", { className: "flex-1 overflow-x-hidden overflow-y-auto p-2", children: _jsxs("div", { className: "flex flex-col items-end gap-3 select-text", children: [messages.map((m, i) => (_jsx("div", { className: getClasses(m), children: m.text }, i))), response != null && (_jsxs("div", { className: responseBoxClasses, children: [_jsx("div", { className: "flex text-xs", children: response }), _jsxs("div", { className: "mr-4 flex items-center justify-end space-x-1 text-xs text-gray-400", children: [_jsx("div", { className: "h-1 w-1 animate-bounce rounded-full bg-gray-400 [animation-delay:-0.3s]" }), _jsx("div", { className: "h-1 w-1 animate-bounce rounded-full bg-gray-400 [animation-delay:-0.15s]" }), _jsx("div", { className: "h-1 w-1 animate-bounce rounded-full bg-gray-400" })] })] })), _jsx("div", { ref: bottomRef })] }) }), _jsxs("div", { className: "flex flex-col p-1 pb-0", children: [infobar, _jsx(Textarea, { ref: inputRef, value: prompt, className: "flex-1 resize-none self-stretch rounded border border-gray-300 text-xs", onKeyDown: handleKeyPress, onChange: (e) => {
150
150
  setPrompt(e.target.value);
151
151
  // Reset history index when user starts typing
152
152
  if (currentHistoryIndex !== -1) {
@@ -1 +1 @@
1
- {"version":3,"file":"Terminal.js","sourceRoot":"","sources":["../../src/editor/Terminal.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Terminal.js","sourceRoot":"","sources":["../../src/editor/Terminal.tsx"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import React, { useEffect, useState, useRef, useCallback, useLayoutEffect, } from "react";
3
- import { Send, AlertCircle, Loader2, User, Wand2, Square } from "lucide-react";
3
+ import { Send, AlertCircle, Loader2, User, Wand2, Square, Mic, MicOff, } from "lucide-react";
4
4
  import { DancingDots } from "./DancingDots";
5
5
  import { getAgent, startAgent, connectToAgentStream, updateAgentMetadata, updateAgentSettings, updateAgentCostLimit, } from "../services/agentService";
6
6
  import { useEditContext, useFieldsEditContext } from "../client/editContext";
@@ -115,6 +115,12 @@ export function AgentTerminal({ agentStub, initialMetadata, profiles, }) {
115
115
  const [isConnecting, setIsConnecting] = useState(false);
116
116
  const [isSubmitting, setIsSubmitting] = useState(false);
117
117
  const [agentMetadata, setAgentMetadata] = useState(null);
118
+ // Voice input state
119
+ const [isVoiceSupported, setIsVoiceSupported] = useState(false);
120
+ const [isListening, setIsListening] = useState(false);
121
+ const recognitionRef = useRef(null);
122
+ const prevPlaceholderRef = useRef(null);
123
+ const [voiceError, setVoiceError] = useState(null);
118
124
  const [isWaitingForResponse, setIsWaitingForResponse] = useState(false);
119
125
  const isWaitingRef = useRef(false);
120
126
  useEffect(() => {
@@ -161,7 +167,7 @@ export function AgentTerminal({ agentStub, initialMetadata, profiles, }) {
161
167
  const [showPredefined, setShowPredefined] = useState(false);
162
168
  const [activeProfile, setActiveProfile] = useState(undefined);
163
169
  const [selectedModelId, setSelectedModelId] = useState(undefined);
164
- const [mode, setMode] = useState("agent");
170
+ const [mode, setMode] = useState("restricted");
165
171
  // Read deterministic flags from query string once
166
172
  const deterministicFlags = React.useMemo(() => {
167
173
  try {
@@ -221,6 +227,127 @@ export function AgentTerminal({ agentStub, initialMetadata, profiles, }) {
221
227
  // Jump precisely to the bottom to avoid ending slightly above due to smooth scrolling animations
222
228
  container.scrollTop = container.scrollHeight;
223
229
  }, []);
230
+ // Detect speech recognition support (client-only)
231
+ useEffect(() => {
232
+ try {
233
+ if (typeof window === "undefined")
234
+ return;
235
+ const SR = window.SpeechRecognition ||
236
+ window.webkitSpeechRecognition;
237
+ setIsVoiceSupported(!!SR);
238
+ }
239
+ catch {
240
+ setIsVoiceSupported(false);
241
+ }
242
+ }, []);
243
+ // Start voice recognition
244
+ const startVoice = useCallback(() => {
245
+ try {
246
+ if (isListening)
247
+ return;
248
+ if (typeof window === "undefined")
249
+ return;
250
+ const SR = window.SpeechRecognition ||
251
+ window.webkitSpeechRecognition;
252
+ if (!SR) {
253
+ setVoiceError("Voice input is not supported in this browser");
254
+ return;
255
+ }
256
+ const r = new SR();
257
+ r.lang = editContext?.currentItemDescriptor?.language || "en-US";
258
+ r.continuous = true;
259
+ r.interimResults = true;
260
+ r.onstart = () => {
261
+ setIsListening(true);
262
+ prevPlaceholderRef.current = inputPlaceholder;
263
+ setVoiceError(null);
264
+ setInputPlaceholder("Listening...");
265
+ };
266
+ r.onresult = (event) => {
267
+ let finalText = "";
268
+ let interimText = "";
269
+ for (let i = event.resultIndex; i < event.results.length; i++) {
270
+ const res = event.results[i];
271
+ if (res.isFinal)
272
+ finalText += res[0]?.transcript || "";
273
+ else
274
+ interimText += res[0]?.transcript || "";
275
+ }
276
+ if (interimText) {
277
+ setInputPlaceholder(`Listening... ${interimText.trim()}`);
278
+ }
279
+ else {
280
+ setInputPlaceholder("Listening...");
281
+ }
282
+ if (finalText && finalText.trim()) {
283
+ setPrompt((prev) => {
284
+ const prefix = prev && !prev.endsWith(" ") ? prev + " " : prev;
285
+ return (prefix || "") + finalText.trim() + " ";
286
+ });
287
+ if (textareaRef.current) {
288
+ try {
289
+ const v = textareaRef.current.value || "";
290
+ textareaRef.current.selectionStart = v.length;
291
+ textareaRef.current.selectionEnd = v.length;
292
+ }
293
+ catch { }
294
+ }
295
+ }
296
+ };
297
+ r.onerror = (e) => {
298
+ console.warn("Speech recognition error", e);
299
+ setVoiceError(e?.error || "Voice input error");
300
+ };
301
+ r.onend = () => {
302
+ setIsListening(false);
303
+ if (prevPlaceholderRef.current !== null) {
304
+ setInputPlaceholder(prevPlaceholderRef.current);
305
+ prevPlaceholderRef.current = null;
306
+ }
307
+ recognitionRef.current = null;
308
+ };
309
+ recognitionRef.current = r;
310
+ r.start();
311
+ }
312
+ catch (e) {
313
+ console.error("Failed to start voice input", e);
314
+ setVoiceError("Failed to start voice input");
315
+ }
316
+ }, [
317
+ editContext?.currentItemDescriptor?.language,
318
+ inputPlaceholder,
319
+ isListening,
320
+ ]);
321
+ const stopVoice = useCallback(() => {
322
+ try {
323
+ const r = recognitionRef.current;
324
+ if (r)
325
+ r.stop();
326
+ }
327
+ catch { }
328
+ }, []);
329
+ const toggleVoice = useCallback(() => {
330
+ if (isListening)
331
+ stopVoice();
332
+ else
333
+ startVoice();
334
+ }, [isListening, startVoice, stopVoice]);
335
+ // Cleanup any active recognition on unmount
336
+ useEffect(() => {
337
+ return () => {
338
+ try {
339
+ const r = recognitionRef.current;
340
+ if (r) {
341
+ r.onresult = null;
342
+ r.onerror = null;
343
+ r.onend = null;
344
+ r.stop();
345
+ }
346
+ }
347
+ catch { }
348
+ recognitionRef.current = null;
349
+ };
350
+ }, []);
224
351
  // Check if user is at the bottom of the scroll container
225
352
  const isAtBottom = useCallback(() => {
226
353
  const container = messagesContainerRef.current;
@@ -960,7 +1087,9 @@ export function AgentTerminal({ agentStub, initialMetadata, profiles, }) {
960
1087
  useEffect(() => {
961
1088
  try {
962
1089
  const metaMode = agentMetadata?.mode;
963
- if (metaMode === "agent" || metaMode === "ask") {
1090
+ if (metaMode === "agent" ||
1091
+ metaMode === "ask" ||
1092
+ metaMode === "restricted") {
964
1093
  setMode(metaMode);
965
1094
  return;
966
1095
  }
@@ -968,7 +1097,9 @@ export function AgentTerminal({ agentStub, initialMetadata, profiles, }) {
968
1097
  catch { }
969
1098
  try {
970
1099
  const serverMode = agent?.mode;
971
- if (serverMode === "agent" || serverMode === "ask") {
1100
+ if (serverMode === "agent" ||
1101
+ serverMode === "ask" ||
1102
+ serverMode === "restricted") {
972
1103
  setMode(serverMode);
973
1104
  }
974
1105
  }
@@ -1844,7 +1975,7 @@ export function AgentTerminal({ agentStub, initialMetadata, profiles, }) {
1844
1975
  catch (e2) {
1845
1976
  console.error("Failed to persist mode change", e2);
1846
1977
  }
1847
- }, title: "Mode", "aria-label": "Mode", "data-testid": "agent-mode-select", children: [_jsx("option", { value: "agent", children: "Agent" }), _jsx("option", { value: "ask", children: "Ask" })] }), profiles?.length > 0 && (_jsx("select", { className: "h-5 rounded border px-1.5 text-[10px] text-gray-500", value: activeProfile?.id || "", onChange: (e) => {
1978
+ }, title: "Mode", "aria-label": "Mode", "data-testid": "agent-mode-select", children: [_jsx("option", { value: "restricted", children: "Restricted" }), _jsx("option", { value: "agent", children: "Agent" }), _jsx("option", { value: "ask", children: "Ask" })] }), profiles?.length > 0 && (_jsx("select", { className: "h-5 rounded border px-1.5 text-[10px] text-gray-500", value: activeProfile?.id || "", onChange: (e) => {
1848
1979
  const p = profiles.find((x) => x.id === e.target.value);
1849
1980
  if (p)
1850
1981
  setActiveProfile(p);
@@ -1875,6 +2006,6 @@ export function AgentTerminal({ agentStub, initialMetadata, profiles, }) {
1875
2006
  setShowPredefined(false);
1876
2007
  if (textareaRef.current)
1877
2008
  textareaRef.current.focus();
1878
- }, children: p.title }, index))) }) })] })) : null, _jsx(AgentCostDisplay, { totalTokens: totalTokens })] }), _jsx(Button, { onClick: isExecuting ? handleStop : handleSubmit, disabled: !isExecuting && !prompt.trim(), size: "sm", className: "h-5.5 w-5.5 cursor-pointer self-end rounded-full", title: isExecuting ? "Stop" : "Send", "aria-label": isExecuting ? "Stop" : "Send", children: isExecuting ? (_jsx(Square, { className: "size-3", strokeWidth: 1 })) : (_jsx(Send, { className: "size-3", strokeWidth: 1 })) })] })] })] }));
2009
+ }, children: p.title }, index))) }) })] })) : null] }), _jsxs("div", { className: "flex items-center gap-1 self-end", children: [isVoiceSupported ? (_jsx(Button, { onClick: toggleVoice, size: "sm", className: "h-5.5 w-5.5 cursor-pointer rounded-full", title: isListening ? "Stop voice input" : "Start voice input", "aria-label": isListening ? "Stop voice input" : "Start voice input", "aria-pressed": isListening, children: isListening ? (_jsx(MicOff, { className: "size-3", strokeWidth: 1 })) : (_jsx(Mic, { className: "size-3", strokeWidth: 1 })) })) : null, _jsx(Button, { onClick: isExecuting ? handleStop : handleSubmit, disabled: !isExecuting && !prompt.trim(), size: "sm", className: "h-5.5 w-5.5 cursor-pointer rounded-full", title: isExecuting ? "Stop" : "Send", "aria-label": isExecuting ? "Stop" : "Send", "data-testid": "agent-send-stop-button", "data-executing": isExecuting ? "true" : "false", children: isExecuting ? (_jsx(Square, { className: "size-3", strokeWidth: 1 })) : (_jsx(Send, { className: "size-3", strokeWidth: 1 })) })] })] }), _jsx("div", { className: "mt-1 flex justify-start", children: _jsx(AgentCostDisplay, { totalTokens: totalTokens }) })] })] }));
1879
2010
  }
1880
2011
  //# sourceMappingURL=AgentTerminal.js.map