Skip to content

Commit 01e4d42

Browse files
committed
chore(headless/tabs): cleaned code a bit
1 parent 80e29c0 commit 01e4d42

File tree

1 file changed

+12
-14
lines changed
  • packages/kit-headless/src/components/tabs

1 file changed

+12
-14
lines changed

packages/kit-headless/src/components/tabs/tabs.tsx

Lines changed: 12 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -127,14 +127,14 @@ export const Tabs = component$((props: TabsProps) => {
127127
return selectedIndexSig.value === tabPanelsMap[panelId]?.index;
128128
});
129129

130-
const onTabKeyDown$ = $((key: KeyCode, tabId: string) => {
130+
const onTabKeyDown$ = $((key: KeyCode, currentTabId: string) => {
131131
const tabsRootElement = ref.value;
132132

133133
const enabledTabs = tabPairsList.filter((tabPair) => {
134134
return !tabsMap[tabPair.tabId].disabled;
135135
});
136136
const currentFocusedTabIndex = enabledTabs.findIndex(
137-
(tabPair) => tabPair.tabId === tabId
137+
(tabPair) => tabPair.tabId === currentTabId
138138
);
139139

140140
if (
@@ -146,9 +146,7 @@ export const Tabs = component$((props: TabsProps) => {
146146
if (currentFocusedTabIndex < tabPairsList.length - 1) {
147147
nextTabId = enabledTabs[currentFocusedTabIndex + 1].tabId;
148148
}
149-
tabsRootElement
150-
?.querySelector<HTMLElement>(`[data-tab-id='${nextTabId}']`)
151-
?.focus();
149+
focusOnTab(nextTabId);
152150
}
153151

154152
if (
@@ -160,22 +158,22 @@ export const Tabs = component$((props: TabsProps) => {
160158
if (currentFocusedTabIndex !== 0) {
161159
previousTabId = enabledTabs[currentFocusedTabIndex - 1].tabId;
162160
}
163-
tabsRootElement
164-
?.querySelector<HTMLElement>(`[data-tab-id='${previousTabId}']`)
165-
?.focus();
161+
focusOnTab(previousTabId);
166162
}
167163

168164
if (key === KeyCode.Home || key === KeyCode.PageUp) {
169-
tabsRootElement
170-
?.querySelector<HTMLElement>(`[data-tab-id='${enabledTabs[0].tabId}']`)
171-
?.focus();
165+
const firstTabId = enabledTabs[0].tabId;
166+
focusOnTab(firstTabId);
172167
}
173168

174169
if (key === KeyCode.End || key === KeyCode.PageDown) {
170+
const lastTabId = enabledTabs[enabledTabs.length - 1].tabId;
171+
focusOnTab(lastTabId);
172+
}
173+
174+
function focusOnTab(tabId: string) {
175175
tabsRootElement
176-
?.querySelector<HTMLElement>(
177-
`[data-tab-id='${enabledTabs[enabledTabs.length - 1].tabId}']`
178-
)
176+
?.querySelector<HTMLElement>(`[data-tab-id='${tabId}']`)
179177
?.focus();
180178
}
181179
});

0 commit comments

Comments
 (0)