Skip to content

Commit

Permalink
Clone button enhancements (#33362)
Browse files Browse the repository at this point in the history
- Add box-shadow to default tippy theme
- Make colors for tabs match the ones from `.ui.tabular.menu`
- Remove tippy arrow and slightly offset tooltip closer to the button
- Fix setting of `aria-haspopup` when default role is used with tippy

---------

Co-authored-by: wxiaoguang <[email protected]>
  • Loading branch information
silverwind and wxiaoguang authored Jan 26, 2025
1 parent e663c4a commit 9875f9b
Show file tree
Hide file tree
Showing 5 changed files with 12 additions and 4 deletions.
4 changes: 4 additions & 0 deletions web_src/css/modules/tippy.css
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,10 @@
z-index: 1;
}

.tippy-box[data-theme="default"] {
box-shadow: 0 6px 18px var(--color-shadow);
}

/* bare theme, no styling at all, except box-shadow */
.tippy-box[data-theme="bare"] {
border: none;
Expand Down
2 changes: 1 addition & 1 deletion web_src/css/repo.css
Original file line number Diff line number Diff line change
Expand Up @@ -1630,7 +1630,7 @@ td .commit-summary {
}

.repo-button-row-left {
flex: 1;
flex-grow: 1;
}

.repo-button-row .button {
Expand Down
4 changes: 3 additions & 1 deletion web_src/css/repo/clone.css
Original file line number Diff line number Diff line change
Expand Up @@ -20,10 +20,12 @@
.clone-panel-tab .item {
padding: 5px 10px;
background: none;
color: var(--color-text-light-2);
}

.clone-panel-tab .item.active {
border-bottom: 3px solid var(--color-secondary);
color: var(--color-text-dark);
border-bottom: 3px solid currentcolor;
}

.clone-panel-tab + .divider {
Expand Down
1 change: 1 addition & 0 deletions web_src/js/features/repo-common.ts
Original file line number Diff line number Diff line change
Expand Up @@ -99,6 +99,7 @@ function initClonePanelButton(btn: HTMLButtonElement) {
placement: 'bottom-end',
interactive: true,
hideOnClick: true,
arrow: false,
});
}

Expand Down
5 changes: 3 additions & 2 deletions web_src/js/modules/tippy.ts
Original file line number Diff line number Diff line change
Expand Up @@ -42,16 +42,17 @@ export function createTippy(target: Element, opts: TippyOpts = {}): Instance {
visibleInstances.add(instance);
return onShow?.(instance);
},
arrow: arrow || (theme === 'bare' ? false : arrowSvg),
arrow: arrow ?? (theme === 'bare' ? false : arrowSvg),
// HTML role attribute, ideally the default role would be "popover" but it does not exist
role: role || 'menu',
// CSS theme, either "default", "tooltip", "menu", "box-with-header" or "bare"
theme: theme || role || 'default',
offset: [0, arrow ? 10 : 6],
plugins: [followCursor],
...other,
} satisfies Partial<Props>);

if (role === 'menu') {
if (instance.props.role === 'menu') {
target.setAttribute('aria-haspopup', 'true');
}

Expand Down

0 comments on commit 9875f9b

Please sign in to comment.