@alfadocs/ui-kit-debug 0.98.0 → 0.99.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (66) hide show
  1. package/README.md +11 -4
  2. package/dist/_chunks/{address-fields-7k59FnJ6.js → address-fields-pHsfkXGk.js} +2 -2
  3. package/dist/_chunks/{address-fields-7k59FnJ6.js.map → address-fields-pHsfkXGk.js.map} +1 -1
  4. package/dist/_chunks/{booking-BSpSMmJ2.js → booking-DSOK-bnR.js} +3 -3
  5. package/dist/_chunks/{booking-BSpSMmJ2.js.map → booking-DSOK-bnR.js.map} +1 -1
  6. package/dist/_chunks/{country-select-BN9nedAp.js → country-select-UEF9BEeQ.js} +2 -2
  7. package/dist/_chunks/{country-select-BN9nedAp.js.map → country-select-UEF9BEeQ.js.map} +1 -1
  8. package/dist/_chunks/flag-DVBE6DnB.js +576 -0
  9. package/dist/_chunks/flag-DVBE6DnB.js.map +1 -0
  10. package/dist/_chunks/flag-view-udarpAot.js +131 -0
  11. package/dist/_chunks/flag-view-udarpAot.js.map +1 -0
  12. package/dist/_chunks/{header-settings-CLwFqMHI.js → header-settings--pjYOe6g.js} +2 -2
  13. package/dist/_chunks/{header-settings-CLwFqMHI.js.map → header-settings--pjYOe6g.js.map} +1 -1
  14. package/dist/_chunks/{link-cell-renderer-flfZh2qY.js → link-cell-renderer-Bt-mXeQY.js} +2 -2
  15. package/dist/_chunks/{link-cell-renderer-flfZh2qY.js.map → link-cell-renderer-Bt-mXeQY.js.map} +1 -1
  16. package/dist/_chunks/{locale-picker-EyvPrwDc.js → locale-picker-BfBUdT1m.js} +310 -239
  17. package/dist/_chunks/locale-picker-BfBUdT1m.js.map +1 -0
  18. package/dist/_chunks/{marketplace-app-shell-Bv1ZO4XO.js → marketplace-app-shell-pCHBp8bo.js} +2 -2
  19. package/dist/_chunks/{marketplace-app-shell-Bv1ZO4XO.js.map → marketplace-app-shell-pCHBp8bo.js.map} +1 -1
  20. package/dist/_chunks/{multi-select-D5QLBJM1.js → multi-select-CC52Qws6.js} +275 -263
  21. package/dist/_chunks/multi-select-CC52Qws6.js.map +1 -0
  22. package/dist/_chunks/{patient-details-DrhlTrLf.js → patient-details-UmNcxL0c.js} +3 -3
  23. package/dist/_chunks/{patient-details-DrhlTrLf.js.map → patient-details-UmNcxL0c.js.map} +1 -1
  24. package/dist/_chunks/{patient-table-CvZTIM2R.js → patient-table-QEVsFvwq.js} +2 -2
  25. package/dist/_chunks/{patient-table-CvZTIM2R.js.map → patient-table-QEVsFvwq.js.map} +1 -1
  26. package/dist/_chunks/{phone-input-D00ZBAm-.js → phone-input-BsZIoE36.js} +2 -2
  27. package/dist/_chunks/{phone-input-D00ZBAm-.js.map → phone-input-BsZIoE36.js.map} +1 -1
  28. package/dist/_chunks/{public-header.agent-rX_VA6hd.js → public-header.agent-_8W9biCO.js} +4 -2
  29. package/dist/_chunks/public-header.agent-_8W9biCO.js.map +1 -0
  30. package/dist/_chunks/use-theme-CAuo6EYT.js.map +1 -1
  31. package/dist/_chunks/workflow-map-SIfAhmWz.js.map +1 -1
  32. package/dist/agent-catalog.json +291 -1
  33. package/dist/agent-i18n/en.json +23 -0
  34. package/dist/components/address-fields/index.js +1 -1
  35. package/dist/components/booking/index.js +1 -1
  36. package/dist/components/country-select/index.js +1 -1
  37. package/dist/components/data-table/index.js +1 -1
  38. package/dist/components/flag/flag-core.d.ts +12 -0
  39. package/dist/components/flag/flag-core.d.ts.map +1 -0
  40. package/dist/components/flag/flag-view.d.ts +38 -0
  41. package/dist/components/flag/flag-view.d.ts.map +1 -0
  42. package/dist/components/flag/flag.d.ts +3 -10
  43. package/dist/components/flag/flag.d.ts.map +1 -1
  44. package/dist/components/flag/index.js +1 -1
  45. package/dist/components/header-settings/index.js +1 -1
  46. package/dist/components/locale-picker/index.js +1 -1
  47. package/dist/components/multi-select/index.js +1 -1
  48. package/dist/components/multi-select/multi-select.d.ts.map +1 -1
  49. package/dist/components/patient-details/index.js +1 -1
  50. package/dist/components/patient-table/index.js +1 -1
  51. package/dist/components/phone-input/index.js +1 -1
  52. package/dist/components/public-header/index.js +1 -1
  53. package/dist/components/public-header/public-header.d.ts.map +1 -1
  54. package/dist/components/workflow/workflow-types.d.ts +4 -5
  55. package/dist/components/workflow/workflow-types.d.ts.map +1 -1
  56. package/dist/hooks/use-theme.d.ts.map +1 -1
  57. package/dist/host-compat.css +7 -1
  58. package/dist/index.js +11 -11
  59. package/dist/patterns/marketplace-app-shell/index.js +1 -1
  60. package/dist/tokens.css +1 -1
  61. package/package.json +1 -1
  62. package/dist/_chunks/flag-Cnmivlrl.js +0 -641
  63. package/dist/_chunks/flag-Cnmivlrl.js.map +0 -1
  64. package/dist/_chunks/locale-picker-EyvPrwDc.js.map +0 -1
  65. package/dist/_chunks/multi-select-D5QLBJM1.js.map +0 -1
  66. package/dist/_chunks/public-header.agent-rX_VA6hd.js.map +0 -1
@@ -2,7 +2,7 @@ import { jsx as O } from "react/jsx-runtime";
2
2
  import { forwardRef as P, useMemo as n, useCallback as x, useRef as aa, useEffect as ea } from "react";
3
3
  import { useTranslation as ra } from "react-i18next";
4
4
  import { C as ia } from "./combobox-DiMLItyu.js";
5
- import { h as ca, a as sa } from "./flag-Cnmivlrl.js";
5
+ import { h as ca, a as sa } from "./flag-DVBE6DnB.js";
6
6
  import { u as ta } from "./use-controllable-state-BiY4xTzM.js";
7
7
  import { u as oa } from "./registry-DvAUVLHh.js";
8
8
  const N = {
@@ -706,4 +706,4 @@ export {
706
706
  ua as c,
707
707
  Aa as r
708
708
  };
709
- //# sourceMappingURL=country-select-BN9nedAp.js.map
709
+ //# sourceMappingURL=country-select-UEF9BEeQ.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"country-select-BN9nedAp.js","sources":["../../src/components/country-select/iso-3166.ts","../../src/components/country-select/country-select.agent.ts","../../src/components/country-select/country-select.tsx"],"sourcesContent":["/**\n * Bundled closed dataset for CountrySelect — ISO 3166-1 alpha-2 codes mapped to\n * UN geoscheme continental region. Localised country *names* are resolved at render\n * via Intl.DisplayNames and are never bundled here.\n *\n * Source: ISO 3166-1 (249 entries, current as of 2025).\n * Region assignment follows the UN M.49 geoscheme with the following project-level\n * overrides: Russia → 'Europe'; Turkey and Cyprus → 'Asia'; Greenland → 'Americas';\n * Antarctica territories (aq, bv, gs, hm, tf) → 'Antarctica'.\n */\n\nexport type CountryRegion =\n | 'Africa'\n | 'Americas'\n | 'Asia'\n | 'Europe'\n | 'Oceania'\n | 'Antarctica';\n\nexport const ISO_3166_REGIONS: Record<string, CountryRegion> = {\n ad: 'Europe', // Andorra\n ae: 'Asia', // United Arab Emirates\n af: 'Asia', // Afghanistan\n ag: 'Americas', // Antigua and Barbuda\n ai: 'Americas', // Anguilla\n al: 'Europe', // Albania\n am: 'Asia', // Armenia\n ao: 'Africa', // Angola\n aq: 'Antarctica', // Antarctica\n ar: 'Americas', // Argentina\n as: 'Oceania', // American Samoa\n at: 'Europe', // Austria\n au: 'Oceania', // Australia\n aw: 'Americas', // Aruba\n ax: 'Europe', // Åland Islands\n az: 'Asia', // Azerbaijan\n ba: 'Europe', // Bosnia and Herzegovina\n bb: 'Americas', // Barbados\n bd: 'Asia', // Bangladesh\n be: 'Europe', // Belgium\n bf: 'Africa', // Burkina Faso\n bg: 'Europe', // Bulgaria\n bh: 'Asia', // Bahrain\n bi: 'Africa', // Burundi\n bj: 'Africa', // Benin\n bl: 'Americas', // Saint Barthélemy\n bm: 'Americas', // Bermuda\n bn: 'Asia', // Brunei Darussalam\n bo: 'Americas', // Bolivia, Plurinational State of\n bq: 'Americas', // Bonaire, Sint Eustatius and Saba\n br: 'Americas', // Brazil\n bs: 'Americas', // Bahamas\n bt: 'Asia', // Bhutan\n bv: 'Antarctica', // Bouvet Island\n bw: 'Africa', // Botswana\n by: 'Europe', // Belarus\n bz: 'Americas', // Belize\n ca: 'Americas', // Canada\n cc: 'Oceania', // Cocos (Keeling) Islands\n cd: 'Africa', // Congo, Democratic Republic of the\n cf: 'Africa', // Central African Republic\n cg: 'Africa', // Congo\n ch: 'Europe', // Switzerland\n ci: 'Africa', // Côte d'Ivoire\n ck: 'Oceania', // Cook Islands\n cl: 'Americas', // Chile\n cm: 'Africa', // Cameroon\n cn: 'Asia', // China\n co: 'Americas', // Colombia\n cr: 'Americas', // Costa Rica\n cu: 'Americas', // Cuba\n cv: 'Africa', // Cabo Verde\n cw: 'Americas', // Curaçao\n cx: 'Oceania', // Christmas Island\n cy: 'Asia', // Cyprus\n cz: 'Europe', // Czechia\n de: 'Europe', // Germany\n dj: 'Africa', // Djibouti\n dk: 'Europe', // Denmark\n dm: 'Americas', // Dominica\n do: 'Americas', // Dominican Republic\n dz: 'Africa', // Algeria\n ec: 'Americas', // Ecuador\n ee: 'Europe', // Estonia\n eg: 'Africa', // Egypt\n eh: 'Africa', // Western Sahara\n er: 'Africa', // Eritrea\n es: 'Europe', // Spain\n et: 'Africa', // Ethiopia\n fi: 'Europe', // Finland\n fj: 'Oceania', // Fiji\n fk: 'Americas', // Falkland Islands (Malvinas)\n fm: 'Oceania', // Micronesia, Federated States of\n fo: 'Europe', // Faroe Islands\n fr: 'Europe', // France\n ga: 'Africa', // Gabon\n gb: 'Europe', // United Kingdom\n gd: 'Americas', // Grenada\n ge: 'Asia', // Georgia\n gf: 'Americas', // French Guiana\n gg: 'Europe', // Guernsey\n gh: 'Africa', // Ghana\n gi: 'Europe', // Gibraltar\n gl: 'Americas', // Greenland\n gm: 'Africa', // Gambia\n gn: 'Africa', // Guinea\n gp: 'Americas', // Guadeloupe\n gq: 'Africa', // Equatorial Guinea\n gr: 'Europe', // Greece\n gs: 'Antarctica', // South Georgia and the South Sandwich Islands\n gt: 'Americas', // Guatemala\n gu: 'Oceania', // Guam\n gw: 'Africa', // Guinea-Bissau\n gy: 'Americas', // Guyana\n hk: 'Asia', // Hong Kong\n hm: 'Antarctica', // Heard Island and McDonald Islands\n hn: 'Americas', // Honduras\n hr: 'Europe', // Croatia\n ht: 'Americas', // Haiti\n hu: 'Europe', // Hungary\n id: 'Asia', // Indonesia\n ie: 'Europe', // Ireland\n il: 'Asia', // Israel\n im: 'Europe', // Isle of Man\n in: 'Asia', // India\n io: 'Africa', // British Indian Ocean Territory\n iq: 'Asia', // Iraq\n ir: 'Asia', // Iran, Islamic Republic of\n is: 'Europe', // Iceland\n it: 'Europe', // Italy\n je: 'Europe', // Jersey\n jm: 'Americas', // Jamaica\n jo: 'Asia', // Jordan\n jp: 'Asia', // Japan\n ke: 'Africa', // Kenya\n kg: 'Asia', // Kyrgyzstan\n kh: 'Asia', // Cambodia\n ki: 'Oceania', // Kiribati\n km: 'Africa', // Comoros\n kn: 'Americas', // Saint Kitts and Nevis\n kp: 'Asia', // Korea, Democratic People's Republic of\n kr: 'Asia', // Korea, Republic of\n kw: 'Asia', // Kuwait\n ky: 'Americas', // Cayman Islands\n kz: 'Asia', // Kazakhstan\n la: 'Asia', // Lao People's Democratic Republic\n lb: 'Asia', // Lebanon\n lc: 'Americas', // Saint Lucia\n li: 'Europe', // Liechtenstein\n lk: 'Asia', // Sri Lanka\n lr: 'Africa', // Liberia\n ls: 'Africa', // Lesotho\n lt: 'Europe', // Lithuania\n lu: 'Europe', // Luxembourg\n lv: 'Europe', // Latvia\n ly: 'Africa', // Libya\n ma: 'Africa', // Morocco\n mc: 'Europe', // Monaco\n md: 'Europe', // Moldova, Republic of\n me: 'Europe', // Montenegro\n mf: 'Americas', // Saint Martin (French part)\n mg: 'Africa', // Madagascar\n mh: 'Oceania', // Marshall Islands\n mk: 'Europe', // North Macedonia\n ml: 'Africa', // Mali\n mm: 'Asia', // Myanmar\n mn: 'Asia', // Mongolia\n mo: 'Asia', // Macao\n mp: 'Oceania', // Northern Mariana Islands\n mq: 'Americas', // Martinique\n mr: 'Africa', // Mauritania\n ms: 'Americas', // Montserrat\n mt: 'Europe', // Malta\n mu: 'Africa', // Mauritius\n mv: 'Asia', // Maldives\n mw: 'Africa', // Malawi\n mx: 'Americas', // Mexico\n my: 'Asia', // Malaysia\n mz: 'Africa', // Mozambique\n na: 'Africa', // Namibia\n nc: 'Oceania', // New Caledonia\n ne: 'Africa', // Niger\n nf: 'Oceania', // Norfolk Island\n ng: 'Africa', // Nigeria\n ni: 'Americas', // Nicaragua\n nl: 'Europe', // Netherlands\n no: 'Europe', // Norway\n np: 'Asia', // Nepal\n nr: 'Oceania', // Nauru\n nu: 'Oceania', // Niue\n nz: 'Oceania', // New Zealand\n om: 'Asia', // Oman\n pa: 'Americas', // Panama\n pe: 'Americas', // Peru\n pf: 'Oceania', // French Polynesia\n pg: 'Oceania', // Papua New Guinea\n ph: 'Asia', // Philippines\n pk: 'Asia', // Pakistan\n pl: 'Europe', // Poland\n pm: 'Americas', // Saint Pierre and Miquelon\n pn: 'Oceania', // Pitcairn\n pr: 'Americas', // Puerto Rico\n ps: 'Asia', // Palestine, State of\n pt: 'Europe', // Portugal\n pw: 'Oceania', // Palau\n py: 'Americas', // Paraguay\n qa: 'Asia', // Qatar\n re: 'Africa', // Réunion\n ro: 'Europe', // Romania\n rs: 'Europe', // Serbia\n ru: 'Europe', // Russian Federation\n rw: 'Africa', // Rwanda\n sa: 'Asia', // Saudi Arabia\n sb: 'Oceania', // Solomon Islands\n sc: 'Africa', // Seychelles\n sd: 'Africa', // Sudan\n se: 'Europe', // Sweden\n sg: 'Asia', // Singapore\n sh: 'Africa', // Saint Helena, Ascension and Tristan da Cunha\n si: 'Europe', // Slovenia\n sj: 'Europe', // Svalbard and Jan Mayen\n sk: 'Europe', // Slovakia\n sl: 'Africa', // Sierra Leone\n sm: 'Europe', // San Marino\n sn: 'Africa', // Senegal\n so: 'Africa', // Somalia\n sr: 'Americas', // Suriname\n ss: 'Africa', // South Sudan\n st: 'Africa', // Sao Tome and Principe\n sv: 'Americas', // El Salvador\n sx: 'Americas', // Sint Maarten (Dutch part)\n sy: 'Asia', // Syrian Arab Republic\n sz: 'Africa', // Eswatini\n tc: 'Americas', // Turks and Caicos Islands\n td: 'Africa', // Chad\n tf: 'Antarctica', // French Southern Territories\n tg: 'Africa', // Togo\n th: 'Asia', // Thailand\n tj: 'Asia', // Tajikistan\n tk: 'Oceania', // Tokelau\n tl: 'Asia', // Timor-Leste\n tm: 'Asia', // Turkmenistan\n tn: 'Africa', // Tunisia\n to: 'Oceania', // Tonga\n tr: 'Asia', // Türkiye\n tt: 'Americas', // Trinidad and Tobago\n tv: 'Oceania', // Tuvalu\n tw: 'Asia', // Taiwan, Province of China\n tz: 'Africa', // Tanzania, United Republic of\n ua: 'Europe', // Ukraine\n ug: 'Africa', // Uganda\n um: 'Oceania', // United States Minor Outlying Islands\n us: 'Americas', // United States of America\n uy: 'Americas', // Uruguay\n uz: 'Asia', // Uzbekistan\n va: 'Europe', // Holy See\n vc: 'Americas', // Saint Vincent and the Grenadines\n ve: 'Americas', // Venezuela, Bolivarian Republic of\n vg: 'Americas', // Virgin Islands (British)\n vi: 'Americas', // Virgin Islands (U.S.)\n vn: 'Asia', // Viet Nam\n vu: 'Oceania', // Vanuatu\n wf: 'Oceania', // Wallis and Futuna\n ws: 'Oceania', // Samoa\n ye: 'Asia', // Yemen\n yt: 'Africa', // Mayotte\n za: 'Africa', // South Africa\n zm: 'Africa', // Zambia\n zw: 'Africa', // Zimbabwe\n};\n\nexport const ISO_3166_ALPHA2: readonly string[] =\n Object.keys(ISO_3166_REGIONS).sort();\n\nexport function regionForCountry(code: string): CountryRegion | undefined {\n return ISO_3166_REGIONS[code.toLowerCase()];\n}\n","import type { AgentAdapter } from '../../agent/types';\n\n// Curated agent-readiness handle — the country-select wrapper owns the\n// selection; the inner Combobox registers its own `combobox` adapter for\n// the mechanical open/filter/close concerns.\nexport interface CountrySelectHandle {\n getValue: () => string | null;\n setValue: (value: string | null) => void;\n clear: () => void;\n}\n\nexport const countrySelectAgent: AgentAdapter<CountrySelectHandle> = {\n id: 'country-select',\n // Persisted single choice of an ISO country code.\n capabilities: ['select_single', 'set_value'],\n state: {\n value: {\n type: 'string | null',\n descriptionKey: 'ui.agent.countrySelect.state.value',\n description:\n 'Selected ISO 3166-1 alpha-2 country code (lowercased), or null when nothing is selected.',\n read: (handle) => handle.getValue(),\n },\n },\n actions: {\n set_value: {\n safety: 'write',\n argsType: '{ value: string | null }',\n argsSchema: {\n type: 'object',\n properties: {\n value: {\n type: ['string', 'null'],\n description:\n 'ISO 3166-1 alpha-2 country code (lowercased) to select, or null to clear.',\n },\n },\n required: ['value'],\n },\n idempotent: true,\n descriptionKey: 'ui.agent.countrySelect.actions.setValue',\n description: 'Set the selected country by ISO alpha-2 code.',\n examples: [{ args: { value: 'it' }, note: 'Select Italy.' }],\n invoke: (handle, args: { value: string | null }) => {\n handle.setValue(args.value);\n },\n },\n clear_selection: {\n safety: 'destructive',\n idempotent: true,\n descriptionKey: 'ui.agent.countrySelect.actions.clearSelection',\n description: 'Clear the selected country.',\n invoke: (handle) => {\n handle.clear();\n },\n },\n },\n domHooks: {\n root: { attr: 'data-component', value: 'country-select' },\n instanceId: {\n attr: 'data-component-id',\n sourceProp: 'id',\n description: 'Sourced from the id prop.',\n },\n // The inner Combobox emits `data-option-id` and registers its own\n // `combobox` adapter; both adapters intentionally coexist (the registry\n // keys by id + instanceId), so this hook is reachable from this root too.\n item: {\n attr: 'data-option-id',\n description:\n 'Each country option emits its alpha-2 code as data-option-id.',\n },\n },\n};\n","import {\n forwardRef,\n useCallback,\n useEffect,\n useMemo,\n useRef,\n type ReactNode,\n} from 'react';\nimport { useTranslation } from 'react-i18next';\nimport { Combobox, type ComboboxOption } from '../combobox/combobox';\nimport { Flag, hasFlag } from '../flag/flag';\nimport { useControllableState } from '../../hooks/use-controllable-state';\nimport { useAgentRegistration } from '../../agent';\nimport {\n ISO_3166_ALPHA2,\n regionForCountry,\n type CountryRegion,\n} from './iso-3166';\nimport {\n countrySelectAgent,\n type CountrySelectHandle,\n} from './country-select.agent';\n\n/* ------------------------------------------------------------------ */\n/* Public API */\n/* */\n/* A searchable country picker built on Combobox. Country NAMES are */\n/* resolved per-locale at render via `Intl.DisplayNames` (zero bundled */\n/* name data, switches with the active language); only the ISO code */\n/* list + region grouping are bundled. The value is the ISO 3166-1 */\n/* alpha-2 code, LOWERCASED, matching `StructuredAddress.country`. */\n/* ------------------------------------------------------------------ */\n\nexport interface CountrySelectProps {\n /** Selected country — ISO 3166-1 alpha-2, lowercased (e.g. `'it'`). */\n value?: string;\n /** Uncontrolled initial value. Ignored once `value` is set. */\n defaultValue?: string;\n /** Fires with the new lowercased alpha-2 code (or `''` when cleared). */\n onValueChange?: (code: string) => void;\n /**\n * Restrict the list to these codes (lowercase alpha-2). Default: every\n * ISO 3166-1 alpha-2 country.\n */\n countries?: string[];\n /**\n * Float these countries to the top under a \"Popular\" heading, in the\n * given order (lowercase alpha-2). They are removed from their region\n * group so they never appear twice.\n */\n popularCountries?: string[];\n /** Group the remaining countries by world region. Default `true`. */\n grouped?: boolean;\n /**\n * Override the localized display name for specific codes — e.g. to pin\n * politically-sensitive wording. Keyed by lowercase alpha-2.\n */\n nameOverrides?: Record<string, string>;\n /** Show a flag before each country name. Default `true`. */\n showFlag?: boolean;\n placeholder?: string;\n clearable?: boolean;\n disabled?: boolean;\n readOnly?: boolean;\n required?: boolean;\n name?: string;\n id?: string;\n size?: 'sm' | 'md' | 'lg';\n tone?: 'default' | 'error';\n /**\n * Accessible name. REQUIRED when used inside a `<FormField>`: cmdk labels\n * the input through its own hidden element, so the visible FormField label\n * is not the computed accessible name unless this is passed. Set it to the\n * visible label text (e.g. `\"Country\"`).\n */\n 'aria-label'?: string;\n /** Invalid-state fallback for use outside a `<FormField>` (inline editors). */\n 'aria-invalid'?: boolean;\n /** Error-message id fallback for use outside a `<FormField>`. */\n 'aria-describedby'?: string;\n className?: string;\n}\n\n// Display order for region groups — broad-to-narrow by AlfaDocs relevance.\nconst REGION_ORDER: readonly CountryRegion[] = [\n 'Europe',\n 'Americas',\n 'Asia',\n 'Africa',\n 'Oceania',\n 'Antarctica',\n];\n\nexport const CountrySelect = forwardRef<HTMLInputElement, CountrySelectProps>(\n function CountrySelect(\n {\n value: valueProp,\n defaultValue,\n onValueChange,\n countries,\n popularCountries,\n grouped = true,\n nameOverrides,\n showFlag = true,\n placeholder,\n clearable,\n disabled,\n readOnly,\n required,\n name,\n id,\n size = 'md',\n tone = 'default',\n 'aria-label': ariaLabel,\n 'aria-invalid': ariaInvalid,\n 'aria-describedby': ariaDescribedBy,\n className,\n },\n ref,\n ) {\n const { t, i18n } = useTranslation();\n\n const [value, setValue] = useControllableState<string>({\n // Normalise incoming codes — a consumer may pass `'IT'` from a server\n // payload, but option values are lowercase, so an un-normalised value\n // would never match and the field would render blank.\n value: valueProp?.toLowerCase(),\n defaultValue: defaultValue?.toLowerCase(),\n onChange: onValueChange,\n });\n\n const displayNames = useMemo(() => {\n try {\n return new Intl.DisplayNames([i18n.language], { type: 'region' });\n } catch {\n return new Intl.DisplayNames(['en'], { type: 'region' });\n }\n }, [i18n.language]);\n\n const collator = useMemo(\n () => new Intl.Collator(i18n.language),\n [i18n.language],\n );\n\n const codes = useMemo(\n () => (countries ?? ISO_3166_ALPHA2).map((c) => c.toLowerCase()),\n [countries],\n );\n\n const nameFor = useCallback(\n (code: string): string =>\n nameOverrides?.[code] ??\n displayNames.of(code.toUpperCase()) ??\n code.toUpperCase(),\n [nameOverrides, displayNames],\n );\n\n const flagFor = useCallback(\n (code: string): ReactNode =>\n showFlag && hasFlag(code) ? (\n <Flag country={code} size=\"sm\" rounded=\"sm\" />\n ) : undefined,\n [showFlag],\n );\n\n const options = useMemo<ComboboxOption[]>(() => {\n const codeSet = new Set(codes);\n const popular = (popularCountries ?? [])\n .map((c) => c.toLowerCase())\n .filter((c) => codeSet.has(c));\n const popularSet = new Set(popular);\n\n const makeOption = (code: string, group?: string): ComboboxOption => ({\n value: code,\n label: nameFor(code),\n group,\n startAdornment: flagFor(code),\n });\n\n const popularGroup = grouped\n ? t('inputs.countrySelect.popular', 'Popular')\n : undefined;\n const popularOptions = popular.map((c) => makeOption(c, popularGroup));\n\n const rest = codes.filter((c) => !popularSet.has(c));\n\n if (!grouped) {\n const sorted = [...rest].sort((a, b) =>\n collator.compare(nameFor(a), nameFor(b)),\n );\n return [...popularOptions, ...sorted.map((c) => makeOption(c))];\n }\n\n const byRegion = new Map<CountryRegion, string[]>();\n for (const code of rest) {\n const region = regionForCountry(code) ?? 'Antarctica';\n const list = byRegion.get(region);\n if (list) list.push(code);\n else byRegion.set(region, [code]);\n }\n\n const groupedOptions: ComboboxOption[] = [];\n for (const region of REGION_ORDER) {\n const list = byRegion.get(region);\n if (!list) continue;\n list.sort((a, b) => collator.compare(nameFor(a), nameFor(b)));\n const heading = t(\n `inputs.countrySelect.regions.${region.toLowerCase()}`,\n region,\n );\n for (const code of list) groupedOptions.push(makeOption(code, heading));\n }\n return [...popularOptions, ...groupedOptions];\n }, [codes, popularCountries, grouped, nameFor, flagFor, collator, t]);\n\n /* ----------------------------------------------------------------- */\n /* Agent adapter */\n /* ----------------------------------------------------------------- */\n\n const valueRef = useRef(value);\n useEffect(() => {\n valueRef.current = value;\n }, [value]);\n\n const agentHandle = useMemo<CountrySelectHandle>(\n () => ({\n getValue: () => valueRef.current || null,\n setValue: (next) => setValue(next ?? ''),\n clear: () => setValue(''),\n }),\n [setValue],\n );\n useAgentRegistration(countrySelectAgent, agentHandle, id);\n\n return (\n <div\n data-component=\"country-select\"\n data-component-id={id}\n className={['ds:w-full', className].filter(Boolean).join(' ')}\n >\n <Combobox\n ref={ref}\n options={options}\n value={value ?? ''}\n onValueChange={(next) => setValue(next)}\n placeholder={\n placeholder ??\n t('inputs.countrySelect.placeholder', 'Search countries')\n }\n emptyMessage={t('inputs.countrySelect.empty', 'No countries found')}\n clearable={clearable}\n disabled={disabled}\n readOnly={readOnly}\n required={required}\n name={name}\n id={id}\n size={size}\n tone={tone}\n autoComplete=\"country\"\n aria-label={ariaLabel}\n aria-invalid={ariaInvalid}\n aria-describedby={ariaDescribedBy}\n />\n </div>\n );\n },\n);\n\nCountrySelect.displayName = 'CountrySelect';\n"],"names":["ISO_3166_REGIONS","ISO_3166_ALPHA2","regionForCountry","code","countrySelectAgent","handle","args","REGION_ORDER","CountrySelect","forwardRef","valueProp","defaultValue","onValueChange","countries","popularCountries","grouped","nameOverrides","showFlag","placeholder","clearable","disabled","readOnly","required","name","id","size","tone","ariaLabel","ariaInvalid","ariaDescribedBy","className","ref","t","i18n","useTranslation","value","setValue","useControllableState","displayNames","useMemo","collator","codes","c","nameFor","useCallback","flagFor","hasFlag","jsx","Flag","options","codeSet","popular","popularSet","makeOption","group","popularGroup","popularOptions","rest","sorted","a","b","byRegion","region","list","groupedOptions","heading","valueRef","useRef","useEffect","agentHandle","next","useAgentRegistration","Combobox"],"mappings":";;;;;;;AAmBO,MAAMA,IAAkD;AAAA,EAC7D,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AACN,GAEaC,KACX,OAAO,KAAKD,CAAgB,EAAE,KAAA;AAEzB,SAASE,GAAiBC,GAAyC;AACxE,SAAOH,EAAiBG,EAAK,aAAa;AAC5C;ACzQO,MAAMC,KAAwD;AAAA,EACnE,IAAI;AAAA;AAAA,EAEJ,cAAc,CAAC,iBAAiB,WAAW;AAAA,EAC3C,OAAO;AAAA,IACL,OAAO;AAAA,MACL,MAAM;AAAA,MACN,gBAAgB;AAAA,MAChB,aACE;AAAA,MACF,MAAM,CAACC,MAAWA,EAAO,SAAA;AAAA,IAAS;AAAA,EACpC;AAAA,EAEF,SAAS;AAAA,IACP,WAAW;AAAA,MACT,QAAQ;AAAA,MACR,UAAU;AAAA,MACV,YAAY;AAAA,QACV,MAAM;AAAA,QACN,YAAY;AAAA,UACV,OAAO;AAAA,YACL,MAAM,CAAC,UAAU,MAAM;AAAA,YACvB,aACE;AAAA,UAAA;AAAA,QACJ;AAAA,QAEF,UAAU,CAAC,OAAO;AAAA,MAAA;AAAA,MAEpB,YAAY;AAAA,MACZ,gBAAgB;AAAA,MAChB,aAAa;AAAA,MACb,UAAU,CAAC,EAAE,MAAM,EAAE,OAAO,QAAQ,MAAM,iBAAiB;AAAA,MAC3D,QAAQ,CAACA,GAAQC,MAAmC;AAClD,QAAAD,EAAO,SAASC,EAAK,KAAK;AAAA,MAC5B;AAAA,IAAA;AAAA,IAEF,iBAAiB;AAAA,MACf,QAAQ;AAAA,MACR,YAAY;AAAA,MACZ,gBAAgB;AAAA,MAChB,aAAa;AAAA,MACb,QAAQ,CAACD,MAAW;AAClB,QAAAA,EAAO,MAAA;AAAA,MACT;AAAA,IAAA;AAAA,EACF;AAAA,EAEF,UAAU;AAAA,IACR,MAAM,EAAE,MAAM,kBAAkB,OAAO,iBAAA;AAAA,IACvC,YAAY;AAAA,MACV,MAAM;AAAA,MACN,YAAY;AAAA,MACZ,aAAa;AAAA,IAAA;AAAA;AAAA;AAAA;AAAA,IAKf,MAAM;AAAA,MACJ,MAAM;AAAA,MACN,aACE;AAAA,IAAA;AAAA,EACJ;AAEJ,GCWME,KAAyC;AAAA,EAC7C;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,GAEaC,KAAgBC;AAAA,EAC3B,SACE;AAAA,IACE,OAAOC;AAAA,IACP,cAAAC;AAAA,IACA,eAAAC;AAAA,IACA,WAAAC;AAAA,IACA,kBAAAC;AAAA,IACA,SAAAC,IAAU;AAAA,IACV,eAAAC;AAAA,IACA,UAAAC,IAAW;AAAA,IACX,aAAAC;AAAA,IACA,WAAAC;AAAA,IACA,UAAAC;AAAA,IACA,UAAAC;AAAA,IACA,UAAAC;AAAA,IACA,MAAAC;AAAA,IACA,IAAAC;AAAA,IACA,MAAAC,IAAO;AAAA,IACP,MAAAC,IAAO;AAAA,IACP,cAAcC;AAAA,IACd,gBAAgBC;AAAA,IAChB,oBAAoBC;AAAA,IACpB,WAAAC;AAAA,EAAA,GAEFC,GACA;AACA,UAAM,EAAE,GAAAC,GAAG,MAAAC,EAAA,IAASC,GAAA,GAEd,CAACC,GAAOC,CAAQ,IAAIC,GAA6B;AAAA;AAAA;AAAA;AAAA,MAIrD,OAAO3B,KAAA,gBAAAA,EAAW;AAAA,MAClB,cAAcC,KAAA,gBAAAA,EAAc;AAAA,MAC5B,UAAUC;AAAA,IAAA,CACX,GAEK0B,IAAeC,EAAQ,MAAM;AACjC,UAAI;AACF,eAAO,IAAI,KAAK,aAAa,CAACN,EAAK,QAAQ,GAAG,EAAE,MAAM,UAAU;AAAA,MAClE,QAAQ;AACN,eAAO,IAAI,KAAK,aAAa,CAAC,IAAI,GAAG,EAAE,MAAM,UAAU;AAAA,MACzD;AAAA,IACF,GAAG,CAACA,EAAK,QAAQ,CAAC,GAEZO,IAAWD;AAAA,MACf,MAAM,IAAI,KAAK,SAASN,EAAK,QAAQ;AAAA,MACrC,CAACA,EAAK,QAAQ;AAAA,IAAA,GAGVQ,IAAQF;AAAA,MACZ,OAAO1B,KAAaZ,IAAiB,IAAI,CAACyC,MAAMA,EAAE,aAAa;AAAA,MAC/D,CAAC7B,CAAS;AAAA,IAAA,GAGN8B,IAAUC;AAAA,MACd,CAACzC,OACCa,KAAA,gBAAAA,EAAgBb,OAChBmC,EAAa,GAAGnC,EAAK,YAAA,CAAa,KAClCA,EAAK,YAAA;AAAA,MACP,CAACa,GAAesB,CAAY;AAAA,IAAA,GAGxBO,IAAUD;AAAA,MACd,CAACzC,MACCc,KAAY6B,GAAQ3C,CAAI,IACtB,gBAAA4C,EAACC,IAAA,EAAK,SAAS7C,GAAM,MAAK,MAAK,SAAQ,MAAK,IAC1C;AAAA,MACN,CAACc,CAAQ;AAAA,IAAA,GAGLgC,IAAUV,EAA0B,MAAM;AAC9C,YAAMW,IAAU,IAAI,IAAIT,CAAK,GACvBU,KAAWrC,KAAoB,CAAA,GAClC,IAAI,CAAC4B,MAAMA,EAAE,YAAA,CAAa,EAC1B,OAAO,CAACA,MAAMQ,EAAQ,IAAIR,CAAC,CAAC,GACzBU,IAAa,IAAI,IAAID,CAAO,GAE5BE,IAAa,CAAClD,GAAcmD,OAAoC;AAAA,QACpE,OAAOnD;AAAA,QACP,OAAOwC,EAAQxC,CAAI;AAAA,QACnB,OAAAmD;AAAA,QACA,gBAAgBT,EAAQ1C,CAAI;AAAA,MAAA,IAGxBoD,IAAexC,IACjBiB,EAAE,gCAAgC,SAAS,IAC3C,QACEwB,IAAiBL,EAAQ,IAAI,CAACT,MAAMW,EAAWX,GAAGa,CAAY,CAAC,GAE/DE,IAAOhB,EAAM,OAAO,CAACC,MAAM,CAACU,EAAW,IAAIV,CAAC,CAAC;AAEnD,UAAI,CAAC3B,GAAS;AACZ,cAAM2C,IAAS,CAAC,GAAGD,CAAI,EAAE;AAAA,UAAK,CAACE,GAAGC,MAChCpB,EAAS,QAAQG,EAAQgB,CAAC,GAAGhB,EAAQiB,CAAC,CAAC;AAAA,QAAA;AAEzC,eAAO,CAAC,GAAGJ,GAAgB,GAAGE,EAAO,IAAI,CAAChB,MAAMW,EAAWX,CAAC,CAAC,CAAC;AAAA,MAChE;AAEA,YAAMmB,wBAAe,IAAA;AACrB,iBAAW1D,KAAQsD,GAAM;AACvB,cAAMK,IAAS5D,GAAiBC,CAAI,KAAK,cACnC4D,IAAOF,EAAS,IAAIC,CAAM;AAChC,QAAIC,IAAMA,EAAK,KAAK5D,CAAI,IACnB0D,EAAS,IAAIC,GAAQ,CAAC3D,CAAI,CAAC;AAAA,MAClC;AAEA,YAAM6D,IAAmC,CAAA;AACzC,iBAAWF,KAAUvD,IAAc;AACjC,cAAMwD,IAAOF,EAAS,IAAIC,CAAM;AAChC,YAAI,CAACC,EAAM;AACX,QAAAA,EAAK,KAAK,CAACJ,GAAGC,MAAMpB,EAAS,QAAQG,EAAQgB,CAAC,GAAGhB,EAAQiB,CAAC,CAAC,CAAC;AAC5D,cAAMK,IAAUjC;AAAA,UACd,gCAAgC8B,EAAO,YAAA,CAAa;AAAA,UACpDA;AAAA,QAAA;AAEF,mBAAW3D,KAAQ4D,EAAM,CAAAC,EAAe,KAAKX,EAAWlD,GAAM8D,CAAO,CAAC;AAAA,MACxE;AACA,aAAO,CAAC,GAAGT,GAAgB,GAAGQ,CAAc;AAAA,IAC9C,GAAG,CAACvB,GAAO3B,GAAkBC,GAAS4B,GAASE,GAASL,GAAUR,CAAC,CAAC,GAM9DkC,IAAWC,GAAOhC,CAAK;AAC7B,IAAAiC,GAAU,MAAM;AACd,MAAAF,EAAS,UAAU/B;AAAA,IACrB,GAAG,CAACA,CAAK,CAAC;AAEV,UAAMkC,IAAc9B;AAAA,MAClB,OAAO;AAAA,QACL,UAAU,MAAM2B,EAAS,WAAW;AAAA,QACpC,UAAU,CAACI,MAASlC,EAASkC,KAAQ,EAAE;AAAA,QACvC,OAAO,MAAMlC,EAAS,EAAE;AAAA,MAAA;AAAA,MAE1B,CAACA,CAAQ;AAAA,IAAA;AAEX,WAAAmC,GAAqBnE,IAAoBiE,GAAa7C,CAAE,GAGtD,gBAAAuB;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,kBAAe;AAAA,QACf,qBAAmBvB;AAAA,QACnB,WAAW,CAAC,aAAaM,CAAS,EAAE,OAAO,OAAO,EAAE,KAAK,GAAG;AAAA,QAE5D,UAAA,gBAAAiB;AAAA,UAACyB;AAAA,UAAA;AAAA,YACC,KAAAzC;AAAA,YACA,SAAAkB;AAAA,YACA,OAAOd,KAAS;AAAA,YAChB,eAAe,CAACmC,MAASlC,EAASkC,CAAI;AAAA,YACtC,aACEpD,KACAc,EAAE,oCAAoC,kBAAkB;AAAA,YAE1D,cAAcA,EAAE,8BAA8B,oBAAoB;AAAA,YAClE,WAAAb;AAAA,YACA,UAAAC;AAAA,YACA,UAAAC;AAAA,YACA,UAAAC;AAAA,YACA,MAAAC;AAAA,YACA,IAAAC;AAAA,YACA,MAAAC;AAAA,YACA,MAAAC;AAAA,YACA,cAAa;AAAA,YACb,cAAYC;AAAA,YACZ,gBAAcC;AAAA,YACd,oBAAkBC;AAAA,UAAA;AAAA,QAAA;AAAA,MACpB;AAAA,IAAA;AAAA,EAGN;AACF;AAEArB,GAAc,cAAc;"}
1
+ {"version":3,"file":"country-select-UEF9BEeQ.js","sources":["../../src/components/country-select/iso-3166.ts","../../src/components/country-select/country-select.agent.ts","../../src/components/country-select/country-select.tsx"],"sourcesContent":["/**\n * Bundled closed dataset for CountrySelect — ISO 3166-1 alpha-2 codes mapped to\n * UN geoscheme continental region. Localised country *names* are resolved at render\n * via Intl.DisplayNames and are never bundled here.\n *\n * Source: ISO 3166-1 (249 entries, current as of 2025).\n * Region assignment follows the UN M.49 geoscheme with the following project-level\n * overrides: Russia → 'Europe'; Turkey and Cyprus → 'Asia'; Greenland → 'Americas';\n * Antarctica territories (aq, bv, gs, hm, tf) → 'Antarctica'.\n */\n\nexport type CountryRegion =\n | 'Africa'\n | 'Americas'\n | 'Asia'\n | 'Europe'\n | 'Oceania'\n | 'Antarctica';\n\nexport const ISO_3166_REGIONS: Record<string, CountryRegion> = {\n ad: 'Europe', // Andorra\n ae: 'Asia', // United Arab Emirates\n af: 'Asia', // Afghanistan\n ag: 'Americas', // Antigua and Barbuda\n ai: 'Americas', // Anguilla\n al: 'Europe', // Albania\n am: 'Asia', // Armenia\n ao: 'Africa', // Angola\n aq: 'Antarctica', // Antarctica\n ar: 'Americas', // Argentina\n as: 'Oceania', // American Samoa\n at: 'Europe', // Austria\n au: 'Oceania', // Australia\n aw: 'Americas', // Aruba\n ax: 'Europe', // Åland Islands\n az: 'Asia', // Azerbaijan\n ba: 'Europe', // Bosnia and Herzegovina\n bb: 'Americas', // Barbados\n bd: 'Asia', // Bangladesh\n be: 'Europe', // Belgium\n bf: 'Africa', // Burkina Faso\n bg: 'Europe', // Bulgaria\n bh: 'Asia', // Bahrain\n bi: 'Africa', // Burundi\n bj: 'Africa', // Benin\n bl: 'Americas', // Saint Barthélemy\n bm: 'Americas', // Bermuda\n bn: 'Asia', // Brunei Darussalam\n bo: 'Americas', // Bolivia, Plurinational State of\n bq: 'Americas', // Bonaire, Sint Eustatius and Saba\n br: 'Americas', // Brazil\n bs: 'Americas', // Bahamas\n bt: 'Asia', // Bhutan\n bv: 'Antarctica', // Bouvet Island\n bw: 'Africa', // Botswana\n by: 'Europe', // Belarus\n bz: 'Americas', // Belize\n ca: 'Americas', // Canada\n cc: 'Oceania', // Cocos (Keeling) Islands\n cd: 'Africa', // Congo, Democratic Republic of the\n cf: 'Africa', // Central African Republic\n cg: 'Africa', // Congo\n ch: 'Europe', // Switzerland\n ci: 'Africa', // Côte d'Ivoire\n ck: 'Oceania', // Cook Islands\n cl: 'Americas', // Chile\n cm: 'Africa', // Cameroon\n cn: 'Asia', // China\n co: 'Americas', // Colombia\n cr: 'Americas', // Costa Rica\n cu: 'Americas', // Cuba\n cv: 'Africa', // Cabo Verde\n cw: 'Americas', // Curaçao\n cx: 'Oceania', // Christmas Island\n cy: 'Asia', // Cyprus\n cz: 'Europe', // Czechia\n de: 'Europe', // Germany\n dj: 'Africa', // Djibouti\n dk: 'Europe', // Denmark\n dm: 'Americas', // Dominica\n do: 'Americas', // Dominican Republic\n dz: 'Africa', // Algeria\n ec: 'Americas', // Ecuador\n ee: 'Europe', // Estonia\n eg: 'Africa', // Egypt\n eh: 'Africa', // Western Sahara\n er: 'Africa', // Eritrea\n es: 'Europe', // Spain\n et: 'Africa', // Ethiopia\n fi: 'Europe', // Finland\n fj: 'Oceania', // Fiji\n fk: 'Americas', // Falkland Islands (Malvinas)\n fm: 'Oceania', // Micronesia, Federated States of\n fo: 'Europe', // Faroe Islands\n fr: 'Europe', // France\n ga: 'Africa', // Gabon\n gb: 'Europe', // United Kingdom\n gd: 'Americas', // Grenada\n ge: 'Asia', // Georgia\n gf: 'Americas', // French Guiana\n gg: 'Europe', // Guernsey\n gh: 'Africa', // Ghana\n gi: 'Europe', // Gibraltar\n gl: 'Americas', // Greenland\n gm: 'Africa', // Gambia\n gn: 'Africa', // Guinea\n gp: 'Americas', // Guadeloupe\n gq: 'Africa', // Equatorial Guinea\n gr: 'Europe', // Greece\n gs: 'Antarctica', // South Georgia and the South Sandwich Islands\n gt: 'Americas', // Guatemala\n gu: 'Oceania', // Guam\n gw: 'Africa', // Guinea-Bissau\n gy: 'Americas', // Guyana\n hk: 'Asia', // Hong Kong\n hm: 'Antarctica', // Heard Island and McDonald Islands\n hn: 'Americas', // Honduras\n hr: 'Europe', // Croatia\n ht: 'Americas', // Haiti\n hu: 'Europe', // Hungary\n id: 'Asia', // Indonesia\n ie: 'Europe', // Ireland\n il: 'Asia', // Israel\n im: 'Europe', // Isle of Man\n in: 'Asia', // India\n io: 'Africa', // British Indian Ocean Territory\n iq: 'Asia', // Iraq\n ir: 'Asia', // Iran, Islamic Republic of\n is: 'Europe', // Iceland\n it: 'Europe', // Italy\n je: 'Europe', // Jersey\n jm: 'Americas', // Jamaica\n jo: 'Asia', // Jordan\n jp: 'Asia', // Japan\n ke: 'Africa', // Kenya\n kg: 'Asia', // Kyrgyzstan\n kh: 'Asia', // Cambodia\n ki: 'Oceania', // Kiribati\n km: 'Africa', // Comoros\n kn: 'Americas', // Saint Kitts and Nevis\n kp: 'Asia', // Korea, Democratic People's Republic of\n kr: 'Asia', // Korea, Republic of\n kw: 'Asia', // Kuwait\n ky: 'Americas', // Cayman Islands\n kz: 'Asia', // Kazakhstan\n la: 'Asia', // Lao People's Democratic Republic\n lb: 'Asia', // Lebanon\n lc: 'Americas', // Saint Lucia\n li: 'Europe', // Liechtenstein\n lk: 'Asia', // Sri Lanka\n lr: 'Africa', // Liberia\n ls: 'Africa', // Lesotho\n lt: 'Europe', // Lithuania\n lu: 'Europe', // Luxembourg\n lv: 'Europe', // Latvia\n ly: 'Africa', // Libya\n ma: 'Africa', // Morocco\n mc: 'Europe', // Monaco\n md: 'Europe', // Moldova, Republic of\n me: 'Europe', // Montenegro\n mf: 'Americas', // Saint Martin (French part)\n mg: 'Africa', // Madagascar\n mh: 'Oceania', // Marshall Islands\n mk: 'Europe', // North Macedonia\n ml: 'Africa', // Mali\n mm: 'Asia', // Myanmar\n mn: 'Asia', // Mongolia\n mo: 'Asia', // Macao\n mp: 'Oceania', // Northern Mariana Islands\n mq: 'Americas', // Martinique\n mr: 'Africa', // Mauritania\n ms: 'Americas', // Montserrat\n mt: 'Europe', // Malta\n mu: 'Africa', // Mauritius\n mv: 'Asia', // Maldives\n mw: 'Africa', // Malawi\n mx: 'Americas', // Mexico\n my: 'Asia', // Malaysia\n mz: 'Africa', // Mozambique\n na: 'Africa', // Namibia\n nc: 'Oceania', // New Caledonia\n ne: 'Africa', // Niger\n nf: 'Oceania', // Norfolk Island\n ng: 'Africa', // Nigeria\n ni: 'Americas', // Nicaragua\n nl: 'Europe', // Netherlands\n no: 'Europe', // Norway\n np: 'Asia', // Nepal\n nr: 'Oceania', // Nauru\n nu: 'Oceania', // Niue\n nz: 'Oceania', // New Zealand\n om: 'Asia', // Oman\n pa: 'Americas', // Panama\n pe: 'Americas', // Peru\n pf: 'Oceania', // French Polynesia\n pg: 'Oceania', // Papua New Guinea\n ph: 'Asia', // Philippines\n pk: 'Asia', // Pakistan\n pl: 'Europe', // Poland\n pm: 'Americas', // Saint Pierre and Miquelon\n pn: 'Oceania', // Pitcairn\n pr: 'Americas', // Puerto Rico\n ps: 'Asia', // Palestine, State of\n pt: 'Europe', // Portugal\n pw: 'Oceania', // Palau\n py: 'Americas', // Paraguay\n qa: 'Asia', // Qatar\n re: 'Africa', // Réunion\n ro: 'Europe', // Romania\n rs: 'Europe', // Serbia\n ru: 'Europe', // Russian Federation\n rw: 'Africa', // Rwanda\n sa: 'Asia', // Saudi Arabia\n sb: 'Oceania', // Solomon Islands\n sc: 'Africa', // Seychelles\n sd: 'Africa', // Sudan\n se: 'Europe', // Sweden\n sg: 'Asia', // Singapore\n sh: 'Africa', // Saint Helena, Ascension and Tristan da Cunha\n si: 'Europe', // Slovenia\n sj: 'Europe', // Svalbard and Jan Mayen\n sk: 'Europe', // Slovakia\n sl: 'Africa', // Sierra Leone\n sm: 'Europe', // San Marino\n sn: 'Africa', // Senegal\n so: 'Africa', // Somalia\n sr: 'Americas', // Suriname\n ss: 'Africa', // South Sudan\n st: 'Africa', // Sao Tome and Principe\n sv: 'Americas', // El Salvador\n sx: 'Americas', // Sint Maarten (Dutch part)\n sy: 'Asia', // Syrian Arab Republic\n sz: 'Africa', // Eswatini\n tc: 'Americas', // Turks and Caicos Islands\n td: 'Africa', // Chad\n tf: 'Antarctica', // French Southern Territories\n tg: 'Africa', // Togo\n th: 'Asia', // Thailand\n tj: 'Asia', // Tajikistan\n tk: 'Oceania', // Tokelau\n tl: 'Asia', // Timor-Leste\n tm: 'Asia', // Turkmenistan\n tn: 'Africa', // Tunisia\n to: 'Oceania', // Tonga\n tr: 'Asia', // Türkiye\n tt: 'Americas', // Trinidad and Tobago\n tv: 'Oceania', // Tuvalu\n tw: 'Asia', // Taiwan, Province of China\n tz: 'Africa', // Tanzania, United Republic of\n ua: 'Europe', // Ukraine\n ug: 'Africa', // Uganda\n um: 'Oceania', // United States Minor Outlying Islands\n us: 'Americas', // United States of America\n uy: 'Americas', // Uruguay\n uz: 'Asia', // Uzbekistan\n va: 'Europe', // Holy See\n vc: 'Americas', // Saint Vincent and the Grenadines\n ve: 'Americas', // Venezuela, Bolivarian Republic of\n vg: 'Americas', // Virgin Islands (British)\n vi: 'Americas', // Virgin Islands (U.S.)\n vn: 'Asia', // Viet Nam\n vu: 'Oceania', // Vanuatu\n wf: 'Oceania', // Wallis and Futuna\n ws: 'Oceania', // Samoa\n ye: 'Asia', // Yemen\n yt: 'Africa', // Mayotte\n za: 'Africa', // South Africa\n zm: 'Africa', // Zambia\n zw: 'Africa', // Zimbabwe\n};\n\nexport const ISO_3166_ALPHA2: readonly string[] =\n Object.keys(ISO_3166_REGIONS).sort();\n\nexport function regionForCountry(code: string): CountryRegion | undefined {\n return ISO_3166_REGIONS[code.toLowerCase()];\n}\n","import type { AgentAdapter } from '../../agent/types';\n\n// Curated agent-readiness handle — the country-select wrapper owns the\n// selection; the inner Combobox registers its own `combobox` adapter for\n// the mechanical open/filter/close concerns.\nexport interface CountrySelectHandle {\n getValue: () => string | null;\n setValue: (value: string | null) => void;\n clear: () => void;\n}\n\nexport const countrySelectAgent: AgentAdapter<CountrySelectHandle> = {\n id: 'country-select',\n // Persisted single choice of an ISO country code.\n capabilities: ['select_single', 'set_value'],\n state: {\n value: {\n type: 'string | null',\n descriptionKey: 'ui.agent.countrySelect.state.value',\n description:\n 'Selected ISO 3166-1 alpha-2 country code (lowercased), or null when nothing is selected.',\n read: (handle) => handle.getValue(),\n },\n },\n actions: {\n set_value: {\n safety: 'write',\n argsType: '{ value: string | null }',\n argsSchema: {\n type: 'object',\n properties: {\n value: {\n type: ['string', 'null'],\n description:\n 'ISO 3166-1 alpha-2 country code (lowercased) to select, or null to clear.',\n },\n },\n required: ['value'],\n },\n idempotent: true,\n descriptionKey: 'ui.agent.countrySelect.actions.setValue',\n description: 'Set the selected country by ISO alpha-2 code.',\n examples: [{ args: { value: 'it' }, note: 'Select Italy.' }],\n invoke: (handle, args: { value: string | null }) => {\n handle.setValue(args.value);\n },\n },\n clear_selection: {\n safety: 'destructive',\n idempotent: true,\n descriptionKey: 'ui.agent.countrySelect.actions.clearSelection',\n description: 'Clear the selected country.',\n invoke: (handle) => {\n handle.clear();\n },\n },\n },\n domHooks: {\n root: { attr: 'data-component', value: 'country-select' },\n instanceId: {\n attr: 'data-component-id',\n sourceProp: 'id',\n description: 'Sourced from the id prop.',\n },\n // The inner Combobox emits `data-option-id` and registers its own\n // `combobox` adapter; both adapters intentionally coexist (the registry\n // keys by id + instanceId), so this hook is reachable from this root too.\n item: {\n attr: 'data-option-id',\n description:\n 'Each country option emits its alpha-2 code as data-option-id.',\n },\n },\n};\n","import {\n forwardRef,\n useCallback,\n useEffect,\n useMemo,\n useRef,\n type ReactNode,\n} from 'react';\nimport { useTranslation } from 'react-i18next';\nimport { Combobox, type ComboboxOption } from '../combobox/combobox';\nimport { Flag, hasFlag } from '../flag/flag';\nimport { useControllableState } from '../../hooks/use-controllable-state';\nimport { useAgentRegistration } from '../../agent';\nimport {\n ISO_3166_ALPHA2,\n regionForCountry,\n type CountryRegion,\n} from './iso-3166';\nimport {\n countrySelectAgent,\n type CountrySelectHandle,\n} from './country-select.agent';\n\n/* ------------------------------------------------------------------ */\n/* Public API */\n/* */\n/* A searchable country picker built on Combobox. Country NAMES are */\n/* resolved per-locale at render via `Intl.DisplayNames` (zero bundled */\n/* name data, switches with the active language); only the ISO code */\n/* list + region grouping are bundled. The value is the ISO 3166-1 */\n/* alpha-2 code, LOWERCASED, matching `StructuredAddress.country`. */\n/* ------------------------------------------------------------------ */\n\nexport interface CountrySelectProps {\n /** Selected country — ISO 3166-1 alpha-2, lowercased (e.g. `'it'`). */\n value?: string;\n /** Uncontrolled initial value. Ignored once `value` is set. */\n defaultValue?: string;\n /** Fires with the new lowercased alpha-2 code (or `''` when cleared). */\n onValueChange?: (code: string) => void;\n /**\n * Restrict the list to these codes (lowercase alpha-2). Default: every\n * ISO 3166-1 alpha-2 country.\n */\n countries?: string[];\n /**\n * Float these countries to the top under a \"Popular\" heading, in the\n * given order (lowercase alpha-2). They are removed from their region\n * group so they never appear twice.\n */\n popularCountries?: string[];\n /** Group the remaining countries by world region. Default `true`. */\n grouped?: boolean;\n /**\n * Override the localized display name for specific codes — e.g. to pin\n * politically-sensitive wording. Keyed by lowercase alpha-2.\n */\n nameOverrides?: Record<string, string>;\n /** Show a flag before each country name. Default `true`. */\n showFlag?: boolean;\n placeholder?: string;\n clearable?: boolean;\n disabled?: boolean;\n readOnly?: boolean;\n required?: boolean;\n name?: string;\n id?: string;\n size?: 'sm' | 'md' | 'lg';\n tone?: 'default' | 'error';\n /**\n * Accessible name. REQUIRED when used inside a `<FormField>`: cmdk labels\n * the input through its own hidden element, so the visible FormField label\n * is not the computed accessible name unless this is passed. Set it to the\n * visible label text (e.g. `\"Country\"`).\n */\n 'aria-label'?: string;\n /** Invalid-state fallback for use outside a `<FormField>` (inline editors). */\n 'aria-invalid'?: boolean;\n /** Error-message id fallback for use outside a `<FormField>`. */\n 'aria-describedby'?: string;\n className?: string;\n}\n\n// Display order for region groups — broad-to-narrow by AlfaDocs relevance.\nconst REGION_ORDER: readonly CountryRegion[] = [\n 'Europe',\n 'Americas',\n 'Asia',\n 'Africa',\n 'Oceania',\n 'Antarctica',\n];\n\nexport const CountrySelect = forwardRef<HTMLInputElement, CountrySelectProps>(\n function CountrySelect(\n {\n value: valueProp,\n defaultValue,\n onValueChange,\n countries,\n popularCountries,\n grouped = true,\n nameOverrides,\n showFlag = true,\n placeholder,\n clearable,\n disabled,\n readOnly,\n required,\n name,\n id,\n size = 'md',\n tone = 'default',\n 'aria-label': ariaLabel,\n 'aria-invalid': ariaInvalid,\n 'aria-describedby': ariaDescribedBy,\n className,\n },\n ref,\n ) {\n const { t, i18n } = useTranslation();\n\n const [value, setValue] = useControllableState<string>({\n // Normalise incoming codes — a consumer may pass `'IT'` from a server\n // payload, but option values are lowercase, so an un-normalised value\n // would never match and the field would render blank.\n value: valueProp?.toLowerCase(),\n defaultValue: defaultValue?.toLowerCase(),\n onChange: onValueChange,\n });\n\n const displayNames = useMemo(() => {\n try {\n return new Intl.DisplayNames([i18n.language], { type: 'region' });\n } catch {\n return new Intl.DisplayNames(['en'], { type: 'region' });\n }\n }, [i18n.language]);\n\n const collator = useMemo(\n () => new Intl.Collator(i18n.language),\n [i18n.language],\n );\n\n const codes = useMemo(\n () => (countries ?? ISO_3166_ALPHA2).map((c) => c.toLowerCase()),\n [countries],\n );\n\n const nameFor = useCallback(\n (code: string): string =>\n nameOverrides?.[code] ??\n displayNames.of(code.toUpperCase()) ??\n code.toUpperCase(),\n [nameOverrides, displayNames],\n );\n\n const flagFor = useCallback(\n (code: string): ReactNode =>\n showFlag && hasFlag(code) ? (\n <Flag country={code} size=\"sm\" rounded=\"sm\" />\n ) : undefined,\n [showFlag],\n );\n\n const options = useMemo<ComboboxOption[]>(() => {\n const codeSet = new Set(codes);\n const popular = (popularCountries ?? [])\n .map((c) => c.toLowerCase())\n .filter((c) => codeSet.has(c));\n const popularSet = new Set(popular);\n\n const makeOption = (code: string, group?: string): ComboboxOption => ({\n value: code,\n label: nameFor(code),\n group,\n startAdornment: flagFor(code),\n });\n\n const popularGroup = grouped\n ? t('inputs.countrySelect.popular', 'Popular')\n : undefined;\n const popularOptions = popular.map((c) => makeOption(c, popularGroup));\n\n const rest = codes.filter((c) => !popularSet.has(c));\n\n if (!grouped) {\n const sorted = [...rest].sort((a, b) =>\n collator.compare(nameFor(a), nameFor(b)),\n );\n return [...popularOptions, ...sorted.map((c) => makeOption(c))];\n }\n\n const byRegion = new Map<CountryRegion, string[]>();\n for (const code of rest) {\n const region = regionForCountry(code) ?? 'Antarctica';\n const list = byRegion.get(region);\n if (list) list.push(code);\n else byRegion.set(region, [code]);\n }\n\n const groupedOptions: ComboboxOption[] = [];\n for (const region of REGION_ORDER) {\n const list = byRegion.get(region);\n if (!list) continue;\n list.sort((a, b) => collator.compare(nameFor(a), nameFor(b)));\n const heading = t(\n `inputs.countrySelect.regions.${region.toLowerCase()}`,\n region,\n );\n for (const code of list) groupedOptions.push(makeOption(code, heading));\n }\n return [...popularOptions, ...groupedOptions];\n }, [codes, popularCountries, grouped, nameFor, flagFor, collator, t]);\n\n /* ----------------------------------------------------------------- */\n /* Agent adapter */\n /* ----------------------------------------------------------------- */\n\n const valueRef = useRef(value);\n useEffect(() => {\n valueRef.current = value;\n }, [value]);\n\n const agentHandle = useMemo<CountrySelectHandle>(\n () => ({\n getValue: () => valueRef.current || null,\n setValue: (next) => setValue(next ?? ''),\n clear: () => setValue(''),\n }),\n [setValue],\n );\n useAgentRegistration(countrySelectAgent, agentHandle, id);\n\n return (\n <div\n data-component=\"country-select\"\n data-component-id={id}\n className={['ds:w-full', className].filter(Boolean).join(' ')}\n >\n <Combobox\n ref={ref}\n options={options}\n value={value ?? ''}\n onValueChange={(next) => setValue(next)}\n placeholder={\n placeholder ??\n t('inputs.countrySelect.placeholder', 'Search countries')\n }\n emptyMessage={t('inputs.countrySelect.empty', 'No countries found')}\n clearable={clearable}\n disabled={disabled}\n readOnly={readOnly}\n required={required}\n name={name}\n id={id}\n size={size}\n tone={tone}\n autoComplete=\"country\"\n aria-label={ariaLabel}\n aria-invalid={ariaInvalid}\n aria-describedby={ariaDescribedBy}\n />\n </div>\n );\n },\n);\n\nCountrySelect.displayName = 'CountrySelect';\n"],"names":["ISO_3166_REGIONS","ISO_3166_ALPHA2","regionForCountry","code","countrySelectAgent","handle","args","REGION_ORDER","CountrySelect","forwardRef","valueProp","defaultValue","onValueChange","countries","popularCountries","grouped","nameOverrides","showFlag","placeholder","clearable","disabled","readOnly","required","name","id","size","tone","ariaLabel","ariaInvalid","ariaDescribedBy","className","ref","t","i18n","useTranslation","value","setValue","useControllableState","displayNames","useMemo","collator","codes","c","nameFor","useCallback","flagFor","hasFlag","jsx","Flag","options","codeSet","popular","popularSet","makeOption","group","popularGroup","popularOptions","rest","sorted","a","b","byRegion","region","list","groupedOptions","heading","valueRef","useRef","useEffect","agentHandle","next","useAgentRegistration","Combobox"],"mappings":";;;;;;;AAmBO,MAAMA,IAAkD;AAAA,EAC7D,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,IAAI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"}