@seed-ship/mcp-ui-solid 6.24.0 → 6.25.1

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 (124) hide show
  1. package/CHANGELOG.md +42 -0
  2. package/README.md +47 -0
  3. package/dist/components/ActionGroupRenderer.cjs +6 -6
  4. package/dist/components/ActionGroupRenderer.cjs.map +1 -1
  5. package/dist/components/ActionGroupRenderer.js +6 -6
  6. package/dist/components/ActionGroupRenderer.js.map +1 -1
  7. package/dist/components/AutocompleteDropdown.cjs +6 -6
  8. package/dist/components/AutocompleteDropdown.cjs.map +1 -1
  9. package/dist/components/AutocompleteDropdown.js +6 -6
  10. package/dist/components/AutocompleteDropdown.js.map +1 -1
  11. package/dist/components/AutocompleteFormField.cjs +6 -5
  12. package/dist/components/AutocompleteFormField.cjs.map +1 -1
  13. package/dist/components/AutocompleteFormField.d.ts.map +1 -1
  14. package/dist/components/AutocompleteFormField.js +6 -5
  15. package/dist/components/AutocompleteFormField.js.map +1 -1
  16. package/dist/components/ChartJSRenderer.cjs +216 -6
  17. package/dist/components/ChartJSRenderer.cjs.map +1 -1
  18. package/dist/components/ChartJSRenderer.d.ts.map +1 -1
  19. package/dist/components/ChartJSRenderer.js +217 -7
  20. package/dist/components/ChartJSRenderer.js.map +1 -1
  21. package/dist/components/ChatPrompt.cjs +5 -5
  22. package/dist/components/ChatPrompt.cjs.map +1 -1
  23. package/dist/components/ChatPrompt.js +5 -5
  24. package/dist/components/ChatPrompt.js.map +1 -1
  25. package/dist/components/ComponentToolbar.cjs +5 -5
  26. package/dist/components/ComponentToolbar.cjs.map +1 -1
  27. package/dist/components/ComponentToolbar.js +5 -5
  28. package/dist/components/ComponentToolbar.js.map +1 -1
  29. package/dist/components/DegradedFallback.cjs +1 -1
  30. package/dist/components/DegradedFallback.cjs.map +1 -1
  31. package/dist/components/DegradedFallback.js +1 -1
  32. package/dist/components/DegradedFallback.js.map +1 -1
  33. package/dist/components/ExpandableWrapper.cjs +10 -7
  34. package/dist/components/ExpandableWrapper.cjs.map +1 -1
  35. package/dist/components/ExpandableWrapper.d.ts.map +1 -1
  36. package/dist/components/ExpandableWrapper.js +10 -7
  37. package/dist/components/ExpandableWrapper.js.map +1 -1
  38. package/dist/components/FormFieldRenderer.cjs +13 -12
  39. package/dist/components/FormFieldRenderer.cjs.map +1 -1
  40. package/dist/components/FormFieldRenderer.d.ts.map +1 -1
  41. package/dist/components/FormFieldRenderer.js +13 -12
  42. package/dist/components/FormFieldRenderer.js.map +1 -1
  43. package/dist/components/FormRenderer.cjs +1 -1
  44. package/dist/components/FormRenderer.cjs.map +1 -1
  45. package/dist/components/FormRenderer.js +1 -1
  46. package/dist/components/FormRenderer.js.map +1 -1
  47. package/dist/components/GenerativeUIErrorBoundary.cjs +1 -1
  48. package/dist/components/GenerativeUIErrorBoundary.cjs.map +1 -1
  49. package/dist/components/GenerativeUIErrorBoundary.js +1 -1
  50. package/dist/components/GenerativeUIErrorBoundary.js.map +1 -1
  51. package/dist/components/GhostText.cjs +2 -2
  52. package/dist/components/GhostText.cjs.map +1 -1
  53. package/dist/components/GhostText.js +2 -2
  54. package/dist/components/GhostText.js.map +1 -1
  55. package/dist/components/GraphRenderer.cjs +100 -29
  56. package/dist/components/GraphRenderer.cjs.map +1 -1
  57. package/dist/components/GraphRenderer.d.ts +1 -1
  58. package/dist/components/GraphRenderer.d.ts.map +1 -1
  59. package/dist/components/GraphRenderer.js +100 -29
  60. package/dist/components/GraphRenderer.js.map +1 -1
  61. package/dist/components/MissingValue.cjs +2 -2
  62. package/dist/components/MissingValue.cjs.map +1 -1
  63. package/dist/components/MissingValue.js +2 -2
  64. package/dist/components/MissingValue.js.map +1 -1
  65. package/dist/components/ModalRenderer.cjs +39 -31
  66. package/dist/components/ModalRenderer.cjs.map +1 -1
  67. package/dist/components/ModalRenderer.d.ts.map +1 -1
  68. package/dist/components/ModalRenderer.js +40 -32
  69. package/dist/components/ModalRenderer.js.map +1 -1
  70. package/dist/components/PortalDropdownMenu.cjs +6 -3
  71. package/dist/components/PortalDropdownMenu.cjs.map +1 -1
  72. package/dist/components/PortalDropdownMenu.d.ts.map +1 -1
  73. package/dist/components/PortalDropdownMenu.js +7 -4
  74. package/dist/components/PortalDropdownMenu.js.map +1 -1
  75. package/dist/components/ScratchpadPanel.cjs +38 -44
  76. package/dist/components/ScratchpadPanel.cjs.map +1 -1
  77. package/dist/components/ScratchpadPanel.d.ts.map +1 -1
  78. package/dist/components/ScratchpadPanel.js +38 -44
  79. package/dist/components/ScratchpadPanel.js.map +1 -1
  80. package/dist/components/UIResourceRenderer.cjs +20 -20
  81. package/dist/components/UIResourceRenderer.cjs.map +1 -1
  82. package/dist/components/UIResourceRenderer.js +20 -20
  83. package/dist/components/UIResourceRenderer.js.map +1 -1
  84. package/dist/components/chart-missing-plugin.cjs +4 -4
  85. package/dist/components/chart-missing-plugin.cjs.map +1 -1
  86. package/dist/components/chart-missing-plugin.d.ts +3 -1
  87. package/dist/components/chart-missing-plugin.d.ts.map +1 -1
  88. package/dist/components/chart-missing-plugin.js +4 -4
  89. package/dist/components/chart-missing-plugin.js.map +1 -1
  90. package/dist/utils/math-markdown.cjs +1 -1
  91. package/dist/utils/math-markdown.cjs.map +1 -1
  92. package/dist/utils/math-markdown.js +1 -1
  93. package/dist/utils/math-markdown.js.map +1 -1
  94. package/dist/utils/theme.cjs +91 -0
  95. package/dist/utils/theme.cjs.map +1 -0
  96. package/dist/utils/theme.d.ts +11 -0
  97. package/dist/utils/theme.d.ts.map +1 -0
  98. package/dist/utils/theme.js +91 -0
  99. package/dist/utils/theme.js.map +1 -0
  100. package/docs/SECURITY-DEPENDENCIES.md +81 -0
  101. package/docs/THEMING.md +205 -0
  102. package/package.json +5 -3
  103. package/src/components/ActionGroupRenderer.tsx +6 -6
  104. package/src/components/AutocompleteDropdown.tsx +17 -17
  105. package/src/components/AutocompleteFormField.tsx +10 -9
  106. package/src/components/ChartJSRenderer.tsx +483 -239
  107. package/src/components/ChatPrompt.tsx +16 -16
  108. package/src/components/ComponentToolbar.tsx +5 -5
  109. package/src/components/DegradedFallback.tsx +9 -9
  110. package/src/components/ExpandableWrapper.tsx +15 -11
  111. package/src/components/FormFieldRenderer.tsx +52 -51
  112. package/src/components/FormRenderer.tsx +12 -12
  113. package/src/components/GenerativeUIErrorBoundary.tsx +6 -6
  114. package/src/components/GhostText.tsx +7 -7
  115. package/src/components/GraphRenderer.tsx +83 -67
  116. package/src/components/MissingValue.tsx +2 -2
  117. package/src/components/ModalRenderer.tsx +11 -5
  118. package/src/components/PortalDropdownMenu.tsx +6 -2
  119. package/src/components/ScratchpadPanel.tsx +144 -141
  120. package/src/components/UIResourceRenderer.tsx +101 -101
  121. package/src/components/chart-missing-plugin.ts +5 -3
  122. package/src/styles/autocomplete.css +53 -53
  123. package/src/utils/math-markdown.ts +1 -1
  124. package/src/utils/theme.ts +101 -0
@@ -1 +1 @@
1
- {"version":3,"file":"FormFieldRenderer.cjs","sources":["../../src/components/FormFieldRenderer.tsx"],"sourcesContent":["/**\n * FormFieldRenderer - Individual form field component\n * Sprint 1: Form Foundation\n * Sprint 2: Conditional field visibility (showWhen)\n */\n\nimport { Component, Show, For, Switch, Match, Accessor, createSignal, createEffect, onCleanup } from 'solid-js'\nimport type { FormFieldParams, PrefillSource } from '../types'\nimport { useConditionalField } from '../hooks/useConditionalField'\nimport { formatMCPUIString, useMCPUIStrings } from '../context/MCPUIStringsContext'\n\nexport interface FormFieldRendererProps {\n field: FormFieldParams\n value: any\n error?: string\n onChange: (value: any) => void\n disabled?: boolean\n /**\n * Form data accessor for conditional field visibility\n */\n formData?: Accessor<Record<string, any>>\n}\n\n/**\n * Badge config by prefill source. Module-level, so the title cannot be read\n * from the context here — each badge carries the `MCPUIStrings` key instead\n * and the rendering component resolves it at render time.\n */\nconst SOURCE_BADGES: Record<\n PrefillSource,\n { icon: string; titleKey: 'sourceDetected' | 'sourceInferred' | 'sourcePrevious' } | null\n> = {\n detected: { icon: '\\u2705', titleKey: 'sourceDetected' },\n inferred: { icon: '\\uD83D\\uDD17', titleKey: 'sourceInferred' },\n user: { icon: '\\u270F\\uFE0F', titleKey: 'sourcePrevious' },\n default: null,\n}\n\nexport const FormFieldRenderer: Component<FormFieldRendererProps> = (props) => {\n const strings = useMCPUIStrings()\n\n // Conditional visibility based on showWhen\n const { isVisible } = useConditionalField({\n condition: props.field.showWhen,\n formData: props.formData || (() => ({})),\n })\n\n // Muted state — starts muted if field says so, clears on focus/click\n const [isMuted, setIsMuted] = createSignal(!!props.field.muted)\n\n const handleFieldFocus = () => {\n if (isMuted()) setIsMuted(false)\n }\n\n const status = () => props.field.fieldStatus || 'optional'\n const isUnsupported = () => status() === 'unsupported'\n const isFieldDisabled = () => props.disabled || isUnsupported()\n\n const sourceBadge = () => {\n const src = props.field.source\n if (!src) return null\n return SOURCE_BADGES[src]\n }\n\n const baseInputClass = () => `\n w-full px-3 py-2 border rounded-md\n focus:ring-2 focus:ring-blue-500 focus:border-blue-500\n disabled:bg-gray-100 disabled:cursor-not-allowed\n ${props.error\n ? 'border-red-500 focus:ring-red-500'\n : 'border-gray-300 dark:border-gray-600'}\n dark:bg-gray-700 dark:text-white\n ${isUnsupported() ? 'opacity-50' : ''}\n ${isMuted() ? 'bg-gray-50 dark:bg-gray-700/50 text-gray-500 dark:text-gray-400' : ''}\n `\n\n const fieldId = () => `field-${props.field.name}`\n const errorId = () => `${props.field.name}-error`\n\n return (\n <Show when={isVisible()}>\n <div class=\"space-y-1\" onFocusIn={handleFieldFocus} onClick={handleFieldFocus}>\n <Show when={props.field.label && props.field.type !== 'checkbox'}>\n <label\n for={fieldId()}\n class={`block text-sm font-medium ${isUnsupported() ? 'text-gray-400 dark:text-gray-500' : isMuted() ? 'text-gray-400 dark:text-gray-500' : 'text-gray-700 dark:text-gray-300'}`}\n >\n <Show when={sourceBadge()}>\n <span class=\"mr-1\" title={strings[sourceBadge()!.titleKey]}>{sourceBadge()!.icon}</span>\n </Show>\n {props.field.label}\n <Show when={props.field.required || status() === 'required'}>\n <span class=\"text-red-500 ml-1\" aria-hidden=\"true\">*</span>\n </Show>\n <Show when={isUnsupported()}>\n <span class=\"ml-2 text-[10px] font-medium bg-orange-100 dark:bg-orange-900/30 text-orange-600 dark:text-orange-400 px-1.5 py-0.5 rounded\">{strings.fieldNotSupported}</span>\n </Show>\n <Show when={status() === 'unknown'}>\n <span class=\"ml-2 text-[10px] font-medium bg-yellow-100 dark:bg-yellow-900/30 text-yellow-600 dark:text-yellow-400 px-1.5 py-0.5 rounded\">?</span>\n </Show>\n </label>\n </Show>\n\n <Switch>\n {/* Text Input */}\n <Match when={props.field.type === 'text' || props.field.type === 'email' || props.field.type === 'password'}>\n <input\n id={fieldId()}\n type={props.field.type}\n name={props.field.name}\n value={props.value || ''}\n onInput={(e) => props.onChange(e.currentTarget.value)}\n placeholder={props.field.placeholder}\n disabled={props.disabled}\n required={props.field.required}\n minLength={props.field.minLength}\n maxLength={props.field.maxLength}\n pattern={props.field.pattern}\n aria-invalid={!!props.error}\n aria-describedby={props.error ? errorId() : undefined}\n class={baseInputClass()}\n />\n </Match>\n\n {/* Number Input */}\n <Match when={props.field.type === 'number'}>\n <input\n id={fieldId()}\n type=\"number\"\n name={props.field.name}\n value={props.value ?? ''}\n onInput={(e) => props.onChange(e.currentTarget.value === '' ? undefined : Number(e.currentTarget.value))}\n placeholder={props.field.placeholder}\n disabled={props.disabled}\n required={props.field.required}\n min={props.field.min}\n max={props.field.max}\n step={props.field.step}\n aria-invalid={!!props.error}\n aria-describedby={props.error ? errorId() : undefined}\n class={baseInputClass()}\n />\n </Match>\n\n {/* Date Input */}\n <Match when={props.field.type === 'date'}>\n <input\n id={fieldId()}\n type=\"date\"\n name={props.field.name}\n value={props.value || ''}\n onInput={(e) => props.onChange(e.currentTarget.value)}\n disabled={props.disabled}\n required={props.field.required}\n min={props.field.minDate}\n max={props.field.maxDate}\n aria-invalid={!!props.error}\n aria-describedby={props.error ? errorId() : undefined}\n class={baseInputClass()}\n />\n </Match>\n\n {/* Textarea */}\n <Match when={props.field.type === 'textarea'}>\n <textarea\n id={fieldId()}\n name={props.field.name}\n value={props.value || ''}\n onInput={(e) => props.onChange(e.currentTarget.value)}\n placeholder={props.field.placeholder}\n disabled={props.disabled}\n required={props.field.required}\n rows={props.field.rows || 4}\n minLength={props.field.minLength}\n maxLength={props.field.maxLength}\n aria-invalid={!!props.error}\n aria-describedby={props.error ? errorId() : undefined}\n class={baseInputClass()}\n />\n </Match>\n\n {/* Select (single) */}\n <Match when={props.field.type === 'select' && !props.field.multiple}>\n <select\n id={fieldId()}\n name={props.field.name}\n value={props.value || ''}\n onChange={(e) => props.onChange(e.currentTarget.value)}\n disabled={props.disabled}\n required={props.field.required}\n aria-invalid={!!props.error}\n aria-describedby={props.error ? errorId() : undefined}\n class={baseInputClass()}\n >\n <Show when={props.field.placeholder}>\n <option value=\"\" disabled>{props.field.placeholder}</option>\n </Show>\n <For each={props.field.options}>\n {(option) => (\n <option value={option.value} disabled={option.disabled}>\n {option.label}\n </option>\n )}\n </For>\n </select>\n </Match>\n\n {/* Checkbox */}\n <Match when={props.field.type === 'checkbox'}>\n <label class=\"flex items-center gap-2 cursor-pointer\">\n <input\n id={fieldId()}\n type=\"checkbox\"\n name={props.field.name}\n checked={props.value || false}\n onChange={(e) => props.onChange(e.currentTarget.checked)}\n disabled={props.disabled}\n aria-invalid={!!props.error}\n aria-describedby={props.error ? errorId() : undefined}\n class=\"w-4 h-4 rounded border-gray-300 text-blue-600 focus:ring-blue-500 dark:border-gray-600 dark:bg-gray-700\"\n />\n <span class=\"text-sm text-gray-700 dark:text-gray-300\">\n {props.field.checkboxLabel || props.field.label}\n <Show when={props.field.required}>\n <span class=\"text-red-500 ml-1\" aria-hidden=\"true\">*</span>\n </Show>\n </span>\n </label>\n </Match>\n\n {/* Multi-Select with chips */}\n <Match when={props.field.type === 'select' && props.field.multiple}>\n <MultiSelectField\n field={props.field}\n value={props.value || []}\n onChange={props.onChange}\n disabled={props.disabled}\n baseClass={baseInputClass()}\n />\n </Match>\n\n {/* Autocomplete with API fetch */}\n <Match when={props.field.type === 'autocomplete'}>\n <AutocompleteField\n field={props.field}\n value={props.value || ''}\n onChange={props.onChange}\n disabled={props.disabled}\n baseClass={baseInputClass()}\n />\n </Match>\n\n {/* Radio Group */}\n <Match when={props.field.type === 'radio'}>\n <div\n class=\"space-y-2\"\n role=\"radiogroup\"\n aria-labelledby={props.field.label ? `${fieldId()}-label` : undefined}\n aria-invalid={!!props.error}\n aria-describedby={props.error ? errorId() : undefined}\n >\n <For each={props.field.options}>\n {(option, index) => (\n <label class=\"flex items-center gap-2 cursor-pointer\">\n <input\n type=\"radio\"\n name={props.field.name}\n id={`${fieldId()}-${index()}`}\n value={option.value}\n checked={props.value === option.value}\n onChange={() => props.onChange(option.value)}\n disabled={props.disabled || option.disabled}\n class=\"w-4 h-4 border-gray-300 text-blue-600 focus:ring-blue-500 dark:border-gray-600\"\n />\n <span class=\"text-sm text-gray-700 dark:text-gray-300\">\n {option.label}\n </span>\n </label>\n )}\n </For>\n </div>\n </Match>\n\n {/* Range/Slider */}\n <Match when={props.field.type === 'range'}>\n <div class=\"flex items-center gap-3\">\n <input\n id={fieldId()}\n type=\"range\"\n name={props.field.name}\n value={props.value ?? props.field.min ?? 0}\n onInput={(e) => props.onChange(Number(e.currentTarget.value))}\n min={props.field.min}\n max={props.field.max}\n step={props.field.step || 1}\n disabled={isFieldDisabled()}\n class=\"flex-1 h-2 bg-gray-200 dark:bg-gray-600 rounded-lg appearance-none cursor-pointer accent-blue-600\"\n />\n <span class=\"text-sm font-mono text-gray-700 dark:text-gray-300 min-w-[3rem] text-right\">{props.value ?? props.field.min ?? 0}</span>\n </div>\n </Match>\n\n {/* Tags/Chips Input */}\n <Match when={props.field.type === 'tags'}>\n <TagsField value={props.value || []} onChange={props.onChange} placeholder={props.field.placeholder} disabled={isFieldDisabled()} baseClass={baseInputClass()} />\n </Match>\n\n {/* Toggle */}\n <Match when={props.field.type === 'toggle'}>\n <label class=\"flex items-center gap-2 cursor-pointer\">\n <button\n type=\"button\"\n role=\"switch\"\n aria-checked={!!props.value}\n onClick={() => props.onChange(!props.value)}\n disabled={isFieldDisabled()}\n class={`relative inline-flex h-5 w-9 items-center rounded-full transition-colors ${props.value ? 'bg-blue-600' : 'bg-gray-300 dark:bg-gray-600'} ${isFieldDisabled() ? 'opacity-50 cursor-not-allowed' : ''}`}\n >\n <span class={`inline-block h-3.5 w-3.5 transform rounded-full bg-white transition-transform ${props.value ? 'translate-x-4' : 'translate-x-0.5'}`} />\n </button>\n <span class=\"text-sm text-gray-700 dark:text-gray-300\">{props.field.checkboxLabel || props.field.label}</span>\n </label>\n </Match>\n\n {/* Fieldset/Group */}\n <Match when={props.field.type === 'fieldset'}>\n <fieldset class=\"border border-gray-200 dark:border-gray-600 rounded-lg p-3\">\n <legend class=\"text-xs font-medium text-gray-500 dark:text-gray-400 px-1\">{props.field.label}</legend>\n <p class=\"text-xs text-gray-400\">{props.field.helpText || strings.fieldGroupContainer}</p>\n </fieldset>\n </Match>\n\n {/* Fallback for unknown field types — renders as text input with warning */}\n <Match when={true}>\n <input\n id={fieldId()}\n type=\"text\"\n name={props.field.name}\n value={props.value || ''}\n onInput={(e) => props.onChange(e.currentTarget.value)}\n placeholder={props.field.placeholder || `(${props.field.type})`}\n disabled={props.disabled}\n class={baseInputClass()}\n />\n <p class=\"text-xs text-amber-500 mt-0.5\">\n {formatMCPUIString(strings.fieldUnknownType, { type: props.field.type })}\n </p>\n </Match>\n </Switch>\n\n <Show when={props.field.statusReason}>\n <p class={`text-xs ${\n isUnsupported() ? 'text-orange-500 dark:text-orange-400'\n : status() === 'unknown' ? 'text-yellow-500 dark:text-yellow-400'\n : status() === 'required' ? 'text-blue-500 dark:text-blue-400'\n : 'text-gray-500 dark:text-gray-400'\n }`}>\n {props.field.statusReason}\n </p>\n </Show>\n\n <Show when={props.field.displayHint && props.field.prefill != null}>\n <p class={`text-xs italic ${isMuted() ? 'text-gray-400 dark:text-gray-500' : 'text-gray-500 dark:text-gray-400'}`}>\n {props.field.displayHint}\n </p>\n </Show>\n\n <Show when={props.field.helpText && !props.error && !props.field.statusReason && !props.field.displayHint}>\n <p class=\"text-xs text-gray-500 dark:text-gray-400\">{props.field.helpText}</p>\n </Show>\n\n <Show when={props.error}>\n <p id={errorId()} role=\"alert\" class=\"text-xs text-red-600 dark:text-red-400\">\n {props.error}\n </p>\n </Show>\n </div>\n </Show>\n )\n}\n\n// ─── Multi-Select with Chips ─────────────────────────────────\n\nconst MultiSelectField: Component<{\n field: FormFieldParams\n value: string[]\n onChange: (value: string[]) => void\n disabled?: boolean\n baseClass: string\n}> = (props) => {\n const strings = useMCPUIStrings()\n const [open, setOpen] = createSignal(false)\n const [filter, setFilter] = createSignal('')\n\n const toggle = (val: string) => {\n const current = props.value || []\n if (current.includes(val)) {\n props.onChange(current.filter((v) => v !== val))\n } else {\n props.onChange([...current, val])\n }\n }\n\n const removeChip = (val: string) => {\n props.onChange((props.value || []).filter((v) => v !== val))\n }\n\n const getLabel = (val: string) =>\n props.field.options?.find((o) => o.value === val)?.label || val\n\n const filteredOptions = () => {\n const q = filter().toLowerCase()\n if (!q) return props.field.options || []\n return (props.field.options || []).filter(\n (o) => o.label.toLowerCase().includes(q) || o.value.toLowerCase().includes(q)\n )\n }\n\n return (\n <div class=\"relative\">\n {/* Selected chips */}\n <Show when={props.value.length > 0}>\n <div class=\"flex flex-wrap gap-1 mb-1\">\n <For each={props.value}>\n {(val) => (\n <span class=\"inline-flex items-center gap-1 px-2 py-0.5 text-xs font-medium bg-blue-100 dark:bg-blue-900/30 text-blue-700 dark:text-blue-300 rounded-full\">\n {getLabel(val)}\n <button\n type=\"button\"\n onClick={() => removeChip(val)}\n class=\"hover:text-blue-900 dark:hover:text-blue-100\"\n aria-label={formatMCPUIString(strings.removeItem, { name: getLabel(val) })}\n >\n &times;\n </button>\n </span>\n )}\n </For>\n </div>\n </Show>\n\n {/* Trigger button */}\n <button\n type=\"button\"\n onClick={() => { setOpen(!open()); if (!open()) setFilter('') }}\n disabled={props.disabled}\n class={`${props.baseClass} text-left flex items-center justify-between`}\n >\n <span class={props.value.length ? 'text-gray-900 dark:text-white' : 'text-gray-400'}>\n {props.value.length\n ? formatMCPUIString(strings.fieldSelectedCount, { count: props.value.length })\n : props.field.placeholder || strings.fieldSelectPlaceholder}\n </span>\n <svg class=\"w-4 h-4 text-gray-400\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\">\n <path stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M19 9l-7 7-7-7\" />\n </svg>\n </button>\n\n {/* Dropdown with filter */}\n <Show when={open()}>\n <div\n class=\"absolute z-50 mt-1 w-full bg-white dark:bg-gray-800 border border-gray-200 dark:border-gray-600 rounded-md shadow-lg\"\n style={{ \"max-height\": \"320px\", display: \"flex\", \"flex-direction\": \"column\" }}\n >\n {/* Search filter */}\n <Show when={(props.field.options?.length || 0) > 10}>\n <div class=\"p-2 border-b border-gray-200 dark:border-gray-600 flex-shrink-0\">\n <input\n type=\"text\"\n value={filter()}\n onInput={(e) => setFilter(e.currentTarget.value)}\n placeholder={strings.filterPlaceholder}\n class=\"w-full px-2 py-1 text-sm border border-gray-200 dark:border-gray-600 rounded bg-white dark:bg-gray-700 text-gray-900 dark:text-white focus:border-blue-400 outline-none\"\n autofocus\n />\n </div>\n </Show>\n {/* Options list — scrollable */}\n <div style={{ \"overflow-y\": \"auto\", \"flex\": \"1\", \"-webkit-overflow-scrolling\": \"touch\" }}>\n <For each={filteredOptions()}>\n {(option) => (\n <label class=\"flex items-center gap-2 px-3 py-2 hover:bg-gray-100 dark:hover:bg-gray-700 cursor-pointer text-sm\">\n <input\n type=\"checkbox\"\n checked={(props.value || []).includes(option.value)}\n onChange={() => toggle(option.value)}\n class=\"w-4 h-4 rounded border-gray-300 text-blue-600 focus:ring-blue-500 dark:border-gray-600\"\n />\n <span class=\"text-gray-900 dark:text-white\">{option.label}</span>\n </label>\n )}\n </For>\n <Show when={filteredOptions().length === 0}>\n <p class=\"px-3 py-2 text-sm text-gray-400\">{strings.fieldNoMatches}</p>\n </Show>\n </div>\n </div>\n </Show>\n </div>\n )\n}\n\n// ─── Autocomplete with API fetch ─────────────────────────────\n\nconst AutocompleteField: Component<{\n field: FormFieldParams\n value: string | string[]\n onChange: (value: string | string[]) => void\n disabled?: boolean\n baseClass: string\n}> = (props) => {\n const strings = useMCPUIStrings()\n const [query, setQuery] = createSignal('')\n const [suggestions, setSuggestions] = createSignal<Array<{ label: string; value: string }>>([])\n const [isOpen, setIsOpen] = createSignal(false)\n const [selectedLabels, setSelectedLabels] = createSignal<Map<string, string>>(new Map())\n const [resolving, setResolving] = createSignal(false)\n let debounceTimer: ReturnType<typeof setTimeout> | null = null\n\n const isMultiple = () => props.field.multiple === true\n const selectedValues = () => isMultiple() ? (Array.isArray(props.value) ? props.value : []) : []\n const minChars = () => props.field.minChars ?? 2\n const debounceMs = () => props.field.debounceMs ?? 300\n\n const fetchSuggestions = async (q: string) => {\n if (!props.field.apiUrl || !props.field.searchParam) return\n\n try {\n const params = new URLSearchParams({ [props.field.searchParam]: q })\n if (props.field.extraParams) {\n for (const [k, v] of Object.entries(props.field.extraParams)) {\n params.set(k, v)\n }\n }\n const res = await fetch(`${props.field.apiUrl}?${params}`)\n if (!res.ok) return\n\n const data = await res.json()\n const items = Array.isArray(data) ? data : data.results || data.features || []\n const labelField = props.field.labelField || 'label'\n const valueField = props.field.valueField || 'value'\n\n setSuggestions(items.slice(0, 10).map((item: any) => ({\n label: item[labelField] || String(item),\n value: String(item[valueField] || item[labelField] || item),\n })))\n setIsOpen(true)\n } catch {\n setSuggestions([])\n }\n }\n\n // Proposal 1: prefillMode \"resolve\" — call apiUrl to resolve display name → code\n const resolvePrefill = async (prefillValues: string[]) => {\n if (!props.field.apiUrl || !props.field.searchParam) return\n setResolving(true)\n const labelField = props.field.labelField || 'label'\n const valueField = props.field.valueField || 'value'\n\n try {\n const resolvedValues: string[] = []\n for (const pv of prefillValues) {\n const params = new URLSearchParams({ [props.field.searchParam]: pv, limit: '1' })\n if (props.field.extraParams) {\n for (const [k, v] of Object.entries(props.field.extraParams)) params.set(k, v)\n }\n const res = await fetch(`${props.field.apiUrl}?${params}`)\n if (!res.ok) { resolvedValues.push(pv); continue }\n const data = await res.json()\n const items = Array.isArray(data) ? data : data.results || data.features || []\n if (items.length > 0) {\n const code = String(items[0][valueField] || pv)\n const label = items[0][labelField] || pv\n resolvedValues.push(code)\n setSelectedLabels((prev) => new Map(prev).set(code, label))\n } else {\n resolvedValues.push(pv)\n setSelectedLabels((prev) => new Map(prev).set(pv, pv))\n }\n }\n if (isMultiple()) {\n props.onChange(resolvedValues)\n } else {\n props.onChange(resolvedValues[0] || '')\n const label = selectedLabels().get(resolvedValues[0])\n if (label) setQuery(label)\n }\n } catch {\n // Fallback: use raw prefill values\n } finally {\n setResolving(false)\n }\n }\n\n // On mount: handle prefill\n createEffect(() => {\n const prefill = props.field.prefill\n if (!prefill) return\n const values = Array.isArray(prefill) ? prefill : [prefill]\n if (values.length === 0) return\n\n if (props.field.prefillMode === 'resolve') {\n // Proposal 1: resolve display names to codes via API\n resolvePrefill(values)\n } else {\n // Proposal 2 + 6: exact mode — prefill is a code, show displayHint or label as tag\n for (const v of values) {\n if (!selectedLabels().has(v)) {\n setSelectedLabels((prev) => new Map(prev).set(v, props.field.displayHint || v))\n }\n }\n if (!isMultiple() && values[0]) {\n const label = props.field.displayHint || values[0]\n setQuery(label)\n }\n }\n })\n\n const handleInput = (value: string) => {\n setQuery(value)\n // Only clear the stored value if user is actively changing the text\n // (not just focusing/blurring with the selected label intact)\n if (!isMultiple()) {\n // Check if the current query still matches the selected label\n const currentLabel = selectedLabels().get(String(props.value))\n if (currentLabel !== value) {\n props.onChange('')\n }\n }\n\n if (debounceTimer) clearTimeout(debounceTimer)\n if (value.length < minChars()) {\n setSuggestions([])\n setIsOpen(false)\n return\n }\n debounceTimer = setTimeout(() => fetchSuggestions(value), debounceMs())\n }\n\n const selectSuggestion = (item: { label: string; value: string }) => {\n if (isMultiple()) {\n const current = selectedValues()\n if (!current.includes(item.value)) {\n props.onChange([...current, item.value])\n setSelectedLabels((prev) => new Map(prev).set(item.value, item.label))\n }\n setQuery('')\n setSuggestions([])\n setIsOpen(false)\n } else {\n // Proposal 6: always store valueField (item.value), display labelField\n props.onChange(item.value)\n setSelectedLabels((prev) => new Map(prev).set(item.value, item.label))\n setQuery(item.label)\n setIsOpen(false)\n setSuggestions([])\n }\n }\n\n // Proposal 6: on blur without selection, auto-resolve typed text to first API result\n const handleBlur = () => {\n setTimeout(() => {\n setIsOpen(false)\n // If user typed but didn't select, and field has valueField, resolve first match\n if (!isMultiple() && query() && !props.value && props.field.valueField && suggestions().length > 0) {\n selectSuggestion(suggestions()[0])\n }\n }, 200)\n }\n\n const removeChip = (val: string) => {\n props.onChange(selectedValues().filter((v) => v !== val))\n setSelectedLabels((prev) => { const m = new Map(prev); m.delete(val); return m })\n }\n\n const getLabel = (val: string) => selectedLabels().get(val) || val\n\n onCleanup(() => { if (debounceTimer) clearTimeout(debounceTimer) })\n\n return (\n <div class=\"relative\">\n {/* Resolving indicator */}\n <Show when={resolving()}>\n <div class=\"flex items-center gap-1 mb-1 text-xs text-gray-400\">\n <span class=\"animate-spin h-3 w-3 border border-gray-400 border-t-transparent rounded-full\" />\n {strings.fieldResolving}\n </div>\n </Show>\n\n {/* Multi chips */}\n <Show when={isMultiple() && selectedValues().length > 0}>\n <div class=\"flex flex-wrap gap-1 mb-1\">\n <For each={selectedValues()}>\n {(val) => (\n <span class=\"inline-flex items-center gap-1 px-2 py-0.5 text-xs font-medium bg-blue-100 dark:bg-blue-900/30 text-blue-700 dark:text-blue-300 rounded-full\">\n {getLabel(val)}\n <button\n type=\"button\"\n onClick={() => removeChip(val)}\n class=\"hover:text-blue-900 dark:hover:text-blue-100\"\n aria-label={formatMCPUIString(strings.removeItem, { name: getLabel(val) })}\n >\n &times;\n </button>\n </span>\n )}\n </For>\n </div>\n </Show>\n\n <input\n type=\"text\"\n value={query()}\n onInput={(e) => handleInput(e.currentTarget.value)}\n onFocus={() => { if (suggestions().length) setIsOpen(true) }}\n onBlur={handleBlur}\n placeholder={isMultiple() && selectedValues().length\n ? strings.fieldAddMorePlaceholder\n : props.field.placeholder}\n disabled={props.disabled || resolving()}\n class={props.baseClass}\n autocomplete=\"off\"\n />\n\n <Show when={isOpen() && suggestions().length > 0}>\n <div class=\"absolute z-20 mt-1 w-full bg-white dark:bg-gray-800 border border-gray-200 dark:border-gray-600 rounded-md shadow-lg max-h-72 overflow-y-auto\">\n <For each={suggestions()}>\n {(item) => {\n const isSelected = () => isMultiple() && selectedValues().includes(item.value)\n return (\n <button\n type=\"button\"\n onMouseDown={(e) => e.preventDefault()}\n onClick={() => selectSuggestion(item)}\n class={`w-full text-left px-3 py-2 text-sm hover:bg-blue-50 dark:hover:bg-blue-900/20 ${\n isSelected() ? 'text-blue-600 dark:text-blue-400 bg-blue-50/50 dark:bg-blue-900/10' : 'text-gray-900 dark:text-white'\n }`}\n disabled={isSelected()}\n >\n {item.label}\n <Show when={isSelected()}>\n <span class=\"ml-2 text-xs\">&#10003;</span>\n </Show>\n </button>\n )\n }}\n </For>\n </div>\n </Show>\n </div>\n )\n}\n\n// ─── Tags/Chips Input ────────────────────────────────────────\n\nconst TagsField: Component<{\n value: string[]\n onChange: (value: string[]) => void\n placeholder?: string\n disabled?: boolean\n baseClass: string\n}> = (props) => {\n const strings = useMCPUIStrings()\n const [input, setInput] = createSignal('')\n\n const addTag = () => {\n const val = input().trim()\n if (val && !(props.value || []).includes(val)) {\n props.onChange([...(props.value || []), val])\n }\n setInput('')\n }\n\n const removeTag = (tag: string) => {\n props.onChange((props.value || []).filter(t => t !== tag))\n }\n\n const handleKeyDown = (e: KeyboardEvent) => {\n if (e.key === 'Enter' || e.key === ',') {\n e.preventDefault()\n addTag()\n }\n if (e.key === 'Backspace' && !input() && (props.value || []).length > 0) {\n removeTag(props.value[props.value.length - 1])\n }\n }\n\n return (\n <div>\n <Show when={(props.value || []).length > 0}>\n <div class=\"flex flex-wrap gap-1 mb-1\">\n <For each={props.value || []}>\n {(tag) => (\n <span class=\"inline-flex items-center gap-1 px-2 py-0.5 text-xs font-medium bg-blue-100 dark:bg-blue-900/30 text-blue-700 dark:text-blue-300 rounded-full\">\n {tag}\n <button type=\"button\" onClick={() => removeTag(tag)} class=\"hover:text-blue-900 dark:hover:text-blue-100\" aria-label={formatMCPUIString(strings.removeItem, { name: tag })}>&times;</button>\n </span>\n )}\n </For>\n </div>\n </Show>\n <input\n type=\"text\"\n value={input()}\n onInput={(e) => setInput(e.currentTarget.value)}\n onKeyDown={handleKeyDown}\n onBlur={addTag}\n placeholder={props.placeholder || strings.fieldTagsPlaceholder}\n disabled={props.disabled}\n class={props.baseClass}\n />\n </div>\n )\n}\n"],"names":["SOURCE_BADGES","detected","icon","titleKey","inferred","user","default","FormFieldRenderer","props","strings","useMCPUIStrings","isVisible","useConditionalField","condition","field","showWhen","formData","isMuted","setIsMuted","createSignal","muted","handleFieldFocus","status","fieldStatus","isUnsupported","isFieldDisabled","disabled","sourceBadge","src","source","baseInputClass","error","fieldId","name","errorId","_$createComponent","Show","when","children","_el$","_$getNextElement","_tmpl$20","_el$50","firstChild","_el$51","_co$0","_$getNextMarker","nextSibling","_el$52","_el$53","_co$1","_el$54","_el$55","_co$10","_el$56","_el$57","_co$11","_el$58","_el$59","_co$12","_el$60","_el$61","_co$13","$$click","$$focusin","_$insert","_$memo","label","type","_el$2","_tmpl$5","_el$7","_el$8","_co$","_el$9","_el$0","_co$2","_el$1","_el$10","_co$3","_el$11","_el$12","_co$4","_el$13","_el$14","_co$5","_el$3","_tmpl$","_$effect","_$setAttribute","required","_tmpl$2","_el$5","_tmpl$3","fieldNotSupported","_tmpl$4","_p$","_v$","_v$2","e","t","_$className","undefined","Switch","Match","_el$15","_tmpl$6","$$input","onChange","currentTarget","value","_v$3","_v$4","_v$5","_v$6","placeholder","_v$7","_v$8","_v$9","minLength","_v$0","maxLength","_v$1","pattern","_v$10","_v$11","_v$12","a","o","i","_$setProperty","n","s","h","r","d","l","u","_$runHydrationEvents","_el$16","_tmpl$7","Number","_v$13","_v$14","_v$15","_v$16","_v$17","_v$18","min","_v$19","max","_v$20","step","_v$21","_v$22","_v$23","_el$17","_tmpl$8","_v$24","_v$25","_v$26","_v$27","_v$28","minDate","_v$29","maxDate","_v$30","_v$31","_v$32","_el$18","_tmpl$9","_v$33","_v$34","_v$35","_v$36","_v$37","_v$38","rows","_v$39","_v$40","_v$41","_v$42","_v$43","multiple","_el$19","_tmpl$1","_el$21","_el$22","_co$6","_el$23","_el$24","_co$7","addEventListener","_el$20","_tmpl$0","For","each","options","option","_el$62","_tmpl$21","_v$44","_v$45","_v$46","_v$47","_v$48","_v$49","_v$50","_el$25","_tmpl$10","_el$26","_el$27","_el$29","_el$30","_co$8","_el$31","_el$32","_co$9","checked","checkboxLabel","_v$51","_v$52","_v$53","_v$54","_v$55","MultiSelectField","baseClass","AutocompleteField","_el$33","_tmpl$11","index","_el$63","_tmpl$22","_el$64","_el$65","_v$74","_v$75","_v$76","_v$56","_v$57","_v$58","_el$34","_tmpl$12","_el$35","_el$36","_v$59","_v$60","_v$61","_v$62","_v$63","_v$64","TagsField","_el$37","_tmpl$13","_el$38","_el$39","_el$40","_v$65","_v$66","_v$67","_v$68","_el$41","_tmpl$14","_el$42","_el$43","helpText","fieldGroupContainer","_el$44","_tmpl$15","_v$69","_v$70","_v$71","_v$72","_v$73","_el$45","_tmpl$16","formatMCPUIString","fieldUnknownType","statusReason","_el$46","_tmpl$17","displayHint","prefill","_el$47","_el$48","_tmpl$18","_el$49","_tmpl$19","open","setOpen","filter","setFilter","toggle","val","current","includes","v","removeChip","getLabel","find","filteredOptions","q","toLowerCase","_el$66","_tmpl$27","_el$81","_el$82","_co$17","_el$68","_el$69","_el$83","_el$84","_co$18","length","_el$67","_tmpl$23","_el$85","_tmpl$28","_el$87","_el$88","_co$19","_el$86","removeItem","_c$","fieldSelectedCount","count","fieldSelectPlaceholder","_el$70","_tmpl$26","_el$79","_el$80","_co$16","_el$73","_el$75","_el$76","_co$14","_el$77","_el$78","_co$15","_el$71","_tmpl$24","_el$72","filterPlaceholder","_el$89","_tmpl$29","_el$90","_el$91","_el$74","_tmpl$25","fieldNoMatches","_v$77","_v$78","_v$79","query","setQuery","suggestions","setSuggestions","isOpen","setIsOpen","selectedLabels","setSelectedLabels","Map","resolving","setResolving","debounceTimer","isMultiple","selectedValues","Array","isArray","minChars","debounceMs","fetchSuggestions","apiUrl","searchParam","params","URLSearchParams","extraParams","k","Object","entries","set","res","fetch","ok","data","json","items","results","features","labelField","valueField","slice","map","item","String","resolvePrefill","prefillValues","resolvedValues","pv","limit","push","code","prev","get","createEffect","values","prefillMode","has","handleInput","currentLabel","setTimeout","selectSuggestion","handleBlur","m","delete","onCleanup","_el$92","_tmpl$32","_el$100","_el$101","_co$21","_el$102","_el$103","_co$22","_el$98","_el$104","_el$105","_co$23","_el$93","_tmpl$30","_el$94","_el$95","_el$96","_co$20","fieldResolving","_el$97","_el$106","_el$108","_el$109","_co$24","_el$107","_el$99","_tmpl$31","isSelected","_el$110","_tmpl$34","_el$112","_el$113","_co$25","_el$114","_el$115","_co$26","$$mousedown","preventDefault","_tmpl$33","_v$83","_v$84","_v$80","fieldAddMorePlaceholder","_v$81","_v$82","input","setInput","addTag","trim","removeTag","tag","handleKeyDown","key","_el$116","_tmpl$35","_el$119","_el$120","_co$27","_el$118","_el$117","_el$121","_el$123","_el$124","_co$28","_el$122","$$keydown","_v$85","fieldTagsPlaceholder","_v$86","_v$87","_$delegateEvents"],"mappings":"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"}
1
+ {"version":3,"file":"FormFieldRenderer.cjs","sources":["../../src/components/FormFieldRenderer.tsx"],"sourcesContent":["/**\n * FormFieldRenderer - Individual form field component\n * Sprint 1: Form Foundation\n * Sprint 2: Conditional field visibility (showWhen)\n */\n\nimport { Component, Show, For, Switch, Match, Accessor, createSignal, createEffect, onCleanup } from 'solid-js'\nimport type { FormFieldParams, PrefillSource } from '../types'\nimport { useConditionalField } from '../hooks/useConditionalField'\nimport { formatMCPUIString, useMCPUIStrings } from '../context/MCPUIStringsContext'\n\nexport interface FormFieldRendererProps {\n field: FormFieldParams\n value: any\n error?: string\n onChange: (value: any) => void\n disabled?: boolean\n /**\n * Form data accessor for conditional field visibility\n */\n formData?: Accessor<Record<string, any>>\n}\n\n/**\n * Badge config by prefill source. Module-level, so the title cannot be read\n * from the context here — each badge carries the `MCPUIStrings` key instead\n * and the rendering component resolves it at render time.\n */\nconst SOURCE_BADGES: Record<\n PrefillSource,\n { icon: string; titleKey: 'sourceDetected' | 'sourceInferred' | 'sourcePrevious' } | null\n> = {\n detected: { icon: '\\u2705', titleKey: 'sourceDetected' },\n inferred: { icon: '\\uD83D\\uDD17', titleKey: 'sourceInferred' },\n user: { icon: '\\u270F\\uFE0F', titleKey: 'sourcePrevious' },\n default: null,\n}\n\nexport const FormFieldRenderer: Component<FormFieldRendererProps> = (props) => {\n const strings = useMCPUIStrings()\n\n // Conditional visibility based on showWhen\n const { isVisible } = useConditionalField({\n condition: props.field.showWhen,\n formData: props.formData || (() => ({})),\n })\n\n // Muted state — starts muted if field says so, clears on focus/click\n const [isMuted, setIsMuted] = createSignal(!!props.field.muted)\n\n const handleFieldFocus = () => {\n if (isMuted()) setIsMuted(false)\n }\n\n const status = () => props.field.fieldStatus || 'optional'\n const isUnsupported = () => status() === 'unsupported'\n const isFieldDisabled = () => props.disabled || isUnsupported()\n\n const sourceBadge = () => {\n const src = props.field.source\n if (!src) return null\n return SOURCE_BADGES[src]\n }\n\n const baseInputClass = () => `\n w-full px-3 py-2 border rounded-md\n ${!isMuted() ? 'text-[color:var(--mcp-ui-fg,inherit)]' : ''}\n focus:ring-2 focus:ring-[color:var(--mcp-ui-focus,var(--color-blue-500))] focus:border-[color:var(--mcp-ui-focus,var(--color-blue-500))]\n disabled:bg-[color:var(--mcp-ui-surface-muted,var(--color-gray-100,#f3f4f6))] disabled:cursor-not-allowed\n ${props.error\n ? 'border-[color:var(--mcp-ui-danger-border,var(--color-red-500))] focus:ring-[color:var(--mcp-ui-focus,var(--color-red-500))]'\n : 'border-[color:var(--mcp-ui-border-control,var(--color-gray-300,#d1d5db))] dark:border-[color:var(--mcp-ui-border-control,var(--color-gray-600,#4b5563))]'}\n dark:bg-[color:var(--mcp-ui-surface-muted,var(--color-gray-700,#374151))] dark:text-[color:var(--mcp-ui-fg,var(--color-white,#fff))]\n ${isUnsupported() ? 'opacity-50' : ''}\n ${isMuted() ? 'bg-[color:var(--mcp-ui-surface-muted,var(--color-gray-50,#f9fafb))] dark:bg-[color:var(--mcp-ui-surface-muted,color-mix(in_oklab,var(--color-gray-700,#374151)_50%,transparent))] text-[color:var(--mcp-ui-fg-muted,var(--color-gray-500,#6b7280))] dark:text-[color:var(--mcp-ui-fg-subtle,var(--color-gray-400,#9ca3af))]' : ''}\n `\n\n const fieldId = () => `field-${props.field.name}`\n const errorId = () => `${props.field.name}-error`\n\n return (\n <Show when={isVisible()}>\n <div class=\"space-y-1\" onFocusIn={handleFieldFocus} onClick={handleFieldFocus}>\n <Show when={props.field.label && props.field.type !== 'checkbox'}>\n <label\n for={fieldId()}\n class={`block text-sm font-medium ${isUnsupported() ? 'text-[color:var(--mcp-ui-fg-subtle,var(--color-gray-400,#9ca3af))] dark:text-[color:var(--mcp-ui-fg-muted,var(--color-gray-500,#6b7280))]' : isMuted() ? 'text-[color:var(--mcp-ui-fg-subtle,var(--color-gray-400,#9ca3af))] dark:text-[color:var(--mcp-ui-fg-muted,var(--color-gray-500,#6b7280))]' : 'text-[color:var(--mcp-ui-fg,var(--color-gray-700,#374151))] dark:text-[color:var(--mcp-ui-fg,var(--color-gray-300,#d1d5db))]'}`}\n >\n <Show when={sourceBadge()}>\n <span class=\"mr-1\" title={strings[sourceBadge()!.titleKey]}>{sourceBadge()!.icon}</span>\n </Show>\n {props.field.label}\n <Show when={props.field.required || status() === 'required'}>\n <span class=\"text-[color:var(--mcp-ui-danger,var(--color-red-500))] ml-1\" aria-hidden=\"true\">*</span>\n </Show>\n <Show when={isUnsupported()}>\n <span class=\"ml-2 text-[10px] font-medium bg-[color:var(--mcp-ui-warning-soft,var(--color-orange-100))] dark:bg-[color:var(--mcp-ui-warning-soft,color-mix(in_oklab,var(--color-orange-900)_30%,transparent))] text-[color:var(--mcp-ui-warning,var(--color-orange-600))] dark:text-[color:var(--mcp-ui-warning,var(--color-orange-400))] px-1.5 py-0.5 rounded\">{strings.fieldNotSupported}</span>\n </Show>\n <Show when={status() === 'unknown'}>\n <span class=\"ml-2 text-[10px] font-medium bg-[color:var(--mcp-ui-warning-soft,var(--color-yellow-100))] dark:bg-[color:var(--mcp-ui-warning-soft,color-mix(in_oklab,var(--color-yellow-900)_30%,transparent))] text-[color:var(--mcp-ui-warning,var(--color-yellow-600))] dark:text-[color:var(--mcp-ui-warning,var(--color-yellow-400))] px-1.5 py-0.5 rounded\">?</span>\n </Show>\n </label>\n </Show>\n\n <Switch>\n {/* Text Input */}\n <Match when={props.field.type === 'text' || props.field.type === 'email' || props.field.type === 'password'}>\n <input\n id={fieldId()}\n type={props.field.type}\n name={props.field.name}\n value={props.value || ''}\n onInput={(e) => props.onChange(e.currentTarget.value)}\n placeholder={props.field.placeholder}\n disabled={props.disabled}\n required={props.field.required}\n minLength={props.field.minLength}\n maxLength={props.field.maxLength}\n pattern={props.field.pattern}\n aria-invalid={!!props.error}\n aria-describedby={props.error ? errorId() : undefined}\n class={baseInputClass()}\n />\n </Match>\n\n {/* Number Input */}\n <Match when={props.field.type === 'number'}>\n <input\n id={fieldId()}\n type=\"number\"\n name={props.field.name}\n value={props.value ?? ''}\n onInput={(e) => props.onChange(e.currentTarget.value === '' ? undefined : Number(e.currentTarget.value))}\n placeholder={props.field.placeholder}\n disabled={props.disabled}\n required={props.field.required}\n min={props.field.min}\n max={props.field.max}\n step={props.field.step}\n aria-invalid={!!props.error}\n aria-describedby={props.error ? errorId() : undefined}\n class={baseInputClass()}\n />\n </Match>\n\n {/* Date Input */}\n <Match when={props.field.type === 'date'}>\n <input\n id={fieldId()}\n type=\"date\"\n name={props.field.name}\n value={props.value || ''}\n onInput={(e) => props.onChange(e.currentTarget.value)}\n disabled={props.disabled}\n required={props.field.required}\n min={props.field.minDate}\n max={props.field.maxDate}\n aria-invalid={!!props.error}\n aria-describedby={props.error ? errorId() : undefined}\n class={baseInputClass()}\n />\n </Match>\n\n {/* Textarea */}\n <Match when={props.field.type === 'textarea'}>\n <textarea\n id={fieldId()}\n name={props.field.name}\n value={props.value || ''}\n onInput={(e) => props.onChange(e.currentTarget.value)}\n placeholder={props.field.placeholder}\n disabled={props.disabled}\n required={props.field.required}\n rows={props.field.rows || 4}\n minLength={props.field.minLength}\n maxLength={props.field.maxLength}\n aria-invalid={!!props.error}\n aria-describedby={props.error ? errorId() : undefined}\n class={baseInputClass()}\n />\n </Match>\n\n {/* Select (single) */}\n <Match when={props.field.type === 'select' && !props.field.multiple}>\n <select\n id={fieldId()}\n name={props.field.name}\n value={props.value || ''}\n onChange={(e) => props.onChange(e.currentTarget.value)}\n disabled={props.disabled}\n required={props.field.required}\n aria-invalid={!!props.error}\n aria-describedby={props.error ? errorId() : undefined}\n class={baseInputClass()}\n >\n <Show when={props.field.placeholder}>\n <option value=\"\" disabled>{props.field.placeholder}</option>\n </Show>\n <For each={props.field.options}>\n {(option) => (\n <option value={option.value} disabled={option.disabled}>\n {option.label}\n </option>\n )}\n </For>\n </select>\n </Match>\n\n {/* Checkbox */}\n <Match when={props.field.type === 'checkbox'}>\n <label class=\"flex items-center gap-2 cursor-pointer\">\n <input\n id={fieldId()}\n type=\"checkbox\"\n name={props.field.name}\n checked={props.value || false}\n onChange={(e) => props.onChange(e.currentTarget.checked)}\n disabled={props.disabled}\n aria-invalid={!!props.error}\n aria-describedby={props.error ? errorId() : undefined}\n class=\"w-4 h-4 rounded border-[color:var(--mcp-ui-border-control,var(--color-gray-300,#d1d5db))] text-[color:var(--mcp-ui-accent,var(--color-blue-600))] focus:ring-[color:var(--mcp-ui-focus,var(--color-blue-500))] dark:border-[color:var(--mcp-ui-border-control,var(--color-gray-600,#4b5563))] dark:bg-[color:var(--mcp-ui-surface-muted,var(--color-gray-700,#374151))]\"\n />\n <span class=\"text-sm text-[color:var(--mcp-ui-fg,var(--color-gray-700,#374151))] dark:text-[color:var(--mcp-ui-fg,var(--color-gray-300,#d1d5db))]\">\n {props.field.checkboxLabel || props.field.label}\n <Show when={props.field.required}>\n <span class=\"text-[color:var(--mcp-ui-danger,var(--color-red-500))] ml-1\" aria-hidden=\"true\">*</span>\n </Show>\n </span>\n </label>\n </Match>\n\n {/* Multi-Select with chips */}\n <Match when={props.field.type === 'select' && props.field.multiple}>\n <MultiSelectField\n field={props.field}\n value={props.value || []}\n onChange={props.onChange}\n disabled={props.disabled}\n baseClass={baseInputClass()}\n />\n </Match>\n\n {/* Autocomplete with API fetch */}\n <Match when={props.field.type === 'autocomplete'}>\n <AutocompleteField\n field={props.field}\n value={props.value || ''}\n onChange={props.onChange}\n disabled={props.disabled}\n baseClass={baseInputClass()}\n />\n </Match>\n\n {/* Radio Group */}\n <Match when={props.field.type === 'radio'}>\n <div\n class=\"space-y-2\"\n role=\"radiogroup\"\n aria-labelledby={props.field.label ? `${fieldId()}-label` : undefined}\n aria-invalid={!!props.error}\n aria-describedby={props.error ? errorId() : undefined}\n >\n <For each={props.field.options}>\n {(option, index) => (\n <label class=\"flex items-center gap-2 cursor-pointer\">\n <input\n type=\"radio\"\n name={props.field.name}\n id={`${fieldId()}-${index()}`}\n value={option.value}\n checked={props.value === option.value}\n onChange={() => props.onChange(option.value)}\n disabled={props.disabled || option.disabled}\n class=\"w-4 h-4 border-[color:var(--mcp-ui-border-control,var(--color-gray-300,#d1d5db))] text-[color:var(--mcp-ui-accent,var(--color-blue-600))] focus:ring-[color:var(--mcp-ui-focus,var(--color-blue-500))] dark:border-[color:var(--mcp-ui-border-control,var(--color-gray-600,#4b5563))]\"\n />\n <span class=\"text-sm text-[color:var(--mcp-ui-fg,var(--color-gray-700,#374151))] dark:text-[color:var(--mcp-ui-fg,var(--color-gray-300,#d1d5db))]\">\n {option.label}\n </span>\n </label>\n )}\n </For>\n </div>\n </Match>\n\n {/* Range/Slider */}\n <Match when={props.field.type === 'range'}>\n <div class=\"flex items-center gap-3\">\n <input\n id={fieldId()}\n type=\"range\"\n name={props.field.name}\n value={props.value ?? props.field.min ?? 0}\n onInput={(e) => props.onChange(Number(e.currentTarget.value))}\n min={props.field.min}\n max={props.field.max}\n step={props.field.step || 1}\n disabled={isFieldDisabled()}\n class=\"flex-1 h-2 bg-[color:var(--mcp-ui-surface-muted,var(--color-gray-200,#e5e7eb))] dark:bg-[color:var(--mcp-ui-surface-muted,var(--color-gray-600,#4b5563))] rounded-lg appearance-none cursor-pointer accent-[color:var(--mcp-ui-accent,var(--color-blue-600))]\"\n />\n <span class=\"text-sm font-mono text-[color:var(--mcp-ui-fg,var(--color-gray-700,#374151))] dark:text-[color:var(--mcp-ui-fg,var(--color-gray-300,#d1d5db))] min-w-[3rem] text-right\">{props.value ?? props.field.min ?? 0}</span>\n </div>\n </Match>\n\n {/* Tags/Chips Input */}\n <Match when={props.field.type === 'tags'}>\n <TagsField value={props.value || []} onChange={props.onChange} placeholder={props.field.placeholder} disabled={isFieldDisabled()} baseClass={baseInputClass()} />\n </Match>\n\n {/* Toggle */}\n <Match when={props.field.type === 'toggle'}>\n <label class=\"flex items-center gap-2 cursor-pointer\">\n <button\n type=\"button\"\n role=\"switch\"\n aria-checked={!!props.value}\n onClick={() => props.onChange(!props.value)}\n disabled={isFieldDisabled()}\n class={`relative inline-flex h-5 w-9 items-center rounded-full transition-colors ${props.value ? 'bg-[color:var(--mcp-ui-accent,var(--color-blue-600))]' : 'bg-[color:var(--mcp-ui-surface-muted,var(--color-gray-300,#d1d5db))] dark:bg-[color:var(--mcp-ui-surface-muted,var(--color-gray-600,#4b5563))]'} ${isFieldDisabled() ? 'opacity-50 cursor-not-allowed' : ''}`}\n >\n <span class={`inline-block h-3.5 w-3.5 transform rounded-full bg-[color:var(--mcp-ui-surface,var(--color-white,#fff))] transition-transform ${props.value ? 'translate-x-4' : 'translate-x-0.5'}`} />\n </button>\n <span class=\"text-sm text-[color:var(--mcp-ui-fg,var(--color-gray-700,#374151))] dark:text-[color:var(--mcp-ui-fg,var(--color-gray-300,#d1d5db))]\">{props.field.checkboxLabel || props.field.label}</span>\n </label>\n </Match>\n\n {/* Fieldset/Group */}\n <Match when={props.field.type === 'fieldset'}>\n <fieldset class=\"border border-[color:var(--mcp-ui-border-control,var(--color-gray-200,#e5e7eb))] dark:border-[color:var(--mcp-ui-border-control,var(--color-gray-600,#4b5563))] rounded-lg p-3\">\n <legend class=\"text-xs font-medium text-[color:var(--mcp-ui-fg-muted,var(--color-gray-500,#6b7280))] dark:text-[color:var(--mcp-ui-fg-subtle,var(--color-gray-400,#9ca3af))] px-1\">{props.field.label}</legend>\n <p class=\"text-xs text-[color:var(--mcp-ui-fg-subtle,var(--color-gray-400,#9ca3af))]\">{props.field.helpText || strings.fieldGroupContainer}</p>\n </fieldset>\n </Match>\n\n {/* Fallback for unknown field types — renders as text input with warning */}\n <Match when={true}>\n <input\n id={fieldId()}\n type=\"text\"\n name={props.field.name}\n value={props.value || ''}\n onInput={(e) => props.onChange(e.currentTarget.value)}\n placeholder={props.field.placeholder || `(${props.field.type})`}\n disabled={props.disabled}\n class={baseInputClass()}\n />\n <p class=\"text-xs text-[color:var(--mcp-ui-warning,var(--color-amber-500))] mt-0.5\">\n {formatMCPUIString(strings.fieldUnknownType, { type: props.field.type })}\n </p>\n </Match>\n </Switch>\n\n <Show when={props.field.statusReason}>\n <p class={`text-xs ${\n isUnsupported() ? 'text-[color:var(--mcp-ui-warning,var(--color-orange-500))] dark:text-[color:var(--mcp-ui-warning,var(--color-orange-400))]'\n : status() === 'unknown' ? 'text-[color:var(--mcp-ui-warning,var(--color-yellow-500))] dark:text-[color:var(--mcp-ui-warning,var(--color-yellow-400))]'\n : status() === 'required' ? 'text-[color:var(--mcp-ui-accent,var(--color-blue-500))] dark:text-[color:var(--mcp-ui-accent,var(--color-blue-400))]'\n : 'text-[color:var(--mcp-ui-fg-muted,var(--color-gray-500,#6b7280))] dark:text-[color:var(--mcp-ui-fg-subtle,var(--color-gray-400,#9ca3af))]'\n }`}>\n {props.field.statusReason}\n </p>\n </Show>\n\n <Show when={props.field.displayHint && props.field.prefill != null}>\n <p class={`text-xs italic ${isMuted() ? 'text-[color:var(--mcp-ui-fg-subtle,var(--color-gray-400,#9ca3af))] dark:text-[color:var(--mcp-ui-fg-muted,var(--color-gray-500,#6b7280))]' : 'text-[color:var(--mcp-ui-fg-muted,var(--color-gray-500,#6b7280))] dark:text-[color:var(--mcp-ui-fg-subtle,var(--color-gray-400,#9ca3af))]'}`}>\n {props.field.displayHint}\n </p>\n </Show>\n\n <Show when={props.field.helpText && !props.error && !props.field.statusReason && !props.field.displayHint}>\n <p class=\"text-xs text-[color:var(--mcp-ui-fg-muted,var(--color-gray-500,#6b7280))] dark:text-[color:var(--mcp-ui-fg-subtle,var(--color-gray-400,#9ca3af))]\">{props.field.helpText}</p>\n </Show>\n\n <Show when={props.error}>\n <p id={errorId()} role=\"alert\" class=\"text-xs text-[color:var(--mcp-ui-danger,var(--color-red-600))] dark:text-[color:var(--mcp-ui-danger,var(--color-red-400))]\">\n {props.error}\n </p>\n </Show>\n </div>\n </Show>\n )\n}\n\n// ─── Multi-Select with Chips ─────────────────────────────────\n\nconst MultiSelectField: Component<{\n field: FormFieldParams\n value: string[]\n onChange: (value: string[]) => void\n disabled?: boolean\n baseClass: string\n}> = (props) => {\n const strings = useMCPUIStrings()\n const [open, setOpen] = createSignal(false)\n const [filter, setFilter] = createSignal('')\n\n const toggle = (val: string) => {\n const current = props.value || []\n if (current.includes(val)) {\n props.onChange(current.filter((v) => v !== val))\n } else {\n props.onChange([...current, val])\n }\n }\n\n const removeChip = (val: string) => {\n props.onChange((props.value || []).filter((v) => v !== val))\n }\n\n const getLabel = (val: string) =>\n props.field.options?.find((o) => o.value === val)?.label || val\n\n const filteredOptions = () => {\n const q = filter().toLowerCase()\n if (!q) return props.field.options || []\n return (props.field.options || []).filter(\n (o) => o.label.toLowerCase().includes(q) || o.value.toLowerCase().includes(q)\n )\n }\n\n return (\n <div class=\"relative\">\n {/* Selected chips */}\n <Show when={props.value.length > 0}>\n <div class=\"flex flex-wrap gap-1 mb-1\">\n <For each={props.value}>\n {(val) => (\n <span class=\"inline-flex items-center gap-1 px-2 py-0.5 text-xs font-medium bg-[color:var(--mcp-ui-accent-soft,var(--color-blue-100))] dark:bg-[color:var(--mcp-ui-accent-soft,color-mix(in_oklab,var(--color-blue-900)_30%,transparent))] text-[color:var(--mcp-ui-accent,var(--color-blue-700))] dark:text-[color:var(--mcp-ui-accent,var(--color-blue-300))] rounded-full\">\n {getLabel(val)}\n <button\n type=\"button\"\n onClick={() => removeChip(val)}\n class=\"hover:text-[color:var(--mcp-ui-accent,var(--color-blue-900))] dark:hover:text-[color:var(--mcp-ui-accent,var(--color-blue-100))]\"\n aria-label={formatMCPUIString(strings.removeItem, { name: getLabel(val) })}\n >\n &times;\n </button>\n </span>\n )}\n </For>\n </div>\n </Show>\n\n {/* Trigger button */}\n <button\n type=\"button\"\n onClick={() => { setOpen(!open()); if (!open()) setFilter('') }}\n disabled={props.disabled}\n class={`${props.baseClass} text-left flex items-center justify-between`}\n >\n <span class={props.value.length ? 'text-[color:var(--mcp-ui-fg,var(--color-gray-900,#111827))] dark:text-[color:var(--mcp-ui-fg,var(--color-white,#fff))]' : 'text-[color:var(--mcp-ui-fg-subtle,var(--color-gray-400,#9ca3af))]'}>\n {props.value.length\n ? formatMCPUIString(strings.fieldSelectedCount, { count: props.value.length })\n : props.field.placeholder || strings.fieldSelectPlaceholder}\n </span>\n <svg class=\"w-4 h-4 text-[color:var(--mcp-ui-fg-subtle,var(--color-gray-400,#9ca3af))]\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\">\n <path stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M19 9l-7 7-7-7\" />\n </svg>\n </button>\n\n {/* Dropdown with filter */}\n <Show when={open()}>\n <div\n class=\"absolute z-50 mt-1 w-full bg-[color:var(--mcp-ui-surface,var(--color-white,#fff))] dark:bg-[color:var(--mcp-ui-surface,var(--color-gray-800,#1f2937))] border border-[color:var(--mcp-ui-border-control,var(--color-gray-200,#e5e7eb))] dark:border-[color:var(--mcp-ui-border-control,var(--color-gray-600,#4b5563))] rounded-md shadow-[var(--mcp-ui-shadow,var(--shadow-lg))]\"\n style={{ \"max-height\": \"320px\", display: \"flex\", \"flex-direction\": \"column\" }}\n >\n {/* Search filter */}\n <Show when={(props.field.options?.length || 0) > 10}>\n <div class=\"p-2 border-b border-[color:var(--mcp-ui-border-control,var(--color-gray-200,#e5e7eb))] dark:border-[color:var(--mcp-ui-border-control,var(--color-gray-600,#4b5563))] flex-shrink-0\">\n <input\n type=\"text\"\n value={filter()}\n onInput={(e) => setFilter(e.currentTarget.value)}\n placeholder={strings.filterPlaceholder}\n class=\"w-full px-2 py-1 text-sm border border-[color:var(--mcp-ui-border-control,var(--color-gray-200,#e5e7eb))] dark:border-[color:var(--mcp-ui-border-control,var(--color-gray-600,#4b5563))] rounded bg-[color:var(--mcp-ui-surface,var(--color-white,#fff))] dark:bg-[color:var(--mcp-ui-surface-muted,var(--color-gray-700,#374151))] text-[color:var(--mcp-ui-fg,var(--color-gray-900,#111827))] dark:text-[color:var(--mcp-ui-fg,var(--color-white,#fff))] focus:border-[color:var(--mcp-ui-focus,var(--color-blue-400))] outline-none\"\n autofocus\n />\n </div>\n </Show>\n {/* Options list — scrollable */}\n <div style={{ \"overflow-y\": \"auto\", \"flex\": \"1\", \"-webkit-overflow-scrolling\": \"touch\" }}>\n <For each={filteredOptions()}>\n {(option) => (\n <label class=\"flex items-center gap-2 px-3 py-2 hover:bg-[color:var(--mcp-ui-surface-hover,var(--color-gray-100,#f3f4f6))] dark:hover:bg-[color:var(--mcp-ui-surface-hover,var(--color-gray-700,#374151))] cursor-pointer text-sm\">\n <input\n type=\"checkbox\"\n checked={(props.value || []).includes(option.value)}\n onChange={() => toggle(option.value)}\n class=\"w-4 h-4 rounded border-[color:var(--mcp-ui-border-control,var(--color-gray-300,#d1d5db))] text-[color:var(--mcp-ui-accent,var(--color-blue-600))] focus:ring-[color:var(--mcp-ui-focus,var(--color-blue-500))] dark:border-[color:var(--mcp-ui-border-control,var(--color-gray-600,#4b5563))]\"\n />\n <span class=\"text-[color:var(--mcp-ui-fg,var(--color-gray-900,#111827))] dark:text-[color:var(--mcp-ui-fg,var(--color-white,#fff))]\">{option.label}</span>\n </label>\n )}\n </For>\n <Show when={filteredOptions().length === 0}>\n <p class=\"px-3 py-2 text-sm text-[color:var(--mcp-ui-fg-subtle,var(--color-gray-400,#9ca3af))]\">{strings.fieldNoMatches}</p>\n </Show>\n </div>\n </div>\n </Show>\n </div>\n )\n}\n\n// ─── Autocomplete with API fetch ─────────────────────────────\n\nconst AutocompleteField: Component<{\n field: FormFieldParams\n value: string | string[]\n onChange: (value: string | string[]) => void\n disabled?: boolean\n baseClass: string\n}> = (props) => {\n const strings = useMCPUIStrings()\n const [query, setQuery] = createSignal('')\n const [suggestions, setSuggestions] = createSignal<Array<{ label: string; value: string }>>([])\n const [isOpen, setIsOpen] = createSignal(false)\n const [selectedLabels, setSelectedLabels] = createSignal<Map<string, string>>(new Map())\n const [resolving, setResolving] = createSignal(false)\n let debounceTimer: ReturnType<typeof setTimeout> | null = null\n\n const isMultiple = () => props.field.multiple === true\n const selectedValues = () => isMultiple() ? (Array.isArray(props.value) ? props.value : []) : []\n const minChars = () => props.field.minChars ?? 2\n const debounceMs = () => props.field.debounceMs ?? 300\n\n const fetchSuggestions = async (q: string) => {\n if (!props.field.apiUrl || !props.field.searchParam) return\n\n try {\n const params = new URLSearchParams({ [props.field.searchParam]: q })\n if (props.field.extraParams) {\n for (const [k, v] of Object.entries(props.field.extraParams)) {\n params.set(k, v)\n }\n }\n const res = await fetch(`${props.field.apiUrl}?${params}`)\n if (!res.ok) return\n\n const data = await res.json()\n const items = Array.isArray(data) ? data : data.results || data.features || []\n const labelField = props.field.labelField || 'label'\n const valueField = props.field.valueField || 'value'\n\n setSuggestions(items.slice(0, 10).map((item: any) => ({\n label: item[labelField] || String(item),\n value: String(item[valueField] || item[labelField] || item),\n })))\n setIsOpen(true)\n } catch {\n setSuggestions([])\n }\n }\n\n // Proposal 1: prefillMode \"resolve\" — call apiUrl to resolve display name → code\n const resolvePrefill = async (prefillValues: string[]) => {\n if (!props.field.apiUrl || !props.field.searchParam) return\n setResolving(true)\n const labelField = props.field.labelField || 'label'\n const valueField = props.field.valueField || 'value'\n\n try {\n const resolvedValues: string[] = []\n for (const pv of prefillValues) {\n const params = new URLSearchParams({ [props.field.searchParam]: pv, limit: '1' })\n if (props.field.extraParams) {\n for (const [k, v] of Object.entries(props.field.extraParams)) params.set(k, v)\n }\n const res = await fetch(`${props.field.apiUrl}?${params}`)\n if (!res.ok) { resolvedValues.push(pv); continue }\n const data = await res.json()\n const items = Array.isArray(data) ? data : data.results || data.features || []\n if (items.length > 0) {\n const code = String(items[0][valueField] || pv)\n const label = items[0][labelField] || pv\n resolvedValues.push(code)\n setSelectedLabels((prev) => new Map(prev).set(code, label))\n } else {\n resolvedValues.push(pv)\n setSelectedLabels((prev) => new Map(prev).set(pv, pv))\n }\n }\n if (isMultiple()) {\n props.onChange(resolvedValues)\n } else {\n props.onChange(resolvedValues[0] || '')\n const label = selectedLabels().get(resolvedValues[0])\n if (label) setQuery(label)\n }\n } catch {\n // Fallback: use raw prefill values\n } finally {\n setResolving(false)\n }\n }\n\n // On mount: handle prefill\n createEffect(() => {\n const prefill = props.field.prefill\n if (!prefill) return\n const values = Array.isArray(prefill) ? prefill : [prefill]\n if (values.length === 0) return\n\n if (props.field.prefillMode === 'resolve') {\n // Proposal 1: resolve display names to codes via API\n resolvePrefill(values)\n } else {\n // Proposal 2 + 6: exact mode — prefill is a code, show displayHint or label as tag\n for (const v of values) {\n if (!selectedLabels().has(v)) {\n setSelectedLabels((prev) => new Map(prev).set(v, props.field.displayHint || v))\n }\n }\n if (!isMultiple() && values[0]) {\n const label = props.field.displayHint || values[0]\n setQuery(label)\n }\n }\n })\n\n const handleInput = (value: string) => {\n setQuery(value)\n // Only clear the stored value if user is actively changing the text\n // (not just focusing/blurring with the selected label intact)\n if (!isMultiple()) {\n // Check if the current query still matches the selected label\n const currentLabel = selectedLabels().get(String(props.value))\n if (currentLabel !== value) {\n props.onChange('')\n }\n }\n\n if (debounceTimer) clearTimeout(debounceTimer)\n if (value.length < minChars()) {\n setSuggestions([])\n setIsOpen(false)\n return\n }\n debounceTimer = setTimeout(() => fetchSuggestions(value), debounceMs())\n }\n\n const selectSuggestion = (item: { label: string; value: string }) => {\n if (isMultiple()) {\n const current = selectedValues()\n if (!current.includes(item.value)) {\n props.onChange([...current, item.value])\n setSelectedLabels((prev) => new Map(prev).set(item.value, item.label))\n }\n setQuery('')\n setSuggestions([])\n setIsOpen(false)\n } else {\n // Proposal 6: always store valueField (item.value), display labelField\n props.onChange(item.value)\n setSelectedLabels((prev) => new Map(prev).set(item.value, item.label))\n setQuery(item.label)\n setIsOpen(false)\n setSuggestions([])\n }\n }\n\n // Proposal 6: on blur without selection, auto-resolve typed text to first API result\n const handleBlur = () => {\n setTimeout(() => {\n setIsOpen(false)\n // If user typed but didn't select, and field has valueField, resolve first match\n if (!isMultiple() && query() && !props.value && props.field.valueField && suggestions().length > 0) {\n selectSuggestion(suggestions()[0])\n }\n }, 200)\n }\n\n const removeChip = (val: string) => {\n props.onChange(selectedValues().filter((v) => v !== val))\n setSelectedLabels((prev) => { const m = new Map(prev); m.delete(val); return m })\n }\n\n const getLabel = (val: string) => selectedLabels().get(val) || val\n\n onCleanup(() => { if (debounceTimer) clearTimeout(debounceTimer) })\n\n return (\n <div class=\"relative\">\n {/* Resolving indicator */}\n <Show when={resolving()}>\n <div class=\"flex items-center gap-1 mb-1 text-xs text-[color:var(--mcp-ui-fg-subtle,var(--color-gray-400,#9ca3af))]\">\n <span class=\"animate-spin h-3 w-3 border border-[color:var(--mcp-ui-border-control,var(--color-gray-400,#9ca3af))] border-t-transparent rounded-full\" />\n {strings.fieldResolving}\n </div>\n </Show>\n\n {/* Multi chips */}\n <Show when={isMultiple() && selectedValues().length > 0}>\n <div class=\"flex flex-wrap gap-1 mb-1\">\n <For each={selectedValues()}>\n {(val) => (\n <span class=\"inline-flex items-center gap-1 px-2 py-0.5 text-xs font-medium bg-[color:var(--mcp-ui-accent-soft,var(--color-blue-100))] dark:bg-[color:var(--mcp-ui-accent-soft,color-mix(in_oklab,var(--color-blue-900)_30%,transparent))] text-[color:var(--mcp-ui-accent,var(--color-blue-700))] dark:text-[color:var(--mcp-ui-accent,var(--color-blue-300))] rounded-full\">\n {getLabel(val)}\n <button\n type=\"button\"\n onClick={() => removeChip(val)}\n class=\"hover:text-[color:var(--mcp-ui-accent,var(--color-blue-900))] dark:hover:text-[color:var(--mcp-ui-accent,var(--color-blue-100))]\"\n aria-label={formatMCPUIString(strings.removeItem, { name: getLabel(val) })}\n >\n &times;\n </button>\n </span>\n )}\n </For>\n </div>\n </Show>\n\n <input\n type=\"text\"\n value={query()}\n onInput={(e) => handleInput(e.currentTarget.value)}\n onFocus={() => { if (suggestions().length) setIsOpen(true) }}\n onBlur={handleBlur}\n placeholder={isMultiple() && selectedValues().length\n ? strings.fieldAddMorePlaceholder\n : props.field.placeholder}\n disabled={props.disabled || resolving()}\n class={props.baseClass}\n autocomplete=\"off\"\n />\n\n <Show when={isOpen() && suggestions().length > 0}>\n <div class=\"absolute z-20 mt-1 w-full bg-[color:var(--mcp-ui-surface,var(--color-white,#fff))] dark:bg-[color:var(--mcp-ui-surface,var(--color-gray-800,#1f2937))] border border-[color:var(--mcp-ui-border-control,var(--color-gray-200,#e5e7eb))] dark:border-[color:var(--mcp-ui-border-control,var(--color-gray-600,#4b5563))] rounded-md shadow-[var(--mcp-ui-shadow,var(--shadow-lg))] max-h-72 overflow-y-auto\">\n <For each={suggestions()}>\n {(item) => {\n const isSelected = () => isMultiple() && selectedValues().includes(item.value)\n return (\n <button\n type=\"button\"\n onMouseDown={(e) => e.preventDefault()}\n onClick={() => selectSuggestion(item)}\n class={`w-full text-left px-3 py-2 text-sm hover:bg-[color:var(--mcp-ui-accent-soft,var(--color-blue-50))] dark:hover:bg-[color:var(--mcp-ui-accent-soft,color-mix(in_oklab,var(--color-blue-900)_20%,transparent))] ${\n isSelected() ? 'text-[color:var(--mcp-ui-accent,var(--color-blue-600))] dark:text-[color:var(--mcp-ui-accent,var(--color-blue-400))] bg-[color:var(--mcp-ui-accent-soft,color-mix(in_oklab,var(--color-blue-50)_50%,transparent))] dark:bg-[color:var(--mcp-ui-accent-soft,color-mix(in_oklab,var(--color-blue-900)_10%,transparent))]' : 'text-[color:var(--mcp-ui-fg,var(--color-gray-900,#111827))] dark:text-[color:var(--mcp-ui-fg,var(--color-white,#fff))]'\n }`}\n disabled={isSelected()}\n >\n {item.label}\n <Show when={isSelected()}>\n <span class=\"ml-2 text-xs\">&#10003;</span>\n </Show>\n </button>\n )\n }}\n </For>\n </div>\n </Show>\n </div>\n )\n}\n\n// ─── Tags/Chips Input ────────────────────────────────────────\n\nconst TagsField: Component<{\n value: string[]\n onChange: (value: string[]) => void\n placeholder?: string\n disabled?: boolean\n baseClass: string\n}> = (props) => {\n const strings = useMCPUIStrings()\n const [input, setInput] = createSignal('')\n\n const addTag = () => {\n const val = input().trim()\n if (val && !(props.value || []).includes(val)) {\n props.onChange([...(props.value || []), val])\n }\n setInput('')\n }\n\n const removeTag = (tag: string) => {\n props.onChange((props.value || []).filter(t => t !== tag))\n }\n\n const handleKeyDown = (e: KeyboardEvent) => {\n if (e.key === 'Enter' || e.key === ',') {\n e.preventDefault()\n addTag()\n }\n if (e.key === 'Backspace' && !input() && (props.value || []).length > 0) {\n removeTag(props.value[props.value.length - 1])\n }\n }\n\n return (\n <div>\n <Show when={(props.value || []).length > 0}>\n <div class=\"flex flex-wrap gap-1 mb-1\">\n <For each={props.value || []}>\n {(tag) => (\n <span class=\"inline-flex items-center gap-1 px-2 py-0.5 text-xs font-medium bg-[color:var(--mcp-ui-accent-soft,var(--color-blue-100))] dark:bg-[color:var(--mcp-ui-accent-soft,color-mix(in_oklab,var(--color-blue-900)_30%,transparent))] text-[color:var(--mcp-ui-accent,var(--color-blue-700))] dark:text-[color:var(--mcp-ui-accent,var(--color-blue-300))] rounded-full\">\n {tag}\n <button type=\"button\" onClick={() => removeTag(tag)} class=\"hover:text-[color:var(--mcp-ui-accent,var(--color-blue-900))] dark:hover:text-[color:var(--mcp-ui-accent,var(--color-blue-100))]\" aria-label={formatMCPUIString(strings.removeItem, { name: tag })}>&times;</button>\n </span>\n )}\n </For>\n </div>\n </Show>\n <input\n type=\"text\"\n value={input()}\n onInput={(e) => setInput(e.currentTarget.value)}\n onKeyDown={handleKeyDown}\n onBlur={addTag}\n placeholder={props.placeholder || strings.fieldTagsPlaceholder}\n disabled={props.disabled}\n class={props.baseClass}\n />\n </div>\n )\n}\n"],"names":["SOURCE_BADGES","detected","icon","titleKey","inferred","user","default","FormFieldRenderer","props","strings","useMCPUIStrings","isVisible","useConditionalField","condition","field","showWhen","formData","isMuted","setIsMuted","createSignal","muted","handleFieldFocus","status","fieldStatus","isUnsupported","isFieldDisabled","disabled","sourceBadge","src","source","baseInputClass","error","fieldId","name","errorId","_$createComponent","Show","when","children","_el$","_$getNextElement","_tmpl$20","_el$50","firstChild","_el$51","_co$0","_$getNextMarker","nextSibling","_el$52","_el$53","_co$1","_el$54","_el$55","_co$10","_el$56","_el$57","_co$11","_el$58","_el$59","_co$12","_el$60","_el$61","_co$13","$$click","$$focusin","_$insert","_$memo","label","type","_el$2","_tmpl$5","_el$7","_el$8","_co$","_el$9","_el$0","_co$2","_el$1","_el$10","_co$3","_el$11","_el$12","_co$4","_el$13","_el$14","_co$5","_el$3","_tmpl$","_$effect","_$setAttribute","required","_tmpl$2","_el$5","_tmpl$3","fieldNotSupported","_tmpl$4","_p$","_v$","_v$2","e","t","_$className","undefined","Switch","Match","_el$15","_tmpl$6","$$input","onChange","currentTarget","value","_v$3","_v$4","_v$5","_v$6","placeholder","_v$7","_v$8","_v$9","minLength","_v$0","maxLength","_v$1","pattern","_v$10","_v$11","_v$12","a","o","i","_$setProperty","n","s","h","r","d","l","u","_$runHydrationEvents","_el$16","_tmpl$7","Number","_v$13","_v$14","_v$15","_v$16","_v$17","_v$18","min","_v$19","max","_v$20","step","_v$21","_v$22","_v$23","_el$17","_tmpl$8","_v$24","_v$25","_v$26","_v$27","_v$28","minDate","_v$29","maxDate","_v$30","_v$31","_v$32","_el$18","_tmpl$9","_v$33","_v$34","_v$35","_v$36","_v$37","_v$38","rows","_v$39","_v$40","_v$41","_v$42","_v$43","multiple","_el$19","_tmpl$1","_el$21","_el$22","_co$6","_el$23","_el$24","_co$7","addEventListener","_el$20","_tmpl$0","For","each","options","option","_el$62","_tmpl$21","_v$44","_v$45","_v$46","_v$47","_v$48","_v$49","_v$50","_el$25","_tmpl$10","_el$26","_el$27","_el$29","_el$30","_co$8","_el$31","_el$32","_co$9","checked","checkboxLabel","_v$51","_v$52","_v$53","_v$54","_v$55","MultiSelectField","baseClass","AutocompleteField","_el$33","_tmpl$11","index","_el$63","_tmpl$22","_el$64","_el$65","_v$74","_v$75","_v$76","_v$56","_v$57","_v$58","_el$34","_tmpl$12","_el$35","_el$36","_v$59","_v$60","_v$61","_v$62","_v$63","_v$64","TagsField","_el$37","_tmpl$13","_el$38","_el$39","_el$40","_v$65","_v$66","_v$67","_v$68","_el$41","_tmpl$14","_el$42","_el$43","helpText","fieldGroupContainer","_el$44","_tmpl$15","_v$69","_v$70","_v$71","_v$72","_v$73","_el$45","_tmpl$16","formatMCPUIString","fieldUnknownType","statusReason","_el$46","_tmpl$17","displayHint","prefill","_el$47","_el$48","_tmpl$18","_el$49","_tmpl$19","open","setOpen","filter","setFilter","toggle","val","current","includes","v","removeChip","getLabel","find","filteredOptions","q","toLowerCase","_el$66","_tmpl$27","_el$81","_el$82","_co$17","_el$68","_el$69","_el$83","_el$84","_co$18","length","_el$67","_tmpl$23","_el$85","_tmpl$28","_el$87","_el$88","_co$19","_el$86","removeItem","_c$","fieldSelectedCount","count","fieldSelectPlaceholder","_el$70","_tmpl$26","_el$79","_el$80","_co$16","_el$73","_el$75","_el$76","_co$14","_el$77","_el$78","_co$15","_el$71","_tmpl$24","_el$72","filterPlaceholder","_el$89","_tmpl$29","_el$90","_el$91","_el$74","_tmpl$25","fieldNoMatches","_v$77","_v$78","_v$79","query","setQuery","suggestions","setSuggestions","isOpen","setIsOpen","selectedLabels","setSelectedLabels","Map","resolving","setResolving","debounceTimer","isMultiple","selectedValues","Array","isArray","minChars","debounceMs","fetchSuggestions","apiUrl","searchParam","params","URLSearchParams","extraParams","k","Object","entries","set","res","fetch","ok","data","json","items","results","features","labelField","valueField","slice","map","item","String","resolvePrefill","prefillValues","resolvedValues","pv","limit","push","code","prev","get","createEffect","values","prefillMode","has","handleInput","currentLabel","setTimeout","selectSuggestion","handleBlur","m","delete","onCleanup","_el$92","_tmpl$32","_el$100","_el$101","_co$21","_el$102","_el$103","_co$22","_el$98","_el$104","_el$105","_co$23","_el$93","_tmpl$30","_el$94","_el$95","_el$96","_co$20","fieldResolving","_el$97","_el$106","_el$108","_el$109","_co$24","_el$107","_el$99","_tmpl$31","isSelected","_el$110","_tmpl$34","_el$112","_el$113","_co$25","_el$114","_el$115","_co$26","$$mousedown","preventDefault","_tmpl$33","_v$83","_v$84","_v$80","fieldAddMorePlaceholder","_v$81","_v$82","input","setInput","addTag","trim","removeTag","tag","handleKeyDown","key","_el$116","_tmpl$35","_el$119","_el$120","_co$27","_el$118","_el$117","_el$121","_el$123","_el$124","_co$28","_el$122","$$keydown","_v$85","fieldTagsPlaceholder","_v$86","_v$87","_$delegateEvents"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"FormFieldRenderer.d.ts","sourceRoot":"","sources":["../../src/components/FormFieldRenderer.tsx"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,SAAS,EAA4B,QAAQ,EAAyC,MAAM,UAAU,CAAA;AAC/G,OAAO,KAAK,EAAE,eAAe,EAAiB,MAAM,UAAU,CAAA;AAI9D,MAAM,WAAW,sBAAsB;IACrC,KAAK,EAAE,eAAe,CAAA;IACtB,KAAK,EAAE,GAAG,CAAA;IACV,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,QAAQ,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,IAAI,CAAA;IAC9B,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB;;OAEG;IACH,QAAQ,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAA;CACzC;AAiBD,eAAO,MAAM,iBAAiB,EAAE,SAAS,CAAC,sBAAsB,CAqV/D,CAAA"}
1
+ {"version":3,"file":"FormFieldRenderer.d.ts","sourceRoot":"","sources":["../../src/components/FormFieldRenderer.tsx"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,SAAS,EAA4B,QAAQ,EAAyC,MAAM,UAAU,CAAA;AAC/G,OAAO,KAAK,EAAE,eAAe,EAAiB,MAAM,UAAU,CAAA;AAI9D,MAAM,WAAW,sBAAsB;IACrC,KAAK,EAAE,eAAe,CAAA;IACtB,KAAK,EAAE,GAAG,CAAA;IACV,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,QAAQ,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,IAAI,CAAA;IAC9B,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB;;OAEG;IACH,QAAQ,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAA;CACzC;AAiBD,eAAO,MAAM,iBAAiB,EAAE,SAAS,CAAC,sBAAsB,CAsV/D,CAAA"}
@@ -3,7 +3,7 @@ import { createSignal, Show, Switch, Match, For, createEffect, onCleanup } from
3
3
  import { useConditionalField } from "../hooks/useConditionalField.js";
4
4
  import { useMCPUIStrings } from "../context/MCPUIStringsContext.js";
5
5
  import { formatMCPUIString } from "../utils/format-string.js";
6
- var _tmpl$ = /* @__PURE__ */ template(`<span class=mr-1>`), _tmpl$2 = /* @__PURE__ */ template(`<span class="text-red-500 ml-1"aria-hidden=true>*`), _tmpl$3 = /* @__PURE__ */ template(`<span class="ml-2 text-[10px] font-medium bg-orange-100 dark:bg-orange-900/30 text-orange-600 dark:text-orange-400 px-1.5 py-0.5 rounded">`), _tmpl$4 = /* @__PURE__ */ template(`<span class="ml-2 text-[10px] font-medium bg-yellow-100 dark:bg-yellow-900/30 text-yellow-600 dark:text-yellow-400 px-1.5 py-0.5 rounded">?`), _tmpl$5 = /* @__PURE__ */ template(`<label><!$><!/><!$><!/><!$><!/><!$><!/><!$><!/>`), _tmpl$6 = /* @__PURE__ */ template(`<input>`), _tmpl$7 = /* @__PURE__ */ template(`<input type=number>`), _tmpl$8 = /* @__PURE__ */ template(`<input type=date>`), _tmpl$9 = /* @__PURE__ */ template(`<textarea>`), _tmpl$0 = /* @__PURE__ */ template(`<option value disabled>`), _tmpl$1 = /* @__PURE__ */ template(`<select><!$><!/><!$><!/>`), _tmpl$10 = /* @__PURE__ */ template(`<label class="flex items-center gap-2 cursor-pointer"><input type=checkbox class="w-4 h-4 rounded border-gray-300 text-blue-600 focus:ring-blue-500 dark:border-gray-600 dark:bg-gray-700"><span class="text-sm text-gray-700 dark:text-gray-300"><!$><!/><!$><!/>`), _tmpl$11 = /* @__PURE__ */ template(`<div class=space-y-2 role=radiogroup>`), _tmpl$12 = /* @__PURE__ */ template(`<div class="flex items-center gap-3"><input type=range class="flex-1 h-2 bg-gray-200 dark:bg-gray-600 rounded-lg appearance-none cursor-pointer accent-blue-600"><span class="text-sm font-mono text-gray-700 dark:text-gray-300 min-w-[3rem] text-right">`), _tmpl$13 = /* @__PURE__ */ template(`<label class="flex items-center gap-2 cursor-pointer"><button type=button role=switch><span></span></button><span class="text-sm text-gray-700 dark:text-gray-300">`), _tmpl$14 = /* @__PURE__ */ template(`<fieldset class="border border-gray-200 dark:border-gray-600 rounded-lg p-3"><legend class="text-xs font-medium text-gray-500 dark:text-gray-400 px-1"></legend><p class="text-xs text-gray-400">`), _tmpl$15 = /* @__PURE__ */ template(`<input type=text>`), _tmpl$16 = /* @__PURE__ */ template(`<p class="text-xs text-amber-500 mt-0.5">`), _tmpl$17 = /* @__PURE__ */ template(`<p>`), _tmpl$18 = /* @__PURE__ */ template(`<p class="text-xs text-gray-500 dark:text-gray-400">`), _tmpl$19 = /* @__PURE__ */ template(`<p role=alert class="text-xs text-red-600 dark:text-red-400">`), _tmpl$20 = /* @__PURE__ */ template(`<div class=space-y-1><!$><!/><!$><!/><!$><!/><!$><!/><!$><!/><!$><!/>`), _tmpl$21 = /* @__PURE__ */ template(`<option>`), _tmpl$22 = /* @__PURE__ */ template(`<label class="flex items-center gap-2 cursor-pointer"><input type=radio class="w-4 h-4 border-gray-300 text-blue-600 focus:ring-blue-500 dark:border-gray-600"><span class="text-sm text-gray-700 dark:text-gray-300">`), _tmpl$23 = /* @__PURE__ */ template(`<div class="flex flex-wrap gap-1 mb-1">`), _tmpl$24 = /* @__PURE__ */ template(`<div class="p-2 border-b border-gray-200 dark:border-gray-600 flex-shrink-0"><input type=text class="w-full px-2 py-1 text-sm border border-gray-200 dark:border-gray-600 rounded bg-white dark:bg-gray-700 text-gray-900 dark:text-white focus:border-blue-400 outline-none"autofocus>`), _tmpl$25 = /* @__PURE__ */ template(`<p class="px-3 py-2 text-sm text-gray-400">`), _tmpl$26 = /* @__PURE__ */ template(`<div class="absolute z-50 mt-1 w-full bg-white dark:bg-gray-800 border border-gray-200 dark:border-gray-600 rounded-md shadow-lg"style=max-height:320px;display:flex;flex-direction:column><!$><!/><div style=overflow-y:auto;flex:1;-webkit-overflow-scrolling:touch><!$><!/><!$><!/>`), _tmpl$27 = /* @__PURE__ */ template(`<div class=relative><!$><!/><button type=button><span></span><svg class="w-4 h-4 text-gray-400"fill=none viewBox="0 0 24 24"stroke=currentColor><path stroke-linecap=round stroke-linejoin=round stroke-width=2 d="M19 9l-7 7-7-7"></path></svg></button><!$><!/>`), _tmpl$28 = /* @__PURE__ */ template(`<span class="inline-flex items-center gap-1 px-2 py-0.5 text-xs font-medium bg-blue-100 dark:bg-blue-900/30 text-blue-700 dark:text-blue-300 rounded-full"><!$><!/><button type=button class="hover:text-blue-900 dark:hover:text-blue-100">&times;`), _tmpl$29 = /* @__PURE__ */ template(`<label class="flex items-center gap-2 px-3 py-2 hover:bg-gray-100 dark:hover:bg-gray-700 cursor-pointer text-sm"><input type=checkbox class="w-4 h-4 rounded border-gray-300 text-blue-600 focus:ring-blue-500 dark:border-gray-600"><span class="text-gray-900 dark:text-white">`), _tmpl$30 = /* @__PURE__ */ template(`<div class="flex items-center gap-1 mb-1 text-xs text-gray-400"><span class="animate-spin h-3 w-3 border border-gray-400 border-t-transparent rounded-full"></span><!$><!/>`), _tmpl$31 = /* @__PURE__ */ template(`<div class="absolute z-20 mt-1 w-full bg-white dark:bg-gray-800 border border-gray-200 dark:border-gray-600 rounded-md shadow-lg max-h-72 overflow-y-auto">`), _tmpl$32 = /* @__PURE__ */ template(`<div class=relative><!$><!/><!$><!/><input type=text autocomplete=off><!$><!/>`), _tmpl$33 = /* @__PURE__ */ template(`<span class="ml-2 text-xs">&#10003;`), _tmpl$34 = /* @__PURE__ */ template(`<button type=button><!$><!/><!$><!/>`), _tmpl$35 = /* @__PURE__ */ template(`<div><!$><!/><input type=text>`);
6
+ var _tmpl$ = /* @__PURE__ */ template(`<span class=mr-1>`), _tmpl$2 = /* @__PURE__ */ template(`<span class="text-[color:var(--mcp-ui-danger,var(--color-red-500))] ml-1"aria-hidden=true>*`), _tmpl$3 = /* @__PURE__ */ template(`<span class="ml-2 text-[10px] font-medium bg-[color:var(--mcp-ui-warning-soft,var(--color-orange-100))] dark:bg-[color:var(--mcp-ui-warning-soft,color-mix(in_oklab,var(--color-orange-900)_30%,transparent))] text-[color:var(--mcp-ui-warning,var(--color-orange-600))] dark:text-[color:var(--mcp-ui-warning,var(--color-orange-400))] px-1.5 py-0.5 rounded">`), _tmpl$4 = /* @__PURE__ */ template(`<span class="ml-2 text-[10px] font-medium bg-[color:var(--mcp-ui-warning-soft,var(--color-yellow-100))] dark:bg-[color:var(--mcp-ui-warning-soft,color-mix(in_oklab,var(--color-yellow-900)_30%,transparent))] text-[color:var(--mcp-ui-warning,var(--color-yellow-600))] dark:text-[color:var(--mcp-ui-warning,var(--color-yellow-400))] px-1.5 py-0.5 rounded">?`), _tmpl$5 = /* @__PURE__ */ template(`<label><!$><!/><!$><!/><!$><!/><!$><!/><!$><!/>`), _tmpl$6 = /* @__PURE__ */ template(`<input>`), _tmpl$7 = /* @__PURE__ */ template(`<input type=number>`), _tmpl$8 = /* @__PURE__ */ template(`<input type=date>`), _tmpl$9 = /* @__PURE__ */ template(`<textarea>`), _tmpl$0 = /* @__PURE__ */ template(`<option value disabled>`), _tmpl$1 = /* @__PURE__ */ template(`<select><!$><!/><!$><!/>`), _tmpl$10 = /* @__PURE__ */ template(`<label class="flex items-center gap-2 cursor-pointer"><input type=checkbox class="w-4 h-4 rounded border-[color:var(--mcp-ui-border-control,var(--color-gray-300,#d1d5db))] text-[color:var(--mcp-ui-accent,var(--color-blue-600))] focus:ring-[color:var(--mcp-ui-focus,var(--color-blue-500))] dark:border-[color:var(--mcp-ui-border-control,var(--color-gray-600,#4b5563))] dark:bg-[color:var(--mcp-ui-surface-muted,var(--color-gray-700,#374151))]"><span class="text-sm text-[color:var(--mcp-ui-fg,var(--color-gray-700,#374151))] dark:text-[color:var(--mcp-ui-fg,var(--color-gray-300,#d1d5db))]"><!$><!/><!$><!/>`), _tmpl$11 = /* @__PURE__ */ template(`<div class=space-y-2 role=radiogroup>`), _tmpl$12 = /* @__PURE__ */ template(`<div class="flex items-center gap-3"><input type=range class="flex-1 h-2 bg-[color:var(--mcp-ui-surface-muted,var(--color-gray-200,#e5e7eb))] dark:bg-[color:var(--mcp-ui-surface-muted,var(--color-gray-600,#4b5563))] rounded-lg appearance-none cursor-pointer accent-[color:var(--mcp-ui-accent,var(--color-blue-600))]"><span class="text-sm font-mono text-[color:var(--mcp-ui-fg,var(--color-gray-700,#374151))] dark:text-[color:var(--mcp-ui-fg,var(--color-gray-300,#d1d5db))] min-w-[3rem] text-right">`), _tmpl$13 = /* @__PURE__ */ template(`<label class="flex items-center gap-2 cursor-pointer"><button type=button role=switch><span></span></button><span class="text-sm text-[color:var(--mcp-ui-fg,var(--color-gray-700,#374151))] dark:text-[color:var(--mcp-ui-fg,var(--color-gray-300,#d1d5db))]">`), _tmpl$14 = /* @__PURE__ */ template(`<fieldset class="border border-[color:var(--mcp-ui-border-control,var(--color-gray-200,#e5e7eb))] dark:border-[color:var(--mcp-ui-border-control,var(--color-gray-600,#4b5563))] rounded-lg p-3"><legend class="text-xs font-medium text-[color:var(--mcp-ui-fg-muted,var(--color-gray-500,#6b7280))] dark:text-[color:var(--mcp-ui-fg-subtle,var(--color-gray-400,#9ca3af))] px-1"></legend><p class="text-xs text-[color:var(--mcp-ui-fg-subtle,var(--color-gray-400,#9ca3af))]">`), _tmpl$15 = /* @__PURE__ */ template(`<input type=text>`), _tmpl$16 = /* @__PURE__ */ template(`<p class="text-xs text-[color:var(--mcp-ui-warning,var(--color-amber-500))] mt-0.5">`), _tmpl$17 = /* @__PURE__ */ template(`<p>`), _tmpl$18 = /* @__PURE__ */ template(`<p class="text-xs text-[color:var(--mcp-ui-fg-muted,var(--color-gray-500,#6b7280))] dark:text-[color:var(--mcp-ui-fg-subtle,var(--color-gray-400,#9ca3af))]">`), _tmpl$19 = /* @__PURE__ */ template(`<p role=alert class="text-xs text-[color:var(--mcp-ui-danger,var(--color-red-600))] dark:text-[color:var(--mcp-ui-danger,var(--color-red-400))]">`), _tmpl$20 = /* @__PURE__ */ template(`<div class=space-y-1><!$><!/><!$><!/><!$><!/><!$><!/><!$><!/><!$><!/>`), _tmpl$21 = /* @__PURE__ */ template(`<option>`), _tmpl$22 = /* @__PURE__ */ template(`<label class="flex items-center gap-2 cursor-pointer"><input type=radio class="w-4 h-4 border-[color:var(--mcp-ui-border-control,var(--color-gray-300,#d1d5db))] text-[color:var(--mcp-ui-accent,var(--color-blue-600))] focus:ring-[color:var(--mcp-ui-focus,var(--color-blue-500))] dark:border-[color:var(--mcp-ui-border-control,var(--color-gray-600,#4b5563))]"><span class="text-sm text-[color:var(--mcp-ui-fg,var(--color-gray-700,#374151))] dark:text-[color:var(--mcp-ui-fg,var(--color-gray-300,#d1d5db))]">`), _tmpl$23 = /* @__PURE__ */ template(`<div class="flex flex-wrap gap-1 mb-1">`), _tmpl$24 = /* @__PURE__ */ template(`<div class="p-2 border-b border-[color:var(--mcp-ui-border-control,var(--color-gray-200,#e5e7eb))] dark:border-[color:var(--mcp-ui-border-control,var(--color-gray-600,#4b5563))] flex-shrink-0"><input type=text class="w-full px-2 py-1 text-sm border border-[color:var(--mcp-ui-border-control,var(--color-gray-200,#e5e7eb))] dark:border-[color:var(--mcp-ui-border-control,var(--color-gray-600,#4b5563))] rounded bg-[color:var(--mcp-ui-surface,var(--color-white,#fff))] dark:bg-[color:var(--mcp-ui-surface-muted,var(--color-gray-700,#374151))] text-[color:var(--mcp-ui-fg,var(--color-gray-900,#111827))] dark:text-[color:var(--mcp-ui-fg,var(--color-white,#fff))] focus:border-[color:var(--mcp-ui-focus,var(--color-blue-400))] outline-none"autofocus>`), _tmpl$25 = /* @__PURE__ */ template(`<p class="px-3 py-2 text-sm text-[color:var(--mcp-ui-fg-subtle,var(--color-gray-400,#9ca3af))]">`), _tmpl$26 = /* @__PURE__ */ template(`<div class="absolute z-50 mt-1 w-full bg-[color:var(--mcp-ui-surface,var(--color-white,#fff))] dark:bg-[color:var(--mcp-ui-surface,var(--color-gray-800,#1f2937))] border border-[color:var(--mcp-ui-border-control,var(--color-gray-200,#e5e7eb))] dark:border-[color:var(--mcp-ui-border-control,var(--color-gray-600,#4b5563))] rounded-md shadow-[var(--mcp-ui-shadow,var(--shadow-lg))]"style=max-height:320px;display:flex;flex-direction:column><!$><!/><div style=overflow-y:auto;flex:1;-webkit-overflow-scrolling:touch><!$><!/><!$><!/>`), _tmpl$27 = /* @__PURE__ */ template(`<div class=relative><!$><!/><button type=button><span></span><svg class="w-4 h-4 text-[color:var(--mcp-ui-fg-subtle,var(--color-gray-400,#9ca3af))]"fill=none viewBox="0 0 24 24"stroke=currentColor><path stroke-linecap=round stroke-linejoin=round stroke-width=2 d="M19 9l-7 7-7-7"></path></svg></button><!$><!/>`), _tmpl$28 = /* @__PURE__ */ template(`<span class="inline-flex items-center gap-1 px-2 py-0.5 text-xs font-medium bg-[color:var(--mcp-ui-accent-soft,var(--color-blue-100))] dark:bg-[color:var(--mcp-ui-accent-soft,color-mix(in_oklab,var(--color-blue-900)_30%,transparent))] text-[color:var(--mcp-ui-accent,var(--color-blue-700))] dark:text-[color:var(--mcp-ui-accent,var(--color-blue-300))] rounded-full"><!$><!/><button type=button class="hover:text-[color:var(--mcp-ui-accent,var(--color-blue-900))] dark:hover:text-[color:var(--mcp-ui-accent,var(--color-blue-100))]">&times;`), _tmpl$29 = /* @__PURE__ */ template(`<label class="flex items-center gap-2 px-3 py-2 hover:bg-[color:var(--mcp-ui-surface-hover,var(--color-gray-100,#f3f4f6))] dark:hover:bg-[color:var(--mcp-ui-surface-hover,var(--color-gray-700,#374151))] cursor-pointer text-sm"><input type=checkbox class="w-4 h-4 rounded border-[color:var(--mcp-ui-border-control,var(--color-gray-300,#d1d5db))] text-[color:var(--mcp-ui-accent,var(--color-blue-600))] focus:ring-[color:var(--mcp-ui-focus,var(--color-blue-500))] dark:border-[color:var(--mcp-ui-border-control,var(--color-gray-600,#4b5563))]"><span class="text-[color:var(--mcp-ui-fg,var(--color-gray-900,#111827))] dark:text-[color:var(--mcp-ui-fg,var(--color-white,#fff))]">`), _tmpl$30 = /* @__PURE__ */ template(`<div class="flex items-center gap-1 mb-1 text-xs text-[color:var(--mcp-ui-fg-subtle,var(--color-gray-400,#9ca3af))]"><span class="animate-spin h-3 w-3 border border-[color:var(--mcp-ui-border-control,var(--color-gray-400,#9ca3af))] border-t-transparent rounded-full"></span><!$><!/>`), _tmpl$31 = /* @__PURE__ */ template(`<div class="absolute z-20 mt-1 w-full bg-[color:var(--mcp-ui-surface,var(--color-white,#fff))] dark:bg-[color:var(--mcp-ui-surface,var(--color-gray-800,#1f2937))] border border-[color:var(--mcp-ui-border-control,var(--color-gray-200,#e5e7eb))] dark:border-[color:var(--mcp-ui-border-control,var(--color-gray-600,#4b5563))] rounded-md shadow-[var(--mcp-ui-shadow,var(--shadow-lg))] max-h-72 overflow-y-auto">`), _tmpl$32 = /* @__PURE__ */ template(`<div class=relative><!$><!/><!$><!/><input type=text autocomplete=off><!$><!/>`), _tmpl$33 = /* @__PURE__ */ template(`<span class="ml-2 text-xs">&#10003;`), _tmpl$34 = /* @__PURE__ */ template(`<button type=button><!$><!/><!$><!/>`), _tmpl$35 = /* @__PURE__ */ template(`<div><!$><!/><input type=text>`);
7
7
  const SOURCE_BADGES = {
8
8
  detected: {
9
9
  icon: "✅",
@@ -41,12 +41,13 @@ const FormFieldRenderer = (props) => {
41
41
  };
42
42
  const baseInputClass = () => `
43
43
  w-full px-3 py-2 border rounded-md
44
- focus:ring-2 focus:ring-blue-500 focus:border-blue-500
45
- disabled:bg-gray-100 disabled:cursor-not-allowed
46
- ${props.error ? "border-red-500 focus:ring-red-500" : "border-gray-300 dark:border-gray-600"}
47
- dark:bg-gray-700 dark:text-white
44
+ ${!isMuted() ? "text-[color:var(--mcp-ui-fg,inherit)]" : ""}
45
+ focus:ring-2 focus:ring-[color:var(--mcp-ui-focus,var(--color-blue-500))] focus:border-[color:var(--mcp-ui-focus,var(--color-blue-500))]
46
+ disabled:bg-[color:var(--mcp-ui-surface-muted,var(--color-gray-100,#f3f4f6))] disabled:cursor-not-allowed
47
+ ${props.error ? "border-[color:var(--mcp-ui-danger-border,var(--color-red-500))] focus:ring-[color:var(--mcp-ui-focus,var(--color-red-500))]" : "border-[color:var(--mcp-ui-border-control,var(--color-gray-300,#d1d5db))] dark:border-[color:var(--mcp-ui-border-control,var(--color-gray-600,#4b5563))]"}
48
+ dark:bg-[color:var(--mcp-ui-surface-muted,var(--color-gray-700,#374151))] dark:text-[color:var(--mcp-ui-fg,var(--color-white,#fff))]
48
49
  ${isUnsupported() ? "opacity-50" : ""}
49
- ${isMuted() ? "bg-gray-50 dark:bg-gray-700/50 text-gray-500 dark:text-gray-400" : ""}
50
+ ${isMuted() ? "bg-[color:var(--mcp-ui-surface-muted,var(--color-gray-50,#f9fafb))] dark:bg-[color:var(--mcp-ui-surface-muted,color-mix(in_oklab,var(--color-gray-700,#374151)_50%,transparent))] text-[color:var(--mcp-ui-fg-muted,var(--color-gray-500,#6b7280))] dark:text-[color:var(--mcp-ui-fg-subtle,var(--color-gray-400,#9ca3af))]" : ""}
50
51
  `;
51
52
  const fieldId = () => `field-${props.field.name}`;
52
53
  const errorId = () => `${props.field.name}-error`;
@@ -103,7 +104,7 @@ const FormFieldRenderer = (props) => {
103
104
  }
104
105
  }), _el$14, _co$5);
105
106
  effect((_p$) => {
106
- var _v$ = fieldId(), _v$2 = `block text-sm font-medium ${isUnsupported() ? "text-gray-400 dark:text-gray-500" : isMuted() ? "text-gray-400 dark:text-gray-500" : "text-gray-700 dark:text-gray-300"}`;
107
+ var _v$ = fieldId(), _v$2 = `block text-sm font-medium ${isUnsupported() ? "text-[color:var(--mcp-ui-fg-subtle,var(--color-gray-400,#9ca3af))] dark:text-[color:var(--mcp-ui-fg-muted,var(--color-gray-500,#6b7280))]" : isMuted() ? "text-[color:var(--mcp-ui-fg-subtle,var(--color-gray-400,#9ca3af))] dark:text-[color:var(--mcp-ui-fg-muted,var(--color-gray-500,#6b7280))]" : "text-[color:var(--mcp-ui-fg,var(--color-gray-700,#374151))] dark:text-[color:var(--mcp-ui-fg,var(--color-gray-300,#d1d5db))]"}`;
107
108
  _v$ !== _p$.e && setAttribute(_el$2, "for", _p$.e = _v$);
108
109
  _v$2 !== _p$.t && className(_el$2, _p$.t = _v$2);
109
110
  return _p$;
@@ -501,7 +502,7 @@ const FormFieldRenderer = (props) => {
501
502
  _el$38.$$click = () => props.onChange(!props.value);
502
503
  insert(_el$40, () => props.field.checkboxLabel || props.field.label);
503
504
  effect((_p$) => {
504
- var _v$65 = !!props.value, _v$66 = isFieldDisabled(), _v$67 = `relative inline-flex h-5 w-9 items-center rounded-full transition-colors ${props.value ? "bg-blue-600" : "bg-gray-300 dark:bg-gray-600"} ${isFieldDisabled() ? "opacity-50 cursor-not-allowed" : ""}`, _v$68 = `inline-block h-3.5 w-3.5 transform rounded-full bg-white transition-transform ${props.value ? "translate-x-4" : "translate-x-0.5"}`;
505
+ var _v$65 = !!props.value, _v$66 = isFieldDisabled(), _v$67 = `relative inline-flex h-5 w-9 items-center rounded-full transition-colors ${props.value ? "bg-[color:var(--mcp-ui-accent,var(--color-blue-600))]" : "bg-[color:var(--mcp-ui-surface-muted,var(--color-gray-300,#d1d5db))] dark:bg-[color:var(--mcp-ui-surface-muted,var(--color-gray-600,#4b5563))]"} ${isFieldDisabled() ? "opacity-50 cursor-not-allowed" : ""}`, _v$68 = `inline-block h-3.5 w-3.5 transform rounded-full bg-[color:var(--mcp-ui-surface,var(--color-white,#fff))] transition-transform ${props.value ? "translate-x-4" : "translate-x-0.5"}`;
505
506
  _v$65 !== _p$.e && setAttribute(_el$38, "aria-checked", _p$.e = _v$65);
506
507
  _v$66 !== _p$.t && setProperty(_el$38, "disabled", _p$.t = _v$66);
507
508
  _v$67 !== _p$.a && className(_el$38, _p$.a = _v$67);
@@ -568,7 +569,7 @@ const FormFieldRenderer = (props) => {
568
569
  get children() {
569
570
  var _el$46 = getNextElement(_tmpl$17);
570
571
  insert(_el$46, () => props.field.statusReason);
571
- effect(() => className(_el$46, `text-xs ${isUnsupported() ? "text-orange-500 dark:text-orange-400" : status() === "unknown" ? "text-yellow-500 dark:text-yellow-400" : status() === "required" ? "text-blue-500 dark:text-blue-400" : "text-gray-500 dark:text-gray-400"}`));
572
+ effect(() => className(_el$46, `text-xs ${isUnsupported() ? "text-[color:var(--mcp-ui-warning,var(--color-orange-500))] dark:text-[color:var(--mcp-ui-warning,var(--color-orange-400))]" : status() === "unknown" ? "text-[color:var(--mcp-ui-warning,var(--color-yellow-500))] dark:text-[color:var(--mcp-ui-warning,var(--color-yellow-400))]" : status() === "required" ? "text-[color:var(--mcp-ui-accent,var(--color-blue-500))] dark:text-[color:var(--mcp-ui-accent,var(--color-blue-400))]" : "text-[color:var(--mcp-ui-fg-muted,var(--color-gray-500,#6b7280))] dark:text-[color:var(--mcp-ui-fg-subtle,var(--color-gray-400,#9ca3af))]"}`));
572
573
  return _el$46;
573
574
  }
574
575
  }), _el$55, _co$10);
@@ -579,7 +580,7 @@ const FormFieldRenderer = (props) => {
579
580
  get children() {
580
581
  var _el$47 = getNextElement(_tmpl$17);
581
582
  insert(_el$47, () => props.field.displayHint);
582
- effect(() => className(_el$47, `text-xs italic ${isMuted() ? "text-gray-400 dark:text-gray-500" : "text-gray-500 dark:text-gray-400"}`));
583
+ effect(() => className(_el$47, `text-xs italic ${isMuted() ? "text-[color:var(--mcp-ui-fg-subtle,var(--color-gray-400,#9ca3af))] dark:text-[color:var(--mcp-ui-fg-muted,var(--color-gray-500,#6b7280))]" : "text-[color:var(--mcp-ui-fg-muted,var(--color-gray-500,#6b7280))] dark:text-[color:var(--mcp-ui-fg-subtle,var(--color-gray-400,#9ca3af))]"}`));
583
584
  return _el$47;
584
585
  }
585
586
  }), _el$57, _co$11);
@@ -715,7 +716,7 @@ const MultiSelectField = (props) => {
715
716
  }
716
717
  }), _el$84, _co$18);
717
718
  effect((_p$) => {
718
- var _v$77 = props.disabled, _v$78 = `${props.baseClass} text-left flex items-center justify-between`, _v$79 = props.value.length ? "text-gray-900 dark:text-white" : "text-gray-400";
719
+ var _v$77 = props.disabled, _v$78 = `${props.baseClass} text-left flex items-center justify-between`, _v$79 = props.value.length ? "text-[color:var(--mcp-ui-fg,var(--color-gray-900,#111827))] dark:text-[color:var(--mcp-ui-fg,var(--color-white,#fff))]" : "text-[color:var(--mcp-ui-fg-subtle,var(--color-gray-400,#9ca3af))]";
719
720
  _v$77 !== _p$.e && setProperty(_el$68, "disabled", _p$.e = _v$77);
720
721
  _v$78 !== _p$.t && className(_el$68, _p$.t = _v$78);
721
722
  _v$79 !== _p$.a && className(_el$69, _p$.a = _v$79);
@@ -951,7 +952,7 @@ const AutocompleteField = (props) => {
951
952
  }
952
953
  }), _el$115, _co$26);
953
954
  effect((_p$) => {
954
- var _v$83 = `w-full text-left px-3 py-2 text-sm hover:bg-blue-50 dark:hover:bg-blue-900/20 ${isSelected() ? "text-blue-600 dark:text-blue-400 bg-blue-50/50 dark:bg-blue-900/10" : "text-gray-900 dark:text-white"}`, _v$84 = isSelected();
955
+ var _v$83 = `w-full text-left px-3 py-2 text-sm hover:bg-[color:var(--mcp-ui-accent-soft,var(--color-blue-50))] dark:hover:bg-[color:var(--mcp-ui-accent-soft,color-mix(in_oklab,var(--color-blue-900)_20%,transparent))] ${isSelected() ? "text-[color:var(--mcp-ui-accent,var(--color-blue-600))] dark:text-[color:var(--mcp-ui-accent,var(--color-blue-400))] bg-[color:var(--mcp-ui-accent-soft,color-mix(in_oklab,var(--color-blue-50)_50%,transparent))] dark:bg-[color:var(--mcp-ui-accent-soft,color-mix(in_oklab,var(--color-blue-900)_10%,transparent))]" : "text-[color:var(--mcp-ui-fg,var(--color-gray-900,#111827))] dark:text-[color:var(--mcp-ui-fg,var(--color-white,#fff))]"}`, _v$84 = isSelected();
955
956
  _v$83 !== _p$.e && className(_el$110, _p$.e = _v$83);
956
957
  _v$84 !== _p$.t && setProperty(_el$110, "disabled", _p$.t = _v$84);
957
958
  return _p$;