hyperframes 0.7.39 → 0.7.40

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.
@@ -104,6 +104,8 @@ interface TimelineElement {
104
104
  timingSource?: "authored" | "implicit";
105
105
  /** Set by data-timeline-locked on the host element — disables move and trim in Studio. */
106
106
  timelineLocked?: boolean;
107
+ /** Set by data-hidden on the host element — hides the clip in preview and render. */
108
+ hidden?: boolean;
107
109
  /** Value of data-timeline-role attribute — used to identify music vs. voiceover. */
108
110
  timelineRole?: string;
109
111
  /**
@@ -185,7 +187,7 @@ interface PlayerState {
185
187
  setBeatDragging: (dragging: boolean) => void;
186
188
  setElements: (elements: TimelineElement[]) => void;
187
189
  setSelectedElementId: (id: string | null) => void;
188
- updateElement: (elementId: string, updates: Partial<Pick<TimelineElement, "start" | "duration" | "track" | "playbackStart">>) => void;
190
+ updateElement: (elementId: string, updates: Partial<Pick<TimelineElement, "start" | "duration" | "track" | "playbackStart" | "hidden">>) => void;
189
191
  setZoomMode: (mode: ZoomMode) => void;
190
192
  setManualZoomPercent: (percent: number) => void;
191
193
  setInPoint: (time: number | null) => void;
@@ -253,34 +255,6 @@ declare const liveTime: {
253
255
  };
254
256
  declare const usePlayerStore: zustand.UseBoundStore<zustand.StoreApi<PlayerState>>;
255
257
 
256
- interface TimelineTheme {
257
- shellBackground: string;
258
- shellBorder: string;
259
- rulerBorder: string;
260
- rowBackground: string;
261
- rowBorder: string;
262
- gutterBackground: string;
263
- gutterBorder: string;
264
- textPrimary: string;
265
- textSecondary: string;
266
- tickText: string;
267
- tickMajor: string;
268
- tickMinor: string;
269
- clipBackground: string;
270
- clipBackgroundActive: string;
271
- clipBorder: string;
272
- clipBorderHover: string;
273
- clipBorderActive: string;
274
- clipShadow: string;
275
- clipShadowHover: string;
276
- clipShadowActive: string;
277
- clipShadowDragging: string;
278
- handleColor: string;
279
- panelResizeSeam: string;
280
- panelResizeActive: string;
281
- clipRadius: string;
282
- }
283
-
284
258
  type BlockedTimelineEditIntent = "move" | "resize-start" | "resize-end";
285
259
 
286
260
  /**
@@ -305,6 +279,7 @@ interface TimelineDropCallbacks {
305
279
  interface TimelineEditCallbacks {
306
280
  onMoveElement?: (element: TimelineElement, updates: Pick<TimelineElement, "start" | "track">) => Promise<void> | void;
307
281
  onResizeElement?: (element: TimelineElement, updates: Pick<TimelineElement, "start" | "duration" | "playbackStart">) => Promise<void> | void;
282
+ onToggleTrackHidden?: (track: number, hidden: boolean) => Promise<void> | void;
308
283
  onBlockedEditAttempt?: (element: TimelineElement, intent: BlockedTimelineEditIntent) => void;
309
284
  onSplitElement?: (element: TimelineElement, splitTime: number) => Promise<void> | void;
310
285
  onRazorSplit?: (element: TimelineElement, splitTime: number) => Promise<void> | void;
@@ -317,6 +292,34 @@ interface TimelineEditCallbacks {
317
292
  onToggleKeyframeAtPlayhead?: (element: TimelineElement) => void;
318
293
  }
319
294
 
295
+ interface TimelineTheme {
296
+ shellBackground: string;
297
+ shellBorder: string;
298
+ rulerBorder: string;
299
+ rowBackground: string;
300
+ rowBorder: string;
301
+ gutterBackground: string;
302
+ gutterBorder: string;
303
+ textPrimary: string;
304
+ textSecondary: string;
305
+ tickText: string;
306
+ tickMajor: string;
307
+ tickMinor: string;
308
+ clipBackground: string;
309
+ clipBackgroundActive: string;
310
+ clipBorder: string;
311
+ clipBorderHover: string;
312
+ clipBorderActive: string;
313
+ clipShadow: string;
314
+ clipShadowHover: string;
315
+ clipShadowActive: string;
316
+ clipShadowDragging: string;
317
+ handleColor: string;
318
+ panelResizeSeam: string;
319
+ panelResizeActive: string;
320
+ clipRadius: string;
321
+ }
322
+
320
323
  type TimelineEditOverrides = Pick<TimelineEditCallbacks, "onMoveElement" | "onResizeElement" | "onBlockedEditAttempt" | "onSplitElement">;
321
324
 
322
325
  interface TimelineProps extends TimelineDropCallbacks, TimelineEditOverrides {
@@ -331,6 +334,7 @@ interface TimelineProps extends TimelineDropCallbacks, TimelineEditOverrides {
331
334
  onSelectElement?: (element: TimelineElement | null) => void;
332
335
  theme?: Partial<TimelineTheme>;
333
336
  }
337
+
334
338
  declare const Timeline: react.NamedExoticComponent<TimelineProps>;
335
339
 
336
340
  interface VideoThumbnailProps {
@@ -631,6 +635,7 @@ interface PropertyPanelProps {
631
635
  onAddTextField: (afterFieldKey?: string) => string | Promise<string | null> | null;
632
636
  onRemoveTextField: (fieldKey: string) => void;
633
637
  onAskAgent: () => void;
638
+ onToggleElementHidden?: (elementKey: string, hidden: boolean) => void | Promise<void>;
634
639
  onImportAssets?: (files: FileList, dir?: string) => Promise<string[]>;
635
640
  fontAssets?: ImportedFontAsset[];
636
641
  onImportFonts?: (files: FileList | File[]) => Promise<ImportedFontAsset[]>;
@@ -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-B9YvRJz1.js"></script>
9
- <link rel="stylesheet" crossorigin href="/assets/index-0P10SwC_.css">
8
+ <script type="module" crossorigin src="/assets/index-B2Utv-2b.js"></script>
9
+ <link rel="stylesheet" crossorigin href="/assets/index-BpM6cnfP.css">
10
10
  </head>
11
11
  <body>
12
12
  <div data-hf-id="hf-aph5" id="root"></div>