{"version":3,"names":["camelToKebabCase","string","replace","caps","toLowerCase","generateCssClasses","baseClass","classModifiers","cssClasses","push","kebabModifiers","Object","keys","reduce","classModifier","map","kebabModifier","concat","join"],"sources":["../src/utils/camel-to-kebab-case.ts","../src/utils/generate-css-classes.ts"],"sourcesContent":["/**\n * Converts the given string from camel case to kebab case (givenExampleString => given-example-string)\n *\n * @param string string to be convert from camelCase to kebab-case\n */\nexport function camelToKebabCase(string: string = ''): string {\n\treturn string.replace(/([A-Z])/g, (caps) => `-${caps[0].toLowerCase()}`);\n}\n","import { camelToKebabCase } from './camel-to-kebab-case';\n\n/**\n * Generates cssClasses based on the given baseClass and optional classModifiers, which is an object that describes\n * possible modifiers appended to the baseClass.\n *\n * Example usage:\n * generateCssClasses('zds-button', {\n * hover: true,\n * }) => 'zds-button zds-button--hover'\n *\n * generateCssClasses('zds-button', {\n * hover: false,\n * disabled: true,\n * }) => 'zds-button zds-button--disabled'\n *\n * @param {string} baseClass base class to add modifiers to\n * @param {object} classModifiers modifier object containing modifier keys and boolean values\n *\n * @returns {string}\n */\nexport function generateCssClasses(baseClass: string, classModifiers: { [key: string]: boolean }): string {\n\tconst cssClasses: string[] = [];\n\n\tcssClasses.push(baseClass);\n\n\tconst kebabModifiers: string[] = Object.keys(classModifiers || {})\n\t\t.reduce((kebabModifiers: string[], classModifier) => {\n\t\t\tif (classModifiers[classModifier]) {\n\t\t\t\tkebabModifiers.push(camelToKebabCase(classModifier));\n\t\t\t}\n\n\t\t\treturn kebabModifiers;\n\t\t}, [])\n\t\t.map((kebabModifier) => `${baseClass}--${kebabModifier}`);\n\n\treturn cssClasses.concat(kebabModifiers).join(' ');\n}\n"],"mappings":"SAKgBA,EAAiBC,EAAiB,IACjD,OAAOA,EAAOC,QAAQ,YAAaC,GAAS,IAAIA,EAAK,GAAGC,iBACzD,C,SCcgBC,EAAmBC,EAAmBC,GACrD,MAAMC,EAAuB,GAE7BA,EAAWC,KAAKH,GAEhB,MAAMI,EAA2BC,OAAOC,KAAKL,GAAkB,IAC7DM,QAAO,CAACH,EAA0BI,KAClC,GAAIP,EAAeO,GAAgB,CAClCJ,EAAeD,KAAKT,EAAiBc,G,CAGtC,OAAOJ,CAAc,GACnB,IACFK,KAAKC,GAAkB,GAAGV,MAAcU,MAE1C,OAAOR,EAAWS,OAAOP,GAAgBQ,KAAK,IAC/C,Q","ignoreList":[]}