@bigbinary/neeto-molecules 3.15.55 → 3.15.56

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.
@@ -47,6 +47,7 @@ var CopyToClipboardButton = function CopyToClipboardButton(_ref) {
47
47
  var ref = useRef();
48
48
  var onHandleClick = function onHandleClick(event) {
49
49
  event.preventDefault();
50
+ event.stopPropagation();
50
51
  copyToClipboard(value, {
51
52
  showToastr: false
52
53
  });
@@ -1 +1 @@
1
- {"version":3,"file":"CopyToClipboardButton.js","sources":["../src/components/CopyToClipboardButton/constants.js","../src/components/CopyToClipboardButton/index.jsx"],"sourcesContent":["const TIME_OUT = 2000;\n\nconst TOOLTIP_CONFIG = {\n trigger: \"click mouseenter\",\n hideAfter: TIME_OUT,\n position: \"top\",\n};\n\nconst BUTTON_STYLES = {\n primary: \"primary\",\n secondary: \"secondary\",\n text: \"text\",\n};\n\nexport { TOOLTIP_CONFIG, TIME_OUT, BUTTON_STYLES };\n","import { useState, useEffect, useRef } from \"react\";\n\nimport classnames from \"classnames\";\nimport { copyToClipboard } from \"neetocommons/utils/general\";\nimport { Copy, Check } from \"neetoicons\";\nimport { Button } from \"neetoui\";\nimport PropTypes from \"prop-types\";\nimport { mergeAll } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { TOOLTIP_CONFIG, TIME_OUT, BUTTON_STYLES } from \"./constants\";\nimport \"./copyToClipboard.scss\";\n\nconst CopyToClipboardButton = ({\n className,\n icon = Copy,\n label = \"\",\n successLabel,\n tooltipContent,\n successTooltipContent,\n value,\n style,\n tooltipProps,\n ...otherProps\n}) => {\n const { t } = useTranslation();\n\n const [isChecked, setIsChecked] = useState(false);\n\n const ref = useRef();\n\n const onHandleClick = event => {\n event.preventDefault();\n copyToClipboard(value, { showToastr: false });\n setIsChecked(true);\n setTimeout(() => {\n setIsChecked(false);\n }, TIME_OUT); // Reset copied state after 2 seconds\n };\n\n useEffect(() => {\n if (!ref.current) return;\n const buttonWidth = ref.current.clientWidth;\n ref.current.style.minWidth = `${buttonWidth}px`;\n }, []);\n\n const tooltipOptions = label\n ? null\n : mergeAll([\n TOOLTIP_CONFIG,\n {\n content: isChecked\n ? successTooltipContent || t(\"neetoMolecules.common.copied\")\n : tooltipContent || t(\"neetoMolecules.common.copyToClipboard\"),\n },\n tooltipProps,\n ]);\n\n const buttonLabel =\n isChecked && label\n ? successLabel || t(\"neetoMolecules.common.copied\")\n : label;\n const buttonIcon = isChecked ? Check : icon;\n\n return (\n <Button\n {...{ ref, style }}\n data-cy=\"copy-to-clipboard-button\"\n data-testid=\"copy-button\"\n icon={buttonIcon}\n label={buttonLabel}\n tooltipProps={tooltipOptions}\n className={classnames(\"neeto-molecules-copy-button\", {\n [className]: className,\n \"neeto-molecules-copy-button--active\": isChecked,\n })}\n onClick={onHandleClick}\n {...otherProps}\n />\n );\n};\n\nCopyToClipboardButton.propTypes = {\n /**\n * To provide additional classnames to the button.\n */\n className: PropTypes.string,\n /**\n * To provide the icon to be passed to the button. Defaults to the Copy icon.\n */\n icon: PropTypes.oneOfType([PropTypes.string, PropTypes.element]),\n /**\n * To provide the label to the button. By default there is no label.\n */\n label: PropTypes.string,\n /**\n * The label of button when the value is copied to clipboard. Defaults to 'Copied'.\n */\n successLabel: PropTypes.string,\n /**\n * The value to be copied to clipboard. (required)\n */\n value: PropTypes.string,\n /**\n * To specify the style of the Button.\n */\n style: PropTypes.oneOf(Object.values(BUTTON_STYLES)),\n /**\n * The content of the tooltip when the value is copied to clipboard. Defaults to 'Copy to clipboard'.\n */\n tooltipContent: PropTypes.string,\n /**\n * The content of the tooltip when the value is copied to clipboard. Defaults to 'Copied'.\n */\n successTooltipContent: PropTypes.string,\n};\n\nexport default CopyToClipboardButton;\n"],"names":["TIME_OUT","TOOLTIP_CONFIG","trigger","hideAfter","position","CopyToClipboardButton","_ref","className","_ref$icon","icon","Copy","_ref$label","label","successLabel","tooltipContent","successTooltipContent","value","style","tooltipProps","otherProps","_objectWithoutProperties","_excluded","_useTranslation","useTranslation","t","_useState","useState","_useState2","_slicedToArray","isChecked","setIsChecked","ref","useRef","onHandleClick","event","preventDefault","copyToClipboard","showToastr","setTimeout","useEffect","current","buttonWidth","clientWidth","minWidth","concat","tooltipOptions","mergeAll","content","buttonLabel","buttonIcon","Check","_jsx","Button","_objectSpread","classnames","_defineProperty","onClick"],"mappings":"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"}
1
+ {"version":3,"file":"CopyToClipboardButton.js","sources":["../src/components/CopyToClipboardButton/constants.js","../src/components/CopyToClipboardButton/index.jsx"],"sourcesContent":["const TIME_OUT = 2000;\n\nconst TOOLTIP_CONFIG = {\n trigger: \"click mouseenter\",\n hideAfter: TIME_OUT,\n position: \"top\",\n};\n\nconst BUTTON_STYLES = {\n primary: \"primary\",\n secondary: \"secondary\",\n text: \"text\",\n};\n\nexport { TOOLTIP_CONFIG, TIME_OUT, BUTTON_STYLES };\n","import { useState, useEffect, useRef } from \"react\";\n\nimport classnames from \"classnames\";\nimport { copyToClipboard } from \"neetocommons/utils/general\";\nimport { Copy, Check } from \"neetoicons\";\nimport { Button } from \"neetoui\";\nimport PropTypes from \"prop-types\";\nimport { mergeAll } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { TOOLTIP_CONFIG, TIME_OUT, BUTTON_STYLES } from \"./constants\";\nimport \"./copyToClipboard.scss\";\n\nconst CopyToClipboardButton = ({\n className,\n icon = Copy,\n label = \"\",\n successLabel,\n tooltipContent,\n successTooltipContent,\n value,\n style,\n tooltipProps,\n ...otherProps\n}) => {\n const { t } = useTranslation();\n\n const [isChecked, setIsChecked] = useState(false);\n\n const ref = useRef();\n\n const onHandleClick = event => {\n event.preventDefault();\n event.stopPropagation();\n copyToClipboard(value, { showToastr: false });\n setIsChecked(true);\n setTimeout(() => {\n setIsChecked(false);\n }, TIME_OUT); // Reset copied state after 2 seconds\n };\n\n useEffect(() => {\n if (!ref.current) return;\n const buttonWidth = ref.current.clientWidth;\n ref.current.style.minWidth = `${buttonWidth}px`;\n }, []);\n\n const tooltipOptions = label\n ? null\n : mergeAll([\n TOOLTIP_CONFIG,\n {\n content: isChecked\n ? successTooltipContent || t(\"neetoMolecules.common.copied\")\n : tooltipContent || t(\"neetoMolecules.common.copyToClipboard\"),\n },\n tooltipProps,\n ]);\n\n const buttonLabel =\n isChecked && label\n ? successLabel || t(\"neetoMolecules.common.copied\")\n : label;\n const buttonIcon = isChecked ? Check : icon;\n\n return (\n <Button\n {...{ ref, style }}\n data-cy=\"copy-to-clipboard-button\"\n data-testid=\"copy-button\"\n icon={buttonIcon}\n label={buttonLabel}\n tooltipProps={tooltipOptions}\n className={classnames(\"neeto-molecules-copy-button\", {\n [className]: className,\n \"neeto-molecules-copy-button--active\": isChecked,\n })}\n onClick={onHandleClick}\n {...otherProps}\n />\n );\n};\n\nCopyToClipboardButton.propTypes = {\n /**\n * To provide additional classnames to the button.\n */\n className: PropTypes.string,\n /**\n * To provide the icon to be passed to the button. Defaults to the Copy icon.\n */\n icon: PropTypes.oneOfType([PropTypes.string, PropTypes.element]),\n /**\n * To provide the label to the button. By default there is no label.\n */\n label: PropTypes.string,\n /**\n * The label of button when the value is copied to clipboard. Defaults to 'Copied'.\n */\n successLabel: PropTypes.string,\n /**\n * The value to be copied to clipboard. (required)\n */\n value: PropTypes.string,\n /**\n * To specify the style of the Button.\n */\n style: PropTypes.oneOf(Object.values(BUTTON_STYLES)),\n /**\n * The content of the tooltip when the value is copied to clipboard. Defaults to 'Copy to clipboard'.\n */\n tooltipContent: PropTypes.string,\n /**\n * The content of the tooltip when the value is copied to clipboard. Defaults to 'Copied'.\n */\n successTooltipContent: PropTypes.string,\n};\n\nexport default CopyToClipboardButton;\n"],"names":["TIME_OUT","TOOLTIP_CONFIG","trigger","hideAfter","position","CopyToClipboardButton","_ref","className","_ref$icon","icon","Copy","_ref$label","label","successLabel","tooltipContent","successTooltipContent","value","style","tooltipProps","otherProps","_objectWithoutProperties","_excluded","_useTranslation","useTranslation","t","_useState","useState","_useState2","_slicedToArray","isChecked","setIsChecked","ref","useRef","onHandleClick","event","preventDefault","stopPropagation","copyToClipboard","showToastr","setTimeout","useEffect","current","buttonWidth","clientWidth","minWidth","concat","tooltipOptions","mergeAll","content","buttonLabel","buttonIcon","Check","_jsx","Button","_objectSpread","classnames","_defineProperty","onClick"],"mappings":"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"}
@@ -49,6 +49,7 @@ var CopyToClipboardButton = function CopyToClipboardButton(_ref) {
49
49
  var ref = React.useRef();
50
50
  var onHandleClick = function onHandleClick(event) {
51
51
  event.preventDefault();
52
+ event.stopPropagation();
52
53
  general.copyToClipboard(value, {
53
54
  showToastr: false
54
55
  });
@@ -1 +1 @@
1
- {"version":3,"file":"CopyToClipboardButton.js","sources":["../../src/components/CopyToClipboardButton/constants.js","../../src/components/CopyToClipboardButton/index.jsx"],"sourcesContent":["const TIME_OUT = 2000;\n\nconst TOOLTIP_CONFIG = {\n trigger: \"click mouseenter\",\n hideAfter: TIME_OUT,\n position: \"top\",\n};\n\nconst BUTTON_STYLES = {\n primary: \"primary\",\n secondary: \"secondary\",\n text: \"text\",\n};\n\nexport { TOOLTIP_CONFIG, TIME_OUT, BUTTON_STYLES };\n","import { useState, useEffect, useRef } from \"react\";\n\nimport classnames from \"classnames\";\nimport { copyToClipboard } from \"neetocommons/utils/general\";\nimport { Copy, Check } from \"neetoicons\";\nimport { Button } from \"neetoui\";\nimport PropTypes from \"prop-types\";\nimport { mergeAll } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { TOOLTIP_CONFIG, TIME_OUT, BUTTON_STYLES } from \"./constants\";\nimport \"./copyToClipboard.scss\";\n\nconst CopyToClipboardButton = ({\n className,\n icon = Copy,\n label = \"\",\n successLabel,\n tooltipContent,\n successTooltipContent,\n value,\n style,\n tooltipProps,\n ...otherProps\n}) => {\n const { t } = useTranslation();\n\n const [isChecked, setIsChecked] = useState(false);\n\n const ref = useRef();\n\n const onHandleClick = event => {\n event.preventDefault();\n copyToClipboard(value, { showToastr: false });\n setIsChecked(true);\n setTimeout(() => {\n setIsChecked(false);\n }, TIME_OUT); // Reset copied state after 2 seconds\n };\n\n useEffect(() => {\n if (!ref.current) return;\n const buttonWidth = ref.current.clientWidth;\n ref.current.style.minWidth = `${buttonWidth}px`;\n }, []);\n\n const tooltipOptions = label\n ? null\n : mergeAll([\n TOOLTIP_CONFIG,\n {\n content: isChecked\n ? successTooltipContent || t(\"neetoMolecules.common.copied\")\n : tooltipContent || t(\"neetoMolecules.common.copyToClipboard\"),\n },\n tooltipProps,\n ]);\n\n const buttonLabel =\n isChecked && label\n ? successLabel || t(\"neetoMolecules.common.copied\")\n : label;\n const buttonIcon = isChecked ? Check : icon;\n\n return (\n <Button\n {...{ ref, style }}\n data-cy=\"copy-to-clipboard-button\"\n data-testid=\"copy-button\"\n icon={buttonIcon}\n label={buttonLabel}\n tooltipProps={tooltipOptions}\n className={classnames(\"neeto-molecules-copy-button\", {\n [className]: className,\n \"neeto-molecules-copy-button--active\": isChecked,\n })}\n onClick={onHandleClick}\n {...otherProps}\n />\n );\n};\n\nCopyToClipboardButton.propTypes = {\n /**\n * To provide additional classnames to the button.\n */\n className: PropTypes.string,\n /**\n * To provide the icon to be passed to the button. Defaults to the Copy icon.\n */\n icon: PropTypes.oneOfType([PropTypes.string, PropTypes.element]),\n /**\n * To provide the label to the button. By default there is no label.\n */\n label: PropTypes.string,\n /**\n * The label of button when the value is copied to clipboard. Defaults to 'Copied'.\n */\n successLabel: PropTypes.string,\n /**\n * The value to be copied to clipboard. (required)\n */\n value: PropTypes.string,\n /**\n * To specify the style of the Button.\n */\n style: PropTypes.oneOf(Object.values(BUTTON_STYLES)),\n /**\n * The content of the tooltip when the value is copied to clipboard. Defaults to 'Copy to clipboard'.\n */\n tooltipContent: PropTypes.string,\n /**\n * The content of the tooltip when the value is copied to clipboard. Defaults to 'Copied'.\n */\n successTooltipContent: PropTypes.string,\n};\n\nexport default CopyToClipboardButton;\n"],"names":["TIME_OUT","TOOLTIP_CONFIG","trigger","hideAfter","position","CopyToClipboardButton","_ref","className","_ref$icon","icon","Copy","_ref$label","label","successLabel","tooltipContent","successTooltipContent","value","style","tooltipProps","otherProps","_objectWithoutProperties","_excluded","_useTranslation","useTranslation","t","_useState","useState","_useState2","_slicedToArray","isChecked","setIsChecked","ref","useRef","onHandleClick","event","preventDefault","copyToClipboard","showToastr","setTimeout","useEffect","current","buttonWidth","clientWidth","minWidth","concat","tooltipOptions","mergeAll","content","buttonLabel","buttonIcon","Check","_jsx","Button","_objectSpread","classnames","_defineProperty","onClick"],"mappings":"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"}
1
+ {"version":3,"file":"CopyToClipboardButton.js","sources":["../../src/components/CopyToClipboardButton/constants.js","../../src/components/CopyToClipboardButton/index.jsx"],"sourcesContent":["const TIME_OUT = 2000;\n\nconst TOOLTIP_CONFIG = {\n trigger: \"click mouseenter\",\n hideAfter: TIME_OUT,\n position: \"top\",\n};\n\nconst BUTTON_STYLES = {\n primary: \"primary\",\n secondary: \"secondary\",\n text: \"text\",\n};\n\nexport { TOOLTIP_CONFIG, TIME_OUT, BUTTON_STYLES };\n","import { useState, useEffect, useRef } from \"react\";\n\nimport classnames from \"classnames\";\nimport { copyToClipboard } from \"neetocommons/utils/general\";\nimport { Copy, Check } from \"neetoicons\";\nimport { Button } from \"neetoui\";\nimport PropTypes from \"prop-types\";\nimport { mergeAll } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { TOOLTIP_CONFIG, TIME_OUT, BUTTON_STYLES } from \"./constants\";\nimport \"./copyToClipboard.scss\";\n\nconst CopyToClipboardButton = ({\n className,\n icon = Copy,\n label = \"\",\n successLabel,\n tooltipContent,\n successTooltipContent,\n value,\n style,\n tooltipProps,\n ...otherProps\n}) => {\n const { t } = useTranslation();\n\n const [isChecked, setIsChecked] = useState(false);\n\n const ref = useRef();\n\n const onHandleClick = event => {\n event.preventDefault();\n event.stopPropagation();\n copyToClipboard(value, { showToastr: false });\n setIsChecked(true);\n setTimeout(() => {\n setIsChecked(false);\n }, TIME_OUT); // Reset copied state after 2 seconds\n };\n\n useEffect(() => {\n if (!ref.current) return;\n const buttonWidth = ref.current.clientWidth;\n ref.current.style.minWidth = `${buttonWidth}px`;\n }, []);\n\n const tooltipOptions = label\n ? null\n : mergeAll([\n TOOLTIP_CONFIG,\n {\n content: isChecked\n ? successTooltipContent || t(\"neetoMolecules.common.copied\")\n : tooltipContent || t(\"neetoMolecules.common.copyToClipboard\"),\n },\n tooltipProps,\n ]);\n\n const buttonLabel =\n isChecked && label\n ? successLabel || t(\"neetoMolecules.common.copied\")\n : label;\n const buttonIcon = isChecked ? Check : icon;\n\n return (\n <Button\n {...{ ref, style }}\n data-cy=\"copy-to-clipboard-button\"\n data-testid=\"copy-button\"\n icon={buttonIcon}\n label={buttonLabel}\n tooltipProps={tooltipOptions}\n className={classnames(\"neeto-molecules-copy-button\", {\n [className]: className,\n \"neeto-molecules-copy-button--active\": isChecked,\n })}\n onClick={onHandleClick}\n {...otherProps}\n />\n );\n};\n\nCopyToClipboardButton.propTypes = {\n /**\n * To provide additional classnames to the button.\n */\n className: PropTypes.string,\n /**\n * To provide the icon to be passed to the button. Defaults to the Copy icon.\n */\n icon: PropTypes.oneOfType([PropTypes.string, PropTypes.element]),\n /**\n * To provide the label to the button. By default there is no label.\n */\n label: PropTypes.string,\n /**\n * The label of button when the value is copied to clipboard. Defaults to 'Copied'.\n */\n successLabel: PropTypes.string,\n /**\n * The value to be copied to clipboard. (required)\n */\n value: PropTypes.string,\n /**\n * To specify the style of the Button.\n */\n style: PropTypes.oneOf(Object.values(BUTTON_STYLES)),\n /**\n * The content of the tooltip when the value is copied to clipboard. Defaults to 'Copy to clipboard'.\n */\n tooltipContent: PropTypes.string,\n /**\n * The content of the tooltip when the value is copied to clipboard. Defaults to 'Copied'.\n */\n successTooltipContent: PropTypes.string,\n};\n\nexport default CopyToClipboardButton;\n"],"names":["TIME_OUT","TOOLTIP_CONFIG","trigger","hideAfter","position","CopyToClipboardButton","_ref","className","_ref$icon","icon","Copy","_ref$label","label","successLabel","tooltipContent","successTooltipContent","value","style","tooltipProps","otherProps","_objectWithoutProperties","_excluded","_useTranslation","useTranslation","t","_useState","useState","_useState2","_slicedToArray","isChecked","setIsChecked","ref","useRef","onHandleClick","event","preventDefault","stopPropagation","copyToClipboard","showToastr","setTimeout","useEffect","current","buttonWidth","clientWidth","minWidth","concat","tooltipOptions","mergeAll","content","buttonLabel","buttonIcon","Check","_jsx","Button","_objectSpread","classnames","_defineProperty","onClick"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bigbinary/neeto-molecules",
3
- "version": "3.15.55",
3
+ "version": "3.15.56",
4
4
  "description": "A package of reusable molecular components for neeto products.",
5
5
  "repository": "git@github.com:bigbinary/neeto-molecules.git",
6
6
  "author": "Amaljith K <amaljith.k@bigbinary.com>",