{"version":3,"file":"ButtonIcon-Ddgl_4tM-chunk.js","sources":["../../../src/components/utility/images/ImageDownload.jsx","../../../src/components/utility/images/ImageInfo.jsx","../../../src/components/utility/images/ImageInfoCircle.jsx","../../../src/components/utility/images/ImageMobileMenu.jsx","../../../src/components/utility/images/ImageMore.jsx","../../../src/components/utility/images/ImagePause.jsx","../../../src/components/utility/images/ImagePlay.jsx","../../../src/components/utility/images/ImageShare.jsx","../../../src/components/utility/images/ImageVolumeFull.jsx","../../../src/components/utility/images/ImageVolumeHalf.jsx","../../../src/components/utility/images/ImageVolumeMute.jsx","../../../src/components/utility/button/ButtonIcon.tsx"],"sourcesContent":["import React from \"react\";\n\nconst ImageDownload = () => {\n\treturn (\n\t\t\n\t\t\t\n\t\t\n\t);\n};\n\nexport default ImageDownload;\n","import React from \"react\";\n\nconst ImageInfo = () => {\n\treturn (\n\t\t\n\t\t\t\n\t\t\n\t);\n};\n\nexport default ImageInfo;\n","import React from \"react\";\n\nconst ImageInfoCircle = () => {\n\treturn (\n\t\t\n\t\t\t\n\t\t\n\t);\n};\n\nexport default ImageInfoCircle;\n","import React from \"react\";\n\nconst ImageMobileMenu = () => {\n\treturn (\n\t\t\n\t\t\t\n\t\t\n\t);\n};\n\nexport default ImageMobileMenu;\n","import React from \"react\";\n\nconst ImageMore = () => {\n\treturn (\n\t\t\n\t\t\t\n\t\t\n\t);\n};\n\nexport default ImageMore;\n","import React from \"react\";\n\nconst ImagePause = (props) => {\n\treturn (\n\t\t\n\t\t\t\n\t\t\n\t);\n};\n\nexport default ImagePause;\n","import React from \"react\";\n\nconst ImagePlay = (props) => {\n\treturn (\n\t\t\n\t\t\t\n\t\t\n\t);\n};\n\nexport default ImagePlay;\n","import React from \"react\";\n\nconst ImageShare = () => {\n\treturn (\n\t\t\n\t\t\t\n\t\t\n\t);\n};\n\nexport default ImageShare;\n","import React from \"react\";\n\nconst ImageVolumeFull = (props) => {\n\treturn (\n\t\t\n\t\t\t\n\t\t\n\t);\n};\n\nexport default ImageVolumeFull;\n","import React from \"react\";\n\nconst ImageVolumeHalf = (props) => {\n\treturn (\n\t\t\n\t\t\t\n\t\t\n\t);\n};\n\nexport default ImageVolumeHalf;\n","import React from \"react\";\n\nconst ImageVolumeMute = (props) => {\n\treturn (\n\t\t\n\t\t\t\n\t\t\n\t);\n};\n\nexport default ImageVolumeMute;\n","import { KeyboardEvent, MouseEventHandler, PropsWithChildren, useMemo } from \"react\";\nimport { useDataId } from \"utils/hooks\";\nimport {\n\tImageArrow,\n\tImageMobileMenu,\n\tImageX,\n\tImageShare,\n\tImageDownload,\n\tImageFavorite,\n\tImageInfo,\n\tImageInfoCircle,\n\tImagePlay,\n\tImageMore,\n\tImagePause,\n\tImageVolumeFull,\n\tImageVolumeHalf,\n\tImageVolumeMute\n} from \"components/utility/images\";\nimport { DefaultComponent } from \"types/DefaultComponent\";\n\n/**\n * Union type for button icon types\n */\nexport type ButtonIconTypes =\n\t| \"menu\"\n\t| \"close\"\n\t| \"download\"\n\t| \"favorite\"\n\t| \"share\"\n\t| \"info-popup\"\n\t| \"info-popup-circle\"\n\t| \"play\"\n\t| \"more\"\n\t| \"volume-full\"\n\t| \"volume-half\"\n\t| \"volume-mute\"\n\t| \"pause\"\n\t| \"toggle\";\n\nexport interface ButtonIconProps extends DefaultComponent {\n\tariaExpanded?: boolean;\n\tariaControls?: string;\n\tclassName?: string;\n\tcolor?: string;\n\tfillOverride?: string;\n\ticonOverride?: string;\n\tisButton?: boolean;\n\ttype: ButtonIconTypes;\n\tdataA?: string;\n\tdataAEvt?: string;\n\tdataAComp?: string;\n\tdataAName?: string;\n\tonClick?: Function;\n\tonKeyPress?: Function;\n\tonMouseEnter?: MouseEventHandler;\n\tonMouseLeave?: MouseEventHandler;\n}\n\n/**\n * ButtonIcon\n * @returns JSXElement\n */\nfunction ButtonIcon({\n\tariaLabel = \"\",\n\tariaExpanded = false,\n\tariaControls = \"\",\n\tclassName = \"\",\n\tcolor = \"default\",\n\tdataQA = \"button-icon\",\n\tdataQAPrefix = \"\",\n\tdataQASuffix = \"\",\n\tfillOverride,\n\ticonOverride,\n\tisButton = true,\n\ttype,\n\tdataA = \"\",\n\tdataAEvt = \"\",\n\tdataAComp = \"\",\n\tdataAName = \"\",\n\tonClick,\n\tonKeyPress,\n\tonMouseEnter,\n\tonMouseLeave\n}: PropsWithChildren) {\n\tconst dataQAId = useDataId(`${dataQA}-${type}`, { prefix: dataQAPrefix, suffix: dataQASuffix });\n\n\tconst genClassName = useMemo(() => {\n\t\treturn `button-icon button-icon-${color} button-${type} ${className}`.trimEnd();\n\t}, [className, color, type]);\n\n\t/**\n\t * Helper to return appropriate icon\n\t * @returns JSXElement\n\t */\n\tconst getIcon = (): JSX.Element => {\n\t\tlet icon: JSX.Element = <>>;\n\n\t\tif (!iconOverride) {\n\t\t\tswitch (type) {\n\t\t\t\tcase \"menu\":\n\t\t\t\t\ticon = ;\n\t\t\t\t\tbreak;\n\t\t\t\tcase \"close\":\n\t\t\t\t\ticon = ;\n\t\t\t\t\tbreak;\n\t\t\t\tcase \"download\":\n\t\t\t\t\ticon = ;\n\t\t\t\t\tbreak;\n\t\t\t\tcase \"favorite\":\n\t\t\t\t\ticon = ;\n\t\t\t\t\tbreak;\n\t\t\t\tcase \"share\":\n\t\t\t\t\ticon = ;\n\t\t\t\t\tbreak;\n\t\t\t\tcase \"info-popup\":\n\t\t\t\t\ticon = ;\n\t\t\t\t\tbreak;\n\t\t\t\tcase \"info-popup-circle\":\n\t\t\t\t\ticon = ;\n\t\t\t\t\tbreak;\n\t\t\t\tcase \"play\":\n\t\t\t\t\ticon = ;\n\t\t\t\t\tbreak;\n\t\t\t\tcase \"more\":\n\t\t\t\t\ticon = ;\n\t\t\t\t\tbreak;\n\t\t\t\tcase \"volume-full\":\n\t\t\t\t\ticon = ;\n\t\t\t\t\tbreak;\n\t\t\t\tcase \"volume-half\":\n\t\t\t\t\ticon = ;\n\t\t\t\t\tbreak;\n\t\t\t\tcase \"volume-mute\":\n\t\t\t\t\ticon = ;\n\t\t\t\t\tbreak;\n\t\t\t\tcase \"pause\":\n\t\t\t\t\ticon = ;\n\t\t\t\t\tbreak;\n\t\t\t\tcase \"toggle\":\n\t\t\t\t\ticon = ;\n\t\t\t\t\tbreak;\n\t\t\t\tdefault:\n\t\t\t\t\tbreak;\n\t\t\t}\n\t\t} else {\n\t\t\tif (iconOverride.split(\".\").pop() === \"svg\") {\n\t\t\t\ticon = (\n\t\t\t\t\t\n\t\t\t\t);\n\t\t\t}\n\t\t\ticon = {type};\n\t\t}\n\n\t\treturn icon;\n\t};\n\n\t/**\n\t * handleKeyPress\n\t * @param e KeyboardEvent : Synthetic handler for keyboard event\n\t * @see https://www.w3.org/TR/uievents-key/#keys-whitespace\n\t */\n\tconst handleKeyPress = (e: KeyboardEvent) => {\n\t\tswitch (e.code) {\n\t\t\tcase \"Enter\":\n\t\t\tcase \"Space\":\n\t\t\t\tonKeyPress\n\t\t\t\t\t? onKeyPress()\n\t\t\t\t\t: onClick\n\t\t\t\t\t\t? onClick()\n\t\t\t\t\t\t: console.error(\"There is no method for handling this action.\");\n\t\t\t\tbreak;\n\t\t}\n\t};\n\n\treturn isButton ? (\n\t\t onClick(e) : undefined}\n\t\t\tonKeyUp={(e) => handleKeyPress(e)}\n\t\t\tonMouseEnter={onMouseEnter}\n\t\t\tonMouseLeave={onMouseLeave}\n\t\t>\n\t\t\t{getIcon()}\n\t\t\n\t) : (\n\t\t\n\t\t\t{getIcon()}\n\t\t\n\t);\n}\n\nexport default ButtonIcon;\n"],"names":["ImageDownload","jsx","ImageInfo","ImageInfoCircle","ImageMobileMenu","ImageMore","ImagePause","props","ImagePlay","ImageShare","ImageVolumeFull","ImageVolumeHalf","ImageVolumeMute","ButtonIcon","ariaLabel","ariaExpanded","ariaControls","className","color","dataQA","dataQAPrefix","dataQASuffix","fillOverride","iconOverride","isButton","type","dataA","dataAEvt","dataAComp","dataAName","onClick","onKeyPress","onMouseEnter","onMouseLeave","dataQAId","useDataId","genClassName","useMemo","getIcon","icon","ImageX","ImageFavorite","ImageArrow","handleKeyPress","e"],"mappings":"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"}