@designbasekorea/ui 0.1.45 → 0.1.46
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/index.css +1 -1
- package/dist/index.css.map +1 -1
- package/dist/index.esm.css +1 -1
- package/dist/index.esm.css.map +1 -1
- package/dist/index.esm.js +9 -4
- package/dist/index.esm.js.map +1 -1
- package/dist/index.js +9 -4
- package/dist/index.js.map +1 -1
- package/dist/index.umd.css +1 -1
- package/dist/index.umd.css.map +1 -1
- package/dist/index.umd.js +9 -4
- package/dist/index.umd.js.map +1 -1
- package/package.json +1 -1
package/dist/index.esm.js
CHANGED
|
@@ -8380,9 +8380,9 @@ const SearchBar = ({ value, defaultValue = '', placeholder = '검색...', size =
|
|
|
8380
8380
|
}
|
|
8381
8381
|
}
|
|
8382
8382
|
}, [enableRecentSearches, recentSearchesKey]);
|
|
8383
|
-
// 추천 검색어 롤링 (
|
|
8383
|
+
// 추천 검색어 롤링 (value가 없을 때만)
|
|
8384
8384
|
useEffect(() => {
|
|
8385
|
-
if (suggestedSearches.length > 0 && !currentValue) {
|
|
8385
|
+
if (suggestedSearches.length > 0 && !currentValue && currentValue === '') {
|
|
8386
8386
|
suggestionIntervalRef.current = setInterval(() => {
|
|
8387
8387
|
setCurrentSuggestion(prev => (prev + 1) % suggestedSearches.length);
|
|
8388
8388
|
}, suggestionRollingInterval);
|
|
@@ -8481,6 +8481,11 @@ const SearchBar = ({ value, defaultValue = '', placeholder = '검색...', size =
|
|
|
8481
8481
|
const handleSuggestionClick = (suggestion) => {
|
|
8482
8482
|
setInternalValue(suggestion);
|
|
8483
8483
|
onChange?.(suggestion);
|
|
8484
|
+
// 롤링 중단
|
|
8485
|
+
if (suggestionIntervalRef.current) {
|
|
8486
|
+
clearInterval(suggestionIntervalRef.current);
|
|
8487
|
+
suggestionIntervalRef.current = null;
|
|
8488
|
+
}
|
|
8484
8489
|
handleSearch(suggestion);
|
|
8485
8490
|
};
|
|
8486
8491
|
const classes = clsx('designbase-search-bar', `designbase-search-bar--${size}`, `designbase-search-bar--${variant}`, {
|
|
@@ -8493,8 +8498,8 @@ const SearchBar = ({ value, defaultValue = '', placeholder = '검색...', size =
|
|
|
8493
8498
|
'designbase-search-bar__input--disabled': disabled,
|
|
8494
8499
|
'designbase-search-bar__input--readonly': readOnly,
|
|
8495
8500
|
});
|
|
8496
|
-
// 현재 플레이스홀더 (추천
|
|
8497
|
-
const currentPlaceholder = suggestedSearches.length > 0 && !currentValue
|
|
8501
|
+
// 현재 플레이스홀더 (value가 없을 때만 추천 검색어 롤링)
|
|
8502
|
+
const currentPlaceholder = suggestedSearches.length > 0 && !currentValue && currentValue === ''
|
|
8498
8503
|
? suggestedSearches[currentSuggestion]
|
|
8499
8504
|
: placeholder;
|
|
8500
8505
|
return (jsxs("div", { className: classes, role: "search", children: [jsxs("div", { className: "designbase-search-bar__container", children: [jsx("div", { className: "designbase-search-bar__search-icon", children: jsx(SearchIconComponent, { size: size === 's' ? 16 : size === 'l' ? 24 : 20 }) }), jsx("input", { ref: inputRef, type: "text", className: inputClasses, value: currentValue, placeholder: currentPlaceholder, disabled: disabled, readOnly: readOnly, onChange: handleChange, onFocus: handleFocus, onBlur: handleBlur, onKeyDown: handleKeyDown, "aria-label": "\uAC80\uC0C9\uC5B4 \uC785\uB825", ...props }), currentValue && currentValue.length > 0 && !disabled && !readOnly && (jsx("button", { type: "button", className: "designbase-search-bar__clear-button", onClick: handleClear, "aria-label": "\uAC80\uC0C9\uC5B4 \uC9C0\uC6B0\uAE30", children: jsx(ClearIconComponent, { size: size === 's' ? 16 : size === 'l' ? 24 : 20 }) }))] }), showRecentSearches && recentSearches.length > 0 && (jsxs("div", { className: "designbase-search-bar__recent-searches", children: [jsxs("div", { className: "designbase-search-bar__recent-header", children: [jsx("span", { className: "designbase-search-bar__recent-title", children: "\uCD5C\uADFC \uAC80\uC0C9\uC5B4" }), jsx("button", { type: "button", className: "designbase-search-bar__clear-all-button", onClick: handleClearAllRecentSearches, "aria-label": "\uBAA8\uB4E0 \uCD5C\uADFC \uAC80\uC0C9\uC5B4 \uC0AD\uC81C", children: "\uC804\uCCB4 \uC0AD\uC81C" })] }), jsx("div", { className: "designbase-search-bar__recent-list", children: recentSearches.map((searchTerm, index) => (jsxs("div", { className: "designbase-search-bar__recent-item", children: [jsx("button", { type: "button", className: "designbase-search-bar__recent-search-button", onClick: () => handleRecentSearchClick(searchTerm), children: searchTerm }), jsx("button", { type: "button", className: "designbase-search-bar__recent-remove-button", onClick: () => handleRemoveRecentSearch(searchTerm), "aria-label": `${searchTerm} 삭제`, children: jsx(CloseIcon, { size: 16 }) })] }, index))) })] })), suggestedSearches.length > 0 && isFocused && !currentValue && (jsxs("div", { className: "designbase-search-bar__suggestions", children: [jsx("div", { className: "designbase-search-bar__suggestions-header", children: jsx("span", { className: "designbase-search-bar__suggestions-title", children: "\uCD94\uCC9C \uAC80\uC0C9\uC5B4" }) }), jsx("div", { className: "designbase-search-bar__suggestions-list", children: suggestedSearches.map((suggestion, index) => (jsx("button", { type: "button", className: clsx('designbase-search-bar__suggestion-item', {
|