@aiquants/resize-panels 1.8.1 → 2.0.0
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/README.md +213 -108
- package/dist/GlobalDebugOverlay-Cf3GOn2A.cjs +1 -0
- package/dist/{GlobalDebugOverlay-DYCR0FIu.js → GlobalDebugOverlay-DQtUdNeF.js} +28 -28
- package/dist/debugOverlayStore-D7FT6zPE.js +135 -0
- package/dist/debugOverlayStore-DY09saU8.cjs +1 -0
- package/dist/index-DZ0itiBD.js +1299 -0
- package/dist/index-DqATP_BA.cjs +2 -0
- package/dist/index.cjs +1 -1
- package/dist/index.d.ts +2 -29
- package/dist/index.js +25 -13
- package/dist/src/GlobalDebugOverlay.d.ts.map +1 -0
- package/dist/src/Panel.d.ts +46 -0
- package/dist/src/Panel.d.ts.map +1 -0
- package/dist/src/PanelDebugInfo.d.ts +34 -0
- package/dist/src/PanelDebugInfo.d.ts.map +1 -0
- package/dist/src/PanelGroup.d.ts.map +1 -0
- package/dist/{PanelResizeHandle.d.ts → src/PanelResizeHandle.d.ts} +1 -1
- package/dist/src/PanelResizeHandle.d.ts.map +1 -0
- package/dist/src/allocateLayout.d.ts +60 -0
- package/dist/src/allocateLayout.d.ts.map +1 -0
- package/dist/src/context.d.ts.map +1 -0
- package/dist/{debugOverlayStore.d.ts → src/debugOverlayStore.d.ts} +10 -2
- package/dist/src/debugOverlayStore.d.ts.map +1 -0
- package/dist/src/hooks.d.ts +48 -0
- package/dist/src/hooks.d.ts.map +1 -0
- package/dist/src/index.d.ts +32 -0
- package/dist/src/index.d.ts.map +1 -0
- package/dist/src/reducer.d.ts +49 -0
- package/dist/src/reducer.d.ts.map +1 -0
- package/dist/src/roundHalfToEven.d.ts.map +1 -0
- package/dist/src/types.d.ts +481 -0
- package/dist/src/types.d.ts.map +1 -0
- package/dist/src/utils/simple-logger.d.ts.map +1 -0
- package/dist/src/utils.d.ts +164 -0
- package/dist/src/utils.d.ts.map +1 -0
- package/dist/styles/resize-panels.standalone.css +1 -1
- package/dist/tests/support/dom-harness.d.ts +89 -0
- package/dist/tests/support/dom-harness.d.ts.map +1 -0
- package/package.json +3 -3
- package/src/GlobalDebugOverlay.tsx +3 -3
- package/src/Panel.tsx +203 -541
- package/src/PanelDebugInfo.tsx +52 -106
- package/src/PanelGroup.tsx +27 -42
- package/src/PanelResizeHandle.tsx +544 -504
- package/src/allocateLayout.ts +412 -0
- package/src/debugOverlayStore.ts +19 -15
- package/src/hooks.ts +187 -779
- package/src/index.ts +37 -6
- package/src/reducer.ts +364 -1126
- package/src/types.ts +282 -65
- package/src/utils.ts +205 -164
- package/dist/GlobalDebugOverlay-afs0vF-Q.cjs +0 -1
- package/dist/GlobalDebugOverlay.d.ts.map +0 -1
- package/dist/Panel.d.ts +0 -7
- package/dist/Panel.d.ts.map +0 -1
- package/dist/PanelDebugInfo.d.ts +0 -26
- package/dist/PanelDebugInfo.d.ts.map +0 -1
- package/dist/PanelGroup.d.ts.map +0 -1
- package/dist/PanelResizeHandle.d.ts.map +0 -1
- package/dist/context.d.ts.map +0 -1
- package/dist/debugOverlayStore-Cntyxboe.js +0 -141
- package/dist/debugOverlayStore-Dkl-fHoa.cjs +0 -1
- package/dist/debugOverlayStore.d.ts.map +0 -1
- package/dist/hooks.d.ts +0 -45
- package/dist/hooks.d.ts.map +0 -1
- package/dist/index-BzgId8aQ.js +0 -1972
- package/dist/index-xTV-c0PN.cjs +0 -2
- package/dist/index.d.ts.map +0 -1
- package/dist/reducer.d.ts +0 -39
- package/dist/reducer.d.ts.map +0 -1
- package/dist/roundHalfToEven.d.ts.map +0 -1
- package/dist/types.d.ts +0 -253
- package/dist/types.d.ts.map +0 -1
- package/dist/utils/simple-logger.d.ts.map +0 -1
- package/dist/utils.d.ts +0 -61
- package/dist/utils.d.ts.map +0 -1
- /package/dist/{GlobalDebugOverlay.d.ts → src/GlobalDebugOverlay.d.ts} +0 -0
- /package/dist/{PanelGroup.d.ts → src/PanelGroup.d.ts} +0 -0
- /package/dist/{context.d.ts → src/context.d.ts} +0 -0
- /package/dist/{roundHalfToEven.d.ts → src/roundHalfToEven.d.ts} +0 -0
- /package/dist/{utils → src/utils}/simple-logger.d.ts +0 -0
package/src/index.ts
CHANGED
|
@@ -5,44 +5,69 @@
|
|
|
5
5
|
* 再利用可能なリサイズパネルコンポーネントとユーティリティ
|
|
6
6
|
*/
|
|
7
7
|
|
|
8
|
+
export type { LayoutAllocation, PanelBounds } from "./allocateLayout"
|
|
9
|
+
export { allocatePanelSizes, isPixelPanel, resolvePanelBounds } from "./allocateLayout"
|
|
8
10
|
export { PanelGroupContext, usePanelGroup } from "./context"
|
|
9
11
|
export { usePanelControls, useResizablePanels } from "./hooks"
|
|
10
12
|
export { Panel } from "./Panel"
|
|
11
13
|
export { PanelGroup } from "./PanelGroup"
|
|
12
14
|
export { PanelResizeHandle } from "./PanelResizeHandle"
|
|
13
|
-
|
|
15
|
+
export { findLayoutInvariantBreach, getPanelPreferenceInPixels, initialPanelGroupLayoutState, panelReducer } from "./reducer"
|
|
14
16
|
export type {
|
|
15
17
|
CollapsibleConfig,
|
|
16
18
|
CollapsibleDirection,
|
|
17
19
|
ContainerAxisMeasurement,
|
|
18
|
-
ContainerSize,
|
|
19
20
|
FlexibleSize,
|
|
21
|
+
LayoutConstraintViolation,
|
|
22
|
+
LayoutConstraintViolationReason,
|
|
23
|
+
PanelAction,
|
|
20
24
|
PanelCollapseDirection,
|
|
21
25
|
PanelDirection,
|
|
22
26
|
PanelGroupContextValue,
|
|
27
|
+
PanelGroupLayoutState,
|
|
23
28
|
PanelGroupProps,
|
|
24
29
|
PanelLayoutData,
|
|
30
|
+
PanelMeasurement,
|
|
25
31
|
PanelProps,
|
|
32
|
+
PanelRegistration,
|
|
33
|
+
PanelResizeHandleIndicatorConfig,
|
|
26
34
|
PanelResizeHandleProps,
|
|
35
|
+
PersistedPanelSize,
|
|
36
|
+
ResizeHandleLayoutData,
|
|
27
37
|
SizeConfig,
|
|
28
38
|
SizeUnit,
|
|
29
39
|
} from "./types"
|
|
30
|
-
|
|
31
40
|
export {
|
|
41
|
+
calculateSnapThreshold,
|
|
32
42
|
clamp,
|
|
43
|
+
findOwningGroup,
|
|
33
44
|
getConstraintInPixels,
|
|
34
45
|
getContainerSize,
|
|
46
|
+
getGroupLayoutElements,
|
|
35
47
|
loadLayout,
|
|
36
48
|
normalizeSizeConfig,
|
|
49
|
+
percentageToPixels,
|
|
37
50
|
saveLayout,
|
|
51
|
+
toRoundedPercentage,
|
|
38
52
|
} from "./utils"
|
|
39
53
|
|
|
54
|
+
/**
|
|
55
|
+
* Safely escape a selector identifier for use in CSS query selectors.
|
|
56
|
+
* セレクタ文字列を安全にエスケープする補助関数。
|
|
57
|
+
*/
|
|
58
|
+
const escapeIdentifier = (id: string): string => {
|
|
59
|
+
return typeof CSS !== "undefined" && typeof CSS.escape === "function" ? CSS.escape(id) : id.replace(/["\\]/g, "\\$&")
|
|
60
|
+
}
|
|
61
|
+
|
|
40
62
|
/**
|
|
41
63
|
* Locate a panel element in the DOM by its data attribute.
|
|
42
64
|
* data 属性を手がかりにパネル要素を DOM から取得する補助関数。
|
|
43
65
|
*/
|
|
44
66
|
export const getPanelElement = (id: string): HTMLElement | null => {
|
|
45
|
-
|
|
67
|
+
if (typeof document === "undefined") {
|
|
68
|
+
return null
|
|
69
|
+
}
|
|
70
|
+
return document.querySelector(`[data-panel-id="${escapeIdentifier(id)}"]`)
|
|
46
71
|
}
|
|
47
72
|
|
|
48
73
|
/**
|
|
@@ -50,7 +75,10 @@ export const getPanelElement = (id: string): HTMLElement | null => {
|
|
|
50
75
|
* data 属性を手がかりにパネルグループ要素を DOM から取得する補助関数。
|
|
51
76
|
*/
|
|
52
77
|
export const getPanelGroupElement = (id: string): HTMLElement | null => {
|
|
53
|
-
|
|
78
|
+
if (typeof document === "undefined") {
|
|
79
|
+
return null
|
|
80
|
+
}
|
|
81
|
+
return document.querySelector(`[data-panel-group-id="${escapeIdentifier(id)}"]`)
|
|
54
82
|
}
|
|
55
83
|
|
|
56
84
|
/**
|
|
@@ -58,5 +86,8 @@ export const getPanelGroupElement = (id: string): HTMLElement | null => {
|
|
|
58
86
|
* data 属性を手がかりにリサイズハンドル要素を DOM から取得する補助関数。
|
|
59
87
|
*/
|
|
60
88
|
export const getResizeHandleElement = (id: string): HTMLElement | null => {
|
|
61
|
-
|
|
89
|
+
if (typeof document === "undefined") {
|
|
90
|
+
return null
|
|
91
|
+
}
|
|
92
|
+
return document.querySelector(`[data-resize-handle-id="${escapeIdentifier(id)}"]`)
|
|
62
93
|
}
|