@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.
@@ -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, copyButtonAriaLabel, copyButtonText, copySuccessText, copyErrorText, textToCopy, ...restProps }: CopyToClipboardProps): JSX.Element;
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":";AAIA,OAAO,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AAUpD,OAAO,EAAE,oBAAoB,EAAE,CAAC;AAEhC,MAAM,CAAC,OAAO,UAAU,eAAe,CAAC,EACtC,OAAkB,EAClB,mBAAmB,EACnB,cAAc,EACd,eAAe,EACf,aAAa,EACb,UAAU,EACV,GAAG,SAAS,EACb,EAAE,oBAAoB,eAuEtB"}
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, { useState } from '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 InternalButton from '../button/internal';
9
- import InternalPopover from '../popover/internal';
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', copyButtonAriaLabel, copyButtonText, copySuccessText, copyErrorText, textToCopy } = _a, restProps = __rest(_a, ["variant", "copyButtonAriaLabel", "copyButtonText", "copySuccessText", "copyErrorText", "textToCopy"]);
16
- const { __internalRootRef } = useBaseComponent('CopyToClipboard', {
10
+ var { variant = 'button' } = _a, restProps = __rest(_a, ["variant"]);
11
+ const baseProps = useBaseComponent('CopyToClipboard', {
17
12
  props: { variant },
18
13
  });
19
- const baseProps = getBaseProps(restProps);
20
- const copyButtonProps = variant === 'button'
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":"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","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport React, { useState } from 'react';\nimport { getBaseProps } from '../internal/base-component';\nimport { CopyToClipboardProps } from './interfaces';\nimport { applyDisplayName } from '../internal/utils/apply-display-name';\nimport useBaseComponent from '../internal/hooks/use-base-component';\nimport InternalButton from '../button/internal';\nimport InternalPopover from '../popover/internal';\nimport InternalStatusIndicator from '../status-indicator/internal';\nimport styles from './styles.css.js';\nimport testStyles from './test-classes/styles.css.js';\nimport clsx from 'clsx';\n\nexport { CopyToClipboardProps };\n\nexport default function CopyToClipboard({\n variant = 'button',\n copyButtonAriaLabel,\n copyButtonText,\n copySuccessText,\n copyErrorText,\n textToCopy,\n ...restProps\n}: CopyToClipboardProps) {\n const { __internalRootRef } = useBaseComponent('CopyToClipboard', {\n props: { variant },\n });\n const baseProps = getBaseProps(restProps);\n\n const copyButtonProps =\n variant === 'button'\n ? { children: copyButtonText, ariaLabel: copyButtonAriaLabel }\n : { ariaLabel: copyButtonAriaLabel ?? copyButtonText };\n\n const [status, setStatus] = useState<'pending' | 'success' | 'error'>('pending');\n const [statusText, setStatusText] = useState('');\n\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 {...copyButtonProps}\n iconName=\"copy\"\n onClick={onClick}\n variant={triggerVariant}\n wrapText={false}\n formAction=\"none\"\n />\n </InternalPopover>\n );\n\n return (\n <span ref={__internalRootRef} {...baseProps} 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\napplyDisplayName(CopyToClipboard, 'CopyToClipboard');\n"]}
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":"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","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"]}
@@ -1,4 +1,4 @@
1
1
  export var PACKAGE_SOURCE = "components";
2
- export var PACKAGE_VERSION = "3.0.0 (8f694589)";
2
+ export var PACKAGE_VERSION = "3.0.0 (536f5f46)";
3
3
  export var THEME = "open-source-visual-refresh";
4
4
  export var ALWAYS_VISUAL_REFRESH = true;
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "PACKAGE_SOURCE": "components",
3
- "PACKAGE_VERSION": "3.0.0 (8f694589)",
3
+ "PACKAGE_VERSION": "3.0.0 (536f5f46)",
4
4
  "THEME": "default",
5
5
  "ALWAYS_VISUAL_REFRESH": false
6
6
  }
@@ -1,3 +1,3 @@
1
1
  {
2
- "commit": "8f694589be7e61c091c04ec8831369259d3b3dfc"
2
+ "commit": "536f5f46c63f2943d17a2e75f14fefe69e4f2c3c"
3
3
  }
package/package.json CHANGED
@@ -117,7 +117,7 @@
117
117
  "./internal/base-component/index.js",
118
118
  "./internal/base-component/styles.css.js"
119
119
  ],
120
- "version": "3.0.632",
120
+ "version": "3.0.633",
121
121
  "repository": {
122
122
  "type": "git",
123
123
  "url": "https://github.com/cloudscape-design/components.git"