import React from 'react'; import { View, ScrollView, Text, StyleSheet } from 'react-native'; import { Ux4gCircularProgress, Ux4gLinearProgressBar, Ux4gBadge, useUx4gTheme, UX4GColors } from '../index'; export const SlaProgressShowcase: React.FC = () => { const theme = useUx4gTheme(); const circularItems = [ { progressColor: UX4GColors.primary500, gradient: [UX4GColors.primary100, UX4GColors.primary500], labelColor: UX4GColors.primary500, badgeBg: UX4GColors.primary50 }, { progressColor: UX4GColors.orange500, gradient: [UX4GColors.orange50, UX4GColors.orange500], labelColor: UX4GColors.orange500, badgeBg: UX4GColors.orange50 }, { progressColor: UX4GColors.red500, gradient: [UX4GColors.red100, UX4GColors.red500], labelColor: UX4GColors.red500, descColor: UX4GColors.red700, badgeBg: UX4GColors.red50 }, { progressColor: UX4GColors.green500, gradient: [UX4GColors.green100, UX4GColors.green500], labelColor: UX4GColors.green500, badgeBg: UX4GColors.green50 }, ]; const linearItems = [ { iconColor: UX4GColors.primary500, iconBg: UX4GColors.primary500 + '1F', gradient: [UX4GColors.primary500, UX4GColors.tertiary500], }, { iconColor: UX4GColors.orange600, iconBg: UX4GColors.orange600 + '1F', gradient: [UX4GColors.gold500, UX4GColors.orange700], }, { iconColor: UX4GColors.red600, iconBg: UX4GColors.red600 + '1F', gradient: [UX4GColors.red300, UX4GColors.red600], }, { iconColor: UX4GColors.green600, iconBg: UX4GColors.green600 + '1F', gradient: [UX4GColors.green300, UX4GColors.green600], }, ]; // A simple hexagon icon for the linear bars const HexagonIcon = ({ color }: { color: string }) => ( ); return ( SLA Circular Progress {circularItems.map((item, idx) => ( Label } /> ))} Linear Progress {/* Sharp Column */} Sharp {linearItems.map((item, idx) => ( } iconBackgroundColor={item.iconBg} label="Label" hint="Hint" showPercentage={true} labelPosition="outside" /> ))} {/* Rounded Column */} Rounded {linearItems.map((item, idx) => ( } iconBackgroundColor={item.iconBg} label="Label" hint="Hint" showPercentage={true} labelPosition="outside" /> ))} ); }; const styles = StyleSheet.create({ container: { flex: 1, paddingVertical: 16, }, title: { fontSize: 20, fontWeight: 'bold', marginHorizontal: 16, marginBottom: 24, }, row: { paddingHorizontal: 8, flexDirection: 'row', }, linearGrid: { flexDirection: 'row', paddingHorizontal: 8, }, linearColumn: { flex: 1, paddingHorizontal: 8, }, columnHeader: { fontSize: 14, marginBottom: 16, }, linearItem: { marginBottom: 24, } });