Skip to content

Commit 1e7f45a

Browse files
author
Amelia Wattenberger
committed
fix: group classname clash #20
if an ancestor component uses group, it won't trigger the tailwind group-hover classes
1 parent 3f7a748 commit 1e7f45a

File tree

4 files changed

+20
-10
lines changed

4 files changed

+20
-10
lines changed

src/components/cell.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -102,7 +102,7 @@ export const Cell = React.memo(function (props: CellProps) {
102102

103103
return (
104104
<div
105-
className="cell group"
105+
className="cell"
106106
css={[
107107
tw`flex border-b border-r`,
108108
status === 'new' && tw`border-green-200`,
@@ -197,7 +197,7 @@ const CellInner = React.memo(function CellInner({
197197
<div
198198
className="cell__long-value"
199199
css={[
200-
tw` absolute p-4 py-2 bg-white opacity-0 group-hover:opacity-100 z-30 border border-gray-200 shadow-md pointer-events-none`,
200+
tw` absolute p-4 py-2 bg-white opacity-0 z-30 border border-gray-200 shadow-md pointer-events-none`,
201201
isNearBottomEdge ? tw`bottom-0` : tw`top-0`,
202202
isNearRightEdge ? tw`right-0` : tw`left-0`,
203203
]}

src/components/editable-cell.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -132,7 +132,7 @@ export const EditableCell = React.memo(function (props: EditableCellProps) {
132132
]}>
133133
{isFirstColumn && (
134134
<button
135-
css={[tw`absolute h-full text-red-500! opacity-0 group-hover:opacity-100 focus:opacity-100`]}
135+
css={[tw`absolute h-full text-red-500! opacity-0 focus:opacity-100`]}
136136
className="delete-button"
137137
onClick={e => {
138138
e.stopPropagation();

src/components/header.tsx

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -155,9 +155,9 @@ const HeaderTop = memo(({
155155
tw="absolute top-0 left-0 bottom-0 z-10 bg-gray-50 text-gray-600 shadow-md flex items-center"
156156
>
157157
<button
158-
className="pin"
158+
className="header__icon header__pin"
159159
css={[
160-
tw`h-full p-2 flex items-center border-indigo-100 focus:bg-indigo-100! hover:bg-indigo-100! appearance-none focus:opacity-100 group-hover:opacity-100 text-indigo-400! bg-indigo-50! focus:ring-indigo-300`,
160+
tw`h-full p-2 flex items-center border-indigo-100 focus:bg-indigo-100! hover:bg-indigo-100! appearance-none focus:opacity-100 text-indigo-400! bg-indigo-50! focus:ring-indigo-300`,
161161
isSticky ? tw`opacity-100` : tw`opacity-0 -ml-6! shadow-md`,
162162
]}
163163
onClick={() => onSticky()}
@@ -192,10 +192,10 @@ const HeaderTop = memo(({
192192
</EditableHeader>
193193
{isEditable && (
194194
<button
195-
className="header__icon"
195+
className="header__icon header__delete"
196196
css={[
197197
tw`h-full flex items-center justify-center text-red-500!`,
198-
tw`opacity-0 group-hover:opacity-100 w-0 group-hover:w-auto p-0 group-hover:pl-1 group-hover:pr-2`,
198+
tw`opacity-0 w-0 p-0`,
199199
]}
200200
onClick={() =>
201201
onDelete?.()
@@ -210,7 +210,7 @@ const HeaderTop = memo(({
210210
tw`flex items-center justify-center pl-1 pr-1 -mr-2`,
211211
activeSortDirection
212212
? tw`opacity-100`
213-
: tw`opacity-0 group-hover:opacity-40`,
213+
: tw`opacity-0 text-gray-400!`,
214214
]}
215215
onClick={() =>
216216
onSort(columnName, activeSortDirection == 'asc' ? 'desc' : 'asc')
@@ -224,7 +224,7 @@ const HeaderTop = memo(({
224224
</button>
225225
</div>
226226
{!!metadata && (
227-
<div tw="text-sm absolute bottom-0 bg-white p-4 text-indigo-500 transform translate-y-full border border-indigo-300 py-3 shadow-md left-0 right-0 pointer-events-none opacity-0 group-hover:opacity-100">
227+
<div className="header__icon" tw="text-sm absolute bottom-0 bg-white p-4 text-indigo-500 transform translate-y-full border border-indigo-300 py-3 shadow-md left-0 right-0 pointer-events-none opacity-0">
228228
<div tw="pr-2 inline-block text-indigo-200">
229229
<InfoIcon />
230230
</div>

src/index.css

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -292,6 +292,10 @@ html,
292292

293293
.cell:hover .cell__long-value {
294294
pointer-events: all;
295+
opacity: 1;
296+
}
297+
.cell:hover .delete-button {
298+
opacity: 1;
295299
}
296300

297301
.header__title {
@@ -310,8 +314,14 @@ html,
310314
opacity: 0;
311315
}
312316

313-
.header:hover .header__pin {
317+
.header:hover .header__icon {
318+
opacity: 1;
319+
}
320+
.header:hover .header__delete {
314321
opacity: 1;
322+
width: auto;
323+
padding-left: 0.25em;
324+
padding-right: 0.5em;
315325
}
316326

317327
.sticky-grid__header:hover {

0 commit comments

Comments
 (0)