{"version":3,"file":"sstyled.mjs","names":["cn","getStyles","reshadowGetStyles","RESHADOW_ID","isSSR","window","document","createElement","serverMap","map","css","serverStyles","id","concat","insert","code","hash","container","getElementById","head","appendChild","addEventListener","type","innerHTML","merge","s1","arguments","length","undefined","s2","Object","entries","reduce","acc","_ref","_ref2","_slicedToArray","key","value","startsWith","assign","getClassAndVars","styles","name","props","getPropValue","_props","_ref3","_ref4","substring","_key$split","split","_key$split2","mod","modValue","propValue","Boolean","reshadowToShadow","obj","style","_ref5","_ref6","n","replace","sstyled","_getClassAndVars","_getClassAndVars2","classes","extraProps","keys","className","_objectSpread","Error","SHADOW_STYLES","Symbol"],"sources":["../../../src/core/styled/sstyled.tsx"],"sourcesContent":["import cn from 'classnames';\nimport React from 'react';\n/** @ts-ignore */\nimport { getStyles as reshadowGetStyles } from './reshadow-core';\n\nconst RESHADOW_ID = '__reshadow__';\n\nconst isSSR = !(typeof window !== 'undefined' && window.document && window.document.createElement);\n\nconst serverMap = reshadowGetStyles().map as any;\n\nconst getStyles = () => ({\n  map: serverMap,\n  get css() {\n    let serverStyles = '';\n    for (const id in serverMap) {\n      serverStyles += `<style type='text/css' id='${id}'>${serverMap[id]}</style>`;\n    }\n    return serverStyles;\n  },\n});\n\nfunction insert(code: any, hash: any) {\n  const id = 'reshadow-'.concat(hash);\n\n  if (isSSR) {\n    serverMap[id] = code;\n    return;\n  }\n\n  let container = document.getElementById(RESHADOW_ID);\n\n  if (!container) {\n    container = document.createElement('object');\n    container.id = RESHADOW_ID;\n\n    if (document.head) {\n      document.head.appendChild(container);\n    } else {\n      document.addEventListener('DOMContentLoaded', function () {\n        document.head.appendChild(container as any);\n      });\n    }\n  }\n\n  let css = document.getElementById(id);\n\n  if (!css) {\n    css = document.createElement('style');\n    css.id = id;\n    // @ts-ignore\n    css.type = 'text/css';\n    container.appendChild(css);\n  }\n\n  css.innerHTML = code;\n}\n\nfunction merge(s1 = {}, s2 = {}) {\n  return Object.entries(s2).reduce((acc: any, [key, value]: any) => {\n    if (key.startsWith('@') || key.startsWith('--')) {\n      acc[key] = value;\n    } else {\n      acc[key] = cn(acc[key], value);\n    }\n    return acc;\n  }, Object.assign({}, s1));\n}\n\nfunction getClassAndVars(styles: any, name: any, props: any) {\n  function getPropValue(key: any, props: any) {\n    return props[`use:${key}`] ?? props[key];\n  }\n\n  return Object.entries(styles).reduce(\n    (acc, [key, value]) => {\n      if (key.startsWith('--')) {\n        // @ts-ignore\n        acc[1][value] = getPropValue(key.substring(2), props);\n      } else if (name === key) {\n        // @ts-ignore\n        acc[0][value] = true;\n      } else {\n        const [mod, modValue] = key.split('=');\n        const propValue = getPropValue(mod, props);\n        if (modValue === undefined) {\n          // @ts-ignore\n          acc[0][value] = Boolean(propValue ?? false);\n        } else {\n          // @ts-ignore\n          // biome-ignore lint/suspicious/noDoubleEquals:\n          acc[0][value] = propValue == modValue;\n        }\n      }\n      return acc;\n    },\n    [{}, {}],\n  );\n}\n\nfunction reshadowToShadow(obj: any) {\n  return Object.entries(obj).reduce((style: any, [name, value]) => {\n    let n = name;\n    if (name.startsWith('__')) {\n      n = name.replace(/^__/, '');\n    } else if (name.startsWith('_')) {\n      n = name.replace(/^_/, '').replace('_', '=');\n    }\n    style[n] = value;\n    return style;\n  }, {});\n}\n\nfunction sstyled(styles = {}): ((ReactNode: any) => React.ReactNode) & {\n  cn(name: string, props: any): any;\n} {\n  // @ts-ignore\n  return {\n    cn(name, props) {\n      const [classes, style] = getClassAndVars(reshadowToShadow(styles), name, props);\n      const extraProps = {};\n\n      if (Object.keys(classes).length) {\n        // @ts-ignore\n        extraProps.className = cn(props.className, classes);\n      }\n\n      if (Object.keys(style).length) {\n        // @ts-ignore\n        extraProps.style = Object.assign(style, props.style);\n      }\n      return {\n        ...props,\n        ...extraProps,\n      };\n    },\n  };\n}\n\nsstyled.css = function (css: any): { [key: string]: string } {\n  throw new Error('Enable babel plugin');\n};\nsstyled.insert = insert;\nsstyled.merge = merge;\nsstyled.getStyles = getStyles;\nsstyled.SHADOW_STYLES = Symbol('SHADOW_STYLES');\n\nexport { sstyled };\n"],"mappings":"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"}