react-resizable-panels 0.0.48 → 0.0.49
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 +3 -0
- package/dist/react-resizable-panels.cjs.js +3 -13
- package/dist/react-resizable-panels.development.cjs.js +7 -5
- package/dist/react-resizable-panels.development.esm.js +7 -5
- package/dist/react-resizable-panels.esm.js +3 -13
- package/package.json +1 -1
- package/src/PanelGroup.ts +13 -11
package/CHANGELOG.md
CHANGED
|
@@ -762,13 +762,6 @@ function savePanelGroupLayout(autoSaveId, panels, sizes, storage) {
|
|
|
762
762
|
}
|
|
763
763
|
}
|
|
764
764
|
|
|
765
|
-
function isServerRendering() {
|
|
766
|
-
try {
|
|
767
|
-
return typeof window === undefined;
|
|
768
|
-
} catch (error) {}
|
|
769
|
-
return true;
|
|
770
|
-
}
|
|
771
|
-
|
|
772
765
|
const debounceMap = {};
|
|
773
766
|
|
|
774
767
|
// PanelGroup might be rendering in a server-side environment where localStorage is not available
|
|
@@ -958,10 +951,10 @@ function PanelGroupWithForwardedRef({
|
|
|
958
951
|
totalDefaultSize += panel.current.defaultSize;
|
|
959
952
|
}
|
|
960
953
|
});
|
|
961
|
-
if (totalDefaultSize > 100) {
|
|
962
|
-
throw new Error(`
|
|
954
|
+
if (totalDefaultSize > 100 || panelsWithNullDefaultSize === 0 && totalDefaultSize !== 100) {
|
|
955
|
+
throw new Error(`Invalid default sizes specified for panels`);
|
|
963
956
|
} else if (totalMinSize > 100) {
|
|
964
|
-
throw new Error(`
|
|
957
|
+
throw new Error(`Invalid minimum sizes specified for panels`);
|
|
965
958
|
}
|
|
966
959
|
setSizes(panelsArray.map(panel => {
|
|
967
960
|
if (panel.current.defaultSize === null) {
|
|
@@ -995,9 +988,6 @@ function PanelGroupWithForwardedRef({
|
|
|
995
988
|
// This includes server rendering.
|
|
996
989
|
// At this point the best we can do is render everything with the same size.
|
|
997
990
|
if (panels.size === 0) {
|
|
998
|
-
if (isServerRendering() && defaultSize == null) {
|
|
999
|
-
console.warn(`WARNING: Panel defaultSize prop recommended to avoid layout shift after server rendering`);
|
|
1000
|
-
}
|
|
1001
991
|
return {
|
|
1002
992
|
flexBasis: 0,
|
|
1003
993
|
flexGrow: defaultSize != null ? defaultSize : undefined,
|
|
@@ -958,10 +958,10 @@ function PanelGroupWithForwardedRef({
|
|
|
958
958
|
totalDefaultSize += panel.current.defaultSize;
|
|
959
959
|
}
|
|
960
960
|
});
|
|
961
|
-
if (totalDefaultSize > 100) {
|
|
962
|
-
throw new Error(`
|
|
961
|
+
if (totalDefaultSize > 100 || panelsWithNullDefaultSize === 0 && totalDefaultSize !== 100) {
|
|
962
|
+
throw new Error(`Invalid default sizes specified for panels`);
|
|
963
963
|
} else if (totalMinSize > 100) {
|
|
964
|
-
throw new Error(`
|
|
964
|
+
throw new Error(`Invalid minimum sizes specified for panels`);
|
|
965
965
|
}
|
|
966
966
|
setSizes(panelsArray.map(panel => {
|
|
967
967
|
if (panel.current.defaultSize === null) {
|
|
@@ -995,8 +995,10 @@ function PanelGroupWithForwardedRef({
|
|
|
995
995
|
// This includes server rendering.
|
|
996
996
|
// At this point the best we can do is render everything with the same size.
|
|
997
997
|
if (panels.size === 0) {
|
|
998
|
-
|
|
999
|
-
|
|
998
|
+
{
|
|
999
|
+
if (isServerRendering() && defaultSize == null) {
|
|
1000
|
+
console.warn(`WARNING: Panel defaultSize prop recommended to avoid layout shift after server rendering`);
|
|
1001
|
+
}
|
|
1000
1002
|
}
|
|
1001
1003
|
return {
|
|
1002
1004
|
flexBasis: 0,
|
|
@@ -934,10 +934,10 @@ function PanelGroupWithForwardedRef({
|
|
|
934
934
|
totalDefaultSize += panel.current.defaultSize;
|
|
935
935
|
}
|
|
936
936
|
});
|
|
937
|
-
if (totalDefaultSize > 100) {
|
|
938
|
-
throw new Error(`
|
|
937
|
+
if (totalDefaultSize > 100 || panelsWithNullDefaultSize === 0 && totalDefaultSize !== 100) {
|
|
938
|
+
throw new Error(`Invalid default sizes specified for panels`);
|
|
939
939
|
} else if (totalMinSize > 100) {
|
|
940
|
-
throw new Error(`
|
|
940
|
+
throw new Error(`Invalid minimum sizes specified for panels`);
|
|
941
941
|
}
|
|
942
942
|
setSizes(panelsArray.map(panel => {
|
|
943
943
|
if (panel.current.defaultSize === null) {
|
|
@@ -971,8 +971,10 @@ function PanelGroupWithForwardedRef({
|
|
|
971
971
|
// This includes server rendering.
|
|
972
972
|
// At this point the best we can do is render everything with the same size.
|
|
973
973
|
if (panels.size === 0) {
|
|
974
|
-
|
|
975
|
-
|
|
974
|
+
{
|
|
975
|
+
if (isServerRendering() && defaultSize == null) {
|
|
976
|
+
console.warn(`WARNING: Panel defaultSize prop recommended to avoid layout shift after server rendering`);
|
|
977
|
+
}
|
|
976
978
|
}
|
|
977
979
|
return {
|
|
978
980
|
flexBasis: 0,
|
|
@@ -738,13 +738,6 @@ function savePanelGroupLayout(autoSaveId, panels, sizes, storage) {
|
|
|
738
738
|
}
|
|
739
739
|
}
|
|
740
740
|
|
|
741
|
-
function isServerRendering() {
|
|
742
|
-
try {
|
|
743
|
-
return typeof window === undefined;
|
|
744
|
-
} catch (error) {}
|
|
745
|
-
return true;
|
|
746
|
-
}
|
|
747
|
-
|
|
748
741
|
const debounceMap = {};
|
|
749
742
|
|
|
750
743
|
// PanelGroup might be rendering in a server-side environment where localStorage is not available
|
|
@@ -934,10 +927,10 @@ function PanelGroupWithForwardedRef({
|
|
|
934
927
|
totalDefaultSize += panel.current.defaultSize;
|
|
935
928
|
}
|
|
936
929
|
});
|
|
937
|
-
if (totalDefaultSize > 100) {
|
|
938
|
-
throw new Error(`
|
|
930
|
+
if (totalDefaultSize > 100 || panelsWithNullDefaultSize === 0 && totalDefaultSize !== 100) {
|
|
931
|
+
throw new Error(`Invalid default sizes specified for panels`);
|
|
939
932
|
} else if (totalMinSize > 100) {
|
|
940
|
-
throw new Error(`
|
|
933
|
+
throw new Error(`Invalid minimum sizes specified for panels`);
|
|
941
934
|
}
|
|
942
935
|
setSizes(panelsArray.map(panel => {
|
|
943
936
|
if (panel.current.defaultSize === null) {
|
|
@@ -971,9 +964,6 @@ function PanelGroupWithForwardedRef({
|
|
|
971
964
|
// This includes server rendering.
|
|
972
965
|
// At this point the best we can do is render everything with the same size.
|
|
973
966
|
if (panels.size === 0) {
|
|
974
|
-
if (isServerRendering() && defaultSize == null) {
|
|
975
|
-
console.warn(`WARNING: Panel defaultSize prop recommended to avoid layout shift after server rendering`);
|
|
976
|
-
}
|
|
977
967
|
return {
|
|
978
968
|
flexBasis: 0,
|
|
979
969
|
flexGrow: defaultSize != null ? defaultSize : undefined,
|
package/package.json
CHANGED
package/src/PanelGroup.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { isDevelopment } from "#is-development";
|
|
1
2
|
import {
|
|
2
3
|
createElement,
|
|
3
4
|
CSSProperties,
|
|
@@ -291,14 +292,13 @@ function PanelGroupWithForwardedRef({
|
|
|
291
292
|
}
|
|
292
293
|
});
|
|
293
294
|
|
|
294
|
-
if (
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
295
|
+
if (
|
|
296
|
+
totalDefaultSize > 100 ||
|
|
297
|
+
(panelsWithNullDefaultSize === 0 && totalDefaultSize !== 100)
|
|
298
|
+
) {
|
|
299
|
+
throw new Error(`Invalid default sizes specified for panels`);
|
|
298
300
|
} else if (totalMinSize > 100) {
|
|
299
|
-
throw new Error(
|
|
300
|
-
`The sum of the minSize of all panels in a group cannot exceed 100.`
|
|
301
|
-
);
|
|
301
|
+
throw new Error(`Invalid minimum sizes specified for panels`);
|
|
302
302
|
}
|
|
303
303
|
|
|
304
304
|
setSizes(
|
|
@@ -338,10 +338,12 @@ function PanelGroupWithForwardedRef({
|
|
|
338
338
|
// This includes server rendering.
|
|
339
339
|
// At this point the best we can do is render everything with the same size.
|
|
340
340
|
if (panels.size === 0) {
|
|
341
|
-
if (
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
341
|
+
if (isDevelopment) {
|
|
342
|
+
if (isServerRendering() && defaultSize == null) {
|
|
343
|
+
console.warn(
|
|
344
|
+
`WARNING: Panel defaultSize prop recommended to avoid layout shift after server rendering`
|
|
345
|
+
);
|
|
346
|
+
}
|
|
345
347
|
}
|
|
346
348
|
|
|
347
349
|
return {
|