react-resizable-panels 1.0.3 → 1.0.4

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/CHANGELOG.md CHANGED
@@ -1,5 +1,9 @@
1
1
  # Changelog
2
2
 
3
+ ## 1.0.4
4
+
5
+ - Edge case bug fix for `isCollapsed` panel method
6
+
3
7
  ## 1.0.3
4
8
 
5
9
  - Remember most recently expanded panel size in local storage (#234)
@@ -1326,7 +1326,7 @@ function PanelGroupWithForwardedRef({
1326
1326
  panelDataArray
1327
1327
  } = eagerValuesRef.current;
1328
1328
  const {
1329
- collapsedSize,
1329
+ collapsedSize = 0,
1330
1330
  collapsible,
1331
1331
  panelSize
1332
1332
  } = panelDataHelper(panelDataArray, panelData, layout);
@@ -1431,7 +1431,7 @@ function PanelGroupWithForwardedRef({
1431
1431
  panelDataArray
1432
1432
  } = eagerValuesRef.current;
1433
1433
  const {
1434
- collapsedSize,
1434
+ collapsedSize = 0,
1435
1435
  collapsible,
1436
1436
  panelSize
1437
1437
  } = panelDataHelper(panelDataArray, panelData, layout);
@@ -1407,7 +1407,7 @@ function PanelGroupWithForwardedRef({
1407
1407
  panelDataArray
1408
1408
  } = eagerValuesRef.current;
1409
1409
  const {
1410
- collapsedSize,
1410
+ collapsedSize = 0,
1411
1411
  collapsible,
1412
1412
  panelSize
1413
1413
  } = panelDataHelper(panelDataArray, panelData, layout);
@@ -1302,7 +1302,7 @@ function PanelGroupWithForwardedRef({
1302
1302
  panelDataArray
1303
1303
  } = eagerValuesRef.current;
1304
1304
  const {
1305
- collapsedSize,
1305
+ collapsedSize = 0,
1306
1306
  collapsible,
1307
1307
  panelSize
1308
1308
  } = panelDataHelper(panelDataArray, panelData, layout);
@@ -1328,7 +1328,7 @@ function PanelGroupWithForwardedRef({
1328
1328
  panelDataArray
1329
1329
  } = eagerValuesRef.current;
1330
1330
  const {
1331
- collapsedSize,
1331
+ collapsedSize = 0,
1332
1332
  collapsible,
1333
1333
  panelSize
1334
1334
  } = panelDataHelper(panelDataArray, panelData, layout);
@@ -1438,7 +1438,7 @@ function PanelGroupWithForwardedRef({
1438
1438
  panelDataArray
1439
1439
  } = eagerValuesRef.current;
1440
1440
  const {
1441
- collapsedSize,
1441
+ collapsedSize = 0,
1442
1442
  collapsible,
1443
1443
  panelSize
1444
1444
  } = panelDataHelper(panelDataArray, panelData, layout);
@@ -1414,7 +1414,7 @@ function PanelGroupWithForwardedRef({
1414
1414
  panelDataArray
1415
1415
  } = eagerValuesRef.current;
1416
1416
  const {
1417
- collapsedSize,
1417
+ collapsedSize = 0,
1418
1418
  collapsible,
1419
1419
  panelSize
1420
1420
  } = panelDataHelper(panelDataArray, panelData, layout);
@@ -1275,7 +1275,7 @@ function PanelGroupWithForwardedRef({
1275
1275
  panelDataArray
1276
1276
  } = eagerValuesRef.current;
1277
1277
  const {
1278
- collapsedSize,
1278
+ collapsedSize = 0,
1279
1279
  collapsible,
1280
1280
  panelSize
1281
1281
  } = panelDataHelper(panelDataArray, panelData, layout);
@@ -1251,7 +1251,7 @@ function PanelGroupWithForwardedRef({
1251
1251
  panelDataArray
1252
1252
  } = eagerValuesRef.current;
1253
1253
  const {
1254
- collapsedSize,
1254
+ collapsedSize = 0,
1255
1255
  collapsible,
1256
1256
  panelSize
1257
1257
  } = panelDataHelper(panelDataArray, panelData, layout);
@@ -1304,7 +1304,7 @@ function PanelGroupWithForwardedRef({
1304
1304
  panelDataArray
1305
1305
  } = eagerValuesRef.current;
1306
1306
  const {
1307
- collapsedSize,
1307
+ collapsedSize = 0,
1308
1308
  collapsible,
1309
1309
  panelSize
1310
1310
  } = panelDataHelper(panelDataArray, panelData, layout);
@@ -1175,7 +1175,7 @@ function PanelGroupWithForwardedRef({
1175
1175
  panelDataArray
1176
1176
  } = eagerValuesRef.current;
1177
1177
  const {
1178
- collapsedSize,
1178
+ collapsedSize = 0,
1179
1179
  collapsible,
1180
1180
  panelSize
1181
1181
  } = panelDataHelper(panelDataArray, panelData, layout);
@@ -1151,7 +1151,7 @@ function PanelGroupWithForwardedRef({
1151
1151
  panelDataArray
1152
1152
  } = eagerValuesRef.current;
1153
1153
  const {
1154
- collapsedSize,
1154
+ collapsedSize = 0,
1155
1155
  collapsible,
1156
1156
  panelSize
1157
1157
  } = panelDataHelper(panelDataArray, panelData, layout);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react-resizable-panels",
3
- "version": "1.0.3",
3
+ "version": "1.0.4",
4
4
  "description": "React components for resizable panel groups/layouts",
5
5
  "author": "Brian Vaughn <brian.david.vaughn@gmail.com>",
6
6
  "license": "MIT",
@@ -89,13 +89,19 @@ describe("PanelGroup", () => {
89
89
  assert(mostRecentLayout);
90
90
 
91
91
  verifyExpandedPanelGroupLayout(mostRecentLayout, [50, 50]);
92
+ expect(leftPanelRef.current?.isCollapsed()).toBe(false);
93
+ expect(rightPanelRef.current?.isCollapsed()).toBe(false);
92
94
  act(() => {
93
95
  leftPanelRef.current?.collapse();
94
96
  });
97
+ expect(leftPanelRef.current?.isCollapsed()).toBe(true);
98
+ expect(rightPanelRef.current?.isCollapsed()).toBe(false);
95
99
  verifyExpandedPanelGroupLayout(mostRecentLayout, [0, 100]);
96
100
  act(() => {
97
101
  leftPanelRef.current?.expand();
98
102
  });
103
+ expect(leftPanelRef.current?.isCollapsed()).toBe(false);
104
+ expect(rightPanelRef.current?.isCollapsed()).toBe(false);
99
105
  verifyExpandedPanelGroupLayout(mostRecentLayout, [50, 50]);
100
106
  });
101
107
 
@@ -103,14 +109,20 @@ describe("PanelGroup", () => {
103
109
  assert(mostRecentLayout);
104
110
 
105
111
  verifyExpandedPanelGroupLayout(mostRecentLayout, [50, 50]);
112
+ expect(leftPanelRef.current?.isCollapsed()).toBe(false);
113
+ expect(rightPanelRef.current?.isCollapsed()).toBe(false);
106
114
  act(() => {
107
115
  rightPanelRef.current?.collapse();
108
116
  });
109
117
  verifyExpandedPanelGroupLayout(mostRecentLayout, [100, 0]);
118
+ expect(leftPanelRef.current?.isCollapsed()).toBe(false);
119
+ expect(rightPanelRef.current?.isCollapsed()).toBe(true);
110
120
  act(() => {
111
121
  rightPanelRef.current?.expand();
112
122
  });
113
123
  verifyExpandedPanelGroupLayout(mostRecentLayout, [50, 50]);
124
+ expect(leftPanelRef.current?.isCollapsed()).toBe(false);
125
+ expect(rightPanelRef.current?.isCollapsed()).toBe(false);
114
126
  });
115
127
 
116
128
  it("should re-expand to the most recent size before collapsing", () => {
package/src/PanelGroup.ts CHANGED
@@ -454,11 +454,11 @@ function PanelGroupWithForwardedRef({
454
454
  const isPanelCollapsed = useCallback((panelData: PanelData) => {
455
455
  const { layout, panelDataArray } = eagerValuesRef.current;
456
456
 
457
- const { collapsedSize, collapsible, panelSize } = panelDataHelper(
458
- panelDataArray,
459
- panelData,
460
- layout
461
- );
457
+ const {
458
+ collapsedSize = 0,
459
+ collapsible,
460
+ panelSize,
461
+ } = panelDataHelper(panelDataArray, panelData, layout);
462
462
 
463
463
  return collapsible === true && panelSize === collapsedSize;
464
464
  }, []);