Skip to content

Commit c142120

Browse files
Merge pull request #19 from mezh-hq/patch/react-19
Patch/react 19
2 parents 4786fe5 + 08db344 commit c142120

File tree

7 files changed

+43
-75
lines changed

7 files changed

+43
-75
lines changed

CHANGELOG.md

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,12 @@
11
Changelog
22

3+
# v3.2.6 [2025-03-18]
4+
5+
## Patch Release
6+
7+
### Fixes
8+
- Fixed usage with React 19
9+
310
# v3.2.5 [2025-03-11]
411

512
## Patch Release

bun.lockb

6.5 KB
Binary file not shown.

package.json

Lines changed: 8 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -63,13 +63,12 @@
6363
"@interactjs/auto-start": "1.10.26",
6464
"@interactjs/interact": "1.10.26",
6565
"@mezh-hq/react-gridlines": "1.0.1",
66-
"@radix-ui/react-label": "2.0.2",
67-
"@radix-ui/react-popover": "1.0.7",
68-
"@radix-ui/react-select": "2.0.0",
69-
"@radix-ui/react-switch": "1.1.0",
70-
"@radix-ui/react-tooltip": "1.0.6",
66+
"@radix-ui/react-popover": "1.1.6",
67+
"@radix-ui/react-select": "2.1.6",
68+
"@radix-ui/react-switch": "1.1.3",
69+
"@radix-ui/react-tooltip": "1.1.8",
7170
"@reduxjs/toolkit": "2.1.0",
72-
"class-variance-authority": "0.7.0",
71+
"class-variance-authority": "0.7.1",
7372
"d3": "7.8.5",
7473
"lodash": "4.17.21",
7574
"lucide-react": "0.316.0",
@@ -78,8 +77,8 @@
7877
"uuid": "9.0.0"
7978
},
8079
"peerDependencies": {
81-
"react": "^18.0.0",
82-
"react-dom": "^18.0.0"
80+
"react": ">=18.0.0",
81+
"react-dom": ">=18.0.0"
8382
},
8483
"devDependencies": {
8584
"@commitlint/cli": "17.4.2",
@@ -126,4 +125,4 @@
126125
"patchedDependencies": {
127126
128127
}
129-
}
128+
}

src/components/core/label.tsx

Lines changed: 13 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,19 @@
11
import * as React from "react";
2-
import * as LabelPrimitive from "@radix-ui/react-label";
3-
import { type VariantProps, cva } from "class-variance-authority";
42
import { twMerge } from "tailwind-merge";
53

6-
const labelVariants = cva("text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70");
4+
const Label = React.forwardRef<HTMLLabelElement, React.LabelHTMLAttributes<HTMLLabelElement>>(
5+
({ className, ...props }, ref) => (
6+
<label
7+
ref={ref}
8+
className={twMerge(
9+
"text-sm font-medium leading-none peer-disabled:cursor-not-allowed select-none peer-disabled:opacity-70",
10+
className
11+
)}
12+
{...props}
13+
/>
14+
)
15+
);
716

8-
const Label = React.forwardRef<
9-
React.ElementRef<typeof LabelPrimitive.Root>,
10-
React.ComponentPropsWithoutRef<typeof LabelPrimitive.Root> & VariantProps<typeof labelVariants>
11-
>(({ className, ...props }, ref) => (
12-
<LabelPrimitive.Root ref={ref} className={twMerge(labelVariants(), className)} {...props} />
13-
));
14-
Label.displayName = LabelPrimitive.Root.displayName;
17+
Label.displayName = "Label";
1518

1619
export { Label };

src/components/operations/export-button.tsx

Lines changed: 15 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,10 @@
11
import { useState } from "react";
22
import { Copy } from "lucide-react";
33
import { twMerge } from "tailwind-merge";
4-
import { useBreakpoint } from "@/hooks";
54
import { ISTKData } from "@/types";
65
import { IStyles } from "@/types/styles";
76
import { stateToJSON } from "@/utils";
8-
import { Button, IconButton } from "../core";
7+
import { Button, Tooltip, TooltipContent, TooltipTrigger } from "../core";
98

109
interface IExportActionProps {
1110
text?: string;
@@ -15,7 +14,6 @@ interface IExportActionProps {
1514

1615
const ExportAction: React.FC<IExportActionProps> = ({ text = "Export JSON", onExport, styles }) => {
1716
const [loading, setLoading] = useState(false);
18-
const { md } = useBreakpoint();
1917

2018
const onExportJson = () => {
2119
const json = stateToJSON();
@@ -34,29 +32,21 @@ const ExportAction: React.FC<IExportActionProps> = ({ text = "Export JSON", onEx
3432
}
3533
};
3634

37-
if (md)
38-
return (
39-
<Button
40-
loading={loading}
41-
className={twMerge(styles?.core?.button?.className)}
42-
style={styles?.core?.button?.properties}
43-
onClick={onExportJson}
44-
variant="secondary"
45-
>
46-
{text}
47-
</Button>
48-
);
49-
5035
return (
51-
<IconButton
52-
icon={<Copy className="w-5 h-5" />}
53-
label={text}
54-
onClick={onExportJson}
55-
loading={loading}
56-
className={twMerge("w-10", styles?.core?.button?.className)}
57-
style={styles?.core?.button?.properties}
58-
variant="secondary"
59-
/>
36+
<Tooltip>
37+
<TooltipTrigger>
38+
<Button
39+
loading={loading}
40+
className={twMerge("w-10 md:w-auto px-2 md:px-4 transition-none", styles?.core?.button?.className)}
41+
style={styles?.core?.button?.properties}
42+
onClick={onExportJson}
43+
variant="secondary"
44+
>
45+
<Copy className="w-5 h-5 md:hidden" /> <span className="hidden md:block">{text}</span>
46+
</Button>
47+
</TooltipTrigger>
48+
<TooltipContent className="md:hidden">{text}</TooltipContent>
49+
</Tooltip>
6050
);
6151
};
6252

src/hooks/breakpoint.ts

Lines changed: 0 additions & 30 deletions
This file was deleted.

src/hooks/index.ts

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
export { default as useBreakpoint } from "./breakpoint";
21
export { default as useInteractions } from "./interactions";
32
export { default as useResize } from "./resize";
43
export { default as useSkipFirstRender } from "./skip-first-render";

0 commit comments

Comments
 (0)