@uniai-fe/uds-templates 0.3.4 → 0.3.5

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@uniai-fe/uds-templates",
3
- "version": "0.3.4",
3
+ "version": "0.3.5",
4
4
  "description": "UNIAI Design System; UI Templates Package",
5
5
  "type": "module",
6
6
  "private": false,
@@ -42,6 +42,10 @@ export default function PageHeaderSettingButton({
42
42
  );
43
43
  const pathname = usePathname();
44
44
  const resolvedPath = pathname ?? "";
45
+ const closestRoute = useMemo(
46
+ () => getClosestRoute(menuItems, resolvedPath),
47
+ [menuItems, resolvedPath],
48
+ );
45
49
 
46
50
  const dropdownItems: DropdownTemplateItem[] = useMemo(
47
51
  () =>
@@ -49,19 +53,12 @@ export default function PageHeaderSettingButton({
49
53
  id: item.routeKey,
50
54
  label: item.name,
51
55
  left: item.icon,
56
+ // 변경: Dropdown.Template 선택 계약은 items[].selected를 source로 사용한다.
57
+ selected: String(closestRoute?.routeKey) === String(item.routeKey),
52
58
  })),
53
- [menuItems],
59
+ [closestRoute?.routeKey, menuItems],
54
60
  );
55
61
 
56
- /**
57
- * 현재 경로와 가장 근접한 설정 경로를 계산한다.
58
- * - 메뉴 수가 많아져도 useMemo로 계산을 한 번만 수행한다.
59
- */
60
- const selectedIds = useMemo(() => {
61
- const closestRoute = getClosestRoute(menuItems, resolvedPath);
62
- return closestRoute ? [String(closestRoute.routeKey)] : [];
63
- }, [menuItems, resolvedPath]);
64
-
65
62
  /**
66
63
  * dropdown 항목을 선택했을 때 routeKey에 대응하는 onSelect를 실행한다.
67
64
  * @param {DropdownTemplateChangePayload} payload 선택 결과 payload
@@ -98,7 +95,6 @@ export default function PageHeaderSettingButton({
98
95
  items={dropdownItems}
99
96
  width={170}
100
97
  size="small"
101
- selectedIds={selectedIds}
102
98
  // Dropdown.Template 신규 계약(onChange payload)을 우선 사용한다.
103
99
  onChange={handleSelect}
104
100
  containerProps={{