@pie-players/pie-section-player-tools-shared 0.3.11 → 0.3.13

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/floating-panel.ts CHANGED
@@ -5,6 +5,25 @@ export type FloatingPanelState = {
5
5
  height: number;
6
6
  };
7
7
 
8
+ const FLOATING_PANEL_BASE_Z_INDEX = 9999;
9
+ const FLOATING_PANEL_Z_INDEX_KEY = "__pieFloatingPanelZIndex";
10
+
11
+ type FloatingPanelZIndexGlobal = typeof globalThis & {
12
+ [FLOATING_PANEL_Z_INDEX_KEY]?: number;
13
+ };
14
+
15
+ export function claimNextFloatingPanelZIndex(): number {
16
+ const runtime = globalThis as FloatingPanelZIndexGlobal;
17
+ const currentValue = runtime[FLOATING_PANEL_Z_INDEX_KEY];
18
+ const normalizedCurrent =
19
+ typeof currentValue === "number" && Number.isFinite(currentValue)
20
+ ? currentValue
21
+ : FLOATING_PANEL_BASE_Z_INDEX;
22
+ const nextValue = normalizedCurrent + 1;
23
+ runtime[FLOATING_PANEL_Z_INDEX_KEY] = nextValue;
24
+ return nextValue;
25
+ }
26
+
8
27
  export type FloatingPanelViewportSizing = {
9
28
  widthRatio: number;
10
29
  heightRatio: number;
@@ -59,6 +78,7 @@ type PointerControllerArgs = {
59
78
  minWidth: number;
60
79
  minHeight: number;
61
80
  padding?: number;
81
+ onFocus?: () => void;
62
82
  };
63
83
 
64
84
  export type FloatingPanelPointerController = {
@@ -136,6 +156,7 @@ export function createFloatingPanelPointerController(
136
156
 
137
157
  return {
138
158
  startDrag(event: MouseEvent) {
159
+ args.onFocus?.();
139
160
  isDragging = true;
140
161
  dragStartX = event.clientX;
141
162
  dragStartY = event.clientY;
@@ -146,6 +167,7 @@ export function createFloatingPanelPointerController(
146
167
  document.addEventListener("mouseup", stopDrag);
147
168
  },
148
169
  startResize(event: MouseEvent) {
170
+ args.onFocus?.();
149
171
  isResizing = true;
150
172
  resizeStartX = event.clientX;
151
173
  resizeStartY = event.clientY;
package/index.ts CHANGED
@@ -1,8 +1,10 @@
1
1
  export { default as PanelWindowControls } from "./PanelWindowControls.svelte";
2
2
  export { default as PanelResizeHandle } from "./PanelResizeHandle.svelte";
3
+ export { default as SharedFloatingPanel } from "./SharedFloatingPanel.svelte";
3
4
  export {
4
5
  createFloatingPanelPointerController,
5
6
  computePanelSizeFromViewport,
7
+ claimNextFloatingPanelZIndex,
6
8
  type FloatingPanelPointerController,
7
9
  type FloatingPanelState,
8
10
  type FloatingPanelViewportSizing,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pie-players/pie-section-player-tools-shared",
3
- "version": "0.3.11",
3
+ "version": "0.3.13",
4
4
  "type": "module",
5
5
  "description": "Shared UI and helpers for PIE section-player debug tools",
6
6
  "repository": {
@@ -33,6 +33,10 @@
33
33
  "./PanelResizeHandle.svelte": {
34
34
  "types": "./dist/PanelResizeHandle.svelte.d.ts",
35
35
  "svelte": "./PanelResizeHandle.svelte"
36
+ },
37
+ "./SharedFloatingPanel.svelte": {
38
+ "types": "./dist/SharedFloatingPanel.svelte.d.ts",
39
+ "svelte": "./SharedFloatingPanel.svelte"
36
40
  }
37
41
  },
38
42
  "files": [
@@ -43,14 +47,14 @@
43
47
  ],
44
48
  "license": "MIT",
45
49
  "dependencies": {
46
- "@pie-players/pie-theme": "0.3.11"
50
+ "@pie-players/pie-theme": "0.3.13"
47
51
  },
48
52
  "types": "./dist/index.d.ts",
49
53
  "scripts": {
50
54
  "build": "vite build",
51
55
  "dev": "vite build --watch",
52
56
  "typecheck": "tsc --noEmit",
53
- "lint": "biome check PanelWindowControls.svelte floating-panel.ts section-controller.ts index.ts vite.config.ts package.json"
57
+ "lint": "biome check PanelWindowControls.svelte PanelResizeHandle.svelte SharedFloatingPanel.svelte floating-panel.ts section-controller.ts index.ts vite.config.ts package.json"
54
58
  },
55
59
  "devDependencies": {
56
60
  "@biomejs/biome": "^2.3.10",