"""UI constants for dropdowns and validation. Centralized dropdown options for the FDAM AI Pipeline frontend. """ # US States and Territories (display name, abbreviation) US_STATES: list[tuple[str, str]] = [ ("Alabama", "AL"), ("Alaska", "AK"), ("Arizona", "AZ"), ("Arkansas", "AR"), ("California", "CA"), ("Colorado", "CO"), ("Connecticut", "CT"), ("Delaware", "DE"), ("District of Columbia", "DC"), ("Florida", "FL"), ("Georgia", "GA"), ("Hawaii", "HI"), ("Idaho", "ID"), ("Illinois", "IL"), ("Indiana", "IN"), ("Iowa", "IA"), ("Kansas", "KS"), ("Kentucky", "KY"), ("Louisiana", "LA"), ("Maine", "ME"), ("Maryland", "MD"), ("Massachusetts", "MA"), ("Michigan", "MI"), ("Minnesota", "MN"), ("Mississippi", "MS"), ("Missouri", "MO"), ("Montana", "MT"), ("Nebraska", "NE"), ("Nevada", "NV"), ("New Hampshire", "NH"), ("New Jersey", "NJ"), ("New Mexico", "NM"), ("New York", "NY"), ("North Carolina", "NC"), ("North Dakota", "ND"), ("Ohio", "OH"), ("Oklahoma", "OK"), ("Oregon", "OR"), ("Pennsylvania", "PA"), ("Rhode Island", "RI"), ("South Carolina", "SC"), ("South Dakota", "SD"), ("Tennessee", "TN"), ("Texas", "TX"), ("Utah", "UT"), ("Vermont", "VT"), ("Virginia", "VA"), ("Washington", "WA"), ("West Virginia", "WV"), ("Wisconsin", "WI"), ("Wyoming", "WY"), # Territories ("American Samoa", "AS"), ("Guam", "GU"), ("Northern Mariana Islands", "MP"), ("Puerto Rico", "PR"), ("U.S. Virgin Islands", "VI"), ] # State abbreviation to display name mapping STATE_ABBR_TO_NAME: dict[str, str] = {abbr: name for name, abbr in US_STATES} STATE_NAME_TO_ABBR: dict[str, str] = {name: abbr for name, abbr in US_STATES} # Floor options for room entry FLOOR_OPTIONS: list[str] = [ "Basement", "Ground Floor", "1st Floor", "2nd Floor", "3rd Floor", "4th Floor", "5th Floor", "6th Floor", "7th Floor", "8th Floor", "9th Floor", "10th Floor", "Mezzanine", "Roof", "Other", ] # Ceiling height presets (display label, value in feet) # None value indicates "Custom" option requiring manual input CEILING_HEIGHT_PRESETS: list[tuple[str, int | None]] = [ ("8 ft", 8), ("9 ft", 9), ("10 ft", 10), ("12 ft", 12), ("14 ft", 14), ("16 ft", 16), ("18 ft", 18), ("20 ft", 20), ("24 ft", 24), ("Custom", None), ] # Common IH/safety professional credentials ASSESSOR_CREDENTIALS: list[str] = [ "CIH", # Certified Industrial Hygienist "CSP", # Certified Safety Professional "PE", # Professional Engineer "QEP", # Qualified Environmental Professional "CHMM", # Certified Hazardous Materials Manager "OHST", # Occupational Health and Safety Technologist "ASP", # Associate Safety Professional "Other", ] # Credential display names (for UI tooltips or help text) CREDENTIAL_DESCRIPTIONS: dict[str, str] = { "CIH": "Certified Industrial Hygienist", "CSP": "Certified Safety Professional", "PE": "Professional Engineer", "QEP": "Qualified Environmental Professional", "CHMM": "Certified Hazardous Materials Manager", "OHST": "Occupational Health and Safety Technologist", "ASP": "Associate Safety Professional", "Other": "Other certification", }