@umriss-ui/schedule 0.45.0 → 0.46.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/CHANGELOG.md CHANGED
@@ -18,6 +18,21 @@ moves from here under the rule above.
18
18
 
19
19
  ---
20
20
 
21
+ ## 0.46.0 – Zoom keys, and the plan as a table (Oct. 2026)
22
+
23
+ ### Added
24
+
25
+ - **On the focused plot `+` and `=` zoom in, `-` and `_` zoom out and `0` fits the work**, about the active subtask, each reported once through `onViewChange`; the live region says the new span.
26
+ - **`useSchedule` hands back `DataTable`:** placed inside a `Schedule` it adds a "Show data" key that opens a table of the subtasks in view - lane, task, subtask, from and to with their dates, duration, findings - while the plot and the lane headers are hidden.
27
+ - **The demo shows what the application writes itself:** zoom and fit buttons, undo of the applied intents, a critical path and a highlighted lane.
28
+
29
+ ### Changed
30
+
31
+ - **A `Schedule`'s children render inside its root element** instead of after it; the parts that declare render nothing, so nothing visible moves.
32
+ - Migration: nothing changes unless a child of `Schedule` renders an element of its own, which now lands in the grid inside the root.
33
+ - **The peer ranges on core and charts move to `^0.46.0`.**
34
+ - Migration: install the 0.46 versions of `@umriss-ui/core` and `@umriss-ui/charts` beside it.
35
+
21
36
  ## 0.45.0 – A plan in the plant's time (Oct. 2026)
22
37
 
23
38
  ### Added
package/README.md CHANGED
@@ -138,12 +138,20 @@ A tooltip on a hovered subtask or dependency names the order, the times, lead-in
138
138
  and lead-out and the findings; `tooltip` replaces its content or switches it
139
139
  off. `now` draws the present across the lanes. The wheel over the schedule,
140
140
  lane headers included, scrolls the lanes and releases the page at their end,
141
- Ctrl or ⌘ and a pinch zoom, Shift pans; on a touch screen one finger pans, a
141
+ Ctrl or ⌘ and a pinch zoom, Shift pans; on the focused plot `+` (or `=`) zooms in, `-` zooms out and `0` fits the work, and the live region says the new span; on a touch screen one finger pans, a
142
142
  tap selects and a long press on a bar grabs it (with `"move"` or `"lane"` in `intents`), and a vertical swipe scrolls the page while all lanes fit (when they
143
143
  overflow, the lane names scroll the page). The lane headers take at most 40 % of the width, so that on a
144
144
  phone the plot keeps the larger part; `positionAt` and `clientPointOf`, on what
145
145
  `useSchedule` hands back, turn a client point into a time and a lane and back.
146
146
 
147
+ `DataTable`, which `useSchedule` hands back, is opt-in: placed inside the
148
+ `Schedule`, it adds a Show data key beside the bottom time band. The key opens a
149
+ table over the lanes and the plot, one row per subtask whose time, lead-in and
150
+ lead-out included, touches the span in view, in lane order, with the lane,
151
+ task, subtask, from and to with their dates, the duration and the findings in
152
+ words - a reader walks it with a screen reader's table keys instead of one
153
+ subtask at a time. Without the part nothing changes.
154
+
147
155
  ## Its size
148
156
 
149
157
  The width is the host's. Without `height`, a schedule fills its frame - a stretched grid cell, a card the
package/dist/index.d.ts CHANGED
@@ -43,6 +43,13 @@ export declare interface BlockedTimesProps {
43
43
  data: readonly BlockedTime[];
44
44
  }
45
45
 
46
+ /** The plan as a table, on demand: a key beside the bottom time band opens a
47
+ table of the subtasks in view - lane, task, subtask, from and to with
48
+ their dates, duration and findings in words. For a reader who wants every
49
+ value at once. Place it inside a `Schedule`; it takes no props and renders
50
+ nothing outside one. */
51
+ declare function DataTable(): ReactNode;
52
+
46
53
  /** When a dependency leaves its subtask, by its anchor. */
47
54
  export declare function departure(dependency: Dependency, from: Subtask): number;
48
55
 
@@ -523,6 +530,13 @@ export declare interface ScheduleParts {
523
530
  Dependencies: typeof Dependencies;
524
531
  BlockedTimes: typeof BlockedTimes;
525
532
  Milestones: typeof Milestones;
533
+ /** The plan as a table, on demand: placed inside the `Schedule`, it gives the
534
+ schedule a "Show data" key beside the bottom time band, and the key opens
535
+ a table of the subtasks in view - lane, task, subtask, from and to with
536
+ their dates, duration and findings in words. For a reader who wants every
537
+ value at once. It takes no props and renders nothing outside a
538
+ `Schedule`. */
539
+ DataTable: typeof DataTable;
526
540
  /** How the planner is looking at the plan: the span and the folded groups. */
527
541
  view: ScheduleView;
528
542
  /** Goes to a whole view; what it leaves out is shown whole again. Not
@@ -718,7 +732,7 @@ export declare interface Task {
718
732
  }
719
733
 
720
734
  /** Declares a schedule: hands back `Schedule` and the parts declared inside it
721
- - `Lane`, `LaneGroup`, `Subtasks`, `Dependencies`, `BlockedTimes`, `Milestones` -, its
735
+ - `Lane`, `LaneGroup`, `Subtasks`, `Dependencies`, `BlockedTimes`, `Milestones`, `DataTable` -, its
722
736
  `view` and the setters `setView`, `setDomain`, `toggleGroup`, `foldAll` and
723
737
  `unfoldAll`, `positionAt`, `clientPointOf` and `visibleDomain`, and `scrollToLane`, `scrollToSubtask` and
724
738
  `focusSubtask`. */
package/dist/schedule.css CHANGED
@@ -1 +1 @@
1
- @layer umriss.tokens,umriss.base,umriss.components;@layer umriss.base{._text_18806_22{font-family:var(--u-font-sans);font-size:var(--u-text-md);line-height:var(--u-leading-normal);color:var(--u-color-text);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}@media(pointer:fine){._dense_18806_38{--u-control-height-sm: var(--u-control-height-xs)}}._ink_18806_49{--u-color-text: var(--u-color-bg);--u-color-text-secondary: color-mix(in srgb, var(--u-color-bg) 75%, transparent);--u-color-text-muted: color-mix(in srgb, var(--u-color-bg) 60%, transparent)}._extent_18806_75{--_chars: 20;--_extra: 0;--_tracking: 0px;--_chrome: 0px;min-inline-size:0;max-inline-size:100%;contain:inline-size;contain-intrinsic-inline-size:calc((var(--_chars) + var(--_extra)) * (1ch + var(--_tracking)) + var(--_chrome))}._field_18806_90{caret-color:var(--u-color-accent)}._scroll_18806_96{scrollbar-width:thin;scrollbar-color:color-mix(in srgb,var(--u-color-text) 25%,transparent) transparent}._scroll_18806_96::-webkit-scrollbar{width:10px;height:10px}._scroll_18806_96::-webkit-scrollbar-thumb{background:color-mix(in srgb,var(--u-color-text) 22%,transparent);border-radius:var(--u-radius-full);border:3px solid transparent;background-clip:content-box}._scroll_18806_96::-webkit-scrollbar-track{background:transparent}}@layer umriss.components{._ring_18806_125:focus-visible{outline:2px solid transparent;box-shadow:var(--u-focus-ring)}@media(pointer:coarse){._field_18806_90._field_18806_90,._fieldRoot_18806_145._fieldRoot_18806_145{font-size:16px}}._field_18806_90:-webkit-autofill,._field_18806_90:-webkit-autofill:hover,._field_18806_90:-webkit-autofill:focus{-webkit-box-shadow:inset 0 0 0 1000px var(--u-color-surface),0 0 0 1px var(--u-edge-color-strong);-webkit-text-fill-color:var(--u-color-text);caret-color:var(--u-color-accent)}}@layer umriss.components{._root_q0w8s_4,._root_q0w8s_4:before,._root_q0w8s_4:after{box-sizing:border-box}._corner_q0w8s_19,._corner_q0w8s_19:before,._corner_q0w8s_19:after{box-sizing:border-box}._zoneLabel_q0w8s_24,._zoneLabel_q0w8s_24:before,._zoneLabel_q0w8s_24:after{box-sizing:border-box}._dayBand_q0w8s_40,._dayBand_q0w8s_40:before,._dayBand_q0w8s_40:after{box-sizing:border-box}._tickBand_q0w8s_41,._tickBand_q0w8s_41:before,._tickBand_q0w8s_41:after{box-sizing:border-box}._day_q0w8s_40,._day_q0w8s_40:before,._day_q0w8s_40:after{box-sizing:border-box}._dayLabel_q0w8s_67,._dayLabel_q0w8s_67:before,._dayLabel_q0w8s_67:after{box-sizing:border-box}._tick_q0w8s_41,._tick_q0w8s_41:before,._tick_q0w8s_41:after{box-sizing:border-box}._tickLabel_q0w8s_88,._tickLabel_q0w8s_88:before,._tickLabel_q0w8s_88:after{box-sizing:border-box}._headers_q0w8s_98,._headers_q0w8s_98:before,._headers_q0w8s_98:after{box-sizing:border-box}._header_q0w8s_98,._header_q0w8s_98:before,._header_q0w8s_98:after{box-sizing:border-box}._headerLabel_q0w8s_117,._headerLabel_q0w8s_117:before,._headerLabel_q0w8s_117:after{box-sizing:border-box}._headerCount_q0w8s_153,._headerCount_q0w8s_153:before,._headerCount_q0w8s_153:after{box-sizing:border-box}._chevron_q0w8s_162,._chevron_q0w8s_162:before,._chevron_q0w8s_162:after{box-sizing:border-box}._plot_q0w8s_240,._plot_q0w8s_240:before,._plot_q0w8s_240:after{box-sizing:border-box}._focusRing_q0w8s_254,._focusRing_q0w8s_254:before,._focusRing_q0w8s_254:after{box-sizing:border-box}._layer_q0w8s_272,._layer_q0w8s_272:before,._layer_q0w8s_272:after{box-sizing:border-box}._grip_q0w8s_299,._grip_q0w8s_299:before,._grip_q0w8s_299:after{box-sizing:border-box}._ghostLabel_q0w8s_309,._ghostLabel_q0w8s_309:before,._ghostLabel_q0w8s_309:after{box-sizing:border-box}._finding_q0w8s_322,._finding_q0w8s_322:before,._finding_q0w8s_322:after{box-sizing:border-box}._refusal_q0w8s_330,._refusal_q0w8s_330:before,._refusal_q0w8s_330:after{box-sizing:border-box}._tooltip_q0w8s_334,._tooltip_q0w8s_334:before,._tooltip_q0w8s_334:after{box-sizing:border-box}._tooltipHead_q0w8s_353,._tooltipHead_q0w8s_353:before,._tooltipHead_q0w8s_353:after{box-sizing:border-box}._tooltipTimes_q0w8s_358,._tooltipTimes_q0w8s_358:before,._tooltipTimes_q0w8s_358:after{box-sizing:border-box}._now_q0w8s_367,._now_q0w8s_367:before,._now_q0w8s_367:after{box-sizing:border-box}._barLabel_q0w8s_381,._barLabel_q0w8s_381:before,._barLabel_q0w8s_381:after{box-sizing:border-box}._barLabelText_q0w8s_394,._barLabelText_q0w8s_394:before,._barLabelText_q0w8s_394:after{box-sizing:border-box}._root_q0w8s_4{display:grid;grid-template-rows:28px minmax(0,1fr) 28px;width:100%;font-size:var(--u-text-sm);background:var(--u-color-surface);outline:1px solid transparent;box-shadow:var(--u-edge);border-radius:var(--u-radius-md);corner-shape:squircle;overflow:hidden;font-variant-numeric:tabular-nums;user-select:none}._corner_q0w8s_19{background:var(--u-color-surface)}._corner_q0w8s_19:has(._zoneLabel_q0w8s_24){display:flex;align-items:center}._zoneLabel_q0w8s_24{display:block;min-width:0;padding:0 var(--u-space-2);overflow:hidden;color:var(--u-color-text-muted);font-size:var(--u-text-xs);text-overflow:ellipsis;white-space:nowrap}._dayBand_q0w8s_40,._tickBand_q0w8s_41{position:relative;overflow:hidden;color:var(--u-color-text-muted);font-size:var(--u-text-xs)}._dayBand_q0w8s_40{border-bottom:1px solid var(--u-hairline-strong)}._tickBand_q0w8s_41{border-top:1px solid var(--u-hairline-strong)}._day_q0w8s_40{position:absolute;top:0;bottom:0;border-left:1px solid var(--u-hairline-strong);overflow:hidden}._dayLabel_q0w8s_67{position:absolute;z-index:1;left:var(--u-space-1);padding:0 var(--u-space-1);background:var(--u-color-surface);top:50%;transform:translateY(-50%);white-space:nowrap;color:var(--u-color-text);font-weight:var(--u-weight-medium)}._tick_q0w8s_41{position:absolute;top:0;bottom:0;width:1px;background:var(--u-hairline)}._tickLabel_q0w8s_88{position:absolute;top:50%;left:0;transform:translate(-50%,-50%);white-space:nowrap}._headers_q0w8s_98{contain:size;position:relative;overflow:hidden;border-right:1px solid var(--u-hairline-strong)}._header_q0w8s_98{display:flex;align-items:center;gap:var(--u-space-2);padding-right:var(--u-space-3);border-bottom:1px solid var(--u-hairline);overflow:hidden;white-space:nowrap}._headerLabel_q0w8s_117{min-width:0;overflow:hidden;text-overflow:ellipsis}._header_q0w8s_98[data-row=lane],._header_q0w8s_98[data-row=miniature]{container:lane-header / size}@container lane-header (height >= 2.5rem){._headerLabel_q0w8s_117:not(:has(*)){display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;white-space:normal;text-wrap:balance}}._header_q0w8s_98[data-row=groupHead],._header_q0w8s_98[data-row=miniature]{font-weight:var(--u-weight-medium)}._headerCount_q0w8s_153{flex:none;color:var(--u-color-text-muted);font-size:var(--u-text-xs);font-variant-numeric:tabular-nums}._chevron_q0w8s_162{flex:none;display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;padding:0;border:none;border-radius:var(--u-radius-xs);corner-shape:squircle;background:transparent;color:var(--u-color-text-secondary);cursor:pointer;transition:background-color var(--u-transition),color var(--u-transition)}._chevron_q0w8s_162:hover{background:var(--u-color-surface-sunken);color:var(--u-color-text)}._chevron_q0w8s_162:active{background:var(--u-color-surface-pressed)}._chevron_q0w8s_162:focus-visible{outline:2px solid transparent;box-shadow:var(--u-focus-ring)}._chevron_q0w8s_162 svg{box-sizing:border-box}._chevron_q0w8s_162 svg{transition:transform var(--u-transition-path)}._chevron_q0w8s_162 svg[data-open]{box-sizing:border-box}._chevron_q0w8s_162 svg[data-open]{transform:rotate(90deg)}@media(pointer:coarse){._chevron_q0w8s_162{position:relative}._chevron_q0w8s_162:after{content:"";position:absolute;inset:-4px}._header_q0w8s_98[data-row=groupHead]{overflow:clip;overflow-clip-margin:2px}}@media(prefers-reduced-motion:reduce){._chevron_q0w8s_162 svg{transition:none}}._header_q0w8s_98[data-refused]{color:var(--u-color-text-muted)}._plot_q0w8s_240{contain:size;position:relative;overflow:hidden;touch-action:none;-webkit-touch-callout:none;user-select:none}._plot_q0w8s_240:focus{outline:none}._focusRing_q0w8s_254{position:absolute;inset:2px;border-radius:var(--u-radius-md);corner-shape:squircle;pointer-events:none}._plot_q0w8s_240:focus-visible>._focusRing_q0w8s_254{outline:2px solid transparent;box-shadow:var(--u-focus-ring)}._layer_q0w8s_272{position:absolute;inset:0;width:100%;height:100%;display:block;pointer-events:none}._plot_q0w8s_240[data-stale]{pointer-events:none}._plot_q0w8s_240[data-stale]>:not(._focusRing_q0w8s_254){opacity:.5;transition:opacity var(--u-transition, .12s cubic-bezier(.22, 1, .36, 1)) var(--u-delay-stale, .2s)}@media(prefers-reduced-motion:reduce){._plot_q0w8s_240[data-stale]>:not(._focusRing_q0w8s_254){transition-duration:0s}}._grip_q0w8s_299{position:absolute;width:9px;margin-left:-4px;border-radius:var(--u-radius-xs);corner-shape:squircle;background:var(--u-color-surface);box-shadow:inset 0 0 0 1.5px var(--u-color-text);cursor:ew-resize}._ghostLabel_q0w8s_309{position:absolute;display:inline-flex;gap:var(--u-space-2);padding:1px var(--u-space-2);border-radius:var(--u-radius-sm);corner-shape:squircle;background:var(--u-color-text);color:var(--u-color-surface);font-size:var(--u-text-xs);white-space:nowrap;pointer-events:none}._finding_q0w8s_322{font-weight:var(--u-weight-semibold);color:var(--u-color-danger-subtle)}._refusal_q0w8s_330{font-weight:var(--u-weight-semibold)}._tooltip_q0w8s_334{position:absolute;z-index:1;display:flex;flex-direction:column;gap:1px;max-width:260px;padding:var(--u-space-2) var(--u-space-3);border-radius:var(--u-radius-sm);corner-shape:squircle;background:var(--u-color-surface);outline:1px solid transparent;box-shadow:var(--u-shadow-overlay);color:var(--u-color-text-secondary);font-size:var(--u-text-xs);line-height:var(--u-leading-tight);pointer-events:none;white-space:nowrap}._tooltipHead_q0w8s_353{color:var(--u-color-text);font-weight:var(--u-weight-semibold)}._tooltipTimes_q0w8s_358{color:var(--u-color-text)}._tooltip_q0w8s_334 ._finding_q0w8s_322{color:var(--u-color-danger-text)}._now_q0w8s_367{position:absolute;top:0;width:0;height:0;margin-left:-4px;border-left:5px solid transparent;border-right:5px solid transparent;border-top:6px solid var(--u-color-accent)}._barLabel_q0w8s_381{position:absolute;display:flex;align-items:center;padding:0 var(--u-space-1);overflow:hidden;font-size:var(--u-text-xs);line-height:var(--u-leading-tight);pointer-events:none}._barLabelText_q0w8s_394{min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}._barLabel_q0w8s_381[data-on=dark]{color:var(--u-color-on-accent)}._barLabel_q0w8s_381[data-on=light]{color:var(--u-color-text)}@media(forced-colors:active){._grip_q0w8s_299{outline:2px solid CanvasText;outline-offset:-2px}._ghostLabel_q0w8s_309{outline:1px solid CanvasText}}}
1
+ @layer umriss.tokens,umriss.base,umriss.components;@layer umriss.base{._text_18806_22{font-family:var(--u-font-sans);font-size:var(--u-text-md);line-height:var(--u-leading-normal);color:var(--u-color-text);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}@media(pointer:fine){._dense_18806_38{--u-control-height-sm: var(--u-control-height-xs)}}._ink_18806_49{--u-color-text: var(--u-color-bg);--u-color-text-secondary: color-mix(in srgb, var(--u-color-bg) 75%, transparent);--u-color-text-muted: color-mix(in srgb, var(--u-color-bg) 60%, transparent)}._extent_18806_75{--_chars: 20;--_extra: 0;--_tracking: 0px;--_chrome: 0px;min-inline-size:0;max-inline-size:100%;contain:inline-size;contain-intrinsic-inline-size:calc((var(--_chars) + var(--_extra)) * (1ch + var(--_tracking)) + var(--_chrome))}._field_18806_90{caret-color:var(--u-color-accent)}._scroll_18806_96{scrollbar-width:thin;scrollbar-color:color-mix(in srgb,var(--u-color-text) 25%,transparent) transparent}._scroll_18806_96::-webkit-scrollbar{width:10px;height:10px}._scroll_18806_96::-webkit-scrollbar-thumb{background:color-mix(in srgb,var(--u-color-text) 22%,transparent);border-radius:var(--u-radius-full);border:3px solid transparent;background-clip:content-box}._scroll_18806_96::-webkit-scrollbar-track{background:transparent}}@layer umriss.components{._ring_18806_125:focus-visible{outline:2px solid transparent;box-shadow:var(--u-focus-ring)}@media(pointer:coarse){._field_18806_90._field_18806_90,._fieldRoot_18806_145._fieldRoot_18806_145{font-size:16px}}._field_18806_90:-webkit-autofill,._field_18806_90:-webkit-autofill:hover,._field_18806_90:-webkit-autofill:focus{-webkit-box-shadow:inset 0 0 0 1000px var(--u-color-surface),0 0 0 1px var(--u-edge-color-strong);-webkit-text-fill-color:var(--u-color-text);caret-color:var(--u-color-accent)}}@layer umriss.components{._root_9ariw_4,._root_9ariw_4:before,._root_9ariw_4:after{box-sizing:border-box}._corner_9ariw_19,._corner_9ariw_19:before,._corner_9ariw_19:after{box-sizing:border-box}._zoneLabel_9ariw_24,._zoneLabel_9ariw_24:before,._zoneLabel_9ariw_24:after{box-sizing:border-box}._dayBand_9ariw_43,._dayBand_9ariw_43:before,._dayBand_9ariw_43:after{box-sizing:border-box}._headers_9ariw_48,._headers_9ariw_48:before,._headers_9ariw_48:after{box-sizing:border-box}._plot_9ariw_53,._plot_9ariw_53:before,._plot_9ariw_53:after{box-sizing:border-box}._cornerBottom_9ariw_58,._cornerBottom_9ariw_58:before,._cornerBottom_9ariw_58:after{box-sizing:border-box}._tickBand_9ariw_63,._tickBand_9ariw_63:before,._tickBand_9ariw_63:after{box-sizing:border-box}._dataKey_9ariw_69,._dataKey_9ariw_69:before,._dataKey_9ariw_69:after{box-sizing:border-box}._dataPanel_9ariw_100,._dataPanel_9ariw_100:before,._dataPanel_9ariw_100:after{box-sizing:border-box}._dataTable_9ariw_119,._dataTable_9ariw_119:before,._dataTable_9ariw_119:after{box-sizing:border-box}._day_9ariw_43,._day_9ariw_43:before,._day_9ariw_43:after{box-sizing:border-box}._dayLabel_9ariw_179,._dayLabel_9ariw_179:before,._dayLabel_9ariw_179:after{box-sizing:border-box}._tick_9ariw_63,._tick_9ariw_63:before,._tick_9ariw_63:after{box-sizing:border-box}._tickLabel_9ariw_200,._tickLabel_9ariw_200:before,._tickLabel_9ariw_200:after{box-sizing:border-box}._header_9ariw_48,._header_9ariw_48:before,._header_9ariw_48:after{box-sizing:border-box}._headerLabel_9ariw_229,._headerLabel_9ariw_229:before,._headerLabel_9ariw_229:after{box-sizing:border-box}._headerCount_9ariw_265,._headerCount_9ariw_265:before,._headerCount_9ariw_265:after{box-sizing:border-box}._chevron_9ariw_274,._chevron_9ariw_274:before,._chevron_9ariw_274:after{box-sizing:border-box}._focusRing_9ariw_372,._focusRing_9ariw_372:before,._focusRing_9ariw_372:after{box-sizing:border-box}._layer_9ariw_390,._layer_9ariw_390:before,._layer_9ariw_390:after{box-sizing:border-box}._grip_9ariw_417,._grip_9ariw_417:before,._grip_9ariw_417:after{box-sizing:border-box}._ghostLabel_9ariw_427,._ghostLabel_9ariw_427:before,._ghostLabel_9ariw_427:after{box-sizing:border-box}._finding_9ariw_440,._finding_9ariw_440:before,._finding_9ariw_440:after{box-sizing:border-box}._refusal_9ariw_448,._refusal_9ariw_448:before,._refusal_9ariw_448:after{box-sizing:border-box}._tooltip_9ariw_452,._tooltip_9ariw_452:before,._tooltip_9ariw_452:after{box-sizing:border-box}._tooltipHead_9ariw_471,._tooltipHead_9ariw_471:before,._tooltipHead_9ariw_471:after{box-sizing:border-box}._tooltipTimes_9ariw_476,._tooltipTimes_9ariw_476:before,._tooltipTimes_9ariw_476:after{box-sizing:border-box}._now_9ariw_485,._now_9ariw_485:before,._now_9ariw_485:after{box-sizing:border-box}._barLabel_9ariw_499,._barLabel_9ariw_499:before,._barLabel_9ariw_499:after{box-sizing:border-box}._barLabelText_9ariw_512,._barLabelText_9ariw_512:before,._barLabelText_9ariw_512:after{box-sizing:border-box}._root_9ariw_4{display:grid;grid-template-rows:28px minmax(0,1fr) 28px;width:100%;font-size:var(--u-text-sm);background:var(--u-color-surface);outline:1px solid transparent;box-shadow:var(--u-edge);border-radius:var(--u-radius-md);corner-shape:squircle;overflow:hidden;font-variant-numeric:tabular-nums;user-select:none}._corner_9ariw_19{background:var(--u-color-surface)}._corner_9ariw_19:has(._zoneLabel_9ariw_24){display:flex;align-items:center}._zoneLabel_9ariw_24{display:block;min-width:0;padding:0 var(--u-space-2);overflow:hidden;color:var(--u-color-text-muted);font-size:var(--u-text-xs);text-overflow:ellipsis;white-space:nowrap}._dayBand_9ariw_43{grid-column:2;grid-row:1}._headers_9ariw_48{grid-column:1;grid-row:2}._plot_9ariw_53{grid-column:2;grid-row:2}._cornerBottom_9ariw_58{grid-column:1;grid-row:3}._tickBand_9ariw_63{grid-column:2;grid-row:3}._dataKey_9ariw_69{grid-column:1;grid-row:3;justify-self:start;align-self:center;margin:0 var(--u-space-2);padding:0 var(--u-space-2);max-width:calc(100% - 2 * var(--u-space-2));overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font:inherit;font-size:var(--u-text-xs);color:var(--u-color-text-muted);background:transparent;border:0;border-radius:var(--u-radius-sm);corner-shape:squircle;cursor:pointer}._dataKey_9ariw_69:hover{color:var(--u-color-text)}._dataKey_9ariw_69:focus-visible{outline:2px solid transparent;box-shadow:var(--u-focus-ring)}._dataPanel_9ariw_100{grid-column:1 / -1;grid-row:2;z-index:3;overflow:auto;background:var(--u-color-surface);font-size:var(--u-text-sm);user-select:text}._dataPanel_9ariw_100:focus{outline:none}._dataPanel_9ariw_100:focus-visible{outline:2px solid transparent;box-shadow:inset var(--u-focus-ring)}._dataTable_9ariw_119{width:100%;border-collapse:collapse}._dataTable_9ariw_119>caption{box-sizing:border-box}._dataTable_9ariw_119>caption{padding:var(--u-space-2) var(--u-space-3);text-align:left;color:var(--u-color-text-muted)}._dataTable_9ariw_119 th,._dataTable_9ariw_119 td{box-sizing:border-box}._dataTable_9ariw_119 th,._dataTable_9ariw_119 td{padding:var(--u-space-1) var(--u-space-3);border-bottom:1px solid var(--u-hairline);white-space:nowrap;font-weight:400;text-align:left}._dataTable_9ariw_119>thead th{box-sizing:border-box}._dataTable_9ariw_119>thead th{position:sticky;top:0;background:var(--u-color-surface);border-bottom-color:var(--u-hairline-strong);font-weight:var(--u-weight-medium)}._dataTable_9ariw_119>tbody th{box-sizing:border-box}._dataTable_9ariw_119>tbody th{font-weight:var(--u-weight-medium)}._dayBand_9ariw_43,._tickBand_9ariw_63{position:relative;overflow:hidden;color:var(--u-color-text-muted);font-size:var(--u-text-xs)}._dayBand_9ariw_43{border-bottom:1px solid var(--u-hairline-strong)}._tickBand_9ariw_63{border-top:1px solid var(--u-hairline-strong)}._day_9ariw_43{position:absolute;top:0;bottom:0;border-left:1px solid var(--u-hairline-strong);overflow:hidden}._dayLabel_9ariw_179{position:absolute;z-index:1;left:var(--u-space-1);padding:0 var(--u-space-1);background:var(--u-color-surface);top:50%;transform:translateY(-50%);white-space:nowrap;color:var(--u-color-text);font-weight:var(--u-weight-medium)}._tick_9ariw_63{position:absolute;top:0;bottom:0;width:1px;background:var(--u-hairline)}._tickLabel_9ariw_200{position:absolute;top:50%;left:0;transform:translate(-50%,-50%);white-space:nowrap}._headers_9ariw_48{contain:size;position:relative;overflow:hidden;border-right:1px solid var(--u-hairline-strong)}._header_9ariw_48{display:flex;align-items:center;gap:var(--u-space-2);padding-right:var(--u-space-3);border-bottom:1px solid var(--u-hairline);overflow:hidden;white-space:nowrap}._headerLabel_9ariw_229{min-width:0;overflow:hidden;text-overflow:ellipsis}._header_9ariw_48[data-row=lane],._header_9ariw_48[data-row=miniature]{container:lane-header / size}@container lane-header (height >= 2.5rem){._headerLabel_9ariw_229:not(:has(*)){display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;white-space:normal;text-wrap:balance}}._header_9ariw_48[data-row=groupHead],._header_9ariw_48[data-row=miniature]{font-weight:var(--u-weight-medium)}._headerCount_9ariw_265{flex:none;color:var(--u-color-text-muted);font-size:var(--u-text-xs);font-variant-numeric:tabular-nums}._chevron_9ariw_274{flex:none;display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;padding:0;border:none;border-radius:var(--u-radius-xs);corner-shape:squircle;background:transparent;color:var(--u-color-text-secondary);cursor:pointer;transition:background-color var(--u-transition),color var(--u-transition)}._chevron_9ariw_274:hover{background:var(--u-color-surface-sunken);color:var(--u-color-text)}._chevron_9ariw_274:active{background:var(--u-color-surface-pressed)}._chevron_9ariw_274:focus-visible{outline:2px solid transparent;box-shadow:var(--u-focus-ring)}._chevron_9ariw_274 svg{box-sizing:border-box}._chevron_9ariw_274 svg{transition:transform var(--u-transition-path)}._chevron_9ariw_274 svg[data-open]{box-sizing:border-box}._chevron_9ariw_274 svg[data-open]{transform:rotate(90deg)}@media(pointer:coarse){._chevron_9ariw_274{position:relative}._chevron_9ariw_274:after{content:"";position:absolute;inset:-4px}._dataKey_9ariw_69{min-height:24px}._header_9ariw_48[data-row=groupHead]{overflow:clip;overflow-clip-margin:2px}}@media(prefers-reduced-motion:reduce){._chevron_9ariw_274 svg{transition:none}}._header_9ariw_48[data-refused]{color:var(--u-color-text-muted)}._plot_9ariw_53{contain:size;position:relative;overflow:hidden;touch-action:none;-webkit-touch-callout:none;user-select:none}._plot_9ariw_53:focus{outline:none}._focusRing_9ariw_372{position:absolute;inset:2px;border-radius:var(--u-radius-md);corner-shape:squircle;pointer-events:none}._plot_9ariw_53:focus-visible>._focusRing_9ariw_372{outline:2px solid transparent;box-shadow:var(--u-focus-ring)}._layer_9ariw_390{position:absolute;inset:0;width:100%;height:100%;display:block;pointer-events:none}._plot_9ariw_53[data-stale]{pointer-events:none}._plot_9ariw_53[data-stale]>:not(._focusRing_9ariw_372){opacity:.5;transition:opacity var(--u-transition, .12s cubic-bezier(.22, 1, .36, 1)) var(--u-delay-stale, .2s)}@media(prefers-reduced-motion:reduce){._plot_9ariw_53[data-stale]>:not(._focusRing_9ariw_372){transition-duration:0s}}._grip_9ariw_417{position:absolute;width:9px;margin-left:-4px;border-radius:var(--u-radius-xs);corner-shape:squircle;background:var(--u-color-surface);box-shadow:inset 0 0 0 1.5px var(--u-color-text);cursor:ew-resize}._ghostLabel_9ariw_427{position:absolute;display:inline-flex;gap:var(--u-space-2);padding:1px var(--u-space-2);border-radius:var(--u-radius-sm);corner-shape:squircle;background:var(--u-color-text);color:var(--u-color-surface);font-size:var(--u-text-xs);white-space:nowrap;pointer-events:none}._finding_9ariw_440{font-weight:var(--u-weight-semibold);color:var(--u-color-danger-subtle)}._refusal_9ariw_448{font-weight:var(--u-weight-semibold)}._tooltip_9ariw_452{position:absolute;z-index:1;display:flex;flex-direction:column;gap:1px;max-width:260px;padding:var(--u-space-2) var(--u-space-3);border-radius:var(--u-radius-sm);corner-shape:squircle;background:var(--u-color-surface);outline:1px solid transparent;box-shadow:var(--u-shadow-overlay);color:var(--u-color-text-secondary);font-size:var(--u-text-xs);line-height:var(--u-leading-tight);pointer-events:none;white-space:nowrap}._tooltipHead_9ariw_471{color:var(--u-color-text);font-weight:var(--u-weight-semibold)}._tooltipTimes_9ariw_476{color:var(--u-color-text)}._tooltip_9ariw_452 ._finding_9ariw_440{color:var(--u-color-danger-text)}._now_9ariw_485{position:absolute;top:0;width:0;height:0;margin-left:-4px;border-left:5px solid transparent;border-right:5px solid transparent;border-top:6px solid var(--u-color-accent)}._barLabel_9ariw_499{position:absolute;display:flex;align-items:center;padding:0 var(--u-space-1);overflow:hidden;font-size:var(--u-text-xs);line-height:var(--u-leading-tight);pointer-events:none}._barLabelText_9ariw_512{min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}._barLabel_9ariw_499[data-on=dark]{color:var(--u-color-on-accent)}._barLabel_9ariw_499[data-on=light]{color:var(--u-color-text)}@media(forced-colors:active){._grip_9ariw_417{outline:2px solid CanvasText;outline-offset:-2px}._ghostLabel_9ariw_427{outline:1px solid CanvasText}}}