@papernote/ui 1.7.4 → 1.7.6
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.
- package/dist/components/Autocomplete.d.ts.map +1 -1
- package/dist/components/FormWizard.d.ts.map +1 -1
- package/dist/index.esm.js +20 -3
- package/dist/index.esm.js.map +1 -1
- package/dist/index.js +20 -3
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
- package/src/components/Autocomplete.tsx +14 -1
- package/src/components/FormWizard.tsx +5 -2
package/package.json
CHANGED
|
@@ -97,10 +97,13 @@ const Autocomplete = forwardRef<AutocompleteHandle, AutocompleteProps>(({
|
|
|
97
97
|
const results = await onSearch(query);
|
|
98
98
|
setFilteredOptions(results.slice(0, maxResults));
|
|
99
99
|
setIsOpen(results.length > 0);
|
|
100
|
+
// Auto-highlight first result for keyboard navigation
|
|
101
|
+
setHighlightedIndex(results.length > 0 ? 0 : -1);
|
|
100
102
|
} catch (err) {
|
|
101
103
|
console.error('Autocomplete search error:', err);
|
|
102
104
|
setFilteredOptions([]);
|
|
103
105
|
setIsOpen(false);
|
|
106
|
+
setHighlightedIndex(-1);
|
|
104
107
|
} finally {
|
|
105
108
|
setLoading(false);
|
|
106
109
|
}
|
|
@@ -109,6 +112,8 @@ const Autocomplete = forwardRef<AutocompleteHandle, AutocompleteProps>(({
|
|
|
109
112
|
const filtered = filterOptions(query);
|
|
110
113
|
setFilteredOptions(filtered);
|
|
111
114
|
setIsOpen(filtered.length > 0);
|
|
115
|
+
// Auto-highlight first result for keyboard navigation
|
|
116
|
+
setHighlightedIndex(filtered.length > 0 ? 0 : -1);
|
|
112
117
|
}
|
|
113
118
|
};
|
|
114
119
|
|
|
@@ -151,7 +156,15 @@ const Autocomplete = forwardRef<AutocompleteHandle, AutocompleteProps>(({
|
|
|
151
156
|
const handleKeyDown = (e: React.KeyboardEvent) => {
|
|
152
157
|
if (!isOpen) {
|
|
153
158
|
if (e.key === 'ArrowDown') {
|
|
154
|
-
|
|
159
|
+
e.preventDefault();
|
|
160
|
+
// If we have cached results from a previous search, show them
|
|
161
|
+
if (filteredOptions.length > 0) {
|
|
162
|
+
setIsOpen(true);
|
|
163
|
+
setHighlightedIndex(0);
|
|
164
|
+
} else if (value.length >= minChars) {
|
|
165
|
+
// Otherwise trigger a new search
|
|
166
|
+
handleSearch(value);
|
|
167
|
+
}
|
|
155
168
|
}
|
|
156
169
|
return;
|
|
157
170
|
}
|
|
@@ -68,8 +68,11 @@ export default function FormWizard({
|
|
|
68
68
|
setIsSubmitting(false);
|
|
69
69
|
}
|
|
70
70
|
} else {
|
|
71
|
-
//
|
|
72
|
-
|
|
71
|
+
// Advance to next step directly (don't use goToStep which checks completedSteps
|
|
72
|
+
// before React has re-rendered with the updated state)
|
|
73
|
+
const nextStepIndex = currentStep + 1;
|
|
74
|
+
setCurrentStep(nextStepIndex);
|
|
75
|
+
onStepChange?.(nextStepIndex);
|
|
73
76
|
}
|
|
74
77
|
};
|
|
75
78
|
|