{"version":3,"names":["clampHeadlineSizeTo","allowedSizes","current","clampHeadlineSize","slice","from","to","includes","regexStringPart","regexNumberPart","stringPart","match","fromNumber","parseInt","toNumber","currentNumber","clampedNumber","Math","max","min","useTheRightHtmlTagForSubheadline","headlineTag","defaultHeadlineTag","headline","toLowerCase","useTheRightHtmlTagForHeadline"],"sources":["src/utils/headline-helper.ts"],"sourcesContent":["import { HeadlineSize, HeadlineTag } from \"../components/headline/constants/headline-types\";\n\nexport function clampHeadlineSizeTo(allowedSizes: readonly HeadlineSize[], current: HeadlineSize): HeadlineSize {\n if (!current) return;\n return clampHeadlineSize(allowedSizes[0], allowedSizes.slice(-1)[0], current);\n}\n\nexport function clampHeadlineSize(from: HeadlineSize, to: HeadlineSize, current: HeadlineSize): HeadlineSize {\n if (current.includes(\"-display\")) {\n return current as HeadlineSize;\n } else {\n const regexStringPart = /\\D+/;\n const regexNumberPart = /\\d+/;\n\n const stringPart = current.match(regexStringPart)[0];\n const fromNumber: number = parseInt(from.match(regexNumberPart)[0]);\n const toNumber: number = parseInt(to.match(regexNumberPart)[0]);\n const currentNumber: number = parseInt(current.match(regexNumberPart)[0]);\n const clampedNumber: number = Math.max(fromNumber, Math.min(currentNumber, toNumber));\n return `${stringPart}${clampedNumber}` as HeadlineSize;\n }\n}\n\nexport function useTheRightHtmlTagForSubheadline(headlineTag: HeadlineTag, defaultHeadlineTag = null) {\n if (!!headlineTag) {\n let headline: string = headlineTag.toLowerCase();\n\n switch (headline) {\n case \"h1\":\n return \"h2\";\n case \"h2\":\n return \"h3\";\n case \"h3\":\n return \"h4\";\n case \"h4\":\n return \"h5\";\n case \"h5\":\n return \"h5\";\n }\n } else {\n return defaultHeadlineTag.toLowerCase();\n }\n}\n\nexport function useTheRightHtmlTagForHeadline(headlineTag: HeadlineTag, defaultHeadlineTag: string) {\n return !!headlineTag ? headlineTag : defaultHeadlineTag;\n}\n"],"mappings":"SAEgBA,EAAoBC,EAAuCC,GACzE,IAAKA,EAAS,OACd,OAAOC,EAAkBF,EAAa,GAAIA,EAAaG,OAAO,GAAG,GAAIF,EACvE,C,SAEgBC,EAAkBE,EAAoBC,EAAkBJ,GACtE,GAAIA,EAAQK,SAAS,YAAa,CAChC,OAAOL,C,KACF,CACL,MAAMM,EAAkB,MACxB,MAAMC,EAAkB,MAExB,MAAMC,EAAaR,EAAQS,MAAMH,GAAiB,GAClD,MAAMI,EAAqBC,SAASR,EAAKM,MAAMF,GAAiB,IAChE,MAAMK,EAAmBD,SAASP,EAAGK,MAAMF,GAAiB,IAC5D,MAAMM,EAAwBF,SAASX,EAAQS,MAAMF,GAAiB,IACtE,MAAMO,EAAwBC,KAAKC,IAAIN,EAAYK,KAAKE,IAAIJ,EAAeD,IAC3E,MAAO,GAAGJ,IAAaM,G,CAE3B,C,SAEgBI,EAAiCC,EAA0BC,EAAqB,MAC9F,KAAMD,EAAa,CACjB,IAAIE,EAAmBF,EAAYG,cAEnC,OAAQD,GACN,IAAK,KACH,MAAO,KACT,IAAK,KACH,MAAO,KACT,IAAK,KACH,MAAO,KACT,IAAK,KACH,MAAO,KACT,IAAK,KACH,MAAO,K,KAEN,CACL,OAAOD,EAAmBE,a,CAE9B,C,SAEgBC,EAA8BJ,EAA0BC,GACtE,QAASD,EAAcA,EAAcC,CACvC,Q"}