@aiquants/resize-panels 1.7.2 → 1.8.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/LICENSE +21 -0
- package/README.md +21 -2
- package/dist/index.d.ts +6 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/styles/resize-panels.css +1 -1
- package/dist/styles/resize-panels.standalone.css +3 -0
- package/package.json +10 -7
- package/src/GlobalDebugOverlay.tsx +284 -0
- package/src/Panel.tsx +635 -0
- package/src/PanelDebugInfo.tsx +148 -0
- package/src/PanelGroup.tsx +260 -0
- package/src/PanelResizeHandle.tsx +718 -0
- package/src/context.ts +25 -0
- package/src/debugOverlayStore.ts +351 -0
- package/src/hooks.ts +968 -0
- package/src/index.ts +62 -0
- package/src/reducer.ts +1234 -0
- package/src/roundHalfToEven.ts +40 -0
- package/src/styles/components.entry.css +8 -0
- package/src/styles/resize-panels.css +3 -0
- package/src/styles/standalone.entry.css +12 -0
- package/src/types.ts +288 -0
- package/src/utils/simple-logger.ts +186 -0
- package/src/utils.ts +279 -0
- package/dist/resize-panels.css +0 -1
package/src/index.ts
ADDED
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @package @aiquants/resize-panels
|
|
3
|
+
* @description Reusable resizable panel components and utilities for React
|
|
4
|
+
*
|
|
5
|
+
* 再利用可能なリサイズパネルコンポーネントとユーティリティ
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
export { PanelGroupContext, usePanelGroup } from "./context"
|
|
9
|
+
export { usePanelControls, useResizablePanels } from "./hooks"
|
|
10
|
+
export { Panel } from "./Panel"
|
|
11
|
+
export { PanelGroup } from "./PanelGroup"
|
|
12
|
+
export { PanelResizeHandle } from "./PanelResizeHandle"
|
|
13
|
+
|
|
14
|
+
export type {
|
|
15
|
+
CollapsibleConfig,
|
|
16
|
+
CollapsibleDirection,
|
|
17
|
+
ContainerAxisMeasurement,
|
|
18
|
+
ContainerSize,
|
|
19
|
+
FlexibleSize,
|
|
20
|
+
PanelCollapseDirection,
|
|
21
|
+
PanelDirection,
|
|
22
|
+
PanelGroupContextValue,
|
|
23
|
+
PanelGroupProps,
|
|
24
|
+
PanelLayoutData,
|
|
25
|
+
PanelProps,
|
|
26
|
+
PanelResizeHandleProps,
|
|
27
|
+
SizeConfig,
|
|
28
|
+
SizeUnit,
|
|
29
|
+
} from "./types"
|
|
30
|
+
|
|
31
|
+
export {
|
|
32
|
+
clamp,
|
|
33
|
+
getConstraintInPixels,
|
|
34
|
+
getContainerSize,
|
|
35
|
+
loadLayout,
|
|
36
|
+
normalizeSizeConfig,
|
|
37
|
+
saveLayout,
|
|
38
|
+
} from "./utils"
|
|
39
|
+
|
|
40
|
+
/**
|
|
41
|
+
* Locate a panel element in the DOM by its data attribute.
|
|
42
|
+
* data 属性を手がかりにパネル要素を DOM から取得する補助関数。
|
|
43
|
+
*/
|
|
44
|
+
export const getPanelElement = (id: string): HTMLElement | null => {
|
|
45
|
+
return document.querySelector(`[data-panel-id="${id}"]`)
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
/**
|
|
49
|
+
* Locate a panel group element in the DOM by its data attribute.
|
|
50
|
+
* data 属性を手がかりにパネルグループ要素を DOM から取得する補助関数。
|
|
51
|
+
*/
|
|
52
|
+
export const getPanelGroupElement = (id: string): HTMLElement | null => {
|
|
53
|
+
return document.querySelector(`[data-panel-group-id="${id}"]`)
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
/**
|
|
57
|
+
* Locate a resize handle element in the DOM by its data attribute.
|
|
58
|
+
* data 属性を手がかりにリサイズハンドル要素を DOM から取得する補助関数。
|
|
59
|
+
*/
|
|
60
|
+
export const getResizeHandleElement = (id: string): HTMLElement | null => {
|
|
61
|
+
return document.querySelector(`[data-resize-handle-id="${id}"]`)
|
|
62
|
+
}
|