{"version":3,"sources":["../src/progress/index.native.tsx"],"names":["useTheme","jsx","View","radius"],"mappings":";;;;;;;;AAWA,IAAM,YAA0C,EAAE,EAAA,EAAI,GAAG,EAAA,EAAI,CAAA,EAAG,IAAI,EAAA,EAAG;AAWhE,SAAS,QAAA,CAAS,EAAE,KAAA,EAAO,IAAA,GAAO,QAAA,EAAU,OAAO,IAAA,EAAM,KAAA,EAAO,UAAA,EAAY,KAAA,EAAM,EAAkB;AACzG,EAAA,MAAM,EAAE,MAAA,EAAO,GAAIA,eAAA,EAAS;AAC5B,EAAA,MAAM,OAAA,GAAU,KAAK,GAAA,CAAI,CAAA,EAAG,KAAK,GAAA,CAAI,CAAA,EAAG,KAAK,CAAC,CAAA;AAE9C,EAAA,MAAM,SAAA,GAA0C;AAAA,IAC9C,QAAQ,MAAA,CAAO,aAAA;AAAA,IACf,SAAS,MAAA,CAAO,aAAA;AAAA,IAChB,SAAS,MAAA,CAAO,aAAA;AAAA,IAChB,QAAQ,MAAA,CAAO;AAAA,GACjB;AACA,EAAA,MAAM,IAAA,GAAO,KAAA,IAAS,SAAA,CAAU,IAAI,CAAA;AACpC,EAAA,MAAM,CAAA,GAAI,UAAU,IAAI,CAAA;AAExB,EAAA,uBACEC,cAAA;AAAA,IAACC,gBAAA;AAAA,IAAA;AAAA,MACC,KAAA,EAAO;AAAA,QACL,MAAA,EAAQ,CAAA;AAAA,QACR,KAAA,EAAO,MAAA;AAAA,QACP,eAAA,EAAiB,cAAc,MAAA,CAAO,aAAA;AAAA,QACtC,cAAcC,WAAA,CAAO,IAAA;AAAA,QACrB,QAAA,EAAU,QAAA;AAAA,QACV,GAAG;AAAA,OACL;AAAA,MAEA,yCAACD,gBAAA,EAAA,EAAK,KAAA,EAAO,EAAE,MAAA,EAAQ,QAAQ,KAAA,EAAO,CAAA,EAAG,OAAA,GAAU,GAAG,KAAK,eAAA,EAAiB,IAAA,EAAM,YAAA,EAAcC,WAAA,CAAO,MAAK,EAAG;AAAA;AAAA,GACjH;AAEJ","file":"progress.native.cjs","sourcesContent":["/**\n * Progress (native). Horizontal meter matching the web shape. RN fills\n * by width fraction inside a rounded track.\n */\nimport { View, type ViewStyle } from \"react-native\";\nimport { useTheme } from \"@plyxui/styles\";\nimport { radius } from \"@plyxui/core\";\n\nexport type ProgressTone = \"accent\" | \"success\" | \"warning\" | \"danger\";\nexport type ProgressSize = \"sm\" | \"md\" | \"lg\";\n\nconst heightMap: Record<ProgressSize, number> = { sm: 5, md: 8, lg: 12 };\n\nexport interface ProgressProps {\n  value: number;\n  tone?: ProgressTone;\n  size?: ProgressSize;\n  color?: string;\n  trackColor?: string;\n  style?: ViewStyle;\n}\n\nexport function Progress({ value, tone = \"accent\", size = \"md\", color, trackColor, style }: ProgressProps) {\n  const { colors } = useTheme();\n  const clamped = Math.max(0, Math.min(1, value));\n\n  const toneColor: Record<ProgressTone, string> = {\n    accent: colors.primaryOrange,\n    success: colors.statusSuccess,\n    warning: colors.statusWarning,\n    danger: colors.statusError,\n  };\n  const fill = color ?? toneColor[tone];\n  const h = heightMap[size];\n\n  return (\n    <View\n      style={{\n        height: h,\n        width: \"100%\",\n        backgroundColor: trackColor ?? colors.containerFill,\n        borderRadius: radius.pill,\n        overflow: \"hidden\",\n        ...style,\n      }}\n    >\n      <View style={{ height: \"100%\", width: `${clamped * 100}%`, backgroundColor: fill, borderRadius: radius.pill }} />\n    </View>\n  );\n}\n"]}