@refinedev/devtools 1.1.34 → 1.1.36

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (97) hide show
  1. package/dist/components/devtools-pin.d.cts +9 -0
  2. package/dist/components/devtools-pin.d.cts.map +1 -0
  3. package/dist/components/devtools-pin.d.mts +9 -0
  4. package/dist/components/devtools-pin.d.mts.map +1 -0
  5. package/dist/components/devtools-pin.d.ts +1 -1
  6. package/dist/components/devtools-pin.d.ts.map +1 -1
  7. package/dist/components/devtools-selector.d.cts +10 -0
  8. package/dist/components/devtools-selector.d.cts.map +1 -0
  9. package/dist/components/devtools-selector.d.mts +10 -0
  10. package/dist/components/devtools-selector.d.mts.map +1 -0
  11. package/dist/components/devtools-selector.d.ts +1 -1
  12. package/dist/components/devtools-selector.d.ts.map +1 -1
  13. package/dist/components/icons/arrow-union-icon.d.cts +3 -0
  14. package/dist/components/icons/arrow-union-icon.d.cts.map +1 -0
  15. package/dist/components/icons/arrow-union-icon.d.mts +3 -0
  16. package/dist/components/icons/arrow-union-icon.d.mts.map +1 -0
  17. package/dist/components/icons/devtools-icon.d.cts +3 -0
  18. package/dist/components/icons/devtools-icon.d.cts.map +1 -0
  19. package/dist/components/icons/devtools-icon.d.mts +3 -0
  20. package/dist/components/icons/devtools-icon.d.mts.map +1 -0
  21. package/dist/components/icons/resize-handle-icon.d.cts +3 -0
  22. package/dist/components/icons/resize-handle-icon.d.cts.map +1 -0
  23. package/dist/components/icons/resize-handle-icon.d.mts +3 -0
  24. package/dist/components/icons/resize-handle-icon.d.mts.map +1 -0
  25. package/dist/components/icons/selector-button.d.cts +3 -0
  26. package/dist/components/icons/selector-button.d.cts.map +1 -0
  27. package/dist/components/icons/selector-button.d.mts +3 -0
  28. package/dist/components/icons/selector-button.d.mts.map +1 -0
  29. package/dist/components/resizable-pane.d.cts +19 -0
  30. package/dist/components/resizable-pane.d.cts.map +1 -0
  31. package/dist/components/resizable-pane.d.mts +19 -0
  32. package/dist/components/resizable-pane.d.mts.map +1 -0
  33. package/dist/components/resizable-pane.d.ts +1 -1
  34. package/dist/components/resizable-pane.d.ts.map +1 -1
  35. package/dist/components/selector-box.d.cts +8 -0
  36. package/dist/components/selector-box.d.cts.map +1 -0
  37. package/dist/components/selector-box.d.mts +8 -0
  38. package/dist/components/selector-box.d.mts.map +1 -0
  39. package/dist/components/selector-box.d.ts.map +1 -1
  40. package/dist/components/selector-hint.d.cts +4 -0
  41. package/dist/components/selector-hint.d.cts.map +1 -0
  42. package/dist/components/selector-hint.d.mts +4 -0
  43. package/dist/components/selector-hint.d.mts.map +1 -0
  44. package/dist/index.cjs +9 -0
  45. package/dist/index.cjs.map +1 -0
  46. package/dist/index.d.cts +3 -0
  47. package/dist/index.d.cts.map +1 -0
  48. package/dist/index.d.mts +3 -0
  49. package/dist/index.d.mts.map +1 -0
  50. package/dist/index.mjs +9 -0
  51. package/dist/index.mjs.map +1 -0
  52. package/dist/interfaces/placement.d.cts +2 -0
  53. package/dist/interfaces/placement.d.cts.map +1 -0
  54. package/dist/interfaces/placement.d.mts +2 -0
  55. package/dist/interfaces/placement.d.mts.map +1 -0
  56. package/dist/interfaces/placement.d.ts +1 -1
  57. package/dist/interfaces/placement.d.ts.map +1 -1
  58. package/dist/panel.d.cts +2 -0
  59. package/dist/panel.d.cts.map +1 -0
  60. package/dist/panel.d.mts +2 -0
  61. package/dist/panel.d.mts.map +1 -0
  62. package/dist/panel.d.ts.map +1 -1
  63. package/dist/provider.d.cts +3 -0
  64. package/dist/provider.d.cts.map +1 -0
  65. package/dist/provider.d.mts +3 -0
  66. package/dist/provider.d.mts.map +1 -0
  67. package/dist/provider.d.ts.map +1 -1
  68. package/dist/utilities/index.d.cts +37 -0
  69. package/dist/utilities/index.d.cts.map +1 -0
  70. package/dist/utilities/index.d.mts +37 -0
  71. package/dist/utilities/index.d.mts.map +1 -0
  72. package/dist/utilities/index.d.ts.map +1 -1
  73. package/dist/utilities/use-selector.d.cts +10 -0
  74. package/dist/utilities/use-selector.d.cts.map +1 -0
  75. package/dist/utilities/use-selector.d.mts +10 -0
  76. package/dist/utilities/use-selector.d.mts.map +1 -0
  77. package/dist/utilities/use-selector.d.ts.map +1 -1
  78. package/package.json +25 -11
  79. package/src/components/devtools-pin.tsx +51 -51
  80. package/src/components/devtools-selector.tsx +85 -88
  81. package/src/components/icons/arrow-union-icon.tsx +28 -28
  82. package/src/components/icons/devtools-icon.tsx +30 -30
  83. package/src/components/icons/resize-handle-icon.tsx +23 -23
  84. package/src/components/icons/selector-button.tsx +15 -15
  85. package/src/components/resizable-pane.tsx +245 -245
  86. package/src/components/selector-box.tsx +94 -94
  87. package/src/components/selector-hint.tsx +53 -53
  88. package/src/panel.tsx +86 -90
  89. package/src/provider.tsx +5 -7
  90. package/src/utilities/index.ts +88 -89
  91. package/src/utilities/use-selector.tsx +218 -228
  92. package/dist/esm/index.js +0 -9
  93. package/dist/esm/index.js.map +0 -1
  94. package/dist/iife/index.js +0 -9
  95. package/dist/iife/index.js.map +0 -1
  96. package/dist/index.js +0 -9
  97. package/dist/index.js.map +0 -1
@@ -1,283 +1,283 @@
1
1
  import React from "react";
2
2
  import { Placement } from "src/interfaces/placement";
3
3
  import {
4
- getDefaultPanelSize,
5
- getMaxPanelHeight,
6
- getMaxPanelWidth,
7
- getPanelPosition,
8
- getPanelToggleTransforms,
9
- MIN_PANEL_HEIGHT,
10
- MIN_PANEL_WIDTH,
11
- roundToEven,
4
+ getDefaultPanelSize,
5
+ getMaxPanelHeight,
6
+ getMaxPanelWidth,
7
+ getPanelPosition,
8
+ getPanelToggleTransforms,
9
+ MIN_PANEL_HEIGHT,
10
+ MIN_PANEL_WIDTH,
11
+ roundToEven,
12
12
  } from "src/utilities";
13
13
  import { ResizeHandleIcon } from "./icons/resize-handle-icon";
14
14
 
15
15
  type Props = {
16
- placement: Placement;
17
- defaultWidth?: number;
18
- minWidth?: number;
19
- maxWidth?: number;
20
- defaultHeight?: number;
21
- minHeight?: number;
22
- maxHeight?: number;
23
- children: ({ resizing }: { resizing: string | null }) => React.ReactNode;
24
- onResize?: (width: number, height: number) => void;
25
- visible?: boolean;
16
+ placement: Placement;
17
+ defaultWidth?: number;
18
+ minWidth?: number;
19
+ maxWidth?: number;
20
+ defaultHeight?: number;
21
+ minHeight?: number;
22
+ maxHeight?: number;
23
+ children: ({ resizing }: { resizing: string | null }) => React.ReactNode;
24
+ onResize?: (width: number, height: number) => void;
25
+ visible?: boolean;
26
26
  };
27
27
 
28
28
  export const ResizablePane = ({ placement, visible, children }: Props) => {
29
- const [hover, setHover] = React.useState(false);
30
- const [resizing, setResizing] = React.useState<
31
- "lx" | "rx" | "ty" | "by" | null
32
- >(null);
33
- const [resizePosition, setResizePosition] = React.useState<{
34
- x: number;
35
- y: number;
36
- } | null>(null);
37
- const [panelSize, setPanelSize] = React.useState<
38
- Record<"width" | "height", number>
39
- >(() => {
40
- const defaultSize = getDefaultPanelSize(placement);
29
+ const [hover, setHover] = React.useState(false);
30
+ const [resizing, setResizing] = React.useState<
31
+ "lx" | "rx" | "ty" | "by" | null
32
+ >(null);
33
+ const [resizePosition, setResizePosition] = React.useState<{
34
+ x: number;
35
+ y: number;
36
+ } | null>(null);
37
+ const [panelSize, setPanelSize] = React.useState<
38
+ Record<"width" | "height", number>
39
+ >(() => {
40
+ const defaultSize = getDefaultPanelSize(placement);
41
41
 
42
- return {
43
- width: roundToEven(defaultSize.width),
44
- height: roundToEven(defaultSize.height),
45
- };
46
- });
42
+ return {
43
+ width: roundToEven(defaultSize.width),
44
+ height: roundToEven(defaultSize.height),
45
+ };
46
+ });
47
47
 
48
- React.useEffect(() => {
49
- const handleResize = () => {
50
- setPanelSize((p) => {
51
- const defaultSize = getDefaultPanelSize(placement, p);
48
+ React.useEffect(() => {
49
+ const handleResize = () => {
50
+ setPanelSize((p) => {
51
+ const defaultSize = getDefaultPanelSize(placement, p);
52
52
 
53
- return {
54
- width: roundToEven(defaultSize.width),
55
- height: roundToEven(defaultSize.height),
56
- };
57
- });
53
+ return {
54
+ width: roundToEven(defaultSize.width),
55
+ height: roundToEven(defaultSize.height),
58
56
  };
57
+ });
58
+ };
59
59
 
60
- handleResize();
60
+ handleResize();
61
61
 
62
- window.addEventListener("resize", handleResize);
62
+ window.addEventListener("resize", handleResize);
63
63
 
64
- return () => {
65
- window.removeEventListener("resize", handleResize);
66
- };
67
- }, [placement]);
64
+ return () => {
65
+ window.removeEventListener("resize", handleResize);
66
+ };
67
+ }, [placement]);
68
68
 
69
- React.useEffect(() => {
70
- const handleMouseUp = () => {
71
- setResizing(null);
72
- };
69
+ React.useEffect(() => {
70
+ const handleMouseUp = () => {
71
+ setResizing(null);
72
+ };
73
73
 
74
- if (resizing !== null) {
75
- window.addEventListener("mouseup", handleMouseUp);
74
+ if (resizing !== null) {
75
+ window.addEventListener("mouseup", handleMouseUp);
76
76
 
77
- return () => {
78
- window.removeEventListener("mouseup", handleMouseUp);
79
- };
80
- }
77
+ return () => {
78
+ window.removeEventListener("mouseup", handleMouseUp);
79
+ };
80
+ }
81
81
 
82
- return;
83
- }, [resizing]);
82
+ return;
83
+ }, [resizing]);
84
84
 
85
- React.useEffect(() => {
86
- const currentCursor = document.body.style.cursor;
85
+ React.useEffect(() => {
86
+ const currentCursor = document.body.style.cursor;
87
87
 
88
- if (resizing?.includes("x")) {
89
- document.body.style.cursor = "col-resize";
90
- } else if (resizing?.includes("y")) {
91
- document.body.style.cursor = "row-resize";
92
- }
88
+ if (resizing?.includes("x")) {
89
+ document.body.style.cursor = "col-resize";
90
+ } else if (resizing?.includes("y")) {
91
+ document.body.style.cursor = "row-resize";
92
+ }
93
93
 
94
- return () => {
95
- document.body.style.cursor = currentCursor;
96
- };
97
- }, [resizing]);
94
+ return () => {
95
+ document.body.style.cursor = currentCursor;
96
+ };
97
+ }, [resizing]);
98
98
 
99
- React.useEffect(() => {
100
- const handleMouseMove = (e: MouseEvent) => {
101
- if (resizing?.[1] === "x") {
102
- const diff = e.clientX - (resizePosition?.x ?? e.clientX);
103
- const newWidth =
104
- panelSize.width + (resizing === "lx" ? -diff : diff) * 2;
99
+ React.useEffect(() => {
100
+ const handleMouseMove = (e: MouseEvent) => {
101
+ if (resizing?.[1] === "x") {
102
+ const diff = e.clientX - (resizePosition?.x ?? e.clientX);
103
+ const newWidth =
104
+ panelSize.width + (resizing === "lx" ? -diff : diff) * 2;
105
105
 
106
- setPanelSize((p) => ({
107
- ...p,
108
- width: roundToEven(
109
- Math.min(
110
- getMaxPanelWidth(placement),
111
- Math.max(MIN_PANEL_WIDTH, newWidth),
112
- ),
113
- ),
114
- }));
115
- } else if (resizing?.[1] === "y") {
116
- const diff = e.clientY - (resizePosition?.y ?? e.clientY);
117
- const newHeight =
118
- panelSize.height + (resizing === "ty" ? -diff : diff) * 1;
106
+ setPanelSize((p) => ({
107
+ ...p,
108
+ width: roundToEven(
109
+ Math.min(
110
+ getMaxPanelWidth(placement),
111
+ Math.max(MIN_PANEL_WIDTH, newWidth),
112
+ ),
113
+ ),
114
+ }));
115
+ } else if (resizing?.[1] === "y") {
116
+ const diff = e.clientY - (resizePosition?.y ?? e.clientY);
117
+ const newHeight =
118
+ panelSize.height + (resizing === "ty" ? -diff : diff) * 1;
119
119
 
120
- setPanelSize((p) => ({
121
- ...p,
122
- height: roundToEven(
123
- Math.min(
124
- getMaxPanelHeight(placement),
125
- Math.max(MIN_PANEL_HEIGHT, newHeight),
126
- ),
127
- ),
128
- }));
129
- }
130
- };
120
+ setPanelSize((p) => ({
121
+ ...p,
122
+ height: roundToEven(
123
+ Math.min(
124
+ getMaxPanelHeight(placement),
125
+ Math.max(MIN_PANEL_HEIGHT, newHeight),
126
+ ),
127
+ ),
128
+ }));
129
+ }
130
+ };
131
131
 
132
- if (resizing !== null) {
133
- window.addEventListener("mousemove", handleMouseMove);
132
+ if (resizing !== null) {
133
+ window.addEventListener("mousemove", handleMouseMove);
134
134
 
135
- return () => {
136
- window.removeEventListener("mousemove", handleMouseMove);
137
- };
138
- }
135
+ return () => {
136
+ window.removeEventListener("mousemove", handleMouseMove);
137
+ };
138
+ }
139
139
 
140
- return;
141
- }, [resizing, placement]);
140
+ return;
141
+ }, [resizing, placement]);
142
142
 
143
- return (
143
+ return (
144
+ <div
145
+ style={{
146
+ position: "absolute",
147
+ borderRadius: "8px",
148
+ boxShadow: "0 0 10px rgba(0, 0, 0, 0.5)",
149
+ border: "1px solid rgba(0, 0, 0, 0.5)",
150
+ transitionProperty: "transform, opacity",
151
+ transitionTimingFunction: "ease-in-out",
152
+ transitionDuration: "0.2s",
153
+ ...getPanelPosition(placement),
154
+ opacity: visible ? 1 : 0,
155
+ transform: `${
156
+ getPanelPosition(placement).transform
157
+ } ${getPanelToggleTransforms(visible ?? false)}`,
158
+ ...panelSize,
159
+ }}
160
+ onMouseEnter={() => {
161
+ setHover(true);
162
+ }}
163
+ onMouseLeave={() => {
164
+ setHover(false);
165
+ }}
166
+ >
167
+ {children({ resizing })}
168
+ {/* */}
169
+ <React.Fragment>
144
170
  <div
145
- style={{
146
- position: "absolute",
147
- borderRadius: "8px",
148
- boxShadow: "0 0 10px rgba(0, 0, 0, 0.5)",
149
- border: "1px solid rgba(0, 0, 0, 0.5)",
150
- transitionProperty: "transform, opacity",
151
- transitionTimingFunction: "ease-in-out",
152
- transitionDuration: "0.2s",
153
- ...getPanelPosition(placement),
154
- opacity: visible ? 1 : 0,
155
- transform: `${
156
- getPanelPosition(placement).transform
157
- } ${getPanelToggleTransforms(visible ?? false)}`,
158
- ...panelSize,
159
- }}
160
- onMouseEnter={() => {
161
- setHover(true);
162
- }}
163
- onMouseLeave={() => {
164
- setHover(false);
165
- }}
166
- >
167
- {children({ resizing })}
168
- {/* */}
169
- <React.Fragment>
170
- <div
171
- style={{
172
- position: "absolute",
173
- left: 0,
174
- top: "50%",
175
- width: "10px",
176
- height: "26px",
177
- transform: "translateY(-13px) translateX(-5px)",
178
- cursor: "col-resize",
179
- transition: "opacity ease-in-out 0.2s",
180
- pointerEvents: hover || resizing ? "auto" : "none",
181
- opacity: hover || resizing ? 1 : 0,
182
- }}
183
- onMouseDown={(event) => {
184
- setResizing("lx");
185
- setResizePosition({
186
- x: event.clientX,
187
- y: event.clientY,
188
- });
171
+ style={{
172
+ position: "absolute",
173
+ left: 0,
174
+ top: "50%",
175
+ width: "10px",
176
+ height: "26px",
177
+ transform: "translateY(-13px) translateX(-5px)",
178
+ cursor: "col-resize",
179
+ transition: "opacity ease-in-out 0.2s",
180
+ pointerEvents: hover || resizing ? "auto" : "none",
181
+ opacity: hover || resizing ? 1 : 0,
182
+ }}
183
+ onMouseDown={(event) => {
184
+ setResizing("lx");
185
+ setResizePosition({
186
+ x: event.clientX,
187
+ y: event.clientY,
188
+ });
189
189
 
190
- event.preventDefault();
191
- }}
192
- >
193
- <ResizeHandleIcon />
194
- </div>
195
- <div
196
- style={{
197
- position: "absolute",
198
- right: 0,
199
- top: "50%",
200
- width: "10px",
201
- height: "26px",
202
- transform: `translateY(-13px) translateX(5px)`,
203
- cursor: "col-resize",
204
- transition: "opacity ease-in-out 0.2s",
205
- pointerEvents: hover || resizing ? "auto" : "none",
206
- opacity: hover || resizing ? 1 : 0,
207
- }}
208
- onMouseDown={(event) => {
209
- setResizing("rx");
210
- setResizePosition({
211
- x: event.clientX,
212
- y: event.clientY,
213
- });
190
+ event.preventDefault();
191
+ }}
192
+ >
193
+ <ResizeHandleIcon />
194
+ </div>
195
+ <div
196
+ style={{
197
+ position: "absolute",
198
+ right: 0,
199
+ top: "50%",
200
+ width: "10px",
201
+ height: "26px",
202
+ transform: "translateY(-13px) translateX(5px)",
203
+ cursor: "col-resize",
204
+ transition: "opacity ease-in-out 0.2s",
205
+ pointerEvents: hover || resizing ? "auto" : "none",
206
+ opacity: hover || resizing ? 1 : 0,
207
+ }}
208
+ onMouseDown={(event) => {
209
+ setResizing("rx");
210
+ setResizePosition({
211
+ x: event.clientX,
212
+ y: event.clientY,
213
+ });
214
214
 
215
- event.preventDefault();
216
- }}
217
- >
218
- <ResizeHandleIcon />
219
- </div>
220
- <div
221
- style={{
222
- position: "absolute",
223
- left: "50%",
224
- top: 0,
225
- width: "26px",
226
- height: "10px",
227
- transform: "translateY(-5px) translateX(-13px)",
228
- cursor: "row-resize",
229
- transition: "opacity ease-in-out 0.2s",
230
- pointerEvents: hover || resizing ? "auto" : "none",
231
- opacity: hover || resizing ? 1 : 0,
232
- }}
233
- onMouseDown={(event) => {
234
- setResizing("ty");
235
- setResizePosition({
236
- x: event.clientX,
237
- y: event.clientY,
238
- });
215
+ event.preventDefault();
216
+ }}
217
+ >
218
+ <ResizeHandleIcon />
219
+ </div>
220
+ <div
221
+ style={{
222
+ position: "absolute",
223
+ left: "50%",
224
+ top: 0,
225
+ width: "26px",
226
+ height: "10px",
227
+ transform: "translateY(-5px) translateX(-13px)",
228
+ cursor: "row-resize",
229
+ transition: "opacity ease-in-out 0.2s",
230
+ pointerEvents: hover || resizing ? "auto" : "none",
231
+ opacity: hover || resizing ? 1 : 0,
232
+ }}
233
+ onMouseDown={(event) => {
234
+ setResizing("ty");
235
+ setResizePosition({
236
+ x: event.clientX,
237
+ y: event.clientY,
238
+ });
239
239
 
240
- event.preventDefault();
241
- }}
242
- >
243
- <ResizeHandleIcon
244
- style={{
245
- transform: "rotate(90deg)",
246
- transformOrigin: "13px 13px",
247
- }}
248
- />
249
- </div>
250
- <div
251
- style={{
252
- position: "absolute",
253
- left: "50%",
254
- bottom: 0,
255
- width: "26px",
256
- height: "10px",
257
- transform: "translateY(5px) translateX(-13px)",
258
- cursor: "row-resize",
259
- transition: "opacity ease-in-out 0.2s",
260
- pointerEvents: hover || resizing ? "auto" : "none",
261
- opacity: hover || resizing ? 1 : 0,
262
- }}
263
- onMouseDown={(event) => {
264
- setResizing("by");
265
- setResizePosition({
266
- x: event.clientX,
267
- y: event.clientY,
268
- });
240
+ event.preventDefault();
241
+ }}
242
+ >
243
+ <ResizeHandleIcon
244
+ style={{
245
+ transform: "rotate(90deg)",
246
+ transformOrigin: "13px 13px",
247
+ }}
248
+ />
249
+ </div>
250
+ <div
251
+ style={{
252
+ position: "absolute",
253
+ left: "50%",
254
+ bottom: 0,
255
+ width: "26px",
256
+ height: "10px",
257
+ transform: "translateY(5px) translateX(-13px)",
258
+ cursor: "row-resize",
259
+ transition: "opacity ease-in-out 0.2s",
260
+ pointerEvents: hover || resizing ? "auto" : "none",
261
+ opacity: hover || resizing ? 1 : 0,
262
+ }}
263
+ onMouseDown={(event) => {
264
+ setResizing("by");
265
+ setResizePosition({
266
+ x: event.clientX,
267
+ y: event.clientY,
268
+ });
269
269
 
270
- event.preventDefault();
271
- }}
272
- >
273
- <ResizeHandleIcon
274
- style={{
275
- transform: "rotate(90deg)",
276
- transformOrigin: "13px 13px",
277
- }}
278
- />
279
- </div>
280
- </React.Fragment>
270
+ event.preventDefault();
271
+ }}
272
+ >
273
+ <ResizeHandleIcon
274
+ style={{
275
+ transform: "rotate(90deg)",
276
+ transformOrigin: "13px 13px",
277
+ }}
278
+ />
281
279
  </div>
282
- );
280
+ </React.Fragment>
281
+ </div>
282
+ );
283
283
  };