Files
2024-02-15 17:01:50 +00:00

493 lines
21 KiB
TypeScript

import styled from '@emotion/styled';
import groupBy from 'lodash/groupBy';
import moment from 'moment-timezone';
import type {SelectValue} from 'sentry/types';
type TimezoneGroup =
| null
| 'Other'
| 'US/Canada'
| 'America'
| 'Europe'
| 'Australia'
| 'Asia'
| 'Indian'
| 'Africa'
| 'Pacific'
| 'Atlantic'
| 'Antarctica'
| 'Arctic';
const timezones: [group: TimezoneGroup, value: string, label: string][] = [
['Other', 'UTC', 'UTC'],
['Other', 'GMT', 'GMT'],
// Group US higher-ish since
['US/Canada', 'US/Eastern', 'Eastern'],
['US/Canada', 'US/Central', 'Central'],
['US/Canada', 'US/Arizona', 'Arizona'],
['US/Canada', 'US/Mountain', 'Mountain'],
['US/Canada', 'US/Pacific', 'Pacific'],
['US/Canada', 'US/Alaska', 'Alaska'],
['US/Canada', 'US/Hawaii', 'Hawaii'],
['US/Canada', 'Canada/Newfoundland', 'Newfoundland'],
['US/Canada', 'Canada/Atlantic', 'Atlantic'],
['US/Canada', 'Canada/Eastern', 'Canadian Eastern'],
['US/Canada', 'Canada/Central', 'Canadian Central'],
['US/Canada', 'Canada/Mountain', 'Canadian Mountain'],
['US/Canada', 'Canada/Pacific', 'Canadian Pacific'],
['America', 'America/Danmarkshavn', 'Danmarkshavn'],
['America', 'America/Scoresbysund', 'Scoresbysund'],
['America', 'America/Noronha', 'Noronha'],
['America', 'America/Araguaina', 'Araguaina'],
['America', 'America/Argentina/Buenos_Aires', 'Argentina / Buenos Aires'],
['America', 'America/Argentina/Catamarca', 'Argentina / Catamarca'],
['America', 'America/Argentina/Cordoba', 'Argentina / Cordoba'],
['America', 'America/Argentina/Jujuy', 'Argentina / Jujuy'],
['America', 'America/Argentina/La_Rioja', 'Argentina / La Rioja'],
['America', 'America/Argentina/Mendoza', 'Argentina / Mendoza'],
['America', 'America/Argentina/Rio_Gallegos', 'Argentina / Rio Gallegos'],
['America', 'America/Argentina/Salta', 'Argentina / Salta'],
['America', 'America/Argentina/San_Juan', 'Argentina / San Juan'],
['America', 'America/Argentina/San_Luis', 'Argentina / San Luis'],
['America', 'America/Argentina/Tucuman', 'Argentina / Tucuman'],
['America', 'America/Argentina/Ushuaia', 'Argentina / Ushuaia'],
['America', 'America/Asuncion', 'Asuncion'],
['America', 'America/Bahia', 'Bahia'],
['America', 'America/Belem', 'Belem'],
['America', 'America/Campo_Grande', 'Campo Grande'],
['America', 'America/Cayenne', 'Cayenne'],
['America', 'America/Cuiaba', 'Cuiaba'],
['America', 'America/Fortaleza', 'Fortaleza'],
['America', 'America/Godthab', 'Godthab'],
['America', 'America/Maceio', 'Maceio'],
['America', 'America/Miquelon', 'Miquelon'],
['America', 'America/Montevideo', 'Montevideo'],
['America', 'America/Paramaribo', 'Paramaribo'],
['America', 'America/Recife', 'Recife'],
['America', 'America/Santarem', 'Santarem'],
['America', 'America/Santiago', 'Santiago'],
['America', 'America/Sao_Paulo', 'Sao Paulo'],
['America', 'America/St_Johns', 'St Johns'],
['America', 'America/Anguilla', 'Anguilla'],
['America', 'America/Antigua', 'Antigua'],
['America', 'America/Aruba', 'Aruba'],
['America', 'America/Barbados', 'Barbados'],
['America', 'America/Blanc-Sablon', 'Blanc-Sablon'],
['America', 'America/Boa_Vista', 'Boa Vista'],
['America', 'America/Caracas', 'Caracas'],
['America', 'America/Curacao', 'Curacao'],
['America', 'America/Dominica', 'Dominica'],
['America', 'America/Glace_Bay', 'Glace Bay'],
['America', 'America/Goose_Bay', 'Goose Bay'],
['America', 'America/Grenada', 'Grenada'],
['America', 'America/Guadeloupe', 'Guadeloupe'],
['America', 'America/Guyana', 'Guyana'],
['America', 'America/Halifax', 'Halifax'],
['America', 'America/Kralendijk', 'Kralendijk'],
['America', 'America/La_Paz', 'La Paz'],
['America', 'America/Lower_Princes', 'Lower Princes'],
['America', 'America/Manaus', 'Manaus'],
['America', 'America/Marigot', 'Marigot'],
['America', 'America/Martinique', 'Martinique'],
['America', 'America/Moncton', 'Moncton'],
['America', 'America/Montserrat', 'Montserrat'],
['America', 'America/Port_of_Spain', 'Port of Spain'],
['America', 'America/Porto_Velho', 'Porto Velho'],
['America', 'America/Puerto_Rico', 'Puerto Rico'],
['America', 'America/Santo_Domingo', 'Santo Domingo'],
['America', 'America/St_Barthelemy', 'St Barthelemy'],
['America', 'America/St_Kitts', 'St Kitts'],
['America', 'America/St_Lucia', 'St Lucia'],
['America', 'America/St_Thomas', 'St Thomas'],
['America', 'America/St_Vincent', 'St Vincent'],
['America', 'America/Thule', 'Thule'],
['America', 'America/Tortola', 'Tortola'],
['America', 'America/Atikokan', 'Atikokan'],
['America', 'America/Bogota', 'Bogota'],
['America', 'America/Cancun', 'Cancun'],
['America', 'America/Cayman', 'Cayman'],
['America', 'America/Detroit', 'Detroit'],
['America', 'America/Eirunepe', 'Eirunepe'],
['America', 'America/Grand_Turk', 'Grand Turk'],
['America', 'America/Guayaquil', 'Guayaquil'],
['America', 'America/Havana', 'Havana'],
['America', 'America/Indiana/Indianapolis', 'Indiana / Indianapolis'],
['America', 'America/Indiana/Marengo', 'Indiana / Marengo'],
['America', 'America/Indiana/Petersburg', 'Indiana / Petersburg'],
['America', 'America/Indiana/Vevay', 'Indiana / Vevay'],
['America', 'America/Indiana/Vincennes', 'Indiana / Vincennes'],
['America', 'America/Indiana/Winamac', 'Indiana / Winamac'],
['America', 'America/Iqaluit', 'Iqaluit'],
['America', 'America/Jamaica', 'Jamaica'],
['America', 'America/Kentucky/Louisville', 'Kentucky / Louisville'],
['America', 'America/Kentucky/Monticello', 'Kentucky / Monticello'],
['America', 'America/Lima', 'Lima'],
['America', 'America/Nassau', 'Nassau'],
['America', 'America/New_York', 'New York'],
['America', 'America/Nipigon', 'Nipigon'],
['America', 'America/Panama', 'Panama'],
['America', 'America/Pangnirtung', 'Pangnirtung'],
['America', 'America/Port-au-Prince', 'Port-au-Prince'],
['America', 'America/Rio_Branco', 'Rio Branco'],
['America', 'America/Thunder_Bay', 'Thunder Bay'],
['America', 'America/Toronto', 'Toronto'],
['America', 'America/Bahia_Banderas', 'Bahia Banderas'],
['America', 'America/Belize', 'Belize'],
['America', 'America/Chicago', 'Chicago'],
['America', 'America/Costa_Rica', 'Costa Rica'],
['America', 'America/El_Salvador', 'El Salvador'],
['America', 'America/Guatemala', 'Guatemala'],
['America', 'America/Indiana/Knox', 'Indiana / Knox'],
['America', 'America/Indiana/Tell_City', 'Indiana / Tell City'],
['America', 'America/Managua', 'Managua'],
['America', 'America/Matamoros', 'Matamoros'],
['America', 'America/Menominee', 'Menominee'],
['America', 'America/Merida', 'Merida'],
['America', 'America/Mexico_City', 'Mexico City'],
['America', 'America/Monterrey', 'Monterrey'],
['America', 'America/North_Dakota/Beulah', 'North Dakota / Beulah'],
['America', 'America/North_Dakota/Center', 'North Dakota / Center'],
['America', 'America/North_Dakota/New_Salem', 'North Dakota / New Salem'],
['America', 'America/Rainy_River', 'Rainy River'],
['America', 'America/Rankin_Inlet', 'Rankin Inlet'],
['America', 'America/Regina', 'Regina'],
['America', 'America/Resolute', 'Resolute'],
['America', 'America/Swift_Current', 'Swift Current'],
['America', 'America/Tegucigalpa', 'Tegucigalpa'],
['America', 'America/Winnipeg', 'Winnipeg'],
['America', 'America/Boise', 'Boise'],
['America', 'America/Cambridge_Bay', 'Cambridge Bay'],
['America', 'America/Chihuahua', 'Chihuahua'],
['America', 'America/Creston', 'Creston'],
['America', 'America/Dawson_Creek', 'Dawson Creek'],
['America', 'America/Denver', 'Denver'],
['America', 'America/Edmonton', 'Edmonton'],
['America', 'America/Fort_Nelson', 'Fort Nelson'],
['America', 'America/Hermosillo', 'Hermosillo'],
['America', 'America/Inuvik', 'Inuvik'],
['America', 'America/Mazatlan', 'Mazatlan'],
['America', 'America/Ojinaga', 'Ojinaga'],
['America', 'America/Phoenix', 'Phoenix'],
['America', 'America/Yellowknife', 'Yellowknife'],
['America', 'America/Dawson', 'Dawson'],
['America', 'America/Los_Angeles', 'Los Angeles'],
['America', 'America/Tijuana', 'Tijuana'],
['America', 'America/Vancouver', 'Vancouver'],
['America', 'America/Whitehorse', 'Whitehorse'],
['America', 'America/Anchorage', 'Anchorage'],
['America', 'America/Juneau', 'Juneau'],
['America', 'America/Metlakatla', 'Metlakatla'],
['America', 'America/Nome', 'Nome'],
['America', 'America/Sitka', 'Sitka'],
['America', 'America/Yakutat', 'Yakutat'],
['America', 'America/Adak', 'Adak'],
['Europe', 'Europe/Dublin', 'Dublin'],
['Europe', 'Europe/Guernsey', 'Guernsey'],
['Europe', 'Europe/Isle_of_Man', 'Isle of Man'],
['Europe', 'Europe/Jersey', 'Jersey'],
['Europe', 'Europe/Lisbon', 'Lisbon'],
['Europe', 'Europe/London', 'London'],
['Europe', 'Europe/Amsterdam', 'Amsterdam'],
['Europe', 'Europe/Andorra', 'Andorra'],
['Europe', 'Europe/Belgrade', 'Belgrade'],
['Europe', 'Europe/Berlin', 'Berlin'],
['Europe', 'Europe/Bratislava', 'Bratislava'],
['Europe', 'Europe/Brussels', 'Brussels'],
['Europe', 'Europe/Budapest', 'Budapest'],
['Europe', 'Europe/Busingen', 'Busingen'],
['Europe', 'Europe/Copenhagen', 'Copenhagen'],
['Europe', 'Europe/Gibraltar', 'Gibraltar'],
['Europe', 'Europe/Ljubljana', 'Ljubljana'],
['Europe', 'Europe/Luxembourg', 'Luxembourg'],
['Europe', 'Europe/Madrid', 'Madrid'],
['Europe', 'Europe/Malta', 'Malta'],
['Europe', 'Europe/Monaco', 'Monaco'],
['Europe', 'Europe/Oslo', 'Oslo'],
['Europe', 'Europe/Paris', 'Paris'],
['Europe', 'Europe/Podgorica', 'Podgorica'],
['Europe', 'Europe/Prague', 'Prague'],
['Europe', 'Europe/Rome', 'Rome'],
['Europe', 'Europe/San_Marino', 'San Marino'],
['Europe', 'Europe/Sarajevo', 'Sarajevo'],
['Europe', 'Europe/Skopje', 'Skopje'],
['Europe', 'Europe/Stockholm', 'Stockholm'],
['Europe', 'Europe/Tirane', 'Tirane'],
['Europe', 'Europe/Vaduz', 'Vaduz'],
['Europe', 'Europe/Vatican', 'Vatican'],
['Europe', 'Europe/Vienna', 'Vienna'],
['Europe', 'Europe/Warsaw', 'Warsaw'],
['Europe', 'Europe/Zagreb', 'Zagreb'],
['Europe', 'Europe/Zurich', 'Zurich'],
['Europe', 'Europe/Athens', 'Athens'],
['Europe', 'Europe/Bucharest', 'Bucharest'],
['Europe', 'Europe/Chisinau', 'Chisinau'],
['Europe', 'Europe/Helsinki', 'Helsinki'],
['Europe', 'Europe/Kaliningrad', 'Kaliningrad'],
['Europe', 'Europe/Mariehamn', 'Mariehamn'],
['Europe', 'Europe/Riga', 'Riga'],
['Europe', 'Europe/Sofia', 'Sofia'],
['Europe', 'Europe/Tallinn', 'Tallinn'],
['Europe', 'Europe/Uzhgorod', 'Uzhgorod'],
['Europe', 'Europe/Vilnius', 'Vilnius'],
['Europe', 'Europe/Zaporozhye', 'Zaporozhye'],
['Europe', 'Europe/Istanbul', 'Istanbul'],
['Europe', 'Europe/Kiev', 'Kiev'],
['Europe', 'Europe/Minsk', 'Minsk'],
['Europe', 'Europe/Moscow', 'Moscow'],
['Europe', 'Europe/Simferopol', 'Simferopol'],
['Europe', 'Europe/Samara', 'Samara'],
['Europe', 'Europe/Volgograd', 'Volgograd'],
['Asia', 'Asia/Amman', 'Amman'],
['Asia', 'Asia/Beirut', 'Beirut'],
['Asia', 'Asia/Damascus', 'Damascus'],
['Asia', 'Asia/Gaza', 'Gaza'],
['Asia', 'Asia/Hebron', 'Hebron'],
['Asia', 'Asia/Jerusalem', 'Jerusalem'],
['Asia', 'Asia/Nicosia', 'Nicosia'],
['Asia', 'Asia/Aden', 'Aden'],
['Asia', 'Asia/Baghdad', 'Baghdad'],
['Asia', 'Asia/Bahrain', 'Bahrain'],
['Asia', 'Asia/Kuwait', 'Kuwait'],
['Asia', 'Asia/Qatar', 'Qatar'],
['Asia', 'Asia/Riyadh', 'Riyadh'],
['Asia', 'Asia/Tehran', 'Tehran'],
['Asia', 'Asia/Baku', 'Baku'],
['Asia', 'Asia/Dubai', 'Dubai'],
['Asia', 'Asia/Muscat', 'Muscat'],
['Asia', 'Asia/Tbilisi', 'Tbilisi'],
['Asia', 'Asia/Yerevan', 'Yerevan'],
['Asia', 'Asia/Kabul', 'Kabul'],
['Asia', 'Asia/Aqtau', 'Aqtau'],
['Asia', 'Asia/Aqtobe', 'Aqtobe'],
['Asia', 'Asia/Ashgabat', 'Ashgabat'],
['Asia', 'Asia/Dushanbe', 'Dushanbe'],
['Asia', 'Asia/Karachi', 'Karachi'],
['Asia', 'Asia/Oral', 'Oral'],
['Asia', 'Asia/Samarkand', 'Samarkand'],
['Asia', 'Asia/Tashkent', 'Tashkent'],
['Asia', 'Asia/Yekaterinburg', 'Yekaterinburg'],
['Asia', 'Asia/Colombo', 'Colombo'],
['Asia', 'Asia/Kolkata', 'Kolkata'],
['Asia', 'Asia/Kathmandu', 'Kathmandu'],
['Asia', 'Asia/Almaty', 'Almaty'],
['Asia', 'Asia/Bishkek', 'Bishkek'],
['Asia', 'Asia/Dhaka', 'Dhaka'],
['Asia', 'Asia/Novosibirsk', 'Novosibirsk'],
['Asia', 'Asia/Omsk', 'Omsk'],
['Asia', 'Asia/Qyzylorda', 'Qyzylorda'],
['Asia', 'Asia/Thimphu', 'Thimphu'],
['Asia', 'Asia/Urumqi', 'Urumqi'],
['Asia', 'Asia/Rangoon', 'Rangoon'],
['Asia', 'Asia/Bangkok', 'Bangkok'],
['Asia', 'Asia/Ho_Chi_Minh', 'Ho Chi Minh'],
['Asia', 'Asia/Hovd', 'Hovd'],
['Asia', 'Asia/Jakarta', 'Jakarta'],
['Asia', 'Asia/Krasnoyarsk', 'Krasnoyarsk'],
['Asia', 'Asia/Novokuznetsk', 'Novokuznetsk'],
['Asia', 'Asia/Phnom_Penh', 'Phnom Penh'],
['Asia', 'Asia/Pontianak', 'Pontianak'],
['Asia', 'Asia/Vientiane', 'Vientiane'],
['Asia', 'Asia/Brunei', 'Brunei'],
['Asia', 'Asia/Choibalsan', 'Choibalsan'],
['Asia', 'Asia/Hong_Kong', 'Hong Kong'],
['Asia', 'Asia/Irkutsk', 'Irkutsk'],
['Asia', 'Asia/Kuala_Lumpur', 'Kuala Lumpur'],
['Asia', 'Asia/Kuching', 'Kuching'],
['Asia', 'Asia/Macau', 'Macau'],
['Asia', 'Asia/Makassar', 'Makassar'],
['Asia', 'Asia/Manila', 'Manila'],
['Asia', 'Asia/Shanghai', 'Shanghai'],
['Asia', 'Asia/Singapore', 'Singapore'],
['Asia', 'Asia/Taipei', 'Taipei'],
['Asia', 'Asia/Ulaanbaatar', 'Ulaanbaatar'],
['Asia', 'Asia/Chita', 'Chita'],
['Asia', 'Asia/Dili', 'Dili'],
['Asia', 'Asia/Jayapura', 'Jayapura'],
['Asia', 'Asia/Khandyga', 'Khandyga'],
['Asia', 'Asia/Pyongyang', 'Pyongyang'],
['Asia', 'Asia/Seoul', 'Seoul'],
['Asia', 'Asia/Tokyo', 'Tokyo'],
['Asia', 'Asia/Yakutsk', 'Yakutsk'],
['Asia', 'Asia/Magadan', 'Magadan'],
['Asia', 'Asia/Sakhalin', 'Sakhalin'],
['Asia', 'Asia/Ust-Nera', 'Ust-Nera'],
['Asia', 'Asia/Vladivostok', 'Vladivostok'],
['Asia', 'Asia/Srednekolymsk', 'Srednekolymsk'],
['Asia', 'Asia/Anadyr', 'Anadyr'],
['Asia', 'Asia/Kamchatka', 'Kamchatka'],
['Australia', 'Australia/Perth', 'Perth'],
['Australia', 'Australia/Eucla', 'Eucla'],
['Australia', 'Australia/Darwin', 'Darwin'],
['Australia', 'Australia/Brisbane', 'Brisbane'],
['Australia', 'Australia/Lindeman', 'Lindeman'],
['Australia', 'Australia/Adelaide', 'Adelaide'],
['Australia', 'Australia/Broken_Hill', 'Broken Hill'],
['Australia', 'Australia/Currie', 'Currie'],
['Australia', 'Australia/Hobart', 'Hobart'],
['Australia', 'Australia/Lord_Howe', 'Lord_Howe'],
['Australia', 'Australia/Melbourne', 'Melbourne'],
['Australia', 'Australia/Sydney', 'Sydney'],
['Indian', 'Indian/Antananarivo', 'Antananarivo'],
['Indian', 'Indian/Comoro', 'Comoro'],
['Indian', 'Indian/Mayotte', 'Mayotte'],
['Indian', 'Indian/Mahe', 'Mahe'],
['Indian', 'Indian/Mauritius', 'Mauritius'],
['Indian', 'Indian/Reunion', 'Reunion'],
['Indian', 'Indian/Kerguelen', 'Kerguelen'],
['Indian', 'Indian/Maldives', 'Maldives'],
['Indian', 'Indian/Chagos', 'Chagos'],
['Indian', 'Indian/Cocos', 'Cocos'],
['Indian', 'Indian/Christmas', 'Christmas'],
['Africa', 'Africa/Abidjan', 'Abidjan'],
['Africa', 'Africa/Accra', 'Accra'],
['Africa', 'Africa/Bamako', 'Bamako'],
['Africa', 'Africa/Banjul', 'Banjul'],
['Africa', 'Africa/Bissau', 'Bissau'],
['Africa', 'Africa/Casablanca', 'Casablanca'],
['Africa', 'Africa/Conakry', 'Conakry'],
['Africa', 'Africa/Dakar', 'Dakar'],
['Africa', 'Africa/El_Aaiun', 'El Aaiun'],
['Africa', 'Africa/Freetown', 'Freetown'],
['Africa', 'Africa/Lome', 'Lome'],
['Africa', 'Africa/Monrovia', 'Monrovia'],
['Africa', 'Africa/Nouakchott', 'Nouakchott'],
['Africa', 'Africa/Ouagadougou', 'Ouagadougou'],
['Africa', 'Africa/Sao_Tome', 'Sao Tome'],
['Africa', 'Africa/Algiers', 'Algiers'],
['Africa', 'Africa/Bangui', 'Bangui'],
['Africa', 'Africa/Brazzaville', 'Brazzaville'],
['Africa', 'Africa/Ceuta', 'Ceuta'],
['Africa', 'Africa/Douala', 'Douala'],
['Africa', 'Africa/Kinshasa', 'Kinshasa'],
['Africa', 'Africa/Lagos', 'Lagos'],
['Africa', 'Africa/Libreville', 'Libreville'],
['Africa', 'Africa/Luanda', 'Luanda'],
['Africa', 'Africa/Malabo', 'Malabo'],
['Africa', 'Africa/Ndjamena', 'Ndjamena'],
['Africa', 'Africa/Niamey', 'Niamey'],
['Africa', 'Africa/Porto-Novo', 'Porto-Novo'],
['Africa', 'Africa/Tunis', 'Tunis'],
['Africa', 'Africa/Blantyre', 'Blantyre'],
['Africa', 'Africa/Bujumbura', 'Bujumbura'],
['Africa', 'Africa/Cairo', 'Cairo'],
['Africa', 'Africa/Gaborone', 'Gaborone'],
['Africa', 'Africa/Harare', 'Harare'],
['Africa', 'Africa/Johannesburg', 'Johannesburg'],
['Africa', 'Africa/Juba', 'Juba'],
['Africa', 'Africa/Khartoum', 'Khartoum'],
['Africa', 'Africa/Kigali', 'Kigali'],
['Africa', 'Africa/Lubumbashi', 'Lubumbashi'],
['Africa', 'Africa/Lusaka', 'Lusaka'],
['Africa', 'Africa/Maputo', 'Maputo'],
['Africa', 'Africa/Maseru', 'Maseru'],
['Africa', 'Africa/Mbabane', 'Mbabane'],
['Africa', 'Africa/Tripoli', 'Tripoli'],
['Africa', 'Africa/Windhoek', 'Windhoek'],
['Africa', 'Africa/Addis_Ababa', 'Addis Ababa'],
['Africa', 'Africa/Asmara', 'Asmara'],
['Africa', 'Africa/Dar_es_Salaam', 'Dar es Salaam'],
['Africa', 'Africa/Djibouti', 'Djibouti'],
['Africa', 'Africa/Kampala', 'Kampala'],
['Africa', 'Africa/Mogadishu', 'Mogadishu'],
['Africa', 'Africa/Nairobi', 'Nairobi'],
['Pacific', 'Pacific/Palau', 'Palau'],
['Pacific', 'Pacific/Chuuk', 'Chuuk'],
['Pacific', 'Pacific/Guam', 'Guam'],
['Pacific', 'Pacific/Port_Moresby', 'Port Moresby'],
['Pacific', 'Pacific/Saipan', 'Saipan'],
['Pacific', 'Pacific/Bougainville', 'Bougainville'],
['Pacific', 'Pacific/Efate', 'Efate'],
['Pacific', 'Pacific/Guadalcanal', 'Guadalcanal'],
['Pacific', 'Pacific/Kosrae', 'Kosrae'],
['Pacific', 'Pacific/Norfolk', 'Norfolk'],
['Pacific', 'Pacific/Noumea', 'Noumea'],
['Pacific', 'Pacific/Pohnpei', 'Pohnpei'],
['Pacific', 'Pacific/Funafuti', 'Funafuti'],
['Pacific', 'Pacific/Kwajalein', 'Kwajalein'],
['Pacific', 'Pacific/Majuro', 'Majuro'],
['Pacific', 'Pacific/Nauru', 'Nauru'],
['Pacific', 'Pacific/Tarawa', 'Tarawa'],
['Pacific', 'Pacific/Wake', 'Wake'],
['Pacific', 'Pacific/Wallis', 'Wallis'],
['Pacific', 'Pacific/Auckland', 'Auckland'],
['Pacific', 'Pacific/Enderbury', 'Enderbury'],
['Pacific', 'Pacific/Fakaofo', 'Fakaofo'],
['Pacific', 'Pacific/Fiji', 'Fiji'],
['Pacific', 'Pacific/Tongatapu', 'Tongatapu'],
['Pacific', 'Pacific/Chatham', 'Chatham'],
['Pacific', 'Pacific/Apia', 'Apia'],
['Pacific', 'Pacific/Kiritimati', 'Kiritimati'],
['Pacific', 'Pacific/Easter', 'Easter'],
['Pacific', 'Pacific/Galapagos', 'Galapagos'],
['Pacific', 'Pacific/Pitcairn', 'Pitcairn'],
['Pacific', 'Pacific/Gambier', 'Gambier'],
['Pacific', 'Pacific/Marquesas', 'Marquesas'],
['Pacific', 'Pacific/Honolulu', 'Honolulu'],
['Pacific', 'Pacific/Johnston', 'Johnston'],
['Pacific', 'Pacific/Rarotonga', 'Rarotonga'],
['Pacific', 'Pacific/Tahiti', 'Tahiti'],
['Pacific', 'Pacific/Midway', 'Midway'],
['Pacific', 'Pacific/Niue', 'Niue'],
['Pacific', 'Pacific/Pago_Pago', 'Pago Pago'],
['Atlantic', 'Atlantic/Canary', 'Canary'],
['Atlantic', 'Atlantic/Faroe', 'Faroe'],
['Atlantic', 'Atlantic/Madeira', 'Madeira'],
['Atlantic', 'Atlantic/Reykjavik', 'Reykjavik'],
['Atlantic', 'Atlantic/St_Helena', 'St Helena'],
['Atlantic', 'Atlantic/Azores', 'Azores'],
['Atlantic', 'Atlantic/Cape_Verde', 'Cape Verde'],
['Atlantic', 'Atlantic/South_Georgia', 'South Georgia'],
['Atlantic', 'Atlantic/Stanley', 'Stanley'],
['Atlantic', 'Atlantic/Bermuda', 'Bermuda'],
['Antarctica', 'Antarctica/Troll', 'Troll'],
['Antarctica', 'Antarctica/Syowa', 'Syowa'],
['Antarctica', 'Antarctica/Mawson', 'Mawson'],
['Antarctica', 'Antarctica/Vostok', 'Vostok'],
['Antarctica', 'Antarctica/Davis', 'Davis'],
['Antarctica', 'Antarctica/Casey', 'Casey'],
['Antarctica', 'Antarctica/DumontDUrville', 'DumontDUrville'],
['Antarctica', 'Antarctica/Macquarie', 'Macquarie'],
['Antarctica', 'Antarctica/McMurdo', 'McMurdo'],
['Antarctica', 'Antarctica/Palmer', 'Palmer'],
['Antarctica', 'Antarctica/Rothera', 'Rothera'],
['Arctic', 'Arctic/Longyearbyen', 'Longyearbyen'],
];
const OffsetLabel = styled('div')`
color: ${p => p.theme.subText};
font-weight: bold;
display: flex;
align-items: center;
font-size: ${p => p.theme.fontSizeSmall};
width: max-content;
`;
const groupedTimezones = Object.entries(groupBy(timezones, ([group]) => group));
// @ts-expect-error Should be removed once these types improve for grouped options
const timezoneOptions: SelectValue<string>[] = groupedTimezones.map(([group, zones]) => ({
label: group,
options: zones.map(([_, value, label]) => {
const offsetLabel = moment.tz(value).format('Z');
return {
value,
trailingItems: <OffsetLabel>UTC {offsetLabel}</OffsetLabel>,
label,
textValue: `${group} ${label} ${offsetLabel}`,
};
}),
}));
export {timezones, timezoneOptions};