react-resizable-panels 0.0.62 → 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 (73) hide show
  1. package/.eslintrc.cjs +1 -0
  2. package/CHANGELOG.md +9 -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 +255 -519
  11. package/dist/react-resizable-panels.browser.cjs.mjs +2 -1
  12. package/dist/react-resizable-panels.browser.development.cjs.js +281 -575
  13. package/dist/react-resizable-panels.browser.development.cjs.mjs +2 -1
  14. package/dist/react-resizable-panels.browser.development.esm.js +281 -576
  15. package/dist/react-resizable-panels.browser.esm.js +255 -520
  16. package/dist/react-resizable-panels.cjs.js +255 -519
  17. package/dist/react-resizable-panels.cjs.js.map +1 -0
  18. package/dist/react-resizable-panels.cjs.mjs +2 -1
  19. package/dist/react-resizable-panels.development.cjs.js +283 -577
  20. package/dist/react-resizable-panels.development.cjs.mjs +2 -1
  21. package/dist/react-resizable-panels.development.esm.js +283 -578
  22. package/dist/react-resizable-panels.development.node.cjs.js +269 -503
  23. package/dist/react-resizable-panels.development.node.cjs.mjs +2 -1
  24. package/dist/react-resizable-panels.development.node.esm.js +269 -504
  25. package/dist/react-resizable-panels.esm.js +255 -520
  26. package/dist/react-resizable-panels.esm.js.map +1 -0
  27. package/dist/react-resizable-panels.node.cjs.js +241 -445
  28. package/dist/react-resizable-panels.node.cjs.mjs +2 -1
  29. package/dist/react-resizable-panels.node.esm.js +241 -446
  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/computePanelFlexBoxStyle.ts +3 -2
  53. package/src/utils/getResizeEventCursorPosition.ts +2 -0
  54. package/src/utils/resizePanel.test.ts +6 -52
  55. package/src/utils/resizePanel.ts +24 -46
  56. package/src/utils/test-utils.ts +6 -7
  57. package/src/utils/validatePanelConstraints.test.ts +12 -65
  58. package/src/utils/validatePanelConstraints.ts +26 -67
  59. package/src/utils/validatePanelGroupLayout.test.ts +27 -142
  60. package/src/utils/validatePanelGroupLayout.ts +17 -13
  61. package/src/vendor/react.ts +2 -0
  62. package/src/utils/computePercentagePanelConstraints.test.ts +0 -98
  63. package/src/utils/computePercentagePanelConstraints.ts +0 -56
  64. package/src/utils/convertPercentageToPixels.test.ts +0 -9
  65. package/src/utils/convertPercentageToPixels.ts +0 -6
  66. package/src/utils/convertPixelConstraintsToPercentages.test.ts +0 -47
  67. package/src/utils/convertPixelConstraintsToPercentages.ts +0 -72
  68. package/src/utils/convertPixelsToPercentage.test.ts +0 -9
  69. package/src/utils/convertPixelsToPercentage.ts +0 -6
  70. package/src/utils/getPercentageSizeFromMixedSizes.test.ts +0 -47
  71. package/src/utils/getPercentageSizeFromMixedSizes.ts +0 -15
  72. package/src/utils/shouldMonitorPixelBasedConstraints.test.ts +0 -23
  73. 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
- }