import { useState } from 'react'; import { Screen, View, Text, Select, Card, Button, Divider } from '../index'; // Mock data for examples const fruitOptions = [ { value: 'apple', label: 'Apple' }, { value: 'banana', label: 'Banana' }, { value: 'orange', label: 'Orange' }, { value: 'grape', label: 'Grape' }, { value: 'strawberry', label: 'Strawberry' }, { value: 'pineapple', label: 'Pineapple' }, { value: 'mango', label: 'Mango' }, { value: 'kiwi', label: 'Kiwi' }, ]; const countryOptions = [ { value: 'us', label: 'United States', icon: 🇺🇸 }, { value: 'ca', label: 'Canada', icon: 🇨🇦 }, { value: 'uk', label: 'United Kingdom', icon: 🇬🇧 }, { value: 'de', label: 'Germany', icon: 🇩🇪 }, { value: 'fr', label: 'France', icon: 🇫🇷 }, { value: 'jp', label: 'Japan', icon: 🇯🇵 }, { value: 'au', label: 'Australia', icon: 🇦🇺 }, { value: 'in', label: 'India', icon: 🇮🇳 }, ]; const priorityOptions = [ { value: 'low', label: 'Low Priority', icon: }, { value: 'medium', label: 'Medium Priority', icon: }, { value: 'high', label: 'High Priority', icon: }, { value: 'urgent', label: 'Urgent', icon: 🔥 }, ]; const statusOptions = [ { value: 'draft', label: 'Draft', disabled: false }, { value: 'pending', label: 'Pending Review' }, { value: 'approved', label: 'Approved' }, { value: 'archived', label: 'Archived (Disabled)', disabled: true }, { value: 'deleted', label: 'Deleted (Disabled)', disabled: true }, ]; export const SelectExamples = () => { // State for all select examples const [basicSelect, setBasicSelect] = useState(''); const [countrySelect, setCountrySelect] = useState(''); const [prioritySelect, setPrioritySelect] = useState('medium'); const [statusSelect, setStatusSelect] = useState('draft'); const [searchableSelect, setSearchableSelect] = useState(''); const [formSelect, setFormSelect] = useState(''); const [sizeSmall, setSizeSmall] = useState(''); const [sizeMedium, setSizeMedium] = useState(''); const [sizeLarge, setSizeLarge] = useState(''); const [outlinedSelect, setOutlinedSelect] = useState(''); const [filledSelect, setFilledSelect] = useState(''); const [primarySelect, setPrimarySelect] = useState(''); const [successSelect, setSuccessSelect] = useState(''); const [errorSelect, setErrorSelect] = useState(''); const [warningSelect, setWarningSelect] = useState(''); const [formErrors, setFormErrors] = useState>({}); const validateForm = () => { const errors: Record = {}; if (!formSelect) { errors.formSelect = 'Please select a country'; } setFormErrors(errors); return Object.keys(errors).length === 0; }; const handleFormSubmit = () => { if (validateForm()) { console.log('Form submitted successfully!', { country: formSelect }); } else { console.log('Form has validation errors'); } }; const resetAllSelections = () => { setBasicSelect(''); setFruitSelect(''); setCountrySelect(''); setPrioritySelect(''); setStatusSelect(''); setSearchableSelect(''); setFormSelect(''); setSizeSmall(''); setSizeMedium(''); setSizeLarge(''); setOutlinedSelect(''); setFilledSelect(''); setPrimarySelect(''); setSuccessSelect(''); setErrorSelect(''); setWarningSelect(''); setFormErrors({}); }; return ( Select Component Examples {/* Basic Usage */} Basic Usage Selected: {countrySelect || 'None'} {/* Custom Icons */} Custom Icon Components Selected: {statusSelect || 'None'} {/* Searchable */} Searchable Select Medium (Default) {/* Variants */} Variants Outlined (Default) {/* Intents */} Intent Colors Primary Warning {/* Form Example */} Form Integration {}} placeholder="This select is disabled" label="Disabled Select" disabled helperText="This select cannot be interacted with" /> {/* Platform-specific Features */} Platform Features On iOS: Try the ActionSheet presentation mode for native feel