@umriss-ui/schedule 0.1.6 → 0.1.8

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
@@ -15,6 +15,34 @@ moves from here under the rule above.
15
15
 
16
16
  ---
17
17
 
18
+ ## 0.1.8 – Core 0.9.0 (Sep. 2026)
19
+
20
+ Admits `@umriss-ui/core` 0.9, which only adds a token; the peer range moves to `^0.9.0`. Nothing else changes.
21
+
22
+ ---
23
+
24
+ ## 0.1.7 – Core 0.8.0: a fold that turns (Sep. 2026)
25
+
26
+ Needs `@umriss-ui/core` 0.8: it reads core's pressed surfaces and motion tokens; the peer range moves to `^0.8.0`.
27
+
28
+ ### Changed
29
+
30
+ - **The lane-group fold is core's `AngleGlyph`** – the same chevron, at the
31
+ one stroke width (1.4 instead of 1.5).
32
+
33
+ - **The fold chevron of a lane group has a surface.** Under the pointer it now
34
+ takes the sunken surface of core's quiet keys, and a stronger one while
35
+ pressed, like the table's expander; it only darkened its type before. Its
36
+ focus is the ring alone - the ring no longer darkens the type as well.
37
+
38
+ ### Fixed
39
+
40
+ - **The fold chevron of a lane group turns.** Its transition named a curve token
41
+ that does not exist (`--u-ease-standard`), which made the whole declaration
42
+ invalid, so the chevron has always jumped. It now reads `--u-ease-out`.
43
+
44
+ ---
45
+
18
46
  ## 0.1.6 – Core 0.7.0 (Sep. 2026)
19
47
 
20
48
  ### Changed
package/dist/schedule.css CHANGED
@@ -1 +1 @@
1
- @layer umriss.tokens,umriss.base,umriss.components;@layer umriss.base{._text_1hv7a_23{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}._field_1hv7a_34{caret-color:var(--u-color-accent)}._scroll_1hv7a_40{scrollbar-width:thin;scrollbar-color:color-mix(in srgb,var(--u-color-text) 25%,transparent) transparent}._scroll_1hv7a_40::-webkit-scrollbar{width:10px;height:10px}._scroll_1hv7a_40::-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_1hv7a_40::-webkit-scrollbar-track{background:transparent}}@layer umriss.components{._ring_1hv7a_65:focus-visible{outline:none;box-shadow:var(--u-focus-ring)}@media(pointer:coarse){._field_1hv7a_34._field_1hv7a_34{font-size:16px}}._field_1hv7a_34:-webkit-autofill,._field_1hv7a_34:-webkit-autofill:hover,._field_1hv7a_34:-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.tokens,umriss.base,umriss.components;@layer umriss.components{._root_1lk8e_4,._root_1lk8e_4:before,._root_1lk8e_4:after{box-sizing:border-box}._corner_1lk8e_18,._corner_1lk8e_18:before,._corner_1lk8e_18:after{box-sizing:border-box}._dayBand_1lk8e_22,._dayBand_1lk8e_22:before,._dayBand_1lk8e_22:after{box-sizing:border-box}._tickBand_1lk8e_23,._tickBand_1lk8e_23:before,._tickBand_1lk8e_23:after{box-sizing:border-box}._day_1lk8e_22,._day_1lk8e_22:before,._day_1lk8e_22:after{box-sizing:border-box}._dayLabel_1lk8e_46,._dayLabel_1lk8e_46:before,._dayLabel_1lk8e_46:after{box-sizing:border-box}._tick_1lk8e_23,._tick_1lk8e_23:before,._tick_1lk8e_23:after{box-sizing:border-box}._tickLabel_1lk8e_64,._tickLabel_1lk8e_64:before,._tickLabel_1lk8e_64:after{box-sizing:border-box}._headers_1lk8e_72,._headers_1lk8e_72:before,._headers_1lk8e_72:after{box-sizing:border-box}._header_1lk8e_72,._header_1lk8e_72:before,._header_1lk8e_72:after{box-sizing:border-box}._headerLabel_1lk8e_90,._headerLabel_1lk8e_90:before,._headerLabel_1lk8e_90:after{box-sizing:border-box}._headerCount_1lk8e_103,._headerCount_1lk8e_103:before,._headerCount_1lk8e_103:after{box-sizing:border-box}._chevron_1lk8e_112,._chevron_1lk8e_112:before,._chevron_1lk8e_112:after{box-sizing:border-box}._plot_1lk8e_160,._plot_1lk8e_160:before,._plot_1lk8e_160:after{box-sizing:border-box}._layer_1lk8e_166,._layer_1lk8e_166:before,._layer_1lk8e_166:after{box-sizing:border-box}._grip_1lk8e_175,._grip_1lk8e_175:before,._grip_1lk8e_175:after{box-sizing:border-box}._ghostLabel_1lk8e_185,._ghostLabel_1lk8e_185:before,._ghostLabel_1lk8e_185:after{box-sizing:border-box}._finding_1lk8e_198,._finding_1lk8e_198:before,._finding_1lk8e_198:after{box-sizing:border-box}._refusal_1lk8e_206,._refusal_1lk8e_206:before,._refusal_1lk8e_206:after{box-sizing:border-box}._tooltip_1lk8e_210,._tooltip_1lk8e_210:before,._tooltip_1lk8e_210:after{box-sizing:border-box}._tooltipHead_1lk8e_228,._tooltipHead_1lk8e_228:before,._tooltipHead_1lk8e_228:after{box-sizing:border-box}._tooltipTimes_1lk8e_233,._tooltipTimes_1lk8e_233:before,._tooltipTimes_1lk8e_233:after{box-sizing:border-box}._now_1lk8e_242,._now_1lk8e_242:before,._now_1lk8e_242:after{box-sizing:border-box}._barLabel_1lk8e_256,._barLabel_1lk8e_256:before,._barLabel_1lk8e_256:after{box-sizing:border-box}._barLabelText_1lk8e_269,._barLabelText_1lk8e_269:before,._barLabelText_1lk8e_269:after{box-sizing:border-box}._root_1lk8e_4{display:grid;grid-template-rows:28px minmax(0,1fr) 28px;width:100%;font-size:var(--u-text-sm);background:var(--u-color-surface);box-shadow:var(--u-edge);border-radius:var(--u-radius-md);corner-shape:squircle;overflow:hidden;font-variant-numeric:tabular-nums;-webkit-user-select:none;user-select:none}._corner_1lk8e_18{background:var(--u-color-surface)}._dayBand_1lk8e_22,._tickBand_1lk8e_23{position:relative;overflow:hidden;color:var(--u-color-text-muted);font-size:var(--u-text-xs)}._dayBand_1lk8e_22{border-bottom:1px solid var(--u-hairline-strong)}._tickBand_1lk8e_23{border-top:1px solid var(--u-hairline-strong)}._day_1lk8e_22{position:absolute;top:0;bottom:0;border-left:1px solid var(--u-hairline-strong);overflow:hidden}._dayLabel_1lk8e_46{position:absolute;left:var(--u-space-2);top:50%;transform:translateY(-50%);white-space:nowrap;color:var(--u-color-text);font-weight:var(--u-weight-medium)}._tick_1lk8e_23{position:absolute;top:0;bottom:0;width:1px;background:var(--u-hairline)}._tickLabel_1lk8e_64{position:absolute;top:50%;left:0;transform:translate(-50%,-50%);white-space:nowrap}._headers_1lk8e_72{position:relative;overflow:hidden;border-right:1px solid var(--u-hairline-strong)}._header_1lk8e_72{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_1lk8e_90{min-width:0;overflow:hidden;text-overflow:ellipsis}._header_1lk8e_72[data-row=groupHead],._header_1lk8e_72[data-row=miniature]{font-weight:var(--u-weight-medium)}._headerCount_1lk8e_103{flex:none;color:var(--u-color-text-muted);font-size:var(--u-text-xs);font-variant-numeric:tabular-nums}._chevron_1lk8e_112{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}._chevron_1lk8e_112:hover{color:var(--u-color-text)}._chevron_1lk8e_112:focus-visible{outline:none;box-shadow:var(--u-focus-ring);color:var(--u-color-text)}._chevron_1lk8e_112 svg{box-sizing:border-box}._chevron_1lk8e_112 svg{transition:transform var(--u-duration-fast) var(--u-ease-standard)}._chevron_1lk8e_112 svg[data-open]{box-sizing:border-box}._chevron_1lk8e_112 svg[data-open]{transform:rotate(90deg)}@media(prefers-reduced-motion:reduce){._chevron_1lk8e_112 svg{transition:none}}._header_1lk8e_72[data-refused]{color:var(--u-color-text-muted)}._plot_1lk8e_160{position:relative;overflow:hidden;touch-action:none}._layer_1lk8e_166{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;display:block;pointer-events:none}._grip_1lk8e_175{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_1lk8e_185{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_1lk8e_198{font-weight:var(--u-weight-semibold);color:var(--u-color-danger-subtle)}._refusal_1lk8e_206{font-weight:var(--u-weight-semibold)}._tooltip_1lk8e_210{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);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_1lk8e_228{color:var(--u-color-text);font-weight:var(--u-weight-semibold)}._tooltipTimes_1lk8e_233{color:var(--u-color-text)}._tooltip_1lk8e_210 ._finding_1lk8e_198{color:var(--u-color-danger-text)}._now_1lk8e_242{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_1lk8e_256{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_1lk8e_269{min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}._barLabel_1lk8e_256[data-on=dark]{color:var(--u-color-on-accent)}._barLabel_1lk8e_256[data-on=light]{color:var(--u-color-text)}}
1
+ @layer umriss.tokens,umriss.base,umriss.components;@layer umriss.base{._text_1hv7a_23{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}._field_1hv7a_34{caret-color:var(--u-color-accent)}._scroll_1hv7a_40{scrollbar-width:thin;scrollbar-color:color-mix(in srgb,var(--u-color-text) 25%,transparent) transparent}._scroll_1hv7a_40::-webkit-scrollbar{width:10px;height:10px}._scroll_1hv7a_40::-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_1hv7a_40::-webkit-scrollbar-track{background:transparent}}@layer umriss.components{._ring_1hv7a_65:focus-visible{outline:none;box-shadow:var(--u-focus-ring)}@media(pointer:coarse){._field_1hv7a_34._field_1hv7a_34{font-size:16px}}._field_1hv7a_34:-webkit-autofill,._field_1hv7a_34:-webkit-autofill:hover,._field_1hv7a_34:-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.tokens,umriss.base,umriss.components;@layer umriss.components{._root_p2o7g_4,._root_p2o7g_4:before,._root_p2o7g_4:after{box-sizing:border-box}._corner_p2o7g_18,._corner_p2o7g_18:before,._corner_p2o7g_18:after{box-sizing:border-box}._dayBand_p2o7g_22,._dayBand_p2o7g_22:before,._dayBand_p2o7g_22:after{box-sizing:border-box}._tickBand_p2o7g_23,._tickBand_p2o7g_23:before,._tickBand_p2o7g_23:after{box-sizing:border-box}._day_p2o7g_22,._day_p2o7g_22:before,._day_p2o7g_22:after{box-sizing:border-box}._dayLabel_p2o7g_46,._dayLabel_p2o7g_46:before,._dayLabel_p2o7g_46:after{box-sizing:border-box}._tick_p2o7g_23,._tick_p2o7g_23:before,._tick_p2o7g_23:after{box-sizing:border-box}._tickLabel_p2o7g_64,._tickLabel_p2o7g_64:before,._tickLabel_p2o7g_64:after{box-sizing:border-box}._headers_p2o7g_72,._headers_p2o7g_72:before,._headers_p2o7g_72:after{box-sizing:border-box}._header_p2o7g_72,._header_p2o7g_72:before,._header_p2o7g_72:after{box-sizing:border-box}._headerLabel_p2o7g_90,._headerLabel_p2o7g_90:before,._headerLabel_p2o7g_90:after{box-sizing:border-box}._headerCount_p2o7g_103,._headerCount_p2o7g_103:before,._headerCount_p2o7g_103:after{box-sizing:border-box}._chevron_p2o7g_112,._chevron_p2o7g_112:before,._chevron_p2o7g_112:after{box-sizing:border-box}._plot_p2o7g_170,._plot_p2o7g_170:before,._plot_p2o7g_170:after{box-sizing:border-box}._layer_p2o7g_176,._layer_p2o7g_176:before,._layer_p2o7g_176:after{box-sizing:border-box}._grip_p2o7g_185,._grip_p2o7g_185:before,._grip_p2o7g_185:after{box-sizing:border-box}._ghostLabel_p2o7g_195,._ghostLabel_p2o7g_195:before,._ghostLabel_p2o7g_195:after{box-sizing:border-box}._finding_p2o7g_208,._finding_p2o7g_208:before,._finding_p2o7g_208:after{box-sizing:border-box}._refusal_p2o7g_216,._refusal_p2o7g_216:before,._refusal_p2o7g_216:after{box-sizing:border-box}._tooltip_p2o7g_220,._tooltip_p2o7g_220:before,._tooltip_p2o7g_220:after{box-sizing:border-box}._tooltipHead_p2o7g_238,._tooltipHead_p2o7g_238:before,._tooltipHead_p2o7g_238:after{box-sizing:border-box}._tooltipTimes_p2o7g_243,._tooltipTimes_p2o7g_243:before,._tooltipTimes_p2o7g_243:after{box-sizing:border-box}._now_p2o7g_252,._now_p2o7g_252:before,._now_p2o7g_252:after{box-sizing:border-box}._barLabel_p2o7g_266,._barLabel_p2o7g_266:before,._barLabel_p2o7g_266:after{box-sizing:border-box}._barLabelText_p2o7g_279,._barLabelText_p2o7g_279:before,._barLabelText_p2o7g_279:after{box-sizing:border-box}._root_p2o7g_4{display:grid;grid-template-rows:28px minmax(0,1fr) 28px;width:100%;font-size:var(--u-text-sm);background:var(--u-color-surface);box-shadow:var(--u-edge);border-radius:var(--u-radius-md);corner-shape:squircle;overflow:hidden;font-variant-numeric:tabular-nums;-webkit-user-select:none;user-select:none}._corner_p2o7g_18{background:var(--u-color-surface)}._dayBand_p2o7g_22,._tickBand_p2o7g_23{position:relative;overflow:hidden;color:var(--u-color-text-muted);font-size:var(--u-text-xs)}._dayBand_p2o7g_22{border-bottom:1px solid var(--u-hairline-strong)}._tickBand_p2o7g_23{border-top:1px solid var(--u-hairline-strong)}._day_p2o7g_22{position:absolute;top:0;bottom:0;border-left:1px solid var(--u-hairline-strong);overflow:hidden}._dayLabel_p2o7g_46{position:absolute;left:var(--u-space-2);top:50%;transform:translateY(-50%);white-space:nowrap;color:var(--u-color-text);font-weight:var(--u-weight-medium)}._tick_p2o7g_23{position:absolute;top:0;bottom:0;width:1px;background:var(--u-hairline)}._tickLabel_p2o7g_64{position:absolute;top:50%;left:0;transform:translate(-50%,-50%);white-space:nowrap}._headers_p2o7g_72{position:relative;overflow:hidden;border-right:1px solid var(--u-hairline-strong)}._header_p2o7g_72{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_p2o7g_90{min-width:0;overflow:hidden;text-overflow:ellipsis}._header_p2o7g_72[data-row=groupHead],._header_p2o7g_72[data-row=miniature]{font-weight:var(--u-weight-medium)}._headerCount_p2o7g_103{flex:none;color:var(--u-color-text-muted);font-size:var(--u-text-xs);font-variant-numeric:tabular-nums}._chevron_p2o7g_112{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_p2o7g_112:hover{background:var(--u-color-surface-sunken);color:var(--u-color-text)}._chevron_p2o7g_112:active{background:var(--u-color-surface-pressed)}._chevron_p2o7g_112:focus-visible{outline:none;box-shadow:var(--u-focus-ring)}._chevron_p2o7g_112 svg{box-sizing:border-box}._chevron_p2o7g_112 svg{transition:transform var(--u-transition-path)}._chevron_p2o7g_112 svg[data-open]{box-sizing:border-box}._chevron_p2o7g_112 svg[data-open]{transform:rotate(90deg)}@media(prefers-reduced-motion:reduce){._chevron_p2o7g_112 svg{transition:none}}._header_p2o7g_72[data-refused]{color:var(--u-color-text-muted)}._plot_p2o7g_170{position:relative;overflow:hidden;touch-action:none}._layer_p2o7g_176{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;display:block;pointer-events:none}._grip_p2o7g_185{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_p2o7g_195{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_p2o7g_208{font-weight:var(--u-weight-semibold);color:var(--u-color-danger-subtle)}._refusal_p2o7g_216{font-weight:var(--u-weight-semibold)}._tooltip_p2o7g_220{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);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_p2o7g_238{color:var(--u-color-text);font-weight:var(--u-weight-semibold)}._tooltipTimes_p2o7g_243{color:var(--u-color-text)}._tooltip_p2o7g_220 ._finding_p2o7g_208{color:var(--u-color-danger-text)}._now_p2o7g_252{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_p2o7g_266{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_p2o7g_279{min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}._barLabel_p2o7g_266[data-on=dark]{color:var(--u-color-on-accent)}._barLabel_p2o7g_266[data-on=light]{color:var(--u-color-text)}}
package/dist/schedule.js CHANGED
@@ -2,32 +2,32 @@ import "./schedule.css";
2
2
  var He = Object.defineProperty;
3
3
  var Ye = (n, t, e) => t in n ? He(n, t, { enumerable: !0, configurable: !0, writable: !0, value: e }) : n[t] = e;
4
4
  var f = (n, t, e) => Ye(n, typeof t != "symbol" ? t + "" : t, e);
5
- import { jsxs as Y, Fragment as zt, jsx as w } from "react/jsx-runtime";
6
- import { useContext as fe, createContext as pe, useRef as x, useEffect as B, forwardRef as Xe, useState as it, useId as Ke, useLayoutEffect as vt, useImperativeHandle as Ue, useSyncExternalStore as We, useMemo as z } from "react";
7
- import { toOperatingTimeClamped as O, resolveColours as ze, removedIntervals as qe, localOffset as me, MINUTE as q, calendarFrom as j, toWallClock as U, DAY as st, timeStep as je, operatingTimeTicks as Ve, HOUR as Tt, LinearScale as Ze, subscribeTheme as Je } from "@umriss-ui/charts";
8
- import { useFormats as ge, useWording as ke } from "@umriss-ui/core";
9
- const we = pe(null), ve = pe(null);
5
+ import { jsxs as Y, Fragment as Wt, jsx as k } from "react/jsx-runtime";
6
+ import { useContext as fe, createContext as pe, useRef as O, useEffect as x, forwardRef as Xe, useState as it, useId as Ke, useLayoutEffect as vt, useImperativeHandle as Ue, useSyncExternalStore as ze, useMemo as W } from "react";
7
+ import { toOperatingTimeClamped as B, resolveColours as We, removedIntervals as qe, localOffset as me, MINUTE as q, calendarFrom as j, toWallClock as U, DAY as st, timeStep as je, operatingTimeTicks as Ve, HOUR as Tt, LinearScale as Ze, subscribeTheme as Je } from "@umriss-ui/charts";
8
+ import { useFormats as ge, useWording as we, AngleGlyph as Qe } from "@umriss-ui/core";
9
+ const ke = pe(null), ve = pe(null);
10
10
  function ye() {
11
11
  return fe(ve);
12
12
  }
13
- function Qe(n) {
14
- const t = fe(we);
13
+ function ts(n) {
14
+ const t = fe(ke);
15
15
  if (t === null)
16
16
  throw new Error(`@umriss-ui/schedule: <${n}> must be used inside a <Schedule>.`);
17
17
  return t;
18
18
  }
19
19
  function Ct(n, t, e, s, o) {
20
- const i = Qe(n), r = x(null);
21
- B(() => (r.current = e(i, t), () => {
20
+ const i = ts(n), r = O(null);
21
+ x(() => (r.current = e(i, t), () => {
22
22
  r.current !== null && o(i, r.current), r.current = null;
23
- }), [i]), B(() => {
23
+ }), [i]), x(() => {
24
24
  r.current !== null && s(i, r.current, t);
25
25
  });
26
26
  }
27
- function ts(n) {
27
+ function es(n) {
28
28
  Ct("Lane", n, (t, e) => t.registerLane(e), (t, e, s) => t.updateLane(e, s), (t, e) => t.unregisterLane(e));
29
29
  }
30
- function es(n) {
30
+ function ss(n) {
31
31
  Ct("LaneGroup", n, (t, e) => t.registerGroup(e), (t, e, s) => t.updateGroup(e, s), (t, e) => t.unregisterGroup(e));
32
32
  }
33
33
  function be(n, t) {
@@ -39,7 +39,7 @@ function ht(n) {
39
39
  i === "provisional" ? (t = !0, e = !1) : i === "fixed" ? (e = !0, t = !1) : i === "muted" ? s = !0 : i === "open" && (o = !0);
40
40
  return { dashed: t, hatched: e, muted: s, open: o };
41
41
  }
42
- const ss = 24, ns = 4, os = 3, yt = 4;
42
+ const ns = 24, os = 4, is = 3, yt = 4;
43
43
  function qt(n) {
44
44
  const { lanes: t, groups: e, collapsed: s, laneHeight: o } = n, i = new Map(e.map((m) => [m.id, m])), r = (m) => m !== void 0 && i.has(m) ? m : void 0, a = /* @__PURE__ */ new Map(), u = (m) => {
45
45
  const C = [];
@@ -61,16 +61,16 @@ function qt(n) {
61
61
  let p = [], g = null, b = 0;
62
62
  const I = (m) => (l.push({ ...m, top: b }), b += m.height, l.length - 1), _ = (m) => m.find((C) => s.has(C)), S = () => {
63
63
  if (g === null) return;
64
- const { row: m, lanes: C } = g, L = l[m], E = Math.max(L.height, C.length * ns + 2 * yt);
64
+ const { row: m, lanes: C } = g, L = l[m], E = Math.max(L.height, C.length * os + 2 * yt);
65
65
  l[m] = { ...L, height: E }, b += E - L.height;
66
- const F = E - 2 * yt, R = Math.max(os, Math.floor(F / C.length));
66
+ const F = E - 2 * yt, R = Math.max(is, Math.floor(F / C.length));
67
67
  C.forEach((V, ot) => {
68
- const W = c.get(V) ?? [];
68
+ const z = c.get(V) ?? [];
69
69
  d.set(V, {
70
70
  top: L.top + yt + ot * R,
71
71
  height: R,
72
72
  miniature: !0,
73
- group: W[W.length - 1]
73
+ group: z[z.length - 1]
74
74
  });
75
75
  }), g = null;
76
76
  };
@@ -92,7 +92,7 @@ function qt(n) {
92
92
  depth: p.length - 1,
93
93
  within: [...p],
94
94
  lanes: (a.get(F) ?? []).length,
95
- height: ss
95
+ height: ns
96
96
  });
97
97
  }
98
98
  if (L !== void 0) {
@@ -117,7 +117,7 @@ function qt(n) {
117
117
  }
118
118
  return S(), { rows: l, slots: d, height: b };
119
119
  }
120
- function is(n, t) {
120
+ function rs(n, t) {
121
121
  if (t.size === 0) return n;
122
122
  const e = /* @__PURE__ */ new Set();
123
123
  for (const s of n) t.has(s) || e.add(s);
@@ -137,7 +137,7 @@ function nt(n, t) {
137
137
  function Lt(n, t) {
138
138
  return n.slots.get(t) ?? null;
139
139
  }
140
- function rs(n, t) {
140
+ function as(n, t) {
141
141
  const e = nt(n, t);
142
142
  if (e === null) return null;
143
143
  if (e.kind === "lane") return e.lane ?? null;
@@ -169,7 +169,7 @@ function jt(n, t) {
169
169
  return { ...n, lane: t.lane };
170
170
  }
171
171
  }
172
- function An(n, t) {
172
+ function _n(n, t) {
173
173
  return {
174
174
  id: t,
175
175
  task: n.task,
@@ -180,19 +180,19 @@ function An(n, t) {
180
180
  ...n.teardown === void 0 ? {} : { teardown: n.teardown }
181
181
  };
182
182
  }
183
- const as = 6, Me = 3, et = 2, Vt = 3, Zt = 3;
183
+ const ls = 6, Me = 3, et = 2, Vt = 3, Zt = 3;
184
184
  function N(n, t) {
185
- return Math.round(n.scale.toPx(O(t, n.calendar)));
185
+ return Math.round(n.scale.toPx(B(t, n.calendar)));
186
186
  }
187
187
  function ct(n, t) {
188
188
  const e = Lt(n.rows, t);
189
189
  return e === null ? null : { ...e, top: e.top - n.scrollY };
190
190
  }
191
191
  function Jt(n, t) {
192
- return rs(n.rows, t + n.scrollY);
192
+ return as(n.rows, t + n.scrollY);
193
193
  }
194
194
  function Te(n, t, e, s, o) {
195
- const i = s.miniature ? 0 : as, r = s.miniature ? 0 : Zt * Vt, a = Math.max(s.miniature ? 1 : 4, s.height - 2 * i - r), u = s.top - n.scrollY + Math.floor((s.height - a) / 2), c = ut(t);
195
+ const i = s.miniature ? 0 : ls, r = s.miniature ? 0 : Zt * Vt, a = Math.max(s.miniature ? 1 : 4, s.height - 2 * i - r), u = s.top - n.scrollY + Math.floor((s.height - a) / 2), c = ut(t);
196
196
  return {
197
197
  subtask: t,
198
198
  lane: e,
@@ -211,7 +211,7 @@ function Ce(n, t, e) {
211
211
  const s = Math.max(0, (6 - (n.outerTo - n.outerFrom)) / 2);
212
212
  return t < n.outerFrom - s || t > n.outerTo + s ? null : t < n.mainFrom ? "setup" : t > n.mainTo ? "teardown" : "main";
213
213
  }
214
- function ls(n, t, e, s = 5) {
214
+ function hs(n, t, e, s = 5) {
215
215
  if (e < n.y || e > n.y + n.height) return null;
216
216
  const o = Math.abs(t - n.mainFrom), i = Math.abs(t - n.mainTo);
217
217
  return Math.min(o, i) > s ? null : o <= i ? "from" : "to";
@@ -219,13 +219,13 @@ function ls(n, t, e, s = 5) {
219
219
  function Le(n, t, e) {
220
220
  return n.outerTo >= 0 && n.outerFrom <= t && n.y + n.height >= 0 && n.y <= e;
221
221
  }
222
- const hs = 64;
223
- function us(n, t) {
222
+ const us = 64;
223
+ function cs(n, t) {
224
224
  if (n.miniature) return null;
225
225
  const e = ht(n.subtask.appearance).hatched ? et + Me + 1 : 0, s = Math.max(n.mainFrom + e, 0), o = Math.min(n.mainTo - e, t) - s;
226
- return o < hs ? null : { x: s, width: o, y: n.y, height: n.height };
226
+ return o < us ? null : { x: s, width: o, y: n.y, height: n.height };
227
227
  }
228
- const cs = 10;
228
+ const ds = 10;
229
229
  function Qt(n, t, e) {
230
230
  const s = Math.round(t.y + t.height / 2);
231
231
  return n === "centre" || e.y === t.y ? s : Math.round(e.y > t.y ? t.y + t.height - 1 : t.y + 1);
@@ -235,7 +235,7 @@ function bt(n, t, e, s, o) {
235
235
  if (i === "straight")
236
236
  return { transport: t, kind: i, ends: a, x1: u, y1: l, x2: c, y2: d, c1x: u, c2x: c, points: [u, l, c, d] };
237
237
  if (i === "orthogonal") {
238
- const _ = u + cs, S = l === d ? _ : Math.round((_ + c) / 2);
238
+ const _ = u + ds, S = l === d ? _ : Math.round((_ + c) / 2);
239
239
  return { transport: t, kind: i, ends: a, x1: u, y1: l, x2: c, y2: d, c1x: u, c2x: c, points: l === d ? [u, l, c, d] : [u, l, S, l, S, d, c, d] };
240
240
  }
241
241
  const p = Math.max(14, Math.abs(c - u) / 2), g = u + p, b = c - p, I = [];
@@ -248,7 +248,7 @@ function bt(n, t, e, s, o) {
248
248
  }
249
249
  return { transport: t, kind: "curve", ends: a, x1: u, y1: l, x2: c, y2: d, c1x: g, c2x: b, points: I };
250
250
  }
251
- function ds(n, t, e) {
251
+ function fs(n, t, e) {
252
252
  let s = 1 / 0;
253
253
  const o = n.points;
254
254
  for (let i = 0; i + 3 < o.length; i += 2) {
@@ -278,7 +278,7 @@ function At(n) {
278
278
  }
279
279
  return t;
280
280
  }
281
- function fs(n) {
281
+ function ps(n) {
282
282
  const t = /* @__PURE__ */ new Map(), e = /* @__PURE__ */ new Map();
283
283
  for (const s of n) {
284
284
  const o = ut(s), i = e.get(s.lane) ?? [];
@@ -301,10 +301,10 @@ function _t(n, t) {
301
301
  }
302
302
  return s;
303
303
  }
304
- function _n(n, t) {
304
+ function Fn(n, t) {
305
305
  return { overlaps: At(n), lateTransports: _t(n, t) };
306
306
  }
307
- class ps {
307
+ class ms {
308
308
  /** `changed` is called after every registration change. */
309
309
  constructor(t) {
310
310
  f(this, "nextId", 1);
@@ -373,7 +373,7 @@ class ps {
373
373
  for (const s of e.tasks) this.tasks.set(s.id, s);
374
374
  } else
375
375
  this.transports.push(...e.data);
376
- return this.subtaskById = new Map(this.subtasks.map((e) => [e.id, e])), this.overlaps = At(this.subtasks), this.lateById = new Map(_t(this.subtasks, this.transports).map((e) => [e.transport, e])), this.depth = fs(this.subtasks), !0;
376
+ return this.subtaskById = new Map(this.subtasks.map((e) => [e.id, e])), this.overlaps = At(this.subtasks), this.lateById = new Map(_t(this.subtasks, this.transports).map((e) => [e.transport, e])), this.depth = ps(this.subtasks), !0;
377
377
  }
378
378
  /** The task a transport belongs to: its departing subtask's. */
379
379
  taskOfTransport(t) {
@@ -399,7 +399,7 @@ class ps {
399
399
  };
400
400
  }
401
401
  }
402
- const ms = {
402
+ const gs = {
403
403
  line: "var(--u-hairline)",
404
404
  lineStrong: "var(--u-hairline-strong)",
405
405
  text: "var(--u-color-text)",
@@ -411,10 +411,10 @@ const ms = {
411
411
  use in CSS, so a cap and the label beside it are one colour. */
412
412
  onAccent: "var(--u-color-on-accent)"
413
413
  };
414
- function gs(n, t) {
414
+ function ws(n, t) {
415
415
  const e = {};
416
416
  for (const i of t.tasks.values()) e[`task:${i.id}`] = i.color;
417
- const s = ze(n, { ...ms, ...e }), o = /* @__PURE__ */ new Map();
417
+ const s = We(n, { ...gs, ...e }), o = /* @__PURE__ */ new Map();
418
418
  for (const i of t.tasks.values()) o.set(i.id, s[`task:${i.id}`] ?? i.color);
419
419
  return {
420
420
  line: s.line,
@@ -454,7 +454,7 @@ function se(n, t, e) {
454
454
  }
455
455
  function ks(n, t) {
456
456
  const { data: e, view: s } = t, o = s.viewport();
457
- bs(n, t, o), Ms(n, t);
457
+ Ms(n, t, o), Ts(n, t);
458
458
  for (const i of e.layers) {
459
459
  const r = new Set(i.data);
460
460
  if (i.kind === "transports")
@@ -463,14 +463,14 @@ function ks(n, t) {
463
463
  for (const a of s.boxes) r.has(a.subtask) && Ie(n, t, a, 1);
464
464
  }
465
465
  for (const i of e.overlaps) Ae(n, t, o, i);
466
- Fs(n, t, o), Ps(n, t);
466
+ Es(n, t, o), Ns(n, t);
467
467
  }
468
- function ws(n, t) {
468
+ function vs(n, t) {
469
469
  const { view: e, hover: s } = t, o = e.viewport();
470
470
  if (t.ghost === null) {
471
471
  if (s.kind === "subtask") {
472
472
  const l = e.boxById.get(s.subtask.id);
473
- l !== void 0 && Es(n, t, l);
473
+ l !== void 0 && Ds(n, t, l);
474
474
  } else if (s.kind === "transport") {
475
475
  const l = e.paths.find((d) => d.transport === s.transport);
476
476
  l !== void 0 && Mt(n, t, l, !0);
@@ -478,7 +478,7 @@ function ws(n, t) {
478
478
  return;
479
479
  }
480
480
  const { ghost: i, overlaps: r, late: a } = t.ghost;
481
- vs(n, t, o, t.ghost.refusedLanes);
481
+ ys(n, t, o, t.ghost.refusedLanes);
482
482
  const u = Se(o, i);
483
483
  if (u === null) return;
484
484
  for (const l of r) Ae(n, t, o, l);
@@ -490,19 +490,19 @@ function ws(n, t) {
490
490
  const p = l.from === i.id ? bt(o, l, u, d, e.options) : bt(o, l, d, u, e.options);
491
491
  Mt(n, t, p, !0, c.has(l.id));
492
492
  }
493
- Ie(n, t, u, 0.55), n.strokeStyle = t.colours.text, n.lineWidth = 1, n.setLineDash([3, 2]), n.strokeRect(u.outerFrom + 0.5, u.y + 0.5, Math.max(1, u.outerTo - u.outerFrom - 1), u.height - 1), n.setLineDash([]), t.ghost.tether !== null && ys(n, t, u, t.ghost.tether);
493
+ Ie(n, t, u, 0.55), n.strokeStyle = t.colours.text, n.lineWidth = 1, n.setLineDash([3, 2]), n.strokeRect(u.outerFrom + 0.5, u.y + 0.5, Math.max(1, u.outerTo - u.outerFrom - 1), u.height - 1), n.setLineDash([]), t.ghost.tether !== null && bs(n, t, u, t.ghost.tether);
494
494
  }
495
- function vs(n, t, e, s) {
495
+ function ys(n, t, e, s) {
496
496
  if (s.size === 0) return;
497
497
  const { width: o, height: i } = t.view;
498
498
  for (const r of s) {
499
499
  const a = ct(e, r);
500
500
  if (a === null) continue;
501
501
  const { top: u, height: c } = a;
502
- u + c < 0 || u > i || (n.globalAlpha = 0.6, n.fillStyle = t.colours.surface, n.fillRect(0, u, o, c), n.globalAlpha = 1, As(n, 0, u, o, c, t.colours.muted, 0.7, Ss, 1));
502
+ u + c < 0 || u > i || (n.globalAlpha = 0.6, n.fillStyle = t.colours.surface, n.fillRect(0, u, o, c), n.globalAlpha = 1, _s(n, 0, u, o, c, t.colours.muted, 0.7, Is, 1));
503
503
  }
504
504
  }
505
- function ys(n, t, e, s) {
505
+ function bs(n, t, e, s) {
506
506
  const o = Math.max(e.outerFrom, Math.min(e.outerTo, s.x)), i = Math.max(e.y, Math.min(e.y + e.height, s.y));
507
507
  Math.hypot(s.x - o, s.y - i) < 2 || (n.strokeStyle = t.colours.text, n.lineWidth = 1, n.setLineDash([2, 3]), n.beginPath(), n.moveTo(o + 0.5, i + 0.5), n.lineTo(s.x + 0.5, s.y + 0.5), n.stroke(), n.setLineDash([]));
508
508
  }
@@ -510,7 +510,7 @@ function Se(n, t) {
510
510
  const e = Lt(n.rows, t.lane);
511
511
  return e === null ? null : Te(n, t, t.lane, e, 0);
512
512
  }
513
- function bs(n, t, e) {
513
+ function Ms(n, t, e) {
514
514
  const { view: s, colours: o, bands: i } = t, { width: r, height: a } = s;
515
515
  n.lineWidth = 1, n.strokeStyle = o.line, n.beginPath();
516
516
  for (const l of i.ticks)
@@ -539,11 +539,11 @@ function bs(n, t, e) {
539
539
  n.stroke(), n.setLineDash([]);
540
540
  }
541
541
  }
542
- function Ms(n, t) {
542
+ function Ts(n, t) {
543
543
  const e = t.view.nowX();
544
544
  e !== null && (n.fillStyle = t.colours.accent, n.fillRect(e, 0, 2, t.view.height));
545
545
  }
546
- function Ts(n, t, e, s) {
546
+ function Cs(n, t, e, s) {
547
547
  const o = t.colours.tasks.get(e.subtask.task) ?? t.colours.muted;
548
548
  n.fillStyle = o;
549
549
  for (const [i, r] of [
@@ -555,21 +555,21 @@ function Ts(n, t, e, s) {
555
555
  }
556
556
  function Ft(n, t, e) {
557
557
  if (n.dashed) return { fill: null, onDark: !1 };
558
- const s = n.muted ? Cs(t, e.surface, 0.5) : t;
558
+ const s = n.muted ? Ls(t, e.surface, 0.5) : t;
559
559
  return { fill: s, onDark: ee(s, e.onAccent) > ee(s, e.text) };
560
560
  }
561
- function Cs(n, t, e) {
561
+ function Ls(n, t, e) {
562
562
  const s = at(n), o = at(t);
563
563
  if (s === null || o === null) return n;
564
564
  const i = (r) => Math.round(s[r] + (o[r] - s[r]) * e);
565
565
  return `rgb(${i(0)}, ${i(1)}, ${i(2)})`;
566
566
  }
567
- const Ls = 2;
567
+ const Ss = 2;
568
568
  function Ie(n, t, e, s) {
569
569
  const { view: o, colours: i } = t;
570
570
  if (!Le(e, o.width, o.height)) return;
571
571
  if (e.miniature) {
572
- Ts(n, t, e, s);
572
+ Cs(n, t, e, s);
573
573
  return;
574
574
  }
575
575
  const r = ht(e.subtask.appearance), a = i.tasks.get(e.subtask.task) ?? i.muted, u = Ft(r, a, i), c = e.y, l = e.height, d = Math.max(1, e.mainTo - e.mainFrom), p = u.onDark ? i.onAccent : i.text;
@@ -582,24 +582,24 @@ function Ie(n, t, e, s) {
582
582
  u.fill !== null && (n.globalAlpha = s, n.fillStyle = u.fill, n.fillRect(e.mainFrom, c, d, l));
583
583
  const g = e.subtask.progress;
584
584
  if (g !== void 0) {
585
- const b = Math.min(4, Math.max(2, Math.round(l / 6))), I = c + l - b - Ls, _ = Math.round(d * Math.max(0, Math.min(1, g)));
585
+ const b = Math.min(4, Math.max(2, Math.round(l / 6))), I = c + l - b - Ss, _ = Math.round(d * Math.max(0, Math.min(1, g)));
586
586
  n.fillStyle = u.fill === null ? a : p, n.globalAlpha = 0.3 * s, n.fillRect(e.mainFrom, I, d, b), n.globalAlpha = s, _ > 0 && n.fillRect(e.mainFrom, I, _, b);
587
587
  }
588
588
  if (r.hatched) {
589
589
  const b = Math.max(1, Math.min(Me, Math.floor((d - 2 * et) / 3))), I = d >= 4 * b ? et : 0, _ = l >= 4 * et ? et : 0;
590
590
  n.globalAlpha = s, n.fillStyle = p, n.fillRect(e.mainFrom + I, c + _, b, l - 2 * _), n.fillRect(e.mainTo - I - b, c + _, b, l - 2 * _);
591
591
  }
592
- r.open && _s(n, e, c, l, i.surface, o.width), r.dashed && (n.globalAlpha = s, n.strokeStyle = a, n.setLineDash([4, 3]), n.strokeRect(e.mainFrom + 0.5, c + 0.5, d - 1, l - 1), n.setLineDash([])), n.globalAlpha = 1, e.depth > 0 && s === 1 && (n.strokeStyle = i.surface, n.strokeRect(e.outerFrom - 0.5, c - 0.5, e.outerTo - e.outerFrom + 1, l + 1));
592
+ r.open && Fs(n, e, c, l, i.surface, o.width), r.dashed && (n.globalAlpha = s, n.strokeStyle = a, n.setLineDash([4, 3]), n.strokeRect(e.mainFrom + 0.5, c + 0.5, d - 1, l - 1), n.setLineDash([])), n.globalAlpha = 1, e.depth > 0 && s === 1 && (n.strokeStyle = i.surface, n.strokeRect(e.outerFrom - 0.5, c - 0.5, e.outerTo - e.outerFrom + 1, l + 1));
593
593
  }
594
- const Ss = 6, Is = 16;
595
- function As(n, t, e, s, o, i, r, a, u) {
594
+ const Is = 6, As = 16;
595
+ function _s(n, t, e, s, o, i, r, a, u) {
596
596
  n.save(), n.beginPath(), n.rect(t, e, s, o), n.clip(), n.globalAlpha = 0.5 * r, n.strokeStyle = i, n.lineWidth = u, n.beginPath();
597
597
  for (let c = t - o; c < t + s + o; c += a)
598
598
  n.moveTo(c, e + o), n.lineTo(c + o, e);
599
599
  n.stroke(), n.restore();
600
600
  }
601
- function _s(n, t, e, s, o, i) {
602
- const r = t.mainFrom < 0, a = t.mainTo > i, u = Math.max(1, Math.min(t.mainTo, i) - Math.max(t.mainFrom, 0)), c = Math.min(Is, u);
601
+ function Fs(n, t, e, s, o, i) {
602
+ const r = t.mainFrom < 0, a = t.mainTo > i, u = Math.max(1, Math.min(t.mainTo, i) - Math.max(t.mainFrom, 0)), c = Math.min(As, u);
603
603
  r && ne(n, 0, c, e, s, o, 1), a && ne(n, i, -c, e, s, o, 1);
604
604
  }
605
605
  function ne(n, t, e, s, o, i, r) {
@@ -623,7 +623,7 @@ function Mt(n, t, e, s, o) {
623
623
  ])
624
624
  n.beginPath(), n.arc(d, p, u ? 3 : 2.5, 0, Math.PI * 2), n.fill();
625
625
  }
626
- function Fs(n, t, e) {
626
+ function Es(n, t, e) {
627
627
  const { data: s } = t;
628
628
  if (s.lateById.size !== 0) {
629
629
  n.fillStyle = t.colours.alarm;
@@ -648,12 +648,12 @@ function Ae(n, t, e, s) {
648
648
  a !== null && n.fillRect(i, a.top - e.scrollY + 1, r - i, 3);
649
649
  }
650
650
  }
651
- function Es(n, t, e) {
651
+ function Ds(n, t, e) {
652
652
  const { colours: s } = t, o = ht(e.subtask.appearance), i = Ft(o, s.tasks.get(e.subtask.task) ?? s.muted, s);
653
- n.globalAlpha = Ds, n.fillStyle = i.onDark ? s.onAccent : s.text, n.fillRect(e.outerFrom, e.y, Math.max(1, e.outerTo - e.outerFrom), e.height), n.globalAlpha = 1;
653
+ n.globalAlpha = Ps, n.fillStyle = i.onDark ? s.onAccent : s.text, n.fillRect(e.outerFrom, e.y, Math.max(1, e.outerTo - e.outerFrom), e.height), n.globalAlpha = 1;
654
654
  }
655
- const Ds = 0.2;
656
- function Ps(n, t) {
655
+ const Ps = 0.2;
656
+ function Ns(n, t) {
657
657
  const e = t.selectedTask;
658
658
  if (e !== null) {
659
659
  n.strokeStyle = t.colours.text;
@@ -666,22 +666,22 @@ function Ps(n, t) {
666
666
  }
667
667
  }
668
668
  }
669
- const rt = 32, Ns = 18;
669
+ const rt = 32, Gs = 18;
670
670
  function ie(n, t) {
671
671
  if (!(t > 2 * rt)) return 0;
672
672
  const e = rt - n, s = n - (t - rt), o = Math.max(e, s);
673
673
  if (o <= 0) return 0;
674
- const i = Math.min(1, o / rt), r = Ns * i * i;
674
+ const i = Math.min(1, o / rt), r = Gs * i * i;
675
675
  return e > 0 ? -r : r;
676
676
  }
677
- function Gs(n, t, e, s) {
677
+ function Rs(n, t, e, s) {
678
678
  const o = /* @__PURE__ */ new Set();
679
679
  if (s === void 0) return o;
680
680
  for (const i of n)
681
681
  i !== e && (s(t, i) || o.add(i));
682
682
  return o;
683
683
  }
684
- function Rs(n, t) {
684
+ function $s(n, t) {
685
685
  const { step: e, offset: s } = typeof t == "number" ? { step: t, offset: 0 } : t;
686
686
  if (!(e > 0) || !Number.isFinite(n)) return n;
687
687
  const o = me(n) + s;
@@ -700,7 +700,7 @@ function le(n) {
700
700
  return "nothing";
701
701
  }
702
702
  }
703
- const he = 3, $s = 10, xs = 600;
703
+ const he = 3, Os = 10, xs = 600;
704
704
  class Bs {
705
705
  constructor(t) {
706
706
  f(this, "gesture", { kind: "none" });
@@ -838,7 +838,7 @@ class Bs {
838
838
  askRefused(t, e) {
839
839
  if (!this.host.view.options.intents.includes(e === null ? "place" : "lane")) return ae;
840
840
  const s = this.host.data.lanes.map((o) => o.id);
841
- return Gs(s, t, e, this.host.handlers().canMoveTo);
841
+ return Rs(s, t, e, this.host.handlers().canMoveTo);
842
842
  }
843
843
  /** What a press at a point would start, given the intents the caller handles. */
844
844
  modeAt(t, e) {
@@ -846,7 +846,7 @@ class Bs {
846
846
  for (let i = s.boxes.length - 1; i >= 0; i--) {
847
847
  const r = s.boxes[i];
848
848
  if (o.includes("stretch")) {
849
- const a = ls(r, t, e);
849
+ const a = hs(r, t, e);
850
850
  if (a !== null) return { mode: a === "from" ? "stretch-from" : "stretch-to", subtask: r.subtask };
851
851
  }
852
852
  if (Ce(r, t, e) !== null)
@@ -863,7 +863,7 @@ class Bs {
863
863
  }
864
864
  const o = this.gesture;
865
865
  if (o.kind === "pending" && o.pointerId === t.pointerId) {
866
- if (Math.hypot(e - o.x0, s - o.y0) < (t.pointerType === "touch" ? $s : he)) return;
866
+ if (Math.hypot(e - o.x0, s - o.y0) < (t.pointerType === "touch" ? Os : he)) return;
867
867
  if (o.mode === "pan" || o.subtask === null)
868
868
  this.gesture = { kind: "pan", pointerId: o.pointerId, lastX: o.x0, lastY: o.y0 }, this.setCursor("grabbing");
869
869
  else {
@@ -1107,7 +1107,7 @@ class Bs {
1107
1107
  let c = i.from;
1108
1108
  const l = o.viewport().scale, d = l.fromPx(e) - t.t0;
1109
1109
  if (a.includes("move") && Math.abs(d * l.m) >= he) {
1110
- const g = j(o.options.calendar), b = O(i.from, g) + d, I = g.intervals.length === 0 ? b : U(Math.max(0, Math.min(g.total, b)), g);
1110
+ const g = j(o.options.calendar), b = B(i.from, g) + d, I = g.intervals.length === 0 ? b : U(Math.max(0, Math.min(g.total, b)), g);
1111
1111
  c = this.snapInside(I, r);
1112
1112
  }
1113
1113
  let p = t.ghost.lane;
@@ -1132,8 +1132,8 @@ class Bs {
1132
1132
  on to the seam, where time counts again. An intent never asks for a time
1133
1133
  the plant does not run. */
1134
1134
  snapInside(t, e) {
1135
- const s = Rs(t, e), o = j(this.host.view.options.calendar);
1136
- return o.intervals.length === 0 ? s : U(O(s, o), o);
1135
+ const s = $s(t, e), o = j(this.host.view.options.calendar);
1136
+ return o.intervals.length === 0 ? s : U(B(s, o), o);
1137
1137
  }
1138
1138
  intentsOf(t, e, s) {
1139
1139
  const o = [], i = this.host.view.options.intents, r = t.id;
@@ -1157,17 +1157,17 @@ class Bs {
1157
1157
  return { overlaps: At(r).filter(a), late: _t(c, u) };
1158
1158
  }
1159
1159
  }
1160
- const _e = [], Os = 56;
1161
- function Hs(n, t = Os) {
1160
+ const _e = [], Hs = 56;
1161
+ function Ys(n, t = Hs) {
1162
1162
  return n > 0 ? Math.min(st, Math.max(15 * q, je(n * t, 1))) : 15 * q;
1163
1163
  }
1164
- function Ys(n, t, e = _e) {
1164
+ function Xs(n, t, e = _e) {
1165
1165
  const [s, o] = Fe(n, e);
1166
1166
  return Ve(e, s, o, t, me(s)).filter(
1167
1167
  (i) => i.operatingTime >= n[0] && i.operatingTime <= n[1]
1168
1168
  );
1169
1169
  }
1170
- function Xs(n, t = _e) {
1170
+ function Ks(n, t = _e) {
1171
1171
  const [e, s] = Fe(n, t), o = [], i = new Date(e);
1172
1172
  for (i.setHours(0, 0, 0, 0); i.getTime() < s && o.length < 400; ) {
1173
1173
  const r = i.getTime();
@@ -1176,19 +1176,19 @@ function Xs(n, t = _e) {
1176
1176
  o.push({
1177
1177
  start: r,
1178
1178
  end: a,
1179
- from: O(r, t),
1180
- to: O(a, t)
1179
+ from: B(r, t),
1180
+ to: B(a, t)
1181
1181
  });
1182
1182
  }
1183
1183
  return o;
1184
1184
  }
1185
- function Ks(n, t, e, s) {
1185
+ function Us(n, t, e, s) {
1186
1186
  const o = n[1] - n[0];
1187
1187
  if (!(o > 0)) return [n[0], n[1]];
1188
1188
  const i = Math.min(s.max, Math.max(s.min, o * e)), r = (t - n[0]) / o, a = t - r * i;
1189
1189
  return [a, a + i];
1190
1190
  }
1191
- function Us(n, t) {
1191
+ function zs(n, t) {
1192
1192
  return [n[0] + t, n[1] + t];
1193
1193
  }
1194
1194
  function Fe(n, t) {
@@ -1234,11 +1234,11 @@ class Ws {
1234
1234
  setOptions(t, e) {
1235
1235
  const s = t.calendar !== this.options.calendar, o = this.options.calendar;
1236
1236
  if (this.options = t, e !== null)
1237
- this.domain = [O(e[0], t.calendar), O(e[1], t.calendar)];
1237
+ this.domain = [B(e[0], t.calendar), B(e[1], t.calendar)];
1238
1238
  else if (s) {
1239
1239
  const i = j(o), r = (a) => {
1240
1240
  const u = i.intervals.length === 0 ? a : Math.max(0, Math.min(i.total, a));
1241
- return O(U(u, i), t.calendar) + (a - u);
1241
+ return B(U(u, i), t.calendar) + (a - u);
1242
1242
  };
1243
1243
  this.domain = [r(this.domain[0]), r(this.domain[1])];
1244
1244
  }
@@ -1262,14 +1262,14 @@ class Ws {
1262
1262
  /** The fine band's step at the current zoom. */
1263
1263
  step() {
1264
1264
  const t = this.domain[1] - this.domain[0];
1265
- return Hs(this.width > 0 ? t / this.width : t);
1265
+ return Ys(this.width > 0 ? t / this.width : t);
1266
1266
  }
1267
1267
  /** Lays the rows out, clamps the scroll, and lays the data out anew. */
1268
1268
  layout() {
1269
1269
  this.rows = qt({
1270
1270
  lanes: this.data.lanes,
1271
1271
  groups: this.data.groups,
1272
- collapsed: is(this.collapsed, this.openForGesture),
1272
+ collapsed: rs(this.collapsed, this.openForGesture),
1273
1273
  laneHeight: this.options.laneHeight
1274
1274
  }), this.scrollY = Math.max(0, Math.min(this.maxScroll(), this.scrollY));
1275
1275
  const t = this.viewport();
@@ -1292,11 +1292,11 @@ class Ws {
1292
1292
  if (this.width <= 0) return { days: [], ticks: [], step: t };
1293
1293
  const e = this.viewport().scale, s = this.options.calendar;
1294
1294
  return {
1295
- days: Xs(this.domain, s).map((o) => {
1295
+ days: Ks(this.domain, s).map((o) => {
1296
1296
  const i = Math.round(e.toPx(o.from));
1297
1297
  return { start: o.start, x: i, width: Math.round(e.toPx(o.to)) - i };
1298
1298
  }),
1299
- ticks: Ys(this.domain, t, s).map((o) => ({ wallClock: o.wallClock, x: Math.round(e.toPx(o.operatingTime)) })),
1299
+ ticks: Xs(this.domain, t, s).map((o) => ({ wallClock: o.wallClock, x: Math.round(e.toPx(o.operatingTime)) })),
1300
1300
  step: t
1301
1301
  };
1302
1302
  }
@@ -1304,7 +1304,7 @@ class Ws {
1304
1304
  nowX() {
1305
1305
  const t = this.options.now;
1306
1306
  if (t === null || this.width <= 0) return null;
1307
- const e = Math.round(this.viewport().scale.toPx(O(t, this.options.calendar)));
1307
+ const e = Math.round(this.viewport().scale.toPx(B(t, this.options.calendar)));
1308
1308
  return e >= 0 && e <= this.width ? e : null;
1309
1309
  }
1310
1310
  hitAt(t, e) {
@@ -1314,7 +1314,7 @@ class Ws {
1314
1314
  }
1315
1315
  let s = null, o = 4;
1316
1316
  for (const r of this.paths) {
1317
- const a = ds(r, t, e);
1317
+ const a = fs(r, t, e);
1318
1318
  a <= o && (o = a, s = r);
1319
1319
  }
1320
1320
  if (s !== null) return { kind: "transport", transport: s.transport };
@@ -1355,7 +1355,7 @@ class Ws {
1355
1355
  neither - a scroll through the lanes is no news about the time. */
1356
1356
  pan(t, e) {
1357
1357
  const s = this.domain[0], o = this.scrollY, i = this.domain[1] - s;
1358
- this.width > 0 && t !== 0 && (this.domain = Us(this.domain, t / this.width * i)), this.scrollY = Math.max(0, Math.min(this.maxScroll(), this.scrollY + e));
1358
+ this.width > 0 && t !== 0 && (this.domain = zs(this.domain, t / this.width * i)), this.scrollY = Math.max(0, Math.min(this.maxScroll(), this.scrollY + e));
1359
1359
  const r = this.domain[0] !== s;
1360
1360
  return { moved: r || this.scrollY !== o, time: r };
1361
1361
  }
@@ -1363,7 +1363,7 @@ class Ws {
1363
1363
  zoomAt(t, e) {
1364
1364
  if (this.width <= 0 || !Number.isFinite(e)) return !1;
1365
1365
  const s = this.domain, o = this.viewport().scale.fromPx(t);
1366
- return this.domain = Ks(this.domain, o, e, this.options.zoomLimits), s[0] !== this.domain[0] || s[1] !== this.domain[1];
1366
+ return this.domain = Us(this.domain, o, e, this.options.zoomLimits), s[0] !== this.domain[0] || s[1] !== this.domain[1];
1367
1367
  }
1368
1368
  }
1369
1369
  const ue = {
@@ -1382,9 +1382,9 @@ const ue = {
1382
1382
  now: null,
1383
1383
  bars: []
1384
1384
  };
1385
- class zs {
1385
+ class qs {
1386
1386
  constructor() {
1387
- f(this, "data", new ps(() => this.viewChanged()));
1387
+ f(this, "data", new ms(() => this.viewChanged()));
1388
1388
  f(this, "view", new Ws(this.data));
1389
1389
  f(this, "gestures");
1390
1390
  f(this, "handlersNow", {});
@@ -1563,7 +1563,7 @@ class zs {
1563
1563
  const e = this.colours;
1564
1564
  return t.boxes.flatMap((s) => {
1565
1565
  if (!Le(s, t.width, t.height)) return [];
1566
- const o = us(s, t.width);
1566
+ const o = cs(s, t.width);
1567
1567
  if (o === null) return [];
1568
1568
  const i = e === null ? void 0 : e.tasks.get(s.subtask.task), r = i === void 0 || e === null ? !0 : Ft(ht(s.subtask.appearance), i, e).onDark;
1569
1569
  return [{ subtask: s.subtask, ...o, dark: r }];
@@ -1621,7 +1621,7 @@ class zs {
1621
1621
  }
1622
1622
  draw() {
1623
1623
  if (this.root === null) return;
1624
- this.colours === null && (this.colours = gs(this.root, this.data), this.publish());
1624
+ this.colours === null && (this.colours = ws(this.root, this.data), this.publish());
1625
1625
  const { width: t, height: e } = this.view, s = se(this.dataCanvas, t, e), o = se(this.overlayCanvas, t, e);
1626
1626
  if (s === null || o === null || t === 0) return;
1627
1627
  const i = {
@@ -1634,72 +1634,72 @@ class zs {
1634
1634
  hover: this.gestures.hover,
1635
1635
  ghost: this.gestures.ghostDrawing()
1636
1636
  };
1637
- ks(s, i), ws(o, i);
1638
- }
1639
- }
1640
- const qs = "_root_1lk8e_4 _text_1hv7a_23", js = "_corner_1lk8e_18", Vs = "_dayBand_1lk8e_22", Zs = "_tickBand_1lk8e_23", Js = "_day_1lk8e_22", Qs = "_dayLabel_1lk8e_46", tn = "_tick_1lk8e_23", en = "_tickLabel_1lk8e_64", sn = "_headers_1lk8e_72", nn = "_header_1lk8e_72", on = "_headerLabel_1lk8e_90", rn = "_headerCount_1lk8e_103", an = "_chevron_1lk8e_112", ln = "_plot_1lk8e_160", hn = "_layer_1lk8e_166", un = "_grip_1lk8e_175", cn = "_ghostLabel_1lk8e_185", dn = "_finding_1lk8e_198", fn = "_refusal_1lk8e_206", pn = "_tooltip_1lk8e_210", mn = "_tooltipHead_1lk8e_228", gn = "_tooltipTimes_1lk8e_233", kn = "_now_1lk8e_242", wn = "_barLabel_1lk8e_256", vn = "_barLabelText_1lk8e_269", v = {
1641
- root: qs,
1642
- corner: js,
1643
- dayBand: Vs,
1644
- tickBand: Zs,
1645
- day: Js,
1646
- dayLabel: Qs,
1647
- tick: tn,
1648
- tickLabel: en,
1649
- headers: sn,
1650
- header: nn,
1651
- headerLabel: on,
1652
- headerCount: rn,
1653
- chevron: an,
1654
- plot: ln,
1655
- layer: hn,
1656
- grip: un,
1657
- ghostLabel: cn,
1658
- finding: dn,
1659
- refusal: fn,
1660
- tooltip: pn,
1661
- tooltipHead: mn,
1662
- tooltipTimes: gn,
1637
+ ks(s, i), vs(o, i);
1638
+ }
1639
+ }
1640
+ const js = "_root_p2o7g_4 _text_1hv7a_23", Vs = "_corner_p2o7g_18", Zs = "_dayBand_p2o7g_22", Js = "_tickBand_p2o7g_23", Qs = "_day_p2o7g_22", tn = "_dayLabel_p2o7g_46", en = "_tick_p2o7g_23", sn = "_tickLabel_p2o7g_64", nn = "_headers_p2o7g_72", on = "_header_p2o7g_72", rn = "_headerLabel_p2o7g_90", an = "_headerCount_p2o7g_103", ln = "_chevron_p2o7g_112", hn = "_plot_p2o7g_170", un = "_layer_p2o7g_176", cn = "_grip_p2o7g_185", dn = "_ghostLabel_p2o7g_195", fn = "_finding_p2o7g_208", pn = "_refusal_p2o7g_216", mn = "_tooltip_p2o7g_220", gn = "_tooltipHead_p2o7g_238", wn = "_tooltipTimes_p2o7g_243", kn = "_now_p2o7g_252", vn = "_barLabel_p2o7g_266", yn = "_barLabelText_p2o7g_279", v = {
1641
+ root: js,
1642
+ corner: Vs,
1643
+ dayBand: Zs,
1644
+ tickBand: Js,
1645
+ day: Qs,
1646
+ dayLabel: tn,
1647
+ tick: en,
1648
+ tickLabel: sn,
1649
+ headers: nn,
1650
+ header: on,
1651
+ headerLabel: rn,
1652
+ headerCount: an,
1653
+ chevron: ln,
1654
+ plot: hn,
1655
+ layer: un,
1656
+ grip: cn,
1657
+ ghostLabel: dn,
1658
+ finding: fn,
1659
+ refusal: pn,
1660
+ tooltip: mn,
1661
+ tooltipHead: gn,
1662
+ tooltipTimes: wn,
1663
1663
  now: kn,
1664
- barLabel: wn,
1665
- barLabelText: vn
1664
+ barLabel: vn,
1665
+ barLabelText: yn
1666
1666
  };
1667
- function yn({ target: n }) {
1668
- const t = ge(), e = ke(), s = (l) => t.time(new Date(l), !1), o = (l) => {
1667
+ function bn({ target: n }) {
1668
+ const t = ge(), e = we(), s = (l) => t.time(new Date(l), !1), o = (l) => {
1669
1669
  const d = Math.round(l / q), p = Math.floor(d / 60), g = d % 60;
1670
1670
  return [p > 0 ? e.hoursShort(p) : "", g > 0 || p === 0 ? e.minutesShort(g) : ""].filter(Boolean).join(" ");
1671
1671
  };
1672
1672
  if (n.kind === "subtask") {
1673
1673
  const { subtask: l, task: d } = n;
1674
- return /* @__PURE__ */ Y(zt, { children: [
1675
- /* @__PURE__ */ w("span", { className: v.tooltipHead, children: (d == null ? void 0 : d.name) ?? l.task }),
1676
- /* @__PURE__ */ w("span", { children: l.name ?? l.id }),
1677
- /* @__PURE__ */ w("span", { className: v.tooltipTimes, children: e.scheduleGhostTimes(s(l.from), s(l.to)) }),
1678
- (l.setup ?? 0) > 0 && /* @__PURE__ */ w("span", { children: `${e.scheduleSetup} ${o(l.setup)}` }),
1679
- (l.teardown ?? 0) > 0 && /* @__PURE__ */ w("span", { children: `${e.scheduleTeardown} ${o(l.teardown)}` }),
1680
- n.overlapping.map((p) => /* @__PURE__ */ w("span", { className: v.finding, children: e.scheduleOverlapWith(p.name ?? p.id) }, p.id)),
1681
- n.lateTransports.map((p) => /* @__PURE__ */ w("span", { className: v.finding, children: e.scheduleLateBy(o(p.shortBy)) }, p.transport))
1674
+ return /* @__PURE__ */ Y(Wt, { children: [
1675
+ /* @__PURE__ */ k("span", { className: v.tooltipHead, children: (d == null ? void 0 : d.name) ?? l.task }),
1676
+ /* @__PURE__ */ k("span", { children: l.name ?? l.id }),
1677
+ /* @__PURE__ */ k("span", { className: v.tooltipTimes, children: e.scheduleGhostTimes(s(l.from), s(l.to)) }),
1678
+ (l.setup ?? 0) > 0 && /* @__PURE__ */ k("span", { children: `${e.scheduleSetup} ${o(l.setup)}` }),
1679
+ (l.teardown ?? 0) > 0 && /* @__PURE__ */ k("span", { children: `${e.scheduleTeardown} ${o(l.teardown)}` }),
1680
+ n.overlapping.map((p) => /* @__PURE__ */ k("span", { className: v.finding, children: e.scheduleOverlapWith(p.name ?? p.id) }, p.id)),
1681
+ n.lateTransports.map((p) => /* @__PURE__ */ k("span", { className: v.finding, children: e.scheduleLateBy(o(p.shortBy)) }, p.transport))
1682
1682
  ] });
1683
1683
  }
1684
1684
  const { transport: i, task: r, from: a, to: u, late: c } = n;
1685
- return /* @__PURE__ */ Y(zt, { children: [
1686
- /* @__PURE__ */ w("span", { className: v.tooltipHead, children: (r == null ? void 0 : r.name) ?? (r == null ? void 0 : r.id) ?? i.id }),
1687
- /* @__PURE__ */ w("span", { children: e.scheduleRoute((a == null ? void 0 : a.name) ?? i.from, (u == null ? void 0 : u.name) ?? i.to) }),
1688
- /* @__PURE__ */ w("span", { children: `${e.scheduleTransport} ${o(i.duration)}` }),
1689
- c !== void 0 && /* @__PURE__ */ w("span", { className: v.finding, children: e.scheduleLateBy(o(c.shortBy)) })
1685
+ return /* @__PURE__ */ Y(Wt, { children: [
1686
+ /* @__PURE__ */ k("span", { className: v.tooltipHead, children: (r == null ? void 0 : r.name) ?? (r == null ? void 0 : r.id) ?? i.id }),
1687
+ /* @__PURE__ */ k("span", { children: e.scheduleRoute((a == null ? void 0 : a.name) ?? i.from, (u == null ? void 0 : u.name) ?? i.to) }),
1688
+ /* @__PURE__ */ k("span", { children: `${e.scheduleTransport} ${o(i.duration)}` }),
1689
+ c !== void 0 && /* @__PURE__ */ k("span", { className: v.finding, children: e.scheduleLateBy(o(c.shortBy)) })
1690
1690
  ] });
1691
1691
  }
1692
- const bn = [], ce = { min: Tt, max: 28 * st }, Mn = [], de = 20, Fn = Xe(function(t, e) {
1692
+ const Mn = [], ce = { min: Tt, max: 28 * st }, Tn = [], de = 20, En = Xe(function(t, e) {
1693
1693
  const {
1694
1694
  ariaLabel: s,
1695
1695
  initialDomain: o,
1696
1696
  height: i = 400,
1697
1697
  laneHeight: r = lt,
1698
1698
  headerWidth: a = 160,
1699
- calendar: u = Mn,
1699
+ calendar: u = Tn,
1700
1700
  zoomLimits: c,
1701
1701
  snap: l = "ticks",
1702
- intents: d = bn,
1702
+ intents: d = Mn,
1703
1703
  onIntent: p,
1704
1704
  canMoveTo: g,
1705
1705
  onInteraction: b,
@@ -1714,78 +1714,78 @@ const bn = [], ce = { min: Tt, max: 28 * st }, Mn = [], de = 20, Fn = Xe(functio
1714
1714
  attach: R = "centre",
1715
1715
  ends: V = "dot",
1716
1716
  label: ot,
1717
- tooltip: W,
1717
+ tooltip: z,
1718
1718
  now: Z,
1719
1719
  className: Et,
1720
1720
  style: Ee,
1721
1721
  children: De
1722
- } = t, [k] = it(() => new zs()), Dt = Ke(), Pt = x(null), Nt = x(null), Gt = x(null), Rt = x(null), X = ge(), K = ke(), [dt, ft] = o, $t = (c == null ? void 0 : c.min) ?? ce.min, xt = (c == null ? void 0 : c.max) ?? ce.max, Bt = x(null), Ot = typeof l == "object" ? l.step : null, Ht = typeof l == "object" ? l.offset : null, Yt = typeof l == "object" ? null : l, [Pe, Ne] = it(() => Date.now());
1723
- B(() => {
1722
+ } = t, [w] = it(() => new qs()), Dt = Ke(), Pt = O(null), Nt = O(null), Gt = O(null), Rt = O(null), X = ge(), K = we(), [dt, ft] = o, $t = (c == null ? void 0 : c.min) ?? ce.min, Ot = (c == null ? void 0 : c.max) ?? ce.max, xt = O(null), Bt = typeof l == "object" ? l.step : null, Ht = typeof l == "object" ? l.offset : null, Yt = typeof l == "object" ? null : l, [Pe, Ne] = it(() => Date.now());
1723
+ x(() => {
1724
1724
  if (Z !== !0) return;
1725
1725
  const h = setInterval(() => Ne(Date.now()), q);
1726
1726
  return () => clearInterval(h);
1727
1727
  }, [Z]);
1728
1728
  const Xt = Z === !0 ? Pe : typeof Z == "number" ? Z : null;
1729
1729
  vt(() => {
1730
- const h = `${dt}|${ft}`, y = Bt.current !== h;
1731
- Bt.current = h;
1732
- const A = Yt ?? { step: Ot ?? 0, offset: Ht ?? 0 };
1733
- k.setOptions(
1734
- { laneHeight: r, calendar: u, zoomLimits: { min: $t, max: xt }, snap: A, intents: d, now: Xt, route: F, attach: R, ends: V },
1730
+ const h = `${dt}|${ft}`, y = xt.current !== h;
1731
+ xt.current = h;
1732
+ const A = Yt ?? { step: Bt ?? 0, offset: Ht ?? 0 };
1733
+ w.setOptions(
1734
+ { laneHeight: r, calendar: u, zoomLimits: { min: $t, max: Ot }, snap: A, intents: d, now: Xt, route: F, attach: R, ends: V },
1735
1735
  y ? [dt, ft] : null
1736
1736
  );
1737
- }, [k, dt, ft, r, u, $t, xt, Yt, Ot, Ht, d, Xt, F, R, V]), B(() => {
1738
- k.setHandlers({ onIntent: p, canMoveTo: g, onInteraction: b, onSelectedTaskChange: _, onCollapsedGroupsChange: C, onDomainChange: L });
1739
- }, [k, p, g, b, _, C, L]);
1740
- const Ge = x(m);
1741
- B(() => {
1737
+ }, [w, dt, ft, r, u, $t, Ot, Yt, Bt, Ht, d, Xt, F, R, V]), x(() => {
1738
+ w.setHandlers({ onIntent: p, canMoveTo: g, onInteraction: b, onSelectedTaskChange: _, onCollapsedGroupsChange: C, onDomainChange: L });
1739
+ }, [w, p, g, b, _, C, L]);
1740
+ const Ge = O(m);
1741
+ x(() => {
1742
1742
  const h = Ge.current;
1743
- h !== void 0 && k.setDefaultCollapsedGroups(h);
1744
- }, [k]), B(() => {
1745
- k.setCollapsedGroups(S);
1746
- }, [k, S]), Ue(
1743
+ h !== void 0 && w.setDefaultCollapsedGroups(h);
1744
+ }, [w]), x(() => {
1745
+ w.setCollapsedGroups(S);
1746
+ }, [w, S]), Ue(
1747
1747
  e,
1748
1748
  () => ({
1749
- positionAt: (h, y) => k.positionAt(h, y),
1750
- clientPointOf: (h, y) => k.clientPointOf(h, y),
1751
- visibleDomain: () => k.visibleDomain()
1749
+ positionAt: (h, y) => w.positionAt(h, y),
1750
+ clientPointOf: (h, y) => w.clientPointOf(h, y),
1751
+ visibleDomain: () => w.visibleDomain()
1752
1752
  }),
1753
- [k]
1754
- ), B(() => {
1755
- k.setControlledTask(I);
1756
- }, [k, I]), B(() => {
1757
- k.setPlacing(E ?? null);
1758
- }, [k, E]), B(() => {
1753
+ [w]
1754
+ ), x(() => {
1755
+ w.setControlledTask(I);
1756
+ }, [w, I]), x(() => {
1757
+ w.setPlacing(E ?? null);
1758
+ }, [w, E]), x(() => {
1759
1759
  const h = Pt.current, y = Nt.current, A = Gt.current, $ = Rt.current;
1760
1760
  if (!h || !y || !A || !$) return;
1761
- k.bind(h, y, A, $);
1761
+ w.bind(h, y, A, $);
1762
1762
  const D = y.getBoundingClientRect();
1763
- k.resize(D.width, D.height);
1763
+ w.resize(D.width, D.height);
1764
1764
  const P = new ResizeObserver((G) => {
1765
- var Wt;
1766
- const tt = (Wt = G[G.length - 1]) == null ? void 0 : Wt.contentRect;
1767
- tt !== void 0 && k.resize(tt.width, tt.height);
1765
+ var zt;
1766
+ const tt = (zt = G[G.length - 1]) == null ? void 0 : zt.contentRect;
1767
+ tt !== void 0 && w.resize(tt.width, tt.height);
1768
1768
  });
1769
1769
  P.observe(y);
1770
- const J = (G) => k.wheel(G);
1770
+ const J = (G) => w.wheel(G);
1771
1771
  h.addEventListener("wheel", J, { passive: !1 });
1772
1772
  const Q = (G) => {
1773
- G.key === "Escape" && k.cancelEdit() && G.preventDefault();
1773
+ G.key === "Escape" && w.cancelEdit() && G.preventDefault();
1774
1774
  };
1775
1775
  return window.addEventListener("keydown", Q), () => {
1776
- window.removeEventListener("keydown", Q), h.removeEventListener("wheel", J), P.disconnect(), k.unbind();
1776
+ window.removeEventListener("keydown", Q), h.removeEventListener("wheel", J), P.disconnect(), w.unbind();
1777
1777
  };
1778
- }, [k]);
1779
- const T = We(k.subscribe, k.getSnapshot, k.getServerSnapshot), Re = (h, y) => {
1778
+ }, [w]);
1779
+ const T = ze(w.subscribe, w.getSnapshot, w.getServerSnapshot), Re = (h, y) => {
1780
1780
  const A = new Date(h);
1781
1781
  return y >= 200 ? X.dateLong(A) : y >= 84 ? X.date(A) : y >= 44 ? X.dateShort(A) : "";
1782
- }, M = T.ghost, pt = (h) => `${Dt}-row-${encodeURIComponent(h.key)}`, $e = z(() => {
1782
+ }, M = T.ghost, pt = (h) => `${Dt}-row-${encodeURIComponent(h.key)}`, $e = W(() => {
1783
1783
  const h = /* @__PURE__ */ new Map();
1784
1784
  for (const y of T.headers)
1785
1785
  for (const A of y.within)
1786
1786
  y.kind === "groupHead" && A === y.group || h.set(A, [...h.get(A) ?? [], pt(y)]);
1787
1787
  return h;
1788
- }, [T.headers, Dt]), xe = z(() => new Set((M == null ? void 0 : M.refusedLanes) ?? []), [M == null ? void 0 : M.refusedLanes]), Kt = x(null), [mt, Be] = it({ x: 0, y: 0, at: "" }), gt = M === null ? "" : `${M.x}:${M.y}:${M.from}:${M.to}:${M.overlap}:${M.late}`;
1788
+ }, [T.headers, Dt]), Oe = W(() => new Set((M == null ? void 0 : M.refusedLanes) ?? []), [M == null ? void 0 : M.refusedLanes]), Kt = O(null), [mt, xe] = it({ x: 0, y: 0, at: "" }), gt = M === null ? "" : `${M.x}:${M.y}:${M.from}:${M.to}:${M.overlap}:${M.late}`;
1789
1789
  vt(() => {
1790
1790
  const h = Kt.current;
1791
1791
  if (M === null || h === null) return;
@@ -1794,9 +1794,9 @@ const bn = [], ce = { min: Tt, max: 28 * st }, Mn = [], de = 20, Fn = Xe(functio
1794
1794
  y: A >= 2 ? A : Math.min($, T.height - h.offsetHeight - 2),
1795
1795
  at: gt
1796
1796
  };
1797
- Be((P) => P.x === D.x && P.y === D.y && P.at === D.at ? P : D);
1797
+ xe((P) => P.x === D.x && P.y === D.y && P.at === D.at ? P : D);
1798
1798
  }, [M, gt, T.width, T.height]);
1799
- const Ut = x(null), [kt, Oe] = it({ x: 0, y: 0, at: "" }), H = T.tooltip, wt = H === null ? "" : `${H.x}:${H.y}:${H.target.kind}`;
1799
+ const Ut = O(null), [wt, Be] = it({ x: 0, y: 0, at: "" }), H = T.tooltip, kt = H === null ? "" : `${H.x}:${H.y}:${H.target.kind}`;
1800
1800
  return vt(() => {
1801
1801
  const h = Ut.current;
1802
1802
  if (H === null || h === null) return;
@@ -1806,10 +1806,10 @@ const bn = [], ce = { min: Tt, max: 28 * st }, Mn = [], de = 20, Fn = Xe(functio
1806
1806
  }, $ = {
1807
1807
  x: A(H.x, h.offsetWidth, T.width),
1808
1808
  y: A(H.y, h.offsetHeight, T.height),
1809
- at: wt
1809
+ at: kt
1810
1810
  };
1811
- Oe((D) => D.x === $.x && D.y === $.y && D.at === $.at ? D : $);
1812
- }, [H, wt, T.width, T.height]), /* @__PURE__ */ Y(we.Provider, { value: k, children: [
1811
+ Be((D) => D.x === $.x && D.y === $.y && D.at === $.at ? D : $);
1812
+ }, [H, kt, T.width, T.height]), /* @__PURE__ */ Y(ke.Provider, { value: w, children: [
1813
1813
  /* @__PURE__ */ Y(
1814
1814
  "div",
1815
1815
  {
@@ -1819,12 +1819,12 @@ const bn = [], ce = { min: Tt, max: 28 * st }, Mn = [], de = 20, Fn = Xe(functio
1819
1819
  className: Et ? `${v.root} ${Et}` : v.root,
1820
1820
  style: { height: `${i}px`, gridTemplateColumns: `min(${a}px, 40%) minmax(0, 1fr)`, ...Ee },
1821
1821
  children: [
1822
- /* @__PURE__ */ w("div", { className: v.corner }),
1823
- /* @__PURE__ */ w("div", { className: v.dayBand, "aria-hidden": "true", "data-schedule-days": "", "data-schedule-clip": "day band", children: T.days.map((h) => {
1822
+ /* @__PURE__ */ k("div", { className: v.corner }),
1823
+ /* @__PURE__ */ k("div", { className: v.dayBand, "aria-hidden": "true", "data-schedule-days": "", "data-schedule-clip": "day band", children: T.days.map((h) => {
1824
1824
  const y = Math.max(0, -h.x), A = Math.min(h.x + h.width, T.width) - Math.max(h.x, 0);
1825
- return /* @__PURE__ */ w("span", { className: v.day, style: { left: `${h.x}px`, width: `${h.width}px` }, children: /* @__PURE__ */ w("span", { className: v.dayLabel, "data-schedule-overlay": "day label", style: { marginLeft: `${y}px` }, children: Re(h.start, A) }) }, h.start);
1825
+ return /* @__PURE__ */ k("span", { className: v.day, style: { left: `${h.x}px`, width: `${h.width}px` }, children: /* @__PURE__ */ k("span", { className: v.dayLabel, "data-schedule-overlay": "day label", style: { marginLeft: `${y}px` }, children: Re(h.start, A) }) }, h.start);
1826
1826
  }) }),
1827
- /* @__PURE__ */ w("div", { className: v.headers, "data-schedule-headers": "", children: /* @__PURE__ */ w("div", { className: v.headerRun, style: { transform: `translateY(${-T.scrollY}px)` }, children: T.headers.map((h) => /* @__PURE__ */ Y(
1827
+ /* @__PURE__ */ k("div", { className: v.headers, "data-schedule-headers": "", children: /* @__PURE__ */ k("div", { className: v.headerRun, style: { transform: `translateY(${-T.scrollY}px)` }, children: T.headers.map((h) => /* @__PURE__ */ Y(
1828
1828
  "div",
1829
1829
  {
1830
1830
  id: pt(h),
@@ -1834,9 +1834,9 @@ const bn = [], ce = { min: Tt, max: 28 * st }, Mn = [], de = 20, Fn = Xe(functio
1834
1834
  "data-group": h.group,
1835
1835
  "data-row": h.kind,
1836
1836
  "data-schedule-clip": `header ${h.kind}`,
1837
- "data-refused": h.lane !== void 0 && xe.has(h.lane) ? "" : void 0,
1837
+ "data-refused": h.lane !== void 0 && Oe.has(h.lane) ? "" : void 0,
1838
1838
  children: [
1839
- h.kind !== "lane" && h.group !== void 0 && /* @__PURE__ */ w(
1839
+ h.kind !== "lane" && h.group !== void 0 && /* @__PURE__ */ k(
1840
1840
  "button",
1841
1841
  {
1842
1842
  type: "button",
@@ -1845,12 +1845,12 @@ const bn = [], ce = { min: Tt, max: 28 * st }, Mn = [], de = 20, Fn = Xe(functio
1845
1845
  "aria-expanded": h.collapsed === !1,
1846
1846
  "aria-controls": ($e.get(h.group) ?? [pt(h)]).join(" "),
1847
1847
  "aria-label": `${h.collapsed === !0 ? K.scheduleUnfoldGroup : K.scheduleFoldGroup}: ${typeof h.label == "string" ? h.label : h.group}`,
1848
- onClick: () => k.toggleGroup(h.group),
1849
- children: /* @__PURE__ */ w("svg", { viewBox: "0 0 10 10", width: "9", height: "9", "aria-hidden": "true", "data-open": h.collapsed === !1 ? "" : void 0, children: /* @__PURE__ */ w("path", { d: "M3.5 1.5 7 5l-3.5 3.5", fill: "none", stroke: "currentColor", strokeWidth: "1.5", strokeLinecap: "round", strokeLinejoin: "round" }) })
1848
+ onClick: () => w.toggleGroup(h.group),
1849
+ children: /* @__PURE__ */ k(Qe, { size: 9, "data-open": h.collapsed === !1 ? "" : void 0 })
1850
1850
  }
1851
1851
  ),
1852
- /* @__PURE__ */ w("span", { className: v.headerLabel, "data-schedule-overlay": "header label", children: h.label }),
1853
- h.kind !== "lane" && /* @__PURE__ */ w("span", { className: v.headerCount, "data-schedule-overlay": "lane count", "data-lane-count": h.lanes, children: K.scheduleLaneCount(h.lanes) })
1852
+ /* @__PURE__ */ k("span", { className: v.headerLabel, "data-schedule-overlay": "header label", children: h.label }),
1853
+ h.kind !== "lane" && /* @__PURE__ */ k("span", { className: v.headerCount, "data-schedule-overlay": "lane count", "data-lane-count": h.lanes, children: K.scheduleLaneCount(h.lanes) })
1854
1854
  ]
1855
1855
  },
1856
1856
  h.key
@@ -1863,22 +1863,22 @@ const bn = [], ce = { min: Tt, max: 28 * st }, Mn = [], de = 20, Fn = Xe(functio
1863
1863
  "data-schedule-plot": "",
1864
1864
  "data-schedule-clip": "plot",
1865
1865
  style: { cursor: T.cursor },
1866
- onPointerDown: (h) => k.pointerDown(h.nativeEvent),
1867
- onPointerMove: (h) => k.pointerMove(h.nativeEvent),
1868
- onPointerUp: (h) => k.pointerUp(h.nativeEvent),
1869
- onPointerCancel: (h) => k.pointerCancel(h.nativeEvent),
1870
- onPointerLeave: () => k.pointerLeave(),
1871
- onContextMenu: (h) => k.contextMenu(h.nativeEvent),
1872
- onDragOver: (h) => k.dragOver(h.nativeEvent),
1873
- onDrop: (h) => k.drop(h.nativeEvent),
1866
+ onPointerDown: (h) => w.pointerDown(h.nativeEvent),
1867
+ onPointerMove: (h) => w.pointerMove(h.nativeEvent),
1868
+ onPointerUp: (h) => w.pointerUp(h.nativeEvent),
1869
+ onPointerCancel: (h) => w.pointerCancel(h.nativeEvent),
1870
+ onPointerLeave: () => w.pointerLeave(),
1871
+ onContextMenu: (h) => w.contextMenu(h.nativeEvent),
1872
+ onDragOver: (h) => w.dragOver(h.nativeEvent),
1873
+ onDrop: (h) => w.drop(h.nativeEvent),
1874
1874
  onDragLeave: (h) => {
1875
1875
  const y = h.nativeEvent.relatedTarget;
1876
- (!(y instanceof Node) || !h.currentTarget.contains(y)) && k.dragLeave();
1876
+ (!(y instanceof Node) || !h.currentTarget.contains(y)) && w.dragLeave();
1877
1877
  },
1878
1878
  children: [
1879
- /* @__PURE__ */ w("canvas", { ref: Gt, className: v.layer, "aria-hidden": "true" }),
1880
- /* @__PURE__ */ w("canvas", { ref: Rt, className: v.layer, "aria-hidden": "true" }),
1881
- T.grips.map((h) => /* @__PURE__ */ w(
1879
+ /* @__PURE__ */ k("canvas", { ref: Gt, className: v.layer, "aria-hidden": "true" }),
1880
+ /* @__PURE__ */ k("canvas", { ref: Rt, className: v.layer, "aria-hidden": "true" }),
1881
+ T.grips.map((h) => /* @__PURE__ */ k(
1882
1882
  "span",
1883
1883
  {
1884
1884
  "data-grip": h.kind,
@@ -1889,7 +1889,7 @@ const bn = [], ce = { min: Tt, max: 28 * st }, Mn = [], de = 20, Fn = Xe(functio
1889
1889
  },
1890
1890
  h.kind
1891
1891
  )),
1892
- ot !== void 0 && T.bars.map((h) => /* @__PURE__ */ w(
1892
+ ot !== void 0 && T.bars.map((h) => /* @__PURE__ */ k(
1893
1893
  "span",
1894
1894
  {
1895
1895
  className: v.barLabel,
@@ -1898,11 +1898,11 @@ const bn = [], ce = { min: Tt, max: 28 * st }, Mn = [], de = 20, Fn = Xe(functio
1898
1898
  "data-schedule-may-cover": "",
1899
1899
  "data-on": h.dark ? "dark" : "light",
1900
1900
  style: { left: `${h.x}px`, top: `${h.y}px`, width: `${h.width}px`, height: `${h.height}px` },
1901
- children: /* @__PURE__ */ w("span", { className: v.barLabelText, children: ot(h.subtask) })
1901
+ children: /* @__PURE__ */ k("span", { className: v.barLabelText, children: ot(h.subtask) })
1902
1902
  },
1903
1903
  h.subtask.id
1904
1904
  )),
1905
- W !== !1 && T.tooltip !== null && /* @__PURE__ */ w(
1905
+ z !== !1 && T.tooltip !== null && /* @__PURE__ */ k(
1906
1906
  "span",
1907
1907
  {
1908
1908
  ref: Ut,
@@ -1911,11 +1911,11 @@ const bn = [], ce = { min: Tt, max: 28 * st }, Mn = [], de = 20, Fn = Xe(functio
1911
1911
  "data-schedule-tooltip": "",
1912
1912
  "data-schedule-overlay": "tooltip",
1913
1913
  style: {
1914
- left: `${kt.x}px`,
1915
- top: `${kt.y}px`,
1916
- visibility: kt.at === wt ? void 0 : "hidden"
1914
+ left: `${wt.x}px`,
1915
+ top: `${wt.y}px`,
1916
+ visibility: wt.at === kt ? void 0 : "hidden"
1917
1917
  },
1918
- children: typeof W == "function" ? W(T.tooltip.target) : /* @__PURE__ */ w(yn, { target: T.tooltip.target })
1918
+ children: typeof z == "function" ? z(T.tooltip.target) : /* @__PURE__ */ k(bn, { target: T.tooltip.target })
1919
1919
  }
1920
1920
  ),
1921
1921
  M !== null && /* @__PURE__ */ Y(
@@ -1934,19 +1934,19 @@ const bn = [], ce = { min: Tt, max: 28 * st }, Mn = [], de = 20, Fn = Xe(functio
1934
1934
  },
1935
1935
  children: [
1936
1936
  K.scheduleGhostTimes(X.time(new Date(M.from), !1), X.time(new Date(M.to), !1)),
1937
- M.refused && /* @__PURE__ */ w("span", { className: v.refusal, children: K.scheduleLaneRefused }),
1938
- M.overlap && /* @__PURE__ */ w("span", { className: v.finding, children: K.scheduleOverlap }),
1939
- M.late && /* @__PURE__ */ w("span", { className: v.finding, children: K.scheduleLateTransport })
1937
+ M.refused && /* @__PURE__ */ k("span", { className: v.refusal, children: K.scheduleLaneRefused }),
1938
+ M.overlap && /* @__PURE__ */ k("span", { className: v.finding, children: K.scheduleOverlap }),
1939
+ M.late && /* @__PURE__ */ k("span", { className: v.finding, children: K.scheduleLateTransport })
1940
1940
  ]
1941
1941
  }
1942
1942
  )
1943
1943
  ]
1944
1944
  }
1945
1945
  ),
1946
- /* @__PURE__ */ w("div", { className: v.corner }),
1946
+ /* @__PURE__ */ k("div", { className: v.corner }),
1947
1947
  /* @__PURE__ */ Y("div", { className: v.tickBand, "aria-hidden": "true", "data-schedule-ticks": "", "data-schedule-clip": "time band", children: [
1948
- T.now !== null && /* @__PURE__ */ w("span", { className: v.now, "data-now": "", "data-schedule-overlay": "now mark", style: { left: `${T.now}px` } }),
1949
- T.ticks.map((h) => /* @__PURE__ */ w("span", { className: v.tick, style: { left: `${h.x}px` }, children: h.x >= de && h.x <= T.width - de && /* @__PURE__ */ w("span", { className: v.tickLabel, "data-schedule-overlay": "time label", children: T.step >= st ? X.dateShort(new Date(h.wallClock)) : X.time(new Date(h.wallClock), !1) }) }, h.wallClock))
1948
+ T.now !== null && /* @__PURE__ */ k("span", { className: v.now, "data-now": "", "data-schedule-overlay": "now mark", style: { left: `${T.now}px` } }),
1949
+ T.ticks.map((h) => /* @__PURE__ */ k("span", { className: v.tick, style: { left: `${h.x}px` }, children: h.x >= de && h.x <= T.width - de && /* @__PURE__ */ k("span", { className: v.tickLabel, "data-schedule-overlay": "time label", children: T.step >= st ? X.dateShort(new Date(h.wallClock)) : X.time(new Date(h.wallClock), !1) }) }, h.wallClock))
1950
1950
  ] })
1951
1951
  ]
1952
1952
  }
@@ -1954,23 +1954,23 @@ const bn = [], ce = { min: Tt, max: 28 * st }, Mn = [], de = 20, Fn = Xe(functio
1954
1954
  De
1955
1955
  ] });
1956
1956
  });
1957
- function En({ id: n, label: t }) {
1958
- const e = ye(), s = z(() => ({ id: n, label: t ?? n, ...e === null ? {} : { parent: e } }), [n, t, e]);
1959
- return ts(s), null;
1957
+ function Dn({ id: n, label: t }) {
1958
+ const e = ye(), s = W(() => ({ id: n, label: t ?? n, ...e === null ? {} : { parent: e } }), [n, t, e]);
1959
+ return es(s), null;
1960
1960
  }
1961
- function Dn({ id: n, label: t, children: e }) {
1962
- const s = ye(), o = z(() => ({ id: n, label: t ?? n, ...s === null ? {} : { parent: s } }), [n, t, s]);
1963
- return es(o), /* @__PURE__ */ w(ve.Provider, { value: n, children: e });
1961
+ function Pn({ id: n, label: t, children: e }) {
1962
+ const s = ye(), o = W(() => ({ id: n, label: t ?? n, ...s === null ? {} : { parent: s } }), [n, t, s]);
1963
+ return ss(o), /* @__PURE__ */ k(ve.Provider, { value: n, children: e });
1964
1964
  }
1965
- function Pn({ data: n, tasks: t }) {
1966
- const e = z(() => ({ kind: "subtasks", data: n, tasks: t }), [n, t]);
1965
+ function Nn({ data: n, tasks: t }) {
1966
+ const e = W(() => ({ kind: "subtasks", data: n, tasks: t }), [n, t]);
1967
1967
  return be("Subtasks", e), null;
1968
1968
  }
1969
- function Nn({ data: n }) {
1970
- const t = z(() => ({ kind: "transports", data: n }), [n]);
1969
+ function Gn({ data: n }) {
1970
+ const t = W(() => ({ kind: "transports", data: n }), [n]);
1971
1971
  return be("Transports", t), null;
1972
1972
  }
1973
- function Gn(n, t, e) {
1973
+ function Rn(n, t, e) {
1974
1974
  if (e.kind === "place") return [];
1975
1975
  const s = new Map(n.map((u) => [u.id, jt(u, e)])), o = /* @__PURE__ */ new Map();
1976
1976
  for (const u of t) {
@@ -1994,25 +1994,25 @@ function Gn(n, t, e) {
1994
1994
  }
1995
1995
  return [...i.values()];
1996
1996
  }
1997
- function Rn(n, t, e) {
1997
+ function $n(n, t, e) {
1998
1998
  return e === 0 || !Number.isFinite(e) ? [] : n.filter((s) => s.task === t).map((s) => ({ kind: "move", subtask: s.id, from: s.from + e, to: s.to + e }));
1999
1999
  }
2000
2000
  export {
2001
- En as Lane,
2002
- Dn as LaneGroup,
2003
- Fn as Schedule,
2004
- Pn as Subtasks,
2005
- Nn as Transports,
2001
+ Dn as Lane,
2002
+ Pn as LaneGroup,
2003
+ En as Schedule,
2004
+ Nn as Subtasks,
2005
+ Gn as Transports,
2006
2006
  jt as applyIntent,
2007
2007
  It as arrival,
2008
2008
  St as departure,
2009
- _n as findings,
2009
+ Fn as findings,
2010
2010
  _t as lateTransports,
2011
2011
  ut as occupied,
2012
2012
  At as overlaps,
2013
2013
  ht as resolveAppearance,
2014
- Gn as ripple,
2015
- Rn as shiftTask,
2016
- Rs as snapTime,
2017
- An as subtaskFromPlace
2014
+ Rn as ripple,
2015
+ $n as shiftTask,
2016
+ $s as snapTime,
2017
+ _n as subtaskFromPlace
2018
2018
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@umriss-ui/schedule",
3
- "version": "0.1.6",
3
+ "version": "0.1.8",
4
4
  "description": "The umriss schedule - subtasks on lanes over time, with transports, findings and controlled editing.",
5
5
  "license": "MIT",
6
6
  "author": "Roman Händler",
@@ -44,8 +44,8 @@
44
44
  "peerDependencies": {
45
45
  "react": ">=18",
46
46
  "react-dom": ">=18",
47
- "@umriss-ui/charts": "^0.4.1",
48
- "@umriss-ui/core": "^0.7.0"
47
+ "@umriss-ui/core": "^0.9.0",
48
+ "@umriss-ui/charts": "^0.5.0"
49
49
  },
50
50
  "devDependencies": {
51
51
  "@fontsource/geist-mono": "^5.3.0",
@@ -59,9 +59,9 @@
59
59
  "typescript": "^5.6.3",
60
60
  "vite": "^6.0.0",
61
61
  "vite-plugin-dts": "^4.3.0",
62
- "@umriss-ui/charts": "0.4.1",
63
- "@umriss-ui/demo": "0.0.0",
64
- "@umriss-ui/core": "0.7.0"
62
+ "@umriss-ui/charts": "0.5.0",
63
+ "@umriss-ui/core": "0.9.0",
64
+ "@umriss-ui/demo": "0.0.0"
65
65
  },
66
66
  "scripts": {
67
67
  "props": "node --disable-warning=ExperimentalWarning --experimental-strip-types demo/props.ts",