@hyperframes/studio 0.6.62 → 0.6.63

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/dist/index.html CHANGED
@@ -5,8 +5,8 @@
5
5
  <meta name="viewport" content="width=device-width, initial-scale=1.0, viewport-fit=cover" />
6
6
  <link rel="icon" type="image/svg+xml" href="/favicon.svg" />
7
7
  <title>HyperFrames Studio</title>
8
- <script type="module" crossorigin src="/assets/index-BdDNthf4.js"></script>
9
- <link rel="stylesheet" crossorigin href="/assets/index-B5EnhVCT.css">
8
+ <script type="module" crossorigin src="/assets/index-gfyAaaaA.js"></script>
9
+ <link rel="stylesheet" crossorigin href="/assets/index-CrxThtSJ.css">
10
10
  </head>
11
11
  <body>
12
12
  <div id="root"></div>
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@hyperframes/studio",
3
- "version": "0.6.62",
3
+ "version": "0.6.63",
4
4
  "description": "",
5
5
  "repository": {
6
6
  "type": "git",
@@ -31,8 +31,8 @@
31
31
  "@codemirror/view": "6.40.0",
32
32
  "@phosphor-icons/react": "^2.1.10",
33
33
  "mediabunny": "^1.45.3",
34
- "@hyperframes/player": "0.6.62",
35
- "@hyperframes/core": "0.6.62"
34
+ "@hyperframes/core": "0.6.63",
35
+ "@hyperframes/player": "0.6.63"
36
36
  },
37
37
  "devDependencies": {
38
38
  "@types/react": "19",
@@ -46,7 +46,7 @@
46
46
  "vite": "^6.4.2",
47
47
  "vitest": "^3.2.4",
48
48
  "zustand": "^5.0.0",
49
- "@hyperframes/producer": "0.6.62"
49
+ "@hyperframes/producer": "0.6.63"
50
50
  },
51
51
  "peerDependencies": {
52
52
  "react": "19",
@@ -80,6 +80,9 @@ function ColorSlider({
80
80
  event.currentTarget.setPointerCapture(event.pointerId);
81
81
  commitFromClientX(event.clientX);
82
82
  }}
83
+ onPointerUp={(event) => {
84
+ event.currentTarget.blur();
85
+ }}
83
86
  onPointerMove={(event) => {
84
87
  if (disabled || event.buttons !== 1) return;
85
88
  commitFromClientX(event.clientX);
@@ -282,7 +282,7 @@ const SeekBar = memo(function SeekBar({
282
282
  aria-valuemin={0}
283
283
  aria-valuemax={Math.round(duration)}
284
284
  aria-valuenow={0}
285
- className={`min-w-[96px] flex-1 h-6 flex items-center group ${
285
+ className={`min-w-[96px] flex-1 h-6 flex items-center group outline-none focus-visible:ring-1 focus-visible:ring-white/30 focus-visible:rounded ${
286
286
  disabled ? "cursor-not-allowed opacity-50" : "cursor-pointer"
287
287
  }`}
288
288
  style={{ touchAction: "none" }}
@@ -428,7 +428,8 @@ export const Timeline = memo(function Timeline({
428
428
  >
429
429
  <div
430
430
  ref={scrollRef}
431
- className={`${zoomMode === "fit" ? "overflow-x-hidden" : "overflow-x-auto"} overflow-y-auto h-full`}
431
+ tabIndex={-1}
432
+ className={`${zoomMode === "fit" ? "overflow-x-hidden" : "overflow-x-auto"} overflow-y-auto h-full outline-none`}
432
433
  onDragOver={handleAssetDragOver}
433
434
  onDragLeave={() => setIsDragOver(false)}
434
435
  onDrop={handleAssetDrop}
@@ -110,6 +110,7 @@ export function useSeekBarDrag(
110
110
  window.removeEventListener("pointercancel", onUp);
111
111
  document.removeEventListener("visibilitychange", onVisibilityChange);
112
112
  window.removeEventListener("blur", cleanup);
113
+ target.blur();
113
114
  };
114
115
  const onUp = (ev: PointerEvent) => {
115
116
  if (ev.pointerId !== pointerId) return;