@umriss-ui/schedule 0.3.5 → 0.3.6

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,12 @@ moves from here under the rule above.
15
15
 
16
16
  ---
17
17
 
18
+ ## 0.3.6 – Core 0.15.0 (Sep. 2026)
19
+
20
+ Needs `@umriss-ui/core` 0.15; the peer range moves to `^0.15.0`. Nothing else changes for a caller.
21
+
22
+ ---
23
+
18
24
  ## 0.3.5 – Found by search (Sep. 2026)
19
25
 
20
26
  ### Fixed
package/dist/schedule.css CHANGED
@@ -1 +1 @@
1
- @layer umriss.tokens,umriss.base,umriss.components;@layer umriss.base{._text_k1tvc_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_k1tvc_34{caret-color:var(--u-color-accent)}._scroll_k1tvc_40{scrollbar-width:thin;scrollbar-color:color-mix(in srgb,var(--u-color-text) 25%,transparent) transparent}._scroll_k1tvc_40::-webkit-scrollbar{width:10px;height:10px}._scroll_k1tvc_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_k1tvc_40::-webkit-scrollbar-track{background:transparent}}@layer umriss.components{._ring_k1tvc_69:focus-visible{outline:2px solid transparent;box-shadow:var(--u-focus-ring)}@media(pointer:coarse){._field_k1tvc_34._field_k1tvc_34{font-size:16px}}._field_k1tvc_34:-webkit-autofill,._field_k1tvc_34:-webkit-autofill:hover,._field_k1tvc_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_19uyg_4,._root_19uyg_4:before,._root_19uyg_4:after{box-sizing:border-box}._corner_19uyg_19,._corner_19uyg_19:before,._corner_19uyg_19:after{box-sizing:border-box}._dayBand_19uyg_23,._dayBand_19uyg_23:before,._dayBand_19uyg_23:after{box-sizing:border-box}._tickBand_19uyg_24,._tickBand_19uyg_24:before,._tickBand_19uyg_24:after{box-sizing:border-box}._day_19uyg_23,._day_19uyg_23:before,._day_19uyg_23:after{box-sizing:border-box}._dayLabel_19uyg_47,._dayLabel_19uyg_47:before,._dayLabel_19uyg_47:after{box-sizing:border-box}._tick_19uyg_24,._tick_19uyg_24:before,._tick_19uyg_24:after{box-sizing:border-box}._tickLabel_19uyg_65,._tickLabel_19uyg_65:before,._tickLabel_19uyg_65:after{box-sizing:border-box}._headers_19uyg_73,._headers_19uyg_73:before,._headers_19uyg_73:after{box-sizing:border-box}._header_19uyg_73,._header_19uyg_73:before,._header_19uyg_73:after{box-sizing:border-box}._headerLabel_19uyg_91,._headerLabel_19uyg_91:before,._headerLabel_19uyg_91:after{box-sizing:border-box}._headerCount_19uyg_104,._headerCount_19uyg_104:before,._headerCount_19uyg_104:after{box-sizing:border-box}._chevron_19uyg_113,._chevron_19uyg_113:before,._chevron_19uyg_113:after{box-sizing:border-box}._plot_19uyg_171,._plot_19uyg_171:before,._plot_19uyg_171:after{box-sizing:border-box}._focusRing_19uyg_178,._focusRing_19uyg_178:before,._focusRing_19uyg_178:after{box-sizing:border-box}._layer_19uyg_196,._layer_19uyg_196:before,._layer_19uyg_196:after{box-sizing:border-box}._grip_19uyg_205,._grip_19uyg_205:before,._grip_19uyg_205:after{box-sizing:border-box}._ghostLabel_19uyg_215,._ghostLabel_19uyg_215:before,._ghostLabel_19uyg_215:after{box-sizing:border-box}._finding_19uyg_228,._finding_19uyg_228:before,._finding_19uyg_228:after{box-sizing:border-box}._refusal_19uyg_236,._refusal_19uyg_236:before,._refusal_19uyg_236:after{box-sizing:border-box}._tooltip_19uyg_240,._tooltip_19uyg_240:before,._tooltip_19uyg_240:after{box-sizing:border-box}._tooltipHead_19uyg_259,._tooltipHead_19uyg_259:before,._tooltipHead_19uyg_259:after{box-sizing:border-box}._tooltipTimes_19uyg_264,._tooltipTimes_19uyg_264:before,._tooltipTimes_19uyg_264:after{box-sizing:border-box}._now_19uyg_273,._now_19uyg_273:before,._now_19uyg_273:after{box-sizing:border-box}._barLabel_19uyg_287,._barLabel_19uyg_287:before,._barLabel_19uyg_287:after{box-sizing:border-box}._barLabelText_19uyg_300,._barLabelText_19uyg_300:before,._barLabelText_19uyg_300:after{box-sizing:border-box}._root_19uyg_4{display:grid;grid-template-rows:28px minmax(0,1fr) 28px;width:100%;font-size:var(--u-text-sm);background:var(--u-color-surface);outline:1px solid transparent;box-shadow:var(--u-edge);border-radius:var(--u-radius-md);corner-shape:squircle;overflow:hidden;font-variant-numeric:tabular-nums;-webkit-user-select:none;user-select:none}._corner_19uyg_19{background:var(--u-color-surface)}._dayBand_19uyg_23,._tickBand_19uyg_24{position:relative;overflow:hidden;color:var(--u-color-text-muted);font-size:var(--u-text-xs)}._dayBand_19uyg_23{border-bottom:1px solid var(--u-hairline-strong)}._tickBand_19uyg_24{border-top:1px solid var(--u-hairline-strong)}._day_19uyg_23{position:absolute;top:0;bottom:0;border-left:1px solid var(--u-hairline-strong);overflow:hidden}._dayLabel_19uyg_47{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_19uyg_24{position:absolute;top:0;bottom:0;width:1px;background:var(--u-hairline)}._tickLabel_19uyg_65{position:absolute;top:50%;left:0;transform:translate(-50%,-50%);white-space:nowrap}._headers_19uyg_73{position:relative;overflow:hidden;border-right:1px solid var(--u-hairline-strong)}._header_19uyg_73{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_19uyg_91{min-width:0;overflow:hidden;text-overflow:ellipsis}._header_19uyg_73[data-row=groupHead],._header_19uyg_73[data-row=miniature]{font-weight:var(--u-weight-medium)}._headerCount_19uyg_104{flex:none;color:var(--u-color-text-muted);font-size:var(--u-text-xs);font-variant-numeric:tabular-nums}._chevron_19uyg_113{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_19uyg_113:hover{background:var(--u-color-surface-sunken);color:var(--u-color-text)}._chevron_19uyg_113:active{background:var(--u-color-surface-pressed)}._chevron_19uyg_113:focus-visible{outline:2px solid transparent;box-shadow:var(--u-focus-ring)}._chevron_19uyg_113 svg{box-sizing:border-box}._chevron_19uyg_113 svg{transition:transform var(--u-transition-path)}._chevron_19uyg_113 svg[data-open]{box-sizing:border-box}._chevron_19uyg_113 svg[data-open]{transform:rotate(90deg)}@media(prefers-reduced-motion:reduce){._chevron_19uyg_113 svg{transition:none}}._header_19uyg_73[data-refused]{color:var(--u-color-text-muted)}._plot_19uyg_171{position:relative;overflow:hidden;touch-action:none}._plot_19uyg_171:focus{outline:none}._focusRing_19uyg_178{position:absolute;top:2px;right:2px;bottom:2px;left:2px;border-radius:var(--u-radius-md);corner-shape:squircle;pointer-events:none}._plot_19uyg_171:focus-visible>._focusRing_19uyg_178{outline:2px solid transparent;box-shadow:var(--u-focus-ring)}._layer_19uyg_196{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;display:block;pointer-events:none}._grip_19uyg_205{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_19uyg_215{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_19uyg_228{font-weight:var(--u-weight-semibold);color:var(--u-color-danger-subtle)}._refusal_19uyg_236{font-weight:var(--u-weight-semibold)}._tooltip_19uyg_240{position:absolute;z-index:1;display:flex;flex-direction:column;gap:1px;max-width:260px;padding:var(--u-space-2) var(--u-space-3);border-radius:var(--u-radius-sm);corner-shape:squircle;background:var(--u-color-surface);outline:1px solid transparent;box-shadow:var(--u-shadow-overlay);color:var(--u-color-text-secondary);font-size:var(--u-text-xs);line-height:var(--u-leading-tight);pointer-events:none;white-space:nowrap}._tooltipHead_19uyg_259{color:var(--u-color-text);font-weight:var(--u-weight-semibold)}._tooltipTimes_19uyg_264{color:var(--u-color-text)}._tooltip_19uyg_240 ._finding_19uyg_228{color:var(--u-color-danger-text)}._now_19uyg_273{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_19uyg_287{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_19uyg_300{min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}._barLabel_19uyg_287[data-on=dark]{color:var(--u-color-on-accent)}._barLabel_19uyg_287[data-on=light]{color:var(--u-color-text)}@media(forced-colors:active){._grip_19uyg_205{outline:2px solid CanvasText;outline-offset:-2px}._ghostLabel_19uyg_215{outline:1px solid CanvasText}}}
1
+ @layer umriss.tokens,umriss.base,umriss.components;@layer umriss.base{._text_ocaqi_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}@media(pointer:fine){._dense_ocaqi_39{--u-control-height-sm: var(--u-control-height-xs)}}._field_ocaqi_46{caret-color:var(--u-color-accent)}._scroll_ocaqi_52{scrollbar-width:thin;scrollbar-color:color-mix(in srgb,var(--u-color-text) 25%,transparent) transparent}._scroll_ocaqi_52::-webkit-scrollbar{width:10px;height:10px}._scroll_ocaqi_52::-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_ocaqi_52::-webkit-scrollbar-track{background:transparent}}@layer umriss.components{._ring_ocaqi_81:focus-visible{outline:2px solid transparent;box-shadow:var(--u-focus-ring)}@media(pointer:coarse){._field_ocaqi_46._field_ocaqi_46{font-size:16px}}._field_ocaqi_46:-webkit-autofill,._field_ocaqi_46:-webkit-autofill:hover,._field_ocaqi_46:-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_19uyg_4,._root_19uyg_4:before,._root_19uyg_4:after{box-sizing:border-box}._corner_19uyg_19,._corner_19uyg_19:before,._corner_19uyg_19:after{box-sizing:border-box}._dayBand_19uyg_23,._dayBand_19uyg_23:before,._dayBand_19uyg_23:after{box-sizing:border-box}._tickBand_19uyg_24,._tickBand_19uyg_24:before,._tickBand_19uyg_24:after{box-sizing:border-box}._day_19uyg_23,._day_19uyg_23:before,._day_19uyg_23:after{box-sizing:border-box}._dayLabel_19uyg_47,._dayLabel_19uyg_47:before,._dayLabel_19uyg_47:after{box-sizing:border-box}._tick_19uyg_24,._tick_19uyg_24:before,._tick_19uyg_24:after{box-sizing:border-box}._tickLabel_19uyg_65,._tickLabel_19uyg_65:before,._tickLabel_19uyg_65:after{box-sizing:border-box}._headers_19uyg_73,._headers_19uyg_73:before,._headers_19uyg_73:after{box-sizing:border-box}._header_19uyg_73,._header_19uyg_73:before,._header_19uyg_73:after{box-sizing:border-box}._headerLabel_19uyg_91,._headerLabel_19uyg_91:before,._headerLabel_19uyg_91:after{box-sizing:border-box}._headerCount_19uyg_104,._headerCount_19uyg_104:before,._headerCount_19uyg_104:after{box-sizing:border-box}._chevron_19uyg_113,._chevron_19uyg_113:before,._chevron_19uyg_113:after{box-sizing:border-box}._plot_19uyg_171,._plot_19uyg_171:before,._plot_19uyg_171:after{box-sizing:border-box}._focusRing_19uyg_178,._focusRing_19uyg_178:before,._focusRing_19uyg_178:after{box-sizing:border-box}._layer_19uyg_196,._layer_19uyg_196:before,._layer_19uyg_196:after{box-sizing:border-box}._grip_19uyg_205,._grip_19uyg_205:before,._grip_19uyg_205:after{box-sizing:border-box}._ghostLabel_19uyg_215,._ghostLabel_19uyg_215:before,._ghostLabel_19uyg_215:after{box-sizing:border-box}._finding_19uyg_228,._finding_19uyg_228:before,._finding_19uyg_228:after{box-sizing:border-box}._refusal_19uyg_236,._refusal_19uyg_236:before,._refusal_19uyg_236:after{box-sizing:border-box}._tooltip_19uyg_240,._tooltip_19uyg_240:before,._tooltip_19uyg_240:after{box-sizing:border-box}._tooltipHead_19uyg_259,._tooltipHead_19uyg_259:before,._tooltipHead_19uyg_259:after{box-sizing:border-box}._tooltipTimes_19uyg_264,._tooltipTimes_19uyg_264:before,._tooltipTimes_19uyg_264:after{box-sizing:border-box}._now_19uyg_273,._now_19uyg_273:before,._now_19uyg_273:after{box-sizing:border-box}._barLabel_19uyg_287,._barLabel_19uyg_287:before,._barLabel_19uyg_287:after{box-sizing:border-box}._barLabelText_19uyg_300,._barLabelText_19uyg_300:before,._barLabelText_19uyg_300:after{box-sizing:border-box}._root_19uyg_4{display:grid;grid-template-rows:28px minmax(0,1fr) 28px;width:100%;font-size:var(--u-text-sm);background:var(--u-color-surface);outline:1px solid transparent;box-shadow:var(--u-edge);border-radius:var(--u-radius-md);corner-shape:squircle;overflow:hidden;font-variant-numeric:tabular-nums;-webkit-user-select:none;user-select:none}._corner_19uyg_19{background:var(--u-color-surface)}._dayBand_19uyg_23,._tickBand_19uyg_24{position:relative;overflow:hidden;color:var(--u-color-text-muted);font-size:var(--u-text-xs)}._dayBand_19uyg_23{border-bottom:1px solid var(--u-hairline-strong)}._tickBand_19uyg_24{border-top:1px solid var(--u-hairline-strong)}._day_19uyg_23{position:absolute;top:0;bottom:0;border-left:1px solid var(--u-hairline-strong);overflow:hidden}._dayLabel_19uyg_47{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_19uyg_24{position:absolute;top:0;bottom:0;width:1px;background:var(--u-hairline)}._tickLabel_19uyg_65{position:absolute;top:50%;left:0;transform:translate(-50%,-50%);white-space:nowrap}._headers_19uyg_73{position:relative;overflow:hidden;border-right:1px solid var(--u-hairline-strong)}._header_19uyg_73{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_19uyg_91{min-width:0;overflow:hidden;text-overflow:ellipsis}._header_19uyg_73[data-row=groupHead],._header_19uyg_73[data-row=miniature]{font-weight:var(--u-weight-medium)}._headerCount_19uyg_104{flex:none;color:var(--u-color-text-muted);font-size:var(--u-text-xs);font-variant-numeric:tabular-nums}._chevron_19uyg_113{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_19uyg_113:hover{background:var(--u-color-surface-sunken);color:var(--u-color-text)}._chevron_19uyg_113:active{background:var(--u-color-surface-pressed)}._chevron_19uyg_113:focus-visible{outline:2px solid transparent;box-shadow:var(--u-focus-ring)}._chevron_19uyg_113 svg{box-sizing:border-box}._chevron_19uyg_113 svg{transition:transform var(--u-transition-path)}._chevron_19uyg_113 svg[data-open]{box-sizing:border-box}._chevron_19uyg_113 svg[data-open]{transform:rotate(90deg)}@media(prefers-reduced-motion:reduce){._chevron_19uyg_113 svg{transition:none}}._header_19uyg_73[data-refused]{color:var(--u-color-text-muted)}._plot_19uyg_171{position:relative;overflow:hidden;touch-action:none}._plot_19uyg_171:focus{outline:none}._focusRing_19uyg_178{position:absolute;top:2px;right:2px;bottom:2px;left:2px;border-radius:var(--u-radius-md);corner-shape:squircle;pointer-events:none}._plot_19uyg_171:focus-visible>._focusRing_19uyg_178{outline:2px solid transparent;box-shadow:var(--u-focus-ring)}._layer_19uyg_196{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;display:block;pointer-events:none}._grip_19uyg_205{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_19uyg_215{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_19uyg_228{font-weight:var(--u-weight-semibold);color:var(--u-color-danger-subtle)}._refusal_19uyg_236{font-weight:var(--u-weight-semibold)}._tooltip_19uyg_240{position:absolute;z-index:1;display:flex;flex-direction:column;gap:1px;max-width:260px;padding:var(--u-space-2) var(--u-space-3);border-radius:var(--u-radius-sm);corner-shape:squircle;background:var(--u-color-surface);outline:1px solid transparent;box-shadow:var(--u-shadow-overlay);color:var(--u-color-text-secondary);font-size:var(--u-text-xs);line-height:var(--u-leading-tight);pointer-events:none;white-space:nowrap}._tooltipHead_19uyg_259{color:var(--u-color-text);font-weight:var(--u-weight-semibold)}._tooltipTimes_19uyg_264{color:var(--u-color-text)}._tooltip_19uyg_240 ._finding_19uyg_228{color:var(--u-color-danger-text)}._now_19uyg_273{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_19uyg_287{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_19uyg_300{min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}._barLabel_19uyg_287[data-on=dark]{color:var(--u-color-on-accent)}._barLabel_19uyg_287[data-on=light]{color:var(--u-color-text)}@media(forced-colors:active){._grip_19uyg_205{outline:2px solid CanvasText;outline-offset:-2px}._ghostLabel_19uyg_215{outline:1px solid CanvasText}}}
package/dist/schedule.js CHANGED
@@ -4,7 +4,7 @@ var rs = (o, t, e) => t in o ? is(o, t, { enumerable: !0, configurable: !0, writ
4
4
  var f = (o, t, e) => rs(o, typeof t != "symbol" ? t + "" : t, e);
5
5
  import { jsxs as Y, Fragment as At, jsx as k } from "react/jsx-runtime";
6
6
  import { useContext as _e, createContext as De, useRef as x, useEffect as H, forwardRef as as, useState as ut, useId as ls, useLayoutEffect as Ct, useImperativeHandle as ds, useSyncExternalStore as hs, useMemo as X } from "react";
7
- import { toWorkingTimeClamped as K, resolveColours as us, removedIntervals as cs, localOffset as Fe, MINUTE as W, calendarFrom as q, toWallClock as z, DAY as rt, timeStep as fs, workingTimeTicks as ps, HOUR as Rt, LinearScale as ms, subscribeTheme as gs } from "@umriss-ui/charts";
7
+ import { toWorkingTimeClamped as K, resolveColours as us, removedIntervals as cs, localOffset as Fe, MINUTE as W, calendarFrom as j, toWallClock as z, DAY as rt, timeStep as fs, workingTimeTicks as ps, HOUR as Rt, LinearScale as ms, subscribeTheme as gs } from "@umriss-ui/charts";
8
8
  import { useFormats as Bt, useWording as pt, AngleGlyph as ks, VisuallyHidden as le } from "@umriss-ui/core";
9
9
  const Oe = De(null), Ee = De(null);
10
10
  function Re() {
@@ -489,7 +489,7 @@ function ke(o, t, e) {
489
489
  function $s(o, t) {
490
490
  const { data: e, view: n } = t, s = n.viewport();
491
491
  Ys(o, t, s);
492
- for (const i of e.blocked) qs(o, t, s, i);
492
+ for (const i of e.blocked) js(o, t, s, i);
493
493
  Ks(o, t);
494
494
  for (const i of e.layers) {
495
495
  if (i.kind === "blocked") continue;
@@ -501,7 +501,7 @@ function $s(o, t) {
501
501
  }
502
502
  for (const i of e.overlaps) Et(o, t, s, i);
503
503
  for (const i of e.inBlocked) Et(o, t, s, i);
504
- js(o, t, s), Qs(o, t);
504
+ qs(o, t, s), Qs(o, t);
505
505
  }
506
506
  function Gs(o, t) {
507
507
  const { view: e, hover: n } = t, s = e.viewport();
@@ -674,7 +674,7 @@ function Ft(o, t, e, n, s) {
674
674
  ])
675
675
  o.beginPath(), o.arc(u, p, l ? 3 : 2.5, 0, Math.PI * 2), o.fill();
676
676
  }
677
- function js(o, t, e) {
677
+ function qs(o, t, e) {
678
678
  const { data: n } = t;
679
679
  if (n.violatedById.size !== 0)
680
680
  for (const s of n.violatedById.values()) {
@@ -695,7 +695,7 @@ function Ot(o, t, e, n, s, i) {
695
695
  }
696
696
  o.strokeStyle = t.colours.alarm, o.lineWidth = i, o.setLineDash([4, 3]), o.beginPath(), o.moveTo(e, s + i / 2), o.lineTo(n, s + i / 2), o.stroke(), o.setLineDash([]);
697
697
  }
698
- function qs(o, t, e, n) {
698
+ function js(o, t, e, n) {
699
699
  const s = lt(e, n.lane);
700
700
  if (s === null || s.top + s.height < 0 || s.top > t.view.height) return;
701
701
  const i = Math.max(0, E(e, n.from)), r = Math.min(t.view.width, E(e, n.to));
@@ -1229,14 +1229,14 @@ class rn {
1229
1229
  a start this way, and a key by one step of the raster - one arithmetic,
1230
1230
  so a key proposes exactly what a drag of that length would. */
1231
1231
  shifted(t, e, n) {
1232
- const s = q(this.host.view.options.calendar), i = K(t, s) + e, r = s.intervals.length === 0 ? i : z(Math.max(0, Math.min(s.total, i)), s);
1232
+ const s = j(this.host.view.options.calendar), i = K(t, s) + e, r = s.intervals.length === 0 ? i : z(Math.max(0, Math.min(s.total, i)), s);
1233
1233
  return this.snapInside(r, n);
1234
1234
  }
1235
1235
  /** Snapped - and, where the raster lands in time the calendar removes, moved
1236
1236
  on to the seam, where time counts again. An intent never asks for a time
1237
1237
  nobody works. */
1238
1238
  snapInside(t, e) {
1239
- const n = sn(t, e), s = q(this.host.view.options.calendar);
1239
+ const n = sn(t, e), s = j(this.host.view.options.calendar);
1240
1240
  return s.intervals.length === 0 ? n : z(K(n, s), s);
1241
1241
  }
1242
1242
  intentsOf(t, e, n) {
@@ -1521,7 +1521,7 @@ function yn(o, t) {
1521
1521
  return [o[0] + t, o[1] + t];
1522
1522
  }
1523
1523
  function ze(o, t) {
1524
- const e = q(t);
1524
+ const e = j(t);
1525
1525
  if (e.intervals.length === 0) return [o[0], o[1]];
1526
1526
  const n = (s) => Math.max(0, Math.min(e.total, s));
1527
1527
  return [z(n(o[0]), e), z(n(o[1]), e)];
@@ -1565,7 +1565,7 @@ class vn {
1565
1565
  if (this.options = t, e !== null)
1566
1566
  this.domain = [K(e[0], t.calendar), K(e[1], t.calendar)];
1567
1567
  else if (n) {
1568
- const i = q(s), r = (a) => {
1568
+ const i = j(s), r = (a) => {
1569
1569
  const l = i.intervals.length === 0 ? a : Math.max(0, Math.min(i.total, a));
1570
1570
  return K(z(l, i), t.calendar) + (a - l);
1571
1571
  };
@@ -1652,7 +1652,7 @@ class vn {
1652
1652
  }
1653
1653
  /** The wall-clock time at a plot x; within the calendar's extent. */
1654
1654
  timeAt(t) {
1655
- const e = this.viewport().scale.fromPx(t), n = q(this.options.calendar);
1655
+ const e = this.viewport().scale.fromPx(t), n = j(this.options.calendar);
1656
1656
  return n.intervals.length === 0 ? e : z(Math.max(0, Math.min(n.total, e)), n);
1657
1657
  }
1658
1658
  /** The lane at a y, strips included: what the pointer is ON.
@@ -1952,7 +1952,7 @@ class wn {
1952
1952
  }
1953
1953
  /** The visible span, as two wall-clock instants. */
1954
1954
  visibleDomain() {
1955
- const t = q(this.view.options.calendar), e = (n) => t.intervals.length === 0 ? n : z(Math.max(0, Math.min(t.total, n)), t);
1955
+ const t = j(this.view.options.calendar), e = (n) => t.intervals.length === 0 ? n : z(Math.max(0, Math.min(t.total, n)), t);
1956
1956
  return [e(this.view.domain[0]), e(this.view.domain[1])];
1957
1957
  }
1958
1958
  /** Reported once per frame, however many wheel steps a planner turns - and
@@ -2010,7 +2010,7 @@ class wn {
2010
2010
  $s(n, i), Gs(s, i);
2011
2011
  }
2012
2012
  }
2013
- const bn = "_root_19uyg_4 _text_k1tvc_23", Mn = "_corner_19uyg_19", Tn = "_dayBand_19uyg_23", In = "_tickBand_19uyg_24", Cn = "_day_19uyg_23", Sn = "_dayLabel_19uyg_47", Ln = "_tick_19uyg_24", An = "_tickLabel_19uyg_65", _n = "_headers_19uyg_73", Dn = "_header_19uyg_73", Fn = "_headerLabel_19uyg_91", On = "_headerCount_19uyg_104", En = "_chevron_19uyg_113", Rn = "_plot_19uyg_171", Bn = "_focusRing_19uyg_178", Pn = "_layer_19uyg_196", Nn = "_grip_19uyg_205", $n = "_ghostLabel_19uyg_215", Gn = "_finding_19uyg_228", xn = "_refusal_19uyg_236", Hn = "_tooltip_19uyg_240", Yn = "_tooltipHead_19uyg_259", Kn = "_tooltipTimes_19uyg_264", Un = "_now_19uyg_273", Xn = "_barLabel_19uyg_287", Wn = "_barLabelText_19uyg_300", w = {
2013
+ const bn = "_root_19uyg_4 _text_ocaqi_23", Mn = "_corner_19uyg_19", Tn = "_dayBand_19uyg_23", In = "_tickBand_19uyg_24", Cn = "_day_19uyg_23", Sn = "_dayLabel_19uyg_47", Ln = "_tick_19uyg_24", An = "_tickLabel_19uyg_65", _n = "_headers_19uyg_73", Dn = "_header_19uyg_73", Fn = "_headerLabel_19uyg_91", On = "_headerCount_19uyg_104", En = "_chevron_19uyg_113", Rn = "_plot_19uyg_171", Bn = "_focusRing_19uyg_178", Pn = "_layer_19uyg_196", Nn = "_grip_19uyg_205", $n = "_ghostLabel_19uyg_215", Gn = "_finding_19uyg_228", xn = "_refusal_19uyg_236", Hn = "_tooltip_19uyg_240", Yn = "_tooltipHead_19uyg_259", Kn = "_tooltipTimes_19uyg_264", Un = "_now_19uyg_273", Xn = "_barLabel_19uyg_287", Wn = "_barLabelText_19uyg_300", w = {
2014
2014
  root: bn,
2015
2015
  corner: Mn,
2016
2016
  dayBand: Tn,
@@ -2092,7 +2092,7 @@ function Vn({ target: o }) {
2092
2092
  h !== void 0 && /* @__PURE__ */ k("span", { className: w.finding, children: e.scheduleViolatedBy(s(h.shortBy)) })
2093
2093
  ] });
2094
2094
  }
2095
- const jn = [], Le = { min: Rt, max: 28 * rt }, qn = [], Ae = 20, io = as(function(t, e) {
2095
+ const qn = [], Le = { min: Rt, max: 28 * rt }, jn = [], Ae = 20, io = as(function(t, e) {
2096
2096
  var re;
2097
2097
  const {
2098
2098
  ariaLabel: n,
@@ -2100,10 +2100,10 @@ const jn = [], Le = { min: Rt, max: 28 * rt }, qn = [], Ae = 20, io = as(functio
2100
2100
  height: i = 400,
2101
2101
  laneHeight: r = ft,
2102
2102
  headerWidth: a = 160,
2103
- calendar: l = qn,
2103
+ calendar: l = jn,
2104
2104
  zoomLimits: h,
2105
2105
  snap: d = "ticks",
2106
- intents: u = jn,
2106
+ intents: u = qn,
2107
2107
  onIntent: p,
2108
2108
  canMoveTo: m,
2109
2109
  onInteraction: y,
@@ -2121,9 +2121,9 @@ const jn = [], Le = { min: Rt, max: 28 * rt }, qn = [], Ae = 20, io = as(functio
2121
2121
  tooltip: V,
2122
2122
  now: tt,
2123
2123
  className: Ut,
2124
- style: je,
2125
- children: qe
2126
- } = t, [v] = ut(() => new wn()), gt = ls(), Xt = `${gt}-summary`, Wt = x(null), zt = x(null), Vt = x(null), jt = x(null), $ = Bt(), R = pt(), [kt, yt] = s, qt = (h == null ? void 0 : h.min) ?? Le.min, Zt = (h == null ? void 0 : h.max) ?? Le.max, Jt = x(null), Qt = typeof d == "object" ? d.step : null, te = typeof d == "object" ? d.offset : null, ee = typeof d == "object" ? null : d, [Ze, Je] = ut(() => Date.now());
2124
+ style: qe,
2125
+ children: je
2126
+ } = t, [v] = ut(() => new wn()), gt = ls(), Xt = `${gt}-summary`, Wt = x(null), zt = x(null), Vt = x(null), qt = x(null), $ = Bt(), R = pt(), [kt, yt] = s, jt = (h == null ? void 0 : h.min) ?? Le.min, Zt = (h == null ? void 0 : h.max) ?? Le.max, Jt = x(null), Qt = typeof d == "object" ? d.step : null, te = typeof d == "object" ? d.offset : null, ee = typeof d == "object" ? null : d, [Ze, Je] = ut(() => Date.now());
2127
2127
  H(() => {
2128
2128
  if (tt !== !0) return;
2129
2129
  const c = setInterval(() => Je(Date.now()), W);
@@ -2135,10 +2135,10 @@ const jn = [], Le = { min: Rt, max: 28 * rt }, qn = [], Ae = 20, io = as(functio
2135
2135
  Jt.current = c;
2136
2136
  const _ = ee ?? { step: Qt ?? 0, offset: te ?? 0 };
2137
2137
  v.setOptions(
2138
- { laneHeight: r, calendar: l, zoomLimits: { min: qt, max: Zt }, snap: _, intents: u, now: se, route: D, attach: N, ends: Q },
2138
+ { laneHeight: r, calendar: l, zoomLimits: { min: jt, max: Zt }, snap: _, intents: u, now: se, route: D, attach: N, ends: Q },
2139
2139
  M ? [kt, yt] : null
2140
2140
  );
2141
- }, [v, kt, yt, r, l, qt, Zt, ee, Qt, te, u, se, D, N, Q]), H(() => {
2141
+ }, [v, kt, yt, r, l, jt, Zt, ee, Qt, te, u, se, D, N, Q]), H(() => {
2142
2142
  v.setHandlers({ onIntent: p, canMoveTo: m, onInteraction: y, onSelectedTaskChange: L, onCollapsedGroupsChange: I, onDomainChange: S });
2143
2143
  }, [v, p, m, y, L, I, S]);
2144
2144
  const Qe = x(g);
@@ -2160,7 +2160,7 @@ const jn = [], Le = { min: Rt, max: 28 * rt }, qn = [], Ae = 20, io = as(functio
2160
2160
  }, [v, C]), H(() => {
2161
2161
  v.setPlacing(F ?? null);
2162
2162
  }, [v, F]), H(() => {
2163
- const c = Wt.current, M = zt.current, _ = Vt.current, G = jt.current;
2163
+ const c = Wt.current, M = zt.current, _ = Vt.current, G = qt.current;
2164
2164
  if (!c || !M || !_ || !G) return;
2165
2165
  v.bind(c, M, _, G);
2166
2166
  const O = M.getBoundingClientRect();
@@ -2183,7 +2183,7 @@ const jn = [], Le = { min: Rt, max: 28 * rt }, qn = [], Ae = 20, io = as(functio
2183
2183
  const T = hs(v.subscribe, v.getSnapshot, v.getServerSnapshot), ts = (c, M) => {
2184
2184
  const _ = new Date(c);
2185
2185
  return M >= 200 ? $.dateLong(_) : M >= 84 ? $.date(_) : M >= 44 ? $.dateShort(_) : "";
2186
- }, b = T.ghost, j = T.spoken, vt = T.summary, ne = (c) => `${$.dateShort(new Date(c))} ${$.time(new Date(c), !1)}`, wt = (c) => `${gt}-row-${encodeURIComponent(c.key)}`, es = X(() => {
2186
+ }, b = T.ghost, q = T.spoken, vt = T.summary, ne = (c) => `${$.dateShort(new Date(c))} ${$.time(new Date(c), !1)}`, wt = (c) => `${gt}-row-${encodeURIComponent(c.key)}`, es = X(() => {
2187
2187
  const c = /* @__PURE__ */ new Map();
2188
2188
  for (const M of T.headers)
2189
2189
  for (const _ of M.within)
@@ -2221,7 +2221,7 @@ const jn = [], Le = { min: Rt, max: 28 * rt }, qn = [], Ae = 20, io = as(functio
2221
2221
  role: "figure",
2222
2222
  "aria-label": n,
2223
2223
  className: Ut ? `${w.root} ${Ut}` : w.root,
2224
- style: { height: `${i}px`, gridTemplateColumns: `min(${a}px, 40%) minmax(0, 1fr)`, ...je },
2224
+ style: { height: `${i}px`, gridTemplateColumns: `min(${a}px, 40%) minmax(0, 1fr)`, ...qe },
2225
2225
  children: [
2226
2226
  /* @__PURE__ */ k("div", { className: w.corner }),
2227
2227
  /* @__PURE__ */ k("div", { className: w.dayBand, "aria-hidden": "true", "data-schedule-days": "", "data-schedule-clip": "day band", children: T.days.map((c) => {
@@ -2291,7 +2291,7 @@ const jn = [], Le = { min: Rt, max: 28 * rt }, qn = [], Ae = 20, io = as(functio
2291
2291
  },
2292
2292
  children: [
2293
2293
  /* @__PURE__ */ k("canvas", { ref: Vt, className: w.layer, "aria-hidden": "true" }),
2294
- /* @__PURE__ */ k("canvas", { ref: jt, className: w.layer, "aria-hidden": "true" }),
2294
+ /* @__PURE__ */ k("canvas", { ref: qt, className: w.layer, "aria-hidden": "true" }),
2295
2295
  T.grips.map((c) => /* @__PURE__ */ k(
2296
2296
  "span",
2297
2297
  {
@@ -2365,19 +2365,19 @@ const jn = [], Le = { min: Rt, max: 28 * rt }, qn = [], Ae = 20, io = as(functio
2365
2365
  T.now !== null && /* @__PURE__ */ k("span", { className: w.now, "data-now": "", "data-schedule-overlay": "now mark", style: { left: `${T.now}px` } }),
2366
2366
  T.ticks.map((c) => /* @__PURE__ */ k("span", { className: w.tick, style: { left: `${c.x}px` }, children: c.x >= Ae && c.x <= T.width - Ae && /* @__PURE__ */ k("span", { className: w.tickLabel, "data-schedule-overlay": "time label", children: T.step >= rt ? $.dateShort(new Date(c.wallClock)) : $.time(new Date(c.wallClock), !1) }) }, c.wallClock))
2367
2367
  ] }),
2368
- /* @__PURE__ */ k(le, { "aria-live": "polite", children: j !== null && /* @__PURE__ */ k(
2368
+ /* @__PURE__ */ k(le, { "aria-live": "polite", children: q !== null && /* @__PURE__ */ k(
2369
2369
  zn,
2370
2370
  {
2371
- target: j.target,
2372
- lane: j.lane === null ? null : ((re = v.data.lanes.find((c) => c.id === j.lane)) == null ? void 0 : re.label) ?? j.lane
2371
+ target: q.target,
2372
+ lane: q.lane === null ? null : ((re = v.data.lanes.find((c) => c.id === q.lane)) == null ? void 0 : re.label) ?? q.lane
2373
2373
  },
2374
- j.count
2374
+ q.count
2375
2375
  ) }),
2376
2376
  /* @__PURE__ */ k(le, { id: Xt, children: `${R.scheduleSummary({ ...vt, from: ne(vt.from), to: ne(vt.to) })} ${R.scheduleKeyHelp}` })
2377
2377
  ]
2378
2378
  }
2379
2379
  ),
2380
- qe
2380
+ je
2381
2381
  ] });
2382
2382
  });
2383
2383
  function Zn(o) {
package/docs/llms-full.md CHANGED
@@ -1,4 +1,4 @@
1
- # @umriss-ui/schedule 0.3.5
1
+ # @umriss-ui/schedule 0.3.6
2
2
 
3
3
  > React Gantt-style schedule for data-dense applications - work on lanes over time, with dependencies, blocked time, findings and controlled editing.
4
4
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@umriss-ui/schedule",
3
- "version": "0.3.5",
3
+ "version": "0.3.6",
4
4
  "description": "React Gantt-style schedule for data-dense applications - work on lanes over time, with dependencies, blocked time, findings and controlled editing.",
5
5
  "license": "MIT",
6
6
  "author": "Roman Händler",
@@ -51,7 +51,7 @@
51
51
  "react": ">=18",
52
52
  "react-dom": ">=18",
53
53
  "@umriss-ui/charts": "^0.8.1",
54
- "@umriss-ui/core": "^0.14.1"
54
+ "@umriss-ui/core": "^0.15.0"
55
55
  },
56
56
  "devDependencies": {
57
57
  "@fontsource/geist-mono": "^5.3.0",
@@ -65,9 +65,9 @@
65
65
  "typescript": "^5.6.3",
66
66
  "vite": "^6.0.0",
67
67
  "vite-plugin-dts": "^4.3.0",
68
- "@umriss-ui/demo": "0.0.0",
69
68
  "@umriss-ui/charts": "0.8.1",
70
- "@umriss-ui/core": "0.14.1"
69
+ "@umriss-ui/core": "0.15.0",
70
+ "@umriss-ui/demo": "0.0.0"
71
71
  },
72
72
  "scripts": {
73
73
  "props": "node --disable-warning=ExperimentalWarning --experimental-strip-types demo/props.ts",