{"version":3,"sources":["../src/processors/base-processor.ts"],"names":["WywBaseProcessor"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAQ8B,IAAA,aAAA,GAA9B,cAAoDA,eAAiB,CAAA;AAAA,EAArE,WAAA,GAAA;AAAA,IAAA,KAAA,CAAA,GAAA,SAAA,CAAA;AACE,IAAc,IAAA,CAAA,WAAA,GAAA,CAAA;AAAA;AAAA;AAAA,EAGJ,mBAAA,CAAoB,MAAgB,EAAA,MAAA,EAAgB,OAAkB,EAAA;AAC9E,IAAA,MAAM,OAAU,GAAA,IAAA,CAAK,kBAAmB,CAAA,MAAA,EAAQ,QAAQ,OAAO,CAAA;AAC/D,IAAM,MAAA,YAAA,GAAe,KAAK,OAAQ,CAAA,gBAAA;AAClC,IAAA,IAAI,CAAC,YAAc,EAAA;AACjB,MAAA,OAAO,qBAAqB,CAAG,EAAA,IAAA,CAAK,IAAI,CAAI,CAAA,EAAA,OAAA,CAAQ,KAAK,CAAE,CAAA,CAAA;AAAA;AAG7D,IAAO,OAAA,OAAO,iBAAiB,UAC3B,GAAA,YAAA,CAAa,OAAO,CACpB,GAAA,SAAA,CAAU,YAAc,EAAA,cAAA,CAAA,EAAA,EAAK,OAAS,CAAA,CAAA;AAAA;AAC5C;AAAA,EAGU,kBAAA,CAAmB,MAAgB,EAAA,MAAA,EAAgB,OAAoC,EAAA;AAC/F,IAAA,MAAM,WAAW,MAAM;AACrB,MAAA,MAAM,KAAK,IAAK,CAAA,WAAA;AAChB,MAAA,IAAA,CAAK,WAAe,IAAA,CAAA;AACpB,MAAO,OAAA,EAAA;AAAA,KACT;AAEA,IAAO,OAAA;AAAA,MACL,eAAe,IAAK,CAAA,WAAA;AAAA,MACpB,eAAe,IAAK,CAAA,IAAA;AAAA,MACpB,IAAI,KAAQ,GAAA;AACV,QAAA,OAAO,QAAS,EAAA;AAAA,OAClB;AAAA,MACA,YAAc,EAAA,MAAA;AAAA,MACd,SAAA,EAAW,KAAK,WAAY,CAAA,IAAA;AAAA,MAC5B,MAAQ,EAAA,EAAA;AAAA,MACR,IAAM,EAAA,EAAA;AAAA,MACN,WAAW,OAAQ,CAAA,CAAA,EAAG,MAAM,CAAA,EAAG,OAAO,CAAE,CAAA;AAAA,KAC1C;AAAA;AACF,EAEU,aAAgB,GAAA;AACxB,IAAM,MAAA,EAAE,UAAW,EAAA,GAAI,IAAK,CAAA,OAAA;AAC5B,IAAA,MAAM,EAAE,MAAA,EAAQ,cAAe,EAAA,GAAI,IAAK,CAAA,SAAA;AACxC,IAAA,MAAM,oBAAoB,UAAa,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,UAAA,CAAA,cAAA,CAAA;AACvC,IAAO,OAAA,iBAAA,IAAA,IAAA,GAAA,iBAAA,GAAqB,GAAG,oBAAkC,CAAA,CAAA;AAAA;AAErE","file":"chunk-S2BUG7Y4.mjs","sourcesContent":["import { slugify, IVariableContext } from '@wyw-in-js/shared';\nimport {\n  buildSlug,\n  BaseProcessor as WywBaseProcessor,\n  toValidCSSIdentifier,\n} from '@wyw-in-js/processor-utils';\nimport type { PluginCustomOptions } from '../utils/cssFnValueToVariable';\n\nexport default abstract class BaseProcessor extends WywBaseProcessor {\n  variableIdx = 0;\n\n  // Implementation taken from Linaria - https://github.com/callstack/linaria/blob/master/packages/react/src/processors/styled.ts#L284\n  protected getCustomVariableId(cssKey: string, source: string, hasUnit: boolean) {\n    const context = this.getVariableContext(cssKey, source, hasUnit);\n    const customSlugFn = this.options.variableNameSlug;\n    if (!customSlugFn) {\n      return toValidCSSIdentifier(`${this.slug}-${context.index}`);\n    }\n\n    return typeof customSlugFn === 'function'\n      ? customSlugFn(context)\n      : buildSlug(customSlugFn, { ...context });\n  }\n\n  // Implementation taken from Linaria - https://github.com/callstack/linaria/blob/master/packages/react/src/processors/styled.ts#L362\n  protected getVariableContext(cssKey: string, source: string, hasUnit: boolean): IVariableContext {\n    const getIndex = () => {\n      const id = this.variableIdx;\n      this.variableIdx += 1;\n      return id;\n    };\n\n    return {\n      componentName: this.displayName,\n      componentSlug: this.slug,\n      get index() {\n        return getIndex();\n      },\n      precedingCss: cssKey,\n      processor: this.constructor.name,\n      source: '',\n      unit: '',\n      valueSlug: slugify(`${source}${hasUnit}`),\n    };\n  }\n\n  protected getImportPath() {\n    const { packageMap } = this.options as PluginCustomOptions;\n    const { source: originalSource } = this.tagSource;\n    const transformedImport = packageMap?.[originalSource];\n    return transformedImport ?? `${process.env.PACKAGE_NAME as string}`;\n  }\n}\n"]}