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.
- package/.eslintrc.cjs +1 -0
- package/CHANGELOG.md +5 -0
- package/dist/declarations/src/Panel.d.ts +19 -34
- package/dist/declarations/src/PanelGroup.d.ts +9 -13
- package/dist/declarations/src/PanelResizeHandle.d.ts +5 -7
- package/dist/declarations/src/index.d.ts +2 -2
- package/dist/declarations/src/types.d.ts +0 -7
- package/dist/declarations/src/utils/assert.d.ts +1 -0
- package/dist/declarations/src/vendor/react.d.ts +2 -2
- package/dist/react-resizable-panels.browser.cjs.js +253 -518
- package/dist/react-resizable-panels.browser.cjs.mjs +2 -1
- package/dist/react-resizable-panels.browser.development.cjs.js +279 -574
- package/dist/react-resizable-panels.browser.development.cjs.mjs +2 -1
- package/dist/react-resizable-panels.browser.development.esm.js +279 -575
- package/dist/react-resizable-panels.browser.esm.js +253 -519
- package/dist/react-resizable-panels.cjs.d.ts +88 -1
- package/dist/react-resizable-panels.cjs.d.ts.map +1 -1
- package/dist/react-resizable-panels.cjs.js +1481 -1983
- package/dist/react-resizable-panels.cjs.js.map +1 -1
- package/dist/react-resizable-panels.cjs.mjs +2 -1
- package/dist/react-resizable-panels.development.cjs.js +281 -576
- package/dist/react-resizable-panels.development.cjs.mjs +2 -1
- package/dist/react-resizable-panels.development.esm.js +281 -577
- package/dist/react-resizable-panels.development.node.cjs.js +267 -502
- package/dist/react-resizable-panels.development.node.cjs.mjs +2 -1
- package/dist/react-resizable-panels.development.node.esm.js +267 -503
- package/dist/react-resizable-panels.esm.js +1476 -1959
- package/dist/react-resizable-panels.esm.js.map +1 -1
- package/dist/react-resizable-panels.node.cjs.js +239 -444
- package/dist/react-resizable-panels.node.cjs.mjs +2 -1
- package/dist/react-resizable-panels.node.esm.js +239 -445
- package/package.json +1 -1
- package/src/Panel.test.tsx +74 -73
- package/src/Panel.ts +44 -68
- package/src/PanelGroup.test.tsx +43 -42
- package/src/PanelGroup.ts +221 -411
- package/src/PanelGroupContext.ts +2 -3
- package/src/PanelResizeHandle.test.tsx +68 -0
- package/src/PanelResizeHandle.ts +31 -22
- package/src/hooks/useWindowSplitterBehavior.ts +2 -1
- package/src/hooks/useWindowSplitterPanelGroupBehavior.ts +22 -33
- package/src/index.ts +4 -3
- package/src/types.ts +0 -9
- package/src/utils/adjustLayoutByDelta.test.ts +206 -336
- package/src/utils/adjustLayoutByDelta.ts +59 -51
- package/src/utils/assert.ts +1 -1
- package/src/utils/calculateAriaValues.test.ts +6 -11
- package/src/utils/calculateAriaValues.ts +7 -29
- package/src/utils/calculateDeltaPercentage.ts +8 -15
- package/src/utils/calculateDragOffsetPercentage.ts +11 -5
- package/src/utils/calculateUnsafeDefaultLayout.test.ts +4 -9
- package/src/utils/calculateUnsafeDefaultLayout.ts +13 -18
- package/src/utils/callPanelCallbacks.ts +11 -46
- package/src/utils/getResizeEventCursorPosition.ts +2 -0
- package/src/utils/resizePanel.test.ts +6 -52
- package/src/utils/resizePanel.ts +24 -46
- package/src/utils/test-utils.ts +6 -7
- package/src/utils/validatePanelConstraints.test.ts +12 -65
- package/src/utils/validatePanelConstraints.ts +26 -67
- package/src/utils/validatePanelGroupLayout.test.ts +27 -142
- package/src/utils/validatePanelGroupLayout.ts +17 -13
- package/src/vendor/react.ts +2 -0
- package/src/utils/computePercentagePanelConstraints.test.ts +0 -98
- package/src/utils/computePercentagePanelConstraints.ts +0 -56
- package/src/utils/convertPercentageToPixels.test.ts +0 -9
- package/src/utils/convertPercentageToPixels.ts +0 -6
- package/src/utils/convertPixelConstraintsToPercentages.test.ts +0 -47
- package/src/utils/convertPixelConstraintsToPercentages.ts +0 -72
- package/src/utils/convertPixelsToPercentage.test.ts +0 -9
- package/src/utils/convertPixelsToPercentage.ts +0 -6
- package/src/utils/getPercentageSizeFromMixedSizes.test.ts +0 -47
- package/src/utils/getPercentageSizeFromMixedSizes.ts +0 -15
- package/src/utils/shouldMonitorPixelBasedConstraints.test.ts +0 -23
- package/src/utils/shouldMonitorPixelBasedConstraints.ts +0 -13
|
@@ -1,2 +1,89 @@
|
|
|
1
|
-
|
|
1
|
+
import { CSSProperties, ElementType, HTMLAttributes, PropsWithChildren } from "react";
|
|
2
|
+
export type PanelOnCollapse = () => void;
|
|
3
|
+
export type PanelOnExpand = () => void;
|
|
4
|
+
export type PanelOnResize = (size: number, prevSize: number | undefined) => void;
|
|
5
|
+
export type ImperativePanelHandle = {
|
|
6
|
+
collapse: () => void;
|
|
7
|
+
expand: () => void;
|
|
8
|
+
getId(): string;
|
|
9
|
+
getSize(): number;
|
|
10
|
+
isCollapsed: () => boolean;
|
|
11
|
+
isExpanded: () => boolean;
|
|
12
|
+
resize: (size: number) => void;
|
|
13
|
+
};
|
|
14
|
+
export type PanelProps = Omit<HTMLAttributes<ElementType>, "id" | "onResize"> & PropsWithChildren<{
|
|
15
|
+
className?: string;
|
|
16
|
+
collapsedSize?: number | undefined;
|
|
17
|
+
collapsible?: boolean | undefined;
|
|
18
|
+
defaultSize?: number | undefined;
|
|
19
|
+
id?: string;
|
|
20
|
+
maxSize?: number | undefined;
|
|
21
|
+
minSize?: number | undefined;
|
|
22
|
+
onCollapse?: PanelOnCollapse;
|
|
23
|
+
onExpand?: PanelOnExpand;
|
|
24
|
+
onResize?: PanelOnResize;
|
|
25
|
+
order?: number;
|
|
26
|
+
style?: object;
|
|
27
|
+
tagName?: ElementType;
|
|
28
|
+
}>;
|
|
29
|
+
export declare namespace PanelWithForwardedRef {
|
|
30
|
+
var displayName: string;
|
|
31
|
+
}
|
|
32
|
+
export const Panel: import("react").ForwardRefExoticComponent<Omit<HTMLAttributes<ElementType>, "id" | "onResize"> & {
|
|
33
|
+
className?: string | undefined;
|
|
34
|
+
collapsedSize?: number | undefined;
|
|
35
|
+
collapsible?: boolean | undefined;
|
|
36
|
+
defaultSize?: number | undefined;
|
|
37
|
+
id?: string | undefined;
|
|
38
|
+
maxSize?: number | undefined;
|
|
39
|
+
minSize?: number | undefined;
|
|
40
|
+
onCollapse?: PanelOnCollapse | undefined;
|
|
41
|
+
onExpand?: PanelOnExpand | undefined;
|
|
42
|
+
onResize?: PanelOnResize | undefined;
|
|
43
|
+
order?: number | undefined;
|
|
44
|
+
style?: object | undefined;
|
|
45
|
+
tagName?: ElementType | undefined;
|
|
46
|
+
} & {
|
|
47
|
+
children?: import("react").ReactNode;
|
|
48
|
+
} & import("react").RefAttributes<ImperativePanelHandle>>;
|
|
49
|
+
type Direction = "horizontal" | "vertical";
|
|
50
|
+
export function assert(expectedCondition: any, message?: string): asserts expectedCondition;
|
|
51
|
+
export type ImperativePanelGroupHandle = {
|
|
52
|
+
getId: () => string;
|
|
53
|
+
getLayout: () => number[];
|
|
54
|
+
setLayout: (layout: number[]) => void;
|
|
55
|
+
};
|
|
56
|
+
export type PanelGroupStorage = {
|
|
57
|
+
getItem(name: string): string | null;
|
|
58
|
+
setItem(name: string, value: string): void;
|
|
59
|
+
};
|
|
60
|
+
export type PanelGroupOnLayout = (layout: number[]) => void;
|
|
61
|
+
export type PanelGroupProps = Omit<HTMLAttributes<ElementType>, "id"> & PropsWithChildren<{
|
|
62
|
+
autoSaveId?: string | null;
|
|
63
|
+
className?: string;
|
|
64
|
+
direction: Direction;
|
|
65
|
+
id?: string | null;
|
|
66
|
+
keyboardResizeBy?: number | null;
|
|
67
|
+
onLayout?: PanelGroupOnLayout | null;
|
|
68
|
+
storage?: PanelGroupStorage;
|
|
69
|
+
style?: CSSProperties;
|
|
70
|
+
tagName?: ElementType;
|
|
71
|
+
}>;
|
|
72
|
+
export const PanelGroup: import("react").ForwardRefExoticComponent<Omit<HTMLAttributes<ElementType>, "id"> & {
|
|
73
|
+
autoSaveId?: string | null | undefined;
|
|
74
|
+
className?: string | undefined;
|
|
75
|
+
direction: Direction;
|
|
76
|
+
id?: string | null | undefined;
|
|
77
|
+
keyboardResizeBy?: number | null | undefined;
|
|
78
|
+
onLayout?: PanelGroupOnLayout | null | undefined;
|
|
79
|
+
storage?: PanelGroupStorage | undefined;
|
|
80
|
+
style?: CSSProperties | undefined;
|
|
81
|
+
tagName?: ElementType | undefined;
|
|
82
|
+
} & {
|
|
83
|
+
children?: import("react").ReactNode;
|
|
84
|
+
} & import("react").RefAttributes<ImperativePanelGroupHandle>>;
|
|
85
|
+
export declare namespace PanelResizeHandle {
|
|
86
|
+
var displayName: string;
|
|
87
|
+
}
|
|
88
|
+
|
|
2
89
|
//# sourceMappingURL=react-resizable-panels.cjs.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"
|
|
1
|
+
{"mappings":"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","sources":["packages/react-resizable-panels/src/src/vendor/react.ts","packages/react-resizable-panels/src/src/PanelGroupContext.ts","packages/react-resizable-panels/src/src/hooks/useIsomorphicEffect.ts","packages/react-resizable-panels/src/src/hooks/useUniqueId.ts","packages/react-resizable-panels/src/src/Panel.ts","packages/react-resizable-panels/src/src/types.ts","packages/react-resizable-panels/src/src/utils/assert.ts","packages/react-resizable-panels/src/src/constants.ts","packages/react-resizable-panels/src/src/utils/numbers/fuzzyCompareNumbers.ts","packages/react-resizable-panels/src/src/utils/numbers/fuzzyNumbersEqual.ts","packages/react-resizable-panels/src/src/utils/resizePanel.ts","packages/react-resizable-panels/src/src/utils/adjustLayoutByDelta.ts","packages/react-resizable-panels/src/src/utils/calculateAriaValues.ts","packages/react-resizable-panels/src/src/utils/dom/getResizeHandleElementsForGroup.ts","packages/react-resizable-panels/src/src/utils/dom/getResizeHandleElementIndex.ts","packages/react-resizable-panels/src/src/utils/determinePivotIndices.ts","packages/react-resizable-panels/src/src/utils/dom/getPanelGroupElement.ts","packages/react-resizable-panels/src/src/utils/dom/getResizeHandleElement.ts","packages/react-resizable-panels/src/src/utils/dom/getResizeHandlePanelIds.ts","packages/react-resizable-panels/src/src/hooks/useWindowSplitterPanelGroupBehavior.ts","packages/react-resizable-panels/src/src/utils/arrays.ts","packages/react-resizable-panels/src/src/utils/events.ts","packages/react-resizable-panels/src/src/utils/getResizeEventCursorPosition.ts","packages/react-resizable-panels/src/src/utils/calculateDragOffsetPercentage.ts","packages/react-resizable-panels/src/src/utils/calculateDeltaPercentage.ts","packages/react-resizable-panels/src/src/utils/calculateUnsafeDefaultLayout.ts","packages/react-resizable-panels/src/src/utils/callPanelCallbacks.ts","packages/react-resizable-panels/src/src/utils/compareLayouts.ts","packages/react-resizable-panels/src/src/utils/computePanelFlexBoxStyle.ts","packages/react-resizable-panels/src/src/utils/cursor.ts","packages/react-resizable-panels/src/src/utils/debounce.ts","packages/react-resizable-panels/src/src/utils/dom/getPanelElementsForGroup.ts","packages/react-resizable-panels/src/src/utils/initializeDefaultStorage.ts","packages/react-resizable-panels/src/src/utils/serialization.ts","packages/react-resizable-panels/src/src/utils/validatePanelConstraints.ts","packages/react-resizable-panels/src/src/utils/validatePanelGroupLayout.ts","packages/react-resizable-panels/src/src/PanelGroup.ts","packages/react-resizable-panels/src/src/hooks/useWindowSplitterBehavior.ts","packages/react-resizable-panels/src/src/PanelResizeHandle.ts","packages/react-resizable-panels/src/src/index.ts","packages/react-resizable-panels/src/index.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"import { Panel } from \"./Panel\";\nimport { PanelGroup } from \"./PanelGroup\";\nimport { PanelResizeHandle } from \"./PanelResizeHandle\";\nimport { assert } from \"./utils/assert\";\n\nimport type {\n ImperativePanelHandle,\n PanelOnCollapse,\n PanelOnExpand,\n PanelOnResize,\n PanelProps,\n} from \"./Panel\";\nimport type {\n ImperativePanelGroupHandle,\n PanelGroupOnLayout,\n PanelGroupProps,\n PanelGroupStorage,\n} from \"./PanelGroup\";\nimport type {\n PanelResizeHandleOnDragging,\n PanelResizeHandleProps,\n} from \"./PanelResizeHandle\";\n\nexport {\n // TypeScript types\n ImperativePanelGroupHandle,\n ImperativePanelHandle,\n PanelGroupOnLayout,\n PanelGroupProps,\n PanelGroupStorage,\n PanelOnCollapse,\n PanelOnExpand,\n PanelOnResize,\n PanelProps,\n PanelResizeHandleOnDragging,\n PanelResizeHandleProps,\n\n // Utiltiy methods\n assert,\n\n // React components\n Panel,\n PanelGroup,\n PanelResizeHandle,\n};\n"],"names":[],"version":3,"file":"react-resizable-panels.cjs.d.ts.map","sourceRoot":"../../../"}
|