{"version":3,"file":"ButtonAction-BSFeNZED-chunk.js","sources":["../../../src/components/utility/button/ButtonAction.jsx"],"sourcesContent":["import { Component } from \"react\";\nimport PropTypes from \"prop-types\";\nimport DotLoader from \"components/utility/dot-loader/DotLoader\";\n\nclass ButtonAction extends Component {\n\tstatic defaultProps = {\n\t\tdisabled: false,\n\t\tonClick: () => void 0,\n\t\twidth: \"auto\"\n\t};\n\n\t// TODO: remove dataACat, dataAAct, dataALbl\n\t// after other components get updated GA4 values\n\tstatic propTypes = {\n\t\ttype: PropTypes.string,\n\t\twidth: PropTypes.string.isRequired,\n\t\tlabel: PropTypes.string.isRequired,\n\t\tclassName: PropTypes.string,\n\t\turl: PropTypes.string,\n\t\tisButton: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n\t\tbuttonType: PropTypes.string,\n\t\tdisabledOutline: PropTypes.string,\n\t\tdisabled: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n\t\tisTarget: PropTypes.string,\n\t\tonClick: PropTypes.func,\n\t\tonKeyDown: PropTypes.func,\n\t\tisLoading: PropTypes.bool,\n\t\tdataA: PropTypes.oneOfType([PropTypes.bool, PropTypes.string]),\n\t\tdataACat: PropTypes.string,\n\t\tdataAAct: PropTypes.string,\n\t\tdataALbl: PropTypes.string,\n\t\tdataAEvt: PropTypes.string,\n\t\tdataALoc: PropTypes.string,\n\t\tdataAText: PropTypes.string,\n\t\tdataAComp: PropTypes.string,\n\t\tdataQa: PropTypes.string\n\t};\n\n\tconstructor(props) {\n\t\tsuper(props);\n\t\tthis.getType = this.getType.bind(this);\n\t\tthis.getWidth = this.getWidth.bind(this);\n\t\tthis.state = { isLoadingFlag: false };\n\t}\n\tcomponentDidUpdate(prevProps) {\n\t\tif (prevProps.isLoading && !this.props.isLoading) {\n\t\t\tthis.setState({\n\t\t\t\tisLoadingFlag: false\n\t\t\t});\n\t\t}\n\t}\n\tgetType() {\n\t\tswitch (this.props.type) {\n\t\t\tcase \"outline\":\n\t\t\t\treturn \"outline\";\n\t\t\tcase \"outline-almost-black\":\n\t\t\t\treturn \"outline-almost-black\";\n\t\t\tcase \"solid\":\n\t\t\t\treturn \"solid\";\n\t\t\tcase \"solid-black-yellow\":\n\t\t\t\treturn \"solid-black-yellow\";\n\t\t\tcase \"solid-warm-yellow\":\n\t\t\t\treturn \"solid-warm-yellow\";\n\t\t\tdefault:\n\t\t\t\treturn \"outline\";\n\t\t}\n\t}\n\tgetWidth() {\n\t\tconst width = this.props.width;\n\t\tlet buttonWidthClass = \"onethird\";\n\t\tswitch (width) {\n\t\t\tcase \"auto\":\n\t\t\t\tbuttonWidthClass = \"auto\";\n\t\t\t\tbreak;\n\t\t\tcase \"onethird\":\n\t\t\t\tbuttonWidthClass = \"onethird\";\n\t\t\t\tbreak;\n\t\t\tcase \"half\":\n\t\t\t\tbuttonWidthClass = \"half\";\n\t\t\t\tbreak;\n\t\t\tcase \"full\":\n\t\t\t\tbuttonWidthClass = \"full\";\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\t// auto width button\n\t\t\t\tbuttonWidthClass = \"auto\";\n\t\t\t\tbreak;\n\t\t}\n\t\treturn buttonWidthClass;\n\t}\n\tloadingIndicator = (e) => {\n\t\tif (typeof this.props.onClick === \"function\") {\n\t\t\tthis.props.onClick(e);\n\t\t}\n\t\tthis.setState({ isLoadingFlag: true });\n\t};\n\trender() {\n\t\tconst {\n\t\t\turl = \"\",\n\t\t\tclassName = \"\",\n\t\t\tbuttonType = \"\",\n\t\t\tlabel = \"\",\n\t\t\tisTarget = \"\",\n\t\t\tdisabled,\n\t\t\tdisabledOutline = \"\",\n\t\t\tonClick,\n\t\t\tonKeyDown,\n\t\t\tisLoading = false,\n\t\t\tdataALbl = \"\",\n\t\t\tdataACat = \"\",\n\t\t\tdataAAct = \"\",\n\t\t\tdataAEvt = \"\",\n\t\t\tdataALoc = \"\",\n\t\t\tdataAText = \"\",\n\t\t\tdataAComp = \"\",\n\t\t\tdataQa = \"\"\n\t\t} = this.props;\n\t\tconst { isLoadingFlag } = this.state;\n\n\t\tlet { isButton, downloadURL, dataA } = this.props;\n\t\tlet loadingAction = isLoading && isLoadingFlag;\n\t\tlet ga4props = {};\n\t\tif (typeof isButton === \"string\") {\n\t\t\tisButton = isButton === \"true\";\n\t\t}\n\t\tif (typeof dataA === \"string\") {\n\t\t\tdataA = dataA === \"true\";\n\t\t}\n\t\tif (dataA === \"true\" || dataA) {\n\t\t\tga4props = {\n\t\t\t\t...(dataALbl && { \"data-a-lbl\": dataALbl }),\n\t\t\t\t...(dataACat && { \"data-a-cat\": dataACat }),\n\t\t\t\t...(dataAAct && { \"data-a-act\": dataAAct }),\n\t\t\t\t...(dataAEvt && { \"data-a-evt\": dataAEvt }),\n\t\t\t\t...(dataALoc && { \"data-a-loc\": dataALoc }),\n\t\t\t\t...(dataAText && { \"data-a-text\": dataAText }),\n\t\t\t\t...(dataAComp && { \"data-a-comp\": dataAComp })\n\t\t\t};\n\t\t}\n\t\treturn isButton === \"true\" || isButton ? (\n\t\t\t {\n\t\t\t\t\tthis.loadingIndicator(e);\n\t\t\t\t}}\n\t\t\t\tonKeyDown={onKeyDown}\n\t\t\t\taria-label={label}\n\t\t\t\ttabIndex=\"0\"\n\t\t\t\tdisabled={disabled === \"true\" || disabled === true}\n\t\t\t\tdata-a={dataA}\n\t\t\t\tdata-qa={dataQa}\n\t\t\t\t{...ga4props}\n\t\t\t\tdata-testid=\"ButtonAction\"\n\t\t\t>\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t{label}\n\t\t\t\t\t\n\t\t\t\t\t{isLoading ? (\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t) : null}\n\t\t\t\t\n\t\t\t\n\t\t) : (\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t{label}\n\t\t\t\t\t\n\t\t\t\t\t{isLoading ? (\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t) : null}\n\t\t\t\t\n\t\t\t\n\t\t);\n\t}\n}\n\nexport default ButtonAction;\n"],"names":["ButtonAction","Component","props","__publicField","e","prevProps","width","buttonWidthClass","url","className","buttonType","label","isTarget","disabled","disabledOutline","onClick","onKeyDown","isLoading","dataALbl","dataACat","dataAAct","dataAEvt","dataALoc","dataAText","dataAComp","dataQa","isLoadingFlag","isButton","downloadURL","dataA","loadingAction","ga4props","jsx","jsxs","DotLoader","PropTypes"],"mappings":"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"}