Skip to content

Commit e7eb8cd

Browse files
committed
The second part of improvements
1 parent 21428c3 commit e7eb8cd

File tree

229 files changed

+10517
-2624
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

229 files changed

+10517
-2624
lines changed

vocs-docs/docs/components/Array.tsx

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
'use client';
2+
3+
import React, { useState } from 'react';
4+
5+
export default function Array() {
6+
const [hovered, setHovered] = useState(false);
7+
8+
return (
9+
<span style={{ position: 'relative', display: 'inline-block', cursor: 'help' }}>
10+
<span
11+
style={{ cursor: 'help' }}
12+
onMouseEnter={() => setHovered(true)}
13+
onMouseLeave={() => setHovered(false)}
14+
>
15+
16+
</span>
17+
{hovered && (
18+
<span style={{
19+
visibility: 'visible',
20+
maxWidth: '200px',
21+
backgroundColor: 'black',
22+
color: 'white',
23+
textAlign: 'center',
24+
borderRadius: '20px',
25+
padding: '5px 12px',
26+
position: 'absolute',
27+
zIndex: 1,
28+
bottom: '125%',
29+
left: '50%',
30+
transform: 'translateX(-50%)',
31+
whiteSpace: 'normal',
32+
wordWrap: 'break-word',
33+
}}>
34+
array
35+
</span>
36+
)}
37+
</span>
38+
);
39+
}
Lines changed: 61 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,61 @@
1+
'use client';
2+
3+
import React, { useState, useRef, useEffect } from 'react';
4+
import ReactDOM from 'react-dom';
5+
6+
export default function Array() {
7+
const [hovered, setHovered] = useState(false);
8+
const iconRef = useRef<HTMLSpanElement | null>(null);
9+
const [tooltipPos, setTooltipPos] = useState<{ top: number; left: number } | null>(null);
10+
11+
useEffect(() => {
12+
if (hovered && iconRef.current) {
13+
const rect = iconRef.current.getBoundingClientRect();
14+
setTooltipPos({
15+
top: rect.top - 50, // adjust offset
16+
left: rect.left + rect.width / 2,
17+
});
18+
}
19+
}, [hovered]);
20+
21+
return (
22+
<>
23+
<span style={{ position: 'relative', display: 'inline-block', cursor: 'help' }}>
24+
<span
25+
ref={iconRef}
26+
style={{ cursor: 'help' }}
27+
onMouseEnter={() => setHovered(true)}
28+
onMouseLeave={() => setHovered(false)}
29+
>
30+
*
31+
</span>
32+
</span>
33+
34+
{hovered && tooltipPos &&
35+
ReactDOM.createPortal(
36+
<div
37+
style={{
38+
position: 'fixed',
39+
top: tooltipPos.top,
40+
left: tooltipPos.left,
41+
transform: 'translateX(-50%)',
42+
maxWidth: '200px',
43+
backgroundColor: 'black',
44+
color: 'white',
45+
textAlign: 'center',
46+
borderRadius: '20px',
47+
padding: '5px 12px',
48+
zIndex: 1,
49+
whiteSpace: 'normal',
50+
wordWrap: 'break-word',
51+
pointerEvents: 'none',
52+
}}
53+
>
54+
array if batched
55+
</div>,
56+
document.body
57+
)
58+
}
59+
</>
60+
);
61+
}

vocs-docs/docs/components/CustomLayout.tsx

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,6 @@
11
// components/CustomLayout.tsx
2+
import React from 'react';
3+
24
export default function CustomLayout({ children }: { children: React.ReactNode }) {
35
return (
46
<div className="custom-layout">

vocs-docs/docs/components/Opt.tsx

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
'use client';
2+
3+
import React, { useState } from 'react';
4+
5+
export default function Opt() {
6+
const [hovered, setHovered] = useState(false);
7+
8+
return (
9+
<span style={{ position: 'relative', display: 'inline-block', cursor: 'help' }}>
10+
<span
11+
style={{ cursor: 'help' }}
12+
onMouseEnter={() => setHovered(true)}
13+
onMouseLeave={() => setHovered(false)}
14+
>
15+
16+
</span>
17+
{hovered && (
18+
<span style={{
19+
visibility: 'visible',
20+
maxWidth: '200px',
21+
backgroundColor: 'black',
22+
color: 'white',
23+
textAlign: 'center',
24+
borderRadius: '20px',
25+
padding: '5px 12px',
26+
position: 'absolute',
27+
zIndex: 1,
28+
bottom: '125%',
29+
left: '50%',
30+
transform: 'translateX(-50%)',
31+
whiteSpace: 'normal',
32+
wordWrap: 'break-word'
33+
}}>
34+
optional
35+
</span>
36+
)}
37+
</span>
38+
);
39+
}

0 commit comments

Comments
 (0)