{"version":3,"sources":["../src/utils/lowercaseFirstLetter.ts","../src/processors/styled.ts"],"names":[],"mappings":"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","file":"styled.mjs","sourcesContent":["export const lowercaseFirstLetter = (string: string) => {\n  if (!string) {\n    return string;\n  }\n  return string.charAt(0).toLowerCase() + string.slice(1);\n};\n","import { parseExpression } from '@babel/parser';\nimport type {\n  ObjectExpression,\n  SourceLocation,\n  Identifier,\n  Expression,\n  TemplateElement,\n} from '@babel/types';\nimport {\n  Params,\n  TailProcessorParams,\n  ValueCache,\n  validateParams,\n  IOptions as IBaseOptions,\n} from '@wyw-in-js/processor-utils';\nimport {\n  type FunctionValue,\n  ValueType,\n  type ConstValue,\n  type ExpressionValue,\n  type LazyValue,\n  type Replacements,\n  type Rules,\n} from '@wyw-in-js/shared';\nimport { CSSObject } from '@emotion/serialize';\nimport type { PluginCustomOptions } from '../utils/cssFnValueToVariable';\nimport { cssFnValueToVariable } from '../utils/cssFnValueToVariable';\nimport { processCssObject } from '../utils/processCssObject';\nimport { valueToLiteral } from '../utils/valueToLiteral';\nimport { lowercaseFirstLetter } from '../utils/lowercaseFirstLetter';\nimport BaseProcessor from './base-processor';\nimport { Primitive, TemplateCallback } from './keyframes';\nimport { cache, css } from '../utils/emotion';\n\ntype Theme = { [key: 'unstable_sxConfig' | string]: string | number | Theme };\n\ntype VariantData = {\n  props: (componentProps: unknown) => boolean | Record<string, string | number | boolean | null>;\n  style: object;\n  originalExpression?: Exclude<ExpressionValue, ConstValue>;\n};\n\ntype VariantDataTransformed = {\n  props: VariantData['props'];\n  className: string;\n};\n\nexport type WrappedNode =\n  | string\n  | {\n      node: Identifier;\n      nonLinaria?: true;\n      source: string;\n    };\n\nexport type IOptions = IBaseOptions & PluginCustomOptions;\ntype ComponentNames = keyof Exclude<Theme['components'], undefined>;\n\ntype ComponentMeta = {\n  name?: ComponentNames;\n  slot?: string;\n  skipVariantsResolver?: boolean;\n  skipSx?: boolean;\n};\n\n/**\n * WyW-in-JS tag processor responsible for converting complex `styled()()` calls\n * at build-time to simple `styled` calls supported by runtime.\n *\n * Ex -\n * ```\n * const SliderTrack = styled('h4', {\n *   name: 'MuiSlider',\n *   slot: 'Track',\n *   overridesResolver: (props, styles) => styles.track,\n * })({\n *   fontSize: 13,\n *   color: (props) => (props.isRed ? 'red' : 'blue'),\n * });\n * ```\n *\n * gets converted to a simple styled call with no nested calls -\n *\n * ```\n * const SliderTrack = styled('h4', {\n *   classes: ['h13ydq1s'],\n *   vars: { 'b1xyu9xj-0': [(t) => (t.isRed ? 'red' : 'blue'), !1] },\n *   variants: [],\n *   name: 'MuiSlider',\n *   slot: 'Track',\n *   overridesResolver: (t, o) => o.track,\n *   overrideStyles: {}\n * })\n * ```\n *\n * and this css\n * ```css\n * .h13ydq1s {\n *   fontSize: 13px,\n *   color: var(--b1xyu9xj-0);\n * }\n * ```\n *\n * For Wyw-in-JS tag processors, we need to implement 3 methods of BaseProcessor -\n * 1. doEvaltimeReplacement\n * 2. build\n * 3. doRuntimeReplacement\n */\nexport class StyledProcessor extends BaseProcessor {\n  variableIdx = 0;\n\n  component?: WrappedNode;\n\n  componentMetaArg?: LazyValue;\n\n  styleArgs: ExpressionValue[] | (TemplateElement | ExpressionValue)[];\n\n  finalVariants: {\n    props: Record<string, string | number | boolean | null>;\n    className: string;\n  }[] = [];\n\n  overrides: Record<string, string> = {};\n\n  counterMap: Map<string, number> = new Map();\n\n  baseClasses: string[] = [];\n\n  collectedStyles: [string, string, ExpressionValue | null][] = [];\n\n  collectedVariables: [string, Expression, boolean][] = [];\n\n  collectedVariants: VariantDataTransformed[] = [];\n\n  originalLocation: SourceLocation | null = null;\n\n  isTemplateTag: boolean;\n\n  constructor(params: Params, ...args: TailProcessorParams) {\n    if (params.length <= 2) {\n      // no need to do any processing if it is an already transformed call or just a reference.\n      throw BaseProcessor.SKIP;\n    }\n    super([params[0]], ...args);\n    validateParams(\n      params,\n      ['callee', ['call', 'member'], ['call', 'template']],\n      `Invalid use of ${this.tagSource.imported} tag.`,\n    );\n    const [callee, memberOrCall, styleCallOrTemplate] = params;\n    const [callType, componentArg, componentMetaArg] = memberOrCall;\n    const [, ...styleArgs] = styleCallOrTemplate;\n    this.isTemplateTag = styleCallOrTemplate[0] === 'template';\n    this.componentMetaArg =\n      componentMetaArg && componentMetaArg.kind === ValueType.LAZY ? componentMetaArg : undefined;\n    this.styleArgs = styleArgs as ExpressionValue[];\n\n    if (callType === 'member') {\n      this.component = componentArg;\n    } else {\n      switch (componentArg.kind) {\n        case ValueType.CONST:\n          this.component = typeof componentArg.value === 'string' ? componentArg.value : undefined;\n          break;\n        case ValueType.LAZY:\n          this.component = {\n            node: componentArg.ex,\n            source: componentArg.source,\n          };\n          this.dependencies.push(componentArg);\n          break;\n        default:\n          this.component = 'FunctionalComponent';\n          break;\n      }\n      if (componentMetaArg && componentMetaArg.kind !== ValueType.FUNCTION) {\n        this.dependencies.push(componentMetaArg);\n      }\n    }\n    if (!this.component) {\n      throw new Error('Invalid usage of `styled` tag');\n    }\n\n    styleArgs.flat().forEach((item) => {\n      if ('kind' in item) {\n        // push item in dependencies so that they get evaluated and we receive its value in build call.\n        this.dependencies.push(item);\n      }\n    });\n    if (callee[0] === 'callee') {\n      this.originalLocation = callee[1].loc ?? null;\n    }\n  }\n\n  getClassName(key = 'base') {\n    if (!this.counterMap.has(key)) {\n      this.counterMap.set(key, 0);\n    }\n    const currentCount = this.counterMap.get(key) as number;\n    this.counterMap.set(key, currentCount + 1);\n\n    return `${this.className}${key === 'base' ? '' : `-${key}`}${\n      currentCount > 0 ? `-${currentCount}` : ''\n    }`;\n  }\n\n  private generateArtifacts() {\n    const artifacts: [Rules, Replacements][] = this.collectedStyles.map(([className, cssText]) => {\n      const rules: Rules = {\n        [`.${className}`]: {\n          className,\n          cssText,\n          displayName: this.displayName,\n          start: this.location?.start ?? null,\n        },\n      };\n      // @TODO - Refactor for finer location tracking in original code.\n      const replacements: Replacements = [\n        {\n          length: cssText.length,\n          original: {\n            start: {\n              column: this.location?.start.column ?? 0,\n              line: this.location?.start.line ?? 0,\n            },\n            end: {\n              column: this.location?.end.column ?? 0,\n              line: this.location?.end.line ?? 0,\n            },\n          },\n        },\n      ];\n      return [rules, replacements];\n    });\n    artifacts.forEach((artifact) => {\n      // Wyw-in-JS accesses artifacts array to get the final\n      // css definitions which are then exposed to the bundler.\n      this.artifacts.push(['css', artifact]);\n    });\n  }\n\n  private buildTemplateTag(\n    templateStrs: TemplateStringsArray,\n    templateExpressions: Primitive[],\n    values: ValueCache,\n  ) {\n    const cssClassName = css(templateStrs, ...templateExpressions);\n    const cssText = cache.registered[cssClassName] as string;\n\n    const baseClass = this.getClassName();\n    this.baseClasses.push(baseClass);\n    this.collectedStyles.push([baseClass, cssText, null]);\n    const variantsAccumulator: VariantData[] = [];\n    this.processOverrides(values, variantsAccumulator);\n    variantsAccumulator.forEach((variant) => {\n      this.processVariant(variant);\n    });\n    this.generateArtifacts();\n  }\n\n  /**\n   * This handles transformation for direct tagged-template literal styled calls.\n   *\n   * @example\n   * ```js\n   * const Component = style('a')`\n   *   color: red;\n   * `;\n   */\n  private buildForTemplateTag(values: ValueCache) {\n    const templateStrs: string[] = [];\n    // @ts-ignore @TODO - Fix this. No idea how to initialize a Tagged String array.\n    templateStrs.raw = [];\n    const templateExpressions: Primitive[] = [];\n    const { themeArgs } = this.options as IOptions;\n\n    this.styleArgs.flat().forEach((item) => {\n      if ('kind' in item) {\n        switch (item.kind) {\n          case ValueType.FUNCTION: {\n            const value = values.get(item.ex.name) as TemplateCallback;\n            templateExpressions.push(value(themeArgs));\n            break;\n          }\n          case ValueType.CONST:\n            templateExpressions.push(item.value);\n            break;\n          case ValueType.LAZY: {\n            const evaluatedValue = values.get(item.ex.name);\n            if (typeof evaluatedValue === 'function') {\n              templateExpressions.push(evaluatedValue(themeArgs));\n            } else {\n              templateExpressions.push(evaluatedValue as Primitive);\n            }\n            break;\n          }\n          default:\n            break;\n        }\n      } else if (item.type === 'TemplateElement') {\n        templateStrs.push(item.value.cooked as string);\n        // @ts-ignore\n        templateStrs.raw.push(item.value.raw);\n      }\n    });\n    this.buildTemplateTag(\n      templateStrs as unknown as TemplateStringsArray,\n      templateExpressions,\n      values,\n    );\n  }\n\n  /**\n   * This handles transformation for tagged-template literal styled calls that have already been\n   * transformed through swc. See [styled-swc-transformed-tagged-string.input.js](../../tests/styled/fixtures/styled-swc-transformed-tagged-string.input.js)\n   * for sample code.\n   */\n  private buildForTransformedTemplateTag(values: ValueCache) {\n    // the below types are already validated in isMaybeTransformedTemplateLiteral check\n    const [templateStrArg, ...restArgs] = this.styleArgs as (LazyValue | FunctionValue)[];\n    const templateStrings = values.get(templateStrArg.ex.name) as string[];\n\n    const templateStrs: string[] = [...templateStrings];\n    // @ts-ignore @TODO - Fix this. No idea how to initialize a Tagged String array.\n    templateStrs.raw = [...templateStrings];\n    const templateExpressions: Primitive[] = [];\n    const { themeArgs } = this.options as IOptions;\n\n    restArgs.forEach((item) => {\n      switch (item.kind) {\n        case ValueType.FUNCTION: {\n          const value = values.get(item.ex.name) as TemplateCallback;\n          templateExpressions.push(value(themeArgs));\n          break;\n        }\n        case ValueType.LAZY: {\n          const evaluatedValue = values.get(item.ex.name);\n          if (typeof evaluatedValue === 'function') {\n            templateExpressions.push(evaluatedValue(themeArgs));\n          } else {\n            templateExpressions.push(evaluatedValue as Primitive);\n          }\n          break;\n        }\n        default:\n          break;\n      }\n    });\n    this.buildTemplateTag(\n      templateStrs as unknown as TemplateStringsArray,\n      templateExpressions,\n      values,\n    );\n  }\n\n  private buildForStyledCall(values: ValueCache) {\n    const themeImportIdentifier = this.astService.addDefaultImport(\n      `${this.getImportPath()}/theme`,\n      'theme',\n    );\n    // all the variant definitions are collected here so that we can\n    // apply variant styles after base styles for more specific targetting.\n    let variantsAccumulator: VariantData[] = [];\n    (this.styleArgs as ExpressionValue[]).forEach((styleArg) => {\n      this.processStyle(values, styleArg, variantsAccumulator, themeImportIdentifier.name);\n    });\n    // Generate CSS for default variants first\n    variantsAccumulator.forEach((variant) => {\n      this.processVariant(variant);\n    });\n    variantsAccumulator = [];\n    this.processOverrides(values, variantsAccumulator);\n    // Generate CSS for variants declared in `styleOverrides`, if any\n    variantsAccumulator.forEach((variant) => {\n      this.processVariant(variant);\n    });\n    this.generateArtifacts();\n  }\n\n  /**\n   * There are 2 main phases in Wyw-in-JS's processing, Evaltime and Runtime. During Evaltime, Wyw-in-JS prepares minimal code that gets evaluated to get the actual values of the styled arguments. Here, we mostly want to replace the styled calls with a simple string/object of its classname. This is necessary for class composition. For ex, you could potentially do this -\n   * ```js\n   * const Component = styled(...)(...)\n   * const Component2 = styled()({\n   *   [`${Component} &`]: {\n   *      color: 'red'\n   *   }\n   * })\n   * ```\n   * to further target `Component` rendered inside `Component2`.\n   */\n  doEvaltimeReplacement() {\n    this.replacer(this.astService.stringLiteral(this.asSelector), false);\n  }\n\n  isMaybeTransformedTemplateLiteral(values: ValueCache): boolean {\n    const [firstArg, ...restArgs] = this.styleArgs;\n    if (!('kind' in firstArg) || firstArg.kind === ValueType.CONST) {\n      return false;\n    }\n    const firstArgVal = values.get(firstArg.ex.name);\n    if (Array.isArray(firstArgVal) && restArgs.length === firstArgVal.length - 1) {\n      return true;\n    }\n    return false;\n  }\n\n  /**\n   * This is called by Wyw-in-JS after evaluating the code. Here, we\n   * get access to the actual values of the `styled` arguments\n   * which we can use to generate our styles.\n   * Order of processing styles -\n   * 1. CSS directly declared in styled call\n   * 3. Variants declared in styled call\n   * 2. CSS declared in theme object's styledOverrides\n   * 3. Variants declared in theme object\n   */\n  build(values: ValueCache) {\n    if (this.isTemplateTag) {\n      this.buildForTemplateTag(values);\n      return;\n    }\n    if (this.isMaybeTransformedTemplateLiteral(values)) {\n      this.buildForTransformedTemplateTag(values);\n      return;\n    }\n    this.buildForStyledCall(values);\n  }\n\n  /**\n   * This is the runtime phase where all of the css have been transformed and we finally want to replace the `styled` call with the code that we want in the final bundle. In this particular case, we replace the `styled` calls with\n   * ```js\n   * const Component = styled('div')({\n   *  displayName: 'Component',\n   *  name: 'MuiSlider',\n   *  slot: 'root',\n   *  classes: ['class', 'class-1', '...'],\n   *  vars: {\n   *    'var-id': [(props) => props.isRed ? 'red' : 'blue', false],\n   *    // ...\n   *  },\n   *  variants: [{\n   *    props: {\n   *    },\n   *    className: 'class-variant-1',\n   *  }],\n   *  // ...\n   * })\n   * ```\n   */\n  doRuntimeReplacement(): void {\n    const t = this.astService;\n    let componentName: Expression;\n    if (typeof this.component === 'string') {\n      if (this.component === 'FunctionalComponent') {\n        componentName = t.arrowFunctionExpression([], t.blockStatement([]));\n      } else {\n        componentName = t.stringLiteral(this.component);\n      }\n    } else if (this.component?.node) {\n      componentName = t.callExpression(t.identifier(this.component.node.name), []);\n    } else {\n      componentName = t.nullLiteral();\n    }\n    const argProperties: ReturnType<\n      typeof t.objectProperty | typeof t.spreadElement | typeof t.objectMethod\n    >[] = [];\n\n    const classNames = Array.from(\n      new Set([this.className, ...(this.baseClasses.length ? this.baseClasses : [])]),\n    );\n    argProperties.push(\n      t.objectProperty(\n        t.identifier('classes'),\n        t.arrayExpression(classNames.map((cls) => t.stringLiteral(cls))),\n      ),\n    );\n\n    const varProperties: ReturnType<typeof t.objectProperty>[] = this.collectedVariables.map(\n      ([variableId, expression, isUnitLess]) =>\n        t.objectProperty(\n          t.stringLiteral(variableId),\n          t.arrayExpression([expression, t.booleanLiteral(isUnitLess)]),\n        ),\n    );\n    if (varProperties.length) {\n      argProperties.push(t.objectProperty(t.identifier('vars'), t.objectExpression(varProperties)));\n    }\n    if (this.collectedVariants.length) {\n      argProperties.push(\n        t.objectProperty(t.identifier('variants'), valueToLiteral(this.collectedVariants)),\n      );\n    }\n\n    let componentMetaExpression: ObjectExpression | undefined;\n\n    if (this.componentMetaArg) {\n      const parsedMeta = parseExpression(this.componentMetaArg.source);\n      if (parsedMeta.type === 'ObjectExpression') {\n        componentMetaExpression = parsedMeta as ObjectExpression;\n      }\n    }\n\n    const styledImportIdentifier = t.addNamedImport('styled', this.getImportPath());\n    const styledCall = t.callExpression(\n      styledImportIdentifier,\n      componentMetaExpression ? [componentName, componentMetaExpression] : [componentName],\n    );\n    const mainCall = t.callExpression(styledCall, [t.objectExpression(argProperties)]);\n    this.replacer(mainCall, true);\n  }\n\n  /**\n   * Generates css for object directly provided as arguments in the styled call.\n   */\n  processStyle(\n    values: ValueCache,\n    styleArg: ExpressionValue,\n    variantsAccumulator?: VariantData[],\n    themeImportIdentifier?: string,\n  ) {\n    if (styleArg.kind === ValueType.CONST) {\n      if (typeof styleArg.value === 'string') {\n        this.collectedStyles.push([this.getClassName(), styleArg.value, styleArg]);\n      }\n    } else {\n      const styleObjOrFn = values.get(styleArg.ex.name);\n      const finalStyle = this.processCss(\n        styleObjOrFn as object | (() => void),\n        styleArg,\n        variantsAccumulator,\n        themeImportIdentifier,\n      );\n      const className = this.getClassName();\n      this.baseClasses.push(className);\n      this.collectedStyles.push([className, finalStyle, styleArg]);\n    }\n  }\n\n  /**\n   * Generates css for styleOverride objects in the theme object.\n   */\n  processOverrides(values: ValueCache, variantsAccumulator?: VariantData[]) {\n    if (!this.componentMetaArg) {\n      return;\n    }\n    const value = values.get(this.componentMetaArg.ex.name) as ComponentMeta;\n    const { themeArgs: { theme } = {} } = this.options as IOptions;\n    if (!value.name || !value.slot || !theme) {\n      return;\n    }\n    const componentData = theme.components?.[value.name];\n    if (!componentData) {\n      return;\n    }\n\n    if ('styleOverrides' in componentData) {\n      const overrides = componentData.styleOverrides as Record<string, CSSObject>;\n      if (!overrides) {\n        return;\n      }\n      const overrideStyle = (overrides[lowercaseFirstLetter(value.slot)] ||\n        overrides[value.slot]) as string | CSSObject;\n      const className = this.getClassName();\n      if (typeof overrideStyle === 'string') {\n        this.collectedStyles.push([className, overrideStyle, null]);\n        return;\n      }\n      const finalStyle = this.processCss(overrideStyle, null, variantsAccumulator);\n      this.baseClasses.push(className);\n      this.collectedStyles.push([className, finalStyle, null]);\n    }\n\n    if (!variantsAccumulator) {\n      return;\n    }\n\n    if (\n      'variants' in componentData &&\n      componentData.variants &&\n      lowercaseFirstLetter(value.slot) === 'root'\n    ) {\n      variantsAccumulator.push(...(componentData.variants as unknown as VariantData[]));\n    }\n  }\n\n  /**\n   * Generates css for all the variants collected after processing direct css and styleOverride css.\n   */\n  processVariant(variant: VariantData) {\n    const { displayName } = this.options;\n    const className = this.getClassName(displayName ? 'variant' : undefined);\n    const styleObjOrFn = variant.style;\n    const originalExpression = variant.originalExpression;\n    const finalStyle = this.processCss(styleObjOrFn, originalExpression ?? null);\n    this.collectedStyles.push([className, finalStyle, null]);\n    this.collectedVariants.push({\n      props: variant.props,\n      className,\n    });\n  }\n\n  processCss(\n    styleObjOrFn: ((args: Record<string, unknown>) => void) | object,\n    styleArg: ExpressionValue | null,\n    variantsAccumulator?: VariantData[],\n    themeImportIdentifier?: string,\n  ) {\n    const { themeArgs = {} } = this.options as IOptions;\n    let styleObj = typeof styleObjOrFn === 'function' ? styleObjOrFn(themeArgs) : styleObjOrFn;\n    if (!styleObj) {\n      return '';\n    }\n    styleObj = { ...styleObj };\n    if (styleObj.variants) {\n      variantsAccumulator?.push(\n        ...styleObj.variants.map((variant: Omit<VariantData, 'originalExpression'>) => ({\n          ...variant,\n          originalExpression: styleArg,\n        })),\n      );\n    }\n    if (styleObj.isProcessed) {\n      styleObj = styleObj.style;\n    } else {\n      delete styleObj.variants;\n    }\n    const res = cssFnValueToVariable({\n      styleObj,\n      expressionValue: styleArg,\n      getVariableName: (cssKey: string, source: string, hasUnit: boolean) =>\n        this.getCustomVariableId(cssKey, source, hasUnit),\n      filename: this.context.filename,\n      options: this.options as IOptions,\n      includeThemeArg: typeof styleObjOrFn === 'function',\n      themeImportIdentifier,\n    });\n    if (res.length) {\n      this.collectedVariables.push(...res);\n    }\n    return processCssObject(styleObj, themeArgs);\n  }\n\n  public override get asSelector(): string {\n    return `.${this.className}`;\n  }\n\n  get value(): Expression {\n    const t = this.astService;\n    return t.stringLiteral(this.className);\n  }\n}\n"]}