1{"version":3,"file":"css-modules.js","names":["_css","data","require","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","_interopRequireWildcard","obj","__esModule","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","RNW_CSS_CLASS_ID","transformCssModuleWeb","props","transform","Promise","resolve","then","cssResults","filename","code","Buffer","from","src","sourceMap","options","cssModules","dashedIdents","projectRoot","minify","codeAsString","toString","styles","reactNativeWeb","variables","convertLightningCssToReactNativeWebStyleSheet","exports","outputModule","JSON","stringify","dev","runtimeCss","wrapDevelopmentCSS","output","css","map","input","entries","value","className","name","composes","length","join","startsWith","$$css","matchCssModule","filePath","test"],"sources":["../../src/transform-worker/css-modules.ts"],"sourcesContent":["import { wrapDevelopmentCSS } from './css';\n\nconst RNW_CSS_CLASS_ID = '_';\n\nexport async function transformCssModuleWeb(props: {\n  filename: string;\n  src: string;\n  options: { projectRoot: string; minify: boolean; dev: boolean; sourceMap: boolean };\n}) {\n  const { transform } = await import('lightningcss');\n\n  // TODO: Add bundling to resolve imports\n  // https://lightningcss.dev/bundling.html#bundling-order\n\n  const cssResults = transform({\n    filename: props.filename,\n    code: Buffer.from(props.src),\n    sourceMap: props.options.sourceMap,\n    cssModules: {\n      // Prevent renaming CSS variables to ensure\n      // variables created in global files are available.\n      dashedIdents: false,\n    },\n    // cssModules: true,\n    projectRoot: props.options.projectRoot,\n    minify: props.options.minify,\n  });\n  const codeAsString = cssResults.code.toString();\n\n  const { styles, reactNativeWeb, variables } = convertLightningCssToReactNativeWebStyleSheet(\n    cssResults.exports!\n  );\n\n  let outputModule = `module.exports=Object.assign(${JSON.stringify(\n    styles\n  )},{unstable_styles:${JSON.stringify(reactNativeWeb)}},${JSON.stringify(variables)});`;\n\n  if (props.options.dev) {\n    const runtimeCss = wrapDevelopmentCSS({\n      ...props,\n      src: codeAsString,\n    });\n\n    outputModule += '\\n' + runtimeCss;\n  }\n\n  return {\n    output: outputModule,\n    css: cssResults.code,\n    map: cssResults.map,\n  };\n}\n\nexport function convertLightningCssToReactNativeWebStyleSheet(\n  input: import('lightningcss').CSSModuleExports\n) {\n  const styles: Record<string, string> = {};\n  const reactNativeWeb: Record<string, any> = {};\n  const variables: Record<string, string> = {};\n  // e.g. { container: { name: 'ahs8IW_container', composes: [], isReferenced: false }, }\n  Object.entries(input).map(([key, value]) => {\n    // order matters here\n    let className = value.name;\n\n    if (value.composes.length) {\n      className += ' ' + value.composes.map((value) => value.name).join(' ');\n    }\n\n    // CSS Variables will be `{string: string}`\n    if (key.startsWith('--')) {\n      variables[key] = className;\n    }\n\n    styles[key] = className;\n    reactNativeWeb[key] = { $$css: true, [RNW_CSS_CLASS_ID]: className };\n    return {\n      [key]: { $$css: true, [RNW_CSS_CLASS_ID]: className },\n    };\n  });\n\n  return { styles, reactNativeWeb, variables };\n}\n\nexport function matchCssModule(filePath: string): boolean {\n  return !!/\\.module(\\.(native|ios|android|web))?\\.(css|s[ac]ss)$/.test(filePath);\n}\n"],"mappings":"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"}