@alfadocs/ui-kit-debug 1.30.0 → 1.31.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 (211) hide show
  1. package/dist/_chunks/{address-fields-CZ0pEdEI.js → address-fields-jFfjxOQR.js} +3 -3
  2. package/dist/_chunks/{address-fields-CZ0pEdEI.js.map → address-fields-jFfjxOQR.js.map} +1 -1
  3. package/dist/_chunks/{appointment-card-Dzr3GeVz.js → appointment-card-CvUFFEdS.js} +8 -6
  4. package/dist/_chunks/appointment-card-CvUFFEdS.js.map +1 -0
  5. package/dist/_chunks/{appointment-timeline-DhHwmHo1.js → appointment-timeline-DsMZY7U9.js} +2 -2
  6. package/dist/_chunks/{appointment-timeline-DhHwmHo1.js.map → appointment-timeline-DsMZY7U9.js.map} +1 -1
  7. package/dist/_chunks/{appointment-tray-4FUu_5NX.js → appointment-tray-Z2GaOIYQ.js} +2 -2
  8. package/dist/_chunks/{appointment-tray-4FUu_5NX.js.map → appointment-tray-Z2GaOIYQ.js.map} +1 -1
  9. package/dist/_chunks/{booking-AabCk7CI.js → booking-jGzRUETo.js} +2 -2
  10. package/dist/_chunks/{booking-AabCk7CI.js.map → booking-jGzRUETo.js.map} +1 -1
  11. package/dist/_chunks/{calendar-CI9MINcR.js → calendar-BNQKpxhE.js} +494 -438
  12. package/dist/_chunks/calendar-BNQKpxhE.js.map +1 -0
  13. package/dist/_chunks/{calendar-event-card-66CEEWU6.js → calendar-event-card-DSh-69HT.js} +130 -122
  14. package/dist/_chunks/calendar-event-card-DSh-69HT.js.map +1 -0
  15. package/dist/_chunks/calendar-workspace-Dy1jHBvG.js +9392 -0
  16. package/dist/_chunks/calendar-workspace-Dy1jHBvG.js.map +1 -0
  17. package/dist/_chunks/{clinical-note-card-BBgFd2nB.js → clinical-note-card-yCTR9DB6.js} +185 -188
  18. package/dist/_chunks/clinical-note-card-yCTR9DB6.js.map +1 -0
  19. package/dist/_chunks/{color-picker-CU303VjY.js → color-picker-Bl5f0iK1.js} +28 -25
  20. package/dist/_chunks/color-picker-Bl5f0iK1.js.map +1 -0
  21. package/dist/_chunks/{combobox-D7_NLE2Z.js → combobox-DnSdYssy.js} +216 -215
  22. package/dist/_chunks/combobox-DnSdYssy.js.map +1 -0
  23. package/dist/_chunks/{country-select-DzbPFktV.js → country-select-CfDNFG5c.js} +2 -2
  24. package/dist/_chunks/{country-select-DzbPFktV.js.map → country-select-CfDNFG5c.js.map} +1 -1
  25. package/dist/_chunks/{face-scheme-DA2vjqaM.js → face-scheme-l-CQyLs-.js} +2 -2
  26. package/dist/_chunks/{face-scheme-DA2vjqaM.js.map → face-scheme-l-CQyLs-.js.map} +1 -1
  27. package/dist/_chunks/notes-panel-am6e-Lwh.js +380 -0
  28. package/dist/_chunks/notes-panel-am6e-Lwh.js.map +1 -0
  29. package/dist/_chunks/{patient-details-DYAmq76G.js → patient-details-CdfursHt.js} +3 -3
  30. package/dist/_chunks/{patient-details-DYAmq76G.js.map → patient-details-CdfursHt.js.map} +1 -1
  31. package/dist/_chunks/{province-select-BBc7s7vR.js → province-select-BaUnkg4S.js} +2 -2
  32. package/dist/_chunks/{province-select-BBc7s7vR.js.map → province-select-BaUnkg4S.js.map} +1 -1
  33. package/dist/_chunks/{rich-text-editor-lSCiE0Zz.js → rich-text-editor-VJATL1Tk.js} +2 -2
  34. package/dist/_chunks/{rich-text-editor-lSCiE0Zz.js.map → rich-text-editor-VJATL1Tk.js.map} +1 -1
  35. package/dist/_chunks/{timeline-r-8IUoBS.js → timeline-u-2t9t_M.js} +37 -35
  36. package/dist/_chunks/timeline-u-2t9t_M.js.map +1 -0
  37. package/dist/agent-catalog.json +51 -10
  38. package/dist/agent-i18n/en.json +9 -7
  39. package/dist/components/_shared/get-error-message.d.ts +3 -0
  40. package/dist/components/_shared/get-error-message.d.ts.map +1 -0
  41. package/dist/components/address-fields/index.js +1 -1
  42. package/dist/components/appointment-card/appointment-card.d.ts.map +1 -1
  43. package/dist/components/appointment-card/index.js +2 -2
  44. package/dist/components/appointment-timeline/index.js +1 -1
  45. package/dist/components/booking/index.js +1 -1
  46. package/dist/components/calendar/calendar.d.ts +26 -2
  47. package/dist/components/calendar/calendar.d.ts.map +1 -1
  48. package/dist/components/calendar/index.js +1 -1
  49. package/dist/components/calendar-event-card/calendar-event-card.d.ts +9 -0
  50. package/dist/components/calendar-event-card/calendar-event-card.d.ts.map +1 -1
  51. package/dist/components/calendar-event-card/index.js +1 -1
  52. package/dist/components/clinical-note-card/clinical-note-card.d.ts +16 -1
  53. package/dist/components/clinical-note-card/clinical-note-card.d.ts.map +1 -1
  54. package/dist/components/clinical-note-card/index.js +1 -1
  55. package/dist/components/color-picker/color-utils.d.ts.map +1 -1
  56. package/dist/components/color-picker/index.js +1 -1
  57. package/dist/components/combobox/combobox.d.ts +5 -0
  58. package/dist/components/combobox/combobox.d.ts.map +1 -1
  59. package/dist/components/combobox/index.js +1 -1
  60. package/dist/components/country-select/index.js +1 -1
  61. package/dist/components/face-scheme/index.js +1 -1
  62. package/dist/components/notes-panel/index.d.ts +1 -1
  63. package/dist/components/notes-panel/index.d.ts.map +1 -1
  64. package/dist/components/notes-panel/index.js +1 -1
  65. package/dist/components/notes-panel/notes-panel.agent.d.ts.map +1 -1
  66. package/dist/components/notes-panel/notes-panel.d.ts +24 -5
  67. package/dist/components/notes-panel/notes-panel.d.ts.map +1 -1
  68. package/dist/components/patient-details/index.js +1 -1
  69. package/dist/components/province-select/index.js +1 -1
  70. package/dist/components/rich-text-editor/index.js +1 -1
  71. package/dist/components/timeline/index.js +1 -1
  72. package/dist/components/timeline/timeline.d.ts +2 -0
  73. package/dist/components/timeline/timeline.d.ts.map +1 -1
  74. package/dist/host-compat.css +7 -1
  75. package/dist/i18n/locales/ar.d.ts +50 -0
  76. package/dist/i18n/locales/ar.d.ts.map +1 -1
  77. package/dist/i18n/locales/ar.js +54 -4
  78. package/dist/i18n/locales/ar.js.map +1 -1
  79. package/dist/i18n/locales/de.d.ts +60 -10
  80. package/dist/i18n/locales/de.d.ts.map +1 -1
  81. package/dist/i18n/locales/de.js +64 -14
  82. package/dist/i18n/locales/de.js.map +1 -1
  83. package/dist/i18n/locales/el.d.ts +50 -0
  84. package/dist/i18n/locales/el.d.ts.map +1 -1
  85. package/dist/i18n/locales/el.js +54 -4
  86. package/dist/i18n/locales/el.js.map +1 -1
  87. package/dist/i18n/locales/en.d.ts +50 -0
  88. package/dist/i18n/locales/en.d.ts.map +1 -1
  89. package/dist/i18n/locales/en.js +54 -4
  90. package/dist/i18n/locales/en.js.map +1 -1
  91. package/dist/i18n/locales/es.d.ts +50 -0
  92. package/dist/i18n/locales/es.d.ts.map +1 -1
  93. package/dist/i18n/locales/es.js +54 -4
  94. package/dist/i18n/locales/es.js.map +1 -1
  95. package/dist/i18n/locales/fr.d.ts +50 -0
  96. package/dist/i18n/locales/fr.d.ts.map +1 -1
  97. package/dist/i18n/locales/fr.js +53 -3
  98. package/dist/i18n/locales/fr.js.map +1 -1
  99. package/dist/i18n/locales/hi.d.ts +50 -0
  100. package/dist/i18n/locales/hi.d.ts.map +1 -1
  101. package/dist/i18n/locales/hi.js +54 -4
  102. package/dist/i18n/locales/hi.js.map +1 -1
  103. package/dist/i18n/locales/it.d.ts +60 -10
  104. package/dist/i18n/locales/it.d.ts.map +1 -1
  105. package/dist/i18n/locales/it.js +64 -14
  106. package/dist/i18n/locales/it.js.map +1 -1
  107. package/dist/i18n/locales/ja.d.ts +50 -0
  108. package/dist/i18n/locales/ja.d.ts.map +1 -1
  109. package/dist/i18n/locales/ja.js +54 -4
  110. package/dist/i18n/locales/ja.js.map +1 -1
  111. package/dist/i18n/locales/nl.d.ts +50 -0
  112. package/dist/i18n/locales/nl.d.ts.map +1 -1
  113. package/dist/i18n/locales/nl.js +54 -4
  114. package/dist/i18n/locales/nl.js.map +1 -1
  115. package/dist/i18n/locales/pl.d.ts +50 -0
  116. package/dist/i18n/locales/pl.d.ts.map +1 -1
  117. package/dist/i18n/locales/pl.js +54 -4
  118. package/dist/i18n/locales/pl.js.map +1 -1
  119. package/dist/i18n/locales/pt.d.ts +50 -0
  120. package/dist/i18n/locales/pt.d.ts.map +1 -1
  121. package/dist/i18n/locales/pt.js +54 -4
  122. package/dist/i18n/locales/pt.js.map +1 -1
  123. package/dist/i18n/locales/ro.d.ts +50 -0
  124. package/dist/i18n/locales/ro.d.ts.map +1 -1
  125. package/dist/i18n/locales/ro.js +53 -3
  126. package/dist/i18n/locales/ro.js.map +1 -1
  127. package/dist/i18n/locales/ru.d.ts +50 -0
  128. package/dist/i18n/locales/ru.d.ts.map +1 -1
  129. package/dist/i18n/locales/ru.js +54 -4
  130. package/dist/i18n/locales/ru.js.map +1 -1
  131. package/dist/i18n/locales/sq.d.ts +50 -0
  132. package/dist/i18n/locales/sq.d.ts.map +1 -1
  133. package/dist/i18n/locales/sq.js +54 -4
  134. package/dist/i18n/locales/sq.js.map +1 -1
  135. package/dist/i18n/locales/sv.d.ts +50 -0
  136. package/dist/i18n/locales/sv.d.ts.map +1 -1
  137. package/dist/i18n/locales/sv.js +54 -4
  138. package/dist/i18n/locales/sv.js.map +1 -1
  139. package/dist/i18n/locales/tr.d.ts +50 -0
  140. package/dist/i18n/locales/tr.d.ts.map +1 -1
  141. package/dist/i18n/locales/tr.js +54 -4
  142. package/dist/i18n/locales/tr.js.map +1 -1
  143. package/dist/i18n/locales/zh.d.ts +50 -0
  144. package/dist/i18n/locales/zh.d.ts.map +1 -1
  145. package/dist/i18n/locales/zh.js +54 -4
  146. package/dist/i18n/locales/zh.js.map +1 -1
  147. package/dist/index.js +91 -90
  148. package/dist/locales/ar.json +54 -4
  149. package/dist/locales/de.json +64 -14
  150. package/dist/locales/el.json +54 -4
  151. package/dist/locales/en.json +54 -4
  152. package/dist/locales/es.json +54 -4
  153. package/dist/locales/fr.json +53 -3
  154. package/dist/locales/hi.json +54 -4
  155. package/dist/locales/it.json +64 -14
  156. package/dist/locales/ja.json +54 -4
  157. package/dist/locales/nl.json +54 -4
  158. package/dist/locales/pl.json +54 -4
  159. package/dist/locales/pt.json +54 -4
  160. package/dist/locales/ro.json +53 -3
  161. package/dist/locales/ru.json +54 -4
  162. package/dist/locales/sq.json +54 -4
  163. package/dist/locales/sv.json +54 -4
  164. package/dist/locales/tr.json +54 -4
  165. package/dist/locales/zh.json +54 -4
  166. package/dist/patterns/calendar/calendar-appointment-details.d.ts +145 -0
  167. package/dist/patterns/calendar/calendar-appointment-details.d.ts.map +1 -0
  168. package/dist/patterns/calendar/calendar-appointment-details.sections.d.ts +32 -0
  169. package/dist/patterns/calendar/calendar-appointment-details.sections.d.ts.map +1 -0
  170. package/dist/patterns/calendar/calendar-editor-hydration.d.ts +59 -0
  171. package/dist/patterns/calendar/calendar-editor-hydration.d.ts.map +1 -0
  172. package/dist/patterns/calendar/calendar-notes-tool.d.ts +14 -0
  173. package/dist/patterns/calendar/calendar-notes-tool.d.ts.map +1 -0
  174. package/dist/patterns/calendar/calendar-patient-picker.d.ts +11 -0
  175. package/dist/patterns/calendar/calendar-patient-picker.d.ts.map +1 -0
  176. package/dist/patterns/calendar/calendar-series-scope-chooser.d.ts +18 -0
  177. package/dist/patterns/calendar/calendar-series-scope-chooser.d.ts.map +1 -0
  178. package/dist/patterns/calendar/calendar-workspace.d.ts +26 -1
  179. package/dist/patterns/calendar/calendar-workspace.d.ts.map +1 -1
  180. package/dist/patterns/calendar/calendar-workspace.model.d.ts +8 -5
  181. package/dist/patterns/calendar/calendar-workspace.model.d.ts.map +1 -1
  182. package/dist/patterns/calendar/calendar.data.d.ts +66 -1
  183. package/dist/patterns/calendar/calendar.data.d.ts.map +1 -1
  184. package/dist/patterns/calendar/calendar.host.d.ts +2 -0
  185. package/dist/patterns/calendar/calendar.host.d.ts.map +1 -1
  186. package/dist/patterns/calendar/calendar.journey.d.ts +42 -7
  187. package/dist/patterns/calendar/calendar.journey.d.ts.map +1 -1
  188. package/dist/patterns/calendar/calendar.model.d.ts +54 -5
  189. package/dist/patterns/calendar/calendar.model.d.ts.map +1 -1
  190. package/dist/patterns/calendar/calendar.sheets.d.ts +68 -15
  191. package/dist/patterns/calendar/calendar.sheets.d.ts.map +1 -1
  192. package/dist/patterns/calendar/calendar.surface.d.ts +12 -2
  193. package/dist/patterns/calendar/calendar.surface.d.ts.map +1 -1
  194. package/dist/patterns/calendar/calendar.types.d.ts +29 -1
  195. package/dist/patterns/calendar/calendar.types.d.ts.map +1 -1
  196. package/dist/patterns/calendar/index.d.ts +9 -6
  197. package/dist/patterns/calendar/index.d.ts.map +1 -1
  198. package/dist/patterns/calendar/index.js +15 -14
  199. package/dist/tokens.css +10 -2
  200. package/package.json +1 -1
  201. package/dist/_chunks/appointment-card-Dzr3GeVz.js.map +0 -1
  202. package/dist/_chunks/calendar-CI9MINcR.js.map +0 -1
  203. package/dist/_chunks/calendar-event-card-66CEEWU6.js.map +0 -1
  204. package/dist/_chunks/calendar-workspace-a84AHQwj.js +0 -7506
  205. package/dist/_chunks/calendar-workspace-a84AHQwj.js.map +0 -1
  206. package/dist/_chunks/clinical-note-card-BBgFd2nB.js.map +0 -1
  207. package/dist/_chunks/color-picker-CU303VjY.js.map +0 -1
  208. package/dist/_chunks/combobox-D7_NLE2Z.js.map +0 -1
  209. package/dist/_chunks/notes-panel-CTNpsByN.js +0 -353
  210. package/dist/_chunks/notes-panel-CTNpsByN.js.map +0 -1
  211. package/dist/_chunks/timeline-r-8IUoBS.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"combobox-DnSdYssy.js","sources":["../../src/components/combobox/combobox.agent.ts","../../src/components/combobox/combobox.tsx"],"sourcesContent":["import type { AgentAdapter } from '../../agent/types';\nimport type { ComboboxHandle } from './combobox';\n\nexport const comboboxAgent: AgentAdapter<ComboboxHandle> = {\n id: 'combobox',\n // Persisted single choice (value state + set_value) → select_single + set_value,\n // plus type-to-filter and open/close of the option list.\n capabilities: ['select_single', 'set_value', 'filter', 'open', 'close'],\n state: {\n value: {\n type: 'string | null',\n descriptionKey: 'ui.agent.combobox.state.value',\n description:\n 'Currently-selected option value, or null when nothing is selected.',\n read: (handle) => handle.getValue(),\n },\n query: {\n type: 'string',\n descriptionKey: 'ui.agent.combobox.state.query',\n description: 'Current filter query in the combobox input.',\n read: (handle) => handle.getQuery(),\n },\n isOpen: {\n type: 'boolean',\n descriptionKey: 'ui.agent.combobox.state.isOpen',\n description: 'True when the option list is visible.',\n read: (handle) => handle.getIsOpen(),\n },\n },\n actions: {\n set_value: {\n // Persists the user's chosen option — reversible via the same UI.\n safety: 'write',\n argsType: '{ value: string | null }',\n argsSchema: {\n type: 'object',\n properties: {\n value: {\n type: ['string', 'null'],\n description: 'Option value to select, or null to clear.',\n },\n },\n required: ['value'],\n },\n idempotent: true,\n descriptionKey: 'ui.agent.combobox.actions.setValue',\n description: 'Set the selected value programmatically.',\n examples: [{ args: { value: 'it' }, note: 'Select the \"it\" option.' }],\n invoke: (handle, args: { value: string | null }) => {\n handle.setValue(args.value);\n },\n },\n apply_filter: {\n // Pure ephemeral filter of the visible options — no persisted change.\n safety: 'read',\n argsType: '{ query: string }',\n argsSchema: {\n type: 'object',\n properties: {\n query: { type: 'string', description: 'Filter text for the list.' },\n },\n required: ['query'],\n },\n idempotent: true,\n descriptionKey: 'ui.agent.combobox.actions.applyFilter',\n description: 'Set the filter query for the option list.',\n invoke: (handle, args: { query: string }) => {\n handle.setQuery(args.query);\n },\n },\n clear_selection: {\n // Discards the persisted choice — destructive (loses the selection).\n safety: 'destructive',\n idempotent: true,\n descriptionKey: 'ui.agent.combobox.actions.clearSelection',\n description: 'Clear the current selection.',\n invoke: (handle) => {\n handle.clear();\n },\n },\n open: {\n safety: 'read',\n idempotent: true,\n descriptionKey: 'ui.agent.combobox.actions.open',\n description: 'Open the option list.',\n invoke: (handle) => {\n handle.open();\n },\n },\n close: {\n safety: 'read',\n idempotent: true,\n descriptionKey: 'ui.agent.combobox.actions.close',\n description: 'Close the option list.',\n invoke: (handle) => {\n handle.close();\n },\n },\n },\n domHooks: {\n root: { attr: 'data-component', value: 'combobox' },\n instanceId: {\n attr: 'data-component-id',\n sourceProp: 'id',\n description: 'Sourced from the id prop.',\n },\n item: {\n attr: 'data-option-id',\n description: 'Each option emits its value as data-option-id.',\n },\n },\n};\n","import {\n forwardRef,\n useCallback,\n useContext,\n useEffect,\n useMemo,\n useRef,\n useState,\n type KeyboardEvent,\n type MouseEvent,\n type ReactElement,\n type ReactNode,\n type Ref,\n} from 'react';\nimport * as Popover from '@radix-ui/react-popover';\nimport { Command, defaultFilter, useCommandState } from 'cmdk';\nimport { cva } from 'class-variance-authority';\nimport { useTranslation } from 'react-i18next';\nimport { Check, X } from 'lucide-react';\nimport {\n FormFieldContext,\n useFormField,\n} from '../form-field/form-field-context';\nimport type { OptionShape } from '../_shared/option';\nimport { composeRefs } from '../_shared/compose-refs';\nimport { normalizeDiacritics } from '../_shared/normalize-diacritics';\nimport { groupOptions } from '../_shared/group-options';\nimport { useControllableState } from '../../hooks/use-controllable-state';\nimport { useIsomorphicLayoutEffect } from '../../hooks/use-isomorphic-layout-effect';\nimport {\n INPUT_SURFACE_CHROME,\n INPUT_SURFACE_HEIGHT,\n INPUT_SURFACE_PADDING_X,\n INPUT_SURFACE_TONE,\n} from '../_shared/input-surface';\nimport { useAgentRegistration } from '../../agent';\nimport { comboboxAgent } from './combobox.agent';\n\nexport type ComboboxOption<T extends string = string> = OptionShape<T>;\n\n// Curated agent-readiness handle — see combobox.agent.ts.\nexport interface ComboboxHandle {\n getValue: () => string | null;\n getQuery: () => string;\n getIsOpen: () => boolean;\n setValue: (value: string | null) => void;\n setQuery: (query: string) => void;\n clear: () => void;\n open: () => void;\n close: () => void;\n}\n\nexport interface ComboboxProps<T extends string = string> {\n options: ComboboxOption<T>[];\n value?: T | '';\n defaultValue?: T;\n onValueChange?: (value: T | '') => void;\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 filter?: (value: string, search: string) => number;\n allowCreate?: boolean;\n onCreate?: (value: string) => void;\n open?: boolean;\n onOpenChange?: (open: boolean) => void;\n /** Query typed by the user (including IME commits and Clear), or set\n * through the agent handle. Selection and closing do not emit queries.\n * Pair with `filter` for host-provided results and `emptyMessage` for\n * their state. This callback also fires when there are no options. */\n onQueryChange?: (query: string) => void;\n emptyMessage?: ReactNode;\n 'aria-label'?: string;\n /**\n * Invalid-state fallback for use OUTSIDE a `<FormField>` (e.g. an inline\n * editor). Inside a FormField the context wins. Drives the error border and\n * the input's `aria-invalid`.\n */\n 'aria-invalid'?: boolean;\n /**\n * Error-message id fallback for use OUTSIDE a `<FormField>`. Inside a\n * FormField the context's `describedBy` wins.\n */\n 'aria-describedby'?: string;\n /**\n * Forwarded to the underlying input as the HTML `autocomplete` token\n * (e.g. `country`, `address-level1`) — WCAG 2.1 §1.3.5. cmdk passes it\n * through to its `Command.Input`.\n */\n autoComplete?: string;\n className?: string;\n}\n\nconst comboboxInputVariants = cva(\n [\n 'ds:peer ds:w-full ds:bg-transparent ds:text-foreground ds:placeholder:text-muted-foreground',\n 'ds:outline-none ds:border-0',\n 'ds:disabled:cursor-not-allowed',\n ].join(' '),\n {\n variants: {\n size: {\n sm: 'ds:text-[length:var(--font-size-sm)]',\n md: 'ds:text-[length:var(--font-size-base)]',\n lg: 'ds:text-[length:var(--font-size-lg)]',\n },\n },\n defaultVariants: {\n size: 'md',\n },\n },\n);\n\nconst comboboxWrapperVariants = cva(\n [\n 'ds:group ds:relative ds:inline-flex ds:items-center ds:gap-[var(--spacing-sm)] ds:w-full',\n INPUT_SURFACE_CHROME,\n ].join(' '),\n {\n variants: {\n size: {\n sm: `${INPUT_SURFACE_HEIGHT.sm} ${INPUT_SURFACE_PADDING_X.sm}`,\n md: `${INPUT_SURFACE_HEIGHT.md} ${INPUT_SURFACE_PADDING_X.md}`,\n lg: `${INPUT_SURFACE_HEIGHT.lg} ${INPUT_SURFACE_PADDING_X.lg}`,\n },\n tone: INPUT_SURFACE_TONE,\n },\n defaultVariants: {\n size: 'md',\n tone: 'default',\n },\n },\n);\n\nconst comboboxContentVariants = cva(\n [\n 'ds:z-[var(--z-popover)] ds:overflow-hidden ds:w-[var(--radix-popover-trigger-width)]',\n 'ds:rounded-[var(--radius-md)] ds:border ds:border-border ds:bg-background ds:text-foreground',\n 'ds:shadow-[var(--shadow-lg)]',\n 'ds:animate-in ds:fade-in ds:zoom-in-95',\n 'ds:data-[state=closed]:animate-out ds:data-[state=closed]:fade-out',\n 'ds:data-[state=closed]:zoom-out-95',\n 'ds:data-[side=bottom]:slide-in-from-top-2',\n 'ds:data-[side=top]:slide-in-from-bottom-2',\n 'ds:motion-reduce:animate-none',\n ].join(' '),\n);\n\nconst comboboxItemVariants = cva(\n [\n 'ds:relative ds:flex ds:cursor-pointer ds:items-center ds:gap-[var(--spacing-sm)]',\n 'ds:rounded-[var(--radius-sm)]',\n 'ds:text-foreground ds:outline-none ds:select-none',\n 'ds:data-[highlighted]:bg-muted ds:data-[highlighted]:text-foreground',\n 'ds:data-[highlighted]:border-s-2 ds:data-[highlighted]:border-s-primary',\n 'ds:aria-selected:bg-muted',\n 'ds:aria-disabled:pointer-events-none ds:aria-disabled:opacity-50',\n ].join(' '),\n {\n variants: {\n size: {\n sm: 'ds:min-h-8 ds:ps-3 ds:pe-3 ds:text-[length:var(--font-size-sm)]',\n md: 'ds:min-h-[var(--min-target-size)] ds:ps-3 ds:pe-3 ds:text-[length:var(--font-size-base)]',\n lg: 'ds:min-h-12 ds:ps-4 ds:pe-4 ds:text-[length:var(--font-size-lg)]',\n },\n },\n defaultVariants: {\n size: 'md',\n },\n },\n);\n\nconst comboboxGroupHeadingClasses = [\n 'ds:ps-3 ds:pe-3 ds:py-1.5',\n 'type-eyebrow ds:text-muted-foreground',\n].join(' ');\n\nconst comboboxListClasses =\n 'ds:max-h-[18rem] ds:overflow-y-auto ds:p-[var(--spacing-xs)]';\n\nconst comboboxEmptyClasses =\n 'ds:ps-3 ds:pe-3 ds:py-2 type-body-sm ds:text-muted-foreground';\n\nconst iconSizeBySize = {\n sm: 'ds:size-3.5',\n md: 'ds:size-4',\n lg: 'ds:size-5',\n} as const;\n\ninterface CreateRowProps {\n search: string;\n label: string;\n iconClass: string;\n size: 'sm' | 'md' | 'lg';\n onSelect: (value: string) => void;\n}\n\nfunction ComboboxCreateRow({\n search,\n label,\n iconClass,\n size,\n onSelect,\n}: CreateRowProps): ReactElement | null {\n // Only surface the create row when no existing item matches the query.\n const filteredCount = useCommandState((state) => state.filtered.count);\n if (filteredCount > 0) return null;\n return (\n <Command.Item\n value={`__combobox-create__${search}`}\n keywords={[]}\n forceMount\n onSelect={() => onSelect(search)}\n className={comboboxItemVariants({ size })}\n >\n <span\n aria-hidden=\"true\"\n className={`ds:inline-flex ds:items-center ds:justify-center ${iconClass}`}\n />\n <span className=\"ds:flex-1 ds:truncate\">{label}</span>\n </Command.Item>\n );\n}\n\nconst ComboboxImpl = forwardRef<HTMLInputElement, ComboboxProps>(\n function Combobox(\n {\n options,\n value,\n defaultValue,\n onValueChange,\n placeholder,\n clearable = false,\n disabled,\n readOnly,\n required,\n name,\n id,\n size = 'md',\n tone = 'default',\n filter: externalFilter,\n allowCreate = false,\n onCreate,\n open: openProp,\n onOpenChange,\n onQueryChange,\n emptyMessage,\n className,\n 'aria-label': ariaLabel,\n 'aria-invalid': ariaInvalid,\n 'aria-describedby': ariaDescribedBy,\n autoComplete,\n },\n ref,\n ) {\n const { t } = useTranslation();\n const ctx = useFormField();\n const inFormField = useContext(FormFieldContext) !== null;\n\n const [currentValueRaw, setComboboxValue] = useControllableState<string>({\n value,\n defaultValue: defaultValue ?? '',\n onChange: onValueChange as ((next: string) => void) | undefined,\n });\n const currentValue = currentValueRaw ?? '';\n\n const selectedOption = useMemo(\n () => options.find((o) => o.value === currentValue),\n [options, currentValue],\n );\n const selectedLabel = selectedOption?.label ?? '';\n\n const [search, setSearch] = useState<string>(selectedLabel);\n const [internalOpen, setInternalOpen] = useState(false);\n const isOpenControlled = openProp !== undefined;\n const open = isOpenControlled ? openProp : internalOpen;\n const composingRef = useRef(false);\n\n const inputRef = useRef<HTMLInputElement>(null);\n const anchorRef = useRef<HTMLDivElement>(null);\n\n useIsomorphicLayoutEffect(() => {\n inputRef.current?.setAttribute('aria-expanded', String(open));\n });\n\n useEffect(() => {\n if (!open) {\n setSearch(selectedLabel);\n }\n }, [selectedLabel, open]);\n\n const inputId = id ?? (inFormField ? ctx.id : undefined);\n const effectiveDisabled =\n (inFormField ? ctx.disabled : false) || Boolean(disabled);\n const effectiveReadOnly = Boolean(readOnly);\n const effectiveRequired =\n (inFormField ? ctx.required : false) || Boolean(required);\n const effectiveInvalid = inFormField ? ctx.invalid : Boolean(ariaInvalid);\n const effectiveTone = effectiveInvalid ? 'error' : tone;\n const describedBy =\n inFormField && ctx.describedBy ? ctx.describedBy : ariaDescribedBy;\n\n const resolvedPlaceholder =\n placeholder ?? t('inputs.combobox.placeholder', 'Search…');\n\n const filterFn = useMemo(\n () => (candidate: string, searchStr: string, keywords?: string[]) => {\n if (composingRef.current) return 1;\n const normalizedCandidate = normalizeDiacritics(candidate);\n const normalizedSearch = normalizeDiacritics(searchStr);\n const normalizedKeywords = keywords?.map(normalizeDiacritics);\n if (externalFilter) {\n return externalFilter(normalizedCandidate, normalizedSearch);\n }\n return defaultFilter(\n normalizedCandidate,\n normalizedSearch,\n normalizedKeywords,\n );\n },\n [externalFilter],\n );\n\n const commit = (next: string) => {\n setComboboxValue(next);\n };\n\n const setOpen = (next: boolean) => {\n if (!isOpenControlled) setInternalOpen(next);\n onOpenChange?.(next);\n };\n\n const handleSelect = (optValue: string) => {\n const option = options.find((o) => o.value === optValue);\n commit(optValue);\n setSearch(option?.label ?? '');\n setOpen(false);\n };\n\n const handleCreate = (nextValue: string) => {\n onCreate?.(nextValue);\n setOpen(false);\n };\n\n const handleSearchChange = (next: string) => {\n if (effectiveReadOnly) return;\n setSearch(next);\n if (!composingRef.current) onQueryChange?.(next);\n if (!open && next.length > 0 && !composingRef.current) {\n setOpen(true);\n }\n };\n\n const handleFocus = () => {\n if (!effectiveDisabled && !effectiveReadOnly) setOpen(true);\n };\n\n const handleCompositionStart = () => {\n composingRef.current = true;\n };\n\n const handleCompositionEnd = () => {\n composingRef.current = false;\n if (effectiveReadOnly) return;\n const next = inputRef.current?.value ?? '';\n setSearch(next);\n onQueryChange?.(next);\n if (next.length > 0) setOpen(true);\n };\n\n const handleKeyDown = (event: KeyboardEvent<HTMLInputElement>) => {\n if (event.nativeEvent.isComposing) return;\n if (event.key === 'Escape' && open) {\n event.preventDefault();\n setOpen(false);\n setSearch(selectedLabel);\n }\n };\n\n const handleClear = (event: MouseEvent<HTMLButtonElement>) => {\n event.preventDefault();\n event.stopPropagation();\n commit('');\n setSearch('');\n onQueryChange?.('');\n setOpen(true);\n inputRef.current?.focus();\n };\n\n const handleOpenChange = (next: boolean) => {\n if (effectiveReadOnly && next) return;\n setOpen(next);\n if (!next) setSearch(selectedLabel);\n };\n\n // Agent handle — refs mirror state for fresh reads.\n const valueRef = useRef<string>(currentValue);\n useEffect(() => {\n valueRef.current = currentValue;\n }, [currentValue]);\n const searchRef = useRef<string>(search);\n useEffect(() => {\n searchRef.current = search;\n }, [search]);\n const openRef = useRef<boolean>(open);\n useEffect(() => {\n openRef.current = open;\n }, [open]);\n\n const setOpenStable = useCallback(\n (next: boolean) => {\n if (!isOpenControlled) setInternalOpen(next);\n onOpenChange?.(next);\n },\n [isOpenControlled, onOpenChange],\n );\n\n const agentHandle = useMemo<ComboboxHandle>(\n () => ({\n getValue: () => valueRef.current || null,\n getQuery: () => searchRef.current,\n getIsOpen: () => openRef.current,\n setValue: (next) => {\n const v = next ?? '';\n setComboboxValue(v);\n const opt = options.find((o) => o.value === v);\n setSearch(opt?.label ?? '');\n },\n setQuery: (query) => {\n setSearch(query);\n onQueryChange?.(query);\n },\n clear: () => {\n setComboboxValue('');\n setSearch('');\n onQueryChange?.('');\n },\n open: () => setOpenStable(true),\n close: () => setOpenStable(false),\n }),\n [setComboboxValue, options, setOpenStable, onQueryChange],\n );\n useAgentRegistration(comboboxAgent, agentHandle, id);\n\n const showClear =\n clearable &&\n Boolean(currentValue) &&\n !effectiveDisabled &&\n !effectiveReadOnly;\n\n const groups = groupOptions(options);\n const iconClass = iconSizeBySize[size];\n\n return (\n <Popover.Root open={open} onOpenChange={handleOpenChange}>\n <Command\n filter={filterFn}\n shouldFilter\n loop\n // cmdk hardcodes `aria-labelledby` on its input to its own hidden\n // `<label cmdk-label>` element. The label's contents come from the\n // Command Root's `label` (or `aria-label`) prop. If we leave it\n // empty, the input has an aria-labelledby pointer to a blank\n // element and axe's `label-title-only` rule fires. Fall back to\n // the placeholder so the input always has an accessible name —\n // when wrapped in a FormField the visible label still associates\n // via the FormField `<label htmlFor>`.\n label={ariaLabel ?? resolvedPlaceholder}\n className=\"ds:w-full\"\n >\n <Popover.Anchor asChild>\n <div\n ref={anchorRef}\n className={comboboxWrapperVariants({\n size,\n tone: effectiveTone,\n className,\n })}\n data-component=\"combobox\"\n data-component-id={id}\n >\n <Command.Input\n ref={composeRefs(ref, inputRef)}\n value={search}\n onValueChange={handleSearchChange}\n id={inputId}\n name={name}\n placeholder={resolvedPlaceholder}\n disabled={effectiveDisabled}\n readOnly={effectiveReadOnly}\n required={effectiveRequired}\n autoComplete={autoComplete}\n // Note: cmdk's CommandInput hardcodes `aria-labelledby` to\n // its own hidden cmdk-label after spreading user props, so\n // we can't override it from here. We funnel the accessible\n // name through the Command Root's `label` prop above.\n aria-describedby={describedBy}\n aria-invalid={effectiveInvalid || undefined}\n onFocus={handleFocus}\n onKeyDown={handleKeyDown}\n onCompositionStart={handleCompositionStart}\n onCompositionEnd={handleCompositionEnd}\n className={comboboxInputVariants({ size })}\n />\n {showClear ? (\n <button\n type=\"button\"\n aria-label={t('inputs.combobox.clear', 'Clear selection')}\n onClick={handleClear}\n onPointerDown={(event) => event.stopPropagation()}\n className={[\n 'ds:inline-flex ds:items-center ds:justify-center ds:rounded-[var(--radius-sm)]',\n 'ds:text-muted-foreground ds:hover:text-foreground',\n 'ds:transition-colors ds:duration-[var(--animation-duration)] ds:motion-reduce:transition-none',\n 'ds:focus-visible:outline-[length:var(--focus-ring-width)] ds:focus-visible:outline-solid',\n 'ds:focus-visible:outline-ring ds:focus-visible:outline-offset-[length:var(--focus-ring-offset)]',\n 'ds:size-4',\n ].join(' ')}\n >\n <X aria-hidden=\"true\" className=\"ds:size-3.5\" />\n </button>\n ) : null}\n </div>\n </Popover.Anchor>\n <Popover.Portal forceMount>\n <Popover.Content\n // `forceMount` keeps the listbox in the DOM while the popover\n // is closed so the input's cmdk-set `aria-controls` always\n // points at a real id (axe's aria-valid-attr-value rule).\n // The CSS visibility / pointer-events is gated by data-state.\n forceMount\n hidden={!open}\n // Radix Popover.Content carries `role=\"dialog\"`; axe's\n // `aria-dialog-name` rule requires a name. Surface the\n // surrounding combobox label so the popover is named after\n // the field it serves (or fall back to the i18n default).\n aria-label={\n ariaLabel ?? t('inputs.combobox.popupLabel', 'Options')\n }\n onOpenAutoFocus={(event) => event.preventDefault()}\n onCloseAutoFocus={(event) => event.preventDefault()}\n onInteractOutside={(event) => {\n const target = event.target as Node | null;\n if (target && anchorRef.current?.contains(target)) {\n event.preventDefault();\n }\n }}\n sideOffset={4}\n align=\"start\"\n className={comboboxContentVariants()}\n >\n <Command.List className={comboboxListClasses}>\n <Command.Empty className={comboboxEmptyClasses}>\n {/* cmdk owns the presentational wrapper. This unavailable\n option gives an empty list valid semantics without\n registering a selectable cmdk item. */}\n <div role=\"option\" aria-selected={false} aria-disabled=\"true\">\n {emptyMessage ??\n t('inputs.combobox.empty', 'No results found')}\n </div>\n </Command.Empty>\n {groups.map(({ group, items }, groupIndex) => {\n const body = items.map((option) => {\n const isSelected = option.value === currentValue;\n return (\n <Command.Item\n key={option.value}\n value={option.value}\n data-option-id={option.value}\n keywords={[option.label]}\n disabled={option.disabled}\n onSelect={handleSelect}\n className={comboboxItemVariants({ size })}\n >\n <span\n aria-hidden=\"true\"\n className={`ds:inline-flex ds:items-center ds:justify-center ${iconClass}`}\n >\n {isSelected ? <Check className={iconClass} /> : null}\n </span>\n {option.startAdornment ? (\n // Decorative by contract — the option's accessible\n // name comes from its label. Hide so a text-bearing\n // adornment can't leak into the computed name.\n <span\n aria-hidden=\"true\"\n className=\"ds:inline-flex ds:items-center ds:shrink-0\"\n >\n {option.startAdornment}\n </span>\n ) : null}\n <span className=\"ds:flex-1 ds:truncate\">\n {option.label}\n </span>\n {option.description ? (\n <span className=\"type-meta ds:text-muted-foreground\">\n {option.description}\n </span>\n ) : null}\n {option.endContent ? (\n // Deliberately NOT aria-hidden — unlike\n // `startAdornment`, this slot carries meaning\n // (a price, a count) and must reach the\n // option's accessible name. `ms-auto` pins it\n // to the inline-end and flips under RTL.\n <span className=\"ds:inline-flex ds:items-center ds:ms-auto ds:shrink-0\">\n {option.endContent}\n </span>\n ) : null}\n </Command.Item>\n );\n });\n if (!group) {\n return (\n <Command.Group key={`group-${groupIndex}`}>\n {body}\n </Command.Group>\n );\n }\n return (\n <Command.Group\n key={`group-${group}`}\n heading={\n <span className={comboboxGroupHeadingClasses}>\n {group}\n </span>\n }\n >\n {body}\n </Command.Group>\n );\n })}\n {allowCreate && search.length > 0 ? (\n <ComboboxCreateRow\n search={search}\n label={t('inputs.combobox.create', 'Create \"{{value}}\"', {\n value: search,\n })}\n iconClass={iconClass}\n size={size}\n onSelect={handleCreate}\n />\n ) : null}\n </Command.List>\n </Popover.Content>\n </Popover.Portal>\n </Command>\n </Popover.Root>\n );\n },\n);\nComboboxImpl.displayName = 'Combobox';\n\ninterface ComboboxComponent {\n <T extends string = string>(\n props: ComboboxProps<T> & { ref?: Ref<HTMLInputElement> },\n ): ReactElement | null;\n displayName?: string;\n}\n\n// forwardRef erases component-level generics, so we re-widen via a callable\n// interface to preserve the `<T extends string>` signature at the call site.\nexport const Combobox = ComboboxImpl as unknown as ComboboxComponent;\n\nexport {\n comboboxInputVariants,\n comboboxWrapperVariants,\n comboboxContentVariants,\n comboboxItemVariants,\n};\n"],"names":["comboboxAgent","handle","args","comboboxInputVariants","cva","comboboxWrapperVariants","INPUT_SURFACE_CHROME","INPUT_SURFACE_HEIGHT","INPUT_SURFACE_PADDING_X","INPUT_SURFACE_TONE","comboboxContentVariants","comboboxItemVariants","comboboxGroupHeadingClasses","comboboxListClasses","comboboxEmptyClasses","iconSizeBySize","ComboboxCreateRow","search","label","iconClass","size","onSelect","useCommandState","state","jsxs","Command","jsx","ComboboxImpl","forwardRef","options","value","defaultValue","onValueChange","placeholder","clearable","disabled","readOnly","required","name","id","tone","externalFilter","allowCreate","onCreate","openProp","onOpenChange","onQueryChange","emptyMessage","className","ariaLabel","ariaInvalid","ariaDescribedBy","autoComplete","ref","t","useTranslation","ctx","useFormField","inFormField","useContext","FormFieldContext","currentValueRaw","setComboboxValue","useControllableState","currentValue","selectedOption","useMemo","o","selectedLabel","setSearch","useState","internalOpen","setInternalOpen","isOpenControlled","open","composingRef","useRef","inputRef","anchorRef","useIsomorphicLayoutEffect","_a","useEffect","inputId","effectiveDisabled","effectiveReadOnly","effectiveRequired","effectiveInvalid","effectiveTone","describedBy","resolvedPlaceholder","filterFn","candidate","searchStr","keywords","normalizedCandidate","normalizeDiacritics","normalizedSearch","normalizedKeywords","defaultFilter","commit","next","setOpen","handleSelect","optValue","option","handleCreate","nextValue","handleSearchChange","handleFocus","handleCompositionStart","handleCompositionEnd","handleKeyDown","event","handleClear","handleOpenChange","valueRef","searchRef","openRef","setOpenStable","useCallback","agentHandle","v","opt","query","useAgentRegistration","showClear","groups","groupOptions","Popover","composeRefs","X","target","group","items","groupIndex","body","isSelected","Check","Combobox"],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  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
- import { C as ia } from "./combobox-D7_NLE2Z.js";
4
+ import { C as ia } from "./combobox-DnSdYssy.js";
5
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";
@@ -706,4 +706,4 @@ export {
706
706
  ua as c,
707
707
  Aa as r
708
708
  };
709
- //# sourceMappingURL=country-select-DzbPFktV.js.map
709
+ //# sourceMappingURL=country-select-CfDNFG5c.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"country-select-DzbPFktV.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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"}
1
+ {"version":3,"file":"country-select-CfDNFG5c.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;"}
@@ -8,7 +8,7 @@ import { m as tt, M as Ji, A as Qi } from "./annotation-marker-CsUJGZjQ.js";
8
8
  import { B as P } from "./button-nJaPh_HC.js";
9
9
  import { I as Ze } from "./icon-button-DA2CAGHZ.js";
10
10
  import { B as es } from "./button-group-CaxRJsNG.js";
11
- import { C as ts } from "./combobox-D7_NLE2Z.js";
11
+ import { C as ts } from "./combobox-DnSdYssy.js";
12
12
  import { I as vn } from "./icon-button-group-VCCod3Hz.js";
13
13
  import { T as Ar } from "./text-input-CUvCb6ST.js";
14
14
  import { C as Oe } from "./card-DPmk26CL.js";
@@ -3137,4 +3137,4 @@ export {
3137
3137
  Nn as t,
3138
3138
  Kr as u
3139
3139
  };
3140
- //# sourceMappingURL=face-scheme-DA2vjqaM.js.map
3140
+ //# sourceMappingURL=face-scheme-l-CQyLs-.js.map