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.
Files changed (72) hide show
  1. package/.eslintrc.cjs +1 -0
  2. package/CHANGELOG.md +5 -0
  3. package/dist/declarations/src/Panel.d.ts +19 -34
  4. package/dist/declarations/src/PanelGroup.d.ts +9 -13
  5. package/dist/declarations/src/PanelResizeHandle.d.ts +5 -7
  6. package/dist/declarations/src/index.d.ts +2 -2
  7. package/dist/declarations/src/types.d.ts +0 -7
  8. package/dist/declarations/src/utils/assert.d.ts +1 -0
  9. package/dist/declarations/src/vendor/react.d.ts +2 -2
  10. package/dist/react-resizable-panels.browser.cjs.js +252 -517
  11. package/dist/react-resizable-panels.browser.cjs.mjs +2 -1
  12. package/dist/react-resizable-panels.browser.development.cjs.js +278 -573
  13. package/dist/react-resizable-panels.browser.development.cjs.mjs +2 -1
  14. package/dist/react-resizable-panels.browser.development.esm.js +278 -574
  15. package/dist/react-resizable-panels.browser.esm.js +252 -518
  16. package/dist/react-resizable-panels.cjs.js +252 -517
  17. package/dist/react-resizable-panels.cjs.js.map +1 -1
  18. package/dist/react-resizable-panels.cjs.mjs +2 -1
  19. package/dist/react-resizable-panels.development.cjs.js +280 -575
  20. package/dist/react-resizable-panels.development.cjs.mjs +2 -1
  21. package/dist/react-resizable-panels.development.esm.js +280 -576
  22. package/dist/react-resizable-panels.development.node.cjs.js +266 -501
  23. package/dist/react-resizable-panels.development.node.cjs.mjs +2 -1
  24. package/dist/react-resizable-panels.development.node.esm.js +266 -502
  25. package/dist/react-resizable-panels.esm.js +252 -518
  26. package/dist/react-resizable-panels.esm.js.map +1 -1
  27. package/dist/react-resizable-panels.node.cjs.js +238 -443
  28. package/dist/react-resizable-panels.node.cjs.mjs +2 -1
  29. package/dist/react-resizable-panels.node.esm.js +238 -444
  30. package/package.json +1 -1
  31. package/src/Panel.test.tsx +74 -73
  32. package/src/Panel.ts +44 -68
  33. package/src/PanelGroup.test.tsx +43 -42
  34. package/src/PanelGroup.ts +189 -403
  35. package/src/PanelGroupContext.ts +2 -3
  36. package/src/PanelResizeHandle.test.tsx +68 -0
  37. package/src/PanelResizeHandle.ts +31 -22
  38. package/src/hooks/useWindowSplitterBehavior.ts +2 -1
  39. package/src/hooks/useWindowSplitterPanelGroupBehavior.ts +22 -33
  40. package/src/index.ts +4 -3
  41. package/src/types.ts +0 -9
  42. package/src/utils/adjustLayoutByDelta.test.ts +206 -336
  43. package/src/utils/adjustLayoutByDelta.ts +59 -51
  44. package/src/utils/assert.ts +1 -1
  45. package/src/utils/calculateAriaValues.test.ts +6 -11
  46. package/src/utils/calculateAriaValues.ts +7 -29
  47. package/src/utils/calculateDeltaPercentage.ts +8 -15
  48. package/src/utils/calculateDragOffsetPercentage.ts +11 -5
  49. package/src/utils/calculateUnsafeDefaultLayout.test.ts +4 -9
  50. package/src/utils/calculateUnsafeDefaultLayout.ts +13 -18
  51. package/src/utils/callPanelCallbacks.ts +11 -46
  52. package/src/utils/getResizeEventCursorPosition.ts +2 -0
  53. package/src/utils/resizePanel.test.ts +6 -52
  54. package/src/utils/resizePanel.ts +24 -46
  55. package/src/utils/test-utils.ts +6 -7
  56. package/src/utils/validatePanelConstraints.test.ts +12 -65
  57. package/src/utils/validatePanelConstraints.ts +26 -67
  58. package/src/utils/validatePanelGroupLayout.test.ts +27 -142
  59. package/src/utils/validatePanelGroupLayout.ts +17 -13
  60. package/src/vendor/react.ts +2 -0
  61. package/src/utils/computePercentagePanelConstraints.test.ts +0 -98
  62. package/src/utils/computePercentagePanelConstraints.ts +0 -56
  63. package/src/utils/convertPercentageToPixels.test.ts +0 -9
  64. package/src/utils/convertPercentageToPixels.ts +0 -6
  65. package/src/utils/convertPixelConstraintsToPercentages.test.ts +0 -47
  66. package/src/utils/convertPixelConstraintsToPercentages.ts +0 -72
  67. package/src/utils/convertPixelsToPercentage.test.ts +0 -9
  68. package/src/utils/convertPixelsToPercentage.ts +0 -6
  69. package/src/utils/getPercentageSizeFromMixedSizes.test.ts +0 -47
  70. package/src/utils/getPercentageSizeFromMixedSizes.ts +0 -15
  71. package/src/utils/shouldMonitorPixelBasedConstraints.test.ts +0 -23
  72. 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
- }