@synerise/ds-copy-icon 1.2.0 → 1.2.2
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 +8 -0
- package/README.md +4 -4
- package/dist/CopyIcon.d.ts +2 -2
- package/dist/CopyIcon.js +44 -58
- package/dist/CopyIcon.styles.d.ts +1 -1
- package/dist/CopyIcon.styles.js +6 -7
- package/dist/CopyIcon.types.d.ts +3 -3
- package/dist/CopyIcon.types.js +1 -1
- package/dist/index.js +4 -1
- package/dist/modules.d.js +1 -1
- package/dist/modules.d.ts +0 -0
- package/package.json +9 -9
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,14 @@
|
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
|
4
4
|
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
|
5
5
|
|
|
6
|
+
## [1.2.2](https://github.com/Synerise/synerise-design/compare/@synerise/ds-copy-icon@1.2.1...@synerise/ds-copy-icon@1.2.2) (2026-03-24)
|
|
7
|
+
|
|
8
|
+
**Note:** Version bump only for package @synerise/ds-copy-icon
|
|
9
|
+
|
|
10
|
+
## [1.2.1](https://github.com/Synerise/synerise-design/compare/@synerise/ds-copy-icon@1.2.0...@synerise/ds-copy-icon@1.2.1) (2026-03-20)
|
|
11
|
+
|
|
12
|
+
**Note:** Version bump only for package @synerise/ds-copy-icon
|
|
13
|
+
|
|
6
14
|
# [1.2.0](https://github.com/Synerise/synerise-design/compare/@synerise/ds-copy-icon@1.1.7...@synerise/ds-copy-icon@1.2.0) (2026-03-09)
|
|
7
15
|
|
|
8
16
|
### Features
|
package/README.md
CHANGED
|
@@ -14,9 +14,9 @@ yarn add @synerise/ds-copy-icon
|
|
|
14
14
|
|
|
15
15
|
## Usage
|
|
16
16
|
```
|
|
17
|
-
import
|
|
17
|
+
import CopyIcon from '@synerise/ds-copy-icon'
|
|
18
18
|
|
|
19
|
-
<CopyIcon />
|
|
19
|
+
<CopyIcon copyValue="text-to-copy" />
|
|
20
20
|
|
|
21
21
|
```
|
|
22
22
|
|
|
@@ -26,9 +26,9 @@ import CopyButton from '@synerise/ds-copy-icon'
|
|
|
26
26
|
|
|
27
27
|
## API
|
|
28
28
|
|
|
29
|
-
Property | Description | Type | Default |
|
|
29
|
+
| Property | Description | Type | Default |
|
|
30
30
|
| --------- | ------------------------------------------------------ | ------------------------ | ------- |
|
|
31
|
-
| texts | Group of texts before copy and after | CopyTooltipTexts
|
|
31
|
+
| texts | Group of texts before copy and after | Partial<CopyTooltipTexts>| - |
|
|
32
32
|
| icon | custom icon to render | ReactNode | - |
|
|
33
33
|
| copyValue | Value to copy after click on icon | string | - |
|
|
34
34
|
| placement | prop to set tooltip where need to be | TooltipPlacement | - |
|
package/dist/CopyIcon.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
import {
|
|
1
|
+
import { default as React } from 'react';
|
|
2
|
+
import { CopyIconProps } from './CopyIcon.types';
|
|
3
3
|
declare const CopyIcon: ({ copyValue, texts, onMouseEnter, onMouseLeave, icon, placement, onCopy, onClick, ...rest }: CopyIconProps) => React.JSX.Element;
|
|
4
4
|
export default CopyIcon;
|
package/dist/CopyIcon.js
CHANGED
|
@@ -1,76 +1,62 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
import
|
|
5
|
-
import
|
|
6
|
-
import
|
|
7
|
-
import
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
setTooltipTitle = _useState[1];
|
|
37
|
-
var _useState2 = useState(false),
|
|
38
|
-
isCopiedBlock = _useState2[0],
|
|
39
|
-
setIsCopiedBlock = _useState2[1];
|
|
40
|
-
var handleCopy = useCallback(function (event) {
|
|
1
|
+
import { jsx } from "react/jsx-runtime";
|
|
2
|
+
import copy from "copy-to-clipboard";
|
|
3
|
+
import { useMemo, useState, useCallback } from "react";
|
|
4
|
+
import { useIntl } from "react-intl";
|
|
5
|
+
import Icon, { CopyClipboardM } from "@synerise/ds-icon";
|
|
6
|
+
import Tooltip from "@synerise/ds-tooltip";
|
|
7
|
+
import { CopyIcon as CopyIcon$1 } from "./CopyIcon.styles.js";
|
|
8
|
+
const CopyIcon = ({
|
|
9
|
+
copyValue,
|
|
10
|
+
texts,
|
|
11
|
+
onMouseEnter,
|
|
12
|
+
onMouseLeave,
|
|
13
|
+
icon,
|
|
14
|
+
placement,
|
|
15
|
+
onCopy,
|
|
16
|
+
onClick,
|
|
17
|
+
...rest
|
|
18
|
+
}) => {
|
|
19
|
+
const {
|
|
20
|
+
formatMessage
|
|
21
|
+
} = useIntl();
|
|
22
|
+
const textsObj = useMemo(() => ({
|
|
23
|
+
copiedTooltip: formatMessage({
|
|
24
|
+
id: "DS.COPY-ICON.COPIED",
|
|
25
|
+
defaultMessage: "Copied!"
|
|
26
|
+
}),
|
|
27
|
+
copyTooltip: formatMessage({
|
|
28
|
+
id: "DS.COPY-ICON.COPY-VALUE",
|
|
29
|
+
defaultMessage: "Copy"
|
|
30
|
+
}),
|
|
31
|
+
...texts
|
|
32
|
+
}), [texts, formatMessage]);
|
|
33
|
+
const [tooltipTitle, setTooltipTitle] = useState(textsObj.copyTooltip);
|
|
34
|
+
const [isCopiedBlock, setIsCopiedBlock] = useState(false);
|
|
35
|
+
const handleCopy = useCallback((event) => {
|
|
41
36
|
if (copyValue && copy(copyValue)) {
|
|
42
37
|
setTooltipTitle(textsObj.copiedTooltip);
|
|
43
38
|
setIsCopiedBlock(true);
|
|
44
|
-
setTimeout(
|
|
39
|
+
setTimeout(() => {
|
|
45
40
|
setIsCopiedBlock(false);
|
|
46
41
|
setTooltipTitle(textsObj.copyTooltip);
|
|
47
|
-
},
|
|
42
|
+
}, 2e3);
|
|
48
43
|
onCopy && onCopy();
|
|
49
44
|
}
|
|
50
|
-
onClick
|
|
45
|
+
onClick?.(event);
|
|
51
46
|
}, [copyValue, onClick, textsObj.copiedTooltip, textsObj.copyTooltip, onCopy]);
|
|
52
|
-
|
|
47
|
+
const handleMouseEnter = useCallback((event) => {
|
|
53
48
|
event.stopPropagation();
|
|
54
49
|
if (!isCopiedBlock) {
|
|
55
50
|
setTooltipTitle(textsObj.copyTooltip);
|
|
56
51
|
}
|
|
57
52
|
onMouseEnter && onMouseEnter(event);
|
|
58
53
|
}, [isCopiedBlock, textsObj, onMouseEnter]);
|
|
59
|
-
|
|
54
|
+
const handleMouseLeave = useCallback((event) => {
|
|
60
55
|
event.stopPropagation();
|
|
61
56
|
onMouseLeave && onMouseLeave(event);
|
|
62
57
|
}, [onMouseLeave]);
|
|
63
|
-
return
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
"data-testid": "ds-copy-icon",
|
|
68
|
-
onMouseEnter: handleMouseEnter,
|
|
69
|
-
onMouseLeave: handleMouseLeave,
|
|
70
|
-
onClick: handleCopy
|
|
71
|
-
}, rest), icon || /*#__PURE__*/React.createElement(Icon, {
|
|
72
|
-
component: /*#__PURE__*/React.createElement(CopyClipboardM, null),
|
|
73
|
-
size: 24
|
|
74
|
-
})));
|
|
58
|
+
return /* @__PURE__ */ jsx(Tooltip, { placement, title: tooltipTitle, children: /* @__PURE__ */ jsx(CopyIcon$1, { "data-testid": "ds-copy-icon", onMouseEnter: handleMouseEnter, onMouseLeave: handleMouseLeave, onClick: handleCopy, ...rest, children: icon || /* @__PURE__ */ jsx(Icon, { component: /* @__PURE__ */ jsx(CopyClipboardM, {}), size: 24 }) }) });
|
|
59
|
+
};
|
|
60
|
+
export {
|
|
61
|
+
CopyIcon as default
|
|
75
62
|
};
|
|
76
|
-
export default CopyIcon;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare const CopyIcon: import(
|
|
1
|
+
export declare const CopyIcon: import('styled-components').StyledComponent<"div", any, {}, never>;
|
package/dist/CopyIcon.styles.js
CHANGED
|
@@ -1,9 +1,8 @@
|
|
|
1
|
-
import styled from
|
|
2
|
-
|
|
1
|
+
import styled from "styled-components";
|
|
2
|
+
const CopyIcon = /* @__PURE__ */ styled.div.withConfig({
|
|
3
3
|
displayName: "CopyIconstyles__CopyIcon",
|
|
4
4
|
componentId: "sc-1xzoy5o-0"
|
|
5
|
-
})(["cursor:pointer;color:", ";&:hover{color:", ";}"],
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
});
|
|
5
|
+
})(["cursor:pointer;color:", ";&:hover{color:", ";}"], (props) => props.theme.palette["grey-600"], (props) => props.theme.palette["blue-600"]);
|
|
6
|
+
export {
|
|
7
|
+
CopyIcon
|
|
8
|
+
};
|
package/dist/CopyIcon.types.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
1
|
+
import { ReactNode } from 'react';
|
|
2
|
+
import { TooltipProps } from '@synerise/ds-tooltip';
|
|
3
|
+
import { WithHTMLAttributes } from '@synerise/ds-utils';
|
|
4
4
|
export type CopyTooltipTexts = {
|
|
5
5
|
copyTooltip: ReactNode;
|
|
6
6
|
copiedTooltip: ReactNode;
|
package/dist/CopyIcon.types.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
|
package/dist/index.js
CHANGED
package/dist/modules.d.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import
|
|
1
|
+
import "@testing-library/jest-dom";
|
|
File without changes
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@synerise/ds-copy-icon",
|
|
3
|
-
"version": "1.2.
|
|
3
|
+
"version": "1.2.2",
|
|
4
4
|
"description": "CopyIcon UI Component for the Synerise Design System",
|
|
5
5
|
"license": "ISC",
|
|
6
6
|
"repository": "Synerise/synerise-design",
|
|
@@ -16,16 +16,16 @@
|
|
|
16
16
|
"access": "public"
|
|
17
17
|
},
|
|
18
18
|
"scripts": {
|
|
19
|
-
"build": "
|
|
19
|
+
"build": "vite build",
|
|
20
20
|
"build:css": "node ../../../scripts/style/less.js",
|
|
21
21
|
"build:js": "babel --delete-dir-on-start --root-mode upward src --out-dir dist --extensions '.js,.ts,.tsx'",
|
|
22
|
-
"build:watch": "
|
|
22
|
+
"build:watch": "vite build --watch",
|
|
23
23
|
"defs": "tsc --declaration --outDir dist/ --emitDeclarationOnly",
|
|
24
24
|
"prepublish": "pnpm run build",
|
|
25
25
|
"types": "tsc --noEmit",
|
|
26
26
|
"pack:ci": "pnpm pack --pack-destination ../../storybook/storybook-static/static",
|
|
27
|
-
"test": "vitest",
|
|
28
|
-
"test:watch": "
|
|
27
|
+
"test": "vitest run",
|
|
28
|
+
"test:watch": "vitest",
|
|
29
29
|
"check:circular-dependencies": "madge --circular --extensions ts,tsx,js,jsx --ts-config tsconfig.json src/ --exclude '/dist/'",
|
|
30
30
|
"upgrade:ds": "ncu -f \"@synerise/ds-*\" -u"
|
|
31
31
|
},
|
|
@@ -35,11 +35,11 @@
|
|
|
35
35
|
],
|
|
36
36
|
"types": "dist/index.d.ts",
|
|
37
37
|
"dependencies": {
|
|
38
|
-
"@synerise/ds-icon": "^1.
|
|
39
|
-
"@synerise/ds-tooltip": "^1.4.
|
|
38
|
+
"@synerise/ds-icon": "^1.15.1",
|
|
39
|
+
"@synerise/ds-tooltip": "^1.4.10"
|
|
40
40
|
},
|
|
41
41
|
"devDependencies": {
|
|
42
|
-
"@synerise/ds-utils": "^1.
|
|
42
|
+
"@synerise/ds-utils": "^1.7.1",
|
|
43
43
|
"vitest": "4"
|
|
44
44
|
},
|
|
45
45
|
"peerDependencies": {
|
|
@@ -49,5 +49,5 @@
|
|
|
49
49
|
"react-intl": ">=3.12.0 <= 6.8",
|
|
50
50
|
"styled-components": "^5.3.3"
|
|
51
51
|
},
|
|
52
|
-
"gitHead": "
|
|
52
|
+
"gitHead": "e4ecca8944fc9b41c1b9d59c8bcad5e5e2013225"
|
|
53
53
|
}
|