@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 +6 -0
- package/dist/schedule.css +1 -1
- package/dist/schedule.js +29 -29
- package/docs/llms-full.md +1 -1
- package/package.json +4 -4
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{.
|
|
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
|
|
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)
|
|
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
|
-
|
|
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
|
|
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
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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
|
|
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
|
|
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 =
|
|
2103
|
+
calendar: l = jn,
|
|
2104
2104
|
zoomLimits: h,
|
|
2105
2105
|
snap: d = "ticks",
|
|
2106
|
-
intents: u =
|
|
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:
|
|
2125
|
-
children:
|
|
2126
|
-
} = t, [v] = ut(() => new wn()), gt = ls(), Xt = `${gt}-summary`, Wt = x(null), zt = x(null), Vt = x(null),
|
|
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:
|
|
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,
|
|
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 =
|
|
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,
|
|
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)`, ...
|
|
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:
|
|
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:
|
|
2368
|
+
/* @__PURE__ */ k(le, { "aria-live": "polite", children: q !== null && /* @__PURE__ */ k(
|
|
2369
2369
|
zn,
|
|
2370
2370
|
{
|
|
2371
|
-
target:
|
|
2372
|
-
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
|
-
|
|
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
|
-
|
|
2380
|
+
je
|
|
2381
2381
|
] });
|
|
2382
2382
|
});
|
|
2383
2383
|
function Zn(o) {
|
package/docs/llms-full.md
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@umriss-ui/schedule",
|
|
3
|
-
"version": "0.3.
|
|
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.
|
|
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.
|
|
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",
|