{"version":3,"file":"get-aria-described-by-element-ids.chunk-BWCqN8eF.js","sources":["../../../../../packages/web-components/src/utils/get-aria-described-by-element-ids.ts"],"sourcesContent":["import { v4 as uuidv4 } from 'uuid';\n\nconst getAriaDescribedbyElements = (element: any) => {\n const { ariaDescribedby, ariaDescribedbyIds } = element;\n let newAriaDescribedby = '';\n\n // TODOv4: Remove the logic for ariaDescribedby when the property is removed\n if (ariaDescribedby || ariaDescribedbyIds) {\n const ids = ariaDescribedby\n ? ariaDescribedby.split(/\\s+/)\n : ariaDescribedbyIds.split(/\\s+/);\n ids.forEach((id: string) => {\n const ariaDescribedbyElement = document.getElementById(id) as HTMLElement;\n if (ariaDescribedbyElement) {\n const uniqueId = `${id}-${uuidv4()}`;\n const elementText = ariaDescribedbyElement.textContent;\n\n const span = document.createElement('span');\n span.id = uniqueId;\n span.hidden = true;\n span.textContent = elementText;\n element.shadowRoot.appendChild(span);\n\n newAriaDescribedby += `${uniqueId} `;\n }\n });\n }\n return newAriaDescribedby.trim();\n};\n\n/*\n * This function is used to get the aria-describedby element ids for the element, and return them as a string. If necessary, it will also move the text content of elements being used by aria-describedby to a span element in the shadow DOM.\n */\nexport const getAriaDescribedByElementIds = (element: any) => {\n const ariaDescribedbyElementIds = getAriaDescribedbyElements(element);\n\n if (element.target === '_blank') {\n return ariaDescribedbyElementIds.concat(' hyperlink-sr-label');\n }\n\n // TODOv4: Remove the logic for ariaDescribedby when the property is removed\n if (\n element.disabledContext &&\n (element.ariaDescribedby || element.ariaDescribedbyIds)\n ) {\n return ariaDescribedbyElementIds.concat(' disabled-context');\n }\n\n if (element.disabledContext) {\n return 'disabled-context';\n }\n\n return ariaDescribedbyElementIds;\n};\n"],"names":["getAriaDescribedbyElements","element","ariaDescribedby","ariaDescribedbyIds","newAriaDescribedby","id","ariaDescribedbyElement","uniqueId","uuidv4","elementText","span","getAriaDescribedByElementIds","ariaDescribedbyElementIds"],"mappings":";AAEA,MAAMA,IAA6B,CAACC,MAAiB;AAC7C,QAAA,EAAE,iBAAAC,GAAiB,oBAAAC,EAAA,IAAuBF;AAChD,MAAIG,IAAqB;AAGzB,UAAIF,KAAmBC,OACTD,IACRA,EAAgB,MAAM,KAAK,IAC3BC,EAAmB,MAAM,KAAK,GAC9B,QAAQ,CAACE,MAAe;AACpB,UAAAC,IAAyB,SAAS,eAAeD,CAAE;AACzD,QAAIC,GAAwB;AAC1B,YAAMC,IAAW,GAAGF,CAAE,IAAIG,EAAQ,CAAA,IAC5BC,IAAcH,EAAuB,aAErCI,IAAO,SAAS,cAAc,MAAM;AAC1C,MAAAA,EAAK,KAAKH,GACVG,EAAK,SAAS,IACdA,EAAK,cAAcD,GACXR,EAAA,WAAW,YAAYS,CAAI,GAEnCN,KAAsB,GAAGG,CAAQ;AAAA,IAAA;AAAA,EACnC,CACD,GAEIH,EAAmB,KAAK;AACjC,GAKaO,IAA+B,CAACV,MAAiB;AACtD,QAAAW,IAA4BZ,EAA2BC,CAAO;AAEhE,SAAAA,EAAQ,WAAW,WACdW,EAA0B,OAAO,qBAAqB,IAK7DX,EAAQ,oBACPA,EAAQ,mBAAmBA,EAAQ,sBAE7BW,EAA0B,OAAO,mBAAmB,IAGzDX,EAAQ,kBACH,qBAGFW;AACT;"}