@umriss-ui/schedule 0.1.2 → 0.1.4

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,28 @@ moves from here under the rule above.
15
15
 
16
16
  ---
17
17
 
18
+ ## 0.1.4 – Core 0.5.0 (Sep. 2026)
19
+
20
+ ### Changed
21
+
22
+ - **The schedule takes `@umriss-ui/core` 0.5.** Nothing in the schedule
23
+ changed; the peer range moves to `^0.5.0`, so that it installs beside
24
+ `@umriss-ui/calculation`, which needs core's new wording.
25
+ `@umriss-ui/charts` stays at `^0.4.0`.
26
+
27
+ ---
28
+
29
+ ## 0.1.3 – Core 0.4.0 and charts 0.4.0 (Sep. 2026)
30
+
31
+ ### Changed
32
+
33
+ - **The schedule takes `@umriss-ui/core` 0.4 and `@umriss-ui/charts` 0.4.**
34
+ The peer ranges move to `^0.4.0`. The schedule places its day and shift
35
+ boundaries with the local offset that charts now exports (`localOffset`);
36
+ its own copy is gone. What it draws is unchanged.
37
+
38
+ ---
39
+
18
40
  ## 0.1.2 – Phones, touch and a review (Sep. 2026)
19
41
 
20
42
  ### Changed
package/README.md CHANGED
@@ -141,7 +141,7 @@ point into a time and a lane and back.
141
141
  **Miniature**, **Intent**, **Ghost** — stands in the workspace's
142
142
  `CONTEXT.md`, section "The schedule".
143
143
  * [`../../docs/design-language.md`](../../docs/design-language.md) — the design
144
- language all four packages share.
144
+ language all five packages share.
145
145
 
146
146
  ## Licence
147
147
 
package/dist/schedule.css CHANGED
@@ -1 +1 @@
1
- @layer umriss.tokens,umriss.base,umriss.components;@layer umriss.base{._text_18b86_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_18b86_34{caret-color:var(--u-color-accent)}._scroll_18b86_40{scrollbar-width:thin;scrollbar-color:color-mix(in srgb,var(--u-color-text) 25%,transparent) transparent}._scroll_18b86_40::-webkit-scrollbar{width:10px;height:10px}._scroll_18b86_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_18b86_40::-webkit-scrollbar-track{background:transparent}}@layer umriss.components{._ring_18b86_65:focus-visible{outline:none;box-shadow:var(--u-focus-ring)}._field_18b86_34:-webkit-autofill,._field_18b86_34:-webkit-autofill:hover,._field_18b86_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_ekx9o_4,._root_ekx9o_4:before,._root_ekx9o_4:after{box-sizing:border-box}._corner_ekx9o_18,._corner_ekx9o_18:before,._corner_ekx9o_18:after{box-sizing:border-box}._dayBand_ekx9o_22,._dayBand_ekx9o_22:before,._dayBand_ekx9o_22:after{box-sizing:border-box}._tickBand_ekx9o_23,._tickBand_ekx9o_23:before,._tickBand_ekx9o_23:after{box-sizing:border-box}._day_ekx9o_22,._day_ekx9o_22:before,._day_ekx9o_22:after{box-sizing:border-box}._dayLabel_ekx9o_46,._dayLabel_ekx9o_46:before,._dayLabel_ekx9o_46:after{box-sizing:border-box}._tick_ekx9o_23,._tick_ekx9o_23:before,._tick_ekx9o_23:after{box-sizing:border-box}._tickLabel_ekx9o_64,._tickLabel_ekx9o_64:before,._tickLabel_ekx9o_64:after{box-sizing:border-box}._headers_ekx9o_72,._headers_ekx9o_72:before,._headers_ekx9o_72:after{box-sizing:border-box}._header_ekx9o_72,._header_ekx9o_72:before,._header_ekx9o_72:after{box-sizing:border-box}._headerLabel_ekx9o_90,._headerLabel_ekx9o_90:before,._headerLabel_ekx9o_90:after{box-sizing:border-box}._headerCount_ekx9o_103,._headerCount_ekx9o_103:before,._headerCount_ekx9o_103:after{box-sizing:border-box}._chevron_ekx9o_112,._chevron_ekx9o_112:before,._chevron_ekx9o_112:after{box-sizing:border-box}._plot_ekx9o_160,._plot_ekx9o_160:before,._plot_ekx9o_160:after{box-sizing:border-box}._layer_ekx9o_166,._layer_ekx9o_166:before,._layer_ekx9o_166:after{box-sizing:border-box}._grip_ekx9o_175,._grip_ekx9o_175:before,._grip_ekx9o_175:after{box-sizing:border-box}._ghostLabel_ekx9o_185,._ghostLabel_ekx9o_185:before,._ghostLabel_ekx9o_185:after{box-sizing:border-box}._finding_ekx9o_198,._finding_ekx9o_198:before,._finding_ekx9o_198:after{box-sizing:border-box}._refusal_ekx9o_206,._refusal_ekx9o_206:before,._refusal_ekx9o_206:after{box-sizing:border-box}._tooltip_ekx9o_210,._tooltip_ekx9o_210:before,._tooltip_ekx9o_210:after{box-sizing:border-box}._tooltipHead_ekx9o_228,._tooltipHead_ekx9o_228:before,._tooltipHead_ekx9o_228:after{box-sizing:border-box}._tooltipTimes_ekx9o_233,._tooltipTimes_ekx9o_233:before,._tooltipTimes_ekx9o_233:after{box-sizing:border-box}._now_ekx9o_242,._now_ekx9o_242:before,._now_ekx9o_242:after{box-sizing:border-box}._barLabel_ekx9o_256,._barLabel_ekx9o_256:before,._barLabel_ekx9o_256:after{box-sizing:border-box}._barLabelText_ekx9o_269,._barLabelText_ekx9o_269:before,._barLabelText_ekx9o_269:after{box-sizing:border-box}._root_ekx9o_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_ekx9o_18{background:var(--u-color-surface)}._dayBand_ekx9o_22,._tickBand_ekx9o_23{position:relative;overflow:hidden;color:var(--u-color-text-muted);font-size:var(--u-text-xs)}._dayBand_ekx9o_22{border-bottom:1px solid var(--u-hairline-strong)}._tickBand_ekx9o_23{border-top:1px solid var(--u-hairline-strong)}._day_ekx9o_22{position:absolute;top:0;bottom:0;border-left:1px solid var(--u-hairline-strong);overflow:hidden}._dayLabel_ekx9o_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_ekx9o_23{position:absolute;top:0;bottom:0;width:1px;background:var(--u-hairline)}._tickLabel_ekx9o_64{position:absolute;top:50%;left:0;transform:translate(-50%,-50%);white-space:nowrap}._headers_ekx9o_72{position:relative;overflow:hidden;border-right:1px solid var(--u-hairline-strong)}._header_ekx9o_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_ekx9o_90{min-width:0;overflow:hidden;text-overflow:ellipsis}._header_ekx9o_72[data-row=groupHead],._header_ekx9o_72[data-row=miniature]{font-weight:var(--u-weight-medium)}._headerCount_ekx9o_103{flex:none;color:var(--u-color-text-muted);font-size:var(--u-text-xs);font-variant-numeric:tabular-nums}._chevron_ekx9o_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_ekx9o_112:hover{color:var(--u-color-text)}._chevron_ekx9o_112:focus-visible{outline:none;box-shadow:var(--u-focus-ring);color:var(--u-color-text)}._chevron_ekx9o_112 svg{box-sizing:border-box}._chevron_ekx9o_112 svg{transition:transform var(--u-duration-fast) var(--u-ease-standard)}._chevron_ekx9o_112 svg[data-open]{box-sizing:border-box}._chevron_ekx9o_112 svg[data-open]{transform:rotate(90deg)}@media(prefers-reduced-motion:reduce){._chevron_ekx9o_112 svg{transition:none}}._header_ekx9o_72[data-refused]{color:var(--u-color-text-muted)}._plot_ekx9o_160{position:relative;overflow:hidden;touch-action:none}._layer_ekx9o_166{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;display:block;pointer-events:none}._grip_ekx9o_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_ekx9o_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_ekx9o_198{font-weight:var(--u-weight-semibold);color:var(--u-color-danger-subtle)}._refusal_ekx9o_206{font-weight:var(--u-weight-semibold)}._tooltip_ekx9o_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_ekx9o_228{color:var(--u-color-text);font-weight:var(--u-weight-semibold)}._tooltipTimes_ekx9o_233{color:var(--u-color-text)}._tooltip_ekx9o_210 ._finding_ekx9o_198{color:var(--u-color-danger)}._now_ekx9o_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_ekx9o_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_ekx9o_269{min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}._barLabel_ekx9o_256[data-on=dark]{color:var(--u-color-on-accent)}._barLabel_ekx9o_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_ekx9o_4,._root_ekx9o_4:before,._root_ekx9o_4:after{box-sizing:border-box}._corner_ekx9o_18,._corner_ekx9o_18:before,._corner_ekx9o_18:after{box-sizing:border-box}._dayBand_ekx9o_22,._dayBand_ekx9o_22:before,._dayBand_ekx9o_22:after{box-sizing:border-box}._tickBand_ekx9o_23,._tickBand_ekx9o_23:before,._tickBand_ekx9o_23:after{box-sizing:border-box}._day_ekx9o_22,._day_ekx9o_22:before,._day_ekx9o_22:after{box-sizing:border-box}._dayLabel_ekx9o_46,._dayLabel_ekx9o_46:before,._dayLabel_ekx9o_46:after{box-sizing:border-box}._tick_ekx9o_23,._tick_ekx9o_23:before,._tick_ekx9o_23:after{box-sizing:border-box}._tickLabel_ekx9o_64,._tickLabel_ekx9o_64:before,._tickLabel_ekx9o_64:after{box-sizing:border-box}._headers_ekx9o_72,._headers_ekx9o_72:before,._headers_ekx9o_72:after{box-sizing:border-box}._header_ekx9o_72,._header_ekx9o_72:before,._header_ekx9o_72:after{box-sizing:border-box}._headerLabel_ekx9o_90,._headerLabel_ekx9o_90:before,._headerLabel_ekx9o_90:after{box-sizing:border-box}._headerCount_ekx9o_103,._headerCount_ekx9o_103:before,._headerCount_ekx9o_103:after{box-sizing:border-box}._chevron_ekx9o_112,._chevron_ekx9o_112:before,._chevron_ekx9o_112:after{box-sizing:border-box}._plot_ekx9o_160,._plot_ekx9o_160:before,._plot_ekx9o_160:after{box-sizing:border-box}._layer_ekx9o_166,._layer_ekx9o_166:before,._layer_ekx9o_166:after{box-sizing:border-box}._grip_ekx9o_175,._grip_ekx9o_175:before,._grip_ekx9o_175:after{box-sizing:border-box}._ghostLabel_ekx9o_185,._ghostLabel_ekx9o_185:before,._ghostLabel_ekx9o_185:after{box-sizing:border-box}._finding_ekx9o_198,._finding_ekx9o_198:before,._finding_ekx9o_198:after{box-sizing:border-box}._refusal_ekx9o_206,._refusal_ekx9o_206:before,._refusal_ekx9o_206:after{box-sizing:border-box}._tooltip_ekx9o_210,._tooltip_ekx9o_210:before,._tooltip_ekx9o_210:after{box-sizing:border-box}._tooltipHead_ekx9o_228,._tooltipHead_ekx9o_228:before,._tooltipHead_ekx9o_228:after{box-sizing:border-box}._tooltipTimes_ekx9o_233,._tooltipTimes_ekx9o_233:before,._tooltipTimes_ekx9o_233:after{box-sizing:border-box}._now_ekx9o_242,._now_ekx9o_242:before,._now_ekx9o_242:after{box-sizing:border-box}._barLabel_ekx9o_256,._barLabel_ekx9o_256:before,._barLabel_ekx9o_256:after{box-sizing:border-box}._barLabelText_ekx9o_269,._barLabelText_ekx9o_269:before,._barLabelText_ekx9o_269:after{box-sizing:border-box}._root_ekx9o_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_ekx9o_18{background:var(--u-color-surface)}._dayBand_ekx9o_22,._tickBand_ekx9o_23{position:relative;overflow:hidden;color:var(--u-color-text-muted);font-size:var(--u-text-xs)}._dayBand_ekx9o_22{border-bottom:1px solid var(--u-hairline-strong)}._tickBand_ekx9o_23{border-top:1px solid var(--u-hairline-strong)}._day_ekx9o_22{position:absolute;top:0;bottom:0;border-left:1px solid var(--u-hairline-strong);overflow:hidden}._dayLabel_ekx9o_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_ekx9o_23{position:absolute;top:0;bottom:0;width:1px;background:var(--u-hairline)}._tickLabel_ekx9o_64{position:absolute;top:50%;left:0;transform:translate(-50%,-50%);white-space:nowrap}._headers_ekx9o_72{position:relative;overflow:hidden;border-right:1px solid var(--u-hairline-strong)}._header_ekx9o_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_ekx9o_90{min-width:0;overflow:hidden;text-overflow:ellipsis}._header_ekx9o_72[data-row=groupHead],._header_ekx9o_72[data-row=miniature]{font-weight:var(--u-weight-medium)}._headerCount_ekx9o_103{flex:none;color:var(--u-color-text-muted);font-size:var(--u-text-xs);font-variant-numeric:tabular-nums}._chevron_ekx9o_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_ekx9o_112:hover{color:var(--u-color-text)}._chevron_ekx9o_112:focus-visible{outline:none;box-shadow:var(--u-focus-ring);color:var(--u-color-text)}._chevron_ekx9o_112 svg{box-sizing:border-box}._chevron_ekx9o_112 svg{transition:transform var(--u-duration-fast) var(--u-ease-standard)}._chevron_ekx9o_112 svg[data-open]{box-sizing:border-box}._chevron_ekx9o_112 svg[data-open]{transform:rotate(90deg)}@media(prefers-reduced-motion:reduce){._chevron_ekx9o_112 svg{transition:none}}._header_ekx9o_72[data-refused]{color:var(--u-color-text-muted)}._plot_ekx9o_160{position:relative;overflow:hidden;touch-action:none}._layer_ekx9o_166{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;display:block;pointer-events:none}._grip_ekx9o_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_ekx9o_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_ekx9o_198{font-weight:var(--u-weight-semibold);color:var(--u-color-danger-subtle)}._refusal_ekx9o_206{font-weight:var(--u-weight-semibold)}._tooltip_ekx9o_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_ekx9o_228{color:var(--u-color-text);font-weight:var(--u-weight-semibold)}._tooltipTimes_ekx9o_233{color:var(--u-color-text)}._tooltip_ekx9o_210 ._finding_ekx9o_198{color:var(--u-color-danger)}._now_ekx9o_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_ekx9o_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_ekx9o_269{min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}._barLabel_ekx9o_256[data-on=dark]{color:var(--u-color-on-accent)}._barLabel_ekx9o_256[data-on=light]{color:var(--u-color-text)}}
package/dist/schedule.js CHANGED
@@ -3,24 +3,24 @@ 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
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 $, useEffect as O, forwardRef as Xe, useState as it, useId as Ke, useLayoutEffect as vt, useImperativeHandle as Ue, useSyncExternalStore as We, useMemo as q } from "react";
7
- import { toOperatingTimeClamped as B, resolveColours as ze, removedIntervals as qe, MINUTE as U, calendarFrom as j, toWallClock as W, 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 me, useWording as ge } from "@umriss-ui/core";
9
- const ke = pe(null), we = pe(null);
10
- function ve() {
11
- return fe(we);
6
+ import { useContext as fe, createContext as pe, useRef as $, 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);
10
+ function ye() {
11
+ return fe(ve);
12
12
  }
13
13
  function Qe(n) {
14
- const t = fe(ke);
14
+ const t = fe(we);
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
20
  const i = Qe(n), r = $(null);
21
- O(() => (r.current = e(i, t), () => {
21
+ B(() => (r.current = e(i, t), () => {
22
22
  r.current !== null && o(i, r.current), r.current = null;
23
- }), [i]), O(() => {
23
+ }), [i]), B(() => {
24
24
  r.current !== null && s(i, r.current, t);
25
25
  });
26
26
  }
@@ -30,7 +30,7 @@ function ts(n) {
30
30
  function es(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
- function ye(n, t) {
33
+ function be(n, t) {
34
34
  Ct(n, t, (e, s) => e.registerLayer(s), (e, s, o) => e.updateLayer(s, o), (e, s) => e.unregisterLayer(s));
35
35
  }
36
36
  function ht(n) {
@@ -65,12 +65,12 @@ function qt(n) {
65
65
  l[m] = { ...L, height: E }, b += E - L.height;
66
66
  const F = E - 2 * yt, G = Math.max(os, Math.floor(F / C.length));
67
67
  C.forEach((V, ot) => {
68
- const z = c.get(V) ?? [];
68
+ const W = c.get(V) ?? [];
69
69
  d.set(V, {
70
70
  top: L.top + yt + ot * G,
71
71
  height: G,
72
72
  miniature: !0,
73
- group: z[z.length - 1]
73
+ group: W[W.length - 1]
74
74
  });
75
75
  }), g = null;
76
76
  };
@@ -180,9 +180,9 @@ function An(n, t) {
180
180
  ...n.teardown === void 0 ? {} : { teardown: n.teardown }
181
181
  };
182
182
  }
183
- const as = 6, be = 3, et = 2, Vt = 3, Zt = 3;
183
+ const as = 6, Me = 3, et = 2, Vt = 3, Zt = 3;
184
184
  function P(n, t) {
185
- return Math.round(n.scale.toPx(B(t, n.calendar)));
185
+ return Math.round(n.scale.toPx(O(t, n.calendar)));
186
186
  }
187
187
  function ct(n, t) {
188
188
  const e = Lt(n.rows, t);
@@ -191,7 +191,7 @@ function ct(n, t) {
191
191
  function Jt(n, t) {
192
192
  return rs(n.rows, t + n.scrollY);
193
193
  }
194
- function Me(n, t, e, s, o) {
194
+ function Te(n, t, e, s, o) {
195
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);
196
196
  return {
197
197
  subtask: t,
@@ -206,7 +206,7 @@ function Me(n, t, e, s, o) {
206
206
  outerTo: P(n, c.to)
207
207
  };
208
208
  }
209
- function Te(n, t, e) {
209
+ function Ce(n, t, e) {
210
210
  if (e < n.y || e > n.y + n.height) return null;
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";
@@ -216,13 +216,13 @@ function ls(n, t, e, s = 5) {
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";
218
218
  }
219
- function Ce(n, t, e) {
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
222
  const hs = 64;
223
223
  function us(n, t) {
224
224
  if (n.miniature) return null;
225
- const e = ht(n.subtask.appearance).hatched ? et + be + 1 : 0, s = Math.max(n.mainFrom + e, 0), o = Math.min(n.mainTo - e, t) - s;
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
226
  return o < hs ? null : { x: s, width: o, y: n.y, height: n.height };
227
227
  }
228
228
  const cs = 10;
@@ -460,9 +460,9 @@ function ks(n, t) {
460
460
  if (i.kind === "transports")
461
461
  for (const a of s.paths) r.has(a.transport) && Mt(n, t, a, !1);
462
462
  else
463
- for (const a of s.boxes) r.has(a.subtask) && Se(n, t, a, 1);
463
+ for (const a of s.boxes) r.has(a.subtask) && Ie(n, t, a, 1);
464
464
  }
465
- for (const i of e.overlaps) Ie(n, t, o, i);
465
+ for (const i of e.overlaps) Ae(n, t, o, i);
466
466
  Fs(n, t, o), Ds(n, t);
467
467
  }
468
468
  function ws(n, t) {
@@ -479,9 +479,9 @@ function ws(n, t) {
479
479
  }
480
480
  const { ghost: i, overlaps: r, late: a } = t.ghost;
481
481
  vs(n, t, o, t.ghost.refusedLanes);
482
- const u = Le(o, i);
482
+ const u = Se(o, i);
483
483
  if (u === null) return;
484
- for (const l of r) Ie(n, t, o, l);
484
+ for (const l of r) Ae(n, t, o, l);
485
485
  const c = new Set(a.map((l) => l.transport));
486
486
  for (const l of t.data.transports) {
487
487
  if (l.from !== i.id && l.to !== i.id) continue;
@@ -490,7 +490,7 @@ 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
- Se(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 && ys(n, t, u, t.ghost.tether);
494
494
  }
495
495
  function vs(n, t, e, s) {
496
496
  if (s.size === 0) return;
@@ -506,9 +506,9 @@ function ys(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
  }
509
- function Le(n, t) {
509
+ function Se(n, t) {
510
510
  const e = Lt(n.rows, t.lane);
511
- return e === null ? null : Me(n, t, t.lane, e, 0);
511
+ return e === null ? null : Te(n, t, t.lane, e, 0);
512
512
  }
513
513
  function bs(n, t, e) {
514
514
  const { view: s, colours: o, bands: i } = t, { width: r, height: a } = s;
@@ -565,9 +565,9 @@ function Cs(n, t, e) {
565
565
  return `rgb(${i(0)}, ${i(1)}, ${i(2)})`;
566
566
  }
567
567
  const Ls = 2;
568
- function Se(n, t, e, s) {
568
+ function Ie(n, t, e, s) {
569
569
  const { view: o, colours: i } = t;
570
- if (!Ce(e, o.width, o.height)) return;
570
+ if (!Le(e, o.width, o.height)) return;
571
571
  if (e.miniature) {
572
572
  Ts(n, t, e, s);
573
573
  return;
@@ -586,7 +586,7 @@ function Se(n, t, e, s) {
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
- const b = Math.max(1, Math.min(be, Math.floor((d - 2 * et) / 3))), I = d >= 4 * b ? et : 0, _ = l >= 4 * et ? et : 0;
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
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));
@@ -639,7 +639,7 @@ function Fs(n, t, e) {
639
639
  }
640
640
  }
641
641
  }
642
- function Ie(n, t, e, s) {
642
+ function Ae(n, t, e, s) {
643
643
  const o = ct(e, s.lane);
644
644
  if (o === null) return;
645
645
  const i = P(e, s.from), r = Math.max(i + 2, P(e, s.to));
@@ -681,13 +681,10 @@ function Ns(n, t, e, s) {
681
681
  i !== e && (s(t, i) || o.add(i));
682
682
  return o;
683
683
  }
684
- function Ae(n) {
685
- return new Date(n).getTimezoneOffset() * U;
686
- }
687
684
  function Gs(n, t) {
688
685
  const { step: e, offset: s } = typeof t == "number" ? { step: t, offset: 0 } : t;
689
686
  if (!(e > 0) || !Number.isFinite(n)) return n;
690
- const o = Ae(n) + s;
687
+ const o = me(n) + s;
691
688
  return o + Math.round((n - o) / e) * e;
692
689
  }
693
690
  const re = "\0placing", ae = /* @__PURE__ */ new Set();
@@ -704,7 +701,7 @@ function le(n) {
704
701
  }
705
702
  }
706
703
  const he = 3, Rs = 10, $s = 600;
707
- class Os {
704
+ class Bs {
708
705
  constructor(t) {
709
706
  f(this, "gesture", { kind: "none" });
710
707
  f(this, "touches", /* @__PURE__ */ new Map());
@@ -757,7 +754,7 @@ class Os {
757
754
  ghostSummary() {
758
755
  const t = this.gesture;
759
756
  if (t.kind !== "edit" && t.kind !== "place") return null;
760
- const e = Le(this.host.view.viewport(), t.ghost);
757
+ const e = Se(this.host.view.viewport(), t.ghost);
761
758
  if (e === null) return null;
762
759
  const s = this.ghostFindings(t.ghost, this.ghostHome(t)), o = t.kind === "edit" && (t.mode === "setup" || t.mode === "teardown"), i = o ? ut(t.ghost) : t.ghost;
763
760
  return {
@@ -852,7 +849,7 @@ class Os {
852
849
  const a = ls(r, t, e);
853
850
  if (a !== null) return { mode: a === "from" ? "stretch-from" : "stretch-to", subtask: r.subtask };
854
851
  }
855
- if (Te(r, t, e) !== null)
852
+ if (Ce(r, t, e) !== null)
856
853
  return o.includes("move") || o.includes("lane") ? { mode: "move", subtask: r.subtask } : { mode: "pan", subtask: r.subtask };
857
854
  }
858
855
  return { mode: "pan", subtask: null };
@@ -1110,7 +1107,7 @@ class Os {
1110
1107
  let c = i.from;
1111
1108
  const l = o.viewport().scale, d = l.fromPx(e) - t.t0;
1112
1109
  if (a.includes("move") && Math.abs(d * l.m) >= he) {
1113
- const g = j(o.options.calendar), b = B(i.from, g) + d, I = g.intervals.length === 0 ? b : W(Math.max(0, Math.min(g.total, b)), g);
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);
1114
1111
  c = this.snapInside(I, r);
1115
1112
  }
1116
1113
  let p = t.ghost.lane;
@@ -1122,9 +1119,9 @@ class Os {
1122
1119
  return { ...i, from: c, to: c + (i.to - i.from), lane: p };
1123
1120
  }
1124
1121
  case "stretch-from":
1125
- return { ...i, from: Math.min(u, i.to - Math.max(r.step, U)) };
1122
+ return { ...i, from: Math.min(u, i.to - Math.max(r.step, q)) };
1126
1123
  case "stretch-to":
1127
- return { ...i, to: Math.max(u, i.from + Math.max(r.step, U)) };
1124
+ return { ...i, to: Math.max(u, i.from + Math.max(r.step, q)) };
1128
1125
  case "setup":
1129
1126
  return { ...i, setup: Math.max(0, i.from - u) };
1130
1127
  case "teardown":
@@ -1136,7 +1133,7 @@ class Os {
1136
1133
  the plant does not run. */
1137
1134
  snapInside(t, e) {
1138
1135
  const s = Gs(t, e), o = j(this.host.view.options.calendar);
1139
- return o.intervals.length === 0 ? s : W(B(s, o), o);
1136
+ return o.intervals.length === 0 ? s : U(O(s, o), o);
1140
1137
  }
1141
1138
  intentsOf(t, e, s) {
1142
1139
  const o = [], i = this.host.view.options.intents, r = t.id;
@@ -1160,13 +1157,13 @@ class Os {
1160
1157
  return { overlaps: At(r).filter(a), late: _t(c, u) };
1161
1158
  }
1162
1159
  }
1163
- const _e = [], Bs = 56;
1164
- function Hs(n, t = Bs) {
1165
- return n > 0 ? Math.min(st, Math.max(15 * U, je(n * t, 1))) : 15 * U;
1160
+ const _e = [], Os = 56;
1161
+ function Hs(n, t = Os) {
1162
+ return n > 0 ? Math.min(st, Math.max(15 * q, je(n * t, 1))) : 15 * q;
1166
1163
  }
1167
1164
  function Ys(n, t, e = _e) {
1168
1165
  const [s, o] = Fe(n, e);
1169
- return Ve(e, s, o, t, Ae(s)).filter(
1166
+ return Ve(e, s, o, t, me(s)).filter(
1170
1167
  (i) => i.operatingTime >= n[0] && i.operatingTime <= n[1]
1171
1168
  );
1172
1169
  }
@@ -1179,8 +1176,8 @@ function Xs(n, t = _e) {
1179
1176
  o.push({
1180
1177
  start: r,
1181
1178
  end: a,
1182
- from: B(r, t),
1183
- to: B(a, t)
1179
+ from: O(r, t),
1180
+ to: O(a, t)
1184
1181
  });
1185
1182
  }
1186
1183
  return o;
@@ -1198,7 +1195,7 @@ function Fe(n, t) {
1198
1195
  const e = j(t);
1199
1196
  if (e.intervals.length === 0) return [n[0], n[1]];
1200
1197
  const s = (o) => Math.max(0, Math.min(e.total, o));
1201
- return [W(s(n[0]), e), W(s(n[1]), e)];
1198
+ return [U(s(n[0]), e), U(s(n[1]), e)];
1202
1199
  }
1203
1200
  const lt = 44;
1204
1201
  class Ws {
@@ -1237,11 +1234,11 @@ class Ws {
1237
1234
  setOptions(t, e) {
1238
1235
  const s = t.calendar !== this.options.calendar, o = this.options.calendar;
1239
1236
  if (this.options = t, e !== null)
1240
- this.domain = [B(e[0], t.calendar), B(e[1], t.calendar)];
1237
+ this.domain = [O(e[0], t.calendar), O(e[1], t.calendar)];
1241
1238
  else if (s) {
1242
1239
  const i = j(o), r = (a) => {
1243
1240
  const u = i.intervals.length === 0 ? a : Math.max(0, Math.min(i.total, a));
1244
- return B(W(u, i), t.calendar) + (a - u);
1241
+ return O(U(u, i), t.calendar) + (a - u);
1245
1242
  };
1246
1243
  this.domain = [r(this.domain[0]), r(this.domain[1])];
1247
1244
  }
@@ -1280,7 +1277,7 @@ class Ws {
1280
1277
  for (const e of this.data.subtasks) {
1281
1278
  const s = Lt(this.rows, e.lane);
1282
1279
  if (s === null) continue;
1283
- const o = Me(t, e, e.lane, s, this.data.depth.get(e.id) ?? 0);
1280
+ const o = Te(t, e, e.lane, s, this.data.depth.get(e.id) ?? 0);
1284
1281
  this.boxes.push(o), this.boxById.set(e.id, o);
1285
1282
  }
1286
1283
  this.paths = [];
@@ -1307,12 +1304,12 @@ class Ws {
1307
1304
  nowX() {
1308
1305
  const t = this.options.now;
1309
1306
  if (t === null || this.width <= 0) return null;
1310
- const e = Math.round(this.viewport().scale.toPx(B(t, this.options.calendar)));
1307
+ const e = Math.round(this.viewport().scale.toPx(O(t, this.options.calendar)));
1311
1308
  return e >= 0 && e <= this.width ? e : null;
1312
1309
  }
1313
1310
  hitAt(t, e) {
1314
1311
  for (let r = this.boxes.length - 1; r >= 0; r--) {
1315
- const a = this.boxes[r], u = Te(a, t, e);
1312
+ const a = this.boxes[r], u = Ce(a, t, e);
1316
1313
  if (u !== null) return { kind: "subtask", subtask: a.subtask, part: u };
1317
1314
  }
1318
1315
  let s = null, o = 4;
@@ -1327,7 +1324,7 @@ class Ws {
1327
1324
  /** The wall-clock time at a plot x; within the calendar's extent. */
1328
1325
  timeAt(t) {
1329
1326
  const e = this.viewport().scale.fromPx(t), s = j(this.options.calendar);
1330
- return s.intervals.length === 0 ? e : W(Math.max(0, Math.min(s.total, e)), s);
1327
+ return s.intervals.length === 0 ? e : U(Math.max(0, Math.min(s.total, e)), s);
1331
1328
  }
1332
1329
  /** The lane at a y, strips included: what the pointer is ON.
1333
1330
 
@@ -1441,7 +1438,7 @@ class zs {
1441
1438
  f(this, "drop", (t) => this.gestures.drop(t));
1442
1439
  f(this, "dragLeave", () => this.gestures.clearPlacing());
1443
1440
  f(this, "cancelEdit", () => this.gestures.cancelEdit());
1444
- this.gestures = new Os({
1441
+ this.gestures = new Bs({
1445
1442
  data: this.data,
1446
1443
  view: this.view,
1447
1444
  plotElement: () => this.plot,
@@ -1565,7 +1562,7 @@ class zs {
1565
1562
  if (t.width <= 0) return [];
1566
1563
  const e = this.colours;
1567
1564
  return t.boxes.flatMap((s) => {
1568
- if (!Ce(s, t.width, t.height)) return [];
1565
+ if (!Le(s, t.width, t.height)) return [];
1569
1566
  const o = us(s, t.width);
1570
1567
  if (o === null) return [];
1571
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;
@@ -1582,7 +1579,7 @@ class zs {
1582
1579
  }
1583
1580
  /** The visible span, as two wall-clock instants. */
1584
1581
  visibleDomain() {
1585
- const t = j(this.view.options.calendar), e = (s) => t.intervals.length === 0 ? s : W(Math.max(0, Math.min(t.total, s)), t);
1582
+ const t = j(this.view.options.calendar), e = (s) => t.intervals.length === 0 ? s : U(Math.max(0, Math.min(t.total, s)), t);
1586
1583
  return [e(this.view.domain[0]), e(this.view.domain[1])];
1587
1584
  }
1588
1585
  /** Reported once per frame, however many wheel steps a planner turns - and
@@ -1640,7 +1637,7 @@ class zs {
1640
1637
  ks(s, i), ws(o, i);
1641
1638
  }
1642
1639
  }
1643
- const qs = "_root_ekx9o_4 _text_18b86_23", js = "_corner_ekx9o_18", Vs = "_dayBand_ekx9o_22", Zs = "_tickBand_ekx9o_23", Js = "_day_ekx9o_22", Qs = "_dayLabel_ekx9o_46", tn = "_tick_ekx9o_23", en = "_tickLabel_ekx9o_64", sn = "_headers_ekx9o_72", nn = "_header_ekx9o_72", on = "_headerLabel_ekx9o_90", rn = "_headerCount_ekx9o_103", an = "_chevron_ekx9o_112", ln = "_plot_ekx9o_160", hn = "_layer_ekx9o_166", un = "_grip_ekx9o_175", cn = "_ghostLabel_ekx9o_185", dn = "_finding_ekx9o_198", fn = "_refusal_ekx9o_206", pn = "_tooltip_ekx9o_210", mn = "_tooltipHead_ekx9o_228", gn = "_tooltipTimes_ekx9o_233", kn = "_now_ekx9o_242", wn = "_barLabel_ekx9o_256", vn = "_barLabelText_ekx9o_269", v = {
1640
+ const qs = "_root_ekx9o_4 _text_1hv7a_23", js = "_corner_ekx9o_18", Vs = "_dayBand_ekx9o_22", Zs = "_tickBand_ekx9o_23", Js = "_day_ekx9o_22", Qs = "_dayLabel_ekx9o_46", tn = "_tick_ekx9o_23", en = "_tickLabel_ekx9o_64", sn = "_headers_ekx9o_72", nn = "_header_ekx9o_72", on = "_headerLabel_ekx9o_90", rn = "_headerCount_ekx9o_103", an = "_chevron_ekx9o_112", ln = "_plot_ekx9o_160", hn = "_layer_ekx9o_166", un = "_grip_ekx9o_175", cn = "_ghostLabel_ekx9o_185", dn = "_finding_ekx9o_198", fn = "_refusal_ekx9o_206", pn = "_tooltip_ekx9o_210", mn = "_tooltipHead_ekx9o_228", gn = "_tooltipTimes_ekx9o_233", kn = "_now_ekx9o_242", wn = "_barLabel_ekx9o_256", vn = "_barLabelText_ekx9o_269", v = {
1644
1641
  root: qs,
1645
1642
  corner: js,
1646
1643
  dayBand: Vs,
@@ -1668,8 +1665,8 @@ const qs = "_root_ekx9o_4 _text_18b86_23", js = "_corner_ekx9o_18", Vs = "_dayBa
1668
1665
  barLabelText: vn
1669
1666
  };
1670
1667
  function yn({ target: n }) {
1671
- const t = me(), e = ge(), s = (l) => t.time(new Date(l), !1), o = (l) => {
1672
- const d = Math.round(l / U), p = Math.floor(d / 60), g = d % 60;
1668
+ const t = ge(), e = ke(), s = (l) => t.time(new Date(l), !1), o = (l) => {
1669
+ const d = Math.round(l / q), p = Math.floor(d / 60), g = d % 60;
1673
1670
  return [p > 0 ? e.hoursShort(p) : "", g > 0 || p === 0 ? e.minutesShort(g) : ""].filter(Boolean).join(" ");
1674
1671
  };
1675
1672
  if (n.kind === "subtask") {
@@ -1717,34 +1714,34 @@ const bn = [], ce = { min: Tt, max: 28 * st }, Mn = [], de = 20, Fn = Xe(functio
1717
1714
  attach: G = "centre",
1718
1715
  ends: V = "dot",
1719
1716
  label: ot,
1720
- tooltip: z,
1717
+ tooltip: W,
1721
1718
  now: Z,
1722
1719
  className: Et,
1723
1720
  style: Ee,
1724
1721
  children: xe
1725
- } = t, [k] = it(() => new zs()), xt = Ke(), Dt = $(null), Pt = $(null), Nt = $(null), Gt = $(null), X = me(), K = ge(), [dt, ft] = o, Rt = (c == null ? void 0 : c.min) ?? ce.min, $t = (c == null ? void 0 : c.max) ?? ce.max, Ot = $(null), Bt = typeof l == "object" ? l.step : null, Ht = typeof l == "object" ? l.offset : null, Yt = typeof l == "object" ? null : l, [De, Pe] = it(() => Date.now());
1726
- O(() => {
1722
+ } = t, [k] = it(() => new zs()), xt = Ke(), Dt = $(null), Pt = $(null), Nt = $(null), Gt = $(null), X = ge(), K = ke(), [dt, ft] = o, Rt = (c == null ? void 0 : c.min) ?? ce.min, $t = (c == null ? void 0 : c.max) ?? ce.max, Bt = $(null), Ot = typeof l == "object" ? l.step : null, Ht = typeof l == "object" ? l.offset : null, Yt = typeof l == "object" ? null : l, [De, Pe] = it(() => Date.now());
1723
+ B(() => {
1727
1724
  if (Z !== !0) return;
1728
- const h = setInterval(() => Pe(Date.now()), U);
1725
+ const h = setInterval(() => Pe(Date.now()), q);
1729
1726
  return () => clearInterval(h);
1730
1727
  }, [Z]);
1731
1728
  const Xt = Z === !0 ? De : typeof Z == "number" ? Z : null;
1732
1729
  vt(() => {
1733
- const h = `${dt}|${ft}`, y = Ot.current !== h;
1734
- Ot.current = h;
1735
- const A = Yt ?? { step: Bt ?? 0, offset: Ht ?? 0 };
1730
+ const h = `${dt}|${ft}`, y = Bt.current !== h;
1731
+ Bt.current = h;
1732
+ const A = Yt ?? { step: Ot ?? 0, offset: Ht ?? 0 };
1736
1733
  k.setOptions(
1737
1734
  { laneHeight: r, calendar: u, zoomLimits: { min: Rt, max: $t }, snap: A, intents: d, now: Xt, route: F, attach: G, ends: V },
1738
1735
  y ? [dt, ft] : null
1739
1736
  );
1740
- }, [k, dt, ft, r, u, Rt, $t, Yt, Bt, Ht, d, Xt, F, G, V]), O(() => {
1737
+ }, [k, dt, ft, r, u, Rt, $t, Yt, Ot, Ht, d, Xt, F, G, V]), B(() => {
1741
1738
  k.setHandlers({ onIntent: p, canMoveTo: g, onInteraction: b, onSelectedTaskChange: _, onCollapsedGroupsChange: C, onDomainChange: L });
1742
1739
  }, [k, p, g, b, _, C, L]);
1743
1740
  const Ne = $(m);
1744
- O(() => {
1741
+ B(() => {
1745
1742
  const h = Ne.current;
1746
1743
  h !== void 0 && k.setDefaultCollapsedGroups(h);
1747
- }, [k]), O(() => {
1744
+ }, [k]), B(() => {
1748
1745
  k.setCollapsedGroups(S);
1749
1746
  }, [k, S]), Ue(
1750
1747
  e,
@@ -1754,11 +1751,11 @@ const bn = [], ce = { min: Tt, max: 28 * st }, Mn = [], de = 20, Fn = Xe(functio
1754
1751
  visibleDomain: () => k.visibleDomain()
1755
1752
  }),
1756
1753
  [k]
1757
- ), O(() => {
1754
+ ), B(() => {
1758
1755
  k.setControlledTask(I);
1759
- }, [k, I]), O(() => {
1756
+ }, [k, I]), B(() => {
1760
1757
  k.setPlacing(E ?? null);
1761
- }, [k, E]), O(() => {
1758
+ }, [k, E]), B(() => {
1762
1759
  const h = Dt.current, y = Pt.current, A = Nt.current, R = Gt.current;
1763
1760
  if (!h || !y || !A || !R) return;
1764
1761
  k.bind(h, y, A, R);
@@ -1782,13 +1779,13 @@ const bn = [], ce = { min: Tt, max: 28 * st }, Mn = [], de = 20, Fn = Xe(functio
1782
1779
  const T = We(k.subscribe, k.getSnapshot, k.getServerSnapshot), Ge = (h, y) => {
1783
1780
  const A = new Date(h);
1784
1781
  return y >= 200 ? X.dateLong(A) : y >= 84 ? X.date(A) : y >= 44 ? X.dateShort(A) : "";
1785
- }, M = T.ghost, pt = (h) => `${xt}-row-${encodeURIComponent(h.key)}`, Re = q(() => {
1782
+ }, M = T.ghost, pt = (h) => `${xt}-row-${encodeURIComponent(h.key)}`, Re = z(() => {
1786
1783
  const h = /* @__PURE__ */ new Map();
1787
1784
  for (const y of T.headers)
1788
1785
  for (const A of y.within)
1789
1786
  y.kind === "groupHead" && A === y.group || h.set(A, [...h.get(A) ?? [], pt(y)]);
1790
1787
  return h;
1791
- }, [T.headers, xt]), $e = q(() => new Set((M == null ? void 0 : M.refusedLanes) ?? []), [M == null ? void 0 : M.refusedLanes]), Kt = $(null), [mt, Oe] = it({ x: 0, y: 0, at: "" }), gt = M === null ? "" : `${M.x}:${M.y}:${M.from}:${M.to}:${M.overlap}:${M.late}`;
1788
+ }, [T.headers, xt]), $e = z(() => new Set((M == null ? void 0 : M.refusedLanes) ?? []), [M == null ? void 0 : M.refusedLanes]), Kt = $(null), [mt, Be] = it({ x: 0, y: 0, at: "" }), gt = M === null ? "" : `${M.x}:${M.y}:${M.from}:${M.to}:${M.overlap}:${M.late}`;
1792
1789
  vt(() => {
1793
1790
  const h = Kt.current;
1794
1791
  if (M === null || h === null) return;
@@ -1797,9 +1794,9 @@ const bn = [], ce = { min: Tt, max: 28 * st }, Mn = [], de = 20, Fn = Xe(functio
1797
1794
  y: A >= 2 ? A : Math.min(R, T.height - h.offsetHeight - 2),
1798
1795
  at: gt
1799
1796
  };
1800
- Oe((D) => D.x === x.x && D.y === x.y && D.at === x.at ? D : x);
1797
+ Be((D) => D.x === x.x && D.y === x.y && D.at === x.at ? D : x);
1801
1798
  }, [M, gt, T.width, T.height]);
1802
- const Ut = $(null), [kt, Be] = it({ x: 0, y: 0, at: "" }), H = T.tooltip, wt = H === null ? "" : `${H.x}:${H.y}:${H.target.kind}`;
1799
+ const Ut = $(null), [kt, Oe] = it({ x: 0, y: 0, at: "" }), H = T.tooltip, wt = H === null ? "" : `${H.x}:${H.y}:${H.target.kind}`;
1803
1800
  return vt(() => {
1804
1801
  const h = Ut.current;
1805
1802
  if (H === null || h === null) return;
@@ -1811,8 +1808,8 @@ const bn = [], ce = { min: Tt, max: 28 * st }, Mn = [], de = 20, Fn = Xe(functio
1811
1808
  y: A(H.y, h.offsetHeight, T.height),
1812
1809
  at: wt
1813
1810
  };
1814
- Be((x) => x.x === R.x && x.y === R.y && x.at === R.at ? x : R);
1815
- }, [H, wt, T.width, T.height]), /* @__PURE__ */ Y(ke.Provider, { value: k, children: [
1811
+ Oe((x) => x.x === R.x && x.y === R.y && x.at === R.at ? x : R);
1812
+ }, [H, wt, T.width, T.height]), /* @__PURE__ */ Y(we.Provider, { value: k, children: [
1816
1813
  /* @__PURE__ */ Y(
1817
1814
  "div",
1818
1815
  {
@@ -1905,7 +1902,7 @@ const bn = [], ce = { min: Tt, max: 28 * st }, Mn = [], de = 20, Fn = Xe(functio
1905
1902
  },
1906
1903
  h.subtask.id
1907
1904
  )),
1908
- z !== !1 && T.tooltip !== null && /* @__PURE__ */ w(
1905
+ W !== !1 && T.tooltip !== null && /* @__PURE__ */ w(
1909
1906
  "span",
1910
1907
  {
1911
1908
  ref: Ut,
@@ -1918,7 +1915,7 @@ const bn = [], ce = { min: Tt, max: 28 * st }, Mn = [], de = 20, Fn = Xe(functio
1918
1915
  top: `${kt.y}px`,
1919
1916
  visibility: kt.at === wt ? void 0 : "hidden"
1920
1917
  },
1921
- children: typeof z == "function" ? z(T.tooltip.target) : /* @__PURE__ */ w(yn, { target: T.tooltip.target })
1918
+ children: typeof W == "function" ? W(T.tooltip.target) : /* @__PURE__ */ w(yn, { target: T.tooltip.target })
1922
1919
  }
1923
1920
  ),
1924
1921
  M !== null && /* @__PURE__ */ Y(
@@ -1958,20 +1955,20 @@ const bn = [], ce = { min: Tt, max: 28 * st }, Mn = [], de = 20, Fn = Xe(functio
1958
1955
  ] });
1959
1956
  });
1960
1957
  function En({ id: n, label: t }) {
1961
- const e = ve(), s = q(() => ({ id: n, label: t ?? n, ...e === null ? {} : { parent: e } }), [n, t, e]);
1958
+ const e = ye(), s = z(() => ({ id: n, label: t ?? n, ...e === null ? {} : { parent: e } }), [n, t, e]);
1962
1959
  return ts(s), null;
1963
1960
  }
1964
1961
  function xn({ id: n, label: t, children: e }) {
1965
- const s = ve(), o = q(() => ({ id: n, label: t ?? n, ...s === null ? {} : { parent: s } }), [n, t, s]);
1966
- return es(o), /* @__PURE__ */ w(we.Provider, { value: n, 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 });
1967
1964
  }
1968
1965
  function Dn({ data: n, tasks: t }) {
1969
- const e = q(() => ({ kind: "subtasks", data: n, tasks: t }), [n, t]);
1970
- return ye("Subtasks", e), null;
1966
+ const e = z(() => ({ kind: "subtasks", data: n, tasks: t }), [n, t]);
1967
+ return be("Subtasks", e), null;
1971
1968
  }
1972
1969
  function Pn({ data: n }) {
1973
- const t = q(() => ({ kind: "transports", data: n }), [n]);
1974
- return ye("Transports", t), null;
1970
+ const t = z(() => ({ kind: "transports", data: n }), [n]);
1971
+ return be("Transports", t), null;
1975
1972
  }
1976
1973
  function Nn(n, t, e) {
1977
1974
  if (e.kind === "place") return [];
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@umriss-ui/schedule",
3
- "version": "0.1.2",
3
+ "version": "0.1.4",
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.3.2",
48
- "@umriss-ui/core": "^0.3.2"
47
+ "@umriss-ui/charts": "^0.4.0",
48
+ "@umriss-ui/core": "^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.3.2",
63
- "@umriss-ui/demo": "0.0.0",
64
- "@umriss-ui/core": "0.3.2"
62
+ "@umriss-ui/charts": "0.4.0",
63
+ "@umriss-ui/core": "0.5.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",