{"version":3,"file":"hash-styles.mjs","names":[],"sources":["../../../src/core/InlineStyles/hash-styles.ts"],"sourcesContent":["import { cssObjectToString } from './css-object-to-string/css-object-to-string';\nimport type { InlineStylesMediaQuery } from './styles-to-string/styles-to-string';\n\nfunction djb2Hash(str: string): string {\n  let hash = 5381;\n  for (let i = 0; i < str.length; i++) {\n    hash = ((hash << 5) + hash + str.charCodeAt(i)) & 0xffffffff;\n  }\n  return (hash >>> 0).toString(36);\n}\n\nexport function hashStyleProps(\n  styles: React.CSSProperties | undefined,\n  media: InlineStylesMediaQuery[] | undefined\n): string {\n  const stylesStr = styles ? cssObjectToString(styles) : '';\n  const mediaStr = Array.isArray(media)\n    ? media.map((m) => `${m.query}:${cssObjectToString(m.styles)}`).join('|')\n    : '';\n  return `__mdi__-${djb2Hash(`${stylesStr}|${mediaStr}`)}`;\n}\n"],"mappings":";;;AAGA,SAAS,SAAS,KAAqB;CACrC,IAAI,OAAO;AACX,MAAK,IAAI,IAAI,GAAG,IAAI,IAAI,QAAQ,IAC9B,SAAS,QAAQ,KAAK,OAAO,IAAI,WAAW,EAAE,GAAI;AAEpD,SAAQ,SAAS,GAAG,SAAS,GAAG;;AAGlC,SAAgB,eACd,QACA,OACQ;AAKR,QAAO,WAAW,SAAS,GAJT,SAAS,kBAAkB,OAAO,GAAG,GAIf,GAHvB,MAAM,QAAQ,MAAM,GACjC,MAAM,KAAK,MAAM,GAAG,EAAE,MAAM,GAAG,kBAAkB,EAAE,OAAO,GAAG,CAAC,KAAK,IAAI,GACvE,KACkD"}