Skip to content

Commit 4e42e66

Browse files
authored
Initial implementation
1 parent 4cf5647 commit 4e42e66

File tree

2 files changed

+16
-15
lines changed

2 files changed

+16
-15
lines changed
Lines changed: 12 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,19 @@
11
.Hidden {
2-
@media screen and (--viewportRange-narrow) {
3-
display: var(--hiddenDisplay-narrow, block);
2+
&[data-hidden-narrow] {
3+
@media (--viewportRange-narrow) {
4+
display: none;
5+
}
46
}
57

6-
@media screen and (--viewportRange-regular) {
7-
display: var(--hiddenDisplay-regular, block);
8+
&[data-hidden-regular] {
9+
@media (--viewportRange-regular) {
10+
display: none;
11+
}
812
}
913

10-
@media screen and (--viewportRange-wide) {
11-
display: var(--hiddenDisplay-wide, block);
14+
&[data-hidden-wide] {
15+
@media (--viewportRange-wide) {
16+
display: none;
17+
}
1218
}
1319
}

packages/react/src/Hidden/Hidden.tsx

Lines changed: 4 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ import type React from 'react'
22
import {type CSSProperties} from 'react'
33
import {clsx} from 'clsx'
44
import type {ResponsiveValue} from '../hooks/useResponsiveValue'
5+
import {getResponsiveAttributes} from '../internal/utils/getResponsiveAttributes'
56
import classes from './Hidden.module.css'
67

78
type Viewport = 'narrow' | 'regular' | 'wide'
@@ -35,19 +36,13 @@ function normalize(hiddenViewports: Array<Viewport> | Viewport): ResponsiveValue
3536
}
3637

3738
export const Hidden = ({when, className, style, children}: HiddenProps) => {
38-
const normalizedStyles = normalize(when)
39+
const normalizedHidden = normalize(when)
3940

4041
return (
4142
<div
4243
className={clsx(className, classes.Hidden)}
43-
style={
44-
{
45-
'--hiddenDisplay-narrow': normalizedStyles.narrow ? 'none' : undefined,
46-
'--hiddenDisplay-regular': normalizedStyles.regular ? 'none' : undefined,
47-
'--hiddenDisplay-wide': normalizedStyles.wide ? 'none' : undefined,
48-
...style,
49-
} as CSSProperties
50-
}
44+
{...getResponsiveAttributes('hidden', normalizedHidden)}
45+
style={style}
5146
>
5247
{children}
5348
</div>

0 commit comments

Comments
 (0)