@seed-ship/mcp-ui-solid 4.2.2 → 4.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -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'\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/** Badge config by prefill source */\nconst SOURCE_BADGES: Record<PrefillSource, { icon: string; title: string } | null> = {\n detected: { icon: '\\u2705', title: 'Detected from message' },\n inferred: { icon: '\\uD83D\\uDD17', title: 'Inferred from context' },\n user: { icon: '\\u270F\\uFE0F', title: 'Previously provided' },\n default: null,\n}\n\nexport const FormFieldRenderer: Component<FormFieldRendererProps> = (props) => {\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={sourceBadge()!.title}>{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\">Not supported</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 || 'Group container'}</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\">Unknown field type: {props.field.type}</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 [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={`Remove ${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 ? `${props.value.length} selected`\n : props.field.placeholder || 'Select...'}\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=\"Filter...\"\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\">No matches</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 [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 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 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 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 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 {/* 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={`Remove ${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={() => setTimeout(() => setIsOpen(false), 200)}\n placeholder={isMultiple() && selectedValues().length\n ? 'Add more...'\n : props.field.placeholder}\n disabled={props.disabled}\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 [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={`Remove ${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 || 'Type and press Enter...'}\n disabled={props.disabled}\n class={props.baseClass}\n />\n </div>\n )\n}\n"],"names":["SOURCE_BADGES","detected","icon","title","inferred","user","default","FormFieldRenderer","props","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$53","firstChild","_el$54","_co$1","_$getNextMarker","nextSibling","_el$55","_el$56","_co$10","_el$57","_el$58","_co$11","_el$59","_el$60","_co$12","_el$61","_el$62","_co$13","_el$63","_el$64","_co$14","$$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","_tmpl$3","_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$65","_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$66","_tmpl$22","_el$67","_el$68","_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","_el$44","_tmpl$15","_v$69","_v$70","_v$71","_v$72","_v$73","_el$45","_tmpl$16","_el$46","_el$47","_el$48","_co$0","statusReason","_el$49","_tmpl$17","displayHint","prefill","_el$50","_el$51","_tmpl$18","_el$52","_tmpl$19","open","setOpen","filter","setFilter","toggle","val","current","includes","v","removeChip","getLabel","find","filteredOptions","q","toLowerCase","_el$69","_tmpl$27","_el$84","_el$85","_co$18","_el$71","_el$72","_el$86","_el$87","_co$19","length","_el$70","_tmpl$23","_el$88","_tmpl$28","_el$90","_el$91","_co$20","_el$89","_c$","_el$73","_tmpl$26","_el$82","_el$83","_co$17","_el$76","_el$78","_el$79","_co$15","_el$80","_el$81","_co$16","_el$74","_tmpl$24","_el$75","_el$92","_tmpl$29","_el$93","_el$94","_tmpl$25","_v$77","_v$78","_v$79","query","setQuery","suggestions","setSuggestions","isOpen","setIsOpen","selectedLabels","setSelectedLabels","Map","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","handleInput","currentLabel","get","setTimeout","selectSuggestion","prev","m","delete","onCleanup","_el$95","_tmpl$31","_el$99","_el$100","_co$21","_el$97","_el$101","_el$102","_co$22","_el$96","_el$103","_el$105","_el$106","_co$23","_el$104","_el$98","_tmpl$30","isSelected","_el$107","_tmpl$33","_el$109","_el$110","_co$24","_el$111","_el$112","_co$25","$$mousedown","preventDefault","_tmpl$32","_v$83","_v$84","_v$80","_v$81","_v$82","input","setInput","addTag","trim","removeTag","tag","handleKeyDown","key","_el$113","_tmpl$34","_el$116","_el$117","_co$26","_el$115","_el$114","_el$118","_el$120","_el$121","_co$27","_el$119","$$keydown","_v$85","_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'\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/** Badge config by prefill source */\nconst SOURCE_BADGES: Record<PrefillSource, { icon: string; title: string } | null> = {\n detected: { icon: '\\u2705', title: 'Detected from message' },\n inferred: { icon: '\\uD83D\\uDD17', title: 'Inferred from context' },\n user: { icon: '\\u270F\\uFE0F', title: 'Previously provided' },\n default: null,\n}\n\nexport const FormFieldRenderer: Component<FormFieldRendererProps> = (props) => {\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={sourceBadge()!.title}>{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\">Not supported</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 || 'Group container'}</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\">Unknown field type: {props.field.type}</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 [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={`Remove ${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 ? `${props.value.length} selected`\n : props.field.placeholder || 'Select...'}\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=\"Filter...\"\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\">No matches</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 [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 Resolving...\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={`Remove ${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 ? 'Add more...'\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 [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={`Remove ${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 || 'Type and press Enter...'}\n disabled={props.disabled}\n class={props.baseClass}\n />\n </div>\n )\n}\n"],"names":["SOURCE_BADGES","detected","icon","title","inferred","user","default","FormFieldRenderer","props","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$53","firstChild","_el$54","_co$1","_$getNextMarker","nextSibling","_el$55","_el$56","_co$10","_el$57","_el$58","_co$11","_el$59","_el$60","_co$12","_el$61","_el$62","_co$13","_el$63","_el$64","_co$14","$$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","_tmpl$3","_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$65","_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$66","_tmpl$22","_el$67","_el$68","_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","_el$44","_tmpl$15","_v$69","_v$70","_v$71","_v$72","_v$73","_el$45","_tmpl$16","_el$46","_el$47","_el$48","_co$0","statusReason","_el$49","_tmpl$17","displayHint","prefill","_el$50","_el$51","_tmpl$18","_el$52","_tmpl$19","open","setOpen","filter","setFilter","toggle","val","current","includes","v","removeChip","getLabel","find","filteredOptions","q","toLowerCase","_el$69","_tmpl$27","_el$84","_el$85","_co$18","_el$71","_el$72","_el$86","_el$87","_co$19","length","_el$70","_tmpl$23","_el$88","_tmpl$28","_el$90","_el$91","_co$20","_el$89","_c$","_el$73","_tmpl$26","_el$82","_el$83","_co$17","_el$76","_el$78","_el$79","_co$15","_el$80","_el$81","_co$16","_el$74","_tmpl$24","_el$75","_el$92","_tmpl$29","_el$93","_el$94","_tmpl$25","_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$95","_tmpl$32","_el$100","_el$101","_co$21","_el$102","_el$103","_co$22","_el$98","_el$104","_el$105","_co$23","_tmpl$30","_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","_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","_v$86","_v$87","_$delegateEvents"],"mappings":"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"}