{
  "$schema": "https://ui.shadcn.com/schema/registry-item.json",
  "name": "currency-picker",
  "title": "Currency Picker",
  "author": "Shadi Al Milhem",
  "description": "A searchable currency picker with ISO codes, localized names, and native symbols.",
  "dependencies": [
    "@tabler/icons-react"
  ],
  "registryDependencies": [
    "button",
    "input",
    "badge"
  ],
  "files": [
    {
      "path": "src/components/flags/currency-picker.tsx",
      "content": "// SPDX-License-Identifier: MIT\n\nimport { Badge } from \"@/components/ui/badge\"\nimport * as React from \"react\"\n\nimport { currencyData, type CurrencyCode } from \"./data/currencies\"\nimport { SearchPicker, type SearchPickerProps } from \"./search-picker\"\n\nexport interface CurrencyPickerProps extends Omit<SearchPickerProps, \"items\" | \"value\" | \"defaultValue\" | \"onValueChange\" | \"placeholder\" | \"searchPlaceholder\" | \"emptyMessage\"> {\n  value?: CurrencyCode\n  defaultValue?: CurrencyCode\n  onValueChange?: (code: CurrencyCode) => void\n  currencies?: readonly CurrencyCode[]\n  placeholder?: string\n  searchPlaceholder?: string\n  emptyMessage?: string\n}\n\nexport function CurrencyPicker({\n  currencies,\n  placeholder = \"Select a currency\",\n  searchPlaceholder = \"Search currencies…\",\n  emptyMessage = \"No currencies found.\",\n  onValueChange,\n  ...props\n}: CurrencyPickerProps) {\n  const items = React.useMemo(() => {\n    const allowed = currencies ? new Set(currencies) : undefined\n    return currencyData.filter((currency) => !allowed || allowed.has(currency.code)).map((currency) => ({\n      value: currency.code,\n      label: `${currency.code} — ${currency.name}`,\n      description: currency.native,\n      searchValue: `${currency.symbol} ${currency.symbolNative}`,\n      trailing: <Badge variant=\"outline\" className=\"min-w-8 justify-center font-mono\">{currency.symbol}</Badge>,\n    }))\n  }, [currencies])\n\n  return <SearchPicker items={items} placeholder={placeholder} searchPlaceholder={searchPlaceholder} emptyMessage={emptyMessage} onValueChange={(code) => onValueChange?.(code as CurrencyCode)} {...props} />\n}\n",
      "type": "registry:component",
      "target": "@components/flags/currency-picker.tsx"
    },
    {
      "path": "src/components/flags/search-picker.tsx",
      "content": "// SPDX-License-Identifier: MIT\n\nimport { IconCheck, IconChevronDown, IconSearch } from \"@tabler/icons-react\"\nimport * as React from \"react\"\n\nimport { Button } from \"@/components/ui/button\"\nimport { Input } from \"@/components/ui/input\"\nimport { cn } from \"@/lib/utils\"\n\nexport interface SearchPickerItem {\n  value: string\n  label: string\n  description?: string\n  searchValue?: string\n  leading?: React.ReactNode\n  trailing?: React.ReactNode\n  disabled?: boolean\n}\n\nexport interface SearchPickerProps {\n  items: readonly SearchPickerItem[]\n  value?: string\n  defaultValue?: string\n  onValueChange?: (value: string) => void\n  placeholder: string\n  searchPlaceholder: string\n  emptyMessage: string\n  disabled?: boolean\n  name?: string\n  className?: string\n  triggerClassName?: string\n  contentClassName?: string\n  \"aria-label\"?: string\n}\n\nexport function SearchPicker({\n  items,\n  value,\n  defaultValue,\n  onValueChange,\n  placeholder,\n  searchPlaceholder,\n  emptyMessage,\n  disabled,\n  name,\n  className,\n  triggerClassName,\n  contentClassName,\n  \"aria-label\": ariaLabel,\n}: SearchPickerProps) {\n  const [internalValue, setInternalValue] = React.useState(defaultValue)\n  const [query, setQuery] = React.useState(\"\")\n  const [phase, setPhase] = React.useState<\"closed\" | \"open\" | \"closing\">(\"closed\")\n  const [activeIndex, setActiveIndex] = React.useState(0)\n  const rootRef = React.useRef<HTMLDivElement>(null)\n  const triggerRef = React.useRef<HTMLButtonElement>(null)\n  const searchRef = React.useRef<HTMLInputElement>(null)\n  const closeTimerRef = React.useRef<number | undefined>(undefined)\n  const listId = React.useId()\n  const currentValue = value ?? internalValue\n  const selectedItem = items.find((item) => item.value === currentValue)\n  const open = phase === \"open\"\n\n  const filteredItems = React.useMemo(() => {\n    const normalized = query.trim().toLocaleLowerCase()\n    if (!normalized) return items\n    return items.filter((item) => `${item.label} ${item.description ?? \"\"} ${item.value} ${item.searchValue ?? \"\"}`.toLocaleLowerCase().includes(normalized))\n  }, [items, query])\n\n  const close = React.useCallback((restoreFocus = false) => {\n    window.clearTimeout(closeTimerRef.current)\n    setPhase((current) => current === \"closed\" ? current : \"closing\")\n    closeTimerRef.current = window.setTimeout(() => {\n      setPhase(\"closed\")\n      if (restoreFocus) triggerRef.current?.focus()\n    }, 150)\n  }, [])\n\n  React.useEffect(() => () => window.clearTimeout(closeTimerRef.current), [])\n\n  React.useEffect(() => {\n    if (!open) return\n    const onPointerDown = (event: PointerEvent) => {\n      if (!rootRef.current?.contains(event.target as Node)) close()\n    }\n    document.addEventListener(\"pointerdown\", onPointerDown)\n    return () => document.removeEventListener(\"pointerdown\", onPointerDown)\n  }, [close, open])\n\n  React.useEffect(() => {\n    if (open) requestAnimationFrame(() => searchRef.current?.focus())\n  }, [open])\n\n  function selectItem(item: SearchPickerItem) {\n    if (item.disabled) return\n    if (value === undefined) setInternalValue(item.value)\n    onValueChange?.(item.value)\n    setQuery(\"\")\n    close(true)\n  }\n\n  return (\n    <div ref={rootRef} data-slot=\"search-picker\" className={cn(\"relative min-w-0 w-full\", className)}>\n      {name ? <input type=\"hidden\" name={name} value={currentValue ?? \"\"} /> : null}\n      <Button\n        ref={triggerRef}\n        type=\"button\"\n        variant=\"outline\"\n        role=\"combobox\"\n        aria-expanded={open}\n        aria-controls={listId}\n        aria-haspopup=\"listbox\"\n        aria-label={ariaLabel ?? placeholder}\n        disabled={disabled}\n        className={cn(\"h-10 min-w-0 w-full justify-between px-3 font-normal sm:h-9\", triggerClassName)}\n        onClick={() => {\n          if (open) close()\n          else {\n            window.clearTimeout(closeTimerRef.current)\n            setActiveIndex(0)\n            setPhase(\"open\")\n          }\n        }}\n      >\n        <span className={cn(\"flex min-w-0 items-center gap-2\", !selectedItem && \"text-muted-foreground\")}>\n          {selectedItem?.leading}\n          <span className=\"truncate\">{selectedItem?.label ?? placeholder}</span>\n        </span>\n        <IconChevronDown data-icon=\"inline-end\" aria-hidden=\"true\" />\n      </Button>\n\n      {phase !== \"closed\" ? (\n        <div\n          data-origin=\"top\"\n          className={cn(\"t-dropdown absolute z-50 mt-1 w-full min-w-64 overflow-hidden rounded-md border bg-popover text-popover-foreground shadow-md\", phase === \"open\" ? \"is-open\" : \"is-closing\", contentClassName)}\n          onKeyDown={(event) => {\n            if (event.key === \"Escape\") close(true)\n            if (event.key === \"ArrowDown\") {\n              event.preventDefault()\n              setActiveIndex((index) => Math.min(index + 1, filteredItems.length - 1))\n            }\n            if (event.key === \"ArrowUp\") {\n              event.preventDefault()\n              setActiveIndex((index) => Math.max(index - 1, 0))\n            }\n            if (event.key === \"Enter\" && filteredItems[activeIndex]) {\n              event.preventDefault()\n              selectItem(filteredItems[activeIndex])\n            }\n          }}\n        >\n          <div className=\"relative border-b p-2\">\n            <IconSearch aria-hidden=\"true\" className=\"pointer-events-none absolute start-4 top-1/2 size-4 -translate-y-1/2 text-muted-foreground\" />\n            <Input\n              ref={searchRef}\n              value={query}\n              onChange={(event) => { setQuery(event.target.value); setActiveIndex(0) }}\n              placeholder={searchPlaceholder}\n              aria-label={searchPlaceholder}\n              aria-controls={listId}\n              aria-activedescendant={filteredItems[activeIndex] ? `${listId}-${filteredItems[activeIndex].value}` : undefined}\n              className=\"h-9 ps-8 shadow-none\"\n            />\n          </div>\n          <div id={listId} role=\"listbox\" className=\"max-h-72 overflow-y-auto p-1\">\n            {filteredItems.length ? filteredItems.map((item, index) => (\n              <button\n                key={item.value}\n                id={`${listId}-${item.value}`}\n                type=\"button\"\n                role=\"option\"\n                aria-selected={item.value === currentValue}\n                disabled={item.disabled}\n                data-active={index === activeIndex || undefined}\n                className=\"flex min-h-10 w-full items-center gap-2 rounded-sm px-2 py-2 text-start text-sm outline-none hover:bg-accent hover:text-accent-foreground data-[active]:bg-accent data-[active]:text-accent-foreground focus-visible:ring-ring/30 focus-visible:ring-[3px] disabled:pointer-events-none disabled:opacity-40 sm:min-h-9\"\n                onPointerMove={() => setActiveIndex(index)}\n                onClick={() => selectItem(item)}\n              >\n                {item.leading}\n                <span className=\"min-w-0 flex-1\">\n                  <span className=\"block truncate\">{item.label}</span>\n                  {item.description ? <span className=\"block truncate text-xs text-muted-foreground\">{item.description}</span> : null}\n                </span>\n                {item.trailing}\n                <IconCheck aria-hidden=\"true\" className={cn(\"size-4\", item.value === currentValue ? \"opacity-100\" : \"opacity-0\")} />\n              </button>\n            )) : <p className=\"px-3 py-8 text-center text-sm text-muted-foreground\">{emptyMessage}</p>}\n          </div>\n        </div>\n      ) : null}\n    </div>\n  )\n}\n",
      "type": "registry:component",
      "target": "@components/flags/search-picker.tsx"
    },
    {
      "path": "src/components/flags/data/currencies.ts",
      "content": "// SPDX-License-Identifier: MIT\n\n// Generated by scripts/generate-country-data.mjs from countries-list,\n// i18n-iso-countries, and libphonenumber-js. Do not edit by hand.\n\nexport const currencyData = [\n  {\n    \"code\": \"AED\",\n    \"name\": \"United Arab Emirates Dirham\",\n    \"native\": \"درهم إماراتي\",\n    \"symbol\": \"AED\",\n    \"symbolNative\": \"د.إ.\",\n    \"numeric\": \"784\",\n    \"decimals\": 2\n  },\n  {\n    \"code\": \"AFN\",\n    \"name\": \"Afghan Afghani\",\n    \"native\": \"افغانۍ\",\n    \"symbol\": \"؋\",\n    \"symbolNative\": \"؋\",\n    \"numeric\": \"971\",\n    \"decimals\": 2\n  },\n  {\n    \"code\": \"ALL\",\n    \"name\": \"Albanian Lek\",\n    \"native\": \"Leku shqiptar\",\n    \"symbol\": \"ALL\",\n    \"symbolNative\": \"Lekë\",\n    \"numeric\": \"008\",\n    \"decimals\": 2\n  },\n  {\n    \"code\": \"AMD\",\n    \"name\": \"Armenian Dram\",\n    \"native\": \"հայկական դրամ\",\n    \"symbol\": \"֏\",\n    \"symbolNative\": \"֏\",\n    \"numeric\": \"051\",\n    \"decimals\": 2\n  },\n  {\n    \"code\": \"ANG\",\n    \"name\": \"Netherlands Antillean Guilder\",\n    \"native\": \"Nederlands-Antilliaanse gulden\",\n    \"symbol\": \"ANG\",\n    \"symbolNative\": \"NAf.\",\n    \"numeric\": \"532\",\n    \"decimals\": 2,\n    \"withdrawn\": true\n  },\n  {\n    \"code\": \"AOA\",\n    \"name\": \"Angolan Kwanza\",\n    \"native\": \"kwanza angolano\",\n    \"symbol\": \"Kz\",\n    \"symbolNative\": \"Kz\",\n    \"numeric\": \"973\",\n    \"decimals\": 2\n  },\n  {\n    \"code\": \"ARS\",\n    \"name\": \"Argentine Peso\",\n    \"native\": \"peso argentino\",\n    \"symbol\": \"$\",\n    \"symbolNative\": \"$\",\n    \"numeric\": \"032\",\n    \"decimals\": 2\n  },\n  {\n    \"code\": \"AUD\",\n    \"name\": \"Australian Dollar\",\n    \"native\": \"Australian Dollar\",\n    \"symbol\": \"$\",\n    \"symbolNative\": \"$\",\n    \"numeric\": \"036\",\n    \"decimals\": 2\n  },\n  {\n    \"code\": \"AWG\",\n    \"name\": \"Aruban Florin\",\n    \"native\": \"Arubaanse gulden\",\n    \"symbol\": \"AWG\",\n    \"symbolNative\": \"Afl.\",\n    \"numeric\": \"533\",\n    \"decimals\": 2\n  },\n  {\n    \"code\": \"AZN\",\n    \"name\": \"Azerbaijani Manat\",\n    \"native\": \"Azərbaycan Manatı\",\n    \"symbol\": \"₼\",\n    \"symbolNative\": \"₼\",\n    \"numeric\": \"944\",\n    \"decimals\": 2\n  },\n  {\n    \"code\": \"BAM\",\n    \"name\": \"Bosnia-Herzegovina Convertible Mark\",\n    \"native\": \"Bosanskohercegovačka konvertibilna marka\",\n    \"symbol\": \"KM\",\n    \"symbolNative\": \"KM\",\n    \"numeric\": \"977\",\n    \"decimals\": 2\n  },\n  {\n    \"code\": \"BBD\",\n    \"name\": \"Barbadian Dollar\",\n    \"native\": \"Barbadian Dollar\",\n    \"symbol\": \"$\",\n    \"symbolNative\": \"$\",\n    \"numeric\": \"052\",\n    \"decimals\": 2\n  },\n  {\n    \"code\": \"BDT\",\n    \"name\": \"Bangladeshi Taka\",\n    \"native\": \"বাংলাদেশী টাকা\",\n    \"symbol\": \"৳\",\n    \"symbolNative\": \"৳\",\n    \"numeric\": \"050\",\n    \"decimals\": 2\n  },\n  {\n    \"code\": \"BHD\",\n    \"name\": \"Bahraini Dinar\",\n    \"native\": \"دينار بحريني\",\n    \"symbol\": \"BHD\",\n    \"symbolNative\": \"د.ب.\",\n    \"numeric\": \"048\",\n    \"decimals\": 3\n  },\n  {\n    \"code\": \"BIF\",\n    \"name\": \"Burundian Franc\",\n    \"native\": \"franc burundais\",\n    \"symbol\": \"BIF\",\n    \"symbolNative\": \"FBu\",\n    \"numeric\": \"108\",\n    \"decimals\": 0\n  },\n  {\n    \"code\": \"BMD\",\n    \"name\": \"Bermudan Dollar\",\n    \"native\": \"Bermudian Dollar\",\n    \"symbol\": \"$\",\n    \"symbolNative\": \"$\",\n    \"numeric\": \"060\",\n    \"decimals\": 2\n  },\n  {\n    \"code\": \"BND\",\n    \"name\": \"Brunei Dollar\",\n    \"native\": \"Dolar Brunei\",\n    \"symbol\": \"$\",\n    \"symbolNative\": \"$\",\n    \"numeric\": \"096\",\n    \"decimals\": 2\n  },\n  {\n    \"code\": \"BOB\",\n    \"name\": \"Bolivian Boliviano\",\n    \"native\": \"boliviano\",\n    \"symbol\": \"Bs\",\n    \"symbolNative\": \"Bs\",\n    \"numeric\": \"068\",\n    \"decimals\": 2\n  },\n  {\n    \"code\": \"BOV\",\n    \"name\": \"Bolivian Mvdol\",\n    \"native\": \"MVDOL boliviano\",\n    \"symbol\": \"BOV\",\n    \"symbolNative\": \"BOV\",\n    \"numeric\": \"984\",\n    \"decimals\": 2\n  },\n  {\n    \"code\": \"BRL\",\n    \"name\": \"Brazilian Real\",\n    \"native\": \"Real brasileiro\",\n    \"symbol\": \"R$\",\n    \"symbolNative\": \"R$\",\n    \"numeric\": \"986\",\n    \"decimals\": 2\n  },\n  {\n    \"code\": \"BSD\",\n    \"name\": \"Bahamian Dollar\",\n    \"native\": \"Bahamian Dollar\",\n    \"symbol\": \"$\",\n    \"symbolNative\": \"$\",\n    \"numeric\": \"044\",\n    \"decimals\": 2\n  },\n  {\n    \"code\": \"BTN\",\n    \"name\": \"Bhutanese Ngultrum\",\n    \"native\": \"དངུལ་ཀྲམ\",\n    \"symbol\": \"BTN\",\n    \"symbolNative\": \"Nu.\",\n    \"numeric\": \"064\",\n    \"decimals\": 2\n  },\n  {\n    \"code\": \"BWP\",\n    \"name\": \"Botswanan Pula\",\n    \"native\": \"Botswanan Pula\",\n    \"symbol\": \"P\",\n    \"symbolNative\": \"P\",\n    \"numeric\": \"072\",\n    \"decimals\": 2\n  },\n  {\n    \"code\": \"BYN\",\n    \"name\": \"Belarusian Ruble\",\n    \"native\": \"беларускі рубель\",\n    \"symbol\": \"BYN\",\n    \"symbolNative\": \"Br\",\n    \"numeric\": \"933\",\n    \"decimals\": 2\n  },\n  {\n    \"code\": \"BZD\",\n    \"name\": \"Belize Dollar\",\n    \"native\": \"Belize Dollar\",\n    \"symbol\": \"$\",\n    \"symbolNative\": \"$\",\n    \"numeric\": \"084\",\n    \"decimals\": 2\n  },\n  {\n    \"code\": \"CAD\",\n    \"name\": \"Canadian Dollar\",\n    \"native\": \"Canadian Dollar\",\n    \"symbol\": \"$\",\n    \"symbolNative\": \"$\",\n    \"numeric\": \"124\",\n    \"decimals\": 2\n  },\n  {\n    \"code\": \"CDF\",\n    \"name\": \"Congolese Franc\",\n    \"native\": \"franc congolais\",\n    \"symbol\": \"CDF\",\n    \"symbolNative\": \"FC\",\n    \"numeric\": \"976\",\n    \"decimals\": 2\n  },\n  {\n    \"code\": \"CHE\",\n    \"name\": \"WIR Euro\",\n    \"native\": \"WIR-Euro\",\n    \"symbol\": \"CHE\",\n    \"symbolNative\": \"CHE\",\n    \"numeric\": \"947\",\n    \"decimals\": 2\n  },\n  {\n    \"code\": \"CHF\",\n    \"name\": \"Swiss Franc\",\n    \"native\": \"Schweizer Franken\",\n    \"symbol\": \"CHF\",\n    \"symbolNative\": \"CHF\",\n    \"numeric\": \"756\",\n    \"decimals\": 2\n  },\n  {\n    \"code\": \"CHW\",\n    \"name\": \"WIR Franc\",\n    \"native\": \"WIR Franken\",\n    \"symbol\": \"CHW\",\n    \"symbolNative\": \"CHW\",\n    \"numeric\": \"948\",\n    \"decimals\": 2\n  },\n  {\n    \"code\": \"CLF\",\n    \"name\": \"Chilean Unit of Account (UF)\",\n    \"native\": \"unidad de fomento chilena\",\n    \"symbol\": \"CLF\",\n    \"symbolNative\": \"CLF\",\n    \"numeric\": \"990\",\n    \"decimals\": 4\n  },\n  {\n    \"code\": \"CLP\",\n    \"name\": \"Chilean Peso\",\n    \"native\": \"Peso chileno\",\n    \"symbol\": \"$\",\n    \"symbolNative\": \"$\",\n    \"numeric\": \"152\",\n    \"decimals\": 0\n  },\n  {\n    \"code\": \"CNY\",\n    \"name\": \"Chinese Yuan\",\n    \"native\": \"人民币\",\n    \"symbol\": \"¥\",\n    \"symbolNative\": \"¥\",\n    \"numeric\": \"156\",\n    \"decimals\": 2\n  },\n  {\n    \"code\": \"COP\",\n    \"name\": \"Colombian Peso\",\n    \"native\": \"peso colombiano\",\n    \"symbol\": \"$\",\n    \"symbolNative\": \"$\",\n    \"numeric\": \"170\",\n    \"decimals\": 2\n  },\n  {\n    \"code\": \"COU\",\n    \"name\": \"Colombian Real Value Unit\",\n    \"native\": \"Colombian Real Value Unit\",\n    \"symbol\": \"COU\",\n    \"symbolNative\": \"COU\",\n    \"numeric\": \"970\",\n    \"decimals\": 2\n  },\n  {\n    \"code\": \"CRC\",\n    \"name\": \"Costa Rican Colón\",\n    \"native\": \"colón costarricense\",\n    \"symbol\": \"₡\",\n    \"symbolNative\": \"₡\",\n    \"numeric\": \"188\",\n    \"decimals\": 2\n  },\n  {\n    \"code\": \"CUP\",\n    \"name\": \"Cuban Peso\",\n    \"native\": \"peso cubano\",\n    \"symbol\": \"$\",\n    \"symbolNative\": \"$\",\n    \"numeric\": \"192\",\n    \"decimals\": 2\n  },\n  {\n    \"code\": \"CVE\",\n    \"name\": \"Cape Verdean Escudo\",\n    \"native\": \"escudo cabo-verdiano\",\n    \"symbol\": \"CVE\",\n    \"symbolNative\": \"CVE\",\n    \"numeric\": \"132\",\n    \"decimals\": 2\n  },\n  {\n    \"code\": \"CZK\",\n    \"name\": \"Czech Koruna\",\n    \"native\": \"česká koruna\",\n    \"symbol\": \"Kč\",\n    \"symbolNative\": \"Kč\",\n    \"numeric\": \"203\",\n    \"decimals\": 2\n  },\n  {\n    \"code\": \"DJF\",\n    \"name\": \"Djiboutian Franc\",\n    \"native\": \"franc djiboutien\",\n    \"symbol\": \"DJF\",\n    \"symbolNative\": \"Fdj\",\n    \"numeric\": \"262\",\n    \"decimals\": 0\n  },\n  {\n    \"code\": \"DKK\",\n    \"name\": \"Danish Krone\",\n    \"native\": \"dansk krone\",\n    \"symbol\": \"kr\",\n    \"symbolNative\": \"kr.\",\n    \"numeric\": \"208\",\n    \"decimals\": 2\n  },\n  {\n    \"code\": \"DOP\",\n    \"name\": \"Dominican Peso\",\n    \"native\": \"peso dominicano\",\n    \"symbol\": \"$\",\n    \"symbolNative\": \"$\",\n    \"numeric\": \"214\",\n    \"decimals\": 2\n  },\n  {\n    \"code\": \"DZD\",\n    \"name\": \"Algerian Dinar\",\n    \"native\": \"دينار جزائري\",\n    \"symbol\": \"DZD\",\n    \"symbolNative\": \"د.ج.\",\n    \"numeric\": \"012\",\n    \"decimals\": 2\n  },\n  {\n    \"code\": \"EGP\",\n    \"name\": \"Egyptian Pound\",\n    \"native\": \"جنيه مصري\",\n    \"symbol\": \"E£\",\n    \"symbolNative\": \"E£\",\n    \"numeric\": \"818\",\n    \"decimals\": 2\n  },\n  {\n    \"code\": \"ERN\",\n    \"name\": \"Eritrean Nakfa\",\n    \"native\": \"ኤርትራዊ ናቕፋ\",\n    \"symbol\": \"ERN\",\n    \"symbolNative\": \"Nfk\",\n    \"numeric\": \"232\",\n    \"decimals\": 2\n  },\n  {\n    \"code\": \"ETB\",\n    \"name\": \"Ethiopian Birr\",\n    \"native\": \"የኢትዮጵያ ብር\",\n    \"symbol\": \"ETB\",\n    \"symbolNative\": \"ብር\",\n    \"numeric\": \"230\",\n    \"decimals\": 2\n  },\n  {\n    \"code\": \"EUR\",\n    \"name\": \"Euro\",\n    \"native\": \"euro\",\n    \"symbol\": \"€\",\n    \"symbolNative\": \"€\",\n    \"numeric\": \"978\",\n    \"decimals\": 2\n  },\n  {\n    \"code\": \"FJD\",\n    \"name\": \"Fijian Dollar\",\n    \"native\": \"Fijian Dollar\",\n    \"symbol\": \"$\",\n    \"symbolNative\": \"$\",\n    \"numeric\": \"242\",\n    \"decimals\": 2\n  },\n  {\n    \"code\": \"FKP\",\n    \"name\": \"Falkland Islands Pound\",\n    \"native\": \"Falkland Islands Pound\",\n    \"symbol\": \"£\",\n    \"symbolNative\": \"£\",\n    \"numeric\": \"238\",\n    \"decimals\": 2\n  },\n  {\n    \"code\": \"GBP\",\n    \"name\": \"British Pound\",\n    \"native\": \"British Pound\",\n    \"symbol\": \"£\",\n    \"symbolNative\": \"£\",\n    \"numeric\": \"826\",\n    \"decimals\": 2\n  },\n  {\n    \"code\": \"GEL\",\n    \"name\": \"Georgian Lari\",\n    \"native\": \"ქართული ლარი\",\n    \"symbol\": \"₾\",\n    \"symbolNative\": \"₾\",\n    \"numeric\": \"981\",\n    \"decimals\": 2\n  },\n  {\n    \"code\": \"GHS\",\n    \"name\": \"Ghanaian Cedi\",\n    \"native\": \"Ghanaian Cedi\",\n    \"symbol\": \"GH₵\",\n    \"symbolNative\": \"GH₵\",\n    \"numeric\": \"936\",\n    \"decimals\": 2\n  },\n  {\n    \"code\": \"GIP\",\n    \"name\": \"Gibraltar Pound\",\n    \"native\": \"Gibraltar Pound\",\n    \"symbol\": \"£\",\n    \"symbolNative\": \"£\",\n    \"numeric\": \"292\",\n    \"decimals\": 2\n  },\n  {\n    \"code\": \"GMD\",\n    \"name\": \"Gambian Dalasi\",\n    \"native\": \"Gambian Dalasi\",\n    \"symbol\": \"GMD\",\n    \"symbolNative\": \"D\",\n    \"numeric\": \"270\",\n    \"decimals\": 2\n  },\n  {\n    \"code\": \"GNF\",\n    \"name\": \"Guinean Franc\",\n    \"native\": \"franc guinéen\",\n    \"symbol\": \"FG\",\n    \"symbolNative\": \"FG\",\n    \"numeric\": \"324\",\n    \"decimals\": 0\n  },\n  {\n    \"code\": \"GTQ\",\n    \"name\": \"Guatemalan Quetzal\",\n    \"native\": \"quetzal\",\n    \"symbol\": \"Q\",\n    \"symbolNative\": \"Q\",\n    \"numeric\": \"320\",\n    \"decimals\": 2\n  },\n  {\n    \"code\": \"GYD\",\n    \"name\": \"Guyanese Dollar\",\n    \"native\": \"Guyanese Dollar\",\n    \"symbol\": \"$\",\n    \"symbolNative\": \"$\",\n    \"numeric\": \"328\",\n    \"decimals\": 2\n  },\n  {\n    \"code\": \"HKD\",\n    \"name\": \"Hong Kong Dollar\",\n    \"native\": \"港元\",\n    \"symbol\": \"$\",\n    \"symbolNative\": \"$\",\n    \"numeric\": \"344\",\n    \"decimals\": 2\n  },\n  {\n    \"code\": \"HNL\",\n    \"name\": \"Honduran Lempira\",\n    \"native\": \"lempira hondureño\",\n    \"symbol\": \"L\",\n    \"symbolNative\": \"L\",\n    \"numeric\": \"340\",\n    \"decimals\": 2\n  },\n  {\n    \"code\": \"HTG\",\n    \"name\": \"Haitian Gourde\",\n    \"native\": \"gourde haïtienne\",\n    \"symbol\": \"HTG\",\n    \"symbolNative\": \"G\",\n    \"numeric\": \"332\",\n    \"decimals\": 2\n  },\n  {\n    \"code\": \"HUF\",\n    \"name\": \"Hungarian Forint\",\n    \"native\": \"magyar forint\",\n    \"symbol\": \"Ft\",\n    \"symbolNative\": \"Ft\",\n    \"numeric\": \"348\",\n    \"decimals\": 2\n  },\n  {\n    \"code\": \"IDR\",\n    \"name\": \"Indonesian Rupiah\",\n    \"native\": \"Rupiah Indonesia\",\n    \"symbol\": \"Rp\",\n    \"symbolNative\": \"Rp\",\n    \"numeric\": \"360\",\n    \"decimals\": 2\n  },\n  {\n    \"code\": \"ILS\",\n    \"name\": \"Israeli New Shekel\",\n    \"native\": \"שקל חדש\",\n    \"symbol\": \"₪\",\n    \"symbolNative\": \"₪\",\n    \"numeric\": \"376\",\n    \"decimals\": 2\n  },\n  {\n    \"code\": \"INR\",\n    \"name\": \"Indian Rupee\",\n    \"native\": \"भारतीय रुपया\",\n    \"symbol\": \"₹\",\n    \"symbolNative\": \"₹\",\n    \"numeric\": \"356\",\n    \"decimals\": 2\n  },\n  {\n    \"code\": \"IQD\",\n    \"name\": \"Iraqi Dinar\",\n    \"native\": \"دينار عراقي\",\n    \"symbol\": \"IQD\",\n    \"symbolNative\": \"د.ع.\",\n    \"numeric\": \"368\",\n    \"decimals\": 3\n  },\n  {\n    \"code\": \"IRR\",\n    \"name\": \"Iranian Rial\",\n    \"native\": \"ریال ایران\",\n    \"symbol\": \"IRR\",\n    \"symbolNative\": \"ریال\",\n    \"numeric\": \"364\",\n    \"decimals\": 2\n  },\n  {\n    \"code\": \"ISK\",\n    \"name\": \"Icelandic Króna\",\n    \"native\": \"íslensk króna\",\n    \"symbol\": \"kr\",\n    \"symbolNative\": \"kr.\",\n    \"numeric\": \"352\",\n    \"decimals\": 0\n  },\n  {\n    \"code\": \"JMD\",\n    \"name\": \"Jamaican Dollar\",\n    \"native\": \"Jamaican Dollar\",\n    \"symbol\": \"$\",\n    \"symbolNative\": \"$\",\n    \"numeric\": \"388\",\n    \"decimals\": 2\n  },\n  {\n    \"code\": \"JOD\",\n    \"name\": \"Jordanian Dinar\",\n    \"native\": \"دينار أردني\",\n    \"symbol\": \"JOD\",\n    \"symbolNative\": \"د.أ.\",\n    \"numeric\": \"400\",\n    \"decimals\": 3\n  },\n  {\n    \"code\": \"JPY\",\n    \"name\": \"Japanese Yen\",\n    \"native\": \"日本円\",\n    \"symbol\": \"¥\",\n    \"symbolNative\": \"￥\",\n    \"numeric\": \"392\",\n    \"decimals\": 0\n  },\n  {\n    \"code\": \"KES\",\n    \"name\": \"Kenyan Shilling\",\n    \"native\": \"Kenyan Shilling\",\n    \"symbol\": \"KES\",\n    \"symbolNative\": \"Ksh\",\n    \"numeric\": \"404\",\n    \"decimals\": 2\n  },\n  {\n    \"code\": \"KGS\",\n    \"name\": \"Kyrgyz Som\",\n    \"native\": \"Кыргызстан сому\",\n    \"symbol\": \"⃀\",\n    \"symbolNative\": \"⃀\",\n    \"numeric\": \"417\",\n    \"decimals\": 2\n  },\n  {\n    \"code\": \"KHR\",\n    \"name\": \"Cambodian Riel\",\n    \"native\": \"រៀល​កម្ពុជា\",\n    \"symbol\": \"៛\",\n    \"symbolNative\": \"៛\",\n    \"numeric\": \"116\",\n    \"decimals\": 2\n  },\n  {\n    \"code\": \"KMF\",\n    \"name\": \"Comorian Franc\",\n    \"native\": \"فرنك جزر القمر\",\n    \"symbol\": \"CF\",\n    \"symbolNative\": \"CF\",\n    \"numeric\": \"174\",\n    \"decimals\": 0\n  },\n  {\n    \"code\": \"KPW\",\n    \"name\": \"North Korean Won\",\n    \"native\": \"조선 민주주의 인민 공화국 원\",\n    \"symbol\": \"₩\",\n    \"symbolNative\": \"₩\",\n    \"numeric\": \"408\",\n    \"decimals\": 2\n  },\n  {\n    \"code\": \"KRW\",\n    \"name\": \"South Korean Won\",\n    \"native\": \"대한민국 원\",\n    \"symbol\": \"₩\",\n    \"symbolNative\": \"₩\",\n    \"numeric\": \"410\",\n    \"decimals\": 0\n  },\n  {\n    \"code\": \"KWD\",\n    \"name\": \"Kuwaiti Dinar\",\n    \"native\": \"دينار كويتي\",\n    \"symbol\": \"KWD\",\n    \"symbolNative\": \"د.ك.\",\n    \"numeric\": \"414\",\n    \"decimals\": 3\n  },\n  {\n    \"code\": \"KYD\",\n    \"name\": \"Cayman Islands Dollar\",\n    \"native\": \"Cayman Islands Dollar\",\n    \"symbol\": \"$\",\n    \"symbolNative\": \"$\",\n    \"numeric\": \"136\",\n    \"decimals\": 2\n  },\n  {\n    \"code\": \"KZT\",\n    \"name\": \"Kazakhstani Tenge\",\n    \"native\": \"Қазақстан теңгесі\",\n    \"symbol\": \"₸\",\n    \"symbolNative\": \"₸\",\n    \"numeric\": \"398\",\n    \"decimals\": 2\n  },\n  {\n    \"code\": \"LAK\",\n    \"name\": \"Laotian Kip\",\n    \"native\": \"ລາວ ກີບ\",\n    \"symbol\": \"₭\",\n    \"symbolNative\": \"₭\",\n    \"numeric\": \"418\",\n    \"decimals\": 2\n  },\n  {\n    \"code\": \"LBP\",\n    \"name\": \"Lebanese Pound\",\n    \"native\": \"جنيه لبناني\",\n    \"symbol\": \"L£\",\n    \"symbolNative\": \"L£\",\n    \"numeric\": \"422\",\n    \"decimals\": 2\n  },\n  {\n    \"code\": \"LKR\",\n    \"name\": \"Sri Lankan Rupee\",\n    \"native\": \"ශ්‍රී ලංකා රුපියල\",\n    \"symbol\": \"Rs\",\n    \"symbolNative\": \"රු.\",\n    \"numeric\": \"144\",\n    \"decimals\": 2\n  },\n  {\n    \"code\": \"LRD\",\n    \"name\": \"Liberian Dollar\",\n    \"native\": \"Liberian Dollar\",\n    \"symbol\": \"$\",\n    \"symbolNative\": \"$\",\n    \"numeric\": \"430\",\n    \"decimals\": 2\n  },\n  {\n    \"code\": \"LSL\",\n    \"name\": \"Lesotho Loti\",\n    \"native\": \"Lesotho Loti\",\n    \"symbol\": \"LSL\",\n    \"symbolNative\": \"LSL\",\n    \"numeric\": \"426\",\n    \"decimals\": 2\n  },\n  {\n    \"code\": \"LYD\",\n    \"name\": \"Libyan Dinar\",\n    \"native\": \"دينار ليبي\",\n    \"symbol\": \"LYD\",\n    \"symbolNative\": \"د.ل.\",\n    \"numeric\": \"434\",\n    \"decimals\": 3\n  },\n  {\n    \"code\": \"MAD\",\n    \"name\": \"Moroccan Dirham\",\n    \"native\": \"dírham marroquí\",\n    \"symbol\": \"MAD\",\n    \"symbolNative\": \"MAD\",\n    \"numeric\": \"504\",\n    \"decimals\": 2\n  },\n  {\n    \"code\": \"MDL\",\n    \"name\": \"Moldovan Leu\",\n    \"native\": \"leu moldovenesc\",\n    \"symbol\": \"MDL\",\n    \"symbolNative\": \"L\",\n    \"numeric\": \"498\",\n    \"decimals\": 2\n  },\n  {\n    \"code\": \"MGA\",\n    \"name\": \"Malagasy Ariary\",\n    \"native\": \"ariary malgache\",\n    \"symbol\": \"Ar\",\n    \"symbolNative\": \"Ar\",\n    \"numeric\": \"969\",\n    \"decimals\": 2\n  },\n  {\n    \"code\": \"MKD\",\n    \"name\": \"Macedonian Denar\",\n    \"native\": \"Македонски денар\",\n    \"symbol\": \"MKD\",\n    \"symbolNative\": \"ден.\",\n    \"numeric\": \"807\",\n    \"decimals\": 2\n  },\n  {\n    \"code\": \"MMK\",\n    \"name\": \"Myanmar Kyat\",\n    \"native\": \"မြန်မာ ကျပ်\",\n    \"symbol\": \"K\",\n    \"symbolNative\": \"K\",\n    \"numeric\": \"104\",\n    \"decimals\": 2\n  },\n  {\n    \"code\": \"MNT\",\n    \"name\": \"Mongolian Tugrik\",\n    \"native\": \"Монгол төгрөг\",\n    \"symbol\": \"₮\",\n    \"symbolNative\": \"₮\",\n    \"numeric\": \"496\",\n    \"decimals\": 2\n  },\n  {\n    \"code\": \"MOP\",\n    \"name\": \"Macanese Pataca\",\n    \"native\": \"澳門元\",\n    \"symbol\": \"MOP\",\n    \"symbolNative\": \"MOP$\",\n    \"numeric\": \"446\",\n    \"decimals\": 2\n  },\n  {\n    \"code\": \"MRU\",\n    \"name\": \"Mauritanian Ouguiya\",\n    \"native\": \"أوقية موريتانية\",\n    \"symbol\": \"MRU\",\n    \"symbolNative\": \"أ.م.\",\n    \"numeric\": \"929\",\n    \"decimals\": 2\n  },\n  {\n    \"code\": \"MUR\",\n    \"name\": \"Mauritian Rupee\",\n    \"native\": \"Mauritian Rupee\",\n    \"symbol\": \"Rs\",\n    \"symbolNative\": \"Rs\",\n    \"numeric\": \"480\",\n    \"decimals\": 2\n  },\n  {\n    \"code\": \"MVR\",\n    \"name\": \"Maldivian Rufiyaa\",\n    \"native\": \"Maldivian Rufiyaa\",\n    \"symbol\": \"MVR\",\n    \"symbolNative\": \"ރ.\",\n    \"numeric\": \"462\",\n    \"decimals\": 2\n  },\n  {\n    \"code\": \"MWK\",\n    \"name\": \"Malawian Kwacha\",\n    \"native\": \"Malawian Kwacha\",\n    \"symbol\": \"MWK\",\n    \"symbolNative\": \"MK\",\n    \"numeric\": \"454\",\n    \"decimals\": 2\n  },\n  {\n    \"code\": \"MXN\",\n    \"name\": \"Mexican Peso\",\n    \"native\": \"peso mexicano\",\n    \"symbol\": \"$\",\n    \"symbolNative\": \"$\",\n    \"numeric\": \"484\",\n    \"decimals\": 2\n  },\n  {\n    \"code\": \"MXV\",\n    \"name\": \"Mexican Investment Unit\",\n    \"native\": \"Mexican Investment Unit\",\n    \"symbol\": \"MXV\",\n    \"symbolNative\": \"MXV\",\n    \"numeric\": \"979\",\n    \"decimals\": 2\n  },\n  {\n    \"code\": \"MYR\",\n    \"name\": \"Malaysian Ringgit\",\n    \"native\": \"Ringgit Malaysia\",\n    \"symbol\": \"RM\",\n    \"symbolNative\": \"RM\",\n    \"numeric\": \"458\",\n    \"decimals\": 2\n  },\n  {\n    \"code\": \"MZN\",\n    \"name\": \"Mozambican Metical\",\n    \"native\": \"metical moçambicano\",\n    \"symbol\": \"MZN\",\n    \"symbolNative\": \"MTn\",\n    \"numeric\": \"943\",\n    \"decimals\": 2\n  },\n  {\n    \"code\": \"NAD\",\n    \"name\": \"Namibian Dollar\",\n    \"native\": \"Namibian Dollar\",\n    \"symbol\": \"$\",\n    \"symbolNative\": \"$\",\n    \"numeric\": \"516\",\n    \"decimals\": 2\n  },\n  {\n    \"code\": \"NGN\",\n    \"name\": \"Nigerian Naira\",\n    \"native\": \"Nigerian Naira\",\n    \"symbol\": \"₦\",\n    \"symbolNative\": \"₦\",\n    \"numeric\": \"566\",\n    \"decimals\": 2\n  },\n  {\n    \"code\": \"NIO\",\n    \"name\": \"Nicaraguan Córdoba\",\n    \"native\": \"córdoba nicaragüense\",\n    \"symbol\": \"C$\",\n    \"symbolNative\": \"C$\",\n    \"numeric\": \"558\",\n    \"decimals\": 2\n  },\n  {\n    \"code\": \"NOK\",\n    \"name\": \"Norwegian Krone\",\n    \"native\": \"norske kroner\",\n    \"symbol\": \"kr\",\n    \"symbolNative\": \"kr\",\n    \"numeric\": \"578\",\n    \"decimals\": 2\n  },\n  {\n    \"code\": \"NPR\",\n    \"name\": \"Nepalese Rupee\",\n    \"native\": \"नेपाली रूपैयाँ\",\n    \"symbol\": \"Rs\",\n    \"symbolNative\": \"रू\",\n    \"numeric\": \"524\",\n    \"decimals\": 2\n  },\n  {\n    \"code\": \"NZD\",\n    \"name\": \"New Zealand Dollar\",\n    \"native\": \"New Zealand Dollar\",\n    \"symbol\": \"$\",\n    \"symbolNative\": \"$\",\n    \"numeric\": \"554\",\n    \"decimals\": 2\n  },\n  {\n    \"code\": \"OMR\",\n    \"name\": \"Omani Rial\",\n    \"native\": \"ريال عماني\",\n    \"symbol\": \"OMR\",\n    \"symbolNative\": \"ر.ع.\",\n    \"numeric\": \"512\",\n    \"decimals\": 3\n  },\n  {\n    \"code\": \"PAB\",\n    \"name\": \"Panamanian Balboa\",\n    \"native\": \"balboa panameño\",\n    \"symbol\": \"PAB\",\n    \"symbolNative\": \"B/.\",\n    \"numeric\": \"590\",\n    \"decimals\": 2\n  },\n  {\n    \"code\": \"PEN\",\n    \"name\": \"Peruvian Sol\",\n    \"native\": \"sol peruano\",\n    \"symbol\": \"PEN\",\n    \"symbolNative\": \"S/\",\n    \"numeric\": \"604\",\n    \"decimals\": 2\n  },\n  {\n    \"code\": \"PGK\",\n    \"name\": \"Papua New Guinean Kina\",\n    \"native\": \"Papua New Guinean Kina\",\n    \"symbol\": \"PGK\",\n    \"symbolNative\": \"K\",\n    \"numeric\": \"598\",\n    \"decimals\": 2\n  },\n  {\n    \"code\": \"PHP\",\n    \"name\": \"Philippine Peso\",\n    \"native\": \"Philippine Peso\",\n    \"symbol\": \"₱\",\n    \"symbolNative\": \"₱\",\n    \"numeric\": \"608\",\n    \"decimals\": 2\n  },\n  {\n    \"code\": \"PKR\",\n    \"name\": \"Pakistani Rupee\",\n    \"native\": \"Pakistani Rupee\",\n    \"symbol\": \"Rs\",\n    \"symbolNative\": \"Rs\",\n    \"numeric\": \"586\",\n    \"decimals\": 2\n  },\n  {\n    \"code\": \"PLN\",\n    \"name\": \"Polish Zloty\",\n    \"native\": \"złoty polski\",\n    \"symbol\": \"zł\",\n    \"symbolNative\": \"zł\",\n    \"numeric\": \"985\",\n    \"decimals\": 2\n  },\n  {\n    \"code\": \"PYG\",\n    \"name\": \"Paraguayan Guarani\",\n    \"native\": \"guaraní paraguayo\",\n    \"symbol\": \"₲\",\n    \"symbolNative\": \"₲\",\n    \"numeric\": \"600\",\n    \"decimals\": 0\n  },\n  {\n    \"code\": \"QAR\",\n    \"name\": \"Qatari Riyal\",\n    \"native\": \"ريال قطري\",\n    \"symbol\": \"QAR\",\n    \"symbolNative\": \"ر.ق.\",\n    \"numeric\": \"634\",\n    \"decimals\": 2\n  },\n  {\n    \"code\": \"RON\",\n    \"name\": \"Romanian Leu\",\n    \"native\": \"leu românesc\",\n    \"symbol\": \"lei\",\n    \"symbolNative\": \"lei\",\n    \"numeric\": \"946\",\n    \"decimals\": 2\n  },\n  {\n    \"code\": \"RSD\",\n    \"name\": \"Serbian Dinar\",\n    \"native\": \"српски динар\",\n    \"symbol\": \"RSD\",\n    \"symbolNative\": \"RSD\",\n    \"numeric\": \"941\",\n    \"decimals\": 2\n  },\n  {\n    \"code\": \"RUB\",\n    \"name\": \"Russian Ruble\",\n    \"native\": \"российский рубль\",\n    \"symbol\": \"₽\",\n    \"symbolNative\": \"₽\",\n    \"numeric\": \"643\",\n    \"decimals\": 2\n  },\n  {\n    \"code\": \"RWF\",\n    \"name\": \"Rwandan Franc\",\n    \"native\": \"Rwandan Franc\",\n    \"symbol\": \"RF\",\n    \"symbolNative\": \"RF\",\n    \"numeric\": \"646\",\n    \"decimals\": 0\n  },\n  {\n    \"code\": \"SAR\",\n    \"name\": \"Saudi Riyal\",\n    \"native\": \"ريال سعودي\",\n    \"symbol\": \"SAR\",\n    \"symbolNative\": \"ر.س.\",\n    \"numeric\": \"682\",\n    \"decimals\": 2\n  },\n  {\n    \"code\": \"SBD\",\n    \"name\": \"Solomon Islands Dollar\",\n    \"native\": \"Solomon Islands Dollar\",\n    \"symbol\": \"$\",\n    \"symbolNative\": \"$\",\n    \"numeric\": \"090\",\n    \"decimals\": 2\n  },\n  {\n    \"code\": \"SCR\",\n    \"name\": \"Seychellois Rupee\",\n    \"native\": \"roupie des Seychelles\",\n    \"symbol\": \"SCR\",\n    \"symbolNative\": \"SR\",\n    \"numeric\": \"690\",\n    \"decimals\": 2\n  },\n  {\n    \"code\": \"SDG\",\n    \"name\": \"Sudanese Pound\",\n    \"native\": \"جنيه سوداني\",\n    \"symbol\": \"SDG\",\n    \"symbolNative\": \"ج.س.\",\n    \"numeric\": \"938\",\n    \"decimals\": 2\n  },\n  {\n    \"code\": \"SEK\",\n    \"name\": \"Swedish Krona\",\n    \"native\": \"svensk krona\",\n    \"symbol\": \"kr\",\n    \"symbolNative\": \"kr\",\n    \"numeric\": \"752\",\n    \"decimals\": 2\n  },\n  {\n    \"code\": \"SGD\",\n    \"name\": \"Singapore Dollar\",\n    \"native\": \"Singapore Dollar\",\n    \"symbol\": \"$\",\n    \"symbolNative\": \"$\",\n    \"numeric\": \"702\",\n    \"decimals\": 2\n  },\n  {\n    \"code\": \"SHP\",\n    \"name\": \"St. Helena Pound\",\n    \"native\": \"St. Helena Pound\",\n    \"symbol\": \"£\",\n    \"symbolNative\": \"£\",\n    \"numeric\": \"654\",\n    \"decimals\": 2\n  },\n  {\n    \"code\": \"SLE\",\n    \"name\": \"Sierra Leonean Leone\",\n    \"native\": \"Sierra Leonean Leone\",\n    \"symbol\": \"SLE\",\n    \"symbolNative\": \"Le\",\n    \"numeric\": \"925\",\n    \"decimals\": 2\n  },\n  {\n    \"code\": \"SLL\",\n    \"name\": \"Sierra Leonean Leone\",\n    \"native\": \"Sierra Leonean Leone\",\n    \"symbol\": \"SLL\",\n    \"symbolNative\": \"SLL\",\n    \"numeric\": \"694\",\n    \"decimals\": 2,\n    \"withdrawn\": true\n  },\n  {\n    \"code\": \"SOS\",\n    \"name\": \"Somali Shilling\",\n    \"native\": \"Shilingka Soomaaliya\",\n    \"symbol\": \"SOS\",\n    \"symbolNative\": \"S\",\n    \"numeric\": \"706\",\n    \"decimals\": 2\n  },\n  {\n    \"code\": \"SRD\",\n    \"name\": \"Surinamese Dollar\",\n    \"native\": \"Surinaamse dollar\",\n    \"symbol\": \"$\",\n    \"symbolNative\": \"$\",\n    \"numeric\": \"968\",\n    \"decimals\": 2\n  },\n  {\n    \"code\": \"SSP\",\n    \"name\": \"South Sudanese Pound\",\n    \"native\": \"South Sudanese Pound\",\n    \"symbol\": \"£\",\n    \"symbolNative\": \"£\",\n    \"numeric\": \"728\",\n    \"decimals\": 2\n  },\n  {\n    \"code\": \"STN\",\n    \"name\": \"São Tomé & Príncipe Dobra\",\n    \"native\": \"dobra de São Tomé e Príncipe\",\n    \"symbol\": \"Db\",\n    \"symbolNative\": \"Db\",\n    \"numeric\": \"930\",\n    \"decimals\": 2\n  },\n  {\n    \"code\": \"SVC\",\n    \"name\": \"Salvadoran Colón\",\n    \"native\": \"colón salvadoreño\",\n    \"symbol\": \"SVC\",\n    \"symbolNative\": \"SVC\",\n    \"numeric\": \"222\",\n    \"decimals\": 2\n  },\n  {\n    \"code\": \"SYP\",\n    \"name\": \"Syrian Pound\",\n    \"native\": \"ليرة سورية\",\n    \"symbol\": \"£\",\n    \"symbolNative\": \"£\",\n    \"numeric\": \"760\",\n    \"decimals\": 2\n  },\n  {\n    \"code\": \"SZL\",\n    \"name\": \"Swazi Lilangeni\",\n    \"native\": \"Swazi Lilangeni\",\n    \"symbol\": \"SZL\",\n    \"symbolNative\": \"E\",\n    \"numeric\": \"748\",\n    \"decimals\": 2\n  },\n  {\n    \"code\": \"THB\",\n    \"name\": \"Thai Baht\",\n    \"native\": \"บาท\",\n    \"symbol\": \"฿\",\n    \"symbolNative\": \"฿\",\n    \"numeric\": \"764\",\n    \"decimals\": 2\n  },\n  {\n    \"code\": \"TJS\",\n    \"name\": \"Tajikistani Somoni\",\n    \"native\": \"Сомонии Тоҷикистон\",\n    \"symbol\": \"TJS\",\n    \"symbolNative\": \"сом.\",\n    \"numeric\": \"972\",\n    \"decimals\": 2\n  },\n  {\n    \"code\": \"TMT\",\n    \"name\": \"Turkmenistani Manat\",\n    \"native\": \"Türkmen manady\",\n    \"symbol\": \"TMT\",\n    \"symbolNative\": \"TMT\",\n    \"numeric\": \"934\",\n    \"decimals\": 2\n  },\n  {\n    \"code\": \"TND\",\n    \"name\": \"Tunisian Dinar\",\n    \"native\": \"دينار تونسي\",\n    \"symbol\": \"TND\",\n    \"symbolNative\": \"د.ت.\",\n    \"numeric\": \"788\",\n    \"decimals\": 3\n  },\n  {\n    \"code\": \"TOP\",\n    \"name\": \"Tongan Paʻanga\",\n    \"native\": \"Tongan Paʻanga\",\n    \"symbol\": \"T$\",\n    \"symbolNative\": \"T$\",\n    \"numeric\": \"776\",\n    \"decimals\": 2\n  },\n  {\n    \"code\": \"TRY\",\n    \"name\": \"Turkish Lira\",\n    \"native\": \"Türk lirası\",\n    \"symbol\": \"₺\",\n    \"symbolNative\": \"₺\",\n    \"numeric\": \"949\",\n    \"decimals\": 2\n  },\n  {\n    \"code\": \"TTD\",\n    \"name\": \"Trinidad & Tobago Dollar\",\n    \"native\": \"Trinidad & Tobago Dollar\",\n    \"symbol\": \"$\",\n    \"symbolNative\": \"$\",\n    \"numeric\": \"780\",\n    \"decimals\": 2\n  },\n  {\n    \"code\": \"TWD\",\n    \"name\": \"New Taiwan Dollar\",\n    \"native\": \"新台幣\",\n    \"symbol\": \"$\",\n    \"symbolNative\": \"$\",\n    \"numeric\": \"901\",\n    \"decimals\": 2\n  },\n  {\n    \"code\": \"TZS\",\n    \"name\": \"Tanzanian Shilling\",\n    \"native\": \"Shilingi ya Tanzania\",\n    \"symbol\": \"TZS\",\n    \"symbolNative\": \"TSh\",\n    \"numeric\": \"834\",\n    \"decimals\": 2\n  },\n  {\n    \"code\": \"UAH\",\n    \"name\": \"Ukrainian Hryvnia\",\n    \"native\": \"українська гривня\",\n    \"symbol\": \"₴\",\n    \"symbolNative\": \"₴\",\n    \"numeric\": \"980\",\n    \"decimals\": 2\n  },\n  {\n    \"code\": \"UGX\",\n    \"name\": \"Ugandan Shilling\",\n    \"native\": \"Ugandan Shilling\",\n    \"symbol\": \"UGX\",\n    \"symbolNative\": \"USh\",\n    \"numeric\": \"800\",\n    \"decimals\": 0\n  },\n  {\n    \"code\": \"USD\",\n    \"name\": \"US Dollar\",\n    \"native\": \"US Dollar\",\n    \"symbol\": \"$\",\n    \"symbolNative\": \"$\",\n    \"numeric\": \"840\",\n    \"decimals\": 2\n  },\n  {\n    \"code\": \"USN\",\n    \"name\": \"US Dollar (Next day)\",\n    \"native\": \"US Dollar (Next day)\",\n    \"symbol\": \"USN\",\n    \"symbolNative\": \"USN\",\n    \"numeric\": \"997\",\n    \"decimals\": 2\n  },\n  {\n    \"code\": \"USS\",\n    \"name\": \"US Dollar (Same day)\",\n    \"native\": \"US Dollar (Same day)\",\n    \"symbol\": \"USS\",\n    \"symbolNative\": \"USS\",\n    \"numeric\": \"998\",\n    \"decimals\": 2,\n    \"withdrawn\": true\n  },\n  {\n    \"code\": \"UYI\",\n    \"name\": \"Uruguayan Peso (Indexed Units)\",\n    \"native\": \"peso uruguayo en unidades indexadas\",\n    \"symbol\": \"UYI\",\n    \"symbolNative\": \"UYI\",\n    \"numeric\": \"940\",\n    \"decimals\": 0\n  },\n  {\n    \"code\": \"UYU\",\n    \"name\": \"Uruguayan Peso\",\n    \"native\": \"peso uruguayo\",\n    \"symbol\": \"$\",\n    \"symbolNative\": \"$\",\n    \"numeric\": \"858\",\n    \"decimals\": 2\n  },\n  {\n    \"code\": \"UYW\",\n    \"name\": \"Uruguayan Nominal Wage Index Unit\",\n    \"native\": \"Uruguayan Nominal Wage Index Unit\",\n    \"symbol\": \"UYW\",\n    \"symbolNative\": \"UYW\",\n    \"numeric\": \"927\",\n    \"decimals\": 4\n  },\n  {\n    \"code\": \"UZS\",\n    \"name\": \"Uzbekistani Som\",\n    \"native\": \"O‘zbekiston so‘mi\",\n    \"symbol\": \"UZS\",\n    \"symbolNative\": \"soʻm\",\n    \"numeric\": \"860\",\n    \"decimals\": 2\n  },\n  {\n    \"code\": \"VED\",\n    \"name\": \"Bolívar Soberano\",\n    \"native\": \"Bolívar Soberano\",\n    \"symbol\": \"VED\",\n    \"symbolNative\": \"VED\",\n    \"numeric\": \"926\",\n    \"decimals\": 2\n  },\n  {\n    \"code\": \"VES\",\n    \"name\": \"Venezuelan Bolívar\",\n    \"native\": \"bolívar soberano\",\n    \"symbol\": \"VES\",\n    \"symbolNative\": \"Bs.S\",\n    \"numeric\": \"928\",\n    \"decimals\": 2\n  },\n  {\n    \"code\": \"VND\",\n    \"name\": \"Vietnamese Dong\",\n    \"native\": \"Đồng Việt Nam\",\n    \"symbol\": \"₫\",\n    \"symbolNative\": \"₫\",\n    \"numeric\": \"704\",\n    \"decimals\": 0\n  },\n  {\n    \"code\": \"VUV\",\n    \"name\": \"Vanuatu Vatu\",\n    \"native\": \"Vanuatu Vatu\",\n    \"symbol\": \"VUV\",\n    \"symbolNative\": \"VUV\",\n    \"numeric\": \"548\",\n    \"decimals\": 0\n  },\n  {\n    \"code\": \"WST\",\n    \"name\": \"Samoan Tala\",\n    \"native\": \"Samoan Tala\",\n    \"symbol\": \"WST\",\n    \"symbolNative\": \"WST\",\n    \"numeric\": \"882\",\n    \"decimals\": 2\n  },\n  {\n    \"code\": \"XAD\",\n    \"name\": \"Arab Accounting Dinar\",\n    \"native\": \"Arab Accounting Dinar\",\n    \"symbol\": \"XAD\",\n    \"symbolNative\": \"XAD\",\n    \"numeric\": \"396\",\n    \"decimals\": 2\n  },\n  {\n    \"code\": \"XAF\",\n    \"name\": \"Central African CFA Franc\",\n    \"native\": \"franc CFA (BEAC)\",\n    \"symbol\": \"FCFA\",\n    \"symbolNative\": \"FCFA\",\n    \"numeric\": \"950\",\n    \"decimals\": 0\n  },\n  {\n    \"code\": \"XAG\",\n    \"name\": \"Silver\",\n    \"native\": \"Silver\",\n    \"symbol\": \"XAG\",\n    \"symbolNative\": \"XAG\",\n    \"numeric\": \"961\",\n    \"decimals\": 0\n  },\n  {\n    \"code\": \"XAU\",\n    \"name\": \"Gold\",\n    \"native\": \"Gold\",\n    \"symbol\": \"XAU\",\n    \"symbolNative\": \"XAU\",\n    \"numeric\": \"959\",\n    \"decimals\": 0\n  },\n  {\n    \"code\": \"XBA\",\n    \"name\": \"European Composite Unit\",\n    \"native\": \"European Composite Unit\",\n    \"symbol\": \"XBA\",\n    \"symbolNative\": \"XBA\",\n    \"numeric\": \"955\",\n    \"decimals\": 0\n  },\n  {\n    \"code\": \"XBB\",\n    \"name\": \"European Monetary Unit\",\n    \"native\": \"European Monetary Unit\",\n    \"symbol\": \"XBB\",\n    \"symbolNative\": \"XBB\",\n    \"numeric\": \"956\",\n    \"decimals\": 0\n  },\n  {\n    \"code\": \"XBC\",\n    \"name\": \"European Unit of Account (XBC)\",\n    \"native\": \"European Unit of Account (XBC)\",\n    \"symbol\": \"XBC\",\n    \"symbolNative\": \"XBC\",\n    \"numeric\": \"957\",\n    \"decimals\": 0\n  },\n  {\n    \"code\": \"XBD\",\n    \"name\": \"European Unit of Account (XBD)\",\n    \"native\": \"European Unit of Account (XBD)\",\n    \"symbol\": \"XBD\",\n    \"symbolNative\": \"XBD\",\n    \"numeric\": \"958\",\n    \"decimals\": 0\n  },\n  {\n    \"code\": \"XCD\",\n    \"name\": \"East Caribbean Dollar\",\n    \"native\": \"East Caribbean Dollar\",\n    \"symbol\": \"$\",\n    \"symbolNative\": \"$\",\n    \"numeric\": \"951\",\n    \"decimals\": 2\n  },\n  {\n    \"code\": \"XCG\",\n    \"name\": \"Caribbean guilder\",\n    \"native\": \"Caribische gulden\",\n    \"symbol\": \"Cg\",\n    \"symbolNative\": \"Cg\",\n    \"numeric\": \"532\",\n    \"decimals\": 2\n  },\n  {\n    \"code\": \"XDR\",\n    \"name\": \"Special Drawing Rights\",\n    \"native\": \"Special Drawing Rights\",\n    \"symbol\": \"XDR\",\n    \"symbolNative\": \"XDR\",\n    \"numeric\": \"960\",\n    \"decimals\": 0\n  },\n  {\n    \"code\": \"XOF\",\n    \"name\": \"West African CFA Franc\",\n    \"native\": \"franc CFA (BCEAO)\",\n    \"symbol\": \"F CFA\",\n    \"symbolNative\": \"F CFA\",\n    \"numeric\": \"952\",\n    \"decimals\": 0\n  },\n  {\n    \"code\": \"XPD\",\n    \"name\": \"Palladium\",\n    \"native\": \"Palladium\",\n    \"symbol\": \"XPD\",\n    \"symbolNative\": \"XPD\",\n    \"numeric\": \"964\",\n    \"decimals\": 0\n  },\n  {\n    \"code\": \"XPF\",\n    \"name\": \"CFP Franc\",\n    \"native\": \"franc CFP\",\n    \"symbol\": \"CFPF\",\n    \"symbolNative\": \"FCFP\",\n    \"numeric\": \"953\",\n    \"decimals\": 0\n  },\n  {\n    \"code\": \"XPT\",\n    \"name\": \"Platinum\",\n    \"native\": \"Platinum\",\n    \"symbol\": \"XPT\",\n    \"symbolNative\": \"XPT\",\n    \"numeric\": \"962\",\n    \"decimals\": 0\n  },\n  {\n    \"code\": \"XSU\",\n    \"name\": \"Sucre\",\n    \"native\": \"Sucre\",\n    \"symbol\": \"XSU\",\n    \"symbolNative\": \"XSU\",\n    \"numeric\": \"994\",\n    \"decimals\": 0\n  },\n  {\n    \"code\": \"XTS\",\n    \"name\": \"Testing Currency Code\",\n    \"native\": \"Testing Currency Code\",\n    \"symbol\": \"XTS\",\n    \"symbolNative\": \"XTS\",\n    \"numeric\": \"963\",\n    \"decimals\": 0\n  },\n  {\n    \"code\": \"XUA\",\n    \"name\": \"ADB Unit of Account\",\n    \"native\": \"ADB Unit of Account\",\n    \"symbol\": \"XUA\",\n    \"symbolNative\": \"XUA\",\n    \"numeric\": \"965\",\n    \"decimals\": 0\n  },\n  {\n    \"code\": \"XXX\",\n    \"name\": \"Unknown Currency\",\n    \"native\": \"Unknown Currency\",\n    \"symbol\": \"¤\",\n    \"symbolNative\": \"¤\",\n    \"numeric\": \"999\",\n    \"decimals\": 0\n  },\n  {\n    \"code\": \"YER\",\n    \"name\": \"Yemeni Rial\",\n    \"native\": \"ريال يمني\",\n    \"symbol\": \"YER\",\n    \"symbolNative\": \"ر.ي.\",\n    \"numeric\": \"886\",\n    \"decimals\": 2\n  },\n  {\n    \"code\": \"ZAR\",\n    \"name\": \"South African Rand\",\n    \"native\": \"Suid-Afrikaanse rand\",\n    \"symbol\": \"R\",\n    \"symbolNative\": \"R\",\n    \"numeric\": \"710\",\n    \"decimals\": 2\n  },\n  {\n    \"code\": \"ZMW\",\n    \"name\": \"Zambian Kwacha\",\n    \"native\": \"Zambian Kwacha\",\n    \"symbol\": \"ZK\",\n    \"symbolNative\": \"ZK\",\n    \"numeric\": \"967\",\n    \"decimals\": 2\n  },\n  {\n    \"code\": \"ZWG\",\n    \"name\": \"Zimbabwean Gold\",\n    \"native\": \"Zimbabwean Gold\",\n    \"symbol\": \"ZWG\",\n    \"symbolNative\": \"ZWG\",\n    \"numeric\": \"924\",\n    \"decimals\": 2\n  }\n] as const\n\nexport type Currency = (typeof currencyData)[number]\nexport type CurrencyCode = Currency[\"code\"]\n",
      "type": "registry:lib",
      "target": "@components/flags/data/currencies.ts"
    }
  ],
  "meta": {
    "license": "MIT",
    "count": 181,
    "searchable": true
  },
  "docs": "Use value/onValueChange with typed ISO currency codes.",
  "categories": [
    "currencies",
    "forms",
    "combobox"
  ],
  "type": "registry:block"
}