@cloudscape-design/components 3.0.632 → 3.0.633
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/copy-to-clipboard/index.d.ts +1 -1
- package/copy-to-clipboard/index.d.ts.map +1 -1
- package/copy-to-clipboard/index.js +7 -42
- package/copy-to-clipboard/index.js.map +1 -1
- package/copy-to-clipboard/internal.d.ts +7 -0
- package/copy-to-clipboard/internal.d.ts.map +1 -0
- package/copy-to-clipboard/internal.js +44 -0
- package/copy-to-clipboard/internal.js.map +1 -0
- package/internal/environment.js +1 -1
- package/internal/environment.json +1 -1
- package/internal/manifest.json +1 -1
- package/package.json +1 -1
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
2
|
import { CopyToClipboardProps } from './interfaces';
|
|
3
3
|
export { CopyToClipboardProps };
|
|
4
|
-
export default function CopyToClipboard({ variant,
|
|
4
|
+
export default function CopyToClipboard({ variant, ...restProps }: CopyToClipboardProps): JSX.Element;
|
|
5
5
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/copy-to-clipboard/index.tsx"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/copy-to-clipboard/index.tsx"],"names":[],"mappings":";AAGA,OAAO,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AAMpD,OAAO,EAAE,oBAAoB,EAAE,CAAC;AAEhC,MAAM,CAAC,OAAO,UAAU,eAAe,CAAC,EAAE,OAAkB,EAAE,GAAG,SAAS,EAAE,EAAE,oBAAoB,eAOjG"}
|
|
@@ -1,53 +1,18 @@
|
|
|
1
1
|
import { __rest } from "tslib";
|
|
2
2
|
// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
3
3
|
// SPDX-License-Identifier: Apache-2.0
|
|
4
|
-
import React
|
|
5
|
-
import { getBaseProps } from '../internal/base-component';
|
|
4
|
+
import React from 'react';
|
|
6
5
|
import { applyDisplayName } from '../internal/utils/apply-display-name';
|
|
7
6
|
import useBaseComponent from '../internal/hooks/use-base-component';
|
|
8
|
-
import
|
|
9
|
-
import
|
|
10
|
-
import InternalStatusIndicator from '../status-indicator/internal';
|
|
11
|
-
import styles from './styles.css.js';
|
|
12
|
-
import testStyles from './test-classes/styles.css.js';
|
|
13
|
-
import clsx from 'clsx';
|
|
7
|
+
import InternalCopyToClipboard from './internal';
|
|
8
|
+
import { getExternalProps } from '../internal/utils/external-props';
|
|
14
9
|
export default function CopyToClipboard(_a) {
|
|
15
|
-
var { variant = 'button'
|
|
16
|
-
const
|
|
10
|
+
var { variant = 'button' } = _a, restProps = __rest(_a, ["variant"]);
|
|
11
|
+
const baseProps = useBaseComponent('CopyToClipboard', {
|
|
17
12
|
props: { variant },
|
|
18
13
|
});
|
|
19
|
-
const
|
|
20
|
-
|
|
21
|
-
? { children: copyButtonText, ariaLabel: copyButtonAriaLabel }
|
|
22
|
-
: { ariaLabel: copyButtonAriaLabel !== null && copyButtonAriaLabel !== void 0 ? copyButtonAriaLabel : copyButtonText };
|
|
23
|
-
const [status, setStatus] = useState('pending');
|
|
24
|
-
const [statusText, setStatusText] = useState('');
|
|
25
|
-
const onClick = () => {
|
|
26
|
-
if (navigator.clipboard) {
|
|
27
|
-
setStatus('pending');
|
|
28
|
-
setStatusText('');
|
|
29
|
-
navigator.clipboard
|
|
30
|
-
.writeText(textToCopy)
|
|
31
|
-
.then(() => {
|
|
32
|
-
setStatus('success');
|
|
33
|
-
setStatusText(copySuccessText);
|
|
34
|
-
})
|
|
35
|
-
.catch(() => {
|
|
36
|
-
setStatus('error');
|
|
37
|
-
setStatusText(copyErrorText);
|
|
38
|
-
});
|
|
39
|
-
}
|
|
40
|
-
};
|
|
41
|
-
const triggerVariant = {
|
|
42
|
-
button: 'normal',
|
|
43
|
-
icon: 'icon',
|
|
44
|
-
inline: 'inline-icon',
|
|
45
|
-
}[variant];
|
|
46
|
-
const trigger = (React.createElement(InternalPopover, { size: "medium", position: "top", triggerType: "custom", dismissButton: false, renderWithPortal: true, content: React.createElement(InternalStatusIndicator, { type: status }, statusText) },
|
|
47
|
-
React.createElement(InternalButton, Object.assign({}, copyButtonProps, { iconName: "copy", onClick: onClick, variant: triggerVariant, wrapText: false, formAction: "none" }))));
|
|
48
|
-
return (React.createElement("span", Object.assign({ ref: __internalRootRef }, baseProps, { className: clsx(baseProps.className, styles.root, testStyles.root) }), variant === 'inline' ? (React.createElement("span", { className: styles['inline-container'] },
|
|
49
|
-
React.createElement("span", { className: styles['inline-container-trigger'] }, trigger),
|
|
50
|
-
React.createElement("span", { className: testStyles['text-to-copy'] }, textToCopy))) : (trigger)));
|
|
14
|
+
const filteredProps = getExternalProps(restProps);
|
|
15
|
+
return React.createElement(InternalCopyToClipboard, Object.assign({ variant: variant }, baseProps, filteredProps));
|
|
51
16
|
}
|
|
52
17
|
applyDisplayName(CopyToClipboard, 'CopyToClipboard');
|
|
53
18
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/copy-to-clipboard/index.tsx"],"names":[],"mappings":";AAAA,qEAAqE;AACrE,sCAAsC;AACtC,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/copy-to-clipboard/index.tsx"],"names":[],"mappings":";AAAA,qEAAqE;AACrE,sCAAsC;AACtC,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,gBAAgB,EAAE,MAAM,sCAAsC,CAAC;AACxE,OAAO,gBAAgB,MAAM,sCAAsC,CAAC;AACpE,OAAO,uBAAuB,MAAM,YAAY,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AAIpE,MAAM,CAAC,OAAO,UAAU,eAAe,CAAC,EAA0D;QAA1D,EAAE,OAAO,GAAG,QAAQ,OAAsC,EAAjC,SAAS,cAAlC,WAAoC,CAAF;IACxE,MAAM,SAAS,GAAG,gBAAgB,CAAC,iBAAiB,EAAE;QACpD,KAAK,EAAE,EAAE,OAAO,EAAE;KACnB,CAAC,CAAC;IACH,MAAM,aAAa,GAAG,gBAAgB,CAAC,SAAS,CAAC,CAAC;IAElD,OAAO,oBAAC,uBAAuB,kBAAC,OAAO,EAAE,OAAO,IAAM,SAAS,EAAM,aAAa,EAAI,CAAC;AACzF,CAAC;AAED,gBAAgB,CAAC,eAAe,EAAE,iBAAiB,CAAC,CAAC","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport React from 'react';\nimport { CopyToClipboardProps } from './interfaces';\nimport { applyDisplayName } from '../internal/utils/apply-display-name';\nimport useBaseComponent from '../internal/hooks/use-base-component';\nimport InternalCopyToClipboard from './internal';\nimport { getExternalProps } from '../internal/utils/external-props';\n\nexport { CopyToClipboardProps };\n\nexport default function CopyToClipboard({ variant = 'button', ...restProps }: CopyToClipboardProps) {\n const baseProps = useBaseComponent('CopyToClipboard', {\n props: { variant },\n });\n const filteredProps = getExternalProps(restProps);\n\n return <InternalCopyToClipboard variant={variant} {...baseProps} {...filteredProps} />;\n}\n\napplyDisplayName(CopyToClipboard, 'CopyToClipboard');\n"]}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
import { CopyToClipboardProps } from './interfaces';
|
|
3
|
+
import { InternalBaseComponentProps } from '../internal/hooks/use-base-component';
|
|
4
|
+
export interface InternalCopyToClipboardProps extends CopyToClipboardProps, InternalBaseComponentProps {
|
|
5
|
+
}
|
|
6
|
+
export default function InternalCopyToClipboard({ variant, copyButtonAriaLabel, copyButtonText, copySuccessText, copyErrorText, textToCopy, __internalRootRef, ...restProps }: InternalCopyToClipboardProps): JSX.Element;
|
|
7
|
+
//# sourceMappingURL=internal.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"internal.d.ts","sourceRoot":"","sources":["../../../src/copy-to-clipboard/internal.tsx"],"names":[],"mappings":";AAGA,OAAO,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AASpD,OAAO,EAAE,0BAA0B,EAAE,MAAM,sCAAsC,CAAC;AAElF,MAAM,WAAW,4BAA6B,SAAQ,oBAAoB,EAAE,0BAA0B;CAAG;AAEzG,MAAM,CAAC,OAAO,UAAU,uBAAuB,CAAC,EAC9C,OAAkB,EAClB,mBAAmB,EACnB,cAAc,EACd,eAAe,EACf,aAAa,EACb,UAAU,EACV,iBAAwB,EACxB,GAAG,SAAS,EACb,EAAE,4BAA4B,eAgE9B"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { __rest } from "tslib";
|
|
2
|
+
// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
3
|
+
// SPDX-License-Identifier: Apache-2.0
|
|
4
|
+
import React, { useState } from 'react';
|
|
5
|
+
import InternalButton from '../button/internal';
|
|
6
|
+
import InternalPopover from '../popover/internal';
|
|
7
|
+
import InternalStatusIndicator from '../status-indicator/internal';
|
|
8
|
+
import styles from './styles.css.js';
|
|
9
|
+
import testStyles from './test-classes/styles.css.js';
|
|
10
|
+
import clsx from 'clsx';
|
|
11
|
+
import { getBaseProps } from '../internal/base-component';
|
|
12
|
+
export default function InternalCopyToClipboard(_a) {
|
|
13
|
+
var { variant = 'button', copyButtonAriaLabel, copyButtonText, copySuccessText, copyErrorText, textToCopy, __internalRootRef = null } = _a, restProps = __rest(_a, ["variant", "copyButtonAriaLabel", "copyButtonText", "copySuccessText", "copyErrorText", "textToCopy", "__internalRootRef"]);
|
|
14
|
+
const [status, setStatus] = useState('pending');
|
|
15
|
+
const [statusText, setStatusText] = useState('');
|
|
16
|
+
const baseProps = getBaseProps(restProps);
|
|
17
|
+
const onClick = () => {
|
|
18
|
+
if (navigator.clipboard) {
|
|
19
|
+
setStatus('pending');
|
|
20
|
+
setStatusText('');
|
|
21
|
+
navigator.clipboard
|
|
22
|
+
.writeText(textToCopy)
|
|
23
|
+
.then(() => {
|
|
24
|
+
setStatus('success');
|
|
25
|
+
setStatusText(copySuccessText);
|
|
26
|
+
})
|
|
27
|
+
.catch(() => {
|
|
28
|
+
setStatus('error');
|
|
29
|
+
setStatusText(copyErrorText);
|
|
30
|
+
});
|
|
31
|
+
}
|
|
32
|
+
};
|
|
33
|
+
const triggerVariant = {
|
|
34
|
+
button: 'normal',
|
|
35
|
+
icon: 'icon',
|
|
36
|
+
inline: 'inline-icon',
|
|
37
|
+
}[variant];
|
|
38
|
+
const trigger = (React.createElement(InternalPopover, { size: "medium", position: "top", triggerType: "custom", dismissButton: false, renderWithPortal: true, content: React.createElement(InternalStatusIndicator, { type: status }, statusText) },
|
|
39
|
+
React.createElement(InternalButton, { ariaLabel: copyButtonAriaLabel !== null && copyButtonAriaLabel !== void 0 ? copyButtonAriaLabel : copyButtonText, iconName: "copy", onClick: onClick, variant: triggerVariant, wrapText: false, formAction: "none" }, copyButtonText)));
|
|
40
|
+
return (React.createElement("span", Object.assign({}, baseProps, { ref: __internalRootRef, className: clsx(baseProps.className, styles.root, testStyles.root) }), variant === 'inline' ? (React.createElement("span", { className: styles['inline-container'] },
|
|
41
|
+
React.createElement("span", { className: styles['inline-container-trigger'] }, trigger),
|
|
42
|
+
React.createElement("span", { className: testStyles['text-to-copy'] }, textToCopy))) : (trigger)));
|
|
43
|
+
}
|
|
44
|
+
//# sourceMappingURL=internal.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"internal.js","sourceRoot":"","sources":["../../../src/copy-to-clipboard/internal.tsx"],"names":[],"mappings":";AAAA,qEAAqE;AACrE,sCAAsC;AACtC,OAAO,KAAK,EAAE,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAExC,OAAO,cAAc,MAAM,oBAAoB,CAAC;AAChD,OAAO,eAAe,MAAM,qBAAqB,CAAC;AAClD,OAAO,uBAAuB,MAAM,8BAA8B,CAAC;AAEnE,OAAO,MAAM,MAAM,iBAAiB,CAAC;AACrC,OAAO,UAAU,MAAM,8BAA8B,CAAC;AACtD,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAK1D,MAAM,CAAC,OAAO,UAAU,uBAAuB,CAAC,EASjB;QATiB,EAC9C,OAAO,GAAG,QAAQ,EAClB,mBAAmB,EACnB,cAAc,EACd,eAAe,EACf,aAAa,EACb,UAAU,EACV,iBAAiB,GAAG,IAAI,OAEK,EAD1B,SAAS,cARkC,2HAS/C,CADa;IAEZ,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,CAAkC,SAAS,CAAC,CAAC;IACjF,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAC;IAEjD,MAAM,SAAS,GAAG,YAAY,CAAC,SAAS,CAAC,CAAC;IAC1C,MAAM,OAAO,GAAG,GAAG,EAAE;QACnB,IAAI,SAAS,CAAC,SAAS,EAAE;YACvB,SAAS,CAAC,SAAS,CAAC,CAAC;YACrB,aAAa,CAAC,EAAE,CAAC,CAAC;YAClB,SAAS,CAAC,SAAS;iBAChB,SAAS,CAAC,UAAU,CAAC;iBACrB,IAAI,CAAC,GAAG,EAAE;gBACT,SAAS,CAAC,SAAS,CAAC,CAAC;gBACrB,aAAa,CAAC,eAAe,CAAC,CAAC;YACjC,CAAC,CAAC;iBACD,KAAK,CAAC,GAAG,EAAE;gBACV,SAAS,CAAC,OAAO,CAAC,CAAC;gBACnB,aAAa,CAAC,aAAa,CAAC,CAAC;YAC/B,CAAC,CAAC,CAAC;SACN;IACH,CAAC,CAAC;IAEF,MAAM,cAAc,GAClB;QACE,MAAM,EAAE,QAAQ;QAChB,IAAI,EAAE,MAAM;QACZ,MAAM,EAAE,aAAa;KAExB,CAAC,OAAO,CAAC,CAAC;IAEX,MAAM,OAAO,GAAG,CACd,oBAAC,eAAe,IACd,IAAI,EAAC,QAAQ,EACb,QAAQ,EAAC,KAAK,EACd,WAAW,EAAC,QAAQ,EACpB,aAAa,EAAE,KAAK,EACpB,gBAAgB,EAAE,IAAI,EACtB,OAAO,EAAE,oBAAC,uBAAuB,IAAC,IAAI,EAAE,MAAM,IAAG,UAAU,CAA2B;QAEtF,oBAAC,cAAc,IACb,SAAS,EAAE,mBAAmB,aAAnB,mBAAmB,cAAnB,mBAAmB,GAAI,cAAc,EAChD,QAAQ,EAAC,MAAM,EACf,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,cAAc,EACvB,QAAQ,EAAE,KAAK,EACf,UAAU,EAAC,MAAM,IAEhB,cAAc,CACA,CACD,CACnB,CAAC;IAEF,OAAO,CACL,8CAAU,SAAS,IAAE,GAAG,EAAE,iBAAiB,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,MAAM,CAAC,IAAI,EAAE,UAAU,CAAC,IAAI,CAAC,KAC5G,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,CACtB,8BAAM,SAAS,EAAE,MAAM,CAAC,kBAAkB,CAAC;QACzC,8BAAM,SAAS,EAAE,MAAM,CAAC,0BAA0B,CAAC,IAAG,OAAO,CAAQ;QACrE,8BAAM,SAAS,EAAE,UAAU,CAAC,cAAc,CAAC,IAAG,UAAU,CAAQ,CAC3D,CACR,CAAC,CAAC,CAAC,CACF,OAAO,CACR,CACI,CACR,CAAC;AACJ,CAAC","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport React, { useState } from 'react';\nimport { CopyToClipboardProps } from './interfaces';\nimport InternalButton from '../button/internal';\nimport InternalPopover from '../popover/internal';\nimport InternalStatusIndicator from '../status-indicator/internal';\n\nimport styles from './styles.css.js';\nimport testStyles from './test-classes/styles.css.js';\nimport clsx from 'clsx';\nimport { getBaseProps } from '../internal/base-component';\nimport { InternalBaseComponentProps } from '../internal/hooks/use-base-component';\n\nexport interface InternalCopyToClipboardProps extends CopyToClipboardProps, InternalBaseComponentProps {}\n\nexport default function InternalCopyToClipboard({\n variant = 'button',\n copyButtonAriaLabel,\n copyButtonText,\n copySuccessText,\n copyErrorText,\n textToCopy,\n __internalRootRef = null,\n ...restProps\n}: InternalCopyToClipboardProps) {\n const [status, setStatus] = useState<'pending' | 'success' | 'error'>('pending');\n const [statusText, setStatusText] = useState('');\n\n const baseProps = getBaseProps(restProps);\n const onClick = () => {\n if (navigator.clipboard) {\n setStatus('pending');\n setStatusText('');\n navigator.clipboard\n .writeText(textToCopy)\n .then(() => {\n setStatus('success');\n setStatusText(copySuccessText);\n })\n .catch(() => {\n setStatus('error');\n setStatusText(copyErrorText);\n });\n }\n };\n\n const triggerVariant = (\n {\n button: 'normal',\n icon: 'icon',\n inline: 'inline-icon',\n } as const\n )[variant];\n\n const trigger = (\n <InternalPopover\n size=\"medium\"\n position=\"top\"\n triggerType=\"custom\"\n dismissButton={false}\n renderWithPortal={true}\n content={<InternalStatusIndicator type={status}>{statusText}</InternalStatusIndicator>}\n >\n <InternalButton\n ariaLabel={copyButtonAriaLabel ?? copyButtonText}\n iconName=\"copy\"\n onClick={onClick}\n variant={triggerVariant}\n wrapText={false}\n formAction=\"none\"\n >\n {copyButtonText}\n </InternalButton>\n </InternalPopover>\n );\n\n return (\n <span {...baseProps} ref={__internalRootRef} className={clsx(baseProps.className, styles.root, testStyles.root)}>\n {variant === 'inline' ? (\n <span className={styles['inline-container']}>\n <span className={styles['inline-container-trigger']}>{trigger}</span>\n <span className={testStyles['text-to-copy']}>{textToCopy}</span>\n </span>\n ) : (\n trigger\n )}\n </span>\n );\n}\n"]}
|
package/internal/environment.js
CHANGED
package/internal/manifest.json
CHANGED
package/package.json
CHANGED