{"version":3,"file":"sizeClassMapper.mjs","sources":["../../../../../../src/components/ui/theme/size/sizeClassMapper.ts"],"sourcesContent":["import { BaseClassMapper } from \"../common/BaseClassMapper\";\nimport type { CategoryProps } from \"../../props\";\nimport { SizeKey, ComponentKeys } from \"../../props\";\n\n/**\n * Size theme - can operate in two modes:\n * 1. Default mode: outputs consumer class size-(--size), with CSS variable values set in vars.css\n * 2. Custom mode: outputs custom classes for each size (e.g., max-width classes)\n */\nexport class SizeClassMapper extends BaseClassMapper implements Record<SizeKey, string> {\n  /** Extra-small size variant */\n  xs: string = \"\";\n  /** Small size variant */\n  sm: string = \"\";\n  /** Medium size variant (default) */\n  md: string = \"\";\n  /** Large size variant */\n  lg: string = \"\";\n  /** Extra-large size variant */\n  xl: string = \"\";\n  /** Consumer class for size (used in default mode) */\n  size: string = \"size-(--size)\";\n\n  private useCustomClasses: boolean;\n\n  constructor(sizeMap?: Record<SizeKey, string>) {\n    super();\n    this.useCustomClasses = !!sizeMap;\n    if (sizeMap) {\n      ComponentKeys.size.forEach((key) => {\n        this[key] = sizeMap[key] ?? \"\";\n      });\n    }\n  }\n\n  getClasses(extractedKeys: CategoryProps): string[] {\n    if (this.useCustomClasses) {\n      const size = extractedKeys?.size ?? 'md';\n      return this[size] ? [this[size]] : [];\n    }\n    // Default: use CSS variable consumer class\n    return [this.size];\n  }\n}\n"],"names":[],"mappings":";;;AASO,MAAM,wBAAwB,eAAA,CAAmD;AAAA,EAgBtF,YAAY,OAAA,EAAmC;AAC7C,IAAA,KAAA,EAAM;AAfR;AAAA,IAAA,IAAA,CAAA,EAAA,GAAa,EAAA;AAEb;AAAA,IAAA,IAAA,CAAA,EAAA,GAAa,EAAA;AAEb;AAAA,IAAA,IAAA,CAAA,EAAA,GAAa,EAAA;AAEb;AAAA,IAAA,IAAA,CAAA,EAAA,GAAa,EAAA;AAEb;AAAA,IAAA,IAAA,CAAA,EAAA,GAAa,EAAA;AAEb;AAAA,IAAA,IAAA,CAAA,IAAA,GAAe,eAAA;AAMb,IAAA,IAAA,CAAK,gBAAA,GAAmB,CAAC,CAAC,OAAA;AAC1B,IAAA,IAAI,OAAA,EAAS;AACX,MAAA,aAAA,CAAc,IAAA,CAAK,OAAA,CAAQ,CAAC,GAAA,KAAQ;AAClC,QAAA,IAAA,CAAK,GAAG,CAAA,GAAI,OAAA,CAAQ,GAAG,CAAA,IAAK,EAAA;AAAA,MAC9B,CAAC,CAAA;AAAA,IACH;AAAA,EACF;AAAA,EAEA,WAAW,aAAA,EAAwC;AACjD,IAAA,IAAI,KAAK,gBAAA,EAAkB;AACzB,MAAA,MAAM,IAAA,GAAO,eAAe,IAAA,IAAQ,IAAA;AACpC,MAAA,OAAO,IAAA,CAAK,IAAI,CAAA,GAAI,CAAC,KAAK,IAAI,CAAC,IAAI,EAAC;AAAA,IACtC;AAEA,IAAA,OAAO,CAAC,KAAK,IAAI,CAAA;AAAA,EACnB;AACF;;;;"}