@memori.ai/memori-react 8.4.2 → 8.5.1
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/CHANGELOG.md +15 -0
- package/dist/components/MemoriArtifactSystem/components/ArtifactActions/ArtifactActions.css +0 -4
- package/dist/components/MemoriArtifactSystem/components/ArtifactActions/ArtifactActions.d.ts +1 -0
- package/dist/components/MemoriArtifactSystem/components/ArtifactActions/ArtifactActions.js +3 -3
- package/dist/components/MemoriArtifactSystem/components/ArtifactActions/ArtifactActions.js.map +1 -1
- package/dist/components/MemoriArtifactSystem/components/ArtifactActions/components/CopyButtonWithDropdown.js +110 -8
- package/dist/components/MemoriArtifactSystem/components/ArtifactActions/components/CopyButtonWithDropdown.js.map +1 -1
- package/dist/components/MemoriArtifactSystem/components/ArtifactActions/components/CopyMenuItem.js +3 -0
- package/dist/components/MemoriArtifactSystem/components/ArtifactActions/components/CopyMenuItem.js.map +1 -1
- package/dist/components/MemoriArtifactSystem/components/ArtifactActions/hooks/useCopyArtifact.js +42 -38
- package/dist/components/MemoriArtifactSystem/components/ArtifactActions/hooks/useCopyArtifact.js.map +1 -1
- package/dist/components/MemoriArtifactSystem/components/ArtifactActions/styles.css +1 -2
- package/dist/components/MemoriArtifactSystem/components/ArtifactActions/types.d.ts +2 -1
- package/dist/components/MemoriArtifactSystem/components/ArtifactDrawer/ArtifactDrawer.css +428 -15
- package/dist/components/MemoriArtifactSystem/components/ArtifactDrawer/ArtifactDrawer.js +46 -8
- package/dist/components/MemoriArtifactSystem/components/ArtifactDrawer/ArtifactDrawer.js.map +1 -1
- package/dist/components/MemoriArtifactSystem/components/ArtifactDrawer/components/TabSwitch.css +150 -0
- package/dist/components/MemoriArtifactSystem/components/ArtifactDrawer/components/TabSwitch.d.ts +9 -0
- package/dist/components/MemoriArtifactSystem/components/ArtifactDrawer/components/TabSwitch.js +35 -0
- package/dist/components/MemoriArtifactSystem/components/ArtifactDrawer/components/TabSwitch.js.map +1 -0
- package/dist/components/MemoriArtifactSystem/components/ArtifactHandler/ArtifactHandler.css +2 -0
- package/dist/components/MemoriArtifactSystem/components/ArtifactPreview/ArtifactPreview.css +1 -1
- package/dist/components/MemoriArtifactSystem/components/ArtifactPreview/ArtifactPreview.d.ts +2 -1
- package/dist/components/MemoriArtifactSystem/components/ArtifactPreview/ArtifactPreview.js +15 -26
- package/dist/components/MemoriArtifactSystem/components/ArtifactPreview/ArtifactPreview.js.map +1 -1
- package/dist/components/MemoriArtifactSystem/context/ArtifactContext.js +1 -5
- package/dist/components/MemoriArtifactSystem/context/ArtifactContext.js.map +1 -1
- package/dist/components/icons/Close.d.ts +2 -1
- package/dist/components/icons/Close.js +1 -1
- package/dist/components/icons/Close.js.map +1 -1
- package/dist/components/icons/MenuVertical.d.ts +7 -0
- package/dist/components/icons/MenuVertical.js +6 -0
- package/dist/components/icons/MenuVertical.js.map +1 -0
- package/dist/components/layouts/Chat.js +1 -1
- package/dist/components/layouts/Chat.js.map +1 -1
- package/dist/components/layouts/FullPage.js +1 -1
- package/dist/components/layouts/FullPage.js.map +1 -1
- package/dist/components/layouts/ZoomedFullBody.js +1 -1
- package/dist/components/layouts/ZoomedFullBody.js.map +1 -1
- package/dist/components/layouts/chat.css +67 -80
- package/dist/components/ui/Drawer.d.ts +1 -0
- package/dist/components/ui/Drawer.js +2 -2
- package/dist/components/ui/Drawer.js.map +1 -1
- package/dist/locales/de.json +37 -1
- package/dist/locales/en.json +37 -1
- package/dist/locales/es.json +37 -1
- package/dist/locales/fr.json +37 -1
- package/dist/locales/it.json +37 -1
- package/dist/styles.css +1 -0
- package/esm/components/MemoriArtifactSystem/components/ArtifactActions/ArtifactActions.css +0 -4
- package/esm/components/MemoriArtifactSystem/components/ArtifactActions/ArtifactActions.d.ts +1 -0
- package/esm/components/MemoriArtifactSystem/components/ArtifactActions/ArtifactActions.js +3 -3
- package/esm/components/MemoriArtifactSystem/components/ArtifactActions/ArtifactActions.js.map +1 -1
- package/esm/components/MemoriArtifactSystem/components/ArtifactActions/components/CopyButtonWithDropdown.js +110 -8
- package/esm/components/MemoriArtifactSystem/components/ArtifactActions/components/CopyButtonWithDropdown.js.map +1 -1
- package/esm/components/MemoriArtifactSystem/components/ArtifactActions/components/CopyMenuItem.js +3 -0
- package/esm/components/MemoriArtifactSystem/components/ArtifactActions/components/CopyMenuItem.js.map +1 -1
- package/esm/components/MemoriArtifactSystem/components/ArtifactActions/hooks/useCopyArtifact.js +42 -38
- package/esm/components/MemoriArtifactSystem/components/ArtifactActions/hooks/useCopyArtifact.js.map +1 -1
- package/esm/components/MemoriArtifactSystem/components/ArtifactActions/styles.css +1 -2
- package/esm/components/MemoriArtifactSystem/components/ArtifactActions/types.d.ts +2 -1
- package/esm/components/MemoriArtifactSystem/components/ArtifactDrawer/ArtifactDrawer.css +428 -15
- package/esm/components/MemoriArtifactSystem/components/ArtifactDrawer/ArtifactDrawer.js +47 -9
- package/esm/components/MemoriArtifactSystem/components/ArtifactDrawer/ArtifactDrawer.js.map +1 -1
- package/esm/components/MemoriArtifactSystem/components/ArtifactDrawer/components/TabSwitch.css +150 -0
- package/esm/components/MemoriArtifactSystem/components/ArtifactDrawer/components/TabSwitch.d.ts +9 -0
- package/esm/components/MemoriArtifactSystem/components/ArtifactDrawer/components/TabSwitch.js +32 -0
- package/esm/components/MemoriArtifactSystem/components/ArtifactDrawer/components/TabSwitch.js.map +1 -0
- package/esm/components/MemoriArtifactSystem/components/ArtifactHandler/ArtifactHandler.css +2 -0
- package/esm/components/MemoriArtifactSystem/components/ArtifactPreview/ArtifactPreview.css +1 -1
- package/esm/components/MemoriArtifactSystem/components/ArtifactPreview/ArtifactPreview.d.ts +2 -1
- package/esm/components/MemoriArtifactSystem/components/ArtifactPreview/ArtifactPreview.js +16 -27
- package/esm/components/MemoriArtifactSystem/components/ArtifactPreview/ArtifactPreview.js.map +1 -1
- package/esm/components/MemoriArtifactSystem/context/ArtifactContext.js +1 -5
- package/esm/components/MemoriArtifactSystem/context/ArtifactContext.js.map +1 -1
- package/esm/components/icons/Close.d.ts +2 -1
- package/esm/components/icons/Close.js +1 -1
- package/esm/components/icons/Close.js.map +1 -1
- package/esm/components/icons/MenuVertical.d.ts +7 -0
- package/esm/components/icons/MenuVertical.js +4 -0
- package/esm/components/icons/MenuVertical.js.map +1 -0
- package/esm/components/layouts/Chat.js +1 -1
- package/esm/components/layouts/Chat.js.map +1 -1
- package/esm/components/layouts/FullPage.js +1 -1
- package/esm/components/layouts/FullPage.js.map +1 -1
- package/esm/components/layouts/ZoomedFullBody.js +1 -1
- package/esm/components/layouts/ZoomedFullBody.js.map +1 -1
- package/esm/components/layouts/chat.css +67 -80
- package/esm/components/ui/Drawer.d.ts +1 -0
- package/esm/components/ui/Drawer.js +2 -2
- package/esm/components/ui/Drawer.js.map +1 -1
- package/esm/locales/de.json +37 -1
- package/esm/locales/en.json +37 -1
- package/esm/locales/es.json +37 -1
- package/esm/locales/fr.json +37 -1
- package/esm/locales/it.json +37 -1
- package/esm/styles.css +1 -0
- package/package.json +1 -1
- package/src/components/FilePreview/__snapshots__/FilePreview.test.tsx.snap +9 -0
- package/src/components/MemoriArtifactSystem/components/ArtifactActions/ArtifactActions.css +0 -4
- package/src/components/MemoriArtifactSystem/components/ArtifactActions/ArtifactActions.tsx +7 -5
- package/src/components/MemoriArtifactSystem/components/ArtifactActions/components/CopyButtonWithDropdown.tsx +148 -12
- package/src/components/MemoriArtifactSystem/components/ArtifactActions/components/CopyMenuItem.tsx +3 -0
- package/src/components/MemoriArtifactSystem/components/ArtifactActions/hooks/useCopyArtifact.ts +54 -47
- package/src/components/MemoriArtifactSystem/components/ArtifactActions/styles.css +1 -2
- package/src/components/MemoriArtifactSystem/components/ArtifactActions/types.ts +2 -1
- package/src/components/MemoriArtifactSystem/components/ArtifactDrawer/ArtifactDrawer.css +428 -15
- package/src/components/MemoriArtifactSystem/components/ArtifactDrawer/ArtifactDrawer.tsx +239 -42
- package/src/components/MemoriArtifactSystem/components/ArtifactDrawer/components/TabSwitch.css +150 -0
- package/src/components/MemoriArtifactSystem/components/ArtifactDrawer/components/TabSwitch.tsx +79 -0
- package/src/components/MemoriArtifactSystem/components/ArtifactHandler/ArtifactHandler.css +2 -0
- package/src/components/MemoriArtifactSystem/components/ArtifactPreview/ArtifactPreview.css +1 -1
- package/src/components/MemoriArtifactSystem/components/ArtifactPreview/ArtifactPreview.tsx +2 -41
- package/src/components/MemoriArtifactSystem/context/ArtifactContext.tsx +1 -5
- package/src/components/icons/Close.tsx +8 -1
- package/src/components/icons/MenuVertical.tsx +29 -0
- package/src/components/layouts/Chat.tsx +3 -1
- package/src/components/layouts/FullPage.tsx +7 -2
- package/src/components/layouts/ZoomedFullBody.tsx +8 -3
- package/src/components/layouts/__snapshots__/Chat.test.tsx.snap +1 -1
- package/src/components/layouts/__snapshots__/FullPage.test.tsx.snap +112 -104
- package/src/components/layouts/__snapshots__/HiddenChat.test.tsx.snap +3 -0
- package/src/components/layouts/__snapshots__/ZoomedFullBody.test.tsx.snap +56 -52
- package/src/components/layouts/chat.css +67 -80
- package/src/components/ui/Drawer.tsx +3 -1
- package/src/components/ui/__snapshots__/Alert.test.tsx.snap +3 -0
- package/src/locales/de.json +37 -1
- package/src/locales/en.json +37 -1
- package/src/locales/es.json +37 -1
- package/src/locales/fr.json +37 -1
- package/src/locales/it.json +38 -1
- package/src/styles.css +1 -0
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,20 @@
|
|
|
1
1
|
|
|
2
2
|
|
|
3
|
+
## [8.5.1](https://github.com/memori-ai/memori-react/compare/v8.5.0...v8.5.1) (2025-09-14)
|
|
4
|
+
|
|
5
|
+
## [8.5.0](https://github.com/memori-ai/memori-react/compare/v8.4.2...v8.5.0) (2025-09-13)
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
### Features
|
|
9
|
+
|
|
10
|
+
* add preventBackdropClose prop to Drawer and adjust ArtifactDrawer styles ([89969f8](https://github.com/memori-ai/memori-react/commit/89969f8ef3679b5289a303dc55f3da99a45ecbd0))
|
|
11
|
+
* enhance ArtifactActions and ArtifactDrawer with mobile support ([541d979](https://github.com/memori-ai/memori-react/commit/541d979f4569c4b5cac8b00481d486dc41a3c72e))
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
### Changes
|
|
15
|
+
|
|
16
|
+
* update snapshots for layout components ([efa70f4](https://github.com/memori-ai/memori-react/commit/efa70f44d84905b164a344d18ba37a748cad797a))
|
|
17
|
+
|
|
3
18
|
## [8.4.2](https://github.com/memori-ai/memori-react/compare/v8.4.1...v8.4.2) (2025-09-12)
|
|
4
19
|
|
|
5
20
|
|
|
@@ -10,8 +10,8 @@ const Link_1 = tslib_1.__importDefault(require("../../../icons/Link"));
|
|
|
10
10
|
const Print_1 = tslib_1.__importDefault(require("../../../icons/Print"));
|
|
11
11
|
const _1 = require("./");
|
|
12
12
|
const react_2 = require("@headlessui/react");
|
|
13
|
-
const
|
|
14
|
-
const ArtifactActions = ({ artifact, onCopy, onDownload, onPrint, onOpenExternal, loading = false, }) => {
|
|
13
|
+
const MenuVertical_1 = tslib_1.__importDefault(require("../../../icons/MenuVertical"));
|
|
14
|
+
const ArtifactActions = ({ artifact, onCopy, onDownload, onPrint, onOpenExternal, loading = false, isMobile = false, }) => {
|
|
15
15
|
const { t } = (0, react_i18next_1.useTranslation)();
|
|
16
16
|
const getFileExtension = (0, react_1.useCallback)((mimeType) => {
|
|
17
17
|
const extensions = {
|
|
@@ -127,7 +127,7 @@ const ArtifactActions = ({ artifact, onCopy, onDownload, onPrint, onOpenExternal
|
|
|
127
127
|
console.error('External open failed:', error);
|
|
128
128
|
}
|
|
129
129
|
}, [artifact, getMimeTypeString, onOpenExternal]);
|
|
130
|
-
return ((0, jsx_runtime_1.jsx)("div", { className: "memori-artifact-actions", children: (0, jsx_runtime_1.jsxs)("div", { className: "memori-artifact-actions-row", children: [(0, jsx_runtime_1.jsx)(_1.CopyButtonWithDropdown, { artifact: artifact, onCopy: onCopy, onDownload: onDownload, onPrint: onPrint, loading: loading, className: "memori-artifact-action-btn" }), (0, jsx_runtime_1.jsxs)(react_2.Menu, { as: "div", className: "memori-copy-menu-wrapper", children: [(0, jsx_runtime_1.jsx)(react_2.Menu.Button, { as: "div", className: "memori-copy-button-trigger", children: (0, jsx_runtime_1.jsx)(Button_1.default, { disabled: loading, className: (0, classnames_1.default)('memori-button', 'memori-button--
|
|
130
|
+
return ((0, jsx_runtime_1.jsx)("div", { className: "memori-artifact-actions", children: (0, jsx_runtime_1.jsxs)("div", { className: "memori-artifact-actions-row", children: [(0, jsx_runtime_1.jsx)(_1.CopyButtonWithDropdown, { artifact: artifact, onCopy: onCopy, onDownload: onDownload, onPrint: onPrint, loading: loading, className: "memori-artifact-action-btn" }), isMobile && (0, jsx_runtime_1.jsxs)(react_2.Menu, { as: "div", className: "memori-copy-menu-wrapper", children: [(0, jsx_runtime_1.jsx)(react_2.Menu.Button, { as: "div", className: "memori-copy-button-trigger", children: (0, jsx_runtime_1.jsx)(Button_1.default, { disabled: loading, className: (0, classnames_1.default)('memori-button', 'memori-button--more-options', 'memori-button--icon-only'), ghost: true, title: "More copy options", children: (0, jsx_runtime_1.jsx)(MenuVertical_1.default, { className: "memori-artifact-action-icon" }) }) }), (0, jsx_runtime_1.jsx)(react_2.Transition, { as: react_1.default.Fragment, enter: "memori-copy-dropdown-enter", enterFrom: "memori-copy-dropdown-enter-from", enterTo: "memori-copy-dropdown-enter-to", leave: "memori-copy-dropdown-leave", leaveFrom: "memori-copy-dropdown-leave-from", leaveTo: "memori-copy-dropdown-leave-to", children: (0, jsx_runtime_1.jsx)(react_2.Menu.Items, { className: "memori-copy-dropdown", style: { minWidth: '200px' }, children: (0, jsx_runtime_1.jsxs)("div", { className: "memori-copy-dropdown-list", children: [(0, jsx_runtime_1.jsx)(Button_1.default, { onClick: handlePrint, disabled: loading, className: "memori-artifact-action-btn", ghost: true, icon: (0, jsx_runtime_1.jsx)(Print_1.default, { className: "memori-artifact-action-icon" }), title: t('artifact.print') || 'Print', children: (0, jsx_runtime_1.jsx)("span", { className: "memori-artifact-action-text", children: t('artifact.print') || 'Print' }) }), (0, jsx_runtime_1.jsx)(Button_1.default, { onClick: handleOpenExternal, disabled: loading, className: "memori-artifact-action-btn", ghost: true, icon: (0, jsx_runtime_1.jsx)(Link_1.default, { className: "memori-artifact-action-icon" }), title: t('artifact.external') || 'External', children: (0, jsx_runtime_1.jsx)("span", { className: "memori-artifact-action-text", children: t('artifact.external') || 'External' }) })] }) }) })] })] }) }));
|
|
131
131
|
};
|
|
132
132
|
exports.default = ArtifactActions;
|
|
133
133
|
//# sourceMappingURL=ArtifactActions.js.map
|
package/dist/components/MemoriArtifactSystem/components/ArtifactActions/ArtifactActions.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ArtifactActions.js","sourceRoot":"","sources":["../../../../../src/components/MemoriArtifactSystem/components/ArtifactActions/ArtifactActions.tsx"],"names":[],"mappings":";;;;AAMA,uDAAqD;AACrD,iDAA+C;AAC/C,oEAA4B;AAC5B,wEAAwC;AAGxC,uEAAuC;AAGvC,yEAA6C;AAC7C,yBAA4C;AAC5C,6CAAqD;AACrD,
|
|
1
|
+
{"version":3,"file":"ArtifactActions.js","sourceRoot":"","sources":["../../../../../src/components/MemoriArtifactSystem/components/ArtifactActions/ArtifactActions.tsx"],"names":[],"mappings":"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"}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
const tslib_1 = require("tslib");
|
|
4
4
|
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
5
|
-
const react_1 = tslib_1.
|
|
5
|
+
const react_1 = tslib_1.__importStar(require("react"));
|
|
6
6
|
const react_2 = require("@headlessui/react");
|
|
7
7
|
const classnames_1 = tslib_1.__importDefault(require("classnames"));
|
|
8
8
|
const useCopyArtifact_1 = require("../hooks/useCopyArtifact");
|
|
@@ -12,25 +12,117 @@ const Copy_1 = tslib_1.__importDefault(require("../../../../icons/Copy"));
|
|
|
12
12
|
const ChevronDown_1 = tslib_1.__importDefault(require("../../../../icons/ChevronDown"));
|
|
13
13
|
const ThumbUp_1 = tslib_1.__importDefault(require("../../../../icons/ThumbUp"));
|
|
14
14
|
const Alert_1 = tslib_1.__importDefault(require("../../../../icons/Alert"));
|
|
15
|
-
const
|
|
15
|
+
const react_i18next_1 = require("react-i18next");
|
|
16
|
+
const CopyButtonWithDropdown = ({ artifact, onCopy, onDownload, onPrint, onOpenExternal, loading = false, className, disabled = false, }) => {
|
|
16
17
|
const { copyState, formats, handleCopy, handleCopyClick } = (0, useCopyArtifact_1.useCopyArtifact)(artifact, onCopy, onDownload, onPrint);
|
|
18
|
+
const { t } = (0, react_i18next_1.useTranslation)();
|
|
17
19
|
const handleFormatSelect = async (format) => {
|
|
18
20
|
await handleCopy(format);
|
|
19
21
|
};
|
|
22
|
+
const getMimeTypeString = (0, react_1.useCallback)((mimeType) => {
|
|
23
|
+
const mimeTypes = {
|
|
24
|
+
html: 'text/html',
|
|
25
|
+
json: 'application/json',
|
|
26
|
+
markdown: 'text/markdown',
|
|
27
|
+
css: 'text/css',
|
|
28
|
+
javascript: 'text/javascript',
|
|
29
|
+
typescript: 'text/typescript',
|
|
30
|
+
svg: 'image/svg+xml',
|
|
31
|
+
xml: 'text/xml',
|
|
32
|
+
text: 'text/plain',
|
|
33
|
+
python: 'text/x-python',
|
|
34
|
+
java: 'text/x-java',
|
|
35
|
+
cpp: 'text/x-c++',
|
|
36
|
+
csharp: 'text/x-csharp',
|
|
37
|
+
php: 'text/x-php',
|
|
38
|
+
ruby: 'text/x-ruby',
|
|
39
|
+
go: 'text/x-go',
|
|
40
|
+
rust: 'text/x-rust',
|
|
41
|
+
yaml: 'text/yaml',
|
|
42
|
+
sql: 'text/x-sql',
|
|
43
|
+
};
|
|
44
|
+
return mimeTypes[mimeType] || 'text/plain';
|
|
45
|
+
}, []);
|
|
20
46
|
const getButtonContent = () => {
|
|
21
47
|
if (copyState.success) {
|
|
22
|
-
return ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(ThumbUp_1.default, { className: "memori-copy-button-icon memori-copy-button-icon--success" }), (0, jsx_runtime_1.jsx)("span", { className: "memori-copy-button-text", children:
|
|
48
|
+
return ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(ThumbUp_1.default, { className: "memori-copy-button-icon memori-copy-button-icon--success" }), (0, jsx_runtime_1.jsx)("span", { className: "memori-copy-button-text", children: t('artifact.copied') || 'Copied!' })] }));
|
|
23
49
|
}
|
|
24
50
|
if (copyState.error) {
|
|
25
|
-
return ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(Alert_1.default, { className: "memori-copy-button-icon memori-copy-button-icon--error" }), (0, jsx_runtime_1.jsx)("span", { className: "memori-copy-button-text", children:
|
|
51
|
+
return ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(Alert_1.default, { className: "memori-copy-button-icon memori-copy-button-icon--error" }), (0, jsx_runtime_1.jsx)("span", { className: "memori-copy-button-text", children: t('artifact.error') || 'Error' })] }));
|
|
26
52
|
}
|
|
27
53
|
if (copyState.loading) {
|
|
28
54
|
return ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)("div", { className: "memori-copy-button-loading", children: (0, jsx_runtime_1.jsx)("div", { className: "memori-copy-button-spinner" }) }), (0, jsx_runtime_1.jsx)("span", { className: "memori-copy-button-text", children: copyState.activeFormat === 'pdf'
|
|
29
|
-
? 'Generating PDF...'
|
|
30
|
-
: 'Copying...' })] }));
|
|
55
|
+
? t('artifact.generatingPdf') || 'Generating PDF...'
|
|
56
|
+
: t('artifact.copying') || 'Copying...' })] }));
|
|
31
57
|
}
|
|
32
|
-
return ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(Copy_1.default, { className: "memori-copy-button-icon" }), (0, jsx_runtime_1.jsx)("span", { className: "memori-copy-button-text", children:
|
|
58
|
+
return ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(Copy_1.default, { className: "memori-copy-button-icon" }), (0, jsx_runtime_1.jsx)("span", { className: "memori-copy-button-text", children: t('artifact.copy') || 'Copy' })] }));
|
|
33
59
|
};
|
|
60
|
+
const handlePrint = (0, react_1.useCallback)(() => {
|
|
61
|
+
try {
|
|
62
|
+
const printWindow = window.open('', '_blank');
|
|
63
|
+
if (!printWindow) {
|
|
64
|
+
alert('Popup blocked! Please enable popups to print the artifact.');
|
|
65
|
+
return;
|
|
66
|
+
}
|
|
67
|
+
let printContent;
|
|
68
|
+
if (artifact.mimeType === 'html') {
|
|
69
|
+
printContent = artifact.content;
|
|
70
|
+
}
|
|
71
|
+
else {
|
|
72
|
+
printContent = `
|
|
73
|
+
<!DOCTYPE html>
|
|
74
|
+
<html>
|
|
75
|
+
<head>
|
|
76
|
+
<title>Artifact - ${artifact.mimeType.toUpperCase()}</title>
|
|
77
|
+
<style>
|
|
78
|
+
body {
|
|
79
|
+
font-family: 'Monaco', 'Menlo', 'Ubuntu Mono', monospace;
|
|
80
|
+
white-space: pre-wrap;
|
|
81
|
+
margin: 20px;
|
|
82
|
+
line-height: 1.4;
|
|
83
|
+
}
|
|
84
|
+
@media print {
|
|
85
|
+
body { margin: 0; }
|
|
86
|
+
}
|
|
87
|
+
</style>
|
|
88
|
+
</head>
|
|
89
|
+
<body>${artifact.content
|
|
90
|
+
.replace(/</g, '<')
|
|
91
|
+
.replace(/>/g, '>')}</body>
|
|
92
|
+
</html>
|
|
93
|
+
`;
|
|
94
|
+
}
|
|
95
|
+
printWindow.document.write(printContent);
|
|
96
|
+
printWindow.document.close();
|
|
97
|
+
setTimeout(() => {
|
|
98
|
+
printWindow.print();
|
|
99
|
+
printWindow.close();
|
|
100
|
+
}, 500);
|
|
101
|
+
onPrint === null || onPrint === void 0 ? void 0 : onPrint();
|
|
102
|
+
}
|
|
103
|
+
catch (error) {
|
|
104
|
+
console.error('Print failed:', error);
|
|
105
|
+
}
|
|
106
|
+
}, [artifact, onPrint]);
|
|
107
|
+
const handleOpenExternal = (0, react_1.useCallback)(() => {
|
|
108
|
+
try {
|
|
109
|
+
const mimeType = getMimeTypeString(artifact.mimeType);
|
|
110
|
+
const blob = new Blob([artifact.content], { type: mimeType });
|
|
111
|
+
const url = URL.createObjectURL(blob);
|
|
112
|
+
const externalWindow = window.open(url, '_blank');
|
|
113
|
+
if (!externalWindow) {
|
|
114
|
+
alert('Popup blocked! Please enable popups to open the artifact in a new window.');
|
|
115
|
+
return;
|
|
116
|
+
}
|
|
117
|
+
setTimeout(() => {
|
|
118
|
+
URL.revokeObjectURL(url);
|
|
119
|
+
}, 60000);
|
|
120
|
+
onOpenExternal === null || onOpenExternal === void 0 ? void 0 : onOpenExternal();
|
|
121
|
+
}
|
|
122
|
+
catch (error) {
|
|
123
|
+
console.error('External open failed:', error);
|
|
124
|
+
}
|
|
125
|
+
}, [artifact, getMimeTypeString, onOpenExternal]);
|
|
34
126
|
const getButtonTitle = () => {
|
|
35
127
|
if (copyState.success) {
|
|
36
128
|
return 'Copied successfully!';
|
|
@@ -52,7 +144,17 @@ const CopyButtonWithDropdown = ({ artifact, onCopy, onDownload, onPrint, loading
|
|
|
52
144
|
'memori-copy-button--success': copyState.success,
|
|
53
145
|
'memori-copy-button--error': copyState.error,
|
|
54
146
|
'memori-copy-button--loading': copyState.loading,
|
|
55
|
-
}, className), ghost: true, title: getButtonTitle(), children: getButtonContent() }), formats.length > 0 && ((0, jsx_runtime_1.jsx)(react_2.Menu, { as: "div", className: "memori-copy-menu-wrapper", children: () => ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(react_2.Menu.Button, { as: "div", className: "memori-copy-button-trigger", children: (0, jsx_runtime_1.jsx)(Button_1.default, { disabled: disabled || loading || copyState.loading, className: "memori-copy-button--dropdown", ghost: true, title: "More copy options", children: (0, jsx_runtime_1.jsx)(ChevronDown_1.default, { className: "memori-copy-button-chevron" }) }) }), (0, jsx_runtime_1.jsx)(react_2.Transition, { as: react_1.default.Fragment, enter: "memori-copy-dropdown-enter", enterFrom: "memori-copy-dropdown-enter-from", enterTo: "memori-copy-dropdown-enter-to", leave: "memori-copy-dropdown-leave", leaveFrom: "memori-copy-dropdown-leave-from", leaveTo: "memori-copy-dropdown-leave-to", children: (0, jsx_runtime_1.jsx)(react_2.Menu.Items, { className: "memori-copy-dropdown", children: (0, jsx_runtime_1.
|
|
147
|
+
}, className), ghost: true, title: getButtonTitle(), children: getButtonContent() }), formats.length > 0 && ((0, jsx_runtime_1.jsx)(react_2.Menu, { as: "div", className: "memori-copy-menu-wrapper", children: () => ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(react_2.Menu.Button, { as: "div", className: "memori-copy-button-trigger", children: (0, jsx_runtime_1.jsx)(Button_1.default, { disabled: disabled || loading || copyState.loading, className: "memori-copy-button--dropdown", ghost: true, title: "More copy options", children: (0, jsx_runtime_1.jsx)(ChevronDown_1.default, { className: "memori-copy-button-chevron" }) }) }), (0, jsx_runtime_1.jsx)(react_2.Transition, { as: react_1.default.Fragment, enter: "memori-copy-dropdown-enter", enterFrom: "memori-copy-dropdown-enter-from", enterTo: "memori-copy-dropdown-enter-to", leave: "memori-copy-dropdown-leave", leaveFrom: "memori-copy-dropdown-leave-from", leaveTo: "memori-copy-dropdown-leave-to", children: (0, jsx_runtime_1.jsx)(react_2.Menu.Items, { className: "memori-copy-dropdown", children: (0, jsx_runtime_1.jsx)("div", { className: "memori-copy-dropdown-content", children: (0, jsx_runtime_1.jsxs)("div", { className: "memori-copy-dropdown-list", children: [formats.map(format => ((0, jsx_runtime_1.jsx)(react_2.Menu.Item, { children: ({ active }) => ((0, jsx_runtime_1.jsx)(CopyMenuItem_1.default, { format: format, onClick: handleFormatSelect, loading: copyState.loading, active: active })) }, format.id))), (0, jsx_runtime_1.jsx)(CopyMenuItem_1.default, { format: {
|
|
148
|
+
id: 'external',
|
|
149
|
+
label: t('artifact.external') || 'External',
|
|
150
|
+
action: 'link',
|
|
151
|
+
mimeType: artifact.mimeType,
|
|
152
|
+
}, onClick: handleOpenExternal, loading: copyState.loading, active: false }), (0, jsx_runtime_1.jsx)(CopyMenuItem_1.default, { format: {
|
|
153
|
+
id: 'print',
|
|
154
|
+
label: t('artifact.print') || 'Print',
|
|
155
|
+
action: 'print',
|
|
156
|
+
mimeType: artifact.mimeType,
|
|
157
|
+
}, onClick: handlePrint, loading: copyState.loading, active: false })] }) }) }) })] })) }))] }) }));
|
|
56
158
|
};
|
|
57
159
|
exports.default = CopyButtonWithDropdown;
|
|
58
160
|
//# sourceMappingURL=CopyButtonWithDropdown.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CopyButtonWithDropdown.js","sourceRoot":"","sources":["../../../../../../src/components/MemoriArtifactSystem/components/ArtifactActions/components/CopyButtonWithDropdown.tsx"],"names":[],"mappings":";;;;AAKA,
|
|
1
|
+
{"version":3,"file":"CopyButtonWithDropdown.js","sourceRoot":"","sources":["../../../../../../src/components/MemoriArtifactSystem/components/ArtifactActions/components/CopyButtonWithDropdown.tsx"],"names":[],"mappings":"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"}
|
package/dist/components/MemoriArtifactSystem/components/ArtifactActions/components/CopyMenuItem.js
CHANGED
|
@@ -6,6 +6,7 @@ const classnames_1 = tslib_1.__importDefault(require("classnames"));
|
|
|
6
6
|
const Copy_1 = tslib_1.__importDefault(require("../../../../icons/Copy"));
|
|
7
7
|
const Download_1 = tslib_1.__importDefault(require("../../../../icons/Download"));
|
|
8
8
|
const Print_1 = tslib_1.__importDefault(require("../../../../icons/Print"));
|
|
9
|
+
const Link_1 = tslib_1.__importDefault(require("../../../../icons/Link"));
|
|
9
10
|
const CopyMenuItem = ({ format, onClick, loading = false, disabled = false, active = false, }) => {
|
|
10
11
|
const handleClick = () => {
|
|
11
12
|
if (!disabled && !loading) {
|
|
@@ -21,6 +22,8 @@ const CopyMenuItem = ({ format, onClick, loading = false, disabled = false, acti
|
|
|
21
22
|
return (0, jsx_runtime_1.jsx)(Download_1.default, { className: "memori-copy-menu-item-icon" });
|
|
22
23
|
case 'print':
|
|
23
24
|
return (0, jsx_runtime_1.jsx)(Print_1.default, { className: "memori-copy-menu-item-icon" });
|
|
25
|
+
case 'link':
|
|
26
|
+
return (0, jsx_runtime_1.jsx)(Link_1.default, { className: "memori-copy-menu-item-icon" });
|
|
24
27
|
default:
|
|
25
28
|
return (0, jsx_runtime_1.jsx)(Copy_1.default, { className: "memori-copy-menu-item-icon" });
|
|
26
29
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CopyMenuItem.js","sourceRoot":"","sources":["../../../../../../src/components/MemoriArtifactSystem/components/ArtifactActions/components/CopyMenuItem.tsx"],"names":[],"mappings":";;;;AAMA,oEAA4B;AAE5B,0EAA0C;AAC1C,kFAAkD;AAClD,4EAAgD;
|
|
1
|
+
{"version":3,"file":"CopyMenuItem.js","sourceRoot":"","sources":["../../../../../../src/components/MemoriArtifactSystem/components/ArtifactActions/components/CopyMenuItem.tsx"],"names":[],"mappings":";;;;AAMA,oEAA4B;AAE5B,0EAA0C;AAC1C,kFAAkD;AAClD,4EAAgD;AAChD,0EAA0C;AAE1C,MAAM,YAAY,GAAuD,CAAC,EACxE,MAAM,EACN,OAAO,EACP,OAAO,GAAG,KAAK,EACf,QAAQ,GAAG,KAAK,EAChB,MAAM,GAAG,KAAK,GACf,EAAE,EAAE;IACH,MAAM,WAAW,GAAG,GAAG,EAAE;QACvB,IAAI,CAAC,QAAQ,IAAI,CAAC,OAAO,EAAE;YACzB,OAAO,CAAC,MAAM,CAAC,CAAC;SACjB;IACH,CAAC,CAAC;IAEF,MAAM,OAAO,GAAG,GAAG,EAAE;QACnB,IAAI,OAAO,EAAE;YACX,OAAO,CACL,gCAAK,SAAS,EAAC,+BAA+B,YAC5C,gCAAK,SAAS,EAAC,+BAA+B,GAAG,GAC7C,CACP,CAAC;SACH;QAED,QAAQ,MAAM,CAAC,MAAM,EAAE;YACrB,KAAK,KAAK;gBACR,OAAO,uBAAC,kBAAQ,IAAC,SAAS,EAAC,4BAA4B,GAAG,CAAC;YAC7D,KAAK,OAAO;gBACV,OAAO,uBAAC,eAAS,IAAC,SAAS,EAAC,4BAA4B,GAAG,CAAC;YAC9D,KAAK,MAAM;gBACT,OAAO,uBAAC,cAAI,IAAC,SAAS,EAAC,4BAA4B,GAAG,CAAC;YACzD;gBACE,OAAO,uBAAC,cAAI,IAAC,SAAS,EAAC,4BAA4B,GAAG,CAAC;SAC1D;IACH,CAAC,CAAC;IAEF,OAAO,CACL,mCACE,IAAI,EAAC,QAAQ,EACb,SAAS,EAAE,IAAA,oBAAE,EAAC,uBAAuB,EAAE;YACrC,gCAAgC,EAAE,OAAO;YACzC,iCAAiC,EAAE,QAAQ;YAC3C,4BAA4B,EAAE,MAAM,CAAC,MAAM,KAAK,KAAK;YACrD,8BAA8B,EAAE,MAAM,CAAC,MAAM,KAAK,OAAO;YACzD,+BAA+B,EAAE,MAAM;SACxC,CAAC,EACF,OAAO,EAAE,WAAW,EACpB,QAAQ,EAAE,QAAQ,IAAI,OAAO,EAC7B,KAAK,EAAE,MAAM,CAAC,WAAW,YAEzB,iCAAK,SAAS,EAAC,+BAA+B,aAC5C,gCAAK,SAAS,EAAC,oCAAoC,YAChD,OAAO,EAAE,GACN,EACN,iCAAK,SAAS,EAAC,4BAA4B,aACzC,gCAAK,SAAS,EAAC,6BAA6B,YACzC,MAAM,CAAC,KAAK,GACT,EACL,MAAM,CAAC,WAAW,IAAI,CACrB,gCAAK,SAAS,EAAC,mCAAmC,YAC/C,MAAM,CAAC,WAAW,GACf,CACP,IACG,EACL,MAAM,CAAC,OAAO,IAAI,CACjB,gCAAK,SAAS,EAAC,uCAAuC,YACpD,iCAAM,SAAS,EAAC,mCAAmC,oBAAW,GAC1D,CACP,IACG,GACC,CACV,CAAC;AACJ,CAAC,CAAC;AAEF,kBAAe,YAAY,CAAC"}
|
package/dist/components/MemoriArtifactSystem/components/ArtifactActions/hooks/useCopyArtifact.js
CHANGED
|
@@ -2,8 +2,10 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.useCopyArtifact = void 0;
|
|
4
4
|
const react_1 = require("react");
|
|
5
|
+
const react_i18next_1 = require("react-i18next");
|
|
5
6
|
const PDFExporter_1 = require("../utils/PDFExporter");
|
|
6
7
|
const useCopyArtifact = (artifact, onCopy, onDownload, onPrint) => {
|
|
8
|
+
const { t } = (0, react_i18next_1.useTranslation)();
|
|
7
9
|
const [copyState, setCopyState] = (0, react_1.useState)({
|
|
8
10
|
isOpen: false,
|
|
9
11
|
loading: false,
|
|
@@ -17,14 +19,14 @@ const useCopyArtifact = (artifact, onCopy, onDownload, onPrint) => {
|
|
|
17
19
|
case 'markdown':
|
|
18
20
|
baseFormats.push({
|
|
19
21
|
id: 'markdown',
|
|
20
|
-
label: 'Download as Markdown',
|
|
21
|
-
description: 'Download raw markdown text',
|
|
22
|
+
label: t('artifact.downloadAsMarkdown') || 'Download as Markdown',
|
|
23
|
+
description: t('artifact.downloadRawMarkdownText') || 'Download raw markdown text',
|
|
22
24
|
mimeType: 'text/markdown',
|
|
23
25
|
action: 'download',
|
|
24
26
|
}, {
|
|
25
27
|
id: 'pdf',
|
|
26
|
-
label: 'Download as PDF',
|
|
27
|
-
description: 'Export as PDF document',
|
|
28
|
+
label: t('artifact.downloadAsPdf') || 'Download as PDF',
|
|
29
|
+
description: t('artifact.exportAsPdfDocument') || 'Export as PDF document',
|
|
28
30
|
mimeType: 'application/pdf',
|
|
29
31
|
action: 'pdf',
|
|
30
32
|
isAsync: true,
|
|
@@ -33,8 +35,8 @@ const useCopyArtifact = (artifact, onCopy, onDownload, onPrint) => {
|
|
|
33
35
|
case 'html':
|
|
34
36
|
baseFormats.push({
|
|
35
37
|
id: 'html',
|
|
36
|
-
label: 'Download as HTML',
|
|
37
|
-
description: 'Download formatted HTML',
|
|
38
|
+
label: t('artifact.downloadAsHtml') || 'Download as HTML',
|
|
39
|
+
description: t('artifact.downloadFormattedHtml') || 'Download formatted HTML',
|
|
38
40
|
mimeType: 'text/html',
|
|
39
41
|
action: 'download',
|
|
40
42
|
});
|
|
@@ -42,8 +44,8 @@ const useCopyArtifact = (artifact, onCopy, onDownload, onPrint) => {
|
|
|
42
44
|
case 'json':
|
|
43
45
|
baseFormats.push({
|
|
44
46
|
id: 'json',
|
|
45
|
-
label: 'Download as JSON',
|
|
46
|
-
description: 'Download JSON data',
|
|
47
|
+
label: t('artifact.downloadAsJson') || 'Download as JSON',
|
|
48
|
+
description: t('artifact.downloadJsonData') || 'Download JSON data',
|
|
47
49
|
mimeType: 'application/json',
|
|
48
50
|
action: 'download',
|
|
49
51
|
});
|
|
@@ -51,8 +53,8 @@ const useCopyArtifact = (artifact, onCopy, onDownload, onPrint) => {
|
|
|
51
53
|
case 'image/png':
|
|
52
54
|
baseFormats.push({
|
|
53
55
|
id: 'png',
|
|
54
|
-
label: 'Download as PNG',
|
|
55
|
-
description: 'Download PNG image',
|
|
56
|
+
label: t('artifact.downloadAsPng') || 'Download as PNG',
|
|
57
|
+
description: t('artifact.downloadPngImage') || 'Download PNG image',
|
|
56
58
|
mimeType: 'image/png',
|
|
57
59
|
action: 'download',
|
|
58
60
|
});
|
|
@@ -60,8 +62,8 @@ const useCopyArtifact = (artifact, onCopy, onDownload, onPrint) => {
|
|
|
60
62
|
case 'image/jpeg':
|
|
61
63
|
baseFormats.push({
|
|
62
64
|
id: 'jpeg',
|
|
63
|
-
label: 'Download as JPEG',
|
|
64
|
-
description: 'Download JPEG image',
|
|
65
|
+
label: t('artifact.downloadAsJpeg') || 'Download as JPEG',
|
|
66
|
+
description: t('artifact.downloadJpegImage') || 'Download JPEG image',
|
|
65
67
|
mimeType: 'image/jpeg',
|
|
66
68
|
action: 'download',
|
|
67
69
|
});
|
|
@@ -69,8 +71,8 @@ const useCopyArtifact = (artifact, onCopy, onDownload, onPrint) => {
|
|
|
69
71
|
case 'image/gif':
|
|
70
72
|
baseFormats.push({
|
|
71
73
|
id: 'gif',
|
|
72
|
-
label: 'Download as GIF',
|
|
73
|
-
description: 'Download GIF image',
|
|
74
|
+
label: t('artifact.downloadAsGif') || 'Download as GIF',
|
|
75
|
+
description: t('artifact.downloadGifImage') || 'Download GIF image',
|
|
74
76
|
mimeType: 'image/gif',
|
|
75
77
|
action: 'download',
|
|
76
78
|
});
|
|
@@ -78,8 +80,8 @@ const useCopyArtifact = (artifact, onCopy, onDownload, onPrint) => {
|
|
|
78
80
|
case 'image/webp':
|
|
79
81
|
baseFormats.push({
|
|
80
82
|
id: 'webp',
|
|
81
|
-
label: 'Download as WebP',
|
|
82
|
-
description: 'Download WebP image',
|
|
83
|
+
label: t('artifact.downloadAsWebp') || 'Download as WebP',
|
|
84
|
+
description: t('artifact.downloadWebpImage') || 'Download WebP image',
|
|
83
85
|
mimeType: 'image/webp',
|
|
84
86
|
action: 'download',
|
|
85
87
|
});
|
|
@@ -87,14 +89,14 @@ const useCopyArtifact = (artifact, onCopy, onDownload, onPrint) => {
|
|
|
87
89
|
case 'image/svg+xml':
|
|
88
90
|
baseFormats.push({
|
|
89
91
|
id: 'svg',
|
|
90
|
-
label: 'Copy as SVG',
|
|
91
|
-
description: 'Copy SVG source code',
|
|
92
|
+
label: t('artifact.copyAsSvg') || 'Copy as SVG',
|
|
93
|
+
description: t('artifact.copySvgSourceCode') || 'Copy SVG source code',
|
|
92
94
|
mimeType: 'image/svg+xml',
|
|
93
95
|
action: 'copy',
|
|
94
96
|
}, {
|
|
95
97
|
id: 'plain',
|
|
96
|
-
label: 'Copy as Plain Text',
|
|
97
|
-
description: 'Copy as text',
|
|
98
|
+
label: t('artifact.copyAsPlainText') || 'Copy as Plain Text',
|
|
99
|
+
description: t('artifact.copyAsText') || 'Copy as text',
|
|
98
100
|
mimeType: 'text/plain',
|
|
99
101
|
action: 'copy',
|
|
100
102
|
});
|
|
@@ -104,14 +106,14 @@ const useCopyArtifact = (artifact, onCopy, onDownload, onPrint) => {
|
|
|
104
106
|
const language = artifact.mimeType.split('.').pop() || 'text';
|
|
105
107
|
baseFormats.push({
|
|
106
108
|
id: 'code',
|
|
107
|
-
label: `Copy as ${language.charAt(0).toUpperCase() + language.slice(1)}`,
|
|
108
|
-
description: `Copy ${language} code`,
|
|
109
|
+
label: t('artifact.copyAsLanguage', { language: language.charAt(0).toUpperCase() + language.slice(1) }) || `Copy as ${language.charAt(0).toUpperCase() + language.slice(1)}`,
|
|
110
|
+
description: t('artifact.copyLanguageCode', { language }) || `Copy ${language} code`,
|
|
109
111
|
mimeType: artifact.mimeType,
|
|
110
112
|
action: 'copy',
|
|
111
113
|
}, {
|
|
112
114
|
id: 'plain',
|
|
113
|
-
label: 'Copy as Plain Text',
|
|
114
|
-
description: 'Copy without syntax highlighting',
|
|
115
|
+
label: t('artifact.copyAsPlainText') || 'Copy as Plain Text',
|
|
116
|
+
description: t('artifact.copyWithoutSyntaxHighlighting') || 'Copy without syntax highlighting',
|
|
115
117
|
mimeType: 'text/plain',
|
|
116
118
|
action: 'copy',
|
|
117
119
|
});
|
|
@@ -119,8 +121,8 @@ const useCopyArtifact = (artifact, onCopy, onDownload, onPrint) => {
|
|
|
119
121
|
else {
|
|
120
122
|
baseFormats.push({
|
|
121
123
|
id: 'text',
|
|
122
|
-
label: 'Copy as Text',
|
|
123
|
-
description: 'Copy text content',
|
|
124
|
+
label: t('artifact.copyAsText') || 'Copy as Text',
|
|
125
|
+
description: t('artifact.copyTextContent') || 'Copy text content',
|
|
124
126
|
mimeType: 'text/plain',
|
|
125
127
|
action: 'copy',
|
|
126
128
|
});
|
|
@@ -128,7 +130,7 @@ const useCopyArtifact = (artifact, onCopy, onDownload, onPrint) => {
|
|
|
128
130
|
break;
|
|
129
131
|
}
|
|
130
132
|
return baseFormats;
|
|
131
|
-
}, [artifact.mimeType]);
|
|
133
|
+
}, [artifact.mimeType, t]);
|
|
132
134
|
const convertContent = (0, react_1.useCallback)((format) => {
|
|
133
135
|
const { content } = artifact;
|
|
134
136
|
switch (format.id) {
|
|
@@ -184,7 +186,7 @@ const useCopyArtifact = (artifact, onCopy, onDownload, onPrint) => {
|
|
|
184
186
|
try {
|
|
185
187
|
if (format.action === 'pdf') {
|
|
186
188
|
if (!PDFExporter_1.pdfExporter.isSupported()) {
|
|
187
|
-
throw new Error('PDF export is not supported in this browser');
|
|
189
|
+
throw new Error(t('artifact.pdfExportNotSupported') || 'PDF export is not supported in this browser');
|
|
188
190
|
}
|
|
189
191
|
const pdfOptions = {
|
|
190
192
|
title: artifact.title || 'Artifact',
|
|
@@ -201,7 +203,7 @@ const useCopyArtifact = (artifact, onCopy, onDownload, onPrint) => {
|
|
|
201
203
|
const printContent = convertContent(format);
|
|
202
204
|
const printWindow = window.open('', '_blank');
|
|
203
205
|
if (!printWindow) {
|
|
204
|
-
throw new Error('Popup blocked! Please enable popups to print.');
|
|
206
|
+
throw new Error(t('artifact.popupBlocked') || 'Popup blocked! Please enable popups to print.');
|
|
205
207
|
}
|
|
206
208
|
const htmlContent = `
|
|
207
209
|
<!DOCTYPE html>
|
|
@@ -244,7 +246,7 @@ const useCopyArtifact = (artifact, onCopy, onDownload, onPrint) => {
|
|
|
244
246
|
URL.revokeObjectURL(url);
|
|
245
247
|
onDownload === null || onDownload === void 0 ? void 0 : onDownload();
|
|
246
248
|
}
|
|
247
|
-
else {
|
|
249
|
+
else if (format.action === 'copy') {
|
|
248
250
|
const contentToCopy = convertContent(format);
|
|
249
251
|
await copyToClipboard(contentToCopy);
|
|
250
252
|
onCopy === null || onCopy === void 0 ? void 0 : onCopy();
|
|
@@ -252,15 +254,17 @@ const useCopyArtifact = (artifact, onCopy, onDownload, onPrint) => {
|
|
|
252
254
|
setCopyState(prev => ({
|
|
253
255
|
...prev,
|
|
254
256
|
loading: false,
|
|
255
|
-
success:
|
|
257
|
+
success: format.action === 'copy',
|
|
256
258
|
error: null,
|
|
257
259
|
}));
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
260
|
+
if (format.action === 'copy') {
|
|
261
|
+
setTimeout(() => {
|
|
262
|
+
setCopyState(prev => ({
|
|
263
|
+
...prev,
|
|
264
|
+
success: false,
|
|
265
|
+
}));
|
|
266
|
+
}, 2000);
|
|
267
|
+
}
|
|
264
268
|
}
|
|
265
269
|
catch (error) {
|
|
266
270
|
console.error('Copy operation failed:', error);
|
|
@@ -277,7 +281,7 @@ const useCopyArtifact = (artifact, onCopy, onDownload, onPrint) => {
|
|
|
277
281
|
}));
|
|
278
282
|
}, 3000);
|
|
279
283
|
}
|
|
280
|
-
}, [artifact, convertContent, copyToClipboard, onCopy, onPrint]);
|
|
284
|
+
}, [artifact, convertContent, copyToClipboard, onCopy, onPrint, t]);
|
|
281
285
|
const handleCopyClick = (0, react_1.useCallback)(async () => {
|
|
282
286
|
const contentToCopy = convertContent(formats[0]);
|
|
283
287
|
await copyToClipboard(contentToCopy);
|
package/dist/components/MemoriArtifactSystem/components/ArtifactActions/hooks/useCopyArtifact.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useCopyArtifact.js","sourceRoot":"","sources":["../../../../../../src/components/MemoriArtifactSystem/components/ArtifactActions/hooks/useCopyArtifact.ts"],"names":[],"mappings":";;;AAKA,iCAAuD;
|
|
1
|
+
{"version":3,"file":"useCopyArtifact.js","sourceRoot":"","sources":["../../../../../../src/components/MemoriArtifactSystem/components/ArtifactActions/hooks/useCopyArtifact.ts"],"names":[],"mappings":"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"}
|
|
@@ -140,7 +140,6 @@
|
|
|
140
140
|
height: 12px;
|
|
141
141
|
border: 2px solid #e5e7eb;
|
|
142
142
|
border-radius: 50%;
|
|
143
|
-
border-top: 2px solid #3b82f6;
|
|
144
143
|
animation: memori-copy-spin 1s linear infinite;
|
|
145
144
|
}
|
|
146
145
|
|
|
@@ -161,7 +160,7 @@
|
|
|
161
160
|
z-index: 10001;
|
|
162
161
|
top: 100%;
|
|
163
162
|
right: 0;
|
|
164
|
-
left: 0;
|
|
163
|
+
/* left: 0; */
|
|
165
164
|
overflow: hidden;
|
|
166
165
|
min-width: 280px;
|
|
167
166
|
max-width: 320px;
|
|
@@ -5,7 +5,7 @@ export interface CopyFormat {
|
|
|
5
5
|
description?: string;
|
|
6
6
|
icon?: React.ReactNode | undefined;
|
|
7
7
|
mimeType: string;
|
|
8
|
-
action: 'copy' | 'pdf' | 'print' | 'download';
|
|
8
|
+
action: 'copy' | 'pdf' | 'print' | 'download' | 'link';
|
|
9
9
|
isAsync?: boolean;
|
|
10
10
|
}
|
|
11
11
|
export interface CopyMenuItemProps {
|
|
@@ -23,6 +23,7 @@ export interface CopyButtonWithDropdownProps {
|
|
|
23
23
|
onCopy?: () => void;
|
|
24
24
|
onDownload?: () => void;
|
|
25
25
|
onPrint?: () => void;
|
|
26
|
+
onOpenExternal?: () => void;
|
|
26
27
|
loading?: boolean;
|
|
27
28
|
className?: string;
|
|
28
29
|
disabled?: boolean;
|