{"version":3,"file":"readOnlyClassMapper.cjs","sources":["../../../../../../src/components/ui/theme/appearance/readOnlyClassMapper.ts"],"sourcesContent":["import { BaseClassMapper } from \"../common/BaseClassMapper\";\nimport type { CategoryProps, ReadOnlyKey } from \"../../props\";\n\n/**\n * ReadOnlyClassMapper handles the read-only visual treatment for form controls.\n * Mirrors DisabledClassMapper but lighter (opacity-70 vs opacity-50) because a\n * read-only field is still focusable, selectable, and submittable. The opacity\n * and cursor live here as Tailwind classes (not a raw CSS rule) so they go\n * through the theme system like every other visual state.\n */\nexport class ReadOnlyClassMapper extends BaseClassMapper implements Record<ReadOnlyKey, string> {\n  /** Read-only state - muted opacity + default cursor */\n  readOnly: string = \"opacity-70 cursor-default\";\n\n  getClasses(extractedKeys: CategoryProps): string[] {\n    const value = extractedKeys?.readOnly;\n    if (value && value in this) {\n      return [this[value as ReadOnlyKey]];\n    }\n    return [];\n  }\n}\n"],"names":["BaseClassMapper"],"mappings":";;;;AAUO,MAAM,4BAA4BA,+BAAA,CAAuD;AAAA,EAAzF,WAAA,GAAA;AAAA,IAAA,KAAA,CAAA,GAAA,SAAA,CAAA;AAEL;AAAA,IAAA,IAAA,CAAA,QAAA,GAAmB,2BAAA;AAAA,EAAA;AAAA,EAEnB,WAAW,aAAA,EAAwC;AACjD,IAAA,MAAM,QAAQ,aAAA,EAAe,QAAA;AAC7B,IAAA,IAAI,KAAA,IAAS,SAAS,IAAA,EAAM;AAC1B,MAAA,OAAO,CAAC,IAAA,CAAK,KAAoB,CAAC,CAAA;AAAA,IACpC;AACA,IAAA,OAAO,EAAC;AAAA,EACV;AACF;;;;"}