react-resizable-panels 0.0.63 → 1.0.0-rc.2

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