dialkit 1.4.0 → 1.4.2

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.
@@ -2449,6 +2449,10 @@ var ICON_PAUSE = [
2449
2449
  "M16.75 3C15.2312 3 14 4.23122 14 5.75V18.25C14 19.7688 15.2312 21 16.75 21H17.25C18.7688 21 20 19.7688 20 18.25V5.75C20 4.23122 18.7688 3 17.25 3H16.75Z"
2450
2450
  ];
2451
2451
  var ICON_PLAY = "M9.24394 2.36758C7.41419 1.18362 5 2.49701 5 4.67639V19.3238C5 21.5032 7.41419 22.8166 9.24394 21.6326L20.5624 14.3089C22.2371 13.2253 22.2372 10.775 20.5624 9.69129L9.24394 2.36758Z";
2452
+ var ICON_REPLAY = [
2453
+ "M12 2.5C17.2466 2.50016 21.5 6.7534 21.5 12C21.5 17.2466 17.2466 21.4998 12 21.5C7.52191 21.5 3.76987 18.4025 2.76465 14.2344C2.63517 13.6975 2.96508 13.1578 3.50195 13.0283C4.03883 12.8988 4.57851 13.2288 4.70801 13.7656C5.5016 17.0563 8.46701 19.5 12 19.5C16.142 19.4998 19.5 16.142 19.5 12C19.5 7.85796 16.142 4.50016 12 4.5C9.32981 4.5 6.98389 5.89541 5.6543 8H7.5C8.05228 8 8.5 8.44772 8.5 9C8.5 9.55228 8.05228 10 7.5 10H3.5C2.94772 10 2.5 9.55228 2.5 9V5C2.5 4.44772 2.94772 4 3.5 4C4.05228 4 4.5 4.44772 4.5 5V6.16797C6.2376 3.93677 8.95063 2.5 12 2.5Z",
2454
+ "M10 9.94043C10 9.33379 10.6826 8.97849 11.1797 9.32617L14.1221 11.3857C14.5486 11.6843 14.5486 12.3157 14.1221 12.6143L11.1797 14.6738C10.6826 15.0215 10 14.6662 10 14.0596V9.94043Z"
2455
+ ];
2452
2456
  var ICON_TIMELINE = [
2453
2457
  "M18.868 10C20.8517 10.0003 22.2886 11.8914 21.7577 13.8027L20.369 18.8027C20.0083 20.1012 18.826 20.9999 17.4784 21H6.51941C5.17179 21 3.98948 20.1012 3.62878 18.8027L2.24011 13.8027C1.7092 11.8913 3.14603 10.0003 5.12976 10H18.868Z",
2454
2458
  "M18.9989 6.5C19.5511 6.50007 19.9989 6.94776 19.9989 7.5C19.9989 8.05224 19.5511 8.49993 18.9989 8.5H4.9989C4.44661 8.5 3.9989 8.05228 3.9989 7.5C3.9989 6.94772 4.44661 6.5 4.9989 6.5H18.9989Z",
@@ -3175,6 +3179,7 @@ function Slider(props) {
3175
3179
  var _el$0 = _tmpl$42();
3176
3180
  _el$0.$$mousedown = (e) => e.stopPropagation();
3177
3181
  _el$0.$$click = (e) => e.stopPropagation();
3182
+ _el$0.$$pointerdown = (e) => e.stopPropagation();
3178
3183
  _el$0.addEventListener("blur", handleInputSubmit);
3179
3184
  _el$0.$$keydown = handleInputKeyDown;
3180
3185
  _el$0.$$input = (e) => setInputValue(e.currentTarget.value);
@@ -3185,6 +3190,7 @@ function Slider(props) {
3185
3190
  })() : (() => {
3186
3191
  var _el$1 = _tmpl$23();
3187
3192
  _el$1.$$mousedown = (e) => isValueEditable() && e.stopPropagation();
3193
+ _el$1.$$pointerdown = (e) => isValueEditable() && e.stopPropagation();
3188
3194
  _el$1.$$click = handleValueClick;
3189
3195
  _el$1.addEventListener("mouseleave", () => setIsValueHovered(false));
3190
3196
  _el$1.addEventListener("mouseenter", () => setIsValueHovered(true));
@@ -5127,12 +5133,12 @@ _$delegateEvents12(["pointerdown", "pointermove", "pointerup"]);
5127
5133
  import { template as _$template18 } from "solid-js/web";
5128
5134
  import { delegateEvents as _$delegateEvents14 } from "solid-js/web";
5129
5135
  import { addEventListener as _$addEventListener } from "solid-js/web";
5130
- import { use as _$use10 } from "solid-js/web";
5131
- import { setStyleProperty as _$setStyleProperty6 } from "solid-js/web";
5132
5136
  import { style as _$style3 } from "solid-js/web";
5137
+ import { setStyleProperty as _$setStyleProperty6 } from "solid-js/web";
5133
5138
  import { setAttribute as _$setAttribute14 } from "solid-js/web";
5134
5139
  import { effect as _$effect16 } from "solid-js/web";
5135
5140
  import { insert as _$insert17 } from "solid-js/web";
5141
+ import { use as _$use10 } from "solid-js/web";
5136
5142
  import { memo as _$memo11 } from "solid-js/web";
5137
5143
  import { createComponent as _$createComponent16 } from "solid-js/web";
5138
5144
  import { For as For8, Show as Show11, createEffect as createEffect11, createMemo as createMemo2, createSignal as createSignal14, onCleanup as onCleanup12, onMount as onMount10 } from "solid-js";
@@ -5301,44 +5307,49 @@ function ControlRenderer(props) {
5301
5307
  _$delegateEvents13(["click"]);
5302
5308
 
5303
5309
  // src/solid/components/Timeline/DialTimeline.tsx
5304
- var _tmpl$39 = /* @__PURE__ */ _$template18(`<div class="dialkit-root dialkit-timeline"><div class=dialkit-timeline-dock>`);
5310
+ var _tmpl$39 = /* @__PURE__ */ _$template18(`<div class="dialkit-root dialkit-timeline"><div class=dialkit-timeline-resize-handle role=separator aria-label="Resize timeline height"aria-orientation=horizontal title="Drag to resize timeline"></div><div class=dialkit-timeline-dock>`);
5305
5311
  var _tmpl$214 = /* @__PURE__ */ _$template18(`<svg viewBox="0 0 24 24"fill=none aria-hidden=true>`);
5306
5312
  var _tmpl$310 = /* @__PURE__ */ _$template18(`<button class=dialkit-toolbar-add><span style=position:relative;width:16px;height:16px>`);
5307
5313
  var _tmpl$44 = /* @__PURE__ */ _$template18(`<svg viewBox="0 0 24 24"fill=none aria-hidden=true><path fill=currentColor>`);
5308
5314
  var _tmpl$53 = /* @__PURE__ */ _$template18(`<svg><path fill=currentColor></svg>`, false, true, false);
5309
- var _tmpl$62 = /* @__PURE__ */ _$template18(`<div class=dialkit-timeline-overview title="Drag to scrub the full timeline"><div class=dialkit-timeline-overview-viewport></div><div class=dialkit-timeline-overview-progress></div><div class=dialkit-timeline-overview-playhead>`);
5310
- var _tmpl$72 = /* @__PURE__ */ _$template18(`<div class=dialkit-timeline-playhead-control data-edge=center role=slider aria-label="Timeline current time"aria-valuemin=0 title="Drag to scrub the timeline"><div class=dialkit-timeline-playhead-flag></div><div class=dialkit-timeline-playhead-stem>`);
5311
- var _tmpl$82 = /* @__PURE__ */ _$template18(`<div class="dialkit-timeline-row dialkit-timeline-group-row"><div class=dialkit-timeline-label><button class=dialkit-timeline-group-toggle></button><span></span></div><div class=dialkit-timeline-lane>`);
5312
- var _tmpl$92 = /* @__PURE__ */ _$template18(`<button class=dialkit-timeline-group-toggle>`);
5313
- var _tmpl$0 = /* @__PURE__ */ _$template18(`<div class=dialkit-timeline-row><div class=dialkit-timeline-label></div><div class=dialkit-timeline-lane>`);
5314
- var _tmpl$1 = /* @__PURE__ */ _$template18(`<div class="dialkit-timeline-row dialkit-timeline-track-row"><div class=dialkit-timeline-label></div><div class=dialkit-timeline-lane>`);
5315
- var _tmpl$102 = /* @__PURE__ */ _$template18(`<svg viewBox="0 0 24 24"fill=none stroke=currentColor stroke-width=2 stroke-linecap=round stroke-linejoin=round aria-hidden=true><path>`);
5316
- var _tmpl$112 = /* @__PURE__ */ _$template18(`<div class=dialkit-timeline-body><div class=dialkit-timeline-grid><div class="dialkit-timeline-row dialkit-timeline-ruler-row"><div class=dialkit-timeline-label></div><div class=dialkit-timeline-ruler title="Drag to seek \xB7 Option-drag to zoom \xB7 Shift-drag to reset zoom">`);
5317
- var _tmpl$122 = /* @__PURE__ */ _$template18(`<div class=dialkit-timeline-section><div class=dialkit-timeline-header><div class=dialkit-timeline-identity><span class=dialkit-timeline-title></span></div><div class=dialkit-timeline-actions><button class=dialkit-toolbar-add title="Add timeline version"aria-label="Add timeline version"><svg viewBox="0 0 24 24"fill=none stroke=currentColor stroke-width=2.5 stroke-linecap=round stroke-linejoin=round aria-hidden=true></svg></button><button class=dialkit-toolbar-add title="Copy parameters"><span style=position:relative;width:16px;height:16px></span></button><button class=dialkit-timeline-chevron>`);
5318
- var _tmpl$132 = /* @__PURE__ */ _$template18(`<svg><path></svg>`, false, true, false);
5319
- var _tmpl$142 = /* @__PURE__ */ _$template18(`<svg viewBox="0 0 24 24"fill=none aria-hidden=true><path stroke=currentColor stroke-width=2 stroke-linejoin=round></path><path fill=currentColor></path><path stroke=currentColor stroke-width=2 stroke-linecap=round stroke-linejoin=round>`);
5320
- var _tmpl$152 = /* @__PURE__ */ _$template18(`<div class="dialkit-timeline-tick dialkit-timeline-tick-fine">`);
5321
- var _tmpl$162 = /* @__PURE__ */ _$template18(`<div class="dialkit-timeline-tick dialkit-timeline-tick-medium">`);
5322
- var _tmpl$172 = /* @__PURE__ */ _$template18(`<div class=dialkit-timeline-tick><span class=dialkit-timeline-tick-label>`);
5323
- var _tmpl$182 = /* @__PURE__ */ _$template18(`<svg viewBox="0 0 24 24"fill=none stroke=currentColor stroke-width=2.5 stroke-linecap=round stroke-linejoin=round><path>`);
5324
- var _tmpl$192 = /* @__PURE__ */ _$template18(`<div class=dialkit-root><div class=dialkit-timeline-popover role=dialog><div class=dialkit-timeline-popover-header><span class=dialkit-timeline-popover-title></span><button class=dialkit-timeline-popover-close title="Close editor"aria-label="Close editor"><svg viewBox="0 0 24 24"fill=none stroke=currentColor stroke-width=2 stroke-linecap=round><path d="M6 6L18 18M18 6L6 18"></path></svg></button></div><div class=dialkit-timeline-popover-body>`);
5325
- var _tmpl$202 = /* @__PURE__ */ _$template18(`<div class=dialkit-timeline-clip-handle data-edge=start>`);
5326
- var _tmpl$215 = /* @__PURE__ */ _$template18(`<div class=dialkit-timeline-clip>`);
5327
- var _tmpl$222 = /* @__PURE__ */ _$template18(`<span class=dialkit-timeline-loop-infinity aria-hidden=true title="Repeats indefinitely">\u221E`);
5328
- var _tmpl$232 = /* @__PURE__ */ _$template18(`<div class=dialkit-timeline-clip-ghost aria-hidden=true>`);
5329
- var _tmpl$242 = /* @__PURE__ */ _$template18(`<span class=dialkit-timeline-clip-ghost-segment>`);
5330
- var _tmpl$252 = /* @__PURE__ */ _$template18(`<span class=dialkit-timeline-clip-duration>`);
5331
- var _tmpl$262 = /* @__PURE__ */ _$template18(`<div class=dialkit-timeline-clip-handle data-edge=end>`);
5332
- var _tmpl$272 = /* @__PURE__ */ _$template18(`<div class=dialkit-timeline-clip-segment>`);
5333
- var _tmpl$282 = /* @__PURE__ */ _$template18(`<div class=dialkit-timeline-clip-handle>`);
5315
+ var _tmpl$62 = /* @__PURE__ */ _$template18(`<button class=dialkit-toolbar-add title=Replay aria-label=Replay><svg viewBox="0 0 24 24"fill=none aria-hidden=true>`);
5316
+ var _tmpl$72 = /* @__PURE__ */ _$template18(`<div class=dialkit-timeline-overview title="Drag to scrub the full timeline"><div class=dialkit-timeline-overview-viewport></div><div class=dialkit-timeline-overview-progress></div><div class=dialkit-timeline-overview-playhead>`);
5317
+ var _tmpl$82 = /* @__PURE__ */ _$template18(`<div class=dialkit-timeline-playhead-control role=slider aria-label="Timeline current time"aria-valuemin=0 title="Drag to scrub the timeline"><div class=dialkit-timeline-playhead-stem></div><div class=dialkit-timeline-playhead-anchor><div class=dialkit-timeline-playhead-flag>`);
5318
+ var _tmpl$92 = /* @__PURE__ */ _$template18(`<div class="dialkit-timeline-row dialkit-timeline-group-row"><div class=dialkit-timeline-label><button class=dialkit-timeline-group-toggle></button><span></span></div><div class=dialkit-timeline-lane>`);
5319
+ var _tmpl$0 = /* @__PURE__ */ _$template18(`<button class=dialkit-timeline-group-toggle>`);
5320
+ var _tmpl$1 = /* @__PURE__ */ _$template18(`<div class=dialkit-timeline-row><div class=dialkit-timeline-label></div><div class=dialkit-timeline-lane>`);
5321
+ var _tmpl$102 = /* @__PURE__ */ _$template18(`<div class="dialkit-timeline-row dialkit-timeline-track-row"><div class=dialkit-timeline-label></div><div class=dialkit-timeline-lane>`);
5322
+ var _tmpl$112 = /* @__PURE__ */ _$template18(`<svg viewBox="0 0 24 24"fill=none stroke=currentColor stroke-width=2 stroke-linecap=round stroke-linejoin=round aria-hidden=true><path>`);
5323
+ var _tmpl$122 = /* @__PURE__ */ _$template18(`<div class=dialkit-timeline-scroll-row><div class=dialkit-timeline-label></div><div class=dialkit-timeline-horizontal-scroll aria-label="Timeline horizontal scroll"><div>`);
5324
+ var _tmpl$132 = /* @__PURE__ */ _$template18(`<div class=dialkit-timeline-body><div class=dialkit-timeline-grid><div class="dialkit-timeline-row dialkit-timeline-ruler-row"><div class=dialkit-timeline-label></div><div class=dialkit-timeline-ruler title="Drag to seek \xB7 Option-drag to zoom \xB7 Shift-drag to reset zoom">`);
5325
+ var _tmpl$142 = /* @__PURE__ */ _$template18(`<div class=dialkit-timeline-section><div class=dialkit-timeline-header><div class=dialkit-timeline-identity><span class=dialkit-timeline-title></span></div><div class=dialkit-timeline-actions><button class=dialkit-toolbar-add title="Add timeline version"aria-label="Add timeline version"><svg viewBox="0 0 24 24"fill=none stroke=currentColor stroke-width=2.5 stroke-linecap=round stroke-linejoin=round aria-hidden=true></svg></button><button class=dialkit-toolbar-add title="Copy parameters"><span style=position:relative;width:16px;height:16px></span></button><button class=dialkit-timeline-chevron>`);
5326
+ var _tmpl$152 = /* @__PURE__ */ _$template18(`<svg><path></svg>`, false, true, false);
5327
+ var _tmpl$162 = /* @__PURE__ */ _$template18(`<svg viewBox="0 0 24 24"fill=none aria-hidden=true><path stroke=currentColor stroke-width=2 stroke-linejoin=round></path><path fill=currentColor></path><path stroke=currentColor stroke-width=2 stroke-linecap=round stroke-linejoin=round>`);
5328
+ var _tmpl$172 = /* @__PURE__ */ _$template18(`<div class="dialkit-timeline-tick dialkit-timeline-tick-fine">`);
5329
+ var _tmpl$182 = /* @__PURE__ */ _$template18(`<div class="dialkit-timeline-tick dialkit-timeline-tick-medium">`);
5330
+ var _tmpl$192 = /* @__PURE__ */ _$template18(`<div class=dialkit-timeline-tick><span class=dialkit-timeline-tick-label>`);
5331
+ var _tmpl$202 = /* @__PURE__ */ _$template18(`<svg viewBox="0 0 24 24"fill=none stroke=currentColor stroke-width=2.5 stroke-linecap=round stroke-linejoin=round><path>`);
5332
+ var _tmpl$215 = /* @__PURE__ */ _$template18(`<div class=dialkit-root><div class=dialkit-timeline-popover role=dialog><div class=dialkit-timeline-popover-header><span class=dialkit-timeline-popover-title></span><button class=dialkit-timeline-popover-close title="Close editor"aria-label="Close editor"><svg viewBox="0 0 24 24"fill=none stroke=currentColor stroke-width=2 stroke-linecap=round><path d="M6 6L18 18M18 6L6 18"></path></svg></button></div><div class=dialkit-timeline-popover-body>`);
5333
+ var _tmpl$222 = /* @__PURE__ */ _$template18(`<div class=dialkit-timeline-clip-handle data-edge=start>`);
5334
+ var _tmpl$232 = /* @__PURE__ */ _$template18(`<div class=dialkit-timeline-clip>`);
5335
+ var _tmpl$242 = /* @__PURE__ */ _$template18(`<span class=dialkit-timeline-loop-infinity aria-hidden=true title="Repeats indefinitely">\u221E`);
5336
+ var _tmpl$252 = /* @__PURE__ */ _$template18(`<div class=dialkit-timeline-clip-ghost aria-hidden=true>`);
5337
+ var _tmpl$262 = /* @__PURE__ */ _$template18(`<span class=dialkit-timeline-clip-ghost-segment>`);
5338
+ var _tmpl$272 = /* @__PURE__ */ _$template18(`<span class=dialkit-timeline-clip-duration>`);
5339
+ var _tmpl$282 = /* @__PURE__ */ _$template18(`<div class=dialkit-timeline-clip-handle data-edge=end>`);
5340
+ var _tmpl$292 = /* @__PURE__ */ _$template18(`<div class=dialkit-timeline-clip-segment>`);
5341
+ var _tmpl$302 = /* @__PURE__ */ _$template18(`<div class=dialkit-timeline-clip-handle>`);
5334
5342
  var DRAG_THRESHOLD_PX = 3;
5335
5343
  var MAJOR_TICK_TARGET_PX = 140;
5336
5344
  var MILLISECOND_STEP = 1e-3;
5337
5345
  var SECOND_TICK_STEPS = [1e-3, 2e-3, 5e-3, 0.01, 0.02, 0.05, 0.1, 0.2, 0.5, 1, 2, 5, 10, 15, 30, 60, 120, 300, 600];
5338
5346
  var MIN_TIMELINE_MAX_ZOOM = 8;
5339
5347
  var PLAYHEAD_FLAG_WIDTH = 52;
5348
+ var PLAYHEAD_FLAG_EDGE_OVERHANG = 1;
5340
5349
  var POPOVER_WIDTH = 280;
5341
5350
  var ZOOM_DRAG_DISTANCE = 180;
5351
+ var DEFAULT_DOCK_MAX_HEIGHT = 400;
5352
+ var MIN_DOCK_MAX_HEIGHT = 120;
5342
5353
  function DialTimeline(props) {
5343
5354
  const enabled = () => (props.productionEnabled ?? isDevDefault) !== false;
5344
5355
  return _$createComponent16(Show11, {
@@ -5354,7 +5365,10 @@ function DialTimelineDock(props) {
5354
5365
  const timelines = fromStore(() => TimelineStore.getTimelines(), (notify) => TimelineStore.subscribeGlobal(notify));
5355
5366
  const visible = fromStore(() => TimelineUiStore.getVisible(), (notify) => TimelineUiStore.subscribe(notify));
5356
5367
  const [mounted, setMounted] = createSignal14(false);
5368
+ const [dockMaxHeight, setDockMaxHeight] = createSignal14(DEFAULT_DOCK_MAX_HEIGHT);
5357
5369
  const controllerId = /* @__PURE__ */ Symbol("dialkit-timeline-visibility");
5370
+ let dockRef;
5371
+ let resizeCleanup = null;
5358
5372
  onMount10(() => {
5359
5373
  setMounted(true);
5360
5374
  const unregister = TimelineUiStore.registerController(controllerId, {
@@ -5371,6 +5385,32 @@ function DialTimelineDock(props) {
5371
5385
  onVisibilityChange: props.onVisibilityChange
5372
5386
  });
5373
5387
  });
5388
+ onCleanup12(() => resizeCleanup?.());
5389
+ const handleResizePointerDown = (event) => {
5390
+ if (!dockRef) return;
5391
+ event.preventDefault();
5392
+ event.stopPropagation();
5393
+ resizeCleanup?.();
5394
+ const pointerY = event.clientY;
5395
+ const startHeight = dockRef.getBoundingClientRect().height;
5396
+ const move = (next) => {
5397
+ next.preventDefault();
5398
+ const viewportMax = Math.max(MIN_DOCK_MAX_HEIGHT, window.innerHeight - 24);
5399
+ setDockMaxHeight(clamp(startHeight + pointerY - next.clientY, MIN_DOCK_MAX_HEIGHT, viewportMax));
5400
+ };
5401
+ const finish = () => {
5402
+ window.removeEventListener("pointermove", move);
5403
+ window.removeEventListener("pointerup", finish);
5404
+ window.removeEventListener("pointercancel", finish);
5405
+ resizeCleanup = null;
5406
+ };
5407
+ window.addEventListener("pointermove", move, {
5408
+ passive: false
5409
+ });
5410
+ window.addEventListener("pointerup", finish);
5411
+ window.addEventListener("pointercancel", finish);
5412
+ resizeCleanup = finish;
5413
+ };
5374
5414
  return _$createComponent16(Show11, {
5375
5415
  get when() {
5376
5416
  return _$memo11(() => !!mounted())() && timelines().length > 0;
@@ -5381,8 +5421,11 @@ function DialTimelineDock(props) {
5381
5421
  return document.body;
5382
5422
  },
5383
5423
  get children() {
5384
- var _el$ = _tmpl$39(), _el$2 = _el$.firstChild;
5385
- _$insert17(_el$2, _$createComponent16(For8, {
5424
+ var _el$ = _tmpl$39(), _el$2 = _el$.firstChild, _el$3 = _el$2.nextSibling;
5425
+ _el$2.$$pointerdown = handleResizePointerDown;
5426
+ var _ref$ = dockRef;
5427
+ typeof _ref$ === "function" ? _$use10(_ref$, _el$3) : dockRef = _el$3;
5428
+ _$insert17(_el$3, _$createComponent16(For8, {
5386
5429
  get each() {
5387
5430
  return timelines();
5388
5431
  },
@@ -5400,13 +5443,15 @@ function DialTimelineDock(props) {
5400
5443
  })
5401
5444
  }));
5402
5445
  _$effect16((_p$) => {
5403
- var _v$ = props.theme ?? "system", _v$2 = !visible();
5446
+ var _v$ = props.theme ?? "system", _v$2 = !visible(), _v$3 = `min(${dockMaxHeight()}px, calc(100vh - 24px))`;
5404
5447
  _v$ !== _p$.e && _$setAttribute14(_el$, "data-theme", _p$.e = _v$);
5405
5448
  _v$2 !== _p$.t && (_el$.hidden = _p$.t = _v$2);
5449
+ _v$3 !== _p$.a && _$setStyleProperty6(_el$3, "max-height", _p$.a = _v$3);
5406
5450
  return _p$;
5407
5451
  }, {
5408
5452
  e: void 0,
5409
- t: void 0
5453
+ t: void 0,
5454
+ a: void 0
5410
5455
  });
5411
5456
  return _el$;
5412
5457
  }
@@ -5418,44 +5463,59 @@ function PlayPauseButton(props) {
5418
5463
  const playing = fromStore(() => TimelineStore.getTransport(props.id).playing, (notify) => TimelineStore.subscribe(props.id, notify));
5419
5464
  const label = () => playing() ? "Pause" : "Play";
5420
5465
  return (() => {
5421
- var _el$3 = _tmpl$310(), _el$4 = _el$3.firstChild;
5422
- _el$3.$$click = () => playing() ? TimelineStore.pause(props.id) : TimelineStore.play(props.id);
5423
- _$insert17(_el$4, _$createComponent16(Show11, {
5466
+ var _el$4 = _tmpl$310(), _el$5 = _el$4.firstChild;
5467
+ _el$4.$$click = () => playing() ? TimelineStore.pause(props.id) : TimelineStore.play(props.id);
5468
+ _$insert17(_el$5, _$createComponent16(Show11, {
5424
5469
  get when() {
5425
5470
  return playing();
5426
5471
  },
5427
5472
  get fallback() {
5428
5473
  return (() => {
5429
- var _el$6 = _tmpl$44(), _el$7 = _el$6.firstChild;
5430
- _$setAttribute14(_el$7, "d", ICON_PLAY);
5431
- _$effect16((_$p) => _$style3(_el$6, iconStyle, _$p));
5432
- return _el$6;
5474
+ var _el$7 = _tmpl$44(), _el$8 = _el$7.firstChild;
5475
+ _$setAttribute14(_el$8, "d", ICON_PLAY);
5476
+ _$effect16((_$p) => _$style3(_el$7, iconStyle, _$p));
5477
+ return _el$7;
5433
5478
  })();
5434
5479
  },
5435
5480
  get children() {
5436
- var _el$5 = _tmpl$214();
5437
- _$insert17(_el$5, _$createComponent16(For8, {
5481
+ var _el$6 = _tmpl$214();
5482
+ _$insert17(_el$6, _$createComponent16(For8, {
5438
5483
  each: ICON_PAUSE,
5439
5484
  children: (path) => (() => {
5440
- var _el$8 = _tmpl$53();
5441
- _$setAttribute14(_el$8, "d", path);
5442
- return _el$8;
5485
+ var _el$9 = _tmpl$53();
5486
+ _$setAttribute14(_el$9, "d", path);
5487
+ return _el$9;
5443
5488
  })()
5444
5489
  }));
5445
- _$effect16((_$p) => _$style3(_el$5, iconStyle, _$p));
5446
- return _el$5;
5490
+ _$effect16((_$p) => _$style3(_el$6, iconStyle, _$p));
5491
+ return _el$6;
5447
5492
  }
5448
5493
  }));
5449
5494
  _$effect16((_p$) => {
5450
- var _v$3 = label(), _v$4 = label();
5451
- _v$3 !== _p$.e && _$setAttribute14(_el$3, "title", _p$.e = _v$3);
5452
- _v$4 !== _p$.t && _$setAttribute14(_el$3, "aria-label", _p$.t = _v$4);
5495
+ var _v$4 = label(), _v$5 = label();
5496
+ _v$4 !== _p$.e && _$setAttribute14(_el$4, "title", _p$.e = _v$4);
5497
+ _v$5 !== _p$.t && _$setAttribute14(_el$4, "aria-label", _p$.t = _v$5);
5453
5498
  return _p$;
5454
5499
  }, {
5455
5500
  e: void 0,
5456
5501
  t: void 0
5457
5502
  });
5458
- return _el$3;
5503
+ return _el$4;
5504
+ })();
5505
+ }
5506
+ function ReplayButton(props) {
5507
+ return (() => {
5508
+ var _el$0 = _tmpl$62(), _el$1 = _el$0.firstChild;
5509
+ _$addEventListener(_el$0, "click", props.onReplay, true);
5510
+ _$insert17(_el$1, _$createComponent16(For8, {
5511
+ each: ICON_REPLAY,
5512
+ children: (path) => (() => {
5513
+ var _el$10 = _tmpl$53();
5514
+ _$setAttribute14(_el$10, "d", path);
5515
+ return _el$10;
5516
+ })()
5517
+ }));
5518
+ return _el$0;
5459
5519
  })();
5460
5520
  }
5461
5521
  var iconStyle = {
@@ -5479,12 +5539,12 @@ function TimelineOverview(props) {
5479
5539
  scrub = null;
5480
5540
  };
5481
5541
  return (() => {
5482
- var _el$9 = _tmpl$62(), _el$0 = _el$9.firstChild, _el$1 = _el$0.nextSibling, _el$10 = _el$1.nextSibling;
5483
- _el$9.addEventListener("lostpointercapture", finish);
5484
- _el$9.addEventListener("pointercancel", finish);
5485
- _el$9.$$pointerup = finish;
5486
- _el$9.$$pointermove = (event) => scrub && seekFromClientX(event.clientX);
5487
- _el$9.$$pointerdown = (event) => {
5542
+ var _el$11 = _tmpl$72(), _el$12 = _el$11.firstChild, _el$13 = _el$12.nextSibling, _el$14 = _el$13.nextSibling;
5543
+ _el$11.addEventListener("lostpointercapture", finish);
5544
+ _el$11.addEventListener("pointercancel", finish);
5545
+ _el$11.$$pointerup = finish;
5546
+ _el$11.$$pointermove = (event) => scrub && seekFromClientX(event.clientX);
5547
+ _el$11.$$pointerdown = (event) => {
5488
5548
  event.preventDefault();
5489
5549
  event.currentTarget.setPointerCapture(event.pointerId);
5490
5550
  scrub = {
@@ -5495,12 +5555,12 @@ function TimelineOverview(props) {
5495
5555
  seekFromClientX(event.clientX);
5496
5556
  };
5497
5557
  _$effect16((_p$) => {
5498
- var _v$5 = (props.duration > 0 ? (props.viewEnd - props.viewStart) / props.duration * 100 : 100) < 99.999 || void 0, _v$6 = `${props.duration > 0 ? props.viewStart / props.duration * 100 : 0}%`, _v$7 = `${props.duration > 0 ? (props.viewEnd - props.viewStart) / props.duration * 100 : 100}%`, _v$8 = `${props.duration > 0 ? time() / props.duration * 100 : 0}%`, _v$9 = `${props.duration > 0 ? time() / props.duration * 100 : 0}%`;
5499
- _v$5 !== _p$.e && _$setAttribute14(_el$0, "data-zoomed", _p$.e = _v$5);
5500
- _v$6 !== _p$.t && _$setStyleProperty6(_el$0, "left", _p$.t = _v$6);
5501
- _v$7 !== _p$.a && _$setStyleProperty6(_el$0, "width", _p$.a = _v$7);
5502
- _v$8 !== _p$.o && _$setStyleProperty6(_el$1, "width", _p$.o = _v$8);
5503
- _v$9 !== _p$.i && _$setStyleProperty6(_el$10, "left", _p$.i = _v$9);
5558
+ var _v$6 = (props.duration > 0 ? (props.viewEnd - props.viewStart) / props.duration * 100 : 100) < 99.999 || void 0, _v$7 = `${props.duration > 0 ? props.viewStart / props.duration * 100 : 0}%`, _v$8 = `${props.duration > 0 ? (props.viewEnd - props.viewStart) / props.duration * 100 : 100}%`, _v$9 = `${props.duration > 0 ? time() / props.duration * 100 : 0}%`, _v$0 = `${props.duration > 0 ? time() / props.duration * 100 : 0}%`;
5559
+ _v$6 !== _p$.e && _$setAttribute14(_el$12, "data-zoomed", _p$.e = _v$6);
5560
+ _v$7 !== _p$.t && _$setStyleProperty6(_el$12, "left", _p$.t = _v$7);
5561
+ _v$8 !== _p$.a && _$setStyleProperty6(_el$12, "width", _p$.a = _v$8);
5562
+ _v$9 !== _p$.o && _$setStyleProperty6(_el$13, "width", _p$.o = _v$9);
5563
+ _v$0 !== _p$.i && _$setStyleProperty6(_el$14, "left", _p$.i = _v$0);
5504
5564
  return _p$;
5505
5565
  }, {
5506
5566
  e: void 0,
@@ -5509,7 +5569,7 @@ function TimelineOverview(props) {
5509
5569
  o: void 0,
5510
5570
  i: void 0
5511
5571
  });
5512
- return _el$9;
5572
+ return _el$11;
5513
5573
  })();
5514
5574
  }
5515
5575
  function TimelinePlayheadFlag(props) {
@@ -5522,17 +5582,16 @@ function TimelinePlayheadFlag(props) {
5522
5582
  };
5523
5583
  onCleanup12(() => cleanup?.());
5524
5584
  const x = () => clamp((time() - props.viewStart) * props.pxPerSecond, 0, props.laneWidth);
5525
- const placement = () => {
5526
- const left = x() - PLAYHEAD_FLAG_WIDTH / 2;
5527
- return left >= props.headerClearStart && left + PLAYHEAD_FLAG_WIDTH <= props.headerClearEnd ? "raised" : "lowered";
5528
- };
5585
+ const flagCenter = () => clamp(x(), PLAYHEAD_FLAG_WIDTH / 2 - PLAYHEAD_FLAG_EDGE_OVERHANG, props.laneWidth - PLAYHEAD_FLAG_WIDTH / 2 + PLAYHEAD_FLAG_EDGE_OVERHANG);
5586
+ const flagOffset = () => flagCenter() - x();
5587
+ const edge = () => flagOffset() > 0.5 ? "start" : flagOffset() < -0.5 ? "end" : "center";
5529
5588
  return _$createComponent16(Show11, {
5530
5589
  get when() {
5531
5590
  return _$memo11(() => !!(time() >= props.viewStart && time() <= props.viewEnd))() && props.laneWidth > 0;
5532
5591
  },
5533
5592
  get children() {
5534
- var _el$11 = _tmpl$72(), _el$12 = _el$11.firstChild;
5535
- _el$11.$$pointerdown = (event) => {
5593
+ var _el$15 = _tmpl$82(), _el$16 = _el$15.firstChild, _el$17 = _el$16.nextSibling, _el$18 = _el$17.firstChild;
5594
+ _el$15.$$pointerdown = (event) => {
5536
5595
  const rect = props.ruler?.getBoundingClientRect();
5537
5596
  if (!rect) return;
5538
5597
  event.preventDefault();
@@ -5567,21 +5626,23 @@ function TimelinePlayheadFlag(props) {
5567
5626
  window.addEventListener("pointercancel", finish);
5568
5627
  cleanup = finish;
5569
5628
  };
5570
- _$insert17(_el$12, () => time().toFixed(2));
5629
+ _$insert17(_el$18, () => time().toFixed(2));
5571
5630
  _$effect16((_p$) => {
5572
- var _v$0 = placement(), _v$1 = `calc(var(--dial-timeline-label-w) + ${x()}px)`, _v$10 = props.duration, _v$11 = time();
5573
- _v$0 !== _p$.e && _$setAttribute14(_el$11, "data-placement", _p$.e = _v$0);
5574
- _v$1 !== _p$.t && _$setStyleProperty6(_el$11, "left", _p$.t = _v$1);
5575
- _v$10 !== _p$.a && _$setAttribute14(_el$11, "aria-valuemax", _p$.a = _v$10);
5576
- _v$11 !== _p$.o && _$setAttribute14(_el$11, "aria-valuenow", _p$.o = _v$11);
5631
+ var _v$1 = edge(), _v$10 = `calc(var(--dial-timeline-label-w) + ${x()}px)`, _v$11 = `${flagOffset()}px`, _v$12 = props.duration, _v$13 = time();
5632
+ _v$1 !== _p$.e && _$setAttribute14(_el$15, "data-edge", _p$.e = _v$1);
5633
+ _v$10 !== _p$.t && _$setStyleProperty6(_el$15, "left", _p$.t = _v$10);
5634
+ _v$11 !== _p$.a && _$setStyleProperty6(_el$15, "--dial-timeline-playhead-flag-offset", _p$.a = _v$11);
5635
+ _v$12 !== _p$.o && _$setAttribute14(_el$15, "aria-valuemax", _p$.o = _v$12);
5636
+ _v$13 !== _p$.i && _$setAttribute14(_el$15, "aria-valuenow", _p$.i = _v$13);
5577
5637
  return _p$;
5578
5638
  }, {
5579
5639
  e: void 0,
5580
5640
  t: void 0,
5581
5641
  a: void 0,
5582
- o: void 0
5642
+ o: void 0,
5643
+ i: void 0
5583
5644
  });
5584
- return _el$11;
5645
+ return _el$15;
5585
5646
  }
5586
5647
  });
5587
5648
  }
@@ -5611,31 +5672,16 @@ function TimelineSection(props) {
5611
5672
  return DialStore.getActivePresetId(props.meta.id);
5612
5673
  };
5613
5674
  let laneAreaRef;
5614
- let titleRef;
5615
- let actionsRef;
5675
+ let horizontalScrollRef;
5616
5676
  const [laneWidth, setLaneWidth] = createSignal14(0);
5617
- const [flagClearRange, setFlagClearRange] = createSignal14({
5618
- start: 0,
5619
- end: 0
5620
- });
5621
5677
  createEffect11(() => {
5622
- if (!open() || !laneAreaRef || !titleRef || !actionsRef) return;
5678
+ if (!open() || !laneAreaRef) return;
5623
5679
  const measure = () => {
5624
- if (!laneAreaRef || !titleRef || !actionsRef) return;
5625
- const rulerRect = laneAreaRef.getBoundingClientRect();
5626
- const titleRect = titleRef.getBoundingClientRect();
5627
- const actionsRect = actionsRef.getBoundingClientRect();
5628
- setLaneWidth(rulerRect.width);
5629
- setFlagClearRange({
5630
- start: Math.round(titleRect.right + 10 - rulerRect.left),
5631
- end: Math.round(actionsRect.left - 10 - rulerRect.left)
5632
- });
5680
+ if (laneAreaRef) setLaneWidth(laneAreaRef.getBoundingClientRect().width);
5633
5681
  };
5634
5682
  measure();
5635
5683
  const observer = new ResizeObserver(measure);
5636
5684
  observer.observe(laneAreaRef);
5637
- observer.observe(titleRef);
5638
- observer.observe(actionsRef);
5639
5685
  onCleanup12(() => observer.disconnect());
5640
5686
  });
5641
5687
  const visibleDuration = () => props.meta.duration > 0 ? props.meta.duration / zoom() : props.meta.duration;
@@ -5645,6 +5691,12 @@ function TimelineSection(props) {
5645
5691
  const maxZoom = () => Math.max(MIN_TIMELINE_MAX_ZOOM, laneWidth() > 0 && props.meta.duration > 0 ? MAJOR_TICK_TARGET_PX * props.meta.duration / (MILLISECOND_STEP * 10 * laneWidth()) : MIN_TIMELINE_MAX_ZOOM);
5646
5692
  createEffect11(() => setZoom((current) => clamp(current, 1, maxZoom())));
5647
5693
  createEffect11(() => setViewStart((current) => clampViewStart(current, props.meta.duration, props.meta.duration / zoom())));
5694
+ createEffect11(() => {
5695
+ const scroller = horizontalScrollRef;
5696
+ const next = safeViewStart() * pxPerSecond();
5697
+ if (!scroller || pxPerSecond() <= 0) return;
5698
+ if (Math.abs(scroller.scrollLeft - next) > 0.5) scroller.scrollLeft = next;
5699
+ });
5648
5700
  createEffect11(() => {
5649
5701
  if (!props.dockVisible) setPopover(null);
5650
5702
  });
@@ -5657,6 +5709,21 @@ function TimelineSection(props) {
5657
5709
  setZoom(1);
5658
5710
  setViewStart(0);
5659
5711
  };
5712
+ const handleReplay = () => {
5713
+ setViewStart(0);
5714
+ TimelineStore.replay(props.meta.id);
5715
+ };
5716
+ const handleHorizontalScroll = (event) => {
5717
+ if (pxPerSecond() <= 0) return;
5718
+ setViewStart(clampViewStart(event.currentTarget.scrollLeft / pxPerSecond(), props.meta.duration, visibleDuration()));
5719
+ };
5720
+ const handleTimelineWheel = (event) => {
5721
+ if (!horizontalScrollRef || zoom() <= 1) return;
5722
+ const delta = Math.abs(event.deltaX) > Math.abs(event.deltaY) ? event.deltaX : event.shiftKey ? event.deltaY : 0;
5723
+ if (delta === 0) return;
5724
+ event.preventDefault();
5725
+ horizontalScrollRef.scrollLeft += delta;
5726
+ };
5660
5727
  let zoomDrag = null;
5661
5728
  let rulerScrub = null;
5662
5729
  let trackScrub = null;
@@ -5819,13 +5886,13 @@ function TimelineSection(props) {
5819
5886
  const group = clip.group;
5820
5887
  const collapsed = collapsedGroups().has(group);
5821
5888
  result.push((() => {
5822
- var _el$13 = _tmpl$82(), _el$14 = _el$13.firstChild, _el$15 = _el$14.firstChild, _el$16 = _el$15.nextSibling;
5823
- _el$15.$$click = () => toggleGroup(group);
5824
- _$setAttribute14(_el$15, "data-open", !collapsed);
5825
- _$setAttribute14(_el$15, "title", collapsed ? "Expand layer" : "Collapse layer");
5826
- _$insert17(_el$15, _$createComponent16(ChevronIcon, {}));
5827
- _$insert17(_el$16, () => formatLabel(group));
5828
- return _el$13;
5889
+ var _el$19 = _tmpl$92(), _el$20 = _el$19.firstChild, _el$21 = _el$20.firstChild, _el$22 = _el$21.nextSibling;
5890
+ _el$21.$$click = () => toggleGroup(group);
5891
+ _$setAttribute14(_el$21, "data-open", !collapsed);
5892
+ _$setAttribute14(_el$21, "title", collapsed ? "Expand layer" : "Collapse layer");
5893
+ _$insert17(_el$21, _$createComponent16(ChevronIcon, {}));
5894
+ _$insert17(_el$22, () => formatLabel(group));
5895
+ return _el$19;
5829
5896
  })());
5830
5897
  }
5831
5898
  }
@@ -5835,23 +5902,23 @@ function TimelineSection(props) {
5835
5902
  const stat = computeClipStaticFromValues(currentValues, clip, props.meta.duration);
5836
5903
  const selected = popover()?.clip.key === clip.key;
5837
5904
  result.push((() => {
5838
- var _el$17 = _tmpl$0(), _el$18 = _el$17.firstChild, _el$20 = _el$18.nextSibling;
5839
- _$insert17(_el$18, _$createComponent16(Show11, {
5905
+ var _el$23 = _tmpl$1(), _el$24 = _el$23.firstChild, _el$26 = _el$24.nextSibling;
5906
+ _$insert17(_el$24, _$createComponent16(Show11, {
5840
5907
  when: isProps,
5841
5908
  get children() {
5842
- var _el$19 = _tmpl$92();
5843
- _el$19.$$click = (event) => {
5909
+ var _el$25 = _tmpl$0();
5910
+ _el$25.$$click = (event) => {
5844
5911
  event.stopPropagation();
5845
5912
  toggleTracks(clip.key);
5846
5913
  };
5847
- _$setAttribute14(_el$19, "data-open", tracksOpen);
5848
- _$setAttribute14(_el$19, "title", tracksOpen ? "Collapse properties" : "Expand properties");
5849
- _$insert17(_el$19, _$createComponent16(ChevronIcon, {}));
5850
- return _el$19;
5914
+ _$setAttribute14(_el$25, "data-open", tracksOpen);
5915
+ _$setAttribute14(_el$25, "title", tracksOpen ? "Collapse properties" : "Expand properties");
5916
+ _$insert17(_el$25, _$createComponent16(ChevronIcon, {}));
5917
+ return _el$25;
5851
5918
  }
5852
5919
  }), null);
5853
- _$insert17(_el$18, () => clip.label, null);
5854
- _$insert17(_el$20, _$createComponent16(TimelineClip, {
5920
+ _$insert17(_el$24, () => clip.label, null);
5921
+ _$insert17(_el$26, _$createComponent16(TimelineClip, {
5855
5922
  get timelineId() {
5856
5923
  return props.meta.id;
5857
5924
  },
@@ -5888,8 +5955,8 @@ function TimelineSection(props) {
5888
5955
  onClick: handleBarClick,
5889
5956
  onDrag: closePopover
5890
5957
  }));
5891
- _$effect16(() => _$setAttribute14(_el$17, "data-grouped", clip.group ? "" : void 0));
5892
- return _el$17;
5958
+ _$effect16(() => _$setAttribute14(_el$23, "data-grouped", clip.group ? "" : void 0));
5959
+ return _el$23;
5893
5960
  })());
5894
5961
  if (!tracksOpen) continue;
5895
5962
  for (const trackRef of clip.tracks ?? []) {
@@ -5906,9 +5973,9 @@ function TimelineSection(props) {
5906
5973
  };
5907
5974
  const trackSelected = popover()?.clip.key === trackKey;
5908
5975
  result.push((() => {
5909
- var _el$21 = _tmpl$1(), _el$22 = _el$21.firstChild, _el$23 = _el$22.nextSibling;
5910
- _$insert17(_el$22, () => formatLabel(trackRef.prop));
5911
- _$insert17(_el$23, _$createComponent16(TimelineClip, {
5976
+ var _el$27 = _tmpl$102(), _el$28 = _el$27.firstChild, _el$29 = _el$28.nextSibling;
5977
+ _$insert17(_el$28, () => formatLabel(trackRef.prop));
5978
+ _$insert17(_el$29, _$createComponent16(TimelineClip, {
5912
5979
  get timelineId() {
5913
5980
  return props.meta.id;
5914
5981
  },
@@ -5948,19 +6015,17 @@ function TimelineSection(props) {
5948
6015
  onClick: openClipPopover,
5949
6016
  onDrag: closePopover
5950
6017
  }));
5951
- _$effect16(() => _$setAttribute14(_el$21, "data-grouped", clip.group ? "" : void 0));
5952
- return _el$21;
6018
+ _$effect16(() => _$setAttribute14(_el$27, "data-grouped", clip.group ? "" : void 0));
6019
+ return _el$27;
5953
6020
  })());
5954
6021
  }
5955
6022
  }
5956
6023
  return result;
5957
6024
  });
5958
6025
  return (() => {
5959
- var _el$24 = _tmpl$122(), _el$25 = _el$24.firstChild, _el$26 = _el$25.firstChild, _el$27 = _el$26.firstChild, _el$28 = _el$26.nextSibling, _el$29 = _el$28.firstChild, _el$30 = _el$29.firstChild, _el$31 = _el$29.nextSibling, _el$32 = _el$31.firstChild, _el$35 = _el$31.nextSibling;
5960
- var _ref$ = titleRef;
5961
- typeof _ref$ === "function" ? _$use10(_ref$, _el$27) : titleRef = _el$27;
5962
- _$insert17(_el$27, () => props.meta.name);
5963
- _$insert17(_el$25, _$createComponent16(Show11, {
6026
+ var _el$30 = _tmpl$142(), _el$31 = _el$30.firstChild, _el$32 = _el$31.firstChild, _el$33 = _el$32.firstChild, _el$34 = _el$32.nextSibling, _el$35 = _el$34.firstChild, _el$36 = _el$35.firstChild, _el$37 = _el$35.nextSibling, _el$38 = _el$37.firstChild, _el$41 = _el$37.nextSibling;
6027
+ _$insert17(_el$33, () => props.meta.name);
6028
+ _$insert17(_el$31, _$createComponent16(Show11, {
5964
6029
  get when() {
5965
6030
  return !open();
5966
6031
  },
@@ -5981,24 +6046,25 @@ function TimelineSection(props) {
5981
6046
  onNavigate: centerViewAt
5982
6047
  });
5983
6048
  }
5984
- }), _el$28);
5985
- var _ref$2 = actionsRef;
5986
- typeof _ref$2 === "function" ? _$use10(_ref$2, _el$28) : actionsRef = _el$28;
5987
- _$insert17(_el$28, _$createComponent16(PlayPauseButton, {
6049
+ }), _el$34);
6050
+ _$insert17(_el$34, _$createComponent16(PlayPauseButton, {
5988
6051
  get id() {
5989
6052
  return props.meta.id;
5990
6053
  }
5991
- }), _el$29);
5992
- _el$29.$$click = handleAddPreset;
5993
- _$insert17(_el$30, _$createComponent16(For8, {
6054
+ }), _el$35);
6055
+ _$insert17(_el$34, _$createComponent16(ReplayButton, {
6056
+ onReplay: handleReplay
6057
+ }), _el$35);
6058
+ _el$35.$$click = handleAddPreset;
6059
+ _$insert17(_el$36, _$createComponent16(For8, {
5994
6060
  each: ICON_ADD_PRESET,
5995
6061
  children: (path) => (() => {
5996
- var _el$41 = _tmpl$132();
5997
- _$setAttribute14(_el$41, "d", path);
5998
- return _el$41;
6062
+ var _el$51 = _tmpl$152();
6063
+ _$setAttribute14(_el$51, "d", path);
6064
+ return _el$51;
5999
6065
  })()
6000
6066
  }));
6001
- _$insert17(_el$28, _$createComponent16(PresetManager, {
6067
+ _$insert17(_el$34, _$createComponent16(PresetManager, {
6002
6068
  get panelId() {
6003
6069
  return props.meta.id;
6004
6070
  },
@@ -6009,21 +6075,21 @@ function TimelineSection(props) {
6009
6075
  return activePresetId();
6010
6076
  },
6011
6077
  onAdd: handleAddPreset
6012
- }), _el$31);
6013
- _el$31.$$click = handleCopy;
6014
- _$insert17(_el$32, _$createComponent16(Show11, {
6078
+ }), _el$37);
6079
+ _el$37.$$click = handleCopy;
6080
+ _$insert17(_el$38, _$createComponent16(Show11, {
6015
6081
  get when() {
6016
6082
  return copied();
6017
6083
  },
6018
6084
  get fallback() {
6019
6085
  return (() => {
6020
- var _el$42 = _tmpl$142(), _el$43 = _el$42.firstChild, _el$44 = _el$43.nextSibling, _el$45 = _el$44.nextSibling;
6086
+ var _el$52 = _tmpl$162(), _el$53 = _el$52.firstChild, _el$54 = _el$53.nextSibling, _el$55 = _el$54.nextSibling;
6021
6087
  _$effect16((_p$) => {
6022
- var _v$17 = iconStyle, _v$18 = ICON_CLIPBOARD.board, _v$19 = ICON_CLIPBOARD.sparkle, _v$20 = ICON_CLIPBOARD.body;
6023
- _p$.e = _$style3(_el$42, _v$17, _p$.e);
6024
- _v$18 !== _p$.t && _$setAttribute14(_el$43, "d", _p$.t = _v$18);
6025
- _v$19 !== _p$.a && _$setAttribute14(_el$44, "d", _p$.a = _v$19);
6026
- _v$20 !== _p$.o && _$setAttribute14(_el$45, "d", _p$.o = _v$20);
6088
+ var _v$19 = iconStyle, _v$20 = ICON_CLIPBOARD.board, _v$21 = ICON_CLIPBOARD.sparkle, _v$22 = ICON_CLIPBOARD.body;
6089
+ _p$.e = _$style3(_el$52, _v$19, _p$.e);
6090
+ _v$20 !== _p$.t && _$setAttribute14(_el$53, "d", _p$.t = _v$20);
6091
+ _v$21 !== _p$.a && _$setAttribute14(_el$54, "d", _p$.a = _v$21);
6092
+ _v$22 !== _p$.o && _$setAttribute14(_el$55, "d", _p$.o = _v$22);
6027
6093
  return _p$;
6028
6094
  }, {
6029
6095
  e: void 0,
@@ -6031,69 +6097,70 @@ function TimelineSection(props) {
6031
6097
  a: void 0,
6032
6098
  o: void 0
6033
6099
  });
6034
- return _el$42;
6100
+ return _el$52;
6035
6101
  })();
6036
6102
  },
6037
6103
  get children() {
6038
- var _el$33 = _tmpl$102(), _el$34 = _el$33.firstChild;
6039
- _$setAttribute14(_el$34, "d", ICON_CHECK);
6040
- _$effect16((_$p) => _$style3(_el$33, iconStyle, _$p));
6041
- return _el$33;
6104
+ var _el$39 = _tmpl$112(), _el$40 = _el$39.firstChild;
6105
+ _$setAttribute14(_el$40, "d", ICON_CHECK);
6106
+ _$effect16((_$p) => _$style3(_el$39, iconStyle, _$p));
6107
+ return _el$39;
6042
6108
  }
6043
6109
  }));
6044
- _el$35.$$click = () => setOpen((current) => !current);
6045
- _$insert17(_el$35, _$createComponent16(ChevronIcon, {}));
6046
- _$insert17(_el$24, _$createComponent16(Show11, {
6110
+ _el$41.$$click = () => setOpen((current) => !current);
6111
+ _$insert17(_el$41, _$createComponent16(ChevronIcon, {}));
6112
+ _$insert17(_el$30, _$createComponent16(Show11, {
6047
6113
  get when() {
6048
6114
  return open();
6049
6115
  },
6050
6116
  get children() {
6051
- var _el$36 = _tmpl$112(), _el$37 = _el$36.firstChild, _el$38 = _el$37.firstChild, _el$39 = _el$38.firstChild, _el$40 = _el$39.nextSibling;
6052
- _el$36.addEventListener("lostpointercapture", finishTrack);
6053
- _el$36.addEventListener("pointercancel", finishTrack);
6054
- _el$36.$$pointerup = finishTrack;
6055
- _el$36.$$pointermove = (event) => trackScrub && seekTrack(event.clientX);
6056
- _el$36.$$pointerdown = handleTrackPointerDown;
6057
- _el$40.addEventListener("lostpointercapture", finishRuler);
6058
- _el$40.addEventListener("pointercancel", finishRuler);
6059
- _el$40.$$pointerup = finishRuler;
6060
- _el$40.$$pointermove = handleRulerPointerMove;
6061
- _el$40.$$pointerdown = handleRulerPointerDown;
6062
- var _ref$3 = laneAreaRef;
6063
- typeof _ref$3 === "function" ? _$use10(_ref$3, _el$40) : laneAreaRef = _el$40;
6064
- _$insert17(_el$40, _$createComponent16(For8, {
6117
+ var _el$42 = _tmpl$132(), _el$43 = _el$42.firstChild, _el$44 = _el$43.firstChild, _el$45 = _el$44.firstChild, _el$46 = _el$45.nextSibling;
6118
+ _el$42.addEventListener("lostpointercapture", finishTrack);
6119
+ _el$42.addEventListener("pointercancel", finishTrack);
6120
+ _el$42.$$pointerup = finishTrack;
6121
+ _el$42.$$pointermove = (event) => trackScrub && seekTrack(event.clientX);
6122
+ _el$42.$$pointerdown = handleTrackPointerDown;
6123
+ _el$42.addEventListener("wheel", handleTimelineWheel);
6124
+ _el$46.addEventListener("lostpointercapture", finishRuler);
6125
+ _el$46.addEventListener("pointercancel", finishRuler);
6126
+ _el$46.$$pointerup = finishRuler;
6127
+ _el$46.$$pointermove = handleRulerPointerMove;
6128
+ _el$46.$$pointerdown = handleRulerPointerDown;
6129
+ var _ref$2 = laneAreaRef;
6130
+ typeof _ref$2 === "function" ? _$use10(_ref$2, _el$46) : laneAreaRef = _el$46;
6131
+ _$insert17(_el$46, _$createComponent16(For8, {
6065
6132
  get each() {
6066
6133
  return ticks().fine;
6067
6134
  },
6068
6135
  children: (time) => (() => {
6069
- var _el$46 = _tmpl$152();
6070
- _$effect16((_$p) => _$setStyleProperty6(_el$46, "left", `${(time - safeViewStart()) * pxPerSecond()}px`));
6071
- return _el$46;
6136
+ var _el$56 = _tmpl$172();
6137
+ _$effect16((_$p) => _$setStyleProperty6(_el$56, "left", `${(time - safeViewStart()) * pxPerSecond()}px`));
6138
+ return _el$56;
6072
6139
  })()
6073
6140
  }), null);
6074
- _$insert17(_el$40, _$createComponent16(For8, {
6141
+ _$insert17(_el$46, _$createComponent16(For8, {
6075
6142
  get each() {
6076
6143
  return ticks().medium;
6077
6144
  },
6078
6145
  children: (time) => (() => {
6079
- var _el$47 = _tmpl$162();
6080
- _$effect16((_$p) => _$setStyleProperty6(_el$47, "left", `${(time - safeViewStart()) * pxPerSecond()}px`));
6081
- return _el$47;
6146
+ var _el$57 = _tmpl$182();
6147
+ _$effect16((_$p) => _$setStyleProperty6(_el$57, "left", `${(time - safeViewStart()) * pxPerSecond()}px`));
6148
+ return _el$57;
6082
6149
  })()
6083
6150
  }), null);
6084
- _$insert17(_el$40, _$createComponent16(For8, {
6151
+ _$insert17(_el$46, _$createComponent16(For8, {
6085
6152
  get each() {
6086
6153
  return ticks().major;
6087
6154
  },
6088
6155
  children: (time) => (() => {
6089
- var _el$48 = _tmpl$172(), _el$49 = _el$48.firstChild;
6090
- _$insert17(_el$49, () => formatRulerSeconds(time, ticks().majorStep));
6091
- _$effect16((_$p) => _$setStyleProperty6(_el$48, "left", `${(time - safeViewStart()) * pxPerSecond()}px`));
6092
- return _el$48;
6156
+ var _el$58 = _tmpl$192(), _el$59 = _el$58.firstChild;
6157
+ _$insert17(_el$59, () => formatRulerSeconds(time, ticks().majorStep));
6158
+ _$effect16((_$p) => _$setStyleProperty6(_el$58, "left", `${(time - safeViewStart()) * pxPerSecond()}px`));
6159
+ return _el$58;
6093
6160
  })()
6094
6161
  }), null);
6095
- _$insert17(_el$37, rows, null);
6096
- _$insert17(_el$37, _$createComponent16(Show11, {
6162
+ _$insert17(_el$43, rows, null);
6163
+ _$insert17(_el$43, _$createComponent16(Show11, {
6097
6164
  get when() {
6098
6165
  return pxPerSecond() > 0;
6099
6166
  },
@@ -6118,20 +6185,27 @@ function TimelineSection(props) {
6118
6185
  return laneWidth();
6119
6186
  },
6120
6187
  ruler: laneAreaRef,
6121
- get headerClearStart() {
6122
- return flagClearRange().start;
6123
- },
6124
- get headerClearEnd() {
6125
- return flagClearRange().end;
6126
- },
6127
6188
  onResetView: resetView
6128
6189
  });
6129
6190
  }
6130
6191
  }), null);
6131
- return _el$36;
6192
+ _$insert17(_el$42, _$createComponent16(Show11, {
6193
+ get when() {
6194
+ return zoom() > 1;
6195
+ },
6196
+ get children() {
6197
+ var _el$47 = _tmpl$122(), _el$48 = _el$47.firstChild, _el$49 = _el$48.nextSibling, _el$50 = _el$49.firstChild;
6198
+ _el$49.addEventListener("scroll", handleHorizontalScroll);
6199
+ var _ref$3 = horizontalScrollRef;
6200
+ typeof _ref$3 === "function" ? _$use10(_ref$3, _el$49) : horizontalScrollRef = _el$49;
6201
+ _$effect16((_$p) => _$setStyleProperty6(_el$50, "width", `${laneWidth() * zoom()}px`));
6202
+ return _el$47;
6203
+ }
6204
+ }), null);
6205
+ return _el$42;
6132
6206
  }
6133
6207
  }), null);
6134
- _$insert17(_el$24, _$createComponent16(Show11, {
6208
+ _$insert17(_el$30, _$createComponent16(Show11, {
6135
6209
  get when() {
6136
6210
  return popover();
6137
6211
  },
@@ -6152,12 +6226,12 @@ function TimelineSection(props) {
6152
6226
  })
6153
6227
  }), null);
6154
6228
  _$effect16((_p$) => {
6155
- var _v$12 = open() || void 0, _v$13 = copied() ? "Copied parameters" : "Copy parameters", _v$14 = open(), _v$15 = open(), _v$16 = open() ? "Collapse timeline" : "Expand timeline";
6156
- _v$12 !== _p$.e && _$setAttribute14(_el$25, "data-open", _p$.e = _v$12);
6157
- _v$13 !== _p$.t && _$setAttribute14(_el$31, "aria-label", _p$.t = _v$13);
6158
- _v$14 !== _p$.a && _$setAttribute14(_el$35, "data-open", _p$.a = _v$14);
6159
- _v$15 !== _p$.o && _$setAttribute14(_el$35, "aria-expanded", _p$.o = _v$15);
6160
- _v$16 !== _p$.i && _$setAttribute14(_el$35, "title", _p$.i = _v$16);
6229
+ var _v$14 = open() || void 0, _v$15 = copied() ? "Copied parameters" : "Copy parameters", _v$16 = open(), _v$17 = open(), _v$18 = open() ? "Collapse timeline" : "Expand timeline";
6230
+ _v$14 !== _p$.e && _$setAttribute14(_el$31, "data-open", _p$.e = _v$14);
6231
+ _v$15 !== _p$.t && _$setAttribute14(_el$37, "aria-label", _p$.t = _v$15);
6232
+ _v$16 !== _p$.a && _$setAttribute14(_el$41, "data-open", _p$.a = _v$16);
6233
+ _v$17 !== _p$.o && _$setAttribute14(_el$41, "aria-expanded", _p$.o = _v$17);
6234
+ _v$18 !== _p$.i && _$setAttribute14(_el$41, "title", _p$.i = _v$18);
6161
6235
  return _p$;
6162
6236
  }, {
6163
6237
  e: void 0,
@@ -6166,14 +6240,14 @@ function TimelineSection(props) {
6166
6240
  o: void 0,
6167
6241
  i: void 0
6168
6242
  });
6169
- return _el$24;
6243
+ return _el$30;
6170
6244
  })();
6171
6245
  }
6172
6246
  function ChevronIcon() {
6173
6247
  return (() => {
6174
- var _el$50 = _tmpl$182(), _el$51 = _el$50.firstChild;
6175
- _$setAttribute14(_el$51, "d", ICON_CHEVRON);
6176
- return _el$50;
6248
+ var _el$60 = _tmpl$202(), _el$61 = _el$60.firstChild;
6249
+ _$setAttribute14(_el$61, "d", ICON_CHEVRON);
6250
+ return _el$60;
6177
6251
  })();
6178
6252
  }
6179
6253
  function ClipPopover(props) {
@@ -6277,12 +6351,12 @@ function ClipPopover(props) {
6277
6351
  return document.body;
6278
6352
  },
6279
6353
  get children() {
6280
- var _el$52 = _tmpl$192(), _el$53 = _el$52.firstChild, _el$54 = _el$53.firstChild, _el$55 = _el$54.firstChild, _el$56 = _el$55.nextSibling, _el$57 = _el$54.nextSibling;
6354
+ var _el$62 = _tmpl$215(), _el$63 = _el$62.firstChild, _el$64 = _el$63.firstChild, _el$65 = _el$64.firstChild, _el$66 = _el$65.nextSibling, _el$67 = _el$64.nextSibling;
6281
6355
  var _ref$4 = ref;
6282
- typeof _ref$4 === "function" ? _$use10(_ref$4, _el$53) : ref = _el$53;
6283
- _$insert17(_el$55, () => presentation().title);
6284
- _$addEventListener(_el$56, "click", props.onClose, true);
6285
- _$insert17(_el$57, _$createComponent16(ControlRenderer, {
6356
+ typeof _ref$4 === "function" ? _$use10(_ref$4, _el$63) : ref = _el$63;
6357
+ _$insert17(_el$65, () => presentation().title);
6358
+ _$addEventListener(_el$66, "click", props.onClose, true);
6359
+ _$insert17(_el$67, _$createComponent16(ControlRenderer, {
6286
6360
  get panelId() {
6287
6361
  return props.panelId;
6288
6362
  },
@@ -6297,15 +6371,15 @@ function ClipPopover(props) {
6297
6371
  }
6298
6372
  }));
6299
6373
  _$effect16((_p$) => {
6300
- var _v$21 = props.theme, _v$22 = position().placeAbove ? "above" : "below", _v$23 = `${position().left}px`, _v$24 = `${position().top}px`, _v$25 = `${position().width}px`, _v$26 = `${position().availableHeight}px`, _v$27 = naturalHeight() > 0 ? "visible" : "hidden", _v$28 = `Edit ${presentation().title}`;
6301
- _v$21 !== _p$.e && _$setAttribute14(_el$52, "data-theme", _p$.e = _v$21);
6302
- _v$22 !== _p$.t && _$setAttribute14(_el$53, "data-placement", _p$.t = _v$22);
6303
- _v$23 !== _p$.a && _$setStyleProperty6(_el$53, "left", _p$.a = _v$23);
6304
- _v$24 !== _p$.o && _$setStyleProperty6(_el$53, "top", _p$.o = _v$24);
6305
- _v$25 !== _p$.i && _$setStyleProperty6(_el$53, "width", _p$.i = _v$25);
6306
- _v$26 !== _p$.n && _$setStyleProperty6(_el$53, "max-height", _p$.n = _v$26);
6307
- _v$27 !== _p$.s && _$setStyleProperty6(_el$53, "visibility", _p$.s = _v$27);
6308
- _v$28 !== _p$.h && _$setAttribute14(_el$53, "aria-label", _p$.h = _v$28);
6374
+ var _v$23 = props.theme, _v$24 = position().placeAbove ? "above" : "below", _v$25 = `${position().left}px`, _v$26 = `${position().top}px`, _v$27 = `${position().width}px`, _v$28 = `${position().availableHeight}px`, _v$29 = naturalHeight() > 0 ? "visible" : "hidden", _v$30 = `Edit ${presentation().title}`;
6375
+ _v$23 !== _p$.e && _$setAttribute14(_el$62, "data-theme", _p$.e = _v$23);
6376
+ _v$24 !== _p$.t && _$setAttribute14(_el$63, "data-placement", _p$.t = _v$24);
6377
+ _v$25 !== _p$.a && _$setStyleProperty6(_el$63, "left", _p$.a = _v$25);
6378
+ _v$26 !== _p$.o && _$setStyleProperty6(_el$63, "top", _p$.o = _v$26);
6379
+ _v$27 !== _p$.i && _$setStyleProperty6(_el$63, "width", _p$.i = _v$27);
6380
+ _v$28 !== _p$.n && _$setStyleProperty6(_el$63, "max-height", _p$.n = _v$28);
6381
+ _v$29 !== _p$.s && _$setStyleProperty6(_el$63, "visibility", _p$.s = _v$29);
6382
+ _v$30 !== _p$.h && _$setAttribute14(_el$63, "aria-label", _p$.h = _v$30);
6309
6383
  return _p$;
6310
6384
  }, {
6311
6385
  e: void 0,
@@ -6317,7 +6391,7 @@ function ClipPopover(props) {
6317
6391
  s: void 0,
6318
6392
  h: void 0
6319
6393
  });
6320
- return _el$52;
6394
+ return _el$62;
6321
6395
  }
6322
6396
  });
6323
6397
  }
@@ -6452,23 +6526,23 @@ function TimelineClip(props) {
6452
6526
  return ghostCycles();
6453
6527
  },
6454
6528
  children: (cycle) => (() => {
6455
- var _el$61 = _tmpl$232();
6456
- _$insert17(_el$61, _$createComponent16(For8, {
6529
+ var _el$71 = _tmpl$252();
6530
+ _$insert17(_el$71, _$createComponent16(For8, {
6457
6531
  get each() {
6458
6532
  return props.steps;
6459
6533
  },
6460
6534
  children: (step) => (() => {
6461
- var _el$62 = _tmpl$242();
6462
- _$effect16((_$p) => _$setStyleProperty6(_el$62, "width", `${step.duration * props.pxPerSecond}px`));
6463
- return _el$62;
6535
+ var _el$72 = _tmpl$262();
6536
+ _$effect16((_$p) => _$setStyleProperty6(_el$72, "width", `${step.duration * props.pxPerSecond}px`));
6537
+ return _el$72;
6464
6538
  })()
6465
6539
  }));
6466
6540
  _$effect16((_p$) => {
6467
- var _v$37 = isSteps() || void 0, _v$38 = `${(cycle.start - props.viewStart) * props.pxPerSecond + 1}px`, _v$39 = `${Math.max(1, cycle.duration * props.pxPerSecond - 2)}px`, _v$40 = props.clip.color;
6468
- _v$37 !== _p$.e && _$setAttribute14(_el$61, "data-steps", _p$.e = _v$37);
6469
- _v$38 !== _p$.t && _$setStyleProperty6(_el$61, "left", _p$.t = _v$38);
6470
- _v$39 !== _p$.a && _$setStyleProperty6(_el$61, "width", _p$.a = _v$39);
6471
- _v$40 !== _p$.o && _$setStyleProperty6(_el$61, "background", _p$.o = _v$40);
6541
+ var _v$39 = isSteps() || void 0, _v$40 = `${(cycle.start - props.viewStart) * props.pxPerSecond + 1}px`, _v$41 = `${Math.max(1, cycle.duration * props.pxPerSecond - 2)}px`, _v$42 = props.clip.color;
6542
+ _v$39 !== _p$.e && _$setAttribute14(_el$71, "data-steps", _p$.e = _v$39);
6543
+ _v$40 !== _p$.t && _$setStyleProperty6(_el$71, "left", _p$.t = _v$40);
6544
+ _v$41 !== _p$.a && _$setStyleProperty6(_el$71, "width", _p$.a = _v$41);
6545
+ _v$42 !== _p$.o && _$setStyleProperty6(_el$71, "background", _p$.o = _v$42);
6472
6546
  return _p$;
6473
6547
  }, {
6474
6548
  e: void 0,
@@ -6476,16 +6550,16 @@ function TimelineClip(props) {
6476
6550
  a: void 0,
6477
6551
  o: void 0
6478
6552
  });
6479
- return _el$61;
6553
+ return _el$71;
6480
6554
  })()
6481
6555
  }), (() => {
6482
- var _el$58 = _tmpl$215();
6483
- _el$58.addEventListener("lostpointercapture", () => finish());
6484
- _el$58.addEventListener("pointercancel", () => finish());
6485
- _el$58.$$pointerup = (event) => finish(event);
6486
- _el$58.$$pointermove = handlePointerMove;
6487
- _el$58.$$pointerdown = handlePointerDown;
6488
- _$insert17(_el$58, _$createComponent16(Show11, {
6556
+ var _el$68 = _tmpl$232();
6557
+ _el$68.addEventListener("lostpointercapture", () => finish());
6558
+ _el$68.addEventListener("pointercancel", () => finish());
6559
+ _el$68.$$pointerup = (event) => finish(event);
6560
+ _el$68.$$pointermove = handlePointerMove;
6561
+ _el$68.$$pointerdown = handlePointerDown;
6562
+ _$insert17(_el$68, _$createComponent16(Show11, {
6489
6563
  get when() {
6490
6564
  return !props.composite;
6491
6565
  },
@@ -6495,9 +6569,9 @@ function TimelineClip(props) {
6495
6569
  return width() > 56;
6496
6570
  },
6497
6571
  get children() {
6498
- var _el$63 = _tmpl$252();
6499
- _$insert17(_el$63, durationText);
6500
- return _el$63;
6572
+ var _el$73 = _tmpl$272();
6573
+ _$insert17(_el$73, durationText);
6574
+ return _el$73;
6501
6575
  }
6502
6576
  });
6503
6577
  },
@@ -6512,23 +6586,23 @@ function TimelineClip(props) {
6512
6586
  return resizable();
6513
6587
  },
6514
6588
  get children() {
6515
- return _tmpl$202();
6589
+ return _tmpl$222();
6516
6590
  }
6517
6591
  }), _$createComponent16(Show11, {
6518
6592
  get when() {
6519
6593
  return width() > 56;
6520
6594
  },
6521
6595
  get children() {
6522
- var _el$65 = _tmpl$252();
6523
- _$insert17(_el$65, durationText);
6524
- return _el$65;
6596
+ var _el$75 = _tmpl$272();
6597
+ _$insert17(_el$75, durationText);
6598
+ return _el$75;
6525
6599
  }
6526
6600
  }), _$createComponent16(Show11, {
6527
6601
  get when() {
6528
6602
  return resizable();
6529
6603
  },
6530
6604
  get children() {
6531
- return _tmpl$262();
6605
+ return _tmpl$282();
6532
6606
  }
6533
6607
  })];
6534
6608
  },
@@ -6540,29 +6614,29 @@ function TimelineClip(props) {
6540
6614
  children: (step) => {
6541
6615
  const segmentWidth = () => step.duration * props.pxPerSecond;
6542
6616
  return (() => {
6543
- var _el$67 = _tmpl$272();
6544
- _$insert17(_el$67, _$createComponent16(Show11, {
6617
+ var _el$77 = _tmpl$292();
6618
+ _$insert17(_el$77, _$createComponent16(Show11, {
6545
6619
  get when() {
6546
6620
  return segmentWidth() > 52;
6547
6621
  },
6548
6622
  get children() {
6549
- var _el$68 = _tmpl$252();
6550
- _$insert17(_el$68, () => formatSeconds(step.duration));
6551
- return _el$68;
6623
+ var _el$78 = _tmpl$272();
6624
+ _$insert17(_el$78, () => formatSeconds(step.duration));
6625
+ return _el$78;
6552
6626
  }
6553
6627
  }));
6554
6628
  _$effect16((_p$) => {
6555
- var _v$41 = step.key ?? void 0, _v$42 = props.selectedStepKey === step.key || void 0, _v$43 = `${segmentWidth()}px`;
6556
- _v$41 !== _p$.e && _$setAttribute14(_el$67, "data-step", _p$.e = _v$41);
6557
- _v$42 !== _p$.t && _$setAttribute14(_el$67, "data-selected", _p$.t = _v$42);
6558
- _v$43 !== _p$.a && _$setStyleProperty6(_el$67, "width", _p$.a = _v$43);
6629
+ var _v$43 = step.key ?? void 0, _v$44 = props.selectedStepKey === step.key || void 0, _v$45 = `${segmentWidth()}px`;
6630
+ _v$43 !== _p$.e && _$setAttribute14(_el$77, "data-step", _p$.e = _v$43);
6631
+ _v$44 !== _p$.t && _$setAttribute14(_el$77, "data-selected", _p$.t = _v$44);
6632
+ _v$45 !== _p$.a && _$setStyleProperty6(_el$77, "width", _p$.a = _v$45);
6559
6633
  return _p$;
6560
6634
  }, {
6561
6635
  e: void 0,
6562
6636
  t: void 0,
6563
6637
  a: void 0
6564
6638
  });
6565
- return _el$67;
6639
+ return _el$77;
6566
6640
  })();
6567
6641
  }
6568
6642
  }), _$createComponent16(For8, {
@@ -6574,17 +6648,17 @@ function TimelineClip(props) {
6574
6648
  return !step.isPhysics;
6575
6649
  },
6576
6650
  get children() {
6577
- var _el$69 = _tmpl$282();
6651
+ var _el$79 = _tmpl$302();
6578
6652
  _$effect16((_p$) => {
6579
- var _v$44 = index(), _v$45 = `${boundaries()[index()] * props.pxPerSecond - 4}px`;
6580
- _v$44 !== _p$.e && _$setAttribute14(_el$69, "data-boundary", _p$.e = _v$44);
6581
- _v$45 !== _p$.t && _$setStyleProperty6(_el$69, "left", _p$.t = _v$45);
6653
+ var _v$46 = index(), _v$47 = `${boundaries()[index()] * props.pxPerSecond - 4}px`;
6654
+ _v$46 !== _p$.e && _$setAttribute14(_el$79, "data-boundary", _p$.e = _v$46);
6655
+ _v$47 !== _p$.t && _$setStyleProperty6(_el$79, "left", _p$.t = _v$47);
6582
6656
  return _p$;
6583
6657
  }, {
6584
6658
  e: void 0,
6585
6659
  t: void 0
6586
6660
  });
6587
- return _el$69;
6661
+ return _el$79;
6588
6662
  }
6589
6663
  })
6590
6664
  }), _$createComponent16(Show11, {
@@ -6592,7 +6666,7 @@ function TimelineClip(props) {
6592
6666
  return !props.steps?.[0]?.isPhysics;
6593
6667
  },
6594
6668
  get children() {
6595
- return _tmpl$202();
6669
+ return _tmpl$222();
6596
6670
  }
6597
6671
  })];
6598
6672
  }
@@ -6600,15 +6674,15 @@ function TimelineClip(props) {
6600
6674
  }
6601
6675
  }));
6602
6676
  _$effect16((_p$) => {
6603
- var _v$29 = isSteps() || void 0, _v$30 = props.composite || void 0, _v$31 = props.selected || void 0, _v$32 = dragging() || void 0, _v$33 = `${(props.at - props.viewStart) * props.pxPerSecond}px`, _v$34 = `${width()}px`, _v$35 = props.composite ? `${props.clip.color}80` : props.clip.color, _v$36 = title();
6604
- _v$29 !== _p$.e && _$setAttribute14(_el$58, "data-steps", _p$.e = _v$29);
6605
- _v$30 !== _p$.t && _$setAttribute14(_el$58, "data-composite", _p$.t = _v$30);
6606
- _v$31 !== _p$.a && _$setAttribute14(_el$58, "data-selected", _p$.a = _v$31);
6607
- _v$32 !== _p$.o && _$setAttribute14(_el$58, "data-dragging", _p$.o = _v$32);
6608
- _v$33 !== _p$.i && _$setStyleProperty6(_el$58, "left", _p$.i = _v$33);
6609
- _v$34 !== _p$.n && _$setStyleProperty6(_el$58, "width", _p$.n = _v$34);
6610
- _v$35 !== _p$.s && _$setStyleProperty6(_el$58, "background", _p$.s = _v$35);
6611
- _v$36 !== _p$.h && _$setAttribute14(_el$58, "title", _p$.h = _v$36);
6677
+ var _v$31 = isSteps() || void 0, _v$32 = props.composite || void 0, _v$33 = props.selected || void 0, _v$34 = dragging() || void 0, _v$35 = `${(props.at - props.viewStart) * props.pxPerSecond}px`, _v$36 = `${width()}px`, _v$37 = props.composite ? `${props.clip.color}80` : props.clip.color, _v$38 = title();
6678
+ _v$31 !== _p$.e && _$setAttribute14(_el$68, "data-steps", _p$.e = _v$31);
6679
+ _v$32 !== _p$.t && _$setAttribute14(_el$68, "data-composite", _p$.t = _v$32);
6680
+ _v$33 !== _p$.a && _$setAttribute14(_el$68, "data-selected", _p$.a = _v$33);
6681
+ _v$34 !== _p$.o && _$setAttribute14(_el$68, "data-dragging", _p$.o = _v$34);
6682
+ _v$35 !== _p$.i && _$setStyleProperty6(_el$68, "left", _p$.i = _v$35);
6683
+ _v$36 !== _p$.n && _$setStyleProperty6(_el$68, "width", _p$.n = _v$36);
6684
+ _v$37 !== _p$.s && _$setStyleProperty6(_el$68, "background", _p$.s = _v$37);
6685
+ _v$38 !== _p$.h && _$setAttribute14(_el$68, "title", _p$.h = _v$38);
6612
6686
  return _p$;
6613
6687
  }, {
6614
6688
  e: void 0,
@@ -6620,17 +6694,17 @@ function TimelineClip(props) {
6620
6694
  s: void 0,
6621
6695
  h: void 0
6622
6696
  });
6623
- return _el$58;
6697
+ return _el$68;
6624
6698
  })(), _$createComponent16(Show11, {
6625
6699
  get when() {
6626
6700
  return looping();
6627
6701
  },
6628
6702
  get children() {
6629
- return _tmpl$222();
6703
+ return _tmpl$242();
6630
6704
  }
6631
6705
  })];
6632
6706
  }
6633
- _$delegateEvents14(["click", "pointerdown", "pointermove", "pointerup"]);
6707
+ _$delegateEvents14(["pointerdown", "click", "pointermove", "pointerup"]);
6634
6708
 
6635
6709
  // src/solid/components/ButtonGroup.tsx
6636
6710
  import { template as _$template19 } from "solid-js/web";