{"version":3,"names":["generateId","namespace","generateRandomString","Math","random","toString","substr","getClassFromSize","size","ButtonSizes","MEDIUM","SMALL","getClassFromLevel","level","ButtonLevels","PRIMARY","SECONDARY","TERTIARY","getMediaQueryBreakpointClassUp","bp","getMediaQueryBreakpointClassDown","showErrorMessage","message","component","window","trackEvent","name","EventTypes","ADS_CONSOLE_ERROR","tagName","toLowerCase","componentId","id","environment","version","host","location","err","console","log","warn"],"sources":["src/components/core/utils/components.ts"],"sourcesContent":["import { Breakpoint, ButtonLevel, ButtonLevels, ButtonSize, ButtonSizes, WindowGlobal } from '../types/globalTypes';\nimport { EventTypes, environment, version } from '../global/AppInsights/constants';\n\nexport type ShadowRootLegacy = ShadowRoot & { tagName: string };\n\n/**\n * Generates a unique component ID\n * @param {string} namespace The unique id's namespace (e.g. ads)\n * @returns {string} A generated random id (e.g. ads-1234)\n */\nexport const generateId = (namespace = 'ads'): string => {\n return `${namespace}-${generateRandomString()}`;\n};\n\n/**\n * Generates a randon string\n * @returns {string} A generated random string\n */\nexport const generateRandomString = (): string => {\n return Math.random().toString(36).substr(2, 16);\n};\n\n/**\n * Generates a size class based on a button size\n * @param {ButtonSize} size The size of the button (e.g. ButtonSizes.SMALL)\n * @returns {string} The button size class (e.g. 'is-small')\n */\nexport const getClassFromSize = (size: ButtonSize): string => {\n switch (size) {\n case ButtonSizes.MEDIUM:\n return 'is-medium';\n case ButtonSizes.SMALL:\n return 'is-small';\n default:\n return '';\n }\n};\n\n/**\n * Generates a level class based on button a level\n * @param {ButtonLevel} level The level of the button (e.g. ButtonLevels.PRIMARY)\n * @returns {string} The button level class (e.g. 'is-primary')\n */\nexport const getClassFromLevel = (level: ButtonLevel): string => {\n switch (level) {\n case ButtonLevels.PRIMARY:\n return 'is-primary';\n case ButtonLevels.SECONDARY:\n return 'is-secondary';\n case ButtonLevels.TERTIARY:\n return 'is-tertiary';\n default:\n return '';\n }\n};\n\n/**\n * Given a breakpoint it will return the appropriate class for the media-queries (breakpoints-up).\n * @param {Breakpoint} bp The breakpoint.\n * @returns {string} The class.\n */\nexport const getMediaQueryBreakpointClassUp = (bp: Breakpoint): string => `${bp.toString()}-up`;\n\n/**\n * Given a breakpoint it will return the appropriate class for the media-queries (breakpoints-down).\n * @param {Breakpoint} bp The breakpoint.\n * @returns {string} The class.\n */\nexport const getMediaQueryBreakpointClassDown = (bp: Breakpoint): string => `${bp.toString()}-down`;\n\n/**\n * Display an ADS warning with the given message\n * @param {string} message The error message to show\n * @param {string} component The reference to the component\n * @returns {void}\n */\nexport const showErrorMessage = (message: string, component: HTMLElement): void => {\n try {\n (window as WindowGlobal)['AppInsights'].trackEvent(\n {\n name: EventTypes.ADS_CONSOLE_ERROR as string,\n },\n {\n component: component.tagName.toLowerCase(),\n componentId: component.id,\n message: message,\n environment,\n version,\n host: window.location.host,\n }\n );\n } catch (err) {\n // eslint-disable-next-line no-console\n console.log('[APP INSIGHTS] Could not send console error', err);\n }\n // eslint-disable-next-line no-console\n console.warn(`ADS-Warning: ${message}`);\n};\n"],"mappings":"mGAUaA,EAAa,CAACC,EAAY,QAC9B,GAAGA,KAAaC,MAOlB,MAAMA,EAAuB,IAC3BC,KAAKC,SAASC,SAAS,IAAIC,OAAO,EAAG,I,MAQjCC,EAAoBC,IAC/B,OAAQA,GACN,KAAKC,EAAYC,OACf,MAAO,YACT,KAAKD,EAAYE,MACf,MAAO,WACT,QACE,MAAO,G,QASAC,EAAqBC,IAChC,OAAQA,GACN,KAAKC,EAAaC,QAChB,MAAO,aACT,KAAKD,EAAaE,UAChB,MAAO,eACT,KAAKF,EAAaG,SAChB,MAAO,cACT,QACE,MAAO,G,QASAC,EAAkCC,GAA2B,GAAGA,EAAGd,gB,MAOnEe,EAAoCD,GAA2B,GAAGA,EAAGd,kB,MAQrEgB,EAAmB,CAACC,EAAiBC,KAChD,IACGC,OAAwB,eAAeC,WACtC,CACEC,KAAMC,EAAWC,mBAEnB,CACEL,UAAWA,EAAUM,QAAQC,cAC7BC,YAAaR,EAAUS,GACvBV,QAASA,EACTW,cACAC,UACAC,KAAMX,OAAOY,SAASD,M,CAG1B,MAAOE,GAEPC,QAAQC,IAAI,8CAA+CF,E,CAG7DC,QAAQE,KAAK,gBAAgBlB,IAAU,S","ignoreList":[]}