react-resizable-panels 0.0.63 → 1.0.0-rc.1
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.
- package/.eslintrc.cjs +1 -0
- package/CHANGELOG.md +5 -0
- package/dist/declarations/src/Panel.d.ts +19 -34
- package/dist/declarations/src/PanelGroup.d.ts +9 -13
- package/dist/declarations/src/PanelResizeHandle.d.ts +5 -7
- package/dist/declarations/src/index.d.ts +2 -2
- package/dist/declarations/src/types.d.ts +0 -7
- package/dist/declarations/src/utils/assert.d.ts +1 -0
- package/dist/declarations/src/vendor/react.d.ts +2 -2
- package/dist/react-resizable-panels.browser.cjs.js +252 -517
- package/dist/react-resizable-panels.browser.cjs.mjs +2 -1
- package/dist/react-resizable-panels.browser.development.cjs.js +278 -573
- package/dist/react-resizable-panels.browser.development.cjs.mjs +2 -1
- package/dist/react-resizable-panels.browser.development.esm.js +278 -574
- package/dist/react-resizable-panels.browser.esm.js +252 -518
- package/dist/react-resizable-panels.cjs.js +252 -517
- package/dist/react-resizable-panels.cjs.js.map +1 -1
- package/dist/react-resizable-panels.cjs.mjs +2 -1
- package/dist/react-resizable-panels.development.cjs.js +280 -575
- package/dist/react-resizable-panels.development.cjs.mjs +2 -1
- package/dist/react-resizable-panels.development.esm.js +280 -576
- package/dist/react-resizable-panels.development.node.cjs.js +266 -501
- package/dist/react-resizable-panels.development.node.cjs.mjs +2 -1
- package/dist/react-resizable-panels.development.node.esm.js +266 -502
- package/dist/react-resizable-panels.esm.js +252 -518
- package/dist/react-resizable-panels.esm.js.map +1 -1
- package/dist/react-resizable-panels.node.cjs.js +238 -443
- package/dist/react-resizable-panels.node.cjs.mjs +2 -1
- package/dist/react-resizable-panels.node.esm.js +238 -444
- package/package.json +1 -1
- package/src/Panel.test.tsx +74 -73
- package/src/Panel.ts +44 -68
- package/src/PanelGroup.test.tsx +43 -42
- package/src/PanelGroup.ts +189 -403
- package/src/PanelGroupContext.ts +2 -3
- package/src/PanelResizeHandle.test.tsx +68 -0
- package/src/PanelResizeHandle.ts +31 -22
- package/src/hooks/useWindowSplitterBehavior.ts +2 -1
- package/src/hooks/useWindowSplitterPanelGroupBehavior.ts +22 -33
- package/src/index.ts +4 -3
- package/src/types.ts +0 -9
- package/src/utils/adjustLayoutByDelta.test.ts +206 -336
- package/src/utils/adjustLayoutByDelta.ts +59 -51
- package/src/utils/assert.ts +1 -1
- package/src/utils/calculateAriaValues.test.ts +6 -11
- package/src/utils/calculateAriaValues.ts +7 -29
- package/src/utils/calculateDeltaPercentage.ts +8 -15
- package/src/utils/calculateDragOffsetPercentage.ts +11 -5
- package/src/utils/calculateUnsafeDefaultLayout.test.ts +4 -9
- package/src/utils/calculateUnsafeDefaultLayout.ts +13 -18
- package/src/utils/callPanelCallbacks.ts +11 -46
- package/src/utils/getResizeEventCursorPosition.ts +2 -0
- package/src/utils/resizePanel.test.ts +6 -52
- package/src/utils/resizePanel.ts +24 -46
- package/src/utils/test-utils.ts +6 -7
- package/src/utils/validatePanelConstraints.test.ts +12 -65
- package/src/utils/validatePanelConstraints.ts +26 -67
- package/src/utils/validatePanelGroupLayout.test.ts +27 -142
- package/src/utils/validatePanelGroupLayout.ts +17 -13
- package/src/vendor/react.ts +2 -0
- package/src/utils/computePercentagePanelConstraints.test.ts +0 -98
- package/src/utils/computePercentagePanelConstraints.ts +0 -56
- package/src/utils/convertPercentageToPixels.test.ts +0 -9
- package/src/utils/convertPercentageToPixels.ts +0 -6
- package/src/utils/convertPixelConstraintsToPercentages.test.ts +0 -47
- package/src/utils/convertPixelConstraintsToPercentages.ts +0 -72
- package/src/utils/convertPixelsToPercentage.test.ts +0 -9
- package/src/utils/convertPixelsToPercentage.ts +0 -6
- package/src/utils/getPercentageSizeFromMixedSizes.test.ts +0 -47
- package/src/utils/getPercentageSizeFromMixedSizes.ts +0 -15
- package/src/utils/shouldMonitorPixelBasedConstraints.test.ts +0 -23
- package/src/utils/shouldMonitorPixelBasedConstraints.ts +0 -13
|
@@ -1,47 +0,0 @@
|
|
|
1
|
-
import { getPercentageSizeFromMixedSizes } from "./getPercentageSizeFromMixedSizes";
|
|
2
|
-
|
|
3
|
-
describe("getPercentageSizeFromMixedSizes", () => {
|
|
4
|
-
it("should return percentage sizes as-is", () => {
|
|
5
|
-
expect(
|
|
6
|
-
getPercentageSizeFromMixedSizes(
|
|
7
|
-
{
|
|
8
|
-
sizePercentage: 50,
|
|
9
|
-
},
|
|
10
|
-
100_000
|
|
11
|
-
)
|
|
12
|
-
).toBe(50);
|
|
13
|
-
expect(
|
|
14
|
-
getPercentageSizeFromMixedSizes(
|
|
15
|
-
{
|
|
16
|
-
sizePercentage: 25,
|
|
17
|
-
sizePixels: 100,
|
|
18
|
-
},
|
|
19
|
-
100_000
|
|
20
|
-
)
|
|
21
|
-
).toBe(25);
|
|
22
|
-
});
|
|
23
|
-
|
|
24
|
-
it("should convert pixels to percentages", () => {
|
|
25
|
-
expect(
|
|
26
|
-
getPercentageSizeFromMixedSizes(
|
|
27
|
-
{
|
|
28
|
-
sizePixels: 50_000,
|
|
29
|
-
},
|
|
30
|
-
100_000
|
|
31
|
-
)
|
|
32
|
-
).toBe(50);
|
|
33
|
-
expect(
|
|
34
|
-
getPercentageSizeFromMixedSizes(
|
|
35
|
-
{
|
|
36
|
-
sizePercentage: 25,
|
|
37
|
-
sizePixels: 50_000,
|
|
38
|
-
},
|
|
39
|
-
100_000
|
|
40
|
-
)
|
|
41
|
-
).toBe(25);
|
|
42
|
-
});
|
|
43
|
-
|
|
44
|
-
it("should return undefined if neither pixel nor percentage sizes specified", () => {
|
|
45
|
-
expect(getPercentageSizeFromMixedSizes({}, 100_000)).toBeUndefined();
|
|
46
|
-
});
|
|
47
|
-
});
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import { MixedSizes } from "../types";
|
|
2
|
-
import { convertPixelsToPercentage } from "./convertPixelsToPercentage";
|
|
3
|
-
|
|
4
|
-
export function getPercentageSizeFromMixedSizes(
|
|
5
|
-
{ sizePercentage, sizePixels }: Partial<MixedSizes>,
|
|
6
|
-
groupSizePixels: number
|
|
7
|
-
): number | undefined {
|
|
8
|
-
if (sizePercentage != null) {
|
|
9
|
-
return sizePercentage;
|
|
10
|
-
} else if (sizePixels != null) {
|
|
11
|
-
return convertPixelsToPercentage(sizePixels, groupSizePixels);
|
|
12
|
-
}
|
|
13
|
-
|
|
14
|
-
return undefined;
|
|
15
|
-
}
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
import { shouldMonitorPixelBasedConstraints } from "./shouldMonitorPixelBasedConstraints";
|
|
2
|
-
|
|
3
|
-
describe("shouldMonitorPixelBasedConstraints", () => {
|
|
4
|
-
it("should identify min, max, or collapsed size pixel constraints", () => {
|
|
5
|
-
expect(
|
|
6
|
-
shouldMonitorPixelBasedConstraints([{}, { collapsedSizePixels: 100 }, {}])
|
|
7
|
-
).toBe(true);
|
|
8
|
-
|
|
9
|
-
expect(
|
|
10
|
-
shouldMonitorPixelBasedConstraints([{ minSizePixels: 100 }, {}, {}])
|
|
11
|
-
).toBe(true);
|
|
12
|
-
|
|
13
|
-
expect(
|
|
14
|
-
shouldMonitorPixelBasedConstraints([{}, {}, { maxSizePixels: 100 }])
|
|
15
|
-
).toBe(true);
|
|
16
|
-
});
|
|
17
|
-
|
|
18
|
-
it("should ignore default size constraints", () => {
|
|
19
|
-
expect(
|
|
20
|
-
shouldMonitorPixelBasedConstraints([{ defaultSizePixels: 100 }])
|
|
21
|
-
).toBe(false);
|
|
22
|
-
});
|
|
23
|
-
});
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import { PanelConstraints } from "../Panel";
|
|
2
|
-
|
|
3
|
-
export function shouldMonitorPixelBasedConstraints(
|
|
4
|
-
constraints: PanelConstraints[]
|
|
5
|
-
): boolean {
|
|
6
|
-
return constraints.some((constraints) => {
|
|
7
|
-
return (
|
|
8
|
-
constraints.collapsedSizePixels !== undefined ||
|
|
9
|
-
constraints.maxSizePixels !== undefined ||
|
|
10
|
-
constraints.minSizePixels !== undefined
|
|
11
|
-
);
|
|
12
|
-
});
|
|
13
|
-
}
|