• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

teableio / teable / 8470050671

28 Mar 2024 03:54PM UTC coverage: 21.785% (-0.05%) from 21.838%
8470050671

Pull #507

github

web-flow
Merge c24fe3a68 into 53432a5aa
Pull Request #507: feat: search api

1396 of 2505 branches covered (55.73%)

23 of 544 new or added lines in 74 files covered. (4.23%)

36 existing lines in 4 files now uncovered.

14551 of 66795 relevant lines covered (21.78%)

2.08 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

0.0
/apps/nextjs-app/src/features/app/components/toggle-side-bar/HoverWraper.tsx
NEW
1
import { cn } from '@teable/ui-lib/shadcn';
×
2
import React, { useState } from 'react';
×
3

×
4
interface IHoverWraperProps {
×
5
  children: React.ReactElement[];
×
6
  size: number;
×
7
}
×
8

×
9
interface IHoverWraperTag {
×
10
  children: React.ReactElement;
×
11
}
×
12

×
13
export const HoverWraper = (props: IHoverWraperProps) => {
×
14
  const { children, size = 240 } = props;
×
15
  const [trigger, content] = children;
×
16
  const [hover, setHover] = useState(false);
×
17

×
18
  const mouseEnterHandler = () => {
×
19
    setHover(true);
×
20
  };
×
21

×
22
  const mouseOutHandler = () => {
×
23
    setHover(false);
×
24
  };
×
25

×
26
  return (
×
27
    <div>
×
28
      <div onMouseEnter={() => mouseEnterHandler()} className="z-10">
×
29
        {trigger}
×
30
      </div>
×
31
      {
×
32
        <div
×
NEW
33
          className={cn(
×
34
            'fixed flex h-full top-0 transition-[z-index] will-change-auto',
×
35
            hover ? 'z-50 w-full' : 'w-auto z-0'
×
36
          )}
×
37
        >
×
38
          <div
×
NEW
39
            className={cn(
×
40
              'transition-[width] overflow-hidden drop-shadow-2xl border-r will-change-auto'
×
41
            )}
×
42
            style={{
×
43
              width: hover ? `${size}px` : '0',
×
44
            }}
×
45
          >
×
46
            {content}
×
47
          </div>
×
48
          <div
×
49
            onMouseEnter={() => mouseOutHandler()}
×
NEW
50
            className={cn('flex-1', { hidden: !hover })}
×
51
          ></div>
×
52
        </div>
×
53
      }
×
54
    </div>
×
55
  );
×
56
};
×
57

×
58
export const HoverWraperTrigger = ({ children }: IHoverWraperTag) => {
×
59
  return <>{children}</>;
×
60
};
×
61

×
62
HoverWraperTrigger.displayName = 'HoverWraper.trigger';
×
63

×
64
HoverWraper.Trigger = HoverWraperTrigger;
×
65

×
66
export const HoverWraperContent = ({ children }: IHoverWraperTag) => {
×
67
  return <>{children}</>;
×
68
};
×
69

×
70
HoverWraperContent.displayName = 'HoverWraper.content';
×
71

×
72
HoverWraper.content = HoverWraperContent;
×
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2025 Coveralls, Inc